Download presentation
Presentation is loading. Please wait.
1
1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87
2
افشين لامعی afshinlamei@yahoo.com 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
افشين لامعی afshinlamei@yahoo.com 3 آزمايشگاه سيستم های همشمند … خلاصه دياگرام های UML برخی اجزای UML برای توصيف Runtime ، برخی برای Design/Build Time و برخی برای توصيف هر دو به کار ميروند.
4
افشين لامعی afshinlamei@yahoo.com 4 آزمايشگاه سيستم های همشمند … خلاصه دياگرام های UML
5
افشين لامعی afshinlamei@yahoo.com 5 آزمايشگاه سيستم های همشمند اجزای دياگرام های و دوره حيات آنها Object (R) Class (B/R) Package (B) Sub-system (B) Layer (B) Component (R) Interface (B/R) Process (R)
6
افشين لامعی afshinlamei@yahoo.com 6 آزمايشگاه سيستم های همشمند قراردادها يک نمونه دياگرام
7
افشين لامعی afshinlamei@yahoo.com 7 آزمايشگاه سيستم های همشمند... قراردادها General UML Features Stereotype : مکانيزمی جهت ايجاد المان های جديد از طريق افزودن semantic ، constraint يا property ( هايي ) به المانهای اصلی UML. درون > يا با آيکون مخصوصی نشان داده ميشود. مثال : Subsystem يک Stereotyped Package است که آيکون خاص خود را دارد.
8
افشين لامعی afshinlamei@yahoo.com 8 آزمايشگاه سيستم های همشمند... قراردادها General UML Features Tagged Value : امکان افزودن ليستی از property ها به يک المان. از ديد معماری نرم افزار، برای component ها، process ها، interface ها، thread ها، association ها، dependency ها و node ها مفيد است. نام و مقدار آن درون {} نوشته ميشود.
9
افشين لامعی afshinlamei@yahoo.com 9 آزمايشگاه سيستم های همشمند... قراردادها General UML Features Multi-instance : نمايش خلاصه يک المان که در Runtime بيش از يک نمونه دارد.
10
افشين لامعی afshinlamei@yahoo.com 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
افشين لامعی afshinlamei@yahoo.com 11 آزمايشگاه سيستم های همشمند دياگرام ها دياگرام هايي که ميتوانند در توسعه view های مختلف معماری نرم افزار استفاده شوند.
12
افشين لامعی afshinlamei@yahoo.com 12 آزمايشگاه سيستم های همشمند Component instance diagram توصيف component های زمان اجرا، ارتباطات، اينترفيس ها و پورت های آنها. component در اينجا به معنای component instance ( زمان اجرا ) استفاده ميشود. اين دياگرام کلاً مربوط به runtime است. برای Build/Design Time از دياگرام Subsystem استفاده ميکنيم.
13
افشين لامعی afshinlamei@yahoo.com 13 آزمايشگاه سيستم های همشمند …Component instance diagram
14
افشين لامعی afshinlamei@yahoo.com 14 آزمايشگاه سيستم های همشمند Class and subsystem diagrams تمرکز Class diagram روی گروهی از المانهای مدل مانند کلاس ها، بسته ها، زيرسيستم ها، موجوديتهای ديتابيس يا table های آن است. Subsystem Diagram گروهی از زيرسيستم ها و ارتباطات آنها را ( از طريق اينترفيس ها ) نشان ميدهد. کلاس های مهم و سيستم های خارجی هم نمايش داده ميشوند.
15
افشين لامعی afshinlamei@yahoo.com 15 آزمايشگاه سيستم های همشمند …Class and subsystem diagrams
16
افشين لامعی afshinlamei@yahoo.com 16 آزمايشگاه سيستم های همشمند Interaction (sequence & collaboration) diagram Interaction diagram نمونه هايي از المان های مدل و پيام های تبادلی ميان آنها را نشان ميدهد. به طور سنتی از Object استفاده ميشده اما نمونه المانهای ديگر هم قابل استفاده است. در معماری، تمرکز بر Component ها و نمونه process ها حائز اهميت است.
17
افشين لامعی afshinlamei@yahoo.com 17 آزمايشگاه سيستم های همشمند Sequence diagram پيام ها ميان نمونه ها ممکن است همزمان يا غير همزمان باشند.
18
افشين لامعی afshinlamei@yahoo.com 18 آزمايشگاه سيستم های همشمند Collaboration diagram شبيه دياگرام sequence اما با وضوح بيشتر. مناسب برای تعداد نمونه ها و ارتباطات کم.
19
افشين لامعی afshinlamei@yahoo.com 19 آزمايشگاه سيستم های همشمند Deployment diagram ارتباط ميان نودها، component های درون آنها و فرآيندها را نشان ميدهد. Process Diagram هم نوعی از اين دياگرام است که نودها و component ها در آن نيستند.
20
افشين لامعی afshinlamei@yahoo.com 20 آزمايشگاه سيستم های همشمند Statechart diagram نمايش رفتار پويا ( ديناميک ) المان های سيستم است. در معماری، برای نمايش حالت component ها، فرآيند ها و thread ها به کار ميرود. برای کلاسهای اصلی سيستم هم قابل ارائه است. جهت انجام تست در معماری کاربرد دارد. مثال : حالات مختلف بخش هشدار در يک سيستم هشدار دهنده سخت افزاری.
21
افشين لامعی afshinlamei@yahoo.com 21 آزمايشگاه سيستم های همشمند … Statechart Diagram
22
افشين لامعی afshinlamei@yahoo.com 22 آزمايشگاه سيستم های همشمند Activity diagram نوعی از state diagram که جريان فعاليت های سيستم را نشان ميدهد.
23
افشين لامعی afshinlamei@yahoo.com 23 آزمايشگاه سيستم های همشمند مديريت پيچيدگی کم کردن پيچيدگی، رمز موفقيت در توسعه سيستم های بزرگ است که بايد به صورت سازماندهی شده و با حفظ سازگاری انجام شود. ساده سازی صريح (Explicit) ارجح است، يعنی دياگرام ها بايد به وضوح بيان کننده ساده سازی های انجام شده روی آنها باشند. تمرکز هر دياگرام روی موضوع خاصی از سيستم باشد.
24
افشين لامعی afshinlamei@yahoo.com 24 آزمايشگاه سيستم های همشمند استراتژی های مديريت پيچيدگی Use case focused modeling Element focused modeling Level of details Controlling the number of models Use supplemental textual information
25
افشين لامعی afshinlamei@yahoo.com 25 آزمايشگاه سيستم های همشمند Use case focused modeling تمرکز روی يک use case يا سناريو ( مسير خاصی از use case) برای توسعه معماری بسيار مفيد است چون تمام المان های درگير در اجرای يک use case را در بر ميگيرد. Interaction diagram روی يک سناريو متمرکز است. بقيه نمودارها هم با اين شيوه قابل توليد هستند.
26
افشين لامعی afshinlamei@yahoo.com 26 آزمايشگاه سيستم های همشمند Element focused modeling مثال : توليد يک view برای نمايش وابستگی های يک subsystem نمايش ارتباطات اصلی يک مجموعه خاص از المان های مدل ( چند component ، چند subsystem يا چند object)
27
افشين لامعی afshinlamei@yahoo.com 27 آزمايشگاه سيستم های همشمند Level of details گاهی بيان جزئيات از اهداف مورد نظر يک view نيست. مثلاً : در نمايش وابستگی اينترفيس subsystem ها، بيان وابستگی کافی است و جزئيات اينترفيس ها مد نظر نيست. بيان پارارمترهای متدها در بخش تحليل، مورد نياز نيست.
28
افشين لامعی afshinlamei@yahoo.com 28 آزمايشگاه سيستم های همشمند Controlling the number of models تعداد مدل ها با افزايش سايز سيستم به صورت تصاعدی افزايش مي يابد. توليد مدل به خودی خود هدف ما نيست. مدل سازی برای فهم و تکميل Design سيستم و نيز مستند سازی انجام ميشود. راه حل : اولويت بندی. مدل های exploratory ، موقت هستند. مدل های Documentation ، ماندگار و مهم تر هستند. کار با مدل های ناقص، در امر معماری نرم افزار مشکل آفرين است. تطابق مدل با کد : راه حل : مهندسی معکوس برای ارتباط دادن کد توليد شده به مدل.
29
افشين لامعی afshinlamei@yahoo.com 29 آزمايشگاه سيستم های همشمند Use supplemental textual information نمودارها به تنهايي مکانيزم مناسبی برای بيان اطلاعات پيچيده نيستند. استفاده از توضيحات و جداول نيز ضروری است. مثال : توصيف زيرسيستم ها، اينترفيس ها، اکتورها و... کارآيي و ديگر ويژگی های نودها توضيح جزئيات sequence ها UML OCL برای بيان پيش شرط ها و پس شرطها توضيح حالت ها در يک state diagram
30
افشين لامعی afshinlamei@yahoo.com 30 آزمايشگاه سيستم های همشمند Recommended Readings UML specification: www.omg.org www.uml.org UML Users Guide (Booch et al., 1999)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.