تزريق نيازمندي‌هاي غيروظيفه‌مندي به معماری نرم‌افزار

Slides:



Advertisements
Similar presentations
در جامعه، افرادي که موقعيت و مسؤليت خود را مي‌دانند از راحتي و امنيت بيشتري برخوردارند هر کلاس از جامعه، مجموعه‌اي از امکانات و تواناييهاي مجاز برخوردار.
Advertisements

سازگاري فرايندهاي يادگيري Consistency of Learning Processes ارائه دهنده : الهام باوفای حقیقی استاد درس : آقای دکتر شيري دانشگاه امير كبير دانشكده ‌ مهندسي.
مديريت پروژه‌هاي فناوري اطلاعات
طراحي و ساخت سيستم‌هاي تجارت الکترونيک چارچوب و الگوي سازمان‌هاي تجاري.
مديريت پروژه‌هاي فناوري اطلاعات سيستم‌هاي و استانداردهاي مديريت پروژه.
1 آزمايشگاه سيستم های هوشمند ( Domain-specific Architecture.
مركز تحصيلات تكميلي آموزشهاي مجازي دانشگاه صنعتي اميركبير طرح درس مديريت پروژه‌هاي فناوري اطلاعات Information Technology Project Management دوره کارشناسي.
برنامه‌ريزي استراتژيک
برنامه‌ريزي استراتژيک پيشرفته چارچوب کلي تجزيه و تحليل راهبردي (استراتژيک) سيستم‌ها.
طراحي و مدل کردن مؤلفه ها فصل 7 معماري نرم افزار هاي بزرگ دانيال مؤذن استاد : دکتر عبدالله زاده.
طراحي و ساخت سيستم ‌ هاي تجارت الکترونيک چارچوب و الگوي سازمان ‌ هاي تجاري.
برنامه‌ريزي استراتژيک پيشرفته مدل و فرآيند کلان برنامه‌ريزي راهبردي سيستم های تجارت الکترونيک.
مهندسی نرم افزار مبتنی بر عامل
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله آغازين.
طراحي و ساخت سيستم‌هاي تجارت الکترونيک چارچوب و الگوي سازمان‌هاي تجاري.
برنامه‌ريزي استراتژيک
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
برنامه‌ريزي استراتژيک مرحله تعيين برنامه جامع اقدامات سازمان (Master Plan)
برنامه‌ريزي استراتژيک پيشرفته مرحله تجزيه و تحليل تغييرات محيطي و تعيين دوره برنامه‌ريزي راهبردي.
برنامه‌ريزي استراتژيک مرحله تعيين اهداف راهبردي سازمان.
مديريت پروژه‌هاي فناوري اطلاعات
سيستمهاي اطلاعات مديريت ارائه كننده : محسن كاهاني.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مديريت پروژه‌هاي فناوري اطلاعات
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه ارتباط بين component ها.
طراحي و ساخت سيستم‌هاي تجارت الکترونيک ساخت سيستم‌هاي تجارت الکترونيک ECSE.
طرح درس مديريت پروژه‌هاي فناوري اطلاعات Infromation Technology Project Management دوره کارشناسي مهندسي فناوري اطلاعات نيمسال اول
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
1 تدوين راهبرد برای يک برنامه جلب حمايت همه جانبه Mohsen Shams, MD. PhD Candidate in Health Education, School of Public Health, Tehran University of Medical.
مقدمه فصل 1 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
طراحي و ساخت سيستم‌هاي تجارت الکترونيک سيستم‌هاي تجارت الکترونيک (ECS)
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مهندسی نرم افزار مبتنی بر عامل
برنامه‌ريزي استراتژيک
1 فصل 9 - طراحي ساختار داده و تراکنش ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي.
1 آزمايشگاه سيستم های هوشمند ( ارزيابي معماري نرم افزار.
مديريت پروژه‌هاي فناوري اطلاعات
فصل 5 - مرور سريع UML برگرفته از کتاب
1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
برنامه‌ريزي استراتژيک مدل کلان برنامه‌ريزي راهبردي سيستم‌هاي سازماني.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تعيين تقدم و تاخر انجام فعاليت‌هاي پروژه.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
ساختارهاي تقسيم كار پروژه
1 فصل دوم تبديلات. 2 فصل دوم سرفصل مطالب مقدمه ضرب بردارها دستگاه ‌ هاي مختصات دوران ‌ ها مختصات همگن دوران ‌ ها و انتقال ‌ ها تبديلات تركيبي همگن تبديل.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory 1 Overview of Requirements Engineering Section One Version:
Eric S. K. Yu Faculty of Information Studies, University of Toronto
Frameworks And Patterns
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
دوره کارشناسي فناوري اطلاعات و مديريت نيمسال اول
دانشگاه صنعتي اميرکبير
بسمه‌تعالي فصل سيزدهم الگوهاي طراحي.
پردازنده هاي چند هسته اي
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
كارگاه آموزشي معماري نرم‌افزار
مدلسازي تجربي – تخمين پارامتر
مهندسی نرم افزار عامل گرا
فيلتر كالمن معرفي : فيلتر كالمن تخمين بهينه حالت‌ها است كه براي سيستم‌هاي ديناميكي با اختلال تصادفي در سال 1960 بزاي سيستم‌هاي گسسته و در سال 1961 براي.
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
Ontology and Ontology Generation
روشي براي ارزيابي و مقايسه معماري سيستم هاي نرم افزاري
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
نرم افزار عملي دوره كارداني كامپيوتر دانشگاه کردستان دانشكده فني
آزمايشگاه مهندسي نرم افزار
مقدمه ای بر مهندسی نرم افزار An Introduction to Software Engineering
Presentation transcript:

تزريق نيازمندي‌هاي غيروظيفه‌مندي به معماری نرم‌افزار تزريق نيازمندي‌هاي غيروظيفه‌مندي به معماری نرم‌افزار حميد باقری سمينار کارشناسی ارشد مهندسی نرم‌افزار دانشکده‌ی مهندسی کامپيوتر دانشگاه صنعتی شريف

رئوس مطالب اهميت ويژگی‌های کيفی اهميت معماري نرم‌افزار و ارزيابی آن هدف پروژه تعريف معماري نرم‌افزار و ويژگی‌های کيفی مطرح مدل‌سازي ويژگي‌هاي کيفي‌ و کارهاي مرتبط چارچوبي براي مدل‌سازي ويژگي‌هاي کيفي در معماري نرم‌افزار برمبناي مؤلفه‌هاي جنبه‌گرا

اهميت ويژگی‌های کيفی طبقه‌بندي سنتي نيازمندي‌هاي نرم‌افزار نيازمندی‌های وظيفه‌مند نيازمندی‌های غير وظيفه‌مند  ويژگی‌های کيفی اهميت نيازمندی‌های وظيفه‌مند در ميزان دستيابي محصول نرم‌افزاري ‌‌‌ارائه شده به مشتري‌ زير سؤال رفتن ماهيت وجودي محصول در صورت عدم برآوردن نيازمندي‌‌‌هاي‌‌ وظيفه‌مندي‌‌‌اش به مرور زمان و در طي‌‌‌ استفاده از محصول نرم‌افزاري‌، سنجش ارزش آن بر اساس ميزان دستيابي‌‌‌اش به ويژگي‌‌هاي‌ کيفي

اهميت معماري نرم‌افزار تأکيد بررسي‌هاي جديد بر نقش و اهميت معماري نرم‌افزار در تشخيص کيفيت نرم‌افزار اهميت تصميم‌گيري‌هاي مختلف در هر يک از مراحل توسعه نرم‌افزار اهميت خاص تصميمات در سطح معماري نخستين و پر‌هزينه‌ترين تصميم‌هاي اتخاذ شده در طول توسعه يک پروژه نرم‌افزاري تاثير آن بر ويژگي‌هاي کيفي نرم‌افزار و در نتيجه بر ارزش نرم‌افزار "هنگاميکه يک معماري خوب نتواند دستيابي به اهداف کيفي را تضمين کند، يک معماري ضعيف قطعاً از دستيابي به آن اهداف جلوگيري مي‌کند"[C. U. Smith]

اهميت ارزيابی پس از اتمام توليد نرم‌افزار در صورت عدم دستيابي معماري به اهداف کيفي  نياز به هزينه بسيار براي ترميم و حل مشکل ايجاد شده اهميت امکان ارزيابي تأثيرات تصميم‌گيري‌هاي در سطح معماري بر روي ويژگي‌هاي کيفي "اين مطلب که آيا يک سيستم مي‌تواند به ويژگي‌هاي کيفي‌اش دست يابد يا خير؟ به صورت عمده به هنگام انتخاب معماري قابل تشخيص است" [P. C. Clements]

هدف بلا استفاده بودن ويژگي‌‌هاي‌ کيفی پس از مشخص شدن در طول مهندسي نيازمندي‌ها تا اتمام پياده‌سازي نرم‌افزار عدم وجود ارتباط مستقيم ميان ويژگي‌‌هاي‌ کيفي از مرحله مهندسي نيازمندي‌ها به طراحي معماري سيستم خطر: ريسک کشف خطاي دير‌هنگام راه حل: مدل کردن و ارزيابي ويژگي‌‌هاي‌ كيفي در سطح معماري نرم‌افزار

معماري نرم‌افزار تعاريف متفاوت از معماري نرم‌افزار ساختار کلي سيستم نرم‌افزاري مجموعه‌اي از مؤلفه‌ها و ارتباط‌دهنده‌ها و نحوه تراکنش بين آنها "معماري نرم‌افزار يک برنامه يا يک سيستم کامپيوتري عبارت است از ساختار يا ساختارهايي از سيستم که از عناصر سيستم، خصوصياتي از اين عناصر که از خارج آن‌ها قابل مشاهده است و ارتباطات آن‌ها تشکيل مي‌شود." [Kazman, et al.]

ويژگي‌هاي کيفي در معماري نرم‌افزار "توجه به اين امر که نمي‌توان ويژگي‌هاي کيفي را بعد از توليد نرم‌افزار بر اساس نيازمندي‌هاي وظيفه‌مندی‌اش به نرم‌افزار افزود، بيانگر اهميت اين ويژگي‌ها در يک سيستم نرم‌افزاري است" [Kazman, et al.] مثال: رهيافتی نادرست در توسعه نرم‌افزار[C. U. Smith ]: ” اجرايش کن- درست اجرايش کن- سريع اجرايش کن” ويژگي‌های کيفي اساسي سيستم‌هاي نرم‌افزاري: قابليت دسترسي قابليت تغيير کارايي امنيت آزمون‌پذيري قابليت استفاده

مدل‌سازي ويژگي‌هاي کيفي‌ به منظور ارزيابی معماري نرم‌افزار بر اساس ويژگي‌هاي کيفي‌ لازم است در ابتدا اين نيازمندي‌ها در سطح معماري نرم‌افزار مدل‌سازي شوند از آن‌جا که اين ويژگي‌ها معمولاً به صورت رفتارهاي متقاطع در نظر گرفته مي‌شوند قطعه‌بندي ويژگي‌هاي کيفي به مؤلفه‌هاي جنبه‌گرا

کارهاي مرتبط توسعه مدل‌هاي مبتني بر UML مدل‌سازي ويژگي‌هاي کيفي بر اساس: اعمال توسعه بر روي يکي از مدل‌ها هم‌چون مدل موارد کاربرد روش مبتني بر محصول و ويژگي‌هاي کيفي خاص به منظور بر‌آوردن ويژگي کيفي خاصي هم‌چون قابليت اطمينان اندازه‌گيري ميزان تطابق سيستم نرم‌افزاري با ويژگي‌هاي کيفي که مي‌بايست بر‌آورده سازد پروسه‌هايي که به طور صريح با ويژگي‌هاي کيفي برخورد می‌کنند شامل تکنيک‌هايي براي بررسي تصميمات طراحي بر روي حضور و يا عدم‌حضور نيازمندي‌ها و تأثيرشان بر روي معماري نرم‌افزار

چارچوبي براي مدل‌سازي ويژگي‌هاي کيفي در معماري نرم‌افزار برمبناي مؤلفه‌هاي جنبه‌گرا استراتژي: اصل جداسازي مسئوليت‌ها توسعه اين اصل بر روي معماري نرم‌افزار نيازمندي‌هاي وظيفه‌مندي يک سيستم و ويژگي‌هاي کيفي آن، دو مفهوم متنافرند به اين معنا که مي‌توان هر سطحي از هر ويژگي کيفي را براي هر يک از نيازمندي‌هاي وظيفه‌مند سيستم تصور نمود مشابه ايده به کار رفته در برنامه‌سازي جنبه‌گرا بدون جداسازي نيازمندي‌هاي وظيفه‌مند و ويژگي‌هاي کيفي، مدل‌سازي و تحليل معماري نرم‌افزار به صورتي در‌هم‌ پيچيده و مبهم خواهد شد

مدل طراحي مفهومي معماري نرم‌افزار استفاده از مؤلفه‌هاي جنبه‌گرا به منظور برآورده‌ساختن ويژگي‌هاي کيفي تفاوت در قواعد و نيازمندي‌هاي مؤلفه‌هاي جنبه‌گرا نسبت به ديگر مؤلفه‌هاي مورد استفاده در معماري نرم‌افزار مدل طراحي مفهومي معماري نرم‌افزار: مدل معماري نرم‌افزار متداول: لايه بنيادين و زيربنايي مؤلفه‌هاي جنبه‌گرا: مسئول مدل‌سازي عمليات مربوط به برآورده‌ساختن ويژگي‌هاي کيفي نگاشت‌کننده جنبه: نگاشت‌کننده مؤلفه‌هاي جنبه‌گرا بر مؤلفه‌هاي معماري نرم‌افزار

زبان‌هاي توصيف معماري زبان‌هايي نمادين براي بيان و توصيف معماري سيستم‌هاي نرم‌افزاري علي‌رغم گسترش زبان‌هاي توصيف معماري عدم اتفاق نظر در مجامع علمي بر روي ويژگي‌هاي يک زبان توصيف معماري حداقل نياز زبان‌هاي توصيف معماري: توانايي مدل‌کردن مؤلفه، رابط و پيکربندي سيستم

زبان xADL 2.0 يک زبان توصيف معماري پيمانه‌اي قابل گسترش مبتني بر XML xArch: هسته اصلي اين زبان براي نمايش عناصر اصلي مدل معماري نرم‌افزار، شامل: مؤلفه، رابط و پيکربندي سيستم

زبان چارچوب ارائه شده در چارچوب ارائه شده، افزودن بخش توصيف نگاشت‌کننده جنبه و توسعه زبان xADL 2.0 فراهم آوردن امکانات لازم براي توصيف معماري نرم‌افزار مدل‌سازي ويژگي‌هاي کيفي در معماري نرم‌افزار بر مبناي مؤلفه‌هاي جنبه‌گرا توسعه انجام شده با افزودن شماي Aspect.xsd به مجموعه شماهاي زبان xADL 2.0 حاصل شده است مزيت: طراحي معماري اوليه نرم‌افزار بر مبناي نيازمندي‌هاي وظيفه‌مندي بر آوردن ويژگي‌هاي کيفي، با افزودن مؤلفه جنبه‌گراي مورد نياز به معماري سيستم افزايش قابليت نگهداري و استفاده مجدد در معماري نرم‌افزار

تعريف شما Point cut: Advice: تعريف مجموعه‌اي از نگاشت‌کننده‌هاي مؤلفه‌هاي جنبه‌گرا در اين شما هر نگاشت‌کننده شامل مجموعه‌اي از: Point cuts Advice Point cut: شرايط تطبيق در مؤلفه‌هاي معماري نرم‌افزار ويژگي کيفي در نقطه تلاقي به معماري نرم‌افزار افزوده مي‌شود Advice: ابزاري براي اعمال رفتارهاي متقاطع تعريف شده در مؤلفه‌هاي جنبه‌گرا بر روي مؤلفه‌هاي معماري منطبق شده با شرايط بررسی موردی

کارهاي پيش‌رو بررسي دقيق امکان‌سنجي افزودن ويژگي‌هاي کيفي مختلف بر اساس الگوهاي موجود در زمينه معماري نرم‌افزار به همراه تکميل و توسعه مکانيزم وارسي مدل پيشنهاد شده زمان‌بندی: مطالعه و بررسي شيوه‌‌هاي مختلف ارزيابي معماري نرم‌افزار (2 ماه) بيان دقيق ويژگي‌هاي کيفي بر اساس زبان توصيف معماري مذکور (3 ماه) تعريف يک مطالعه موردي و بررسي نتايج تلاش صورت گرفته در مراحل قبلي (2 ماه) نگارش پايان‌نامه (2 ماه)

با تشکر ?

مراجع [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.

مراجع [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.

مراجع [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.

مراجع ]22[ ن. نوروزي، توصيف و وارسي سيستم‌هاي نرم‌افزاري قابل بازپيکربندي: روشي مبتني بر معماري تطبيق‌پذير، پايان‌نامه کارشناسي ارشد، دانشکده مهندسي کامپيوتر، دانشگاه صنعتي شريف، مهر 1385. ]23[ س. ش. فخرايي، استخراج جنبه از مدل طراحي نرم‌افزار، پايان‌نامه کارشناسي ارشد، دانشکده مهندسي کامپيوتر، دانشگاه صنعتي شريف، خرداد 1385.