تاریخچه - PersianGIG
Download
Report
Transcript تاریخچه - PersianGIG
1
2
مدلسازی چیست؟
مدل سازی یعنی ایجاد تصویری (انتزاعی) از واقعیت
این انتزاع ها شامل ساده سازی اند
نادیده گرفتن جزئیات نامرتبط
فقط جزئیات مفید را نشام میدهند.
3
چرا باید نرم افزار را مدلسازی کرد؟
پیچیدگی روزافزون
نرم افزارها
نیاز به روش ساده
تری برای سیستم های
پیچیده داریم
40 Windows XPمیلیون
خط کد
یک برنامه نویس نمیتواند به
تنهایی این همه کد را درک کند
برنامه نویسانی که بعداً به تیم
اضافه میشوند نمی توانند به
راحتی کد را بفهمند
مدلسازی روشی برای غلبه بر
پیچیدگی است.
تمام صنعت ها برای خودشان زبان مشخصی دارند
مثالً انتگرال در ریاضیات شکل خاصی دارد
….
تمام ریاضی دانان جهان با دیدن این شکل فورا متوجه میشوند که من یک
انتگرال را نشان داده ام
ریاضیدانان زبان مشترکی برای انتقال مفاهیم دارند درست مثل موسیقی
دانها ،مهندسان الکترونیک و ساختمان و....
5
UMLچیست؟
یوام ال یک زبان مدلسازی نسل سوم است و روشی باز برای توصیف ویژگیها ،نمایش
گرافیکی ،ساختن و مستند سازی اجزای یک سیستم نرم افزاری در حال توسعه می باشد.
از یو ام ال برای فهمیدن ،طراحی ،مرور ،پیکربندی ،نگهداری و کنترل اطالعات سیستمهای
نرم افزاری استفاده می شود.
یو ام ال برای همه روشهای توسعه نرم افزار ،همه مراحل چرخه عمر نرم افزار ،همه
حوزههای برنامههای کاربردی و هر رسانه ای قابل استفاده است.
یو ام ال شامل مفاهیم معنایی ،نمادگذاری و راهنمایی برای طراحی می باشد.
این زبان شامل فرآیند مرحله به مرحله تولید نرم افزار نیست ،بلکه یو ام ال زبانی است که
تقریبا تمام شیوههای تولید نرم افزار از آن استفاده می کنند.
یو ام ال تکنیکهای مدلسازی داده (نمودار رابطه موجودیت) ،مدلسازی تجاری ،مدلسازی شی و
مدلسازی مولفهها را با هم ترکیب می نماید.
یو ام ال را می توان در تمامی پروسهها در سراسر چرخه توسعه نرم افزار به کاربرد.
تاریخچه
UMLمستقیما ً روشهاي Rumbaugh ،Boochو
Jacobsonرا با هم ادغام كرده است ،اما محدوده آن بیشتر از
سه متدلوژي فوق است.
UML همانطور كه از نامش پیدا است یك زبان مدلسازي
است تا یك متدلوژي .بطور معمول ،هر متدلوژي شامل حداقل
یك زبان مدلسازي و یك پروسه ساخت است.زبان مدلسازي
شامل نمودارهایي است كه هر متدلوژي براي نمایش تحلیل و
طراحي سیستمها از آن استفاده ميكند.
هدف طراحان UMLبیشتر تدوین یك زبان مدلسازي شيگرا
بوده تا ارائه یك پروسه ساخت استاندارد ،اگر چه طراحان
UMLیك پروسه ساخت به نام USDPرا نیز ارائه دادهاند
7
Unisys, Rational, Oracle, IBM, Microsoft,شركتهایي مانند
استفاده كرده و آن را پشتیباني UMLو ...از شركتهایي هستند كه از HP
مينمایند.
زبان یکنواخت؟!؟
مفاهیم یو ام ال در قالب دسته هایی به نام دید طبقه بندی می شوند.
هر "دید" در واقع زیرمجموعه ای از ساختهای مدلسازی است که یک جنبه
از سیستم را نمایش می دهند.
در باالترین سطح طبقه بندی دیدها به چهار حوزه کلی تقسیم بندی می شوند
دسته بندی
ساختاری
8
( Structural
Classificatio
)n
رفتار پویا
چیدمان فیزیکی
( Dynamic
)Behavior
( Physical
)Layout
سازماندهی مدل
( Model
Organizatio
)n
عناصر سیستم و ارتباط آنها با سایر عناصر را توصیف می کند .برای مدل کردن عناصر سیستم از
مفهوم "دسته کننده" ( )classifierاستفاده می شود.
دسته کنندهها شامل کالس ،عملگر( ،)Actorمورد کاربرد( ،)Use caseگره(،)Node
همکاری() )Collaborationو مولفه( )componentهستند .دسته کنندهها پایه ای می سازند که
رفتارهای پویای سیستم روی آن تعریف می شوند.
دسته بندی
ساختاری
دید ایستا
دید طراحی
دید مورد کاربرد
9
حوزه طبقه
بندی
ساختاری
شامل سه
دید مختلف
است:
دید ایستا
• این دید مفاهیم مربوط به
حوزه برنامه کاربردی و
مفاهیم داخلی ابداع شده به
عنوان بخشی از پیاده
سازی برنامه کاربردی را
مدل می کند.
• این دید ،ایستا نامیده
میشود زیرا رفتارهای
وابسته به زمان سیستم را
توصیف نمی کند.
• اجزای تشکیل دهنده دید
ایستا عبارتند از
• کالسها و روابط (ارتباط
و تعمیم) و وابستگی های
مانند و بین آنها.
• دید ایستا در قالب
نمودارهای کالس نمایش
داده می شود.
دید طراحی
دید مورد کاربرد
• در حالی که دید ایستا
مفاهیم برنامه کاربردی
را از دیدگاه منطقی مدل
می کند ،این دید ساختار
طراحی خود برنامه را
مدل می کند.
• این دید کارکرد یک
موضوع راآن طور که
توسط عاملین خارجی
که عملگر نامیده می
شوند و با موضوع
مورد نظر در یک
دیدگاه خاص تعامل
دارند نمایش می دهد.
یک مورد کاربرد در
واقع یک واحد کارکرد
است که به صورت
برهمکنش میان
عملگروموضوع بیان
می شود .نمودار مورد
استفاده در این دید
نمودار مورد کاربرد
است
• نمودارهای پیاده سازی
که در این دید مورد
استفاده قرار می گیرند
عبارتند از :
• نمودار ساختار مرکب،
نمودار همکاری و
نمودار مولفه
رفتار یک سیستم و سایر دسته کننده هارا در مرور زمان توصیف می کند .یک
رفتار به صورت تغییراتی در وضعیت سیستم توصیف میشود که در دید ایستا
ترسیم می شوند.
رفتار پویا
دید ماشین وضعیت
Dynamic Behavior
دید برهمکنش
.حوزه رفتار
پویای سیستم
شامل سه دید
دید فعالیت
11
است
دید ماشین وضعیت
• این دید حالتهای
ممکن تاریخچه
زندگی شیئی از یک
کالس را مدل می
کند.
• یک ماشین وضعیت
شامل وضعیت هایی
است که توسط
گذارها به هم متصل
میشوند.
• نمودار مورد استفاده
در این دید نمودار
ماشین وضعیت
است.
دید برهمکنش
دید فعالیت
• دید برهم کنش توالی
پیامهای مبادله شونده
بین بخشهای یک سیستم
را توصیف می کند.
• این دید نمایی کل گرا
از رفتارهای درون یک
سیستم را نمایش میدهد.
• یک فعالیت در واقع
گردش کنترل در میان
فعالیتهای محاسباتی
درگیر در انجام یک
محاسبه یا گردش کار
می باشد .به یک مرحله
محاسباتی ابتدایی ،یک
عمل گفته می شود.
• به یک گروه از عملها
و زیرفعالیتها گره
فعالیت گفته می شود.
فعالیتها با نمودار
فعالیت نمایش داده می
شوند.
• این دید از دو نمودار
برای نمایش استفاده
میکند که هریک روی
دیدگاه خاصی تمرکز
یافته اند:
• نمودار ارتباطات و
نمودار توالی
توصیف کننده منابع رایانشی در سیستم و چگونگی پیاده سازی مصنوعات مدل
روی آنها می باشد: .
چیدمان فیزیکی
Physical Layout
13
دید ایستا
نمودار به کارگیری مورد استفاده در این دید
نمایشگر پیاده سازی فیزیکی مصنوعات
زمان اجرا روی گره هاست.
یک مصنوع در این نمودار یک واحد پیاده
سازی فیزیکی مانند یک فایل است و یک
گره در واقع یک منبع زمان اجرا مانند یک
رایانه ،دستگاه و یا حافظه است.
این بخش
شامل یک
دید است
توصیف کننده سازماندهی خود مدلها در واحدهای سلسه مراتبی می باشد .واحد ژنریک
سازماندهی مدلها بسته است.یک مدل در واقع سلسله مراتبی از بسته هاست که انتزاع
معنایی کاملی از سیستم از یک دیدگاه خاص است.
سازماندهی مدل
دید مدیریت مدل
Model Organization
این دید سازمان داخلی خود مدل را مدل می کند.
یک مدل از مجموعه ای از بستهها تشکیل
میشود که در بر دارنده عناصر مدل ( مانند
نمودارهای کالس ،ماشین وضعیت و مورد
کاربرد) است.
14
نمودار مورد استفاده در این دید نمودار بسته بندی
است.
این بخش
شامل یک
دید است
یو ام ال توسط نمودارهایی ساختار و رفتار سیستم را نمایش می دهد.یک سیستم به
صورت مجموعه ای از اشیای مجزا مدل میشود که برای رسیدن به هدف نهایی سیستم با
یکدیگر تعامل دارند.نمودارهای یو ام ال نمایشگر دو دیدگاه مختلف از مدل سیستم هستند :
دید ایستا(ساختاری)
15
• ین دیدگاه تاکید بر نمایش
ساختار ایستای سیستم با
استفاده از اشیا ،خصوصیت
ها ،عملیات و رابطهها دارد.
• نمودارهای ساختاری انواع
اشیایی که برای سیستم و
پیاده سازی آن اهمیت دارند
و روابط بین اشیا را تصویر
می کنند.
• به عنوان نمونه می توان از
نمودار کالس نام برد.
دید پویا (رفتاری)
• این دیدگاه تاکید برنمایش
رفتار پویای سیستم با نشان
دادن هماهنگی میان اشیا و
تغییرات وضعیت داخلی اشیا
دارد.
• به عنوان نمونه می توان
از نمودار توالی و یا نمودار
فعالیت نام برد.
زیر سیستم
درخواست داده
دریافت دادهها توسط
سنسور
16
تبدیل دادههای
دریافتی از سنسورها
به فرم مناسب
زیرسیستم پردازش
سیگنال
دریافت دادههای
خام
استخراج
خصیصه
عملیات فیلترینگ
اصالح داده ها
تولید الگو
uml ۲٫۲
۱۴گونه نمودار مختلف دارد که به دو دسته اصلی تقسیم می شوند.
هفت نمودار برای نمایش اطالعات ساختاری به کار می روند و
هفت نمودار دیگر برای نمایش رفتار و برهم کنشها استفاده می شوند.
شکل یک نمودار
کالس است که
دسته بندی سلسه
مراتبی نمودارهای
یوام ال را نشان
می دهد.
17
نمودار کالس
ساختار سیستم را بوسیله نمایش کالسها ،خصوصیات کالسها و روابط بین آنها توصیف می کند.
نمودار مولفه
چگونگی تقسیم سیستم به مولفههای آن و وابستگی بین مولفههای سیستم را توصیف می کند.
نمودار ساختار مرکب
ساختار داخلی کالسها و هماهنگی هایی که ممکن می سازند را توصیف می کند.
نمودار به کارگیری
سخت افزار بکار رفته در پیاده سازی سیستم و همچنین محیطهای اجرا و سایر اجزایی که باید بر روی این سخت
افزار قرار گیرند را توصیف می کند.
نمودار شی
نمایشگر یک دید کامل یا جزیی از ساختار سیستم مدل شده در یک زمان مشخص است.
نمودار بسته بندی
چگونگی تقسیم سیستم به گروه بندیهای منطقی را با نمایش وابستگیها بین این گروه بندیها توصیف می کند.
نمودار پروفایل
18
نمودارهای ساختاری بر روی چیزهای که باید در سیستم مورد نظر شده موجود باشند ،تاکید
دارد .از آنجا که این نمودارها ساختار را نمایش می دهند ،کاربرد گسترده ای در مورد
معماری سیستمهای نرم افزاری دارند.
نمودار مولفه
نمودار به کارگیری
19
نمودار ساختار مرکب
نمودار شئ
نمودار بسته بندی
نمودار
فعالیت
ساختار سیستم را بوسیله نمایش کالسها ،خصوصیات کالسها و
روابط بین آنها توصیف می کند.
نمودار ماشین
وضعیت
چگونگی تقسیم سیستم به مولفههای آن و وابستگی بین مولفههای
سیستم را توصیف می کند.
نمودار مورد
کاربرد
ساختار داخلی کالسها و هماهنگی هایی که ممکن می سازند را
توصیف می کند.
20
نمودارهای رفتاری بر چیزهایی که باید در سیستم مدل شده اتفاق بیفتد تاکید
دارند .از آنجا که این نمودارها نمایشگر رفتار سیستم هستند به گستردگی
برای توصیف کارکردهای سیستم نرم افزاری به کار می روند.
نمودار ماشین وضعیت
نمودار فعالیت
21
نمودار مورد کاربرد
نمودار
ارتباطات
بر همکنش بین اشیا و یا اجزا را در قالب توالی پیامهای مبادله شده نمایش می دهد .این
نمودار نمایانگر ترکیبی از اطالعات به دست آمده از نمودارهای کالس ،توالی و مورد
کاربرد است و هر دوی ساختار ایستا و رفتار پویای سیستم را توصیف می کنند
نمودارکلی
برهمکنش
ک دید کلی ارائه می دهد که در آن گرهها نمایانگر نمودارهای بر همکنش هستند.
نمودار توالی
شان می دهد که اشیا چگونه با یکدیگر در قالب پیامهایی متوالی ارتباط بر قرار می کنند
و همچنین نمایشگر طول عمر اشیا نسبت به این پیامها می باشد.
نمودارهای
زمانبندی
گونه ویژه ای از نمودارهای بر هم کنش هستند که بر روی محدودیتهای زمانبندی
تمرکز دارند.
22
نمودارهای بر هم کنش زیر مجموعه ای از نمودارهای رفتاری هستند که بر
گردش کنترل و دادهها بین چیزهای مختلف در سیستم مدل شده تاکید دارند.
نمودارکلی برهمکنش
نمودار ارتباطات
23
نمودار توالی
:نمودارهای مورد کاربرد UMLمرور اولیه
Use case
مورد کاربرد
Watch
ReadTime
WatchRepairPerson
SetTime
Package
بسته
Actor
عامل
WatchUser
ChangeBattery
نمودارهای مورد کاربرد عملکرد سیستم از دیدگاه کاربر آن را نمایش میدهند.
مرور اولیهUML نمودارهای کالس:
نمودارهای کالسی ساختار سیستم را نشان میدهند
Association
ارتباط
Class
کالس
Multiplicity
Watch
1
2
PushButton
state
push()
release()
Attribute
ویژگی ها
1
LCDDisplay
blinkIdx
blinkSeconds()
blinkMinutes()
blinkHours()
stopBlinking()
referesh()
Operations
عملیات
1
1
1
2
Battery
load
1
Time
now
نمودارهای توالی:UML مرور اولیه
Actor
عامل
:WatchUser
Message
پیام
Object
شی
:Watch
:LCDDisplay
pressButton1()
blinkHours()
pressButton1()
blinkMinutes()
pressButton2()
:Time
incrementMinutes()
refresh()
pressButtons1And2()
commitNewTime()
stopBlinking()
Activation
فعال سازی
Lifeline
خط زندگی
مرور اولیهUML نمودار وضعی برای اشیا با رفتار پویای جالب:
Event
رویداد
Initial state
وضعیت اولیه
State
وضعیت
[button2Pressed]
[button1&2Pressed]
BlinkHours
IncrementHrs
Transition
انتقال
[button1Pressed]
[button2Pressed]
[button1&2Pressed]
BlinkMinutes
IncrementMin.
[button1Pressed]
[button2Pressed]
[button1&2Pressed]
BlinkSeconds
IncrementSec.
StopBlinking
Final state
وضعیت نهایی
قواعد اصلی UML
مستطیل نشان دهنده کالس یا شی
بیضی نشان هنده عملیات یا موارد کاربرد است.
زیر نام اشیاء خط کشیده میشود
myWatch:SimpleWatch
Joe:Firefighter
زیر نام انواع خط کشیده نمی شود.
SimpleWatch
Firefighter
نمودارها در واقع گراف اند
نود ها مولفه
یال ها نشان دهنده ارتباط
نمودارهای مورد کاربرد
در طول استخراج نیازمندیها برای
نشان دادن رفتار بیرونی بکار
میروند
( Actor عامل) ها نشان دهنده یک
نقش اند یعنی نوعی از کاربران
سیستم
Use cases ها نشان دهنده دنباله
ای از نعاملالت برای نوعی عملیات
است
مدل مورد کاربرد مجموعه تمامی
موارد کاربرد است .این مدل
توصیف کاملی از عملکرد سیستم و
محیطش است.
Passenger
PurchaseTicket
عامل ها
عامل نشان دهنده مولفه ای بیرون سیستم است که با سیستم
تعامل دارد
کاربر
سیستم خارجی
محیط فیزیکی
عامل نامی منحصر بفرد و توصیف اختیاری دارد
مثال
مسافر :فردی در قطار
ماهواره :GPSارائه مختصات GPSبه سیستم
Passenger
مورد کاربرد
هر مورد کاربرد نشان دهنده نوعی از عملکرد ارائه
شده توسط سیستم در قالب جریان رویداده هاست
هر مورد کاربرد شامل:
نام منحصر بفرد
عامل های مشارکت کننده
شرط ورود
شرط خروج
دنباله ای از رویداده ها
نیازمندیهای خاص
PurchaseTicket
مثالی از نمودار مورد کاربرد
نام :خرید بلیط
دنباله رویدادها:
عامل ها :مسافر
.1
.2
شرط ورود:
.3
مسافر در مقابل توزیع کننده بلیط می ایستد
مسافر پول کافی برای خرید بلیط دارد
.4
.5
شرط خروج:
مسافر بلیط دارد
چیزی جا نمانده؟
موارد استثنائی
مسافر تعداد نواحی سفر را انتخاب میکند
توزیع کننده مبلغ را نمایش میدهد
مسافر پول را رائه داده
توزیع کننده مابقی را ارائه میدهد
توزیع کننده بلیط را صادر میکند
رابطه
>><<EXTENDS
رابطه >> <<extendsنشان دهنده موارد
استثنائی و نادر است
برای وضوح بیشتر این حاالت استثنائی
خارج از جریان رویدادهای اصلی آورده
میشود
موارد کاربرد جریان های استثنائی میتوانند
بیش از یک مورد کاربرد را بسط دهند
جهت یک رابطه >> <<extendsبه
سمت مورد کاربرد بسط داده شده است.
Passenger
PurchaseTicket
>><<extends
>><<extends
>><<extends
TimeOut
OutOfOrder
>><<extends
NoChange
Cancel
رابطه
رابطه >> <<includesنشان دهنده
رفتاری است که در بیرون از مورد
کاربرد قرار دارد
دلیل این کار
>><<INCLUDES
استفاده مجدد است ولی این به معنی حالت استثنائی
نیست
Passenger
PurchaseMultiCard
جهت رابطه >> <<includesبه
سمت مورد استفاده شده است( .برعکس
>><<includes
رابطه >>)<<extends
>><<extends
Cancel
PurchaseSingleTicket
>><<includes
CollectMoney
>><<extends
NoChange
نمودارهای کالس
Trip
zone:Zone
Price: Price
TarifSchedule
*
*
)(Enumeration getZones
)Price getPrice(Zone
نمودارهای کالس نشان دهنده ساختار سیستم اند
کاربردها:
مدلسازی حوزه مساله در حین تحلیل نیازمندیها
مدلسازی زیرسیستم ها و رابط ها حین طراحی سیستم
مدلسازی کالس ها هنگام طراحی شی
CLASSES
Name
TarifSchedule
zone2price
getZones()
getPrice()
Attributes
Operations
TarifSchedule
Table zone2price
Enumeration getZones()
Price getPrice(Zone)
Signature
TarifSchedule
در هر کالس وضعیت (ویژگی ها) و رفتار (عملیات) جای میگیرد
هر ویژگی یک نوع دارد
.) داردsignature ( هر عملیات یک امضا
تنها بخش اجباری نام کالس است
INSTANCES
tarif_1974:TarifSchedule
{ = zone2price
{‘1’, .20},
{‘2’, .40},
}}{‘3’, .60
یک نمونه instance
نام نمونه زیرخط دارد و میتواند شامل نام کالس باشد
ویژگی ها به همراه مقدارشان ذکر میشوند.
تفاوت بین class ،actorو instanceچیست؟
Actor:
موجودیتی خارج سیستمی که مدل میشود و با سیستم تعامل دارد (مسافر)
Class:
انتزاعی که موجودیتی در حوزه مساله را مدل میکندو باید در داخل سیستم
مدل شود (کاربر)
Object:
نمونه ای مشخص از یک کالس
ASSOCIATIONS
TarifSchedule
TripLeg
Enumeration getZones()
Price getPrice(Zone)
Price
Zone
*
*
ها نشان دهنده ارتباط بین کالس ها هستند. Association
یک وابستگی نشان میدهد که شی مبداً مجاز است به چند شی ارجاع دهدmultiplicity چندی
1-TO-1 AND 1-TO-MANY ASSOCIATIONS
Has-capital
Country
City
*
name:String
name:String
One-to-one association
Point
Polygon
draw()
*
x: Integer
y: Integer
One-to-many association
MANY-TO-MANY ASSOCIATIONS
*
Lists
StockExchange
*
Company
tickerSymbol
StockExchange*
Lists
tickerSymbol
1
SX_ID
Company
تجمعAGGREGATION
تجمع نوع خاصی از وابستگی تست که نشان دهنده سلسله مراتب «شامل »....می باشد
به کالس اصلی aggregateو به کالس های اجزا componentsمیگویند
Exhaust system
0..2
1
Tailpipe
Muffler
diameter
diameter
لوزی سیاه نشان دهنده compositionاست یعنی نوع قوی تجمع که در آن مولفه ها بدون aggregate
وجود نخواهند داشت.
TicketMachine
3
ZoneButton
توارث
Button
ZoneButton
CancelButton
کالس فرزند ویژگی ها و عملیات را از کالس پدر به ارث می برد
توارث با حدف افزونگی مدلسازی را ساده تر میکند .
مدلسازی اشیا در عمل
Account
Bank
Name
Betrag
AccountId
CustomerId
Deposit()
Withdraw()
GetBalance()
) پیدا کردن اشیا جدید1
ویژگی ها و متدها،) مرور نام ها2
Customer
Name
CustomerId
مدلسازی اشیا در عمل :سیستم بانکداری
Account
Customer
Has
Name
CustomerId
*
Betrag
AccountId
CustomerId
AccountI
d
)(Deposit
)(Withdraw
)(GetBalance
)1پیدا کردن اشیا جدید
)2مرور نام ها ،ویژگی ها و متدها
)3پیدا کردن وابستگی های بین اشیاء
)4نامگذاری وابستگی ها
)5تعیین چندی وابستگی ها
Bank
Name
بسته ها
Packages
یک بسته مکانیزمی در UMLبرای دسته بندی عناصر است (معموالً مفهومی در حوزه
مساله نیست)
بسته ها ابزارهای پایه گروه بندی مدلهای UMLبرای افزایش خوانایی آنها هستند
DispatcherInterface
IncidentManagement
Notification
سیستم پیچیده میتواند به چند زیرسیستم تجزیه شود .هر یک از این زیرسیستم ها بصورت
یک بسته مدل شده اند.
نمودارهای توالی در UML
استفاده در حین تحلیل نیازمندیها
پاالیش توصیفات موارد کاربرد
پیدا کردن اشیاء اضافی “participating
”objects
TicketMachine
Passenger
)(selectZone
استفاده در طراحی سیستم
پاالیش رابط های زیر سیستم ها
کالس ها در ستون ها نمایش داده میشوند
پیام ها با فلش نمایش داده میشوند.
فعالیت ها با مستطیل های باریک نمایش داده
میشوند.
خطوط زندگی Lifelineبا خط چین نمایش
داده میشود.
)(insertCoins
)(pickupChange
)(pickUpTicket
پیامهای تودرتو
Display
TarifSchedule
ZoneButton
)lookupPrice(selection
Passenger
)(selectZone
price
)displayPrice(price
Dataflow
…to be continued...
مبدا فلش مشخص کننده فعال سازی activationاست که پیام را میفرستد
یک فعال سازی به اندازه تمامی فعالیتهای تودرتو طول میکشد
خطوط افقی نشان دهنده جریان داده اند
خطوط عمودی نشان دهنده خط زندگی اند
ITERATION & CONDITION
…continued from previous slide...
ChangeProcessor
Passenger
*insertChange(coin)
تکرار
شرایط
CoinIdentifier
Display
CoinDrop
lookupCoin(coin)
price
displayPrice(owedAmount)
[owedAmount<0] returnChange(-owedAmount)
…to be continued...
. با یک ستاره قبل از پیام نشان داده میشودIteration تکرار
.شرایط با عبارات منطقی محصور در براکت قبل از پیام نشان داده میشوند
ایجاد و تخریب
....ادامه از اسالید قبلی
ChangeProcessor
ایجاد
)createTicket(selection
Ticket
)(print
تخریب
)(free
ایجاد با پیامی که به شی اشاره دارد نشان داده میشود
تخریب با عالمت Xای در انتهای فعالیت تخریب نشان داده میشود.
Passenger
خالصه نمودار توالی
نمودار توالی در UMLنشاندهنده رفتار در قالب تعامالت است
مفید برای پیدا کردن اشیائی که باید تعریف شوند.
ایجاد آنها زمانبر ولی نتیجه ارزشمند
مکمل نمودار کالسی (که نشان دهنده ساختار است)
نمودار وضعی
رخداد
حالت شروع
حالت
[button2Pressed]
[button1&2Pressed]
BlinkHours
IncrementHrs
انتقال
[button1Pressed]
[button2Pressed]
[button1&2Pressed]
BlinkMinutes
IncrementMin.
[button1Pressed]
[button2Pressed]
[button1&2Pressed]
BlinkSeconds
IncrementSec.
StopBlinking
حالت نهایی
نمودارهای فعالیت
نمودارهای فعالیت جریان کنترلی داخل سیستم را نشان میدهند
Archive
Incident
Document
Incident
Handle
Incident
نمودارهای فعالیت نوع خاصی از نمودارهای وضعی اند که در آن وضعیت ها ،فعالیت ها هستند
دو نوع وضعیت داریم
وضعیت کنشی Action state:
نمیتوانند بیشتر تجزیه شوند
فوراً اتفاق می افتند با توجه به سطح انتزاع استفاده شده در مدل
میتوانند بیشتر تجزیه شوند
فعالیت توسط فعالیت دیگری مدل میشوند
وضعیت فعالیت Activity state:
مدلسازی تصمیمات: نمودار فعالیت
Open
Incident
[lowPriority]
Allocate
Resources
[fire & highPriority]
[not fire & highPriority]
Notify
Fire Chief
Notify
Police Chief
مدلسازی همزمانی:نمودار فعالیت
( چندین فعالیتSynchronization) همزمانی
(thread) (جریان کنترل به چند بندsplit) تجزیه
تجزیه
Open
Incident
Allocate
Resources
Coordinate
Resources
Document
Incident
همزمانى
Archive
Incident
خط شنا:نمودارهای فعالیت
استفاده کردswimlane برای گروهبندی اعمال میتوان از خط شنا
نشان دهنده شی یا زیرسیستم پیاده کننده اعمال
Allocate
Resources
Open
Incident
Coordinate
Resources
Dispatcher
Archive
Incident
FieldOfficer
Document
Incident
کدامیک باید اول انجام شود؟ کد یا مدل؟
بستگی دارد .....
مهندسی رو به جلو Forward Engineering
مهندسی معکوس Reverse Engineering
مهندسی چرخشی Roundtrip Engineering
ایجاد کد از روی مدل
پروژه های از صفر (بدون محدودیت ناشی از کارهای قبل یا اصظالحاً )Greenfield
ایجاد مدل از روی کد
حرکت دائم بین مهندسی روبه جلو و معکوس
مفید برای وقتی نیازمندیها ،فناوری و زمانبندی دائم تغییر میکند.
58
باتشکر
59