06-14-2013
|
|
مدیر بخش مکانیک - ویندوز و رفع اشکال
|
|
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427
6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
|
|
شناسایی تعاملات بین اشیاء
شناسایی تعاملات بین اشیاء
در بخش های قبل روی مدل کردن جنبه استاتیک (ساختاری) سیستمهای شیء گرا تمرکز کردیم. در این بخش تکنیکهای مدل سازی UML را ادامه میدهیم و روی مدل کردن جنبه داینامیک (رفتاری) سیستم تمرکز میکنیم. در اینجا بیان میکنیم که اشیاء چگونه با یکدیگر تعامل دارند تا کارکردهای برنامه کاربردی را انجام دهند.
سناریوها
سناریوها به شناسایی تعاملات بین اشیاء کمک میکنند. یک سناریو توصیفی متنی است از پردازشهای درونی برای پیاده سازی عملکرد یک مورد کاربرد. به یاد آورید که یک مورد کاربرد توصیف میکرد کارکرد سیستم را از دیدگاه کاربران خارجی. یک سناریو اجرای مورد کاربرد را تشریح میکند. به عبارت دیگر، هدف توصیف گامهایی است که باید انجام شود توسط اشیایی که سیستم را میسازند.
شکل زیر مورد کاربرد پردازش اجاره فیلم را برای برنامه کاربردی کلوپ اجاره فیلم نشان میدهد. متن زیر این مورد کاربرد را توصیف میکند:
- پس شرط ها: مشتری درخواستی برای اجاره یک فیلم از کارمند کلوپ صادر میکند. مشتری دارای یک عضویت در کلوپ است و به کارمند کلوپ، کارت عضویت و شماره شناسایی ملی را ارائه میکند. عضویت مشتری تایید میشود، سپس اطلاعات وی نمایش داده شده و اعتبار او بررسی میگردد.
- توضیحات: بررسی میشود که آیا فیلم در انبار وجود دارد. اگر وجود داشت، یک نسخه از فیلم به مشتری داده شده و مشخصات آن ثبت میشود. همچنین تاریخ برگشت فیلم به وی اطلاع داده میشود.
- پس شرط: هیچی
سناریوی زیر پردازش درونی مورد کاربرد پردازش اجاره فیلم را توصیف میکند:
- بررسی میشود که فیلم در انبار است.
- تعداد نسخههای در دسترس فیلم یک واحد کم میشود.
- تاریخ برگشت تعیین میشود.
- اطلاعات اجاره ثبت میشود. این اطلاعات شامل نام فیلم، شماره نسخه، تاریخ جاری و تاریخ برگشت است.
به خاطر اینکه ممکن است در مراحل انجام سناریو استثناهایی رخ دهد، یک مورد کاربرد به چندین سناریو تبدیل میشود. برای مثال، سناریوی دیگر برای مورد کاربرد فوق این است که اگر فیلم در انبار موجود نباشد، چه کار باید کرد؟
وقتی که سناریوهای مختلف را برای یک مورد کاربرد شناسایی کردید، شما میتوانید نمودارهای تعاملات اشیاء را ایجاد کنید تا اشیاء درگیر در سناریو شناسایی نمایید. این نمودارها همچنین مشخص میکنند که این اشیاء چه عملیاتی باید انجام دهند. نمودارهای تعاملات به دو شکل هستند: نمودارهای توالی و نمودارهای همکاری.
نمودار توالی
یک نمودار توالی یک مدل برای بیان تعاملات اشیاء هنگام اجرای برنامه با تاکید بر ترتیب زمانی انجام تعاملات است. شکل زیر یک نمودار توالی نمونه را نشان میدهد.
همانطور که در شکل فوق مشخص است جریان پیامها از شیء به شیء به صورت خطوط افقی است. زمان ارسال پیامها از بالا به پایین است. از هر شیء یک خط چین عمودی رسم میشود که به خط زندگی معروف است. وجود مستطیل روی خط زندگی، نشان دهنده فعال بودن شیء است. منظور از فعال بودن یک شیء این است که در حال دریافت یا ارسال پیام است.
در OOP اشیاء از طریق پیامها با یکدیگر ارتباط دارند. برای نمایش یک پیام، یک پیکان از شیء شروع کننده آغاز میشود و به شیء دریافت کننده ختم میشود. پیکان خط چین که به سمت شیء آغازگر بر میگردد بیانگر نتیجه پیام است. پیامهای نمودار توالی در حقیقت رفتار اشیاء (متدهای کلاسهای اشیاء) را مشخص میکنند. شکل زیر نمودار توالی برای سناریو پردازش اجاره فیلم را نشان میدهد.
نمودار توالی برای سناریو پردازش اجاره فیلم
با تحلیل نمودار توالی، کلاسهایی که باید برای این اشیاء ساخته شوند، شناسایی میشوند. همچنین متدهای هر یک از کلاسها نیز تعیین میگردند. در نمودار توالی فوق چهار شیء برای انجام سناریوی پردازش اجاره فیلم درگیر هستند که عبارتند از:
- شیء مشتری یک نمونه از کلاس Customer است و مسئول نگهداری اطلاعات یک مشتری.
- شیء کارمند کلوپ یک نمونه از کلاس RentalClerk است و مسئول مدیریت پردازش اجاره یک فیلم.
- شیء مورد اجاره یک نمونه از کلاس RentalItem است و مسئول مدیریت اطلاعات مربوط به یک فیلم قابل اجاره.
- شیء اجاره یک نمونه از کلاس Rental است و مسئول بسته بندی و نگهداری اطلاعات مربوط به یک اجاره .
انواع پیامها
در OOP ، پیامها به صورت همزمان یک غیر همزمان انتقال داده میشوند. وقتی که دادهها به صورت همزمان انتقال داده میشوند، شیء ارسال کننده، پردازش را متوقف میکند و منتظر دریافت پاسخ میماند و پس از آن به کار خود ادامه میدهد. یک خط رسم شده با پیکان بسته در نمودار توالی بیان کننده پیام همزمان است. از سوی دیگر وقتی که یک شیء پیام غیر همزمان ارسال میکند، به کار خود ادامه میدهد و منطق پاسخ فوری نمیماند. یک خط رسم شده با نوک پیکان باز در نمودار توالی بیانگر پیام رسانی غیر همزمان است. یک پیکان خط چین معمولا یک پاسخ را نمایش میدهد. این خطوط در شکل زیر رسم شده است.
با مطالعه نمودار توالی برای سناریوی پردازش اجاره فیلم، انواع پیامهایی که باید انتقال یابند، قابل شناسایی هستند. برای مثال شیء RentalClerk ارسال میکند یک پیام همزمان را به شیء RentalItem برای بررسی اینکه آیا یک نسخه از فیلم در انبار است یا نه. شیء RentalItem پاسخ بررسی را شیء RentalClerk برگشت میدهد.
نمودار فعالیت
نمودار همکاری بیان کننده جریان فعالیتهایی است که در طول یک فرآیند یا عملیات رخ میدهد. شما میتوانید نمودار همکاری را برای مشاهده گردشکار در سطوح مختلف بسازید:
- تمرکز سطح بالا نمایش میدهد هر مورد کاربرد را به عنوان یک فعالیت گردشکار.
- تمرکز سطح میانی نمایش میدهد گردشکاری که درون یک مورد کاربرد خاص رخ میدهد.
- تمرکز سطح پایین نمایش میدهد گردشکاری که در یک متد خاص از یک کلاس رخ میدهد.
نمودار فعالیت تشکیل شده است از نقطه شروع فرآیند که با یک دایره توپر نشان داده میشود. پیکانها نمایش دهنده جریان فعالیت از یکی به دیگری است. مستطیل های گرد گوشه بیانگر فعالیت هستند و یک دایره چشم مانند، نشانگر انتهای فرآیند است. برای مثال در شکل زیر یک نمودار فعالیت نشان داده شده است که بیانگر یک فرآیند است که از فعالیت A شروع میشود و به فعالیت B پیش میرود و به پایان میرسد.
نقاط تصمیم و شرایط محافظ
اغلب، یک فعالیت در شرایط خاصی منجر به فعالیت دیگر میشود. در یک نمودار فعالیت شرطی بودن با یک نقطه تصمیم (به صورت یک لوزی) و با شرایط محافظ (شرطی که باید برای پیشروی فراهم گردد) در براکت در کنار خط جریان مشخص میشود، مطابق شکل زیر:
پردازش موازی
در برخی حالات، دو یا چند فعالیت میتوانند به صورت موازی و در یک زمان انجام شوند. برای نشان دادن فعالیتهای موازی در نمودار فعالیت بدین صورت عمل میشود: یک خط بولد افقی مشخص کننده جدا شدن مسیرها است. بعد از جدا شدن، یک خط بولد دومی رسم میشود که به هم پیوستن مسیرها را مشخص نماید. شکل زیر نمودار فعالیت برگشت یک فیلم را نشان میدهد. ترتیب انجام فعالیتهای افزایش موجودی فیلم در انبار و حذف اجاره فیلم مهم نیستند. مسیرهای موازی در این نمودار نشان دهنده پردازش موازی است.
|
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید
|
|