SE19495-ex1.pdf

‫به نام خدا‬
‫تمرین اول درس مهندسی نرم افزار‬
‫مهندسی تحلیل و طراحی سامانه های اطالعاتی رایانه ای‬
‫مدرس‪ :‬سید ابراهیم ابطحی‬
‫دانشکده مهندسی کامپیوتر‪ ،‬دانشگاه صنعتی شریف‬
‫ترم اول سال تحصیلی ‪94-95‬‬
‫امتیاز تمرین ‪:‬‬
‫‪ 1200( 2000‬امتیاز گروهی و ‪ 800‬امتیاز انفرادی)‬
‫زمان ارائه تمرین ‪:‬‬
‫مهلت تحویل تمرین‪:‬‬
‫‪ 30‬آبان ‪1394‬‬
‫‪ 13‬آذر ‪1394‬‬
‫مقدمه‬
‫این تمرین یکی از سه تمرین درس است ‪ .‬تمرین دوم در مورد معماری و واسط کاربر و تمرین سوم در مورد پیاده‬
‫سازی و راه اندازی است‪.‬موضوع این تمرینات عالوه بر مرور مهمترین مفاهیم درسی به شکل گروهی و فردی ‪ ،‬تدوین‬
‫گروهی صورت های پایشی انجام فعالیتها ‪ ،‬استجراج ایرادات پروژه گروهی بر مبنای این صورت های پایشی و سپس‬
‫تولید صورتی از اصالحات ‪ ،‬دستاورد دیگر این تمرینات است‪ .‬این تمرین از ده بخش در مضامین مهندسی تحلیل و‬
‫طراحی ‪ ،‬تشکیل شده است‪ .‬مبنای پرسشهای این تمرین عالوه بر مطالب کالسی ‪ ،‬مطالب مطروحه در دوازده فصل اول‬
‫کتاب درسی است (نسخه الکترونیکی ویرایش هشتم کتاب پرسمن که نشانی دسترسی آن در سایت درس درج شده‬
‫بود)‪.‬‬
‫جواب‬
‫انفرادی‬
‫تمرینات‬
‫را‬
‫در‬
‫یک‬
‫نسخه‬
‫برای‬
‫استادیار‬
‫ارشد‬
‫درس‬
‫با‬
‫نامه‬
‫الکترونیکی‬
‫(‪)[email protected]‬ارسال و برای خود بعنوان سابقه رونوشت تهیه کنید )‪ (CC‬زیرا نسخه ای از تمرینات‬
‫ارسالی را هم بر روی لوح فشرده در جلسه آزمون پایان ترم باید تحویل دهید‪ .‬در موضوع نامه عبارتی با ساختار زیر‬
‫بنویسید‪:‬‬
‫‪SE19495-group name - student name – student no-Enferadi/Gorouhi-ex1‬‬
‫بخش گروهی تمرینات را فقط مدیران گروه ها ارسال کنند‪.‬‬
‫‪-----------------------------------------------------------------------------------------------------------------------------‬‬
‫آداب دانشگاهی حل تمرینات‬
‫‪-----------------------‬‬‫از دانشجویان انتظار می رود که از نقض آداب دانشگاهی شامل مواردی مانند‪ :‬رو نویسی از جواب تمرینات دوستان خود‪ ،‬یا از‬
‫حل تمرینات دوره های گذشته و چه از منابع اینترنتی خودداری کنند‪ .‬بازخورد تمرینات مهلت مناسبی است که شما دیدگاه و‬
‫فهم مهارتی خود از مطالب درسی را محک بزنید و در نهایت هدف تمرینات‪ ،‬سنجش میزان یادگیری شما و ورفع ایرات آن است‪.‬‬
‫سیاست درس در تصحیح تمرین ها و نمره دهی کامل ‪ ،‬عالوه برقرار گرفتن پاسخ ها در دامنه پاسخ های درست ‪ ،‬شامل نحوه پاسخ‬
‫دهی هم میشود ‪ ،‬یعنی پاسخ ها ‪ ،‬که حاصل فهم و تحلیلهای موردی شما هستند ‪ ،‬باید با زبان فنی و الفاظ و اصطالحات‬
‫مناسب (در حد تجربه و دانش خودتان) البته به دور از کلیشه و ابهام و کلی گویی ‪ ،‬بیان شده باشند‪ .‬بنابراین سعی‬
‫کنید پاسخ های خود را به صورت مفهومی و در قالب دایره لغات فنی این درس و موجز بنویسید ‪.‬‬
‫در صورت وجود پاسخ های بیش از حد مشابه در بخش های انفرادی و گروهی بین اعضای هر گروه یا اعضای گروه متفاوت ‪ ،‬طبق‬
‫ضوابط آداب تمرینات درسی دانشگاهی ‪ ،‬با خاطیان عمل خواهد شد‪ .‬همه شما یک مسئولیت کلی در گروه خود دارید چون‬
‫ممکن است با اشتباه دو نفر در دو گروه (اگر در سواالت گروهی باشد) ‪ ،‬کل اعضای دو گروه شامل جریمه های فوق شوند‪.‬‬
‫بخش اول‪ :‬مهندسی خواسته ها –‬
‫‪-1-1‬‬
‫(انفرادی‪-‬گروهی ‪ 250‬امتیاز)‪:‬‬
‫گامهای زیستچرخ مهندسی خواسته ها واقدامات متوالی انجام این فعالیتها به شرح زیراست‪:‬‬
‫‪ ‬شروع (‪.)Inception‬‬
‫‪ ‬استخراج (‪.)Elicitation‬‬
‫‪ ‬شناخت (‪.)Elaboration‬‬
‫‪ ‬مذاکره (‪.)Negotiation‬‬
‫‪ ‬تشریح (‪.)Specification‬‬
‫‪ ‬اعتبار سنجی (‪.)Validation‬‬
‫‪ ‬مدیریت خواسته ها (‪.(Requirements management‬‬
‫بر مبنای مطالب کالسی و کتاب درسی و با ارجاع به شماره صفحات آن ‪ ،‬نمودار فعالیتی به زبان مدلسازی یکه با نرم افزار آموزش‬
‫داده شده ‪ ،‬ترسیم کنید و اجزای فرآیندی گامهای این چارچوب مهندسی تحلیل را شامل جزئیات اقدامات نشان دهید(انفرادی ‪:‬‬
‫‪ 150‬امتیاز)‪.‬‬
‫‪ -2-1‬پس از انتخاب گروهی بهترین نمودار فعالیتی ترسیم شده اعضای گروه ‪ ،‬در پرسش قبلی ‪ ،‬به عنوان نمودار منتخب گروه‬
‫‪ ،‬با بحث گرو هی ‪ ،‬در این نمودار فعالیت مولد هریک از مدلهای دستاورد استخراج نیازمندیها (شکل زیر) را مشخص‬
‫نمائید(گروهی ‪ 100 :‬امتیاز)(کسانی که بخش انفرادی این تمرین در پرسش قبل را انجام ندهند ‪ ،‬نمره بخش گروهی‬
‫را هم نمی گیرند)‪.‬‬
‫‪ -2‬بخش دوم‪ :‬مهندسی طراحی‪(-‬انفرادی‪-‬گروهی ‪ 250‬امتیاز)‪:‬‬
‫‪ -1-2‬گامهای طراحی نرم افزار در مدل فعالیتی زیر را ‪ ،‬در قالب اقدامات متوالی هر حوزه فعالیتی نام ببرید‪:‬‬
‫‪1-Abstraction /2- Architecture / 3-patterns /4-Separation of concerns / 5-Modularity /‬‬
‫‪6-Information hiding / 7-Functional independence / 8-Refinement / 9-Aspects / 10-Refactoring.‬‬
‫بر مبنای مطالب کالسی و کتاب درسی و با ارجاع به شماره صفحات آن ‪ ،‬نمودار فعالیتی به زبان مدلسازی یکه با نرم افزار آموزش‬
‫داده شده ‪ ،‬ترسیم کنید و اجزای فرآیندی گامهای این چارچوب طراحی نرم افزار را ‪ ،‬شامل جزئیات اقدامات نشان دهید(انفرادی ‪:‬‬
‫‪ 150‬امتیاز)‪.‬‬
‫‪ -2-2‬پس از انتخاب گروهی بهترین نمودار فعالیتی ترسیم شده توسط اعضای گروه در پرسش قبلی ‪ ،‬به عنوان نمودار منتخب‬
‫گروه ‪ ،‬با بحث گروهی ‪ ،‬در این نمودار فعالیت مولد هریک از مدلهای دستاورد طراحی نرم افزار (شکل زیر) را مشخص‬
‫نمائید (گروهی ‪ 100 :‬امتیاز)(کسانی که بخش انفرادی این تمرین در پرسش قبل را انجام ندهند ‪ ،‬نمره بخش‬
‫گروهی را هم نمی گیرند)‪.‬‬
‫‪ -3‬بخش سوم‪:‬‬
‫نگاشت دستاوردهای تحلیل به طراحی‪(-‬انفرادی‪-‬گروهی ‪ 250‬امتیاز)‪:‬‬
‫‪ -1-3‬با توجه مطالب مطروحه کالسی و مندرج در کتاب درسی در مورد دو نمودار نگاشت زیر که گذر از تحلیل به طراحی را‬
‫باز نمائی میکند ‪ ،‬به شکل انفرادی پس از بررسی کافی ‪ ،‬صورت افزودنی هائی که طراح بر دستاوردهای تحلیل می‬
‫افزاید تا مدلهای طراحی تکمیل شود را مشخص کنید (انفرادی ‪ 150 :‬امتیاز)‪.‬‬
‫‪ -2-3‬پس از انتخاب گروهی کامل ترین صورت افزودنی ها تهیه شده توسط اعضای گروه در پرسش قبلی ‪ ،‬به عنوان صورت‬
‫منتخب گروه ‪ ،‬با بحث گروهی ‪ ،‬سپس به کمک این صورت ‪ ،‬استدالل کنید چگونه این نگاشت ها تفوق معنائی و‬
‫عملی طراحی به تحلیل نشان میدهد (گروهی ‪ 100 :‬امتیاز)(کسانی که بخش انفرادی این تمرین در پرسش قبل را‬
‫انجام ندهند ‪ ،‬نمره بخش گروهی را هم نمی گیرند)‪.‬‬
‫بخش چهارم‪ :‬تهیه صورتهای پایشی اصول تحلیل و طراحی‪(-‬انفرادی‪-‬گروهی ‪ 250‬امتیاز)‪:‬‬
‫‪ -1-4‬برمبنای مطالب کالسی و کتاب درسی مندرج در فصل هفتم کتاب در موضوعات اصول و قواعد علمی و تجربی مهندسی‬
‫نرم افزار هر دانشجو به شکل انفرادی دو صورت پایشی )‪ ، (Check List‬یکی در موضوع تحلیل و دیگری طراحی با میزان کمینه‬
‫ده اصل فراهم نماید و به شکل انفرادی تحویل دهد(انفرادی ‪ 150 :‬امتیاز)‪.‬‬
‫‪ -2-4‬پس از انتخاب گروهی دو صورت پایشی کامل تر (یکی در مورد تحلیل و دیگری طراحی) از بین صورت های تهیه شده‬
‫توسط اعضای گروه در پرسش قبلی ‪ ،‬به عنوان صورت های منتخب گروه ‪ ،‬با بحث گروهی ‪ ،‬نظرات گروه را هم بر آنها بیفزائید‬
‫(گروهی ‪ 100 :‬امتیاز)(کسانی که بخش انفرادی این تمرین در پرسش قبل را انجام ندهند ‪ ،‬نمره بخش گروهی را هم نمی گیرند)‪.‬‬
‫بخش پنجم‪:‬‬
‫نقش توصیف سامانه ای در اجرای تفوق معنائی طراحی به تحلیل ‪( -‬گروهی ‪ 100‬امتیاز)‪:‬‬
‫‪ -1- 5‬با توجه مطالب مطروحه کالسی و مندرج در کتاب درسی (از جمله شکل زیر) ‪ ،‬ببینید میتواند نقش توصیف سامانه ای‬
‫در اجرای تفوق معنائی طراحی به تحلیل را استدالل کنید (گروهی ‪ 100 :‬امتیاز)‪.‬‬
‫بخش ششم ‪:‬‬
‫عملکردهای کیفی‪( -‬انفرادی ‪ 100‬امتیاز)‪:‬‬
‫‪ -1-6‬به شکل انفرادی با توجه به مطالب مطروحه کالسی و مندرج در کتاب درسی ‪ ،‬بنویسید استقرار عملکردهای کیفی‬
‫(‪ )QFD : Quality Function Deployment‬در فهم نیازمندیها ‪ ،‬به تشریح چه نیازهائی می پردازد و چگونه و چه کاربردهائی دارد؟‬
‫بخش هفتم‪ :‬تهیه صورت های پایشی معیار تحلیل و طراحی‬
‫‪( -‬گروهی ‪ 200‬امتیاز)‪:‬‬
‫‪ -1-7‬به شکل گروهی پاسخ و مصوبات گروهی خود در شش بخش پرسش قبلی را مبنا قرار داده و دو صورت پایشی نهائی برای‬
‫نقد پروژه خود هر یک در ده بند با اولویت در حضور همه اعضای گروه و با نظر جمعی انتخاب کرده و تحویل گروهی دهید‪.‬‬
‫بخش هشتم ‪ :‬استخراج ایرادات تحلیل و طراحی پروژه گروهی (انفرادی ‪ 300 :‬امتیاز ) ‪:‬‬
‫‪ -1-8‬به شکل انفرادی دو صورت ایرادات (یکی برای تحلیل و دیگری برای طراحی) برای پروژه درسی گروه خود با استناد و ارجاع‬
‫به بندهای دو صورت پایشی معیار ‪ ،‬منتخب و مصوب گروه خود ( که در پاسخ به پرسش بخش هفتم فراهم کرده اید) را (با کمینه‬
‫ده مورد ایراد در هر صورت پایشی) به شکل انفرادی در پاسخ به این پرسش تحویل دهید‪.‬‬
‫بخش نهم‪ :‬پیشنهاد اصالحات تحلیل و طراحی پروژه گروهی (گروهی ‪ 200 :‬امتیاز ) ‪:‬‬
‫‪ -1-9‬صورت های ایرادات تحلیل و طراحی اعضای گروه را که در پاسخ به پرسش قبل تحویل داده اند را‬
‫در گروه به بحث بگذارید و بر مبنای آنها (با ارجاع) ‪ ،‬با بحث گروهی و با ارجاع به مطالب کالسی و کتاب درسی‬
‫(که در پاسخ این ارجاعات را با ذکر شماره صفحه کتاب درسی مستند کنید)‪ ،‬برای هر ایراد ‪،‬راهی اصالحی ‪،‬‬
‫پیشنهاد کنید‪.‬تعداد کمینه توصیه های اصالحی ‪ ،‬برای هر مورد تحلیل یا طراحی ‪ ،‬پنج مورد در نظر گرفته شده‬
‫است‪.‬‬
‫تذکر ‪ :‬کسانیکه پرسش انفرادی بخش هشتم را پاسخ نگفته اند نمره پرسش گروهی بخش نهم‬
‫را نمی گیرند‪.‬‬
‫بخش دهم‪ :‬پیکره دانشی مهندسی نرم افزار‪( – 1‬انفرادی ‪ 100 :‬امتیاز)‪:‬‬
‫یافته های خود را در این زمینه به زبان فارسی ‪ ،‬بدون رونوشت برداری از منابع با ذکر مشخصات منابع در یک صفحه‬
‫درج کنید‪.‬‬
‫موفق باشید‬
‫‪1 - SWEBOK : SoftWare Engineering Body Of Knowledge‬‬