1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture...
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture...
![Page 1: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/1.jpg)
1
UML - مرور سريع 5فصل
برگرفته از کتابLarge-Scale Software Architecture – Jeff Garland,
Richard Anthony
افشين المعی87بهار
![Page 2: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/2.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند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.
![Page 3: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/3.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند3
UML خالصه دياگرام های …
برخی اجزایUML برای توصيف Runtime ،
و برخی برای Design/Build Timeبرخی برای
توصيف هر دو به کار ميروند.
![Page 4: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/4.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند4
UML خالصه دياگرام های …Diagram Type
Build vs. Runtime
Elements
Class
B
Classes, Packages, Subsystems, Interrfaces, Database Tables, Database entities, Relations.
Component
R
Components, Interfaces, Ports, Relationships.
State
R
States, Sub-states, Transitions, events, Activities.
Activity
R
Activities, Objects, Processes.
Interaction
R
Objects, Components, Messages.
Deployment R
Nodes, Processes, Components, Threads.
![Page 5: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/5.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند5
اجزای دياگرام های و دوره حيات آنها
Object (R) Class (B/R) Package (B) Sub-system (B) Layer (B) Component (R) Interface (B/R) Process (R)
![Page 6: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/6.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند6
قراردادها
يک نمونه دياگرام
«subsystem»SubSystem1
«subsystem»SubSystem2Interface1
UML Comment - Part of the diagram
![Page 7: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/7.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند7
... قراردادهاGeneral UML Features
Stereotype مکانيزمی جهت ايجاد المان های جديد از : )هايي( property يا semantic ، constraintطريق افزودن
.UMLبه المانهای اصلی يا با آيکون مخصوصی نشان داده >> << درون
ميشود. :مثالSubsystem يک Stereotyped Package است که آيکون
خاص خود را دارد.
![Page 8: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/8.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند8
... قراردادهاGeneral UML Features
Tagged Value امکان افزودن :
ها به يک المان.propertyليستی از
از ديد معماری نرم افزار، برای
component ،ها process ،ها interface
ها، association ها، threadها،
dependency ها و node ها مفيد
است.
نوشته }{نام و مقدار آن درون
ميشود.
![Page 9: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/9.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند9
... قراردادهاGeneral UML Features
Multi-instance نمايش :
خالصه يک المان که در
Runtime بيش از يک
نمونه دارد.
a process a node
a component
Multiple Objects{Quantity = 5}
![Page 10: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/10.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند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.
![Page 11: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/11.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند11
دياگرام ها
دياگرام هايي که ميتوانند در توسعهview های مختلف معماری نرم افزار استفاده شوند.
![Page 12: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/12.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند12
Component instance diagram
توصيفcomponent ،های زمان اجرا ارتباطات، اينترفيس ها و پورت های آنها.
component در اينجا به معنای component instance )زمان اجرا( استفاده ميشود.
مربوط به \ است. برای runtimeاين دياگرام کالBuild/Design Time از دياگرام Subsystem
استفاده ميکنيم.
![Page 13: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/13.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند13
…Component instance diagram
![Page 14: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/14.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند14
Class and subsystem diagrams
تمرکزClass diagram روی گروهی از المانهای مدل مانند کالس ها، بسته ها، زيرسيستم ها،
های آن است.tableموجوديتهای ديتابيس يا Subsystem Diagram گروهی از زيرسيستم ها
و ارتباطات آنها را )از طريق اينترفيس ها( نشان ميدهد.
کالس های مهم و سيستم های خارجی هم نمايش داده ميشوند.
![Page 15: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/15.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند15
…Class and subsystem diagrams
«subsystem»SubSystem3
Class1 Class2
«subsystem»SubSystem2Interface3
«subsystem»SubSystem1
Interface2
Interface1
![Page 16: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/16.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند16
Interaction (sequence & collaboration) diagram
Interaction diagram نمونه هايي از المان های مدل و پيام های تبادلی ميان آنها را نشان
ميدهد. به طور سنتی ازObject استفاده ميشده اما نمونه
المانهای ديگر هم قابل استفاده است. در معماری، تمرکز برComponent ها و نمونه
process .ها حائز اهميت است
![Page 17: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/17.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند17
Sequence diagram
پيام ها ميان نمونهها ممکن است همزمان يا غير همزمان باشند.
ComponentInstance1 ComponentInstance2 ComponentInstance3
method 1
method 2 (parameter)
return
event 1
method 3Final event
![Page 18: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/18.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند18
Collaboration diagram
شبيه دياگرامsequence .اما با وضوح بيشتر .مناسب برای تعداد نمونه ها و ارتباطات کم
instance1instance2
1:method 1()2:method 2()
instance3
3: method 3(param1,param2)
![Page 19: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/19.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند19
Deployment diagram
،ارتباط ميان نودهاcomponent های
درون آنها و فرآيندها را نشان
ميدهد.Process Diagram
هم نوعی از اين دياگرام است که
نودها و component ها در
آن نيستند.
![Page 20: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/20.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند20
Statechart diagram
نمايش رفتار پويا )ديناميک( المان های سيستماست.
در معماری، برای نمايش حالتcomponent ها، فرآيند ها و thread.ها به کار ميرود
.برای کالسهای اصلی سيستم هم قابل ارائه است.جهت انجام تست در معماری کاربرد دارد مثال: حاالت مختلف بخش هشدار در يک سيستم هشدار
دهنده سخت افزاری.
![Page 21: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/21.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند21
… Statechart Diagram
State1
CompositeState1
event 1
State 3
event 2 / act [cond 1]
![Page 22: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/22.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند22
Activity diagram
نوعی ازstate diagram که جريان فعاليت های سيستم Process 3Process 2Process1را نشان ميدهد.
activity 1
activity 1activity 1
![Page 23: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/23.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند23
مديريت پيچيدگی
کم کردن پيچيدگی، رمز موفقيت در توسعه سيستمهای بزرگ است که بايد به صورت سازماندهی شده
و با حفظ سازگاری انجام شود. ساده سازی صريح(Explicit) ارجح است، يعنی
دياگرام ها بايد به وضوح بيان کننده ساده سازی های انجام شده روی آنها باشند.
.تمرکز هر دياگرام روی موضوع خاصی از سيستم باشد
![Page 24: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/24.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند24
استراتژی های مديريت پيچيدگی
Use case focused modeling Element focused modeling Level of details Controlling the number of models Use supplemental textual information
![Page 25: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/25.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند25
Use case focused modeling
تمرکز روی يکuse case يا سناريو )مسير ( use caseخاصی از
برای توسعه معماری بسيار مفيد است چون use caseتمام المان های درگير در اجرای يک
را در بر ميگيرد.Interaction diagram روی يک سناريو متمرکز
است. بقيه نمودارها هم با اين شيوه قابل توليد هستند.
![Page 26: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/26.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند26
Element focused modeling
مثال: توليد يکviewبرای نمايش وابستگی های يکsubsystem نمايش ارتباطات اصلی يک مجموعه خاص از
subsystem ، چند componentالمان های مدل )چند (objectيا چند
![Page 27: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/27.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند27
Level of details
گاهی بيان جزئيات از اهداف مورد نظر يکview:\ نيست. مثال
در نمايش وابستگی اينترفيسsubsystem ها، بيان وابستگی کافی است و جزئيات اينترفيس ها مد
نظر نيست. بيان پارارمترهای متدها در بخش تحليل، مورد
نياز نيست.
![Page 28: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/28.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند28
Controlling the number of models
تعداد مدل ها با افزايش سايز سيستم به صورت تصاعدیافزايش مي يابد.
.توليد مدل به خودی خود هدف ما نيست مدل سازی برای فهم و تکميلDesign سيستم و نيز مستند سازی
انجام ميشود..راه حل: اولويت بندی
مدل هایexploratory.موقت هستند ، مدل هایDocumentation.ماندگار و مهم تر هستند ،
کار با مدل های ناقص، در امر معماری نرم افزار مشکلآفرين است.
:تطابق مدل با کد راه حل: مهندسی معکوس برای ارتباط دادن کد توليد شده به
مدل.
![Page 29: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/29.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند29
Use supplemental textual information
نمودارها به تنهايي مکانيزم مناسبی برای بياناطالعات پيچيده نيستند.
استفاده از توضيحات و جداول نيز ضروریاست. مثال:
... توصيف زيرسيستم ها، اينترفيس ها، اکتورها وکارآيي و ديگر ويژگی های نودها توضيح جزئياتsequenceها UML OCLبرای بيان پيش شرط ها و پس شرطها توضيح حالت ها در يکstate diagram
![Page 30: 1 فصل 5 - مرور سريع UML برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony افشين لامعی بهار 87.](https://reader030.fdocuments.us/reader030/viewer/2022032522/56649d6a5503460f94a48eaa/html5/thumbnails/30.jpg)
افشين المعیhttp://ceit.aut.ac.ir/~lamei آزمايشگاه سيستم های همشمند30
Recommended Readings
UML specification: www.omg.org www.uml.org
UML Users Guide (Booch et al., 1999)