Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 فصل 8 - طراحي زيرسيستم ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي هوشمند بهار.

Similar presentations


Presentation on theme: "1 فصل 8 - طراحي زيرسيستم ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي هوشمند بهار."— Presentation transcript:

1 1 فصل 8 - طراحي زيرسيستم ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي هوشمند بهار 86

2 فرنوش گلشن Farnoush.golshan@gmail.com 2 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها استاندارد Fowler  Package ها ابزار حياتي سيستم هاي بزرگ هستند. هرگاه Class Diagram اي در صفحه A4 نگنجيد، آن را در قالب package پياده سازي کنيد.  پيشنهاد Garland استفاده از زيرسيستم به جاي package به علت محدوديت کمتر است.  تقسيم بندي کلاس ها به زيرسيستم ها و مديريت وابستگي هاي بين آنها، تمرکز اصلي و کليدي معماري نرم افزار است.

3 فرنوش گلشن Farnoush.golshan@gmail.com 3 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Terminology  Package  سيستم  زيرسيستم

4 فرنوش گلشن Farnoush.golshan@gmail.com 4 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Package  مجموعه اي از Model Elements Classes Interfaces Components Nodes  Hidden Vs. Visible Collaborations Use cases Other packages

5 فرنوش گلشن Farnoush.golshan@gmail.com 5 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها سيستم “A representation of the entire scope of the development effort.” سيستم را در UML با Stereotype package نمايش مي دهيم.

6 فرنوش گلشن Farnoush.golshan@gmail.com 6 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها زيرسيستم  بخشي از سيستم  مجموعه اي از المان هاي مرتبط بهم که مي توانند بطور مستقل در نظر گرفته شوند.  واحد تخصيص واحدهاي کاري به تيم ها  واحد جداول زمان بندي پروژه  واحد توليد، تست، تحويل  High Cohesion  Low Coupling

7 فرنوش گلشن Farnoush.golshan@gmail.com 7 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Layers  يکي از روشهاي abstract ديدن سيستم “Layers decompose the function of a software system into clearly defined groups where functions of the higher layers depend on functions of the lower layer.”  Strict Layering  Relaxed layering  Inheritance across layering

8 فرنوش گلشن Farnoush.golshan@gmail.com 8 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها فوايد Layering  افزايش قابليت Portability معماري  کم حجم نمودن نرم افزار  تسهيل Communication  مخفي نمودن جزئيات

9 فرنوش گلشن Farnoush.golshan@gmail.com 9 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها مدل کردن زيرسيستم ها، Interface ها و Layer ها  زيرسيستم و layer ابزار اصلي معمار نرم افزار است.  decompose کردن نرم افزار به ايجاد وابستگي مي انجامد.  مديريت وابستگي ها و توليد Interface از وظايف اصلي معمار نرم افزار است.  وابستگي براي Changeability, Testability ايجاد اشکال مي نمايد.

10 فرنوش گلشن Farnoush.golshan@gmail.com 10 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Subsystem Interface Dependency Viewpoint

11 فرنوش گلشن Farnoush.golshan@gmail.com 11 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Example1 - Subsystem Interface Dependency Viewpoint

12 فرنوش گلشن Farnoush.golshan@gmail.com 12 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Example2 - Subsystem Interface Dependency Viewpoint

13 فرنوش گلشن Farnoush.golshan@gmail.com 13 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها توسعه Subsystem Interface Dependency Viewpoint با Layer ها

14 فرنوش گلشن Farnoush.golshan@gmail.com 14 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Subsystem Interface Dependency Viewpoint (Scenario)

15 فرنوش گلشن Farnoush.golshan@gmail.com 15 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Subsystem Interface Dependency Viewpoint (Top- Level)

16 فرنوش گلشن Farnoush.golshan@gmail.com 16 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Layered Subsystem Viewpoint

17 فرنوش گلشن Farnoush.golshan@gmail.com 17 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Layering Semantics – Formal and Relaxed

18 فرنوش گلشن Farnoush.golshan@gmail.com 18 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Layered Subsystem Viewpoint - Example

19 فرنوش گلشن Farnoush.golshan@gmail.com 19 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Layered Subsystem Viewpoint - Example

20 فرنوش گلشن Farnoush.golshan@gmail.com 20 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Mapping Subsystems and Layers to Implementation

21 فرنوش گلشن Farnoush.golshan@gmail.com 21 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Direct Reflection in Source Code #include “foundation/date-time/date.hpp” Vs. #include “date.hpp”

22 فرنوش گلشن Farnoush.golshan@gmail.com 22 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Subsystems Vs. Components  Component ها اجزاي run-time هستند.  Subsystem ها اجزاي built-time هستند.  زيرسيستم پياده کننده Component است.  هر Component يک زير سيستم متناظر دارد.  Component نتيجه ساخت، نصب و اجراي يک زيرسيستم است.  يک زيرسيستم مي تواند يک يا چند Component را پياده سازي کند.

23 فرنوش گلشن Farnoush.golshan@gmail.com 23 آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab) طراحي زيرسيستم ها Subsystems Vs. Components


Download ppt "1 فصل 8 - طراحي زيرسيستم ها برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony فرنوش گلشن آزمايشگاه سيستم هاي هوشمند بهار."

Similar presentations


Ads by Google