سيستمهاي اطلاعات مديريت
DESCRIPTION
سيستمهاي اطلاعات مديريت. http://www.Beiki.info. جلسه يازدهم. UML چيست؟ نمودارهاي UML نمودارهاي درخواست سيستم ( Use Case Diagrams ) نمودارهاي كلاس ( Class Diagrams ) نمودارهاي توالي ( Sequence Diagrams ) نمودارهاي همكاري ( Collaboration Diagrams ) - PowerPoint PPT PresentationTRANSCRIPT
سيستمهاي اطالعات مديريت
http://www.Beiki.info
http://www.Beiki.info 2
جلسه يازدهمUMLچيست؟ نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)o( نمودارهاي كالسClass Diagrams)o( نمودارهاي تواليSequence Diagrams )o( نمودارهاي همكاريCollaboration Diagrams )o ( نمودارهاي انتقال حالتState Transition Diagrams )o ( )نمودارهاي فعاليت )مدل سازي پردازشيActivity
Diagrams )o( نمودار اجزاءComponent Diagram )o ( نمودار استقرارDeployment Diagram )
مقايسه نمودارهاي متدولوژي هاي شيي گرا و ساختيافته
توانائي هايUMLمثال
http://www.Beiki.info 3
جلسه يازدهمUMLچيست؟
o چه يك موضوع مهم در مدلسازي بصري اين است كه ازچهره هاي مختلف يك براي نشان دادن نماد گرافيكي
استفاده شود. سيستمo الزم است كه اين نماد براي همه بخشهاي وابسته و درگير
باشد در غير اين صورت مدل خيلي مفهومبا سيستم مفيد نخواهد بود.
o بسياري از افراد نمادهايي را براي مدل سازي بصريپيشنهاد نموده اند.
o هستند و پشتيباني قوي محبوببعضي از اين نمادها كه دارند عبارتند از :
BoochOMT ) Object Modeling Technology(UML ) Unified Modeling Language(
o برنامهRational Rose.از اين سه نماد پشتيباني مي كند
http://www.Beiki.info 4
جلسه يازدهمUMLچيست؟
o متدBooch به خاطر مخترعش Grady Booch Rationalدانشمند ارشد شركت نرم افزاري
نامگذاري شده است.o متدOMT توسط دكتر James Rambaugh به
از Booch به نسبت OMTوجود آمده است. گرافيك بيشتري برخوردار است تا سيستم ها را
واضح تر نشان دهد.o نمادUML حاصل تالش دست جمعي Grady
Booch، James Rambaugh، Ivar Jacobson، Rebecca Wirfs Brock، Peter Yourdon و
افراد زياد ديگري مي باشد.o عموما بهBooch، Rambaugh و Jacobson سه
تفنگدار اطالق مي شود كه هر سه در شركت نرم كار مي كنندRationalافزاري
http://www.Beiki.info 5
جلسه يازدهمUMLچيست؟
o اين سه بر روي استاندارد سازي و اصالحUML تقريبا با نمادهاي UMLمتمركز شده اند. سمبل هاي
Boochو OMT متناسب است و همچنين شامل عناصري از نمادهاي ديگر نيز مي باشد.
o ادغام مدلها به منظور ايجادUML آغاز 1993 در سال گرديد.
o هريك از اين سه تفنگدار شروع به آميختن ايده هايمتدولوژي هاي ديگر با هم نمودند.
o 1995يكپارچه سازي رسمي متدولوژي ها تا سال Unified 0.8ادامه داشت. در اين سال نسخه
Method .معرفي شد o به 1996اين نسخه ، اصالح شده و در سال Unified
Modeling Language .تغيير يافت
http://www.Beiki.info 6
جلسه يازدهمUMLچيست؟
o نسخهUML 1.0 به 1997تاييد شد و در سال Object Groupگروه تكنولوژي آبجكت)
Technology ) اده شدد.o شركتهاي توليد كننده نرم افزار شروع به
نمودند. سازگار شدن با آنo 1997سرانجام در نوامبر OMG نسخه UML
يك استاندارد صنعتي معرفي عنوانه ا بر 1.1نمود.
http://www.Beiki.info 7
جلسه يازدهم نمودارهايUML
oUML به افراد اجازه مي دهد تا چندين نوع مختلف از وجود آورند كه جنبه هاي ه ب نمودارهاي بصري را
مختلف سيستم را نمايش مي دهد. نرم افزارRational Rose از ايجاد اكثر اين مدلها پشتيباني مي
كند. اين نمودارها به قرار زير هستند :يا موردهاي استفاده )نمودارهاي درخواست سيستم Use Case
Diagrams)( نمودارهاي كالسClass Diagrams)( نمودارهاي تواليSequence Diagrams )( نمودارهاي همكاريCollaboration Diagrams ) ( نمودارهاي انتقال حالتState Transition Diagrams ) ( )نمودارهاي فعاليت )مدل سازي پردازشيActivity
Diagrams )( نمودار اجزاءComponent Diagram ) ( نمودار استقرارDeployment Diagram )
http://www.Beiki.info 8
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
تحليل مودارهاي درخواست سيستم براي نمي شود. سيستم تهيهنيازمندي هاي وظيفه اي
فاز تحليلنمودارهاي درخواست سيستم در ديد را به توسعه تهيه مي شود و اينسيستم
سيستم جديد چيستدهندگان سيستم مي دهد كه ؟كارهايي انجام مي دهد چهو
برقرار ارتباط متقابل با كاربربا اين نمودار يك بررسي و حصول توافق مي شود كه پس از بحث و مي شود.نهايي سيستم نيازمندي هاي وظيفه اي
http://www.Beiki.info 9
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
نمودارهاي Use Case محاورات ميانUse Case ها را ( Actors عمليات سيستمي و عامل ها ) ونشان مي دهند
بيان مي كنند.را Actor هايي هستند كه سيستم يا افراد ها نشان دهنده
دريافت كرده و يا از آن فراهم را براي سيستم اطالعات( DFDمي كنند. )مشابه نهاد هاي خارجي در
نمودارهايUse Case محاورات بين Use Case ها وActor.ها را نشان مي دهند
Use Case نشان ديد كاربر سيستم را از درخواستهايها ها عمليات سطح بااليي Use Case مي دهند بنابراين
ها Use Case هستند كه سيستم فراهم مي كند. در واقع Actor به هم مرتبط است كه توسط يكاقدامات از توالي
مشخصي هدف مي شود تا به يك راه اندازيسيستم در يك راه مشخص Use Case برسد يا به عبارت ديگر هراستفاده از سيستم است.
http://www.Beiki.info 10
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
توجه داشته باشيد كه كاربر (user) با آكتور (Actor) است كه از سيستم استفاده كسي كاربرمتفاوت است.
كاربر ايفا است كه يكنقشيبيانگر Actor مي كند ولي بايد بيانگر نقش آن باشد. Actorمي كند. نام
Actor خواهد بود. در كاربران اي از مجموعه يا نوعيك خواهد بود كه آن Actor ازنمونه خاص يككاربرواقع يك
كاربر يكباشيد كه مي كند. توجه داشتهبازي را نقش بازي كند.چندين نقشمي تواند
به عنوان مثال : علي در سيستم هم مربي است و هممربي و همين Actor استاد راهنما لذا علي يك نمونه از
است.استاد راهنما Actorز طور يك نمونه ابراي اينكه Actor به نيازي از سيستم هستند خارجها
ولي مزيت تعريف آنها اين نيست آنها تشريح تفضيليها مشخص مي شوند. Use Case است كه
http://www.Beiki.info 11
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
يف براي تعرUse Case ها جاكوبسن در سال پرسش هاي ذيل را مطرح نمود كه با پاسخ 1992
ها به دست مي آيند:Use Caseبه آنها انجام مي شوند Actor فعاليت هاي اصلي كه توسط هر–
چيست ؟اطالعاتي را از سيستم خوانده يا بروزآوري Actorآيا –
مي كند ؟بايد در مورد تغييرات بيروني، سيستم را مطلع Actorآيا –
سازد ؟ها بايد در خصوص تغييرات غير منتظره مطلع Actorآيا –
شوند ؟
http://www.Beiki.info 12
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
مثال: نمودارUse Case سيستم ATMبانك
http://www.Beiki.info 13
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
ادامه مثال: نمودارUse Case سيستم ATMبانك (: برداشت پولUse Caseمورد استفاده)–
ظاهر مي شود.ATMپيام احوالپرسي در •مشتري كارت خود را در ماشين قرار مي دهد.••ATM از مشتري PIN.را مي پرسد را وارد مي كند.PINمشتري ••ATM.حسابهاي مشتري را نشان مي دهد تا انتخاب كند مشتري حسابي را انتخاب مي كند.•ماشين حدود حساب را نشان مي دهد.•مشتري مقدار برداشت را مشخص مي كند.•.صورتحساب تنظيم مي شود•.كارت خارج شده و رسيد نيز صادر مي شود•
http://www.Beiki.info 14
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
مثال: سيستم ثبت نام در دانشگاه
http://www.Beiki.info 15
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
ارتباط بينUse Case ها
وجود دارند كه توالي از فعاليت ها Use Caseاگر در – انجام مي شوند و اضافه و بطور حالت هاي خاصدر
Actorدر آن نقش دارند با عملگر ديگري extend آن Use Case.تجزيه مي شود
http://www.Beiki.info 16
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
ارتباط بينUse Case ها
ارجاع دهد هاي ديگر Use Case به Use Caseاگر يك – استفاده مي شود.include)رفرنس دهد( از ارتباط
http://www.Beiki.info 17
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
)مثال: سيستم غذاي حاضري )سريع
http://www.Beiki.info 18
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
اگر شما براي استفاده از روابط include و extend به معيار ذيل كه در مدل اطمينان نداريد
:توسط جاكوبسن ارايه شده توجه نماييدهاي مختلفي هستند كه مي توانند به Use Caseاگر –
كامل در نظر گرفته Use Case عنوان بسط يافته يك استفاده نماييد.extend شوند از رابطه
Use Case ثبت نام به دو Use Case به عنوان مثال–ويژه و ثبت نام درس هايي كه مستقل ثبت نام درس
شود بهمي پيشنيازي آنها تكميل نشده اند تقسيم ثبت نام، كامل است و بسط Use Case طوري كه
يافته آن ثبت نام درسهاي ويژه و ثبت نام درس هايي كه پيشنياز آنها تكميل نشده اند است.
http://www.Beiki.info 19
جلسه يازدهم نمودارهايUML
oنمودارهاي درخواست سيستم( Use Case Diagrams)
اگر شما براي استفاده از روابط include و extend به معيار ذيل كه در مدل اطمينان نداريد
:توسط جاكوبسن ارايه شده توجه نماييد استفاده Use Case در دو يا چند رفتار مشتركاگر يك –
استفاده كرد كه includeمي شود مي توان از ارتباط هايي كه به آن ارجاع مي Use Caseمرجع رفتارهاي
شود است. بازنگري سفارش و تهيه Use Caseبه عنوان مثال در –
گزارش مديريتي داده هاي سفارش و موجودي پيگيري به Use Caseمي شود لذا براي بيان اين وضعيت يك
نام پيگيري داده هاي سفارش و موجودي به مدل هاي بازنگري سفارش و تهيه Use Caseاضافه شده و
گزارش مديريتي به آن ارجاع داده مي شوند.
http://www.Beiki.info 20
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) ثابت( مدل موجوديت گرا را ايستاساختار(
نشان مي دهد. يعني بيانگر كالس هاي موجوديت، ساختار داخلي آنها و ارتباطي كه
آنها با هم مشاركت دارند است. درUML كه مستطيل با يك كالس موجوديت
است نشان داده مي شود. سه قسمتداراي در قسمت اول نام كالس موجوديت، در قسمت دوم مشخصه ها )حالت( كالس موجوديت و در
قسمت سوم عملگر )عمليات( كالس موجوديت كه توسط آنها عمل و عكس العمل نشان مي
دهد بيان مي شود.
http://www.Beiki.info 21
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)تعاريف پايه نمودارهاي كالس
http://www.Beiki.info 22
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)انواع عملگر در كالس موجوديت
(:يك نمونه از كالس Constructive operationعمليات سازنده)– در Create Accountموجوديت توليد مي كند. به عنوان مثال
كالس موجوديت حساب يك موجوديت حساب توليد مي كند و حالت )وضعيت( آن را راه اندازي مي كند. اين نوع عمليات
معموال در تمام كالس موجوديت ها وجود دارد و نيازي به تعريف آن در نمودار كالس نيست.
(:اين عمليات دسترسي Query operationعمليات پرس و جو)–به حالت يا وضعيت يك موجوديت را مهيا مي كند اما حالت را
تغيير نمي دهد. اين نوع عمليات معموال در تمام كالس موجوديت ها وجود دارد و نيازي به تعريف آن در نمودار كالس
نيست.(:اين عمليات حالت Update operationعمليات به روزآوري)–
موجوديت را تغيير مي دهد.(: اين عمليات براي يك Scope operationعمليات محدوده)–
موجوديت خاص نيست بلكه براي كل مجموعه موجوديت ها )كالس(است به عنوان مثال ميانگين معدل دانشجويان كه براي
كالس دانشجو اعمال مي شود
http://www.Beiki.info 23
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) نمودارهاي Class ارتباطات بين كالسها را در
سيستم نشان مي دهد. كالسها مي توانند به عنوان طرحي كلي براي
آبجكت ها ديده شوند. مثال حساب يك كالس يك آبجكت است.Joeاست در حاليكه حساب
كالسها شامل اطالعات و رفتارهايي هستند كهبرروي اطالعات عمل مي كنند. كالس حساب
را كنترل PIN مشتري و رفتاري كه PINشامل مي كند مي باشد.
در نمودارClass براي هر نوع آبجكتي در يك Collaboration و Sequenceنمودارهاي
كالس ايجاد شده است. هر آبجكتي به يك كالس منحصربه فرد تعلق دارد در حاليكه يك كالس
معموال چندين آبجكت را در بردارد.
http://www.Beiki.info 24
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) نمودارClass مثال ATM در زير نشان داده
شده است:
http://www.Beiki.info 25
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) در يك نمودارClass هر كالس با مستطيلي نشان
بخش تقسيم شده است.3داده شده كه به بخش اول نام كالس را نشان مي دهد. نام كالس
مي بايست دربرگيرنده مفهوم كليه آبجكت هايي باشد كه به آن كالس نگاشت خواهند شد.
(بخش دوم صفاتAttributes كالس را نشان مي )دهد. يك صفت ، قطعه اي از اطالعات است كه با
يك كالس مرتبط مي باشد.(مثال كالس حسابAccount شامل سه صفت است )
:(Account Numberشماره حساب)––PIN(Balanceتراز موجودي)–
http://www.Beiki.info 26
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) آخرين بخش شامل عملگرهاي
( مي باشد.Operationsكالس) يك عملگر ، تعدادي رفتار است كه توسط
كالس آماده خواهد شد.:مثال كالس حساب شامل چهار عملگر است
(Openباز كردن)–(Withdraw Fundsبرداشت وجه)–(Deduct Fundsكسر موجودي)–(Verify Fundsتاييد موجودي)–
خطوط بين كالسها ، وابستگي ارتباطات بينكالسها را نشان مي دهد.
http://www.Beiki.info 27
جلسه يازدهمo( نمودارهاي كالسClass Diagrams)
نمادهاي نمايش وابستگي ها )ارتباطات( درنمودار كالس
نوع ارتباط
UMLنماد در نمايش ارتباط شرح
Exactly 1
1 An employeeworks for oneand only onedepartment.
Leave blank
`
Zero or 1
0..1An employee haseither one or no
spouse.
Zero or More
0*..A customer can
make no payment
up to manypayments.
*
Employee DepartmentWorks For 1
Employee DepartmentWorks For
Employee SpouseHas 0..1
Customer PaymentMakes 0..*
Customer PaymentMakes *
http://www.Beiki.info 28
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) نمادهاي نمايش وابستگي ها )ارتباطات( در
نمودار كالسنوع ارتباط
UMLنماد در نمايش ارتباط شرح
One or more
1*..
A universityoffers at least 1
course up tomany courses.
Specificrange
7..9
A team has either
7,8 or 9 gamesscheduled
many to
many*
University CourseOffers 1..*
Team GameHas
Scheduled
7..9
Student CourseRegistered
for
**
http://www.Beiki.info 29
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)مثال
http://www.Beiki.info 30
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)()ارتباط(كالس وابستگيAssociation Class)
وقتي وابستگي يا ارتباط بين كالس موجوديت ها –( باشد از كالس Attributeداراي مشخصه اطالعاتي)
وابستگي استفاده مي شود كه در واقع دو نقش بازي مي كند هم به عنوان يك كالس و هم به عنوان
يك رابطه عمل مي كند.اين حالت در وابستگي هاي چند به چند مي تواند –
بوجود آيد و مي توان با استفاده از كالس وابستگي وابستگي چند به چند را به دو وابستگي يك به چند
تبديل كرد.
http://www.Beiki.info 31
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)()وابستگي چندگانه)ارتباطN-ary
Association:)وقتي بين بيش از دو كالس وابستگي ايجاد شود –
وابستگي چندگانه مطرح مي شود.سيستم توليدي را در نظر بگيريد كه پرسنل –
مختلف ، مجموعه قطعات مختلف را مونتاژ مي كنند كه درتوليد محصوالت نهايي استفاده مي شوند. لذا
در اين سيستم سه كالس وجود دارد :پرسنل•مجموعه قطعات•محصول•
نمودار كالس به شرح ذيل خواهد بود :–
http://www.Beiki.info 32
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)()وابستگي چندگانه)ارتباطN-ary
Association:)اين وابستگي هاي چند به چند مي تواند در پايگاه –
مشكالتي را به بار بياورد.در اين سيستم پرسنل مختلف روي مجموعه قطعات –
مختلف و محصوالت نهايي مختلف كار مي كنند اگر بخواهيم رديابي كنيم كه روي كدام مجموعه قطعات
و محصول نهايي كدام كارگر كار كرده است امكان پذير نيست. ولي اگر اين وابستگي ها را به يك به
چند تبديل كنيم اين امر ميسر مي شود.
http://www.Beiki.info 33
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)()وابستگي چندگانه)ارتباطN-ary
Association:)
http://www.Beiki.info 34
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams)نمايش مشخصه ها و وابستگي هاي منتج شده
يك مشخصه يا وابستگي )ارتباط( منتج شده مي –تواند از ساير مشخصه ها يا ارتباطات منتج شود )به
( ) / ( قبل slashدست آيد(. براي نمايش آن از يك )از آن استفاده مي شود. به مثال ذيل توجه نماييد
http://www.Beiki.info 35
جلسه يازدهم( نمودارهاي كالسClass Diagrams)
(نمايش عمومي سازيGeneralization)در متدولوژي شيء گرا شما مي توانيد مشخصه ها و –
عملگرهاي مشترك را در يك كالس خالصه كرده و ساير كالس هاي مرتبط كه داراي اين ويژگي ها و عملگرها
هستند را به اين كالس عمومي شده ارجاع دهيد. به كالس عمومي شده كالس مافوق )والد( و به كالس هاي مرتبط
با آن كالس هاي زيرمجموعه يا فرزند گفته مي شود.
http://www.Beiki.info 36
جلسه يازدهم نمودارهايUML
o( نمودارهاي كالسClass Diagrams) نمايش ادغام )تركيب( كالس ها در نمودار
(Compositionكالس)
http://www.Beiki.info 37
جلسه يازدهم نمودارهايUML
o( نمودارهاي تواليSequence Diagrams)Sequence دالر پول بدون 20 طرح معمولي برداشت
اشتباه يا وجوه PINهيچ مشكلي مانند وارد کردن ناکافي در حساب در ادامه نشان داده شده است.
نمودارSequence جريان پردازش را در Use Case برداشت پول نشان مي دهد. عامل هاي وابسته در
باالي نمودار نشان داده شده اند. در اين نمودار تنها عامل مرتبط با Use Case مشتري ،
مي باشد. همچنين آبجکت هايي که سيستم نياز دارد تاUse Case
برداشت پول را به نتيجه برساند در باالترين نقطه نمودار نشان داده مي شود.
هر فلش يک پيغام ارسالي بين عامل و آبجکت يا بينآبجکت و آبجکت را نمايش مي دهد تا عمليات مورد نياز
را به انجام برساند.
http://www.Beiki.info 38
جلسه يازدهم نمودارهايUML
o( نمودارهاي تواليSequence Diagrams )
http://www.Beiki.info 39
جلسه يازدهم نمودارهايUML
o( نمودارهاي تواليSequence Diagrams )
نکته ديگر درباره نمودارهايSequence اين است که ، اين نمودار ، آبجکت ها را نمايش مي دهد نه کالسها را.
هر کالسي حالت کلي تر يا چند آبجکت را نشان مي برداشت پول Use Caseدهد. در اين نمودار براي اينکه
از حساب طبق سناريوي عادي بدون هيچ مشکلي به انجام برسد بايد آبجکت هاي ذکر شده در نمودار را
داشته باشيم. هر Use Case مي تواند چندين نمودار Sequence
در حالت خاص فقط Sequenceداشته باشد. هر نمودار را نشان مي دهد و سعي مي Use Caseيکي از حاالت
شود عبارت شرطي در آن نشان داده نشود تا نمودار واضح تر باشد و آبجکت هاي مورد نياز بهتر مشخص
شوند.
http://www.Beiki.info 40
جلسه يازدهم نمودارهايUML
o( نمودارهاي تواليSequence Diagrams ) نمودارهاي توالي براي نشان دادن جريان عمليات در
استفاده مي شود.Use Caseيک مثالUse Case برداشت پول از حساب، چند توالي
(Sequence :دارد مانند )برداشت پول–تالش براي برداشت پول از حساب بدون موجودي– اشتباهPINتالش براي برداشت پول از – و غيره–
براي هر يک از اين حالت ها يک نمودار توالي جداگانهرسم مي شود و ممکن است هر يک از اين نمودارها
شامل آبجکت هاي متفاوتي باشند اما عموما بسياري Use Caseاز آبجکت ها در نمودار هاي توالي که به يک
خاص مربوط مي شوند مشترک هستند.
http://www.Beiki.info 41
جلسه يازدهم نمودارهايUML
o( نمودارهاي تواليSequence Diagrams )
يک نمودار توالي، ارتباطات بين موجوديت هاي Useسيستم را در يک بازه زماني براي يک
Case.خاص نشان مي دهد موجوديت هايي که براي انجام عملياتUse Case
مشارکت دارند در نمودار توالي نشان داده شده است و ارتباط بين آنها با ارسال پيام بين آنها بيان مي شود.
نمودار توالي مي تواند براي حالت عمومي يا حالت ( ترسيم شود.Use Caseخاص )يک سناريو خاص از
http://www.Beiki.info 42
جلسه يازدهم نمودارهايUML
o( نمودارهاي همكاريCollaboration Diagrams )نمودارهاي Collaboration دقيقا همان اطالعات نمودارهاي
Sequence را نشان مي دهند. وليكن اطالعات را به روشي متفاوت به Collaborationنمودارهاي
نمايش مي گذارند. در نمودارCollaboration مانند نمودار Sequence معادل
آن ، آبجكت ها به شكل مستطيل هايي نشان داده شده اند و عامل ها به شكل هاي آدمك مي باشند.
در حاليكه در نمودارSequence آبجكت ها و ارتباطات آنها با عامل ها ، به ترتيب زمان توضيح داده شده اند ، نمودار
Collaboration آبجكت ها و فعل و انفعاالت عامل ها را بدون توجه به زمان نشان مي دهد.
آبجكت هايي كه مستقيما با هم ارتباط برقرار مي كنند باخطوطي كه بين آنها كشيده شده نشان داده مي شوند.
بنابراين اگر دو آبجكت و يا يك آبجكت و يك عامل مستقيما با هم رابطه داشته باشند ، بايد خطي بين آنها كشيده شده
باشد. نبودن اين خط بدين معني است كه هيچ ارتباط مستقيمي بين اين دو آبجكت وجود ندارد.
بنابراين نمودارهايCollaboration همان اطالعات را بدون توجه به زمان نشان مي Sequenceنمودارهاي
دهند.
http://www.Beiki.info 43
جلسه يازدهم نمودارهايUML
o( نمودارهاي همكاريCollaboration Diagrams )
http://www.Beiki.info 44
جلسه يازدهم نمودارهايUML
o ( نمودارهاي انتقال حالتState Transition Diagrams)
نمودارهاي حالت راهي را آماده مي كنند تا حالتهايمختلف يك آبجكت را مدل كنند.
در حاليكه نمودارهايClass يك تصوير ثابت از كالسها و وابستگي آنها را نشان مي دهند.
نمودارهاي حالت استفاده مي شوند تا بيشتر رفتارهايپوياي يك سيستم را نمايش دهند. يك نمودار حالت ،
رفتار يك آبجكت را نشان مي دهد. مثال يك حساب بانكي مي تواند به چندين حالت متفاوت
وجود داشته باشد. مي تواند باز شود ، بسته شود يا بطور اضافي ازحساب برداشت شود. يك حساب ممكن
است در هريك از اين حالتها بطور اتفاقي رفتار كند. از نمودارهاي حالت براي نشان دادن اين اطالعات استفاده
مي شود. مثالي از يك نمودار حالت براي يك حساب بانكي در زير نشان داده شده است
http://www.Beiki.info 45
جلسه يازدهم نمودارهايUML
o ( نمودارهاي انتقال حالتState Transition Diagrams )
http://www.Beiki.info 46
جلسه يازدهم نمودارهايUML
o ( نمودارهاي انتقال حالتState Transition Diagrams )
.در اين نمودار مي توانيم حالتهاي مختلف يك حساب را ببينيمهمچنين مي توانيم ببينيم كه چگونه يك حساب از يك حالت به حالت ديگر منتقل مي شود. مثال وقتي يك حساب در حالت باز است و مشتري درخواست بستن حساب را مي كند ، حساب به
حالت بسته منتقل مي شود.(درخواست مشتري ، رخدادEvent ناميده مي شود و رخداد )
چيزي است كه موجب مي شود يك انتقال از حالتي به حالت ديگر صورت گيرد. اگر حساب باز است و مشتري برداشت از حساب را
انتخاب مي كند ، حساب ممكن است به حالت برداشت ( برود. اين فقط زماني اتفاق خواهد افتاد Overdrawnاضافه)
كه تراز موجودي كمتر از صفر باشد. بنابراين يك شرط را خواهيم داشت كه در براكت محصور شده است و شرط
( ناميده مي شود و وقوع يك Guard Conditionحفاظتي)انتقال ) اينكه بتواند يا نتواند اتفاق بيفتد ( را كنترل مي كند.
حالت يك موجوديت تغيير نمي كند مگر اينكه مشخصه اي از آنتغيير مقدار )ارزش( دهد.
درUML هر حالت با يك مستطيل كه گوشه هاي آن منحني استنشان داده مي شود.
http://www.Beiki.info 47
جلسه يازدهم نمودارهايUML
o ( نمودارهاي انتقال حالتState Transition Diagrams)( دو حالت ويژه ، حالت شروعStart State( و حالت پايان )Finish
State.وجود دارد ) حالت شروع با يك دايره توپر سياه درروي نمودار نمايش داده شده
است و نشان مي دهد چه حالتي از آبجكت در ابتدا ايجاد شده است. حالت پاياني به وسيله يك خال هدف نمايش داده شده است و نشان
مي دهد كه آبجكت درست قبل از اينكه از بين برود ، در چه حالتي مي باشد.
روي يك نمودار حالت ، فقط و فقط يك حالت شروع وجود دارد درحاليكه شما مي توانيد حالت پاياني نداشته باشيد يا اينكه هرچند
حالت پاياني كه نياز داريد را داشته باشيد. ممكن است زمانيكه آبجكت درون يك حالت ويژه است چيزهاي
مشخصي اتفاق بيفتد. در اين مثال وقتي كه از يك حساب زيادي برداشت شود ، يك اخطار به مشتري فرستاده مي شود.
پردازشهايي كه در حالت مشخصي از آبجكت اتفاق مي افتند Actions ناميده مي شوند. اين پردازشها غير از، عملگرهاي كالس
آبجكت مي باشند.
http://www.Beiki.info 48
جلسه يازدهم نمودارهايUML
o ( نمودارهاي انتقال حالتState Transition Diagrams )
يك آبجكت ممكن است چندين نمودار حالت داشته باشد و يااينكه اصال نمودار حالتي نداشته باشد.
نمودارهاي حالت براي هر كالس ايجاد نمي شوند. آنها فقطبراي كالسهاي پيچيده استفاده مي شوند.
اگر آبجكتي از يك كالس مي تواند در چند حالت وجود داشتهباشد و در هر حالت خيلي متفاوت رفتار نمايد ، ممكن است
الزم باشد يك نمودار حالت براي آن ايجاد نماييد.
http://www.Beiki.info 49
جلسه يازدهم ( نمودارهاي انتقال حالتState Transition
Diagrams)o مثال : نمودار انتقال حالت براي موجوديت دانشجو
http://www.Beiki.info 50
جلسه يازدهم نمودارهايUML
o( )نمودارهاي فعاليت )مدل سازي پردازشيActivity Diagrams )
همانطور كه مالحظه كرديد يك نمودار توالي ارتباطات بينموجوديت ها را براي انجام يك وظيفه يا فعاليت سيستم را
نشان مي داد. يك نمودار حالت پيشرفت موجوديت را در حالت هاي مختلف در طول دوره زندگي را نشان مي دهد.
يك نمودار فعاليت : منطق شرطي را براي يك توالي از فعاليتهاي سيستم كه الزم هستند انجام شوند تا يك فرايند سازمان
تكميل شود را نشان مي دهد. هر فعاليت مي تواند دستي يا مكانيزه باشد و معموال بيانگر
اقداماتي است كه براي تبديل حالت موجوديت انجام مي شود و همينطور هر فعاليت يكي از مسئوليت هاي سيستم است.
بنابراين يك نمودار فعاليت يك نگاه يا مدل ديگري براي سيستماست كه تركيب شده جنبه هاي نمودار توالي و نمودار حالت
در متدولوژي ساخت يافته است.DFDاست و مشابه
http://www.Beiki.info 51
جلسه يازدهم نمودارهايUML
o )نمودارهاي فعاليت )مدل سازي پردازشي(Activity Diagrams )
http://www.Beiki.info 52
جلسه يازدهم نمودارهايUML
o( نمودار اجزاءComponent Diagram ) نمودارهايComponent يك ديد فيزيكي از مدلتان را
Componentبه شما نشان مي دهد. يك نمودار اجزاي نرم افزاري سيستم شما و روابط بين آنها را
به شما نشان مي دهد. دو نوعComponent ،در نمودار وجود دارد
Componentهاي قابل اجرا و كتابخانه هاي كد درRose هريك از كالسهاي موجود در مدل به يك ،
Component كد منبع نگاشت شده اند. اولين باري ها ايجاد مي شوند ، آنها به نمودار Componentكه
Component اضافه مي گردند سپس وابستگي هاي ها كشيده مي شود. وابستگي هاي Componentميان
Component ها، وابستگي هاي زمان اجرا و زمان ها را نشان مي دهد.Componentترجمه ميان
http://www.Beiki.info 53
جلسه يازدهم( نمودار اجزاءComponent
Diagram ) شكل زير يكي از نمودارهايComponent را
نشان مي دهد:ATMبراي سيستم
http://www.Beiki.info 54
جلسه يازدهم نمودارهايUML
o( نمودار اجزاءComponent Diagram ) اين نمودارComponent، Component هاي سرويس
نشان مي دهد.ATM( را در سيستم Clientگيرنده)(هر كالسي فايل ابتداي برنامهHeader File و فايل )
كتابخانه كد خودش را دارد، بنابراين هر كالسي به Component.هاي خودش نگاشته شده است
مثال كالسATM Screen به يك Component به نام ATM Screen نگاشته شده است. كالس ATM Screen همچنين
نگاشت شده است.ATM Screen دوم Componentبه يك Component سايه دار، بدنه فايل يا كتابخانه كد كالس
ATM Screen را نمايش مي دهد و يك Package Specification مشخصات بسته( ناميده مي(
غير سايه دار نيز فايل ابتدايي برنامه را Componentشود.نشان مي دهد.
Component با نام ATM.exe يك مشخصات وظيفه است و يك نسخه از پردازش را نشان مي دهد. در اين مورد
نسخه پردازش برنامه قابل اجرا مي باشد.
http://www.Beiki.info 55
جلسه يازدهم نمودارهايUML
o( نمودار اجزاءComponent Diagram ) يك سيستم بسته به تعداد زير سيستم ها يا قابليت
داشته Componentاجرايي مي تواند چندين نمودار باشد.
بطور عمومي ، بسته ها مجموعه اي از آبجكت هاهستند. در اين مورد، بسته ها مجموعه اي از
Component .ها مي باشندATM :شامل دو بسته است ATM Client و ATM Server
نمودارهايComponent به وسيله هر شخصي كه مسئول تنظيم و تدوين سيستم است استفاده مي شود.
اين ويژگي را بيان مي كنند Componentنمودارهاي ها وجود Componentكه به چه منظوري نياز به كامپايل
هايي Componentدارد. همچنين نشان مي دهد كه چه در زمان اجرا به عنوان نتيجه كامپايل ايجاد خواهند شد.
، نگاشته شدن كالسها به Componentنمودارهاي اجزاي اجرا شده را نشان مي دهند. اين نمودارها در
جايي كه توليد كد تمام شده است رسم مي شوند.
http://www.Beiki.info 56
جلسه يازدهم نمودارهايUML
o ( نمودار استقرارDeployment Diagram ) نمودارDeployment آخرين نوع نمودارهايي است كه
Rose.براي ما ايجاد مي كند نمودارDeployment اليه فيزيكي شبكه و جايي كه
Deployment هاي مختلف مقيم مي شوند را نشان مي دهد.
در مثالATM، ATM از بسياري زيرسيستمهاي در حال اجرا بر روي وسايل فيزيكي مجزا يا گره ها تشكيل شده
است.
http://www.Beiki.info 57
جلسه يازدهم نمودارهايUML
o ( نمودار استقرارDeployment Diagram )
نمودارDeployment براي مثال ATM در زير آمده است:
http://www.Beiki.info 58
جلسه يازدهم نمودارهايUML
o ( نمودار استقرارDeployment Diagram ) بنابراين اين نمودار به ما نصب فيزيكي سيستم را نشان
طبقه دارد 3 ما يك سبك معماري ATMمي دهد. سيستم : يك طبقه پايگاه داده، سرويس دهنده اصلي و سرويس
گيرنده. نمودارDeployment ، به وسيله مدير پروژه ، كاربران
طراح و برنامه نويسان استفاده مي شود تا اليه فيزيكي سيستم و جاي زير سيستم هاي مختلفي كه مقيم خواهند
شد را بفهمند. اين نمودار به مدير پروژه كمك مي كند كه بفهمد چه
سيستمي مناسب كاربران خواهد بود. همچنين به پرسنلي كه مسئول برنامه نويسي هستند كمك مي كند تا
فعاليتهاي برنامه نويسي آنها را برنامه ريزي نمايد.
http://www.Beiki.info 59
جلسه يازدهم مقايسه نمودارهاي متدولوژي هاي شيي گرا و
ساخت يافتهo همه اين نمودارها با هم ، سيستم را از چند بعد متفاوت نشان
مي دهد.o همانطور كه در تجزيه و تحليل و طراحي بخش دستي سيستم
هاي اطالعاتي با متدولوژي ساخت يافته ، ابزارهايي چون (، نمودار ارتباط موجوديت ها DFDنمودارهاي جريان دادها )
(ERD( نمودارهاي وظيفه اي سيستم ،)SPC نمودارهاي ،)(، برگه هاي تشريح پردازش، برگه هاي MFCگردش فرم )
( و غيره به تحليلگر DDتشريح بايگاني، ديكشنري داده ها)سيستم در تجزيه و تحليل آن كمك مي كند و تحليلگر مي تواند
به كمك آنها سيستم را مدل نمايد.o در تجزيه و تحليل و طراحي بخش كامپيوتري سيستم هاي
يك نرم افزار قدرتمند است كه Rational Roseاطالعاتي نيز به تجزيه و تحليل و طراحي سيستم هاي نرم افزاري شيء گرا
كمك مي كند.
http://www.Beiki.info 60
جلسه يازدهم توانائي هايUML
oUML ، به شما كمك مي كند تا قبل از اينكه كدي بنويسيدنماييد. بنابراين مي توانيد مطمئن سيستم خود را مدل
شويد كه سيستم از ابتدا معماري معتبري دارد.oRational Rose با كمك به تجزيه و تحليل و طراحي
ها و Use Case سازد تا سيستم ها شما را قادر مي را براي نشان دادن عمليات سطح Use Caseنمودارهاي
باالي سيستم طراحي نماييد.oبه شما اجازه خواهد داد تا نمودارهاي Sequence و
Collaboration نشان دادن اينكه آبجكت ها را برايرا چگونه با يكديگر كار مي كنند تا عمليات مورد نياز
فراهم كنند طراحي نماييد.oكالسها و نمودارهاي Class ايجاد شده اند تا آبجكت هاي
دهند و اينكه چگونه آنها با يكديگر يك سيستم را نشانارتباط دارند.
o نمودارهايComponent ايجاد شوند تا نشان مي توانندكالسها به اجزاي اسبابي و ابزاري نگاشت دهند كه چگونه
مي شوند.oدر نهايت يك نمودار Deployment مي تواند توليد شود
سيستم را نشان دهد. تا طرح شبكه اي
http://www.Beiki.info 61
جلسه يازدهممثال: سيستم كتابخانه
http://www.Beiki.info 62
جلسه يازدهممثال: سيستم كتابخانه
http://www.Beiki.info 63
جلسه يازدهممثال: سيستم كتابخانه
http://www.Beiki.info 64
جلسه يازدهممثال: سيستم كتابخانه
http://www.Beiki.info 65
جلسه يازدهممثال: سيستم كتابخانه