تزریق نیازمندی های غیر وظیفه مندی به معماری نرم افزار
اسلاید 1: تزريق نيازمنديهاي غيروظيفهمندي به معماری نرمافزار حميد باقریسمينار کارشناسی ارشد مهندسی نرمافزاردانشکدهی مهندسی کامپيوتردانشگاه صنعتی شريف
اسلاید 2: رئوس مطالباهميت ويژگیهای کيفی اهميت معماري نرمافزار و ارزيابی آنهدف پروژهتعريف معماري نرمافزار و ويژگیهای کيفی مطرح مدلسازي ويژگيهاي کيفي و کارهاي مرتبطچارچوبي براي مدلسازي ويژگيهاي کيفي در معماري نرمافزار برمبناي مؤلفههاي جنبهگرا
اسلاید 3: اهميت ويژگیهای کيفیطبقهبندي سنتي نيازمنديهاي نرمافزار نيازمندیهای وظيفهمندنيازمندیهای غير وظيفهمند ويژگیهای کيفیاهميت نيازمندیهای وظيفهمند در ميزان دستيابي محصول نرمافزاري ارائه شده به مشتريزير سؤال رفتن ماهيت وجودي محصول در صورت عدم برآوردن نيازمنديهاي وظيفهمندياشبه مرور زمان و در طي استفاده از محصول نرمافزاري، سنجش ارزش آن بر اساس ميزان دستيابياش به ويژگيهاي کيفي
اسلاید 4: اهميت معماري نرمافزارتأکيد بررسيهاي جديد بر نقش و اهميت معماري نرمافزار در تشخيص کيفيت نرمافزاراين مطلب که آيا يک سيستم ميتواند به ويژگيهاي کيفياش دست يابد يا خير؟ به صورت عمده به هنگام انتخاب معماري قابل تشخيص است [P. C. Clements] هنگاميکه يک معماري خوب نتواند دستيابي به اهداف کيفيتي را تضمين کند، يک معماري ضعيف قطعاً از دستيابي به آن اهداف جلوگيري ميکند[C. U. Smith] تصميمگيريهاي در سطح معماري نخستين و پرهزينهترين تصميمهاي اتخاذ شده در طول توسعه يک پروژه نرمافزاريپس از اتمام توليد نرمافزار در صورت عدم دستيابي معماري به اهداف کيفي نياز به هزينه بسيار براي ترميم و حل مشکل ايجاد شدهارزيابي تأثيرات تصميمگيريهاي در سطح معماري بر روي ويژگيهاي کيفي بسيار مهم است.
اسلاید 5: اهميت معماري نرمافزارتأکيد بررسيهاي جديد بر نقش و اهميت معماري نرمافزار در تشخيص کيفيت نرمافزاراهميت تصميمگيريهاي مختلف در هر يک از مراحل توسعه نرمافزاراهميت خاص تصميمات در سطح معمارينخستين و پرهزينهترين تصميمهاي اتخاذ شده در طول توسعه يک پروژه نرمافزاريتاثير آن بر ويژگيهاي کيفي نرمافزار و در نتيجه بر ارزش نرمافزارهنگاميکه يک معماري خوب نتواند دستيابي به اهداف کيفي را تضمين کند، يک معماري ضعيف قطعاً از دستيابي به آن اهداف جلوگيري ميکند[C. U. Smith]
اسلاید 6: اهميت ارزيابیپس از اتمام توليد نرمافزار در صورت عدم دستيابي معماري به اهداف کيفي نياز به هزينه بسيار براي ترميم و حل مشکل ايجاد شدهاهميت امکان ارزيابي تأثيرات تصميمگيريهاي در سطح معماري بر روي ويژگيهاي کيفياين مطلب که آيا يک سيستم ميتواند به ويژگيهاي کيفياش دست يابد يا خير؟ به صورت عمده به هنگام انتخاب معماري قابل تشخيص است [P. C. Clements]
اسلاید 7: هدفبلا استفاده بودن ويژگيهاي کيفی پس از مشخص شدن در طول مهندسي نيازمنديها تا اتمام پيادهسازي نرمافزارعدم وجود ارتباط مستقيم ميان ويژگيهاي کيفي از مرحله مهندسي نيازمنديها به طراحي معماري سيستمخطر: ريسک کشف خطاي ديرهنگام راه حل: مدل کردن و ارزيابي ويژگيهاي كيفي در سطح معماري نرمافزار
اسلاید 8: معماري نرمافزار تعاريف متفاوت از معماري نرمافزارساختار کلي سيستم نرمافزاري مجموعهاي از مؤلفهها و ارتباطدهندهها و نحوه تراکنش بين آنهامعماري نرمافزار يک برنامه يا يک سيستم کامپيوتري عبارت است از ساختار يا ساختارهايي از سيستم که از عناصر سيستم، خصوصياتي از اين عناصر که از خارج آنها قابل مشاهده است و ارتباطات آنها تشکيل ميشود. [Kazman, et al.]
اسلاید 9: ويژگيهاي کيفي در معماري نرمافزار توجه به اين امر که نميتوان ويژگيهاي کيفي را بعد از توليد نرمافزار بر اساس نيازمنديهاي وظيفهمندیاش به نرمافزار افزود، بيانگر اهميت اين ويژگيها در يک سيستم نرمافزاري است [Kazman, et al.]مثال: رهيافتی نادرست در توسعه نرمافزار[C. U. Smith ]:” اجرايش کن- درست اجرايش کن- سريع اجرايش کن”ويژگيهای کيفي اساسي سيستمهاي نرمافزاري:قابليت دسترسي قابليت تغيير کارايي امنيت آزمونپذيري قابليت استفاده
اسلاید 10: مدلسازي ويژگيهاي کيفي به منظور ارزيابی معماري نرمافزار بر اساس ويژگيهاي کيفي لازم است در ابتدا اين نيازمنديها در سطح معماري نرمافزار مدلسازي شوند از آنجا که اين ويژگيها معمولاً به صورت رفتارهاي متقاطع در نظر گرفته ميشوندقطعهبندي ويژگيهاي کيفي به مؤلفههاي جنبهگرا
اسلاید 11: کارهاي مرتبط توسعه مدلهاي مبتني بر UML مدلسازي ويژگيهاي کيفي بر اساس:اعمال توسعه بر روي يکي از مدلها همچون مدل موارد کاربرد روش مبتني بر محصول و ويژگيهاي کيفي خاص به منظور برآوردن ويژگي کيفي خاصي همچون قابليت اطمينان اندازهگيري ميزان تطابق سيستم نرمافزاري با ويژگيهاي کيفي که ميبايست برآورده سازدپروسههايي که به طور صريح با ويژگيهاي کيفي برخورد میکنندشامل تکنيکهايي براي بررسي تصميمات طراحي بر روي حضور و يا عدمحضور نيازمنديها و تأثيرشان بر روي معماري نرمافزار
اسلاید 12: چارچوبي براي مدلسازي ويژگيهاي کيفي در معماري نرمافزار برمبناي مؤلفههاي جنبهگرا استراتژي: اصل جداسازي مسئوليتها توسعه اين اصل بر روي معماري نرمافزار نيازمنديهاي وظيفهمندي يک سيستم و ويژگيهاي کيفي آن، دو مفهوم متنافرندبه اين معنا که ميتوان هر سطحي از هر ويژگي کيفي را براي هر يک از نيازمنديهاي وظيفهمند سيستم تصور نمود مشابه ايده به کار رفته در برنامهسازي جنبهگرا بدون جداسازي نيازمنديهاي وظيفهمند و ويژگيهاي کيفي، مدلسازي و تحليل معماري نرمافزار به صورتي درهم پيچيده و مبهم خواهد شد
اسلاید 13: مدل طراحي مفهومي معماري نرمافزار استفاده از مؤلفههاي جنبهگرا به منظور برآوردهساختن ويژگيهاي کيفيتفاوت در قواعد و نيازمنديهاي مؤلفههاي جنبهگرا نسبت به ديگر مؤلفههاي مورد استفاده در معماري نرمافزارمدل طراحي مفهومي معماري نرمافزار:مدل معماري نرمافزار متداول: لايه بنيادين و زيربناييمؤلفههاي جنبهگرا: مسئول مدلسازي عمليات مربوط به برآوردهساختن ويژگيهاي کيفي نگاشتکننده جنبه: نگاشتکننده مؤلفههاي جنبهگرا بر مؤلفههاي معماري نرمافزار
اسلاید 14: زبانهاي توصيف معماري زبانهايي نمادين براي بيان و توصيف معماري سيستمهاي نرمافزاريعليرغم گسترش زبانهاي توصيف معماريعدم اتفاق نظر در مجامع علمي بر روي ويژگيهاي يک زبان توصيف معماريحداقل نياز زبانهاي توصيف معماري:توانايي مدلکردن مؤلفه، رابط و پيکربندي سيستم
اسلاید 15: زبان xADL 2.0يک زبان توصيف معماري پيمانهاي قابل گسترش مبتني بر XMLxArch: هسته اصلي اين زبان براي نمايش عناصر اصلي مدل معماري نرمافزار، شامل: مؤلفه، رابط و پيکربندي سيستم
اسلاید 16: زبان چارچوب ارائه شدهدر چارچوب ارائه شده، افزودن بخش توصيف نگاشتکننده جنبه و توسعه زبان xADL 2.0فراهم آوردن امکانات لازم براي توصيف معماري نرمافزار مدلسازي ويژگيهاي کيفي در معماري نرمافزار بر مبناي مؤلفههاي جنبهگراتوسعه انجام شده با افزودن شماي Aspect.xsd به مجموعه شماهاي زبان xADL 2.0 حاصل شده استمزيت:طراحي معماري اوليه نرمافزار بر مبناي نيازمنديهاي وظيفهمنديبر آوردن ويژگيهاي کيفي، با افزودن مؤلفه جنبهگراي مورد نياز به معماري سيستمافزايش قابليت نگهداري و استفاده مجدد در معماري نرمافزار
اسلاید 17: تعريف شماتعريف مجموعهاي از نگاشتکنندههاي مؤلفههاي جنبهگرا در اين شماهر نگاشتکننده شامل مجموعهاي از:Point cutsAdvicePoint cut:شرايط تطبيق در مؤلفههاي معماري نرمافزارويژگي کيفي در نقطه تلاقي به معماري نرمافزار افزوده ميشودAdvice: ابزاري براي اعمال رفتارهاي متقاطع تعريف شده در مؤلفههاي جنبهگرا بر روي مؤلفههاي معماري منطبق شده با شرايط بررسی موردی
اسلاید 18: بررسي موردي معماري نرمافزار سيستم گفتگو مؤلفه جنبهگرا نگاشتکننده ويژگی کيفی جامعيت
اسلاید 19: کارهاي پيشروبررسي دقيق امکانسنجي افزودن ويژگيهاي کيفي مختلف بر اساس الگوهاي موجود در زمينه معماري نرمافزار به همراه تکميل و توسعه مکانيزم وارسي مدل پيشنهاد شده زمانبندی:مطالعه و بررسي شيوههاي مختلف ارزيابي معماري نرمافزار (2 ماه)بيان دقيق ويژگيهاي کيفي بر اساس زبان توصيف معماري مذکور (3 ماه)تعريف يک مطالعه موردي و بررسي نتايج تلاش صورت گرفته در مراحل قبلي (2 ماه)نگارش پاياننامه (2 ماه)
اسلاید 20: با تشکر?
اسلاید 21: مراجع[1] L. Bass, P. Clements, R. Kazman, Software Architecture in Practic, Addsion-Weisly, 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.
اسلاید 22: مراجع[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.
اسلاید 23: مراجع[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.
اسلاید 24: مراجع]22[ ن. نوروزي، توصيف و وارسي سيستمهاي نرمافزاري قابل بازپيکربندي: روشي مبتني بر معماري تطبيقپذير، پاياننامه کارشناسي ارشد، دانشکده مهندسي کامپيوتر، دانشگاه صنعتي شريف، مهر 1385.]23[ س. ش. فخرايي، استخراج جنبه از مدل طراحي نرمافزار، پاياننامه کارشناسي ارشد، دانشکده مهندسي کامپيوتر، دانشگاه صنعتي شريف، خرداد 1385.
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.