1.84k likes | 2.45k Views
مبانی مهندسی نرم افزار. اسلاید کلاسی - جلالی. فصل 0. مقدمه. روش ساخت يافته تجزيه تحليل و طراحي سيستم ها ك . اشورت م . كودلند ترجمه شهناز نود بخش تحليل و طراحي سيستم ها دكتر سعيد پ ا رسا S/W engineering Peressman 2007
E N D
مبانی مهندسی نرم افزار اسلاید کلاسی - جلالی
فصل 0 مقدمه
روش ساخت يافته تجزيه تحليل و طراحي سيستم ها ك .اشورت م .كودلند ترجمه شهناز نود بخش • تحليل و طراحي سيستم ها دكتر سعيد پارسا • S/W engineering Peressman2007 • S/W engineering with student project B.mynatt2005 منابع : مبانی مهندسی نرم افزار- جلالی
مباني مهندسي نرم افزار • تعاريف مهندسي نرم افزار و دلايل مطرح شدن آن • سيكل حيات نرم افزار • مدلهاي توليد نرم افزار • آناليز نيازمندي ها و تعيين مشخصات • رسم DFD • ابزار مستند سازي • PS • نيازمنديهاي غير وظيفه مند عناوين : مبانی مهندسی نرم افزار- جلالی
طراحي فاصل كاربر • انواع • سازماندهي ها • چرخه حيات توليد • طراحي نمودار ساختار • روش تراديس • روش تراكنش • طراحي خرد نرم افزار • طراحي الگوريتم هاي ماژول ها • ابزار لازم .... مبانی مهندسی نرم افزار- جلالی
كدينگ و پياد ه سازي • استراتژي توليد كد • كد ساخت يافته • آزمون • آزمون خرد BB و WB • آزمون كلان : رسم LFD ، كارائي ،فشار و مجتمع • مدل سازي داده ها و طراحي بانك اطلاعاتي • رسم ER • نرمال سازي مبانی مهندسی نرم افزار- جلالی
Class starts at 11:30, be in class before this time • Don’t come to class after 11:45 • Turn off your mobile phones before coming to class • Don’t argue about your final course grade, no changes will be made • Don’t wait for the day a homework or Exam is due to get started on it • No quiz makeup will be given Do’s and Dont’s: مبانی مهندسی نرم افزار- جلالی
فصل 1 مفاهیم و تعاریف
داشتن متدولوژي تحليل و طراحي تحليل گر مهارت در برقراري ارتباط با اعضاي سيستم آشنائي با تكنولوژي كامپيوتر مواردي كه تحليلگر بايستي بداند : فن آوري جديد ارتباط راه دور مبانی مهندسی نرم افزار- جلالی
مهندسي: روش سيستماتيك مبتني بر علم رياضي و منطق جهت توليد سيستم • نرم افزار : Source code+ User interface مهندسي نرم افزار : مبانی مهندسی نرم افزار- جلالی
روشي سيستماتيك براي توليد ، اجرا و انفصال خدمت نرم افزار تعريف مهندسي نرم افزار : مبانی مهندسی نرم افزار- جلالی
تصحيح اشتباهات • افزودن ويژگي هاي جديد • اعمال تغييرات لازم • جايگزيني نرم افزار جديد انفصال خدمت نرم افزار: مبانی مهندسی نرم افزار- جلالی
فقدان سيستم هاي نرم افزاري مطمئن و بزرگ يا كلان • تقضائي بيش از حد از نرم افزار • پيشرفت تكنولوژي نرم افزاري و سخت افزاري • اشتباه در تخمين زمان • هزينه توليد نرم افزار دلائل ظهور مهندسي نرم افزار: مبانی مهندسی نرم افزار- جلالی
جواني • تحليل • طراحي • پياده سازي • آزمون • بلوغ • بازنشستگي سیکل حیات نرم افزار مبانی مهندسی نرم افزار- جلالی
طي مرحله تحليل نيازمنديها • طي مرحله تعيين مشخصات • در بيان كلي تعيين و مشخصه سازي جنبه هاي نرم افزاري و سخت افزاري سيستم پيشنهادي و فعلي و مولفه هاي دستي جواني : مبانی مهندسی نرم افزار- جلالی
مولفه هاي دستي مبانی مهندسی نرم افزار- جلالی
ايجاد را ه حلي مطابق با مشخصات توصيف شده در مراحل قبل از طراحي ، مثلا طراحي فاصل كاربر • ابزار STC طراحي : مبانی مهندسی نرم افزار- جلالی
محصول اين مرحله بصورت عمده كد منبع مي باشد • توليد كد+ آزمون واحد هر ماژول + مجتمه سازي ماژول ها پياده سازي: مبانی مهندسی نرم افزار- جلالی
تست كل سيستم هنگام تحويل به كارفرما • در محيط توليد كننده سيستم • در محيط كارفرما آزمون : مبانی مهندسی نرم افزار- جلالی
فاز اجرائي و عمليات نگهداري مربوط به نرم افزار توليد شده در مرحله قبل. بلوغ: مبانی مهندسی نرم افزار- جلالی
زماني كه نرم افزار سيكل حياتش به پايان رسيد (از مد افتاد ) نرم افزار ديگر جايگزين آن مي شود .راه حل اين مشكل تكنيك هاي مهندسي معكوس مي باشد . بازنشستگي : مبانی مهندسی نرم افزار- جلالی
كاربر: سهولت فهم ،يادگيري آسان ، مطمئن • كارفرما : كم هزينه ،تحويل سر موعد ، مطمئن • طراح : طراحي خوانا و مناسب، كمترين خطا ، مطمئن نرم افزار خوب : مبانی مهندسی نرم افزار- جلالی
مدل آبشاري (Waterfall model) تحليل نيازمنديهاا • بر اساس مراحل توليد نرم افزار بر اساس تئوري ترتيب با تضمين Feedback . • موارد كاربرد در سيستمهاي كوچك مانند انبارداري طراحي پياده سازي آزمون مبانی مهندسی نرم افزار- جلالی
مدل اكتشافي: Explore Model Definition out line Specification • موارد كاربرد در سيستم هاي غير مشخص و پيجيده مانند توليد كامپايلرهاي زبانهاي هوش مصنوعي و كنترل رباتها • عيوب پيچيدگي بالا و تحليل مشكل نيازمندي ها ،عدم مقرونيت به صرفه و اشكال در آغاز Use system S/W Build System S/W yes System OK No Deliver System مبانی مهندسی نرم افزار- جلالی
مدل نمونه سازي (Prototype Model) • موارد مصرف در سيستم هاي با جزئيات زياد . • هدف اوليه ساخت Demo • ارزيابي مدل و از طرف مشتري و پالايش در جهت تصحيح خطا در جهت توليد محصول مهندسي ساز جمع آوري اطلاعات توليد محصول طراحي نمونه ارزيابي مشتري ساخت نمونه ارائه نمونه به مشتري مبانی مهندسی نرم افزار- جلالی
در مدل اكتشافي بحث روي Complexity مي باشد ولي در مدل نمونه سازي بحث روي Details مي باشد و نمونه قابل رويت و قابل آزمايش مي باشد . تفاوت مدل اكتشافي و نمونه سازي: مبانی مهندسی نرم افزار- جلالی
مدل حلزوني Spiral Model • جمع آوري نياز اوليه و برنامه ريزي پروژه • تحليل ريسك و تصميم گيري • ارزيابي مشتري • تحليل ريسك بر اساس نظرات مشتري و تصميم گيري • نمونه سازي سطح بعدي • مهندسي سيستم مبانی مهندسی نرم افزار- جلالی
Risk Analysis • Engineering • Customer Evaluation • Planning اصول مدل حلزوني : مبانی مهندسی نرم افزار- جلالی
ارتباطات • طبيعت • ويژگيهاي خاص پروژه • اندازه پروژه • قابليتها/ حجم داده هاي پردازش • پيچيدگي • بديع بودن مسئله • امنيت • ويژگي هاي پرسنل • كار گروهي • دانش فرد • مهارت در برقراري ارتباط • مسائل مديريتي موارد سختي توليد نرم افزار مبانی مهندسی نرم افزار- جلالی
فصل 2 آناليز نيازمندي ها و تعيين مشخصات
مشخصه صوري • مدل گرا Z , B ,VSM • جبري (خاصيت گرا) RSL • مشخصه غير صوري تعيين مشخصات : ايراد عمده جبري نسبت يه مدل گرا عدم وجود كامپايلر مناسب به جهت پيچيدگي زبان مي باشد. مبانی مهندسی نرم افزار- جلالی
ثبت و فهم نيازها و درخواست ها ي كارفرما • تعيين اهداف ، محدوديتها و ويژگي هاي سيستم آناليز نيازها: مبانی مهندسی نرم افزار- جلالی
مولفه هاي دستي + جنبه هاي تكنيكي S/W+ توصيف نيازها مشخصه سازي : مبانی مهندسی نرم افزار- جلالی
ساخت يافته :Yourdon , SSADM , LSP • شئ گرا : UML , Booch , Fusion متدولوژي : مبانی مهندسی نرم افزار- جلالی
جمع آوري اطلاعات : • مصاحبه • در جريان كار قرار گرفتن • نقش بازي كردن نتايج جمع آوري اطلاعات : • Why ? • When ? • Where ? • How ? • Who ? مراحل اوليه كار در تحليل : مبانی مهندسی نرم افزار- جلالی
اتنزاع (Abstract) : كلي نگري ، چكيده سازي • تجزيه : تقسيم پروسه ها ي به زير پروسه ها • به طور مستقل قابل حل هستند • امكان ارتباط بين جزئيات • تركيب باعث توليد سيستم اصلي مي شود اصول تحليل ساخت يافته : مبانی مهندسی نرم افزار- جلالی
Data Oriented (Data Modeling) : ERD • Process Oriented :DFD • Event Oriented : ELH ديدگاه تحليل : مبانی مهندسی نرم افزار- جلالی
Entity Course ( C#,Cname,Cunit ) Student( S#, Sname) Course-student (S#,C#, grade) موجوديت هر چيزي كه يك سري مشخصه براي شناسائي آن مي باشد ، مانند .....
نمايش گرافيكي كليه فعاليتها و داده هاي جاري داخل سيستم با استفاده از نمادهاي گرافيكي استاندارد . پروسه كنترلي نام پروسه داده داده بلادرنگ DFD ( Data Flow Diagram ) نام فايل موجوديت خارجي مبانی مهندسی نرم افزار- جلالی
To show the movement of data between the system & its Environment . • To graphically Document the boundaries of system . • To document the interact System information Flows . • To provide a heretical function Break of the system . Object of DFD : مبانی مهندسی نرم افزار- جلالی
رسم DFD فيزيكي سيستم فعلي • رسم DFD منطقي سيستم فعلي • رسم DFD منطقي سيستم پيشنهادي • رسم DFD فيزيكي سيستم پيشنهادي فرايند آناليز و رسم DFD : مبانی مهندسی نرم افزار- جلالی
فايل مشتريان فرم افتتاح حساب دريافتي برگه درخواست پرس و جو متصدي 1 متصدي 2 مدارك فرم افتتاح حساب مدارك مدارك DFD فيزيكي سيستم افتتاح حساب بانك : مدارك ناقص بايگاني فرم افتتاح حساب پر شده مبانی مهندسی نرم افزار- جلالی
DFD منطقي سيستم افتتاح حساب بانك : فرم درخواست افتتاح حسابیر شده بایکانی فرم درخواست افتتاح حساب مدارک مدارک فرم درخواست افتتاح حساب دريافت فرم درخواست افتتاح حساب بررسي مدارك و ارائه فرم اففتاح دريافت و بررسي درخواست افتتاح حساب 2 1 3 مدارک مدارک مدارک ناقص فرم افتتاح حساب یر شد ه فرم افتتاح حساب فايل مشتريان مبانی مهندسی نرم افزار- جلالی
هر دو نمودار بایستی یک کار را انجام دهند. • ورودی و خروجی ها در هر دو نمودار بایستی یکسان باشند . همخوانی DFDفیزیکی و منطقی : مبانی مهندسی نرم افزار- جلالی
فعالیت های جاری سیستم • داده های سیستم • فایل های I/O • حلقه ها • تصمیم گیری مواردی که می توان/نمی توان درDFD نشان داد؟ مبانی مهندسی نرم افزار- جلالی
انصراف 2 فرم انصراف بررسی درخواست 1 ثبت نام 3 فرم ثبت نام مدل تصمیم گیری با استفاده از پروسه اضافی فرم مالی صدور صورتحساب 4 مبانی مهندسی نرم افزار- جلالی
فصل 3 بهینه سازی و رفع ابهام
تعریف عملیاتها • تعریف محدوده های دستی • تعریف داده ها • تعریف کاربران • تعریف موارد استثنا عملیاتهای پس از رسم نمودار مبانی مهندسی نرم افزار- جلالی
Level Balancing در صورت شکستن پروسه ها بایستی داده های ورودی خروجی در سطح بالا با سطح پایین یکسان وبه تعداد برابر باشند.