برآورد کمی خصیصههای کارایی، قابلیت اطمینان و امنیت در سبکهای داده مشترک، شیءگرا و لوله و صافی
الموضوعات :هدی بانکی 1 , سیدمرتضی بابامیر 2
1 - دانشگاه کاشان
2 - دانشگاه کاشان
الکلمات المفتاحية: ارزیابی کمی, امنیت سبکهای معماری نرمافزار شبکههای پتری رنگی قابلیت اطمینان, کارایی,
ملخص المقالة :
یک نرمافزار مطلوب باید قادر باشد خصیصههای کیفی مورد نیاز سیستم را علاوه بر نیازهای وظیفهمندی محقق کند. سبکهای معماری نرمافزار علاوه بر توصیف نرمافزار و تجزیه آن به مؤلفهها، تأثیر عمدهای بر روی خصیصههای کیفی نرمافزار طراحیشده دارند. تحلیل و ارزیابی کمی میزان این تأثیرگذاری سبب میشود مناسبترین سبک برای طراحی معماری انتخاب گردد. در این مقاله برای ارزیابی کمی سه خصیصه کاندید موسوم به خصیصههای کیفی کارایی، قابلیت اطمینان و امنیت در سه سبک کاندید موسوم به سبکهای معماری داده مشترک، شیءگرا و لوله و صافی، روشی مبتنی بر شبکه پتری رنگی را ارائه میدهیم که محدودیت روشهای گذشته برای ارزیابی این خصیصهها در سبکها را ندارد. در این روش ابتدا سبکهای کاندید را با استفاده از شبکه پتری رنگی مدل میکنیم. سپس با توجه به قواعدی که برای ارزیابی بیان میکنیم با ابزار CPNTools شبکهها را تحلیل و مقدار خصیصههای کاندید را محاسبه میکنیم. در پایان با استفاده از رتبهبندی سبکها از نظر میزان تحقق خصیصههای کیفی کاندید، بهترین سبک کاندید را برای پیادهسازی مشخص میکنیم. برای ارائه یک نمونه عملی در استفاده از روش پیشنهادی، سیستم خودپرداز را به عنوان یک مورد مطالعه انتخاب کردیم.
[1] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-Wesely, 2nd Edition, 2003.
[2] K. Fukuzawa and M. Saeki, "Evaluating software architectures by coloured petri nets," in Proc. 14th Int. Conf. on Software Engineering and Knowledge Engineering, pp. 263-270, Ischia, Italy, 15-19 Jul.2002.
[3] B. Roy and T. C. N. Graham, Methods for Evaluating Software Architecture: A Survey, School of Computing, TR 545, p. 82, 2008.
[4] J. Bosch and P. Molin, "Software architecture design: evaluation and transformation," in Proc. IEEE Conf. and Workshop on Engineering of Computer-Based Systems, pp. 4-10, Mar. 1999.
[5] V. S. Sharma and K. S. Trivedi, "Quantifying software performance, reliability and security: an architecture-based approach," J. of Systems and Software, vol. 80, no. 4, pp. 493-509, Apr. 2007.
[6] S. S. Gokhale and K. S. Trivedi, "Reliability prediction and sensitivity analysis based on software architecture," Proc. 13th Int. Symp. on Software Reliability Engineering, pp. 64-75, 2002.
[7] R. Roshandel, N. Medvidovic, and L. Golubchik, "A Bayesian model for predicting reliability of software systems at the architectural level," in Proc. Quality of Software Architectures 3rd int. Conf. on Software Architectures, Components, and Applications, pp. 108-126, Medford, MA, USA, 11-13 Jul. 2007.
[8] S. S. Gokhale, et al., "An analytical approach to architecture-based software performance and reliability prediction," Performance Evaluation, vol. 58, no. 4, pp. 391-412, Dec. 2004.
[9] V. S. Sharma and K. S. Trivedi, "Quantifying software performance, reliability and security: an architecture-based approach," J. of Systems and Software, vol. 80, no. 4, pp. 493-509, Apr. 2007.
[10] N. Yang, H. Yu, H. Sun, and Z. Qian, "Quantifying software security based on stochastic petri-nets," J. of Computational Information Systems, vol. 6, no. 9, pp. 3049-3056, Sep. 2010.
[11] S. Tahmasebipour and S. M. Babamir, "Ranking of common architectural styles based on availability, security and performance quality attributes," J. of Computing and Security, vol. 1, no. 2, pp. 83-93, 2014.
[12] W. L. Wang, D. Pan, and M. H. Chen, "Architecture-based software reliability modeling," J. of Systems and Software, vol. 79, no. 1, pp. 132-146, Jan. 2006.
[13] H. Koziolek, B. Schlich, and C. Bilich, "A large-scale industrial case study on architecture-based software reliability analysis," in Proc. 21st IEEE Int. Symp. on Software Reliability Engineering, pp. 279-288, Nov. 2010.
[14] S. M. Sharafi, G. A. Ghazvini, and S. Emadi, "An analytical model for performance evaluation of software architectural styles," in Proc. 2nd Int. Conf. on Software Technology and Engineering, pp. 394-398, 2010.
[15] M. L. Yin, C. L. Hyde, and L. E. James, "A petri-net approach for early-stage system-level software reliability estimation," in Proc. Int. Symp. on Product Quality and Integrity., pp. 100-105, 24-27 Jan. 2000.
[16] W. L. Wang and M. H. Chen, "Heterogeneous software reliability modeling," in Proc. 13th Int. Symp. on Software Reliability Engineering, pp. 41-52, 12-15 Nov. 2002.
[17] R. Pressman, Software Engineering: A Practioner's Approach, McGraw-Hill, 8th Edition, 2014.
[18] ISO, ISO/IEC 9126: Information Technology-Software Product Evaluation-Quality Characteristics and the Guidelines for Their Use, 1991.
[19] P. Clements and R. Nord, Documenting Software Architectures: Views and Beyond, Addison-Wesley, 2010.
[20] K. Jensen and L. M. Kristensen, Coloured Petri Nets: Modelling and Validation of Concurrent Systems, Springer, 2009.
[21] E. Triantaphyllou, B. Kovalerchuk, L. Mann, and G. M. Knapp, "Determining the most important criteria in maintenance decision making," J. of Quality in Maintenance Engineering, vol. 3, no. 1, pp. 16-28, Mar. 1997.
[22] T. L. Saaty, "How to make a decision: the analytic hierarchy process," European J. of Operational Research, vol. 48, no. 1, pp. 9-26, Sep. 1990.
[23] www.expertchoice.com.
[24] S. S. Gokhale, "Architecture-based software reliability analysis: overview and limitations," IEEE Trans. on Dependable and Secure Computing, vol. 4, no. 1, pp. 32-40, Jan. 2007.
[25] www.cpntools.org.
[26] N. Yang, H. Yu, Z. Qian, and H. Sun, "Modeling and quantitatively predicting software security based on stochastic petri-nets," Mathematical and Computer Modelling, vol. 55, no. 1, pp. 102-112, Jan. 2012.
[27] N. Yang, H. Yu, H. Sun, and Z. Qian, "Modeling UML sequence diagrams using extended petri nets," in Proc. Int. Conf. on Information Science and Applications, 8 pp., 21-23 Apr. 2010.
[28] S. Yu and S. Zhou, "A survey on metric of software complexity," in Proc. 2nd IEEE Int. Conf. on Information Management and Engineering, pp. 352-356, 16-18 Apr. 2010.
[29] J. Bosch, "Design and use of industrial software architectures," in Proc. Conf. on Technology of Object-Oriented Languages and Systems, pp. 404-404, Jun. 1999.
[30] H. Zhu, Software Design Methodology: From Principles to Architectural Styles, Butterworth-Heinemann, 2005.