مقایسه ای بر متدولوژی های ساختیافته و شی گرا
اسلاید 1: مقایسه ای بر متدولوژی های ساختیافته و شی گرامهندسی نرم افزار 2 ، دکتر کاویانیپویا روحی
اسلاید 2: درباره چه چیزی ؟مقدمه – مشکل واژگان و مفاهیم تعریف متدولوژییک دسته بندی متداول از متدولوژی هانحوه انتخاب یک متدولوژی مناسبمتدولوژی های ساختیافته متدولوژی های شی گرا آشنایی با متدولوژی شی گرای RUP آشنایی با متدولوژی ساختیافته SSADM مقایسه بین متدولوژی RUP و متدولوژی SSADM
اسلاید 3: مشکل واژگان و مفاهیم !معنای واژه های کلیدی نرم افزار ممکن است از متنی به متن دیگر متفاوت باشد اکثرا این اشتباه پیش می آید که بعضی ها متدولوژی را به جای روش و یا روش را به جای ابزار و یا بالعکس به کار می برند
اسلاید 4: متدولوژی یعنی چه ؟متدولوژی ، روش شناسی ، و فرا روش همه یک مفهوم یکسانند متدولوژی : مجموعه ای از روش ها ، فنون و ابزارهای تحلیل و طراحی سیستم که در چهارچوب یک انگاره مدلسازی مبتنی بر یک الگوی مفهومی برای ساماندهی روند توسعه سیستم ها به روشی نظام مند به کار می رود فرآیند نرم افزار : یکسری مراحل قابل پیش بینی و نقشه مسیری است که به ما کمک می کند تا نتایجی را در زمان معین و با کیفیت بالا ایجاد کنیم آیا متدولوژی و فرآیند نرم افزار دو مفهوم یکسانند ؟
اسلاید 5: دسته بندی متدولوژی هایک دسته بندی متداول از متدولوژی ها به این صورت است : متدولوژی های مبتنی بر پردازش متدولوژی های مبتنی بر داده روش های نمونه سازی
اسلاید 6: دسته بندی متدولوژی هامتدولوژی های مبتنی بر پردازش 1- طراحی ساختیافته SD (روش Yourdon-Constantine ) 2- تحلیل ساختیافته SA (روش DeMarco) 3- تحلیل ساختیافته SA (روش Gane-Sarson) 4- روش YSM (Yourdon System Method)
اسلاید 7: دسته بندی متدولوژی هامتدولوژی های مبتنی بر داده 1- مهندسی اطلاعات Information Engineering (روش Martin) 2- روشهای تحلیل شی گرا OOD 3- روش جکسون JSD 4- روش وارنیر-اور Warnier-Orr 5- متدولوژی BSP (Business System Planning)
اسلاید 8: دسته بندی متدولوژی هاروش های نمونه سازی 1- روش توسعه سریع RAD 2- روش توسعه مشارکتی JAD
اسلاید 9: دسته بندی متدولوژی هادسته بندی دیگری از متدولوژی ها به ای صورت است : متدولوژی های سنتیمتدولوژی های ساختیافتهمتدولوژی های شی گراآیا می توان دسته بندی های دیگری نیز از انواع متدولوژی ها ارائه کرد ؟
اسلاید 10: چطور یک متدولوژی مناسب پروژه مان انتخاب کنیم ؟انتخاب یک متدولوژی مناسب برای پروژه نرم افزاری به فاکتورهای زیادی بستگی دارد از جمله : هدف – نوع نرم افزار نهایی اندازه نرم افزار نهایی فعالیت هایی که در طول پروژه انجام خواهد گرفت . . . ولی در نهایت با توجه به فاکتورهای متفاوت می توان یکی از متدولوژی ها و یا ترکیبی از دو یا چند متدولوژی را مورد استفاده قرار داد .
اسلاید 11: متدولوژی های ساختیافتهرواج روش های ساختیافته از اواخر دهه 1960 در این متدولوژی ها هم تحلیل ها ساختمندند ، هم سیستم ها استفاده از مفهوم سیستم های ماجولار – تفکیک یک سیستم به سیستم های کوچک تر و نسبتا مستقل از بالا به پایین
اسلاید 12: متدولوژی های ساختیافتهمشکلات اصلی متدولوژی های ساختیافته : پیچیدگی گذر از تحلیل به طراحی پیچیدگی گذر از طراحی به پیاده سازی (نگاشت به کد) عدم تاکید بر قابلیت استفاده مجدد (ReUsability)
اسلاید 13: متدولوژی های شی گراایده روش های شی گرا در سال 1980 مطرح شد در روش های شی گرا ، از ابتدا اشیاء مشخصی ایجاد می شوند که عملیات مختلف در مراحل مختلف (تحلیل ، طراحی و ...) بر روی این اشیا انجام می گیرند متدولوژی های شی گرا مجموعه ای از تعامل اشیا هستند در این روش ها مشکل پیچیدگی گذرها را نداریم قابلیت استفاده مجدد از اشیا در پروژه ها و سیستم های دیگر
اسلاید 14: متدولوژی های شی گرایکی از دسته بندی های مرسوم متدولوژی های شی گرا : متدولوژی های اولیه (Seminal Methodology) Shlaer-Mellor ، Coad-Youdon ، RDD ، Booch ، OMT ، OSA ، OOSE ، BON ، Hodge-Mock ، Fusion ، Syntropy متدولوژی های مجتمع شده (Integrated Methodology) OPM ، Catalysis ، OPEN ، RUP/USDP ، EUP ، FOOM متدولوژی های چابک (Agile Methodology) DSDM ، SCRUM ، XP ، ASD ، Xd ، Crystal ، FDD
اسلاید 15: متدولوژی شی گرای RUP ساختار کلی RUP دارای دو بعد است : محور افقی - بیانگر زمان است . نشاندهنده جنبه پویای متدولوژیمحور عمودی - بیانگر ترتیب منطقی فعالیت ها است . نشاندهنده جنبه ایستای متدولوژی
اسلاید 16: متدولوژی شی گرای RUPویژگی های RUP : توسعه ی نرم افزار مبتنی بر تکرار ( Iterative )مدیریت نیازمندی ها استفاده از معماری Component-Base مدلسازی بصری نرم افزار ( Visual Modeling )کنترل مستمر کیفیت مدیریت تغییرات برای نرم افزار
اسلاید 17: متدولوژی شی گرای RUPاهداف RUP : فراهم آوردن زبان مدلسازی بصری و گویافراهم آوردن مکانیزم های توسعه ، برای بسط مفاهیم اساسی استقلال از زبانهای برنامه نویسی خاص و فرآیندهای توسعه فراهم آوردن پایه و اصولی رسمی برای درک زبان مدلسازی تشویق به رشد بازار ابزار OO حساسیت و پشتیبانی از مفاهیم توسعه ی سطح بالاتر نظیر : همکاری ها ، چهارچوب ها ، الگوها ، اجزا مجتمع سازی بهترین تجربیات
اسلاید 18: متدولوژی شی گرای RUPفازهای یک پروژه در RUP : Inception ( آغازین ) : ایجاد شناخت اولیه از صورت مساله ، شناخت و مدل کردن کلیات سیستم موجود Elaboration ( جزئیات ): تشخیص و مستند کردن جزئیات مدل سیستم موجود ، دقیق کردن نیازمندیها ، تحلیل و طراحی کلی سیستم جدید که معمولا در طی دو چرخه انجام می گیرد Construction ( ساخت ): توسعه ی سیستم نرم افزاری بر اساس سیستم طراحی شده ی جدید در طی چرخه های متعدد Transition ( انتقال ): انتقال از سیستم قدیم به جدید شامل انتقال اطلاعات و گردش کار ، نصب کامل سیستم ها و آموزش کارکنان
اسلاید 19: متدولوژی شی گرای RUPطرح ریزی فازها همه ی فازها در میزان تاثیر و زمان بندی مساوی نیستند . اگرچه این تفاوت ها به پروژه بستگی دارد ، یک چرخه توسعه ی ابتدایی برای یک پروژه با سایز متوسط باید بر طبق توزیع زمانبندی و تاثیر جدول زیر پیش رود :
اسلاید 20: متدولوژی شی گرای RUPفعالیت های انجام شده در هر یک از فازها : مهندسی امور Business Modeling نیازها Requirements تحلیل و طراحی Analysis & Design پیاده سازی Implementation آزمون Test کنترل تغییرات Configuration & Change Managementکنترل پروژه Project Management محیط عملیاتی Environment گسترش Deployment
اسلاید 21: متدولوژی ساختیافته SSADMاین متدولوژی دارای محدودیت هایی ( حداکثر موجودیت های خارجی ، 12 موجودیت ) می باشد و به همین دلیل برای تحلیل سیستم های بزرگ از این نوع متدولوژی استفاده نمی شود مستندات این متدولوژی بسیار زیاد می باشد
اسلاید 22: متدولوژی ساختیافته SSADMفازهای یک پروژه در SSADM : امکان سنجیتحلیل نیازمندیهاطراحی منطقیطراحی فیزیکی
اسلاید 23: متدولوژی ساختیافته SSADMدیاگرام گردش داده ها ( DFD )خلاصه ی عملکرد سیستم مشکلات و نیازمندیها دیاگرام متن منطقی دیاگرام منطقی گردش داده ها طراحی پایگاه داده طراحی منوی برنامه طراحی فرم ورود داده ها شرح پردازه های جزئیفعالیت های انجام شده در SSADM : جمع آوری فرم های پروژه تهیه ی سناریو تقاضای سیستم مکانیزه زمانبندی دیاگرام متن ( Context Diagram ) شرح موجودیت های خارجی شرح خطوط جریان داده دیاگرام گردش مستندات
اسلاید 24: مقایسه بین متدولوژی RUP و SSADM- در متدولوژی SSADM سیستم از سه دیدگاه وظیفه ، ساختار و رفتار مورد بررسی قرار می گیرد - در متدولوژی RUP تمام اشیاء موجود در سیستم به صورت یکپارچه مدل می شوند - در متدولوژی SSADM به کل سیستم نگاه می کنیم و بعد از روی نیازهای سیستم به تحلیل و طراحی سیستم می پردازیم ؛ در این روش تا رسیدن به نیازهای واقعی کاربر ، مسیر طولانی شناخت سیستم و تبدیل آن به نیازهای منطقی را طی می نماییم - در متدولوژی RUP توجه تحلیلگر به نیازهای کاربر می باشد و درخواست او از سیستم مورد بررسی قرار می گیرد - در متدولوژی SSADM روش های تبدیل مرحله ی تحلیل نیازمندیها به طراحی منطقی دشوار و غیر استاندارد می باشد . در این متدولوژی ، اینکه هر موجودیت می تواند در چندین وظیفه نقش داشته باشد ، باعث پیچیدگی کار تحلیل و پایین آمدن قابلیت استفاده ی مجدد از سیستم می گردد - در متدولوژی RUP این مشکل با استفاده از قابلیت های برنامه نویسی Object Oriented تا حدود زیادی مرتفع گردیده است
اسلاید 25: مقایسه بین متدولوژی RUP و SSADM- متدولوژی های ساختیافته از دیدگاه های وظایف ، ساختار ، و رفتار مسائل را مورد بررسی قرار می دهند - متدولوژی های شی گرا هر چند مبتنی بر شناخت اشیا هستند اما از سایر دیدگاه ها نیز بعضا به مسائل می پردازند - با توجه به اینکه SSADM از دیدگاه داده ای ( Data-Centric ) سیستم را شناسایی می کند ، یشتر توجه خود را به توابعی از نوع به روزرسانی و پرس و جو در بانک اطلاعاتی متمرکز می نماید - در حالی که دیاگرام توابع پرس و جو و طراحی فیزیکی داده ها با توجه به وجود بانک های شناخته شده و قابلیت های زبان های ویژوال بیش از اینکه کمک یار برنامه نویس باشند باعث شلوغی کار طراحی می شوند در SSADM مراحل اولیه ی چرخه حیات یعنی از مراحل امکان سنجی تا مرحله طراحی به طور کامل پشتیبانی شده ، اما مراحل ساخت ، تولید و نگهداری به طور جزئی پشتیبانی می گردد
اسلاید 26: مقایسه بین متدولوژی RUP و SSADMدر SSADM با توجه به عدم ارائه ی معیارهای مشخص برای دسته بندی توابع ، ماژول سازی برنامه سلیقه ای می شود - درخواست های سیستم در طول پروژه چندین بار تغییر خواهد کرد ، لذا سیستمی که از روش Data-Centric استفاده می کند ، هر چند می تواند به آسانی تغییر در پایگاه داده ها را مدیریت نماید ، اما اجرای تغییرات در قوانین تجاری یا رفتار سیستم آنقدر آسان نیست - با متدهای شی گرا ، هم بر اطلاعات و هم بر رفتار متمرکز می شویم . با متدهای شی گرا ، برنامه را به قطعات بسیار کوچک یا آبجکت هایی تقسیم می کنیم که تا اندازه ای مستقل از یکدیگر باشند و به آنها به عنوان ساختمانی از بلوک ها نگاه می کنیم
اسلاید 27: با تشکر – فروردین 1388
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.