uml - homepage of vafa maihamimaihami.maad.ac.ir/teaching/software...

40
1 UML Unified Modeling Languge“

Upload: danghanh

Post on 24-May-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

1

UML“Unified Modeling Languge“

2

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

umlنمودارهای

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

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

case،state،interaction،...

فهرست

3

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

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

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

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

4

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

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

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

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

فوائد مدل

5

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

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

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

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

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

UMLچيست؟

6

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

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

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

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

.کردارائه

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

UMLتاریخچه

7

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

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

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

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

.روند

UMLدياگرام های

8

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

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

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

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

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

9

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

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

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

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

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

10

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

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

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

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

نحوه نمايش

11

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

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

(actor)کنشگر

نحوه نمایش

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

13

مثال

Incorrect

Correct

14

مثال

Incorrect

Correct

15

انواع روابط

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

associationرابطه 1

extendرابطه 2

includeرابطه 3

generalizationرابطه 4

16

ATMسيستم . مثال

17

مثال

18

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

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

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

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

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

19

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

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

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

20

Sequence Diagram(make a phone call)

Caller Phone Recipient

Picks up

Dial tone

Dial

Ring notification Ring

Picks up

Hello

21

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

22

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

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

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

23

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

24

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

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

کنند

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

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

25

State Diagrams

(Traffic light example)

Yellow

Red

Green

Traffic Light

State

Transition

Event

Start

26

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

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

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

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

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

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

27

28

29

Activity diagram

مثال

30

Class Diagram

Object Diagram

Component Diagram

Deployment Diagram

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

31

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

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

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

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

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

Account_Name

- Customer_Name

- Balance

+addFunds( )

#withDraw( )

+transfer( )

Name

Attributes

Operations

32

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

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

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

( :type)نوعBoolean

Long

Integer

String

Date

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

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

33

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

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

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

34

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

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

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

.شود

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

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

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

35

School Department

1…*

مثــال

Student

*

1…*

Composition

Aggregation

36

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

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

37

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

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

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

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

رابطه ی تعميم

38

مثال

39

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

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

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

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

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

40

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

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

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

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