Presentation is loading. Please wait.

Presentation is loading. Please wait.

فصل 5 - مرور سريع UML برگرفته از کتاب

Similar presentations


Presentation on theme: "فصل 5 - مرور سريع UML برگرفته از کتاب"— Presentation transcript:

1 فصل 5 - مرور سريع UML برگرفته از کتاب
Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87

2 آزمايشگاه سيستم های همشمند
خلاصه دياگرام های UML 9 نوع دياگرام در UML وجود دارد. Class Diagram Object Diagram * Component Diagram Deployment Diagram Use case Diagram * Sequence Diagram Collaboration Diagram State chart Diagram Activity Diagram * Not Applicable for architecture description. آزمايشگاه سيستم های همشمند

3 آزمايشگاه سيستم های همشمند
… خلاصه دياگرام های UML برخی اجزای UML برای توصيف Runtime ، برخی برای Design/Build Time و برخی برای توصيف هر دو به کار ميروند. آزمايشگاه سيستم های همشمند

4 آزمايشگاه سيستم های همشمند
… خلاصه دياگرام های UML آزمايشگاه سيستم های همشمند

5 اجزای دياگرام های و دوره حيات آنها
Object (R) Class (B/R) Package (B) Sub-system (B) Layer (B) Component (R) Interface (B/R) Process (R) آزمايشگاه سيستم های همشمند

6 آزمايشگاه سيستم های همشمند
قراردادها يک نمونه دياگرام آزمايشگاه سيستم های همشمند

7 ... قراردادها General UML Features
Stereotype : مکانيزمی جهت ايجاد المان های جديد از طريق افزودن semantic ، constraint يا property (هايي) به المانهای اصلی UML . درون << >> يا با آيکون مخصوصی نشان داده ميشود. مثال: Subsystem يک Stereotyped Package است که آيکون خاص خود را دارد. آزمايشگاه سيستم های همشمند

8 ... قراردادها General UML Features
Tagged Value : امکان افزودن ليستی از property ها به يک المان. از ديد معماری نرم افزار، برای component ها، process ها، interface ها، thread ها، association ها، dependency ها و node ها مفيد است. نام و مقدار آن درون {} نوشته ميشود. آزمايشگاه سيستم های همشمند

9 ... قراردادها General UML Features
Multi-instance : نمايش خلاصه يک المان که در Runtime بيش از يک نمونه دارد. آزمايشگاه سيستم های همشمند

10 آزمايشگاه سيستم های همشمند
... قراردادها View Labels برچسبی شامل مشخصه های اصلی يک View شامل Title: Description of the view. Type: Based on the viewpoint name. Date: Last date updated. Responsible: Person(s) responsible for creating the view. آزمايشگاه سيستم های همشمند

11 آزمايشگاه سيستم های همشمند
دياگرام ها دياگرام هايي که ميتوانند در توسعه view های مختلف معماری نرم افزار استفاده شوند. آزمايشگاه سيستم های همشمند

12 Component instance diagram
component در اينجا به معنای component instance (زمان اجرا) استفاده ميشود. اين دياگرام کلاً مربوط به runtime است. برای Build/Design Time از دياگرام Subsystem استفاده ميکنيم. آزمايشگاه سيستم های همشمند

13 …Component instance diagram
آزمايشگاه سيستم های همشمند

14 Class and subsystem diagrams
تمرکز Class diagram روی گروهی از المانهای مدل مانند کلاس ها، بسته ها، زيرسيستم ها، موجوديتهای ديتابيس يا table های آن است. Subsystem Diagram گروهی از زيرسيستم ها و ارتباطات آنها را (از طريق اينترفيس ها) نشان ميدهد. کلاس های مهم و سيستم های خارجی هم نمايش داده ميشوند. آزمايشگاه سيستم های همشمند

15 …Class and subsystem diagrams
آزمايشگاه سيستم های همشمند

16 Interaction (sequence & collaboration) diagram
Interaction diagram نمونه هايي از المان های مدل و پيام های تبادلی ميان آنها را نشان ميدهد. به طور سنتی از Object استفاده ميشده اما نمونه المانهای ديگر هم قابل استفاده است. در معماری، تمرکز بر Component ها و نمونه process ها حائز اهميت است. آزمايشگاه سيستم های همشمند

17 آزمايشگاه سيستم های همشمند
Sequence diagram پيام ها ميان نمونه ها ممکن است همزمان يا غير همزمان باشند. آزمايشگاه سيستم های همشمند

18 Collaboration diagram
شبيه دياگرام sequence اما با وضوح بيشتر. مناسب برای تعداد نمونه ها و ارتباطات کم. آزمايشگاه سيستم های همشمند

19 آزمايشگاه سيستم های همشمند
Deployment diagram ارتباط ميان نودها، component های درون آنها و فرآيندها را نشان ميدهد. Process Diagram هم نوعی از اين دياگرام است که نودها و component ها در آن نيستند. آزمايشگاه سيستم های همشمند

20 آزمايشگاه سيستم های همشمند
Statechart diagram نمايش رفتار پويا (ديناميک) المان های سيستم است. در معماری، برای نمايش حالت component ها، فرآيند ها و thread ها به کار ميرود. برای کلاسهای اصلی سيستم هم قابل ارائه است. جهت انجام تست در معماری کاربرد دارد. مثال: حالات مختلف بخش هشدار در يک سيستم هشدار دهنده سخت افزاری. آزمايشگاه سيستم های همشمند

21 آزمايشگاه سيستم های همشمند
… Statechart Diagram آزمايشگاه سيستم های همشمند

22 آزمايشگاه سيستم های همشمند
Activity diagram نوعی از state diagram که جريان فعاليت های سيستم را نشان ميدهد. آزمايشگاه سيستم های همشمند

23 آزمايشگاه سيستم های همشمند
مديريت پيچيدگی کم کردن پيچيدگی، رمز موفقيت در توسعه سيستم های بزرگ است که بايد به صورت سازماندهی شده و با حفظ سازگاری انجام شود. ساده سازی صريح (Explicit) ارجح است، يعنی دياگرام ها بايد به وضوح بيان کننده ساده سازی های انجام شده روی آنها باشند. تمرکز هر دياگرام روی موضوع خاصی از سيستم باشد. آزمايشگاه سيستم های همشمند

24 استراتژی های مديريت پيچيدگی
Use case focused modeling Element focused modeling Level of details Controlling the number of models Use supplemental textual information آزمايشگاه سيستم های همشمند

25 Use case focused modeling
تمرکز روی يک use case يا سناريو (مسير خاصی از use case) برای توسعه معماری بسيار مفيد است چون تمام المان های درگير در اجرای يک use case را در بر ميگيرد. Interaction diagram روی يک سناريو متمرکز است. بقيه نمودارها هم با اين شيوه قابل توليد هستند. آزمايشگاه سيستم های همشمند

26 Element focused modeling
مثال: توليد يک view برای نمايش وابستگی های يک subsystem نمايش ارتباطات اصلی يک مجموعه خاص از المان های مدل (چند component ، چند subsystem يا چند object) آزمايشگاه سيستم های همشمند

27 آزمايشگاه سيستم های همشمند
Level of details گاهی بيان جزئيات از اهداف مورد نظر يک view نيست. مثلاً: در نمايش وابستگی اينترفيس subsystem ها، بيان وابستگی کافی است و جزئيات اينترفيس ها مد نظر نيست. بيان پارارمترهای متدها در بخش تحليل، مورد نياز نيست. آزمايشگاه سيستم های همشمند

28 Controlling the number of models
تعداد مدل ها با افزايش سايز سيستم به صورت تصاعدی افزايش مي يابد. توليد مدل به خودی خود هدف ما نيست. مدل سازی برای فهم و تکميل Design سيستم و نيز مستند سازی انجام ميشود. راه حل: اولويت بندی. مدل های exploratory ، موقت هستند. مدل های Documentation ، ماندگار و مهم تر هستند. کار با مدل های ناقص، در امر معماری نرم افزار مشکل آفرين است. تطابق مدل با کد: راه حل: مهندسی معکوس برای ارتباط دادن کد توليد شده به مدل. آزمايشگاه سيستم های همشمند

29 Use supplemental textual information
نمودارها به تنهايي مکانيزم مناسبی برای بيان اطلاعات پيچيده نيستند. استفاده از توضيحات و جداول نيز ضروری است. مثال: توصيف زيرسيستم ها، اينترفيس ها، اکتورها و ... کارآيي و ديگر ويژگی های نودها توضيح جزئيات sequence ها UML OCL برای بيان پيش شرط ها و پس شرطها توضيح حالت ها در يک state diagram آزمايشگاه سيستم های همشمند

30 آزمايشگاه سيستم های همشمند
Recommended Readings UML specification: UML Users Guide (Booch et al., 1999) آزمايشگاه سيستم های همشمند


Download ppt "فصل 5 - مرور سريع UML برگرفته از کتاب"

Similar presentations


Ads by Google