آموزش UML : آموزش Collaboration Diagram
|
08-12-2012, 09:26 PM
(آخرین ویرایش در این ارسال: 12-17-2012 07:42 PM، توسط learninweb.)
ارسال: #1
|
|||
|
|||
آموزش UML : آموزش Collaboration Diagram
دیاگرام های collaboration/communication در UML، ماتند دیاگرامهای sequence، برای مرور طبیعت دینامیک نرم افزار شما بکار می رود. Collaboration diagramها، تبادل پیامها (message flow) بین اشیا را در یک برنامه OO نشان می دهند. از Collaboration diagramها معمولاً برای موارد زیر استفاده می شود:
· جهت فراهم کردن نمایی نزدیک از مجموعه ای از اشیاء همکار، مخصوصاً در یک محیط واقعی (real-time environment). · جهت احتصاص دادن عملکردهایی به کلاسها با مرور جنبه های رفتاری یک سیستم. · جهت مدل سازی منطق پیاده سازی یک عملیات پیچیده، مخصوصاً عملیاتی که با تعداد زیادی از اشیا دیگر تعامل دارد. · جهت مرور نقش هایی اشیایی که درون یک سیستم می گیرند، و همچنین روابط مختلفی که، هنگامی که در این نقش ها هستند، با آنها درگیر هستند. در زیر راهنمایی هایی برای موارد زیر آورده شده: 1. مسایل عمومی 2. پیام ها 3. لینکها 1. مسایل عمومی شکل 1: نمونه ای از دیاگرام Collaboration 1. Instance-Level Diagrams To Explore Object Design Issues. دیاگرام های Collaboration در سطح نمونه (Instance-level)، مانند مثال شکل 1، روابط بین اشیا را نشان می دهند. معولاً از این دیاگرام ها جهت مرور طراحی داخلی نرم افزار شی گرا، ایجاد می شوند. 2. Use Specification-Level Diagrams to Explore Roles. دیاگرام های Collaboration در سطح ویژه (Specification-level)، مانند مثال شکل 6، جهت تحلیل و مرور نقش هایی بکار میز رود که کلاس domain در سیستم می گیرد. 3. Collaboration Diagrams Do Not Model Process Flow. 4. When Sequence Is Important Use a Sequence Diagram. 5. Apply Sequence Diagram Guidelines To Instance-Level Collaboration Diagrams. از آنجاییکه دیاگرام های collaboration، نمایی جایگزین از همان اطلاعات دیاگرام sequence را نمایش می دهند، اکثر همان سبک ها در اینجا نیز قابل اعمال است. لیست زیر راهنمایی ها، که ابتداً برای دیاگرام های sequence ارایه شدند، برای دیاگرام های collaboration نیز قابل اعمال هستند: · Name Objects When Your Reference Them In Messages · Name Objects When Several of the Same Type Exist · Apply Textual Stereotypes Consistently · Apply Visual Stereotypes Sparingly · Focus on Critical Interactions · Prefer Names Over Types for Parameters · Indicate Types as Parameter Placeholders · Do Not Model a Return Value When it is Obvious What is Being Returned · Model a Return Value Only When You Need to Refer to it Elsewhere · Model Return Values as Part of a Method Invocation · Indicate Types as Return Value Placeholders 2. پیام ها شکل 2، علامت گذاری برای فراخوانی پیام ها در دیاگرام collaboration را نشان می دهد. مثلاً در شکل 1، پیام 1.2: orderTotal := calculateTotal() ، ترتیب اعداد 1. 2، را نشان می دهد، هیچ تکراری اتفاق نمی افتد، مقدار برگشتی orderTotal و متد فراخوانده شده ای بنام calculateTotal(). شکل 3: یک Collaboration diagram که فراخوانی های پیام همزمان را نشان می دهد. 1. Indicate a Return Value Only When It Isn’t Clear. 2. Indicate Parameters Only When They Aren’t Clear. 3. Depict an Arrow For Each Message. 4. Consolidate Getter Invocations. وقتی چندین getter در یک ردیف فراخوانده می شود، بهترین میانبر، مدل سازی یک پیام مستقل از قبیل getInfo() در شکل 1 است. 5. Indicate Concurrent Threads With Letters. در شکل 3 می بینید که قبل از بعضی از پیام ها حروف A، B، و C وجود دارد که نشان می دهد آن پیام ها به طور همزمان پردازش می شوند. لینک ها خطوط بین classifierهایی که در یک دیاگرام collaboration در UML، نشان دهنده نمونه ایی از روابط بین classifierها –شامل associationها، aggregationها، compositionها، و dependencyها– است. شکل 4: یک دیاگرام Collaboration در سطح ویژه. Model “Bare” Links On Instance-Level Collaboration Diagrams. Show Role-Pertinent Information on Specification-Level Diagrams. در شکل 4 می بینید که نقش هایی که کلاس ها می گیرند، و کثرت های سطح بالا، نشان داده شده اند. Prefer Roles on Links Instead of Within Classes. |
|||
|
پیامهای داخل این موضوع |
آموزش UML : آموزش Collaboration Diagram - peyman5959 - 08-12-2012 09:26 PM
|
کاربرانِ درحال بازدید از این موضوع: 2 مهمان
Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme Translation by MyBBIran.com
Powered by MyBB, © 2002-2024 MyBB Group.
Theme Translation by MyBBIran.com