1 / 247

تحلیل و طراحی سیستم‌های شی گرا

تحلیل و طراحی سیستم‌های شی گرا. حسین دهقان دانشگاه آزاد بوشهر. مرجع. نحوه ارزيابي. امتحان پايان ترم 12 نمره پروژه گروهی 8 نمره تحلیل و طراحی سامانه نرم‌افزاری یکپارچه سامانه نرم افزاری و مستندات (پیشنهاد، تحلیل، طراحی) نیاز به کد نویسی ندارد !

shaina
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. مرجع حسین دهقان hd.dehghan@gmail.com

  3. نحوه ارزيابي • امتحان پايان ترم 12 نمره • پروژه گروهی 8 نمره • تحلیل و طراحی سامانه نرم‌افزاری یکپارچه • سامانه نرم افزاری و مستندات (پیشنهاد، تحلیل، طراحی) • نیاز به کد نویسی ندارد ! • تاریخ تحویل فاز نهایی: ؟ (حداکثر تاریخ ممکن) • سایت گروهی پروژه 1+ نمره • درج تکوینی نتایج فعالیت‌های فردی و گروهی ------------------- 21 نمره --------------------- حسین دهقان hd.dehghan@gmail.com

  4. نحوه ارتباط • ایمیل hd.dehghan@gmail.com • زمان‌های ملاقات در دانشگاه ؟ حسین دهقان hd.dehghan@gmail.com

  5. تحلیل و طراحی سیستم‌های شی گرا مقدمه حسین دهقان دانشگاه آزاد بوشهر

  6. مهندسی نرم‌افزار یا مهندسی سخت‌افزار حسین دهقان دانشکده فنی و مهندسی جم

  7. سخت‌افزار و نرم‌افزار • هر دستگاه برنامه پذیر (مانند یک کامپیوتر یا یک میکروکنترلر) دارای دو بخش اصلی است: سخت افزار و نرم افزار • سخت افزار: هر قطعه قابل لمس و فیزیکی • نرم افزار: برنامه هاي کامپيوتري یا کدهایی که روی قطعات سخت‌افزای نصب می‌شوند (قرار می‌گیرند) و باعث کار کردن سخت افزارمي‌شوند. • نرم‌افزار نصب شده، باید در مورد سخت افزار خود اطلاعاتی داشته باشد. • بین نرم‌افزار و سخت‌افزار باید هماهنگی کاملی وجود داشته باشد. حسین دهقان دانشکده فنی و مهندسی جم

  8. سخت‌افزار و نرم‌افزار حسین دهقان دانشکده فنی و مهندسی جم

  9. مهندسی نرم‌افزار با مهندسی سخت‌افزار تفاوت دارد. • چرا بسیاری از نرم‌افزارها فاجعه هستند ولی سخت‌افزارها نه؟ • Mariner Bugs Out (1962) • Cost: $18.5 million • Destroyed the rocket 293 seconds after liftoff. • Medical Machine Kills (1985) • Cost: Three people dead, three people critically injured • a subtle bug called a race condition • Ariane 5 rocket explosion • Cost: $360 million • 16 bit memory, . . . . • یکی از دلایل این مشکلات: عدم تست سیستم حسین دهقان دانشکده فنی و مهندسی جم

  10. تفاوت HWو SW • HW • هزینه ارتقا سیستم • طراحی HWباید قبل از عملیات ساخت به پایان برسد. • اشکال در HW: برگشت‌دادن آن • SW • هزینه ارتقا سیستم • انتظار بهتر شدن SWبا گذشت زمان • اشکال در SW: انتظار برای ارتقا (upgrade) • قدیمی شدن سخت‌افزار و نرم‌افزارهای قدیمی حسین دهقان دانشکده فنی و مهندسی جم

  11. فرآيند مهندسي كه براي هر كاربرد جديد منحصر به فرد است مكانيكي ماهيت فرآيند توليد: منطقي فيزيكي ماهيت محصول: تفاوت HWو SW • فرايند توليد نرم افزار يك فرايند مهندسي است نه يك فرايند توليد صتعتي نرم افزار سخت افزار بوسيله استفاده كننده گان نهائي بوسيله متخصصين تعيين مشخصات: حسین دهقان دانشکده فنی و مهندسی جم

  12. پس از رفع خطاهاي طراحي و ساخت آغاز فرسودگي تفاوت HWو SW منحني نرخ خرابي سخت افزار نسبت به زمان نرخ خرابي حسین دهقان دانشکده فنی و مهندسی جم زمان

  13. تفاوت HWو SW منحني نرخ خرابي نرم افزار نسبت به زمان نرخ خرابي حسین دهقان دانشکده فنی و مهندسی جم زمان

  14. بحران نرم‌افزار • پيشرفت شگرف سخت افزار • ضعف روشهاي توليدنرم افزار • ناتواني روشهاي توليدنرم افزار در كنترل پيچيدگي نرم افزار حسین دهقان دانشکده فنی و مهندسی جم

  15. نشانه‌های بحران نرم‌افزار • عدم بهره گيري كامل از قدرت سخت افزار • ناتواني روشهاي توليد نرم افزار در پاسخگوئي به افزايش تقاضا • هزينه هاي هنگفت توليد نرم افزار • عدم تحويل به موقع • عدم تامين نيازمندي‌هاي كاربر • كيفيت پايين و نامطمئن • سختي نگهداري بعلت كيفيت پايين طراحي حسین دهقان دانشکده فنی و مهندسی جم

  16. مهندسی نرم‌افزار • براي مقابله با بحران نرم‌افزار، مهندسي نرم افزار مطرح شد. • ويژگيهاي مهندسي نرم افزار • تجديد نظر در روشهاي برنامه ريزي و كنترل • استفاده از تجربيات ديگر رشته هاي مهندسي • تهيه و جايگزيني استانداردهاي مطمئن حسین دهقان دانشکده فنی و مهندسی جم

  17. مهندسی نرم‌افزار (ادامه) • تعريف بكارگيري يك روش سيستماتيك، منظم و قابل اندازه‌گيري براي توليد و توسعه، عملياتي كردن و نگهداري نرم افزار؛ بكارگيري اصول مهندسي در توليد نرم افزار حسین دهقان دانشکده فنی و مهندسی جم

  18. اهداف مهندسی نرم‌افزار • افزايش كيفيت، قابليت اطمينان، قابليت نگهداري • رضايت كاربر و سهامداران • كاهش هزينه • تحويل به موقع • استفاده از مولفه هاي استاندارد • استفاده مجدد حسین دهقان دانشکده فنی و مهندسی جم

  19. سیستم اطلاعاتی حسین دهقان دانشکده فنی و مهندسی جم

  20. سیستم اطلاعاتی • سیستم • اجزایی که در کنار یکدیگر و با همدیگر برای دستیابی به یک هدف تلاش می‌کنند. • چند نفر که در یک اداره یا سازمان با یکدیگر کار می­کنند. • آنها معمولا کارهای روزمره خود را بدون کامپیوتر انجام می‌دهند. • سیستم اطلاعاتی (Information System – IS) • سیستمی که برای تسهیل کارهای خود بخواهند از فناوری اطلاعات (استفاده از سخت­افزار، نرم­افزار، شبکه، پایگاه داده و دیگر امکانات رایانه) استفاده نمایند. • مجموعه­ای از افراد، داده­ها، فرایندها و اطلاعات که با بکارگیری فناوری اطلاعات به منظور پشتیبانی و بهبود کسب و کار شکل می­گیرد. حسین دهقان دانشکده فنی و مهندسی جم

  21. نرم افزار • محصولی است که توسط مهندسین نرم­افزار طراحی و ایجاد می­شود. • شامل برنامه­ای است که در کامپیوتری اجرا می­شود: • برنامهو داده • مستنداتیکه حاوی متن­ها، فرم­ها • سیستم اطلاعاتی تعریف کلی تری از نرم‌افزار می‌باشد. • یک سیستم اطلاعاتی ممکن شامل شبکه و سخت‌افزاری باشد که نرم‌افزار آن قابل دیدن نباشد. حسین دهقان دانشکده فنی و مهندسی جم

  22. چه کسانی در سیستم اطلاعاتی دخیل هستند • صاحبان سیستم • کسانی که برای ایجاد سیستم هزینه می­کنند. • معمولا از طبقه مدیران ارشد یا میانی می­باشند. • کاربران سیستم (مشتری) • افرادی که از سیستم برای انجام عملیات و کارهای خود استفاده می­کنند. • این افراد اموری مانند وارد کردن و تایید اطلاعات، پاسخ دهی و ذخیره­سازی را بعهده دارند. • تیم پروژه • افرادی که برای تحلیل، طراحی و پیاده­سازی سیستم اطلاعاتی تلاش می­کنند. • این افراد معمولا مهندسین نرم­افزار می­باشند. حسین دهقان دانشکده فنی و مهندسی جم

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

  24. آمار نرم‌افزارها • سال 1995 حسین دهقان دانشکده فنی و مهندسی جم Challenged: Completed late, over budget, feature missing

  25. آمار نرم‌افزارها (ادامه) • سال 2000 حسین دهقان دانشکده فنی و مهندسی جم

  26. دوره حیات توسعه سیستم حسین دهقان دانشکده فنی و مهندسی جم

  27. دوره حیات توسعه سیستم • ساخت یک سیستم اطلاعاتی (یا نرم­افزار) بسیار شبیه به ساخت یک خانه است. • یک ایدهساده • طراحی­های کلی و ساده روی کاغذ (طرح­ها باز طراحی می­شوند تا اینکه توسط مشتری تایید گردد) • طراحی با جزئیات تکمیلی از پروژه • ساختنخانه به کمک طرح­هایی فاز 3 ساختن خانه در ایران = ساختن نرم‌افزار در ایران ؟ حسین دهقان دانشکده فنی و مهندسی جم

  28. دوره حیات توسعه سیستم (ادامه) • منظور مراحلی است که برای ساخت یک نرم‌افزار باید طی شود. • برنامه­ریزی Planning • آنالیز Analysis • طراحی Design • پیاده­سازی Implementation هر فاز از گام­ها یا زیر مراحلی تشکیل شده­است. خروجی هر فاز مستدات و فایل­هایی است که با مشتری تحویل داده می­شود. حسین دهقان دانشکده فنی و مهندسی جم

  29. برنامه ریزی • چرا یک سیستم اطلاعاتی باید برای سازمان ساخته شود؟ • می­توان پروژه را ساخت یا انجام داد؟ • آیا طرح پیشنهادی می­تواند کسب و کار را ارتقا دهد؟ • آگر پیاده­سازی شود، آیا از سیستم استفاده خواهد شد؟ • نحوه انجام داده پروژه از بعد برنامه‌ریزی • Project Plan حسین دهقان دانشکده فنی و مهندسی جم

  30. برنامه ریزی (گام‌ها) • مطرح شدن یک ایده جدید برای ایجاد یک سیستم نرم­افزاری جدیدی توسط یک سازمان • ارائه درخواست توسط بخش‌های حسابداری، مالی و ... • امکان سنجی طرح پیشنهادی توسط سازمان و تیم پروژه • بررسی انجام یا عدم انجام پروژه • مدیریت پروژه • خروجی این مرحله نمودار زمانی انجام پروژه (Project Plan) حسین دهقان دانشکده فنی و مهندسی جم

  31. آنالیز • چه کسی از سیستم استفاده خواهد کرد؟ • سیستم چه کاری انجام خواهد داد؟ • چه زمانی و کجا از سیستم استفاده خواهد شد؟ • تیم پروژه • سیستم موجود در سازمان و سیستم­های دیگر را بررسی می­کند • فرصت­های بهبود را بررسی می­کند • کلیت سیستم جدید را توسعه می­دهد حسین دهقان دانشکده فنی و مهندسی جم

  32. آنالیز (گام‌ها) • گام تجزیه و تحلیل: شامل آنالیز سیستم فعلی سازمان (as-in system) و مشکلات آن و آنالیز راهی برا طراحی سیستم جدید (to-be system) • جمع آوری نیازهای سیستم: بدست آوردن اطلاعات در مورد سیستم جاری از طریق مصاحبه، پرسش­نامه • ارائه مستندات طرح پیشنهادی سیستم (system proposal) به سازمان حسین دهقان دانشکده فنی و مهندسی جم

  33. طراحی • بررسی جزئیاتسیستم • سخت­افزار • نرم­افزار • شبکه • رابط کاربری • فرم­ها وگزارشات نرم­افزار • زبان برنامه­نویسی • فایل­ها و پایگاه داده حسین دهقان دانشکده فنی و مهندسی جم

  34. طراحی (گام‌ها) • استراتژی طراحی (Design strategy) • سیستم باید توسط برنامه­نویسان خود سازمان یا توسط تیم پروژه انجام شود. • یک برنامه متن باز (Open Source) باید تهیه گردد یا نرم­افزاری باید خریداری شود. • طراحی • Architecture Design: بعد سخت­افزاری، نرم­افزاری و زیر بنای شبکه • Interface Design: رابط کاربری سیستم، فرم­ها و گزارشات سیستم • پایگاه داده و فایل­ها • طراحی برنامه (Program Design): هر برنامه واقعا چه کاری انجام خواهد داد. حسین دهقان دانشکده فنی و مهندسی جم

  35. پیاده‌سازی (گام‌ها) • ساخت سیستم: سیستم ساخته و تست می­شود. • نصب سیستم: در این مرحله سیستم قبلی از کار انداخته و سیستم جدید شروع به کار می­کند • روش حذف سریع: سیستم جدید به سرعت جایگزین سیستم قدیمی می­شود. • روش موازی: دو سیستم برای یک یا دو ماه بصورت موازی کار می­کنند تا مشکلات سیستم جدید کاملا برطرف شود. • روش تبدیل: سیستم جدید در یک بخش از سازمان به عنوان یک آزمایش اولیه نصب می­شود و سپس به تدریج در بخش­های دیگر استفاده می­شود. • طرح پشتیبانی: نحوه پیاده­سازی تغییرات جزئی و کلی در سیستم حسین دهقان دانشکده فنی و مهندسی جم

  36. تحلیل و طراحی سیستم‌های شی گرا مدل‌های توسعه سیستمشروع یک پروژه حسین دهقان دانشگاه آزاد بوشهر

  37. مدل‌های توسعه سیستم حسین دهقان دانشکده فنی و مهندسی جم

  38. مدل های توسعه سیستم • روش­های قاعده­مند براي پياده­سازي چرخه حيات توسعه سيستم (SDLC) Planning Analysis Design حسین دهقان دانشکده فنی و مهندسی جم Implementation + System

  39. تقسیم بندی (1) • تاکید این مدل­ها بر فرایندهای کسب و کار یا داده­ها • متدولوژي­هاي فرآيندگرا: بر تعريف فعاليت­ها در سيستم تاكيد دارند. • متدولوژي­هاي داده­گرا: بر داده­ها و نحوه سازماندهي آنها تاكيد دارند. • متدولوژي­هاي شي­گرا: يك نوع توازن و تعادل بين دو متدولوژي فوق ايجاد مي­كند. • فرایند (Process): فعالیت­های انجام شده در یک سازمان که اهداف سازمان را برآورده می­کند. • داده (Data): حقایقی درمورد سازمان و تعاملات کسب و کار یا مواد اولیه برای انجام کسب و کار در یک سازمان حسین دهقان دانشکده فنی و مهندسی جم

  40. تقسیم بندی (1) حسین دهقان دانشکده فنی و مهندسی جم

  41. تقسیم بندی (2) • طراحی ساخت­یافته • مدل آبشاری • مدل موازی • مدل­های توسعه سریع (RapidApplicationDevelopment) یا RAD • مدل فازبندی شده (PhasedDevelopment) • مدل نمونه­سازی حسین دهقان دانشکده فنی و مهندسی جم

  42. مدل آبشاری حسین دهقان دانشکده فنی و مهندسی جم

  43. مدل آبشاری (مزایا) • اگر اولين مرحله مدل آبشاری به خوبي انجام شده باشد ورودي درست به مرحله بعد مي­دهد و مي­توان انتظار داشت كه اين مرحله نيز به خوبي انجام شود. • ارائه اصول و تكنيك­هاي مناسب در اكثر مراحل مختلف اين مدل، انجام مراحل آن را آسان مي­كند. حسین دهقان دانشکده فنی و مهندسی جم

  44. مدل آبشاری (معایب) • در مدل آبشاري با وجوديكه مراحل اوليه بسيار مهم مي­باشند ولي عملاً توجه لازم به اين مرحله نمي­شود. • درصد هزينه ها براساس آمار: • فهم و تحليل خواسته ها 3% • تعيين مشخصات 3% • طراحي 5% • پياده سازي 7% • تست 15% • نگهداشت 67% حسین دهقان دانشکده فنی و مهندسی جم

  45. مدل آبشاری (معایب) • در مدل آبشاري استفاده­كننده بايد كليه خواسته­هاي خود را در مرحله اول صريحاً بيان كند. • بيان كليه خواسته­ها در مرحله اول توسط استفاده­كننده مشكل است • مشتری ممكن است بعضي از آنها را فراموش كند • ممكن است همه نيازها را نتواند مشخص كند و به طور كامل نداند. حسین دهقان دانشکده فنی و مهندسی جم

  46. مدل آبشاری (معایب) • مرحله تعیین خواسته توسط زبان طبيعي صورت مي­گيرد كه زبان طبيعي داراي ابهامات زيادي مي­باشد. • زبان مشتركي بين تحليل­گر و كاربر وجود ندارد بطوريكه كاربر نمي­داند تقاضاي چه امكاناتي را بكند و تحليل­گر نمي­داند چه سوالاتي را مطرح كند. • استفاده­كننده بايد صبور باشد. يك اجراي عملي از برنامه ها قابل مشاهده نيست تا اينكه پروژه به اتمام برسد. • در عمل بازگشت به عقبدر این مدلبه صرفه نيست. حسین دهقان دانشکده فنی و مهندسی جم

  47. مدل موازی حسین دهقان دانشکده فنی و مهندسی جم

  48. مدل موازی (ویژگی‌ها) • مدل موازی تلاش می­کند زمان طولانی که بین فازهای آنالیز و تحویل پروژه وجود دارد را کاهش دهد. • مهمترین ویژگی این مدل این است که زمان تحویل سیستم را کاهش می­دهد. • ممکن است زیر سیستم­ها کاملا از یکدیگر مستقل نباشند و باید بین زیر پروژه هماهنگی برقرار گردد. حسین دهقان دانشکده فنی و مهندسی جم

  49. مدل فاز بندی شده حسین دهقان دانشکده فنی و مهندسی جم

  50. مدل فازبندی شده (ویژگی‌ها) • مدل مبتنی بر فازبندی، یک سیستم را به نسخه­های مختلفی تقسیم­بندی می­کند. • این زیر نسخه­ها پشت سرهم آنالیز، طراحی و پیاده­سازی می­شوند. • مهم­ترین و اساسی­ترین نیازهای سیستم با اولین نسخه از سیستم همراه خواهد بود. • در این مدل، به سرعت یک سیستم برای کار کاربر آماده می­شود. • اشکال عمده این مدل • کاربران شروع به کار با سیستمیکه عمدا ناقص است، می­کنند. • تشخیص ویژگی­های مهم و مفید که در نسخه اول باید قرار گیرد، بسیار مشکل است. حسین دهقان دانشکده فنی و مهندسی جم

More Related