Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.