تزريق نيازمنديهاي غيروظيفهمندي به معماری نرمافزار حميد باقری سمينار کارشناسی ارشد مهندسی نرمافزار دانشکدهی مهندسی کامپيوتر دانشگاه صنعتی شريف رئوس مطالب اهميت ويژگیهای کيفی اهميت معماري نرمافزار و ارزيابی آن هدف پروژه تعريف معماري نرمافزار و ويژگیهای کيفی مطرح مدلسازي ويژگيهاي کيفي و کارهاي مرتبط چارچوبي براي مدلسازي ويژگيهاي کيفي در معماري نرمافزار برمبناي مؤلفههاي جنبهگرا سمينار کارشناس ی ارشد 2 حميد باقري اهميت ويژگیهای کيفی طبقهبندي سنتي نيازمنديهاي نرمافزار نيازمندیهای وظيفهمند نيازمندیهای غير وظيفهمند ويژگیهای کيفی اهميت نيازمندیهای وظيفهمند در ميزان دستيابي محصول نرمافزاري ارائه شده به مشتري زير سؤال رفتن ماهيت وجودي محصول در صورت عدم برآوردن نيازمنديهاي وظيفهمندياش به مرور زمان و در طي استفاده از محصول نرمافزاري ،سنجش ارزش آن بر اساس ميزان دستيابياش به ويژگيهاي کيفي سمينار کارشناس ی ارشد 3 حميد باقري اهميت معماري نرمافزار تأکيد بررس يهاي جديد بر نقش و اهميت معماري نرمافزار در تشخيص کيفيت نرمافزار اهميت تصميمگيريهاي مختلف در هر يک از مراحل توسعه نرمافزار اهميت خاص تصميمات در سطح معماري نخستين و پرهزينهترين تصميمهاي اتخاذ شده در طول توسعه يک پروژه نرمافزاري تاثير آن بر ويژگيهاي کيفي نرمافزار و در نتيجه بر ارزش نرمافزار " هنگاميکه يک معماري خوب نتواند دستيابي به اهداف کيفي را تضمين کند ،يک ً معماري ضعيف قطعا از دستيابي به آن اهداف جلوگيري ميکند" [C. U. ]Smith سمينار کارشناس ی ارشد 5 حميد باقري اهميت ارزيابی پس از اتمام توليد نرمافزار در صورت عدم دستيابي معماري به اهداف کيفي نياز به هزينه بسيار براي ترميم و حل مشکل ايجاد شده اهميت امکان ارزيابي تأثيرات تصميمگيريهاي در سطح معماري بر روي ويژگيهاي کيفي " اين مطلب که آيا يک سيستم ميتواند به ويژگيهاي کيفياش دست يابد يا خير؟ به صورت عمده به هنگام انتخاب معماري قابل تشخيص است"][P. C. Clements سمينار کارشناس ی ارشد 6 حميد باقري هدف بال استفاده بودن ويژگيهاي کيفی پس از مشخص شدن در طول مهندس ي نيازمنديها تا اتمام پيادهسازي نرمافزار عدم وجود ارتباط مستقيم ميان ويژگيهاي کيفي از مرحله مهندس ي نيازمنديها به طراحي معماري سيستم خطر :ريسک کشف خطاي ديرهنگام راه حل :مدل کردن و ارزيابي ويژگيهاي كيفي در سطح معماري نرمافزار سمينار کارشناس ی ارشد 7 حميد باقري معماري نرمافزار تعاريف متفاوت از معماري نرمافزار ساختار کلي سيستم نرمافزاري مجموعهاي از مؤلفهها و ارتباطدهندهها و نحوه تراکنش بين آنها " معماري نرمافزار يک برنامه يا يک سيستم کامپيوتري عبارت است از ساختار يا ساختارهايي از سيستم که از عناصر سيستم ،خصوصياتي از اين عناصر که از خارج آنها قابل مشاهده است و ارتباطات آنها تشکيل ميشود[Kazman, et al.] ". سمينار کارشناس ی ارشد 8 حميد باقري ويژگيهاي کيفي درمعماري نرمافزار " توجه به اين امر که نميتوان ويژگيهاي کيفي را بعد از توليد نرمافزار بر اساس نيازمنديهاي وظيفهمندیاش به نرمافزار افزود ،بيانگر اهميت اين ويژگيها در يک سيستم نرمافزاري است" ][Kazman, et al. مثال :رهيافتی نادرست در توسعه نرمافزار] :[C. U. Smith ” اجرايش کن -درست اجرايش کن -سريع اجرايش کن” ويژگيهای کيفي اساس ي سيستمهاي نرمافزاري: قابليت دسترس ي قابليت تغيير کارايي امنيت آزمونپذيري قابليت استفاده سمينار کارشناس ی ارشد 9 حميد باقري مدلسازي ويژگيهاي کيفي به منظور ارزيابی معماري نرمافزار بر اساس ويژگيهاي کيفي الزم است در ابتدا اين نيازمنديها در سطح معماري نرمافزار مدلسازي شوند ً ر از آنجا که اين ويژگيها معموال به صو ت رفتارهاي متقاطع در نظر گرفته ميشوند قطعهبندي ويژگيهاي کيفي به مؤلفههاي جنبهگرا سمينار کارشناس ی ارشد 10 حميد باقري کارهاي مرتبط توسعه مدلهاي مبتني بر UML مدلسازي ويژگيهاي کيفي بر اساس: اعمال توسعه بر روي يکي از مدلها همچون مدل موارد کاربرد روش مبتني بر محصول و ويژگيهاي کيفي خاص به منظور برآوردن ويژگي کيفي خاص ي همچون قابليت اطمينان اندازهگيري ميزان تطابق سيستم نرمافزاري با ويژگيهاي کيفي که ميبايست برآورده سازد پروسههايي که به طور صريح با ويژگيهاي کيفي برخورد میکنند شامل تکنيکهايي براي بررس ي تصميمات طراحي بر روي حضور و يا عدمحضور نيازمنديها و تأثيرشان بر روي معماري نرمافزار سمينار کارشناس ی ارشد 11 حميد باقري چارچوبي براي مدلسازي ويژگيهاي کيفي در معماري نرمافزاربرمبناي مؤلفههاي جنبهگرا استراتژي :اصل جداسازي مسئوليتها توسعه اين اصل بر روي معماري نرمافزار نيازمنديهاي وظيفهمندي يک سيستم و ويژگيهاي کيفي آن ،دو مفهوم متنافرند به اين معنا که ميتوان هر سطحي از هر ويژگي کيفي را براي هر يک از نيازمنديهاي وظيفهمند سيستم تصور نمود مشابه ايده به کار رفته در برنامهسازي جنبهگرا بدون جداسازي نيازمنديهاي وظيفهمند و ويژگيهاي کيفي ،مدلسازي و تحليل معماري نرمافزار به صورتي درهم پيچيده و مبهم خواهد شد سمينار کارشناس ی ارشد 12 حميد باقري مدل طراحي مفهومي معماري نرمافزار استفاده از مؤلفههاي جنبهگرا به منظور برآوردهساختن ويژگيهاي کيفي تفاوت در قواعد و نيازمنديهاي مؤلفههاي جنبهگرا نسبت به ديگر مؤلفههاي مورد استفاده در معماري نرمافزار مدل طراحي مفهومي معماري نرمافزار: مدل معماري نرمافزار متداول :اليه بنيادين و زيربنايي مؤلفههاي جنبهگرا :مسئول مدلسازي عمليات مربوط به برآوردهساختن ويژگيهاي کيفي نگاشتکننده جنبه :نگاشتکننده مؤلفههاي جنبهگرا بر مؤلفههاي معماري نرمافزار سمينار کارشناس ی ارشد 13 حميد باقري زبانهاي توصيف معماري زبانهايي نمادين براي بيان و توصيف معماري سيستمهاي نرمافزاري عليرغم گسترش زبانهاي توصيف معماري عدم اتفاق نظر در مجامع علمي بر روي ويژگيهاي يک زبان توصيف معماري حداقل نياز زبانهاي توصيف معماري: توانايي مدلکردن مؤلفه ،رابط و پيکربندي سيستم سمينار کارشناس ی ارشد 14 حميد باقري زبان xADL 2.0 يک زبان توصيف معماري پيمانهاي قابل گسترش مبتني بر XML :xArch هسته اصلي اين زبان براي نمايش عناصر اصلي مدل معماري نرمافزار ،شامل: مؤلفه ،رابط و پيکربندي سيستم سمينار کارشناس ی ارشد 15 حميد باقري زبان چارچوب ارائه شده در چارچوب ارائه شده ،افزودن بخش توصيف نگاشتکننده جنبه و توسعه زبان xADL 2.0 فراهم آوردن امکانات الزم براي توصيف معماري نرمافزار مدلسازي ويژگيهاي کيفي در معماري نرمافزار بر مبناي مؤلفههاي جنبهگرا توسعه انجام شده با افزودن شماي Aspect.xsdبه مجموعه شماهاي زبان xADL 2.0حاصل شده است مزيت: طراحي معماري اوليه نرمافزار بر مبناي نيازمنديهاي وظيفهمندي بر آوردن ويژگيهاي کيفي ،با افزودن مؤلفه جنبهگراي مورد نياز به معماري سيستم افزايش قابليت نگهداري و استفاده مجدد در معماري نرمافزار سمينار کارشناس ی ارشد 16 حميد باقري تعريف شما تعريف مجموعهاي از نگاشتکنندههاي مؤلفههاي جنبهگرا در اين شما هر نگاشتکننده شامل مجموعهاي از: Point cuts Advice :Point cut شرايط تطبيق در مؤلفههاي معماري نرمافزار ويژگي کيفي در نقطه تالقي به معماري نرمافزار افزوده ميشود :Advice ابزاري براي اعمال رفتارهاي متقاطع تعريف شده در مؤلفههاي جنبهگرا بر روي مؤلفههاي معماري منطبق شده با شرايط سمينار کارشناس ی ارشد 17 بررس ی موردی حميد باقري کارهاي پيشرو بررس ي دقيق امکانسنجي افزودن ويژگيهاي کيفي مختلف بر اساس الگوهاي موجود در زمينه معماري نرمافزار به همراه تکميل و توسعه مکانيزم وارس ي مدل پيشنهاد شده زمانبندی: مطالعه و بررس ي شيوههاي مختلف ارزيابي معماري نرمافزار ( 2ماه) بيان دقيق ويژگيهاي کيفي بر اساس زبان توصيف معماري مذکور ( 3ماه) تعريف يک مطالعه موردي و بررس ي نتايج تالش صورت گرفته در مراحل قبلي ( 2ماه) نگارش پاياننامه ( 2ماه) سمينار کارشناس ی ارشد 19 حميد باقري با تشکر سمينار کارشناس ی ارشد 20 حميد باقري مراجع [1] L. Bass, P. Clements, R. Kazman, Software Architecture in Practic, AddsionWeisly, 2nd edition, 2003. [2] L. Chung, B. Nixon, E. Yu, and J. Mylopoulos, Non-Functional Requirements in Software Engineering, Kluwer Academic, 2000. [3] L. G. Williams, C. U. Smith, “PASASM: A Method for the Performance Assessment of Software Architectures”, Workshop on Software and Performance 2002, pp. 179-188. [4] Y. Yu, J.C. Leite, J. Mylopoulos. “From Goals to Aspects: Discovering Aspects from Goal Models”, RE’04, 2004. [5] Architectures Group at UC Irvine, xADL 2.0, Highly-extensible Architecture Description Language for Software and System, January 4, 2005; http://www.isr.uci.edu/projects/xarchuci/ [6] E., Dashfy, xArch, http://www.isr.uci.edu/architecture/xarch/. [7] P. C. Clements and L. M. Northrup, “Software Architecture: An Executive Overview”, Technical Report No. CMU/ SEI-96-TR-003, Carnegie Mellon University, Pittsburgh, PA, February, 1996. [8] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. “Aspect oriented programming”, LNCS, 1241:220–242, Oct. 1997. حميد باقري 21 سمينار کارشناس ی ارشد مراجع [9] Lihua Xu, Hadar Ziv, Debra Richardson, Zhixiong Liu. “Towards Modeling Non-Functional Requirements in Software Architecture”, In Proceedings of Aspect-Oriented Software Design, Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, Chicago, Illi-nois, March 2005. [10] L. Cysneiros, J. Leite, "Nonfunctional Requirements: From elicitation to Conceptual Models", IEEE Transaction on Software Engineering, vol.30, no.5, May 2004. [11] M. Bishop, Computer Security: Art and Science, Addison Wesley, 2002. [12] T.G. Kirner and A.M. Davis, “Nonfunctional Requirements of Real-Time Systems”, Advances in Computers, vol. 42, pp. 1-38, 1996. [13] IEEE Recommended Practice for Software Requirements Specification, Standard for Information Technology IEEE, 1998. [14] B. Boehm and H. Hoh, “Identifying Quality-Requirement Conflicts”, IEEE Software, pp. 25-36, Mar. 1996. [15] S. Tonu, Incorporating Non-Functional Requirements with UML Models, MSc Thesis, Department of Electrical and Computer Engineering, University of Waterloo, Ontario, Canada, 2006. حميد باقري 22 سمينار کارشناس ی ارشد مراجع [16] S. Tonu and L. Tahvildari, “Towards a framework to incorporate NFRs into UML models”, In Proceedings of the 1st International Workshop on Revers Engineering to Requirements (RETR), pp. 13-18, Pittsburgh, Pennsylvania, USA, November 2005. [17] C. Kaewkasi, W. Rivepiboon, “Aspect-Oriented Extension for Capturing Requirements In Use-Case Model”, The 15th Conference on Advanced Information Systems Engineering, CAiSE' 03, Austria, June 2003. [18] J. Zhang, J. Gray, Y. Lin, and R. Tairas, “Aspect Mining from a Modeling Perspective”, Special issue of the International Journal of Computer Applications in Technology, Fall 2006. [19] G. Sousa, S. Soares, P. Borba, and J. Castro, “Separation of crosscutting concerns from requirements to design: Adapting the use case driven approach”, Early Aspects Workshop at AOSD 2004, March 2004. [20] IEEE Std 1471-2000 IEEE, Recommended Practice for Architectural Description of Software-Intensive Systems – Description, IEEE, 2003. [21] N., Medvidovic, N. R., Taylor, “A Classification and Comparison Framework for Software Architecture Description Languages,” IEEE Transactions on Software Engineering, vol. 26, 2000, pp. 79-93. حميد باقري 23 سمينار کارشناس ی ارشد مراجع [22] ن .نوروزي ،توصيف و وارس ي سيستمهاي نرمافزاري قابل بازپيکربندي :روش ي مبتني برمعماري تطبيقپذير ،پاياننامه کارشناس ي ارشد ،دانشکده مهندس ي کامپيوتر ،دانشگاه صنعتي شريف ،مهر .1385 [23] س .ش .فخرايي ،استخراج جنبه از مدل طراحي نرمافزار ،پاياننامه کارشناس ي ارشد ،دانشکده مهندس ي کامپيوتر ،دانشگاه صنعتي شريف ،خرداد .1385 سمينار کارشناس ی ارشد 24 حميد باقري
© Copyright 2025 Paperzz