متدولوژی در مهندسی نرم افزار
اسلاید 1: كارگاه مهندسي نرم افزارمدرس : شهراد رضايي
اسلاید 2: متدولوژيقانونمند كردن توليد نرم افزار براي جلوگيري از بروز مشكلفرمولي را كه براي توليد و توسعه نرم افزار ارائه مي دهند را متدولوژي مي گويند. يك متدولوژي چرخه حيات نرم افزار را مشخص مي كند .
اسلاید 3: متدولوژی سنتیمتدولوژی فرآیند گرامتدولوژی ساختمان دادهمتدولوژی مدل سازی اطلاعاتمتدولوژی شیءگراانواع متدولوژی
اسلاید 4: چرخه حيات توليد و توسعه نرم افزار يا SDLC مخفف System Development Life Cycle ميباشد . مراحلي را كه طي توليد و توسعه نرم افزار به كار ميروند را چرخه حيات توليد و توسعه نرم افزار مينامند .
اسلاید 5: انواع چرخههاي حيات توليد و توسعه نرم افزارچرخه حيات سيستمهاي قديمي يا TLC چرخه حيات سيستمهاي شي گرا يا OODLC
اسلاید 6: چرخه حيات سيستمهاي قديمي يا TLCTLC مخفف Traditional Life Cycle است . در گذشته چون برنامه ها به صورت فرايند گرا يا Process Oriented نوشته ميشدند از روش TLC براي توليد و توسعه نرم افزار استفاده مي شد . در اين روش بيشتر از نمودارهاي DFD و ERD استفاده ميشد
اسلاید 7: مدلهای مورد استفاده در TLCروش حلزونی (Spiral)تولید پیش الگو (Prototyping)RAD SCRUMDSDM
اسلاید 8: مدل آبشاري يا Water Fallمدل آبشاري از معروف ترين متدولوژي هاي TLC است كه كاربرد زيادي در گذشته داشته و مبناي اساسي براي مدل هاي شي گرا هم همين مدل WaterFall است .
اسلاید 9:
اسلاید 10: چرخه حيات سيستم هاي شي گرا يا OODLC اين نوع چرخه حيات بعد از بوجود آمدن روش جديد برنامه نويسي يعني روش شي گرا بوجود آمد. زبانهايي مانند C# ، JAVA و C++ و بسياري ديگر از زبانهاي برنامه نويسي كه قابليت پياده سازي خواص Object Oriented (شي گرايي) را دارا هستند امروزه از مهمترين زبانهاي برنامه نويسي دنيا محسوب مي شوند .
اسلاید 11: مهمترين عامل برتري روشObject Oriented نسبت به روش Process Oriented استقلال هويتي دارند . يعني هر بخش عملا از ساير بخشها مجزا است . پايداري سيستم يا System Stability است. به اين معني كه سيستم در مقابل تغييرات مقاومت داشته باشد . يعني پيدايش نيازمنديهاي جديد منجر به اين نشود كه سيستم نياز به تغييرات كلي داشته باشد.قابليت نگهداري يا Main ability : به دليل جدا بودن اشيا ، نگهداري سيستم پس از ارائه به مشتري نيز به راحتي امكان پذير است . مثلا ورژن هاي جديد برنامه هايي كه با شماره هاي پشت سر هم وارد بازار مي شوند به همين دليل است .
اسلاید 12: قابليت استفاده مجدد اجزا يا Reusable Componentداشتن ديد واقعي به دنياي اطراف. قابليت دسترسي به اطلاعات و داده ها دوستانه بودن از نظر كاربر يا User Friendly بودن برنامه.
اسلاید 13: خواص اساسی متدولوژی شیءگراروش های متداول برای سازماندهیتجریدکپسوله کردن یا مخفی سازی اطلاعاتوراثتچند شکلیارتباطات پیامیهمروندیقابلیت استفاده مجدد
اسلاید 14: مجرد سازیتجرید(مجرد سازی) اصل نادیده گرفتن جنبه هایی از حوزه مسئله است که به هدف الان ما مربوط نیستند. این اصل همچنین به معنای خلاصه سازی می باشد یعنی آنکه ما می توانیم به مسئله از یک دید کلی، به راحتی و بدون لحاظ کردن جزئیات، نگاه کنیم. مثل نقشه کشور، شهر و منطقه.
اسلاید 15: کپسوله کردنمنظور از کپسوله کردن این است که جزئیات یک فرایند یا عمل از دید استفاده کننده آن مخفی باشد. همچنین صفات و اطلاعات یک شیء از دید سایر اشیاء و اجزاء مخفی باشد و ارتباط از طریق ارسال پیام صورت گیرد.
اسلاید 16: وراثتوراثت، روشی برای بیان شباهت ها است. به عنوان مثال“ برای مدل سازی انسان های یک دانشگاه می توانیم آنها را به اشیاء“ دانشجو، استاد و کارمند“ تفکیک کنیم. اما برخی خصوصیات این اشیاء، مشابه یکدیگر می باشند، نظیر: ” نام، نام خانوادگی، تلفن و. .“ برای اجتناب از تکرار خصوصیات مشترک اشیاء کلاسی به نام ” انسان“ ایجاد می کنیم که صفات آن همان صفات تکراری سه کلاس اصلی دانشگاه است. سپس هر یک از آن سه کلاس، تمام خصوصیات این کلاس جدید را به ارث می گیرند.
اسلاید 17: 17شکل وراثت
اسلاید 18:
اسلاید 19: 195. چند شکلیچند شکلی یا چند ریختی، به معنای یک چیز بودن و چند شکل داشتن است. مثل آب که دارای چند شکلِ جامد، مایع و گاز ظاهر می شود.
اسلاید 20: 206. ارتباطات پیامیارتباطات پیامی راهی است که اشیاء در یک متدولوژی شیءگرا با یکدیگر ارتباط برقرار می کنند. شبیه رویه ها و توابع در زبان های برنامه نویسی که با ارسال پارامتر از نقطه ای درون برنامه، یک رویه یا تابع فراخوانی می شود.
اسلاید 21: 217. همروندیهمروندی، اجرای هم زمان دو یا چند فعالیت سیستم است. برای مثال در یک چاپگر، می توانیم هم زمان با چاپ نامه مورد نظرمان، نشانه(آرم) شرکت را نیز به عنوان زمینه نامه و هم زمان با متن نامه به چاپ برسانیم.
اسلاید 22: 228. قابلیت استفاده مجدداستفاده مجدد قابلیتی است که بیان گر استفاده دوباره از چیزی است که هم اکنون وجود دارد.قابلیت استفاده مجدد خاصیتی است که هر روز از آن استفاده می کنیم مانند کپی کردن اطلاعات و در اختیار دیگران قرار دادن.
اسلاید 23: 23یک مدل شیء گرامدل شیء گرا مجموعه ای است از اشیاء و کلاس ها که در جهت پیاده سازی رفتار کل سیستم به یکدیگر پیغام می فرستند و اعمالی را انجام می دهند.یک شیء، ساختمان داده و رفتار مربوطه اش را یک جا و به طور مجتمع در خود نگاه میدارد.
اسلاید 24: همانگونه كه در روش هاي قديمي يك مدل خاص مثل مدل آبشاري را بررسي كرديم و مزايا و معايب آن را بررسي نموديم در اين بخش نيز از ميان مدل هاي موجود در سيستم هاي شي گرا به بررسي مدل معروف و نامي UP مي پردازيم . مدل up
اسلاید 25: مخفف Unified Processing است . اين روش يكي از روشهاي توليد نرم افزار است كه با چرخه حيات سيستم را با تاكيد روي تكرارها مدل مي كند.
اسلاید 26: معرفی RUPRUP یک فرایند تولید نرم افزار است که توسط شرکت rational ایجاد شده است (هم اکنون IBM) و هدف آن کمک به تولید کنندگان و مدیران صنعت نرم افزار است.RUP برای جنبه های مختلف تولید چیزهایی مانند نقشها، محصولات، فعالیتها و گردش کار تعریف میکند
اسلاید 27: خلاصه
اسلاید 28: فازهاآغاز ( Inception ):در انتهای این فاز تصمیم گرفته ایم که آیا پروژه را آغاز کنیم یا خیر و این تصمیم پس از تولید یک Business Case گرفته می شود.اجرا ( Elaboration) :در انتهای این فاز اکثر نیازمندیهای باقی مانده شناسایی شده اند و یک معماری مانع (sound architecture) برای نرم افزار بناشده است.ساخت ( Construction):در این فاز با کار روی معماری حاصل از فاز قبل و تولید یک سری افزایش بر روی نرم افزار در طی تعدادی تکرار، نسخه اول محصول برای اجرا در محیط کاربر ساخته می شود.انتقال ( Transition):نرم افزار ساخته شده به سایت مشتری انتقال داده می شود و بررسی میگردد که آیا کاملا نیازمندیهای مشتری برطرف شده است؟ مستندات کاربری نیز تحویل می شود.
اسلاید 29: دیسیپلینهای فرایندمدلسازی تجاری:درک ساختار و فعالیتهای سازمانی که قرار است سیستم در آنجا استقرار یابددرک مشکلات فعلی در سازمان و شناسایی پتانسیل های بهبودحصول اطمینان از اینکه مشتریان، کاربران نهایی و ایجاد کنندگان نرم افزار درک یکسان از سازمان مقصد دارند.بیرون کشیدن نیازمندیهای نرم افزاری که برای پشتیبانی سازمان مقصد مورد نیاز استتشخیص نیازمندیها :فراهم آوردن اساس تخمین هزینه و زمان ایجاد سیستمبستن قرارداد با مشتری بر اساس آنچه سیستم باید انجام دهدفراهم کردن درک بهتر از نیازمندیهای سیستم برای تولیدکنندگانتعیین مرزهای سیستمفراهم آوردن پایه ای برای طرح ریزی بخشهای فنی تکرارهاواسط کاربر سیستم با تاکید بر نیازها و اهداف کاربران تهیه می شود
اسلاید 30: دیسیپلینهای فرایندتحلیل و طراحی:طراحی سیستم نهایی بر اساس نیازمندیهاایجاد یک معماری قوی برای سیستمتطبیق طراحی و پیاده سازی (وارد ساختن ملاحظات خاص پیاده سازی )، ایجاد یک طراحی کارآپیاده سازی:لایه بندی زیرسیستم های پیاده سازیکلاسها و موجودیتها پیاده سازی می شوند (به شکل فایلهای source، باینریها، اجرایی ها و ...)انجام آزمون واحد بر روی مولفه هامجتمع کردن مولفه ها و ایجاد یک سیستم اجرایی
اسلاید 31: دیسیپلینهای فرایندآزمون: ارزیابی صحت تعامل بین موجودیتهاارزیابی مجتمع سازی همه مولفه های نرم افزارارزیابی اینکه همه نیازمندیها بطور صحیح پیاده شده اندشناسایی عیب ها و حصول اطمینان از اینکه قبل از استقرار مرتفع شده اند.استقرار:استقرار نرم افزار در محیط کاربری ( نصب، دسترسی بر روی اینترنت، پیشنهاد بخشی از نرم افزار)
اسلاید 32: دیسیپلینهای پشتیبانیمدیریت پروژه:مدیریت ریسکطرح ریزی یک پروژه تکرار شوندهمونیتور کردن پیشرفت پروژه، متریک هامدیریت تغییر و پیکر بندی:پشتیبانی روشهای تولیدمراقبت از مجتمع بودن نرم افزارحصول اطمینان از کامل بودن و صحت محصول پیکربندی شدهفراهم آوردن یک محیط مناسب برای تولید محصولفراهم آوردن قابلیت پاسخ به این سوال: یک دستاورد توسط چه کسی، کی و چرا تغییر یافته است.آماده سازی محیط:تمرکز اصلی بر پیکربندی فرایند برای یک پروژه است بعلاوه تعیین ابزارهاتولید راهنمایی های برای پشتیبانی یک پروژه
اسلاید 33: تکرار Iteration)) تکرار یک گذر کامل از همه Disciplineها شامل حداقل تشخیص نیازمندیها، تحلیل و طراحی، پیاده سازی و آزمون است. تکرار مانند یک پروژه کوچک مدل آبشاری است
اسلاید 34: نمودار هاي Rational Rose
اسلاید 35: Use-case
اسلاید 36: Class diagram
اسلاید 37: Sequence diagram
اسلاید 38:
اسلاید 39: Colaboration Diagram
اسلاید 40: State digram
اسلاید 41: Activity diagram
اسلاید 42: Physical diagram
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.