تارا فایل

پاورپوینت مقایسه ای بر متدولوژی های ساخت یافته و شی گرا


مقایسه ای بر متدولوژی های ساختیافته و شی گرا

درباره چه چیزی ؟
مقدمه – مشکل واژگان و مفاهیم
تعریف متدولوژی
یک دسته بندی متداول از متدولوژی ها
نحوه انتخاب یک متدولوژی مناسب
متدولوژی های ساختیافته
متدولوژی های شی گرا
آشنایی با متدولوژی شی گرای RUP
آشنایی با متدولوژی ساختیافته SSADM
مقایسه بین متدولوژی RUP و متدولوژی SSADM

مشکل واژگان و مفاهیم !

معنای واژه های کلیدی نرم افزار ممکن است از متنی به متن دیگر متفاوت باشد

اکثرا این اشتباه پیش می آید که بعضی ها متدولوژی را به جای روش و یا روش را به جای ابزار و یا بالعکس به کار می برند

متدولوژی یعنی چه ؟

متدولوژی ، روش شناسی ، و فرا روش همه یک مفهوم یکسانند

متدولوژی : مجموعه ای از روش ها ، فنون و ابزارهای تحلیل و طراحی سیستم که در چهارچوب یک انگاره مدلسازی مبتنی بر یک الگوی مفهومی برای ساماندهی روند توسعه سیستم ها به روشی نظام مند به کار می رود

فرآیند نرم افزار : یکسری مراحل قابل پیش بینی و نقشه مسیری است که به ما کمک می کند تا نتایجی را در زمان معین و با کیفیت بالا ایجاد کنیم

آیا متدولوژی و فرآیند نرم افزار دو مفهوم یکسانند ؟

دسته بندی متدولوژی ها

یک دسته بندی متداول از متدولوژی ها به این صورت است :

متدولوژی های مبتنی بر پردازش
متدولوژی های مبتنی بر داده
روش های نمونه سازی

دسته بندی متدولوژی ها

متدولوژی های مبتنی بر پردازش

1- طراحی ساختیافته SD (روش Yourdon-Constantine )
2- تحلیل ساختیافته SA (روش DeMarco)
3- تحلیل ساختیافته SA (روش Gane-Sarson)
4- روش YSM (Yourdon System Method)

دسته بندی متدولوژی ها

متدولوژی های مبتنی بر داده

1- مهندسی اطلاعات Information Engineering (روش Martin)
2- روشهای تحلیل شی گرا OOD
3- روش جکسون JSD
4- روش وارنیر-اور Warnier-Orr
5- متدولوژی BSP (Business System Planning)

دسته بندی متدولوژی ها

روش های نمونه سازی

1- روش توسعه سریع RAD
2- روش توسعه مشارکتی JAD

دسته بندی متدولوژی ها

دسته بندی دیگری از متدولوژی ها به ای صورت است :

متدولوژی های سنتی
متدولوژی های ساختیافته
متدولوژی های شی گرا

آیا می توان دسته بندی های دیگری نیز از انواع متدولوژی ها ارائه کرد ؟

چطور یک متدولوژی مناسب پروژه مان انتخاب کنیم ؟

انتخاب یک متدولوژی مناسب برای پروژه نرم افزاری به فاکتورهای زیادی بستگی دارد از جمله :

هدف – نوع نرم افزار نهایی
اندازه نرم افزار نهایی
فعالیت هایی که در طول پروژه انجام خواهد گرفت
. . .

ولی در نهایت با توجه به فاکتورهای متفاوت می توان یکی از متدولوژی ها و یا ترکیبی از دو یا چند متدولوژی را مورد استفاده قرار داد .

متدولوژی های ساختیافته

رواج روش های ساختیافته از اواخر دهه 1960

در این متدولوژی ها هم تحلیل ها ساختمندند ، هم سیستم ها

استفاده از مفهوم سیستم های ماجولار – تفکیک یک سیستم به سیستم های کوچک تر و نسبتا مستقل از بالا به پایین

متدولوژی های ساختیافته

مشکلات اصلی متدولوژی های ساختیافته :

پیچیدگی گذر از تحلیل به طراحی
پیچیدگی گذر از طراحی به پیاده سازی (نگاشت به کد)
عدم تاکید بر قابلیت استفاده مجدد (ReUsability)

متدولوژی های شی گرا

ایده روش های شی گرا در سال 1980 مطرح شد
در روش های شی گرا ، از ابتدا اشیاء مشخصی ایجاد می شوند که عملیات مختلف در مراحل مختلف (تحلیل ، طراحی و …) بر روی این اشیا انجام می گیرند
متدولوژی های شی گرا مجموعه ای از تعامل اشیا هستند
در این روش ها مشکل پیچیدگی گذرها را نداریم
قابلیت استفاده مجدد از اشیا در پروژه ها و سیستم های دیگر

متدولوژی های شی گرا

یکی از دسته بندی های مرسوم متدولوژی های شی گرا :

متدولوژی های اولیه (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

متدولوژی شی گرای RUP
ساختار کلی RUP دارای دو بعد است :
محور افقی – بیانگر زمان است . نشاندهنده جنبه پویای متدولوژی
محور عمودی – بیانگر ترتیب منطقی فعالیت ها است . نشاندهنده جنبه ایستای متدولوژی

متدولوژی شی گرای RUP

ویژگی های RUP :

توسعه ی نرم افزار مبتنی بر تکرار ( Iterative )
مدیریت نیازمندی ها
استفاده از معماری Component-Base
مدلسازی بصری نرم افزار ( Visual Modeling )
کنترل مستمر کیفیت
مدیریت تغییرات برای نرم افزار

متدولوژی شی گرای RUP

اهداف RUP :

فراهم آوردن زبان مدلسازی بصری و گویا
فراهم آوردن مکانیزم های توسعه ، برای بسط مفاهیم اساسی
استقلال از زبانهای برنامه نویسی خاص و فرآیندهای توسعه
فراهم آوردن پایه و اصولی رسمی برای درک زبان مدلسازی
تشویق به رشد بازار ابزار OO
حساسیت و پشتیبانی از مفاهیم توسعه ی سطح بالاتر نظیر : همکاری ها ، چهارچوب ها ، الگوها ، اجزا
مجتمع سازی بهترین تجربیات

متدولوژی شی گرای RUP

فازهای یک پروژه در RUP :
Inception ( آغازین ) : ایجاد شناخت اولیه از صورت مساله ، شناخت و مدل کردن کلیات سیستم موجود
Elaboration ( جزئیات ): تشخیص و مستند کردن جزئیات مدل سیستم موجود ، دقیق کردن نیازمندیها ، تحلیل و طراحی کلی سیستم جدید که معمولا در طی دو چرخه انجام می گیرد
Construction ( ساخت ): توسعه ی سیستم نرم افزاری بر اساس سیستم طراحی شده ی جدید در طی چرخه های متعدد
Transition ( انتقال ): انتقال از سیستم قدیم به جدید شامل انتقال اطلاعات و گردش کار ، نصب کامل سیستم ها و آموزش کارکنان

متدولوژی شی گرای RUP

طرح ریزی فازها

همه ی فازها در میزان تاثیر و زمان بندی مساوی نیستند . اگرچه این تفاوت ها به پروژه بستگی دارد ، یک چرخه توسعه ی ابتدایی برای یک پروژه با سایز متوسط باید بر طبق توزیع زمانبندی و تاثیر جدول زیر پیش رود :

متدولوژی شی گرای RUP

فعالیت های انجام شده در هر یک از فازها :

مهندسی امور Business Modeling
نیازها Requirements
تحلیل و طراحی Analysis & Design
پیاده سازی Implementation
آزمون Test
کنترل تغییرات
Configuration & Change Management
کنترل پروژه Project Management
محیط عملیاتی Environment
گسترش Deployment

متدولوژی ساختیافته SSADM
این متدولوژی دارای محدودیت هایی ( حداکثر موجودیت های خارجی ، 12 موجودیت ) می باشد و به همین دلیل برای تحلیل سیستم های بزرگ از این نوع متدولوژی استفاده نمی شود
مستندات این متدولوژی بسیار زیاد می باشد

متدولوژی ساختیافته SSADM

فازهای یک پروژه در SSADM :

امکان سنجی
تحلیل نیازمندیها
طراحی منطقی
طراحی فیزیکی

متدولوژی ساختیافته SSADM

دیاگرام گردش داده ها ( DFD )
خلاصه ی عملکرد سیستم
مشکلات و نیازمندیها
دیاگرام متن منطقی
دیاگرام منطقی گردش داده ها
طراحی پایگاه داده
طراحی منوی برنامه
طراحی فرم ورود داده ها
شرح پردازه های جزئی

فعالیت های انجام شده در SSADM :

جمع آوری فرم های پروژه
تهیه ی سناریو
تقاضای سیستم مکانیزه
زمانبندی
دیاگرام متن ( Context Diagram )
شرح موجودیت های خارجی
شرح خطوط جریان داده
دیاگرام گردش مستندات

مقایسه بین متدولوژی RUP و SSADM
– در متدولوژی SSADM سیستم از سه دیدگاه وظیفه ، ساختار و رفتار مورد بررسی قرار می گیرد
– در متدولوژی RUP تمام اشیاء موجود در سیستم به صورت یکپارچه مدل می شوند

– در متدولوژی SSADM به کل سیستم نگاه می کنیم و بعد از روی نیازهای سیستم به تحلیل و طراحی سیستم می پردازیم ؛ در این روش تا رسیدن به نیازهای واقعی کاربر ، مسیر طولانی شناخت سیستم و تبدیل آن به نیازهای منطقی را طی می نماییم
– در متدولوژی RUP توجه تحلیلگر به نیازهای کاربر می باشد و درخواست او از سیستم مورد بررسی قرار می گیرد

– در متدولوژی SSADM روش های تبدیل مرحله ی تحلیل نیازمندیها به طراحی منطقی دشوار و غیر استاندارد می باشد . در این متدولوژی ، اینکه هر موجودیت می تواند در چندین وظیفه نقش داشته باشد ، باعث پیچیدگی کار تحلیل و پایین آمدن قابلیت استفاده ی مجدد از سیستم می گردد
– در متدولوژی RUP این مشکل با استفاده از قابلیت های برنامه نویسی Object Oriented تا حدود زیادی مرتفع گردیده است

مقایسه بین متدولوژی RUP و SSADM
– متدولوژی های ساختیافته از دیدگاه های وظایف ، ساختار ، و رفتار مسائل را مورد بررسی قرار می دهند
– متدولوژی های شی گرا هر چند مبتنی بر شناخت اشیا هستند اما از سایر دیدگاه ها نیز بعضا به مسائل می پردازند

– با توجه به اینکه SSADM از دیدگاه داده ای ( Data-Centric ) سیستم را شناسایی می کند ، یشتر توجه خود را به توابعی از نوع به روزرسانی و پرس و جو در بانک اطلاعاتی متمرکز می نماید
– در حالی که دیاگرام توابع پرس و جو و طراحی فیزیکی داده ها با توجه به وجود بانک های شناخته شده و قابلیت های زبان های ویژوال بیش از اینکه کمک یار برنامه نویس باشند باعث شلوغی کار طراحی می شوند

در SSADM مراحل اولیه ی چرخه حیات یعنی از مراحل امکان سنجی تا مرحله طراحی به طور کامل پشتیبانی شده ، اما مراحل ساخت ، تولید و نگهداری به طور جزئی پشتیبانی می گردد

مقایسه بین متدولوژی RUP و SSADM

در SSADM با توجه به عدم ارائه ی معیارهای مشخص برای دسته بندی توابع ، ماژول سازی برنامه سلیقه ای می شود

– درخواست های سیستم در طول پروژه چندین بار تغییر خواهد کرد ، لذا سیستمی که از روش Data-Centric استفاده می کند ، هر چند می تواند به آسانی تغییر در پایگاه داده ها را مدیریت نماید ، اما اجرای تغییرات در قوانین تجاری یا رفتار سیستم آنقدر آسان نیست
– با متدهای شی گرا ، هم بر اطلاعات و هم بر رفتار متمرکز می شویم . با متدهای شی گرا ، برنامه را به قطعات بسیار کوچک یا آبجکت هایی تقسیم می کنیم که تا اندازه ای مستقل از یکدیگر باشند و به آنها به عنوان ساختمانی از بلوک ها نگاه می کنیم

پایان


تعداد صفحات : 27 | فرمت فایل : .ppt

بلافاصله بعد از پرداخت لینک دانلود فعال می شود