1 / 27

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

مقایسه ای بر متدولوژی های ساختیافته و شی گرا. مهندسی نرم افزار 2 ، دکتر کاویانی پویا روحی. درباره چه چیزی ؟. مقدمه – مشکل واژگان و مفاهیم تعریف متدولوژی یک دسته بندی متداول از متدولوژی ها نحوه انتخاب یک متدولوژی مناسب متدولوژی های ساختیافته متدولوژی های شی گرا

alaric
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. دیاگرام گردش داده ها ( DFD ) خلاصه ی عملکرد سیستم مشکلات و نیازمندیها دیاگرام متن منطقی دیاگرام منطقی گردش داده ها طراحی پایگاه داده طراحی منوی برنامه طراحی فرم ورود داده ها شرح پردازه های جزئی فعالیت های انجام شده در SSADM : جمع آوری فرم های پروژه تهیه ی سناریو تقاضای سیستم مکانیزه زمانبندی دیاگرام متن ( Context Diagram ) شرح موجودیت های خارجی شرح خطوط جریان داده دیاگرام گردش مستندات متدولوژی ساختیافته SSADM

  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

More Related