Top Banner
1 UML Unified Modeling Languge“
40

UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment...

May 24, 2018

Download

Documents

danghanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

1

UML“Unified Modeling Languge“

Page 2: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

2

آنفوائدوسازیمدلمفهومآنتاریخچهوumlباآشناییumlفازهای

umlنمودارهای

،کلیطوربهوافزارینرمسیستمیکتولیدبرایاولیهگامهایفهمیدن

class،sequence،useهایدیاگرامجملهازumlمهمنمودارهایتحلیلوایجادتواناییو

case،state،interaction،...

فهرست

Page 3: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

3

محیطازمتفاوتهایاندازهبامحیطیکسازیشبیهیعنیکلیطوربهسازیمدل•شدهمدلمحیطمصالحوموادجنسازمتمایزمصالحیومواداحتماالوواقعی

کیازکهاستافزارنرمفرایندازسادهنمایشیکافزارنرمفرایندسازیمدل•چهسیکچهاینکه)فعالیت–نقشدیدگاهازمثال.شودمیارائهبخصوصدیدگاه(دهدانجامراکاری

سازیمدلهایروشواقعدرRUP,مانندافزارنرمتولیدهایروشافزار،نرمدر•کهباشدمیمدلساختبرایمصالحینیازمندطبیعتاسازیمدلروشهر.باشندمیسازیمدلهایزبانمدل،تولیدبرایالزممصالحافزارینرمسازیمدلهایروشدر.باشندمی

چيست؟( Modelling)سازی مدل

Page 4: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

4

باشیم بهتر درك کنیمسیستمى را که در حال ساختن آن مىساختار و رفتار سیستم را مشخص کنیم

معمارى سیستم خود را کنترل کنیمکنندند مىمدلها تصمیماتى را که در جهت کاربردى سیستم باید گرفته شوند مست

کاربران تصویرى ازمحصول نهایى را مشاهده کنندریسکهاى پروژه را مدیریت کنیم

را در سیستم داشته باشیمReuseامکان

فوائد مدل

Page 5: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

5

•Umlاستزاریافنرمسیستمیکسازیمستندوساختسازی،مشخصبرایگراشیزبانی

•Umlاستانداردفرایندیکنهاستاستانداردسازیمدلزبانیک

•Umlافرادیادگیریوتجربیاتبلکه.دهدنمیارائهایتوصیههیچنمودارهاایجادبرایدهدمیکنندگاناستفادهبهرانمودارهاکدامازاستفادهتشخیصکهاست

•Umlبتوانندرانکاربتااستگردیدهطراحیایگونهبهامااستودقیقیکاملساختاردارای

کننداضافهآنبههاییبخشخودهاینیازبراساس

UMLچيست؟

Page 6: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

6

•Unified Modelling Languageشرکتوسیلهبه1995درسالکهاستسازیمدلزبانیکRationalشدمعرفی.

ارائهافزارنرمتولیدگرائیشیهایروشتدریجبهمیالدی80دههابتدایدرگرائیشیمفاهیمارائهازپس•.کرداشاره.…OMT,BOOCH,OOSEبهتوانمیهاروشاینترینمهماز.گردید

معتبرترینکنندگانارائهازنفرسهگردآوریباRationalشرکتفراگیراستانداردزبانیکارائههدفبا•Irarیعنیگراشیهایروش jacobsonروشمبدعOOSE,BOOCHنام،همینباروشیمبدع

RambaughروشمبدعOMTنامبهاستانداردزبانیکالذکر،فوقروشسهقدرتنقاطاخذباوUML

.کردارائه

Object)سویاززباناین،ارائهازپس• Managment Group)،پذیرفتهجهانیاستانداردیکعنوانبه.استمطرحافزارنرمدنیایدرسازیمدلزبانقدرتمندترینعنوانبهحاضرحالدروشد

UMLتاریخچه

Page 7: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

7

UMLازکیهر.نمایدمیاستفادهدیاگراممتفاوتیانواعازوبودهویژوالابزاریکدیدگاههایازراافزارینرمسیستمیکمشاهدهامکان،UMLهایدیاگرامقرارکنندگانپیادهاختیاردرAbstractionمتفاوتدرجاتبهتوجهباومتفاوت

:ازعبارتندUMLهایدیاگرام.دهدمی

رفتارینمودارهای.روندیمکاربهسیستمرفتاریوپویاهایجنبهسازیمدلمنظوربهنمودارهانوعاین

ساختارینمودارهایمیارکبهسیستمساختاریوثابتهایجنبهسازیمدلمنظوربهنمودارهانوعاین

.روند

UMLدياگرام های

Page 8: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

8

این گونه نمودار ها با استفاده از اجزای خود بر هم کنش اشياء درون سيستم را نشان ميکنندمي توصيفدهند و رفتار سيستم را

(use case diagram)نمودار مورد کاربرد (intraction diagram)نمودار تعامل

(sequence diagram)نمودار ترتيب -(collaboration diagram)نمودار همکاری -

(State diagram)الت حنمودار (activity diagram)نمودار فعاليت

نمودار های رفتاری

Page 9: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

9

تم هایي از سيستم که چه کساني با چه سيسایناین نمودار عملکرد سيستم را نشان مي دهد و ظارتي از سيستم و چه انتچگونه است ن ها با سيستم آارتباط. هستندمورد نظر در ارتباط

.شدن آن هاوردهآدر این نمودار هدف تعيين نياز ها است نه تعيين چگونگي بر .دارند

:بخش است3شامل use caseنمودارuse)کاربردمورد case)

(actor)کنشگر(association)ارتباطيخط

(Use Case Diagram)نمودار مورد کاربرد

Page 10: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

10

.یکي از نيازمندی های سيستم درج مي شودuse caseدر ه ملموس و سيستم جهت در اختيار قرار دادن یک نتيجهمجموعه ای از عمليات متوالي ک

.مورد نظر کنشگر انجام مي دهد

.در واقع مورد کاربرد نشان دهنده رفتاری از سيستم یا زیر سيستم است

(use case)مورد کاربرد

نحوه نمايش

Page 11: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

11

ودنقشي که کاربر در ارتباط با سيستم ایفا ميکند، کنشگر ناميده مي ش.آغاز کننده فعاليتي در سيستم استکنشگر

در اینجا توجه به نقش کاربر است و نه شخص کاربرسيستم محسوب ميشوندactorکليه کاربران از جمله سایر سيستم ها

(actor)کنشگر

نحوه نمایش

Page 12: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

12

مثال

Library System

Borrow

Order Title

Fine Remittance

ClientEmployee

Supervisor

• A generalized description of how a system will be used.

• Provides an overview of the intended functionality of the system

Boundary

ActorUse Case

Page 13: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

13

مثال

Incorrect

Correct

Page 14: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

14

مثال

Incorrect

Correct

Page 15: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

15

انواع روابط

نحوه نمايش نام رابطه

associationرابطه 1

extendرابطه 2

includeرابطه 3

generalizationرابطه 4

Page 16: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

16

ATMسيستم . مثال

Page 17: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

17

مثال

Page 18: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

18

.کندمييفوصترفتارینظرازرااشياءازایمجموعههمکاریوتعاملچگونگي

بيناميپيارتباطیاباشدکاربرموردیکاشياءرفتارتواندميشودميمدلکهرفتاریباشدسيستمدیگرکالساشياءباکالسیکازشيیک

interaction)تعاملنمودار diagram)استقسم2بر:(sequence diagram)نمودار ترتيب

(collaboration diagram)نمودار همکاری

(intraction diagram)نمودار تعامل

Page 19: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

19

.رفتار سيستم را مدل ميکند(sequence diagram)نمودار ترتيب .تاکيد در این نمودار بر زمان و ترتيب ارسال پيام ها است

.ميکنندبرقرارارتباطهمباپيامارسالبااشياءازایمجموعه

(sequence diagram)نمودار ترتيب

Page 20: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

20

Sequence Diagram(make a phone call)

Caller Phone Recipient

Picks up

Dial tone

Dial

Ring notification Ring

Picks up

Hello

Page 21: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

21

نهنمودار ترتيب گرفتن کتاب از کتابخا. مثال

Page 22: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

22

collaboration)همکارینمودار diagram)،الارساشياءرابطهبرکهاستيتعاملنمودار

.داردتاکيدپيامکنندهدریافتوکنندهدهدمينمایشدیگرقالبيدررانموداراطالعاتهمان

(collaboration diagram)نمودار همکاری

Page 23: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

23

تابخانهنمودار همکاری گرفتن کتاب از ک. مثال

Page 24: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

24

.نموداری برای مدل سازی رفتاری سيستم است، التحنمودار رفتار را مي توان به صورت واکنش در مقابل رویداد مشخص کرد

هر رویداد موثر موجب تغيير حالت شي از حالت کنوني به حالت دیگر مي شوددر واقع یک گراف است که گره های آن را حالت مختلف شي مشخص مي الت حنمودار

کنند

.رویداد ها موجب گذر از یک حالت به حالت دیگر مي شود

(State diagram)الت حنمودار

Page 25: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

25

State Diagrams

(Traffic light example)

Yellow

Red

Green

Traffic Light

State

Transition

Event

Start

Page 26: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

26

ياده سازی،فعاليت عملي است که به وسيله انسان یا کامپيوتر انجام ميشود و در دیدگاه پ.استمتد

فعاليت نمودار فعاليت یک فلوچارت است که برای نمایش جریان کنترل از یک فعاليت به.دیگر به کار مي رود

.استstate diagramاز بسياری جهات شبيه نمودار فعاليت برای نمایش جریان کار و نمایش رفتاری که پردازش های موازی دارند

.مناسب استا تقدم در این نمودار صرف نظر از اینکه فاعل رفتار چه کسي است،ميتوان رفتار را به خوبي ب

.شرط های الزم نمایش دادبيانو تاخّر و

(activity diagram)نمودار فعاليت

Page 27: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

27

Page 28: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

28

Page 29: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

29

Activity diagram

مثال

Page 30: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

30

Class Diagram

Object Diagram

Component Diagram

Deployment Diagram

نمودارهاي ساختاري

Page 31: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

31

.مرکزیت با نمودار کالس استobject-orientedدر روش ا را نمایش مي نمودار کالس انواع اشياء درون سيستم و انواع مختلف ارتباطات ساختاری آنه

.دهد:عناصر یک نمودار کالس عبارتند از

کالس ها-روابط بين کالس ها-

:کالس خود شامل بخش های زیر است(Attributes)صفات -(Operations)اعمال -

(Class Diagram)نمودار كالس

Account_Name

- Customer_Name

- Balance

+addFunds( )

#withDraw( )

+transfer( )

Name

Attributes

Operations

Page 32: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

32

:قاعده ی زیر بکار مي رودUMLبرای بيان صفات یک کالس در Visibility name [multiplicity]:type=initial-value

( :Visibility)دید+دید عمومي

#دید محافظت شده -دید خصوصي

( :type)نوعBoolean

Long

Integer

String

Date

OCLا در انواع دیگری از نوع وجود دارد که تعاریف، قواعد و دستورالعمل بکارگيری آنه.موجود است

(initial-value)مقدار اوليه در صفات

Page 33: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

33

(Association)رابطه ی انجمني (Aggregation)رابطه ی تجمع -(Composition)رابطه ی ترکيب -

(Dependency)رابطه ی وابستگي(Generalization)رابطه ی تعميم

روابط بين کالس ها

Page 34: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

34

رابطه ی انجمني

:Aggregationرابطه ی .یک حالت خاص از رابطه ی انجمني است-ود مي آورد از زماني که بخواهيم نشان دهيم که اجتماع چند شيء یک شيء کالن تر بوج-

.این نوع رابطه استفاده مي کنيم.در صورت از بين رفتن کالس، کالس های جزء از بين نمي روند-کل برقرار ارتباط کالس های دیگر با کالس جزء مي تواند بدون ارتباط و دخالت کالس-

.شود

:Compositionرابطه ی عالوه بر مفهوم کلي رابطه تجمع که از اجتماع چند شيء یک شيء کلي تر -

ئي اش نيز از تشکيل مي شود، بيانگر آن است که با از بين رفتن شيء کلي تر کليه اشياء جز.بين مي رود

هر کالس که بخواهد با کالس های جزء از یک کالس کل ارتباط برقرار کند، -.بدون واسطه و دخالت کالس کل این امر امکان پذیر نيست

Page 35: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

35

School Department

1…*

مثــال

Student

*

1…*

Composition

Aggregation

Page 36: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

36

.بيان کننده نوعي وابستگي بين دو کالس است

رابطه‌ي وابستگي

Page 37: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

37

.برای خالصه سازی در بيان صفات و اعمال استفاده مي شود.دارای خواص توارث و جایگزیني است

ث مي برند کالس های تخصيص همه صفات،اعمال و ارتباطات کالس تعميم را به ار: توارث.و مي توانند دارای صفات،اعمال و ارتباطات خاص خود باشند

عميم وجود هر کالس یا شيء تخصيص مي تواند در هر جا که کالس یا شيء ت: جایگزیني

.دارد، بجای آن بنشيند

رابطه ی تعميم

Page 38: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

38

مثال

Page 39: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

39

.دهدمينشانزمانازاینقطهدرراسيستمدروناشياءوضعيتو(شيء)کالسنمونهترتيببهارتباطاتوکالسبجایکهاستکالسنموداریکمشابهکامال

.شودميرسمارتباطنمونهياءاشارتباطاتنحوه یازراخاصيوضعيتتوانميکالسنمودارهایصحتکنترلبرای

!نهیاداریمتباطيارچنيننيزکالسنموداردرآیاکهببينيمتاکردایجادنمودارشبوسيله یميکنيم،نبياراخاصيکالسازشيءیکخواهيمميفقطونباشدمهمشيءنامکهحالتيدر

.کردذکرراکالسنامتنهاتوان

(Object Diagram)نمودار ش يء

Page 40: UML - Homepage Of Vafa Maihamimaihami.maad.ac.ir/teaching/Software Eng/UML.pdfهتفریذپیناهجدرادناتساکیناونعهب،)Object Managment Group(یوسزانابزنیا،هئارازاسپ

40

خت افزار هر یک از قطعات نرم افزاری که کل سيستم را مي سازند، چگونه روی س•.ها توزیع مي شوند

. عنصری سخت افزاری و فيزیکي است که در زمان اجرا وجود دارد: گره•...ناطيسيپروسسورها،دستگاه های جانبي و سخت افزارهایي نظير چاپگر،نوار مغ

.یک گره مي تواند همانند کالس دارای صفات و متد باشد•

(Deployment Diagram) ( گسترش)نمودار استقرار