slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
UML PowerPoint Presentation
Download Presentation
UML

Loading in 2 Seconds...

play fullscreen
1 / 53

UML - PowerPoint PPT Presentation


  • 149 Views
  • Uploaded on

UML. “ U nified M odeling L anguge“. اهداف ارائه. مفهوم مدل سازی و فوائد آن آشنایی با uml و تاریخچه آن فازهای uml نمودارهای uml و به طور کلی ، فهمیدن گامهای اولیه برای تولید یک سیستم نرم افزاری

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'UML' - makaio


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

UML

“Unified Modeling Languge“

slide2

اهداف ارائه

  • مفهوم مدل سازیو فوائد آن
  • آشنایی با uml و تاریخچه آن
  • فازهای uml
  • نمودارهای uml
  • و به طور کلی ،
  • فهمیدن گامهای اولیه برای تولید یک سیستم نرم افزاری
  • وتوانایی ایجاد و تحلیل نمودارهای مهم uml از جمله دیاگرام های class، sequence، use case،state، interaction، ...
slide3

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

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

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

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

slide4

فوائد مدل

  • سیستمى را كه در حال ساختن آن مى‏باشیم بهتر درك كنیم
  • ساختار و رفتار سیستم را مشخص كنیم
  • معمارى سیستم خود را كنترل كنیم
  • مدلها تصمیماتى را كه در جهت كاربردى سیستم باید گرفته شوند مستند مى‏كنند
  • كاربران تصویرى ازمحصول نهایى را مشاهده كنند
  • ریسكهاى پروژه را مدیریت كنیم
  • امكانReuseرا در سیستم داشته باشیم
slide5

UML چيست؟

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

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

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

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

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

slide6

تاریخچه UML

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

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

با هدف ارائه يك زبان استاندارد فراگير شركت Rational با گردآوری سه نفر از ارائه‌كنندگان معتبرترين روش‌های شی‌گرا يعنی Irar jacobson مبدع روش OOSE,BOOCH مبدع روشی با همين نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوق‌الذكر، يك زبان استاندارد به نامUML ارائه كرد.

پس از ارائه، اين زباناز سوی (Object Mamgement Group)، به عنوان يك استاندارد جهانیپذيرفته شد و در حال حاضر به عنوان قدرتمندترين زبان مدل‌سازی در دنيای نرم‌افزار مطرح است.

slide7

فازهای UML

گرچه uml مستقل از فرایند است ولی ایجاد کنندگان آن فرایندی را طراحی کرده اند که به طور کامل از uml پشتیبانی می کند. عموما هر فرایندی شامل فازهای زیر است :

  • آنالیز نیازها(Requirement Analysis)
  • آنالیز (Analysis)
  • طراحی (Design)
  • پیاده سازی (Implementation)
  • تست (Test)
slide8

آنالیز نیازها(Requirement Analysis)

در uml، use caseها هستند که نیازمندی های مشتری را توصیف می کنند.

Actor ها و use caseها با ارتباطات مدل می شوند.

هرuse case به صورت متنی نیازمندی های مشتری را توضیح می دهد. چه چیزهایی مشتری از سیستم توقع دارد بدون اینکه کوچکترین اطلاعی در مورد پیاده سازی برنامه داشته باشد.

slide9

آنالیز (Analysis)

در این فاز کلاسها و اشیاء اولیه که در دامنه مسئله حضور دارند تهیه می شوند.

همکاری کلاسها برای اجرای use caseها توضیح داده می شود.

در آنالیز فقط کلاس هایی که در دامنه مسئله (مفاهیم دنیای واقعی) قرار دارند به کلاسهایی تکنیکی که در سیستمهای نرم افزاری مثل پایگاه داده و...تعریف می شوند مدل میشوند.

slide10

طراحی (Design)

در فاز طراحی، نتیجه آنالیز به راه حل تکنیکی ختم می شود.

کلاسهای جدید به مدل اضافه می شوند.

نتیجه طراحی در فاز ساختاری این است که وارد جزئیات می شود و مدلها را آماده برای پیاده سازی می کند.

slide11

(Implementation) پیاده سازی

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

فاز آنالیز و طراحی بهتر است از لحاظ ذهنی به کد توجه نشود.

slide12

(Test) تست

پس ازاتمام فازهای مذکوربرنامه را تست می کنیم عیوب آن را مشخص می کنیم و به عقب بر می گردیم.

این فاز دو یا چند بار تکرار می شود تا برنامه به کمال مطلوب برسد.

slide13

دياگرام های UML

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

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

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

  • نمودارهاي رفتاري

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

slide14

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

  • Class Diagram
  • Object Diagram
  • Component Diagram
  • Deployment Diagram
slide15

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

در روش object-oriented مركزيت با نمودار كلاس است.

نمودار كلاس انواع اشياء درون سيستم و انواع مختلف ارتباطات ساختاري آنها را نمايش مي دهد.

عناصر يك نمودار كلاس عبارتند از:

-كلاس ها

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

كلاس خود شامل بخش هاي زير است:

-صفات (Attributes)

-اعمال (Operations)

slide16
براي بيان صفات يك كلاس در UML قاعده‌ي زير بكار مي رود:

Visibility name [multiplicity]:type=initial-value

  • ديد(Visibility) :

ديد عمومي +

ديد محافظت شده #

ديد خصوصي -

  • نوع(type) :

Boolean

Long

Integer

String

Date

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

  • مقدار اوليه در صفات(initial-value)
slide17
براي بيان اعمال يك كلاس طبق UML قاعده زير بكار مي رود:

Visibility name (param-list) : return-list

  • ديد
  • فهرست پارامترها:

Direction name :type=default-value

- جهت: مشخص كننده ورودي و خروجي بودن پارامتر است.

In

Out

Inout

- مقدار پيش فرض

  • نوع برگشتي در اعمال
slide18

روابط بين كلاس‌ها

  • رابطه‌ي انجمني (Association)

-رابطه‌ي تجمع (Aggregation)

-رابطه‌ي تركيب (Composition)

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

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

رابطه‌ي Aggregation:

-يك حالت خاص از رابطه‌ي انجمني است.

-زماني كه بخواهيم نشان دهيم كه اجتماع چند شيء يك شيء كلان تر بوجود مي آورد از اين نوع رابطه استفاده مي كنيم.

-در صورت از بين رفتن كلاس، كلاس هاي جزء از بين نمي روند.

-ارتباط كلاس هاي ديگر با كلاس جزء مي تواند بدون ارتباط و دخالت كلاس كل برقرار شود.

رابطه‌ي Composition:

-علاوه بر مفهوم كلي رابطه تجمع كه از اجتماع چند شيء يك شيء كلي تر تشكيل مي شود، بيانگر آن است كه با از بين رفتن شيء كلي تر كليه اشياء جزئي اش نيز از بين مي رود.

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

slide21

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

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

slide22

رابطه‌ي تعميم

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

داراي خواص توارث و جايگزيني است.

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

جايگزيني: هر كلاس يا شيء تخصيص مي تواند در هر جا كه كلاس يا شيء تعميم وجود دارد، بجاي آن بنشيند.

slide24

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

وضعيت اشياء درون سيستم را در نقطه اي از زمان نشان مي دهد.

كاملا مشابه يك نمودار كلاس است كه بجاي كلاس و ارتباطات به ترتيب نمونه كلاس(شيء) و نمونه ارتباط رسم مي شود.

براي كنترل صحت نمودارهاي كلاس مي توان وضعيت خاصي را از نحوه‌ي ارتباطات اشياء بوسيله‌ي نمودارش ايجاد كرد تا ببينيم كه آيا در نمودار كلاس نيز چنين ارتباطي داريم يا نه!

در حالتي كه نام شيء مهم نباشد و فقط مي خواهيم يك شيء از كلاس خاصي را بيان كنيم، مي توان تنها نام كلاس را ذكر كرد.

slide25

(Component Diagram)نمودار قطعات

در انتهاي گام پياده سازي سيستم، لازم است تا مدل معماري سيستم نيز ارائه گردد.

مدل سازي وضعيت نرم افزاري سيستم

قطعه: بخشي نرم افزاري، فيزيكي و قابل جايگزين است كه مجموعه اي از يك يا چند واسط را پياده سازي مي كند.

هر قطعه داراي نامي است كه آنرا از ساير قطعات متمايز مي كند.

هر قطعه واسط هاي خاصي را پياده سازي مي كند .

قطعه خود مي تواند داراي نمونه باشد.

واسط‌ها هميشه يك رفتار را بيان مي كنند و مي توانند به شكل هاي مختلف پياده‌سازي شوند.

قطعات مي توانند همانند هر عنصر ديگرuml در بسته ها قرار گيرند و از پيچيدگي سيستم بكاهند.

روابط در قطعات: تعميم، انجمني، وابستگي

واسط‌ها مجموعه اي از اعمال هستند كه خدمتي از يك كلاس يا قطعه را مشخص مي كنند.

دو قطعه بدون استثناءبه وسيله يك واسط به هم مرتبط مي شوند.

slide28

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

  • هر يك از قطعات نرم افزاري كه كل سيستم را مي سازند، چگونه روي سخت افزار ها توزيع مي شوند.
  • گره: عنصري سخت افزاري و فيزيكي است كه در زمان اجرا وجود دارد. پروسسورها،دستگاه هاي جانبي و سخت افزارهايي نظير چاپگر،نوار مغناطيسي...
  • يك گره مي تواند همانند كلاس داراي صفات و متد باشد.
slide29

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

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

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

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

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

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

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

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

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

  • مورد کاربرد (use case)
  • کنشگر (actor)
  • خط ارتباطی(association)
slide31

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

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

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

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

نحوه نمايش

slide32

کنشگر (actor)

نقشی که کاربر در ارتباط با سيستم ايفا ميکند، کنشگر ناميده می شود

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

در اينجا توجه به نقش کاربر است و نه شخص کاربر

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

نحوه نمايش

slide34

مثال

Incorrect

Correct

slide35

مثال

Incorrect

Correct

slide38

Subscription Subsystem

Order Subsystem

Maintain Member

Submit Change of

Submit New

Potential Member

Order

Address

Subscription

initiates

initiates

Club Member

initiates

Place New

Submit

initiates

Member Order

Resubscription

initiates

initiates

Submit Past

Make Purchase

Submit New

Past Member

Member

Inquiry

Member

Resubscription

Subscription

Program

Program

initiates

Operations Subsystem

Promotion Subsystem

initiates

initiates

Make Account

Generate Quarterly

Inquiry

Membership

Time

Marketing

Analysis

initiates

Generate Annual

Generate Quarterly

Submit New

initiates

initiates

Sales Analysis

initiates

Promotion Analysis

Promotion

initiates

initiates

Generate Quarterly

Generate Annual

Sales Analysis

Membership

Analysis

slide39

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

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

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

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

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

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

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

تاکيد در اين نمودار بر زمان و ترتيب ارسال پيام ها است.

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

slide41

The light blue vertical rectangles the objects activation

the green vertical dashed lines represent the life of the object.

The represents when the object is destroyed. 

slide44

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

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

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

slide46

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

نمودار حالت، نموداری برای مدل سازی رفتاری سيستم است.

رفتار را می توان به صورت واکنش در مقابل رويداد مشخص کرد

هر رويداد موثر موجب تغيير حالت شی از حالت کنونی به حالت ديگر می شود

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

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

slide48

Order Backordered

Not all product

available

Product received

Order pending awaiting payment or additional member information

In Process

Pending

Member Order

initial state

Order submitted

Response received from member

Order released

to the warehouse

Order Released

Order Filled

Order filled by the warehouse

Order shipped to club member

Order rejected based on Member's past history

Order Shipped

Order Invoiced

Invoice sent to member for payment

Final payment received

Order Closed

Member Order final

state

Member order archived after 90 days

Member Order final

state

slide49

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

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

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

از بسياری جهات شبيه state diagram است.

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

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

slide52

مثال

Activity diagram