X
تبلیغات
پیکوفایل
یکشنبه 18 شهریور‌ماه سال 1386
درس دهم ( نمودار فعالیت Activity diagram )

در این نمودار چگونگی جریان انجام یک کار صرف نظر از فاعل آن مشخص می شود . بر خلاف نمودارهای همکاری که فاعلان کار ( Actors ) در جریان انجام کار وجود دارند . این نمودار را می توان برای شرح Use Case و یا هر یک از افعال ( Operation ) کلاسها ترسیم نمود .

نمودارهای فعالیت بیشتر برای مدل کردن یک عملیات مورد استفاده قرار می گیرد ، یعنی گاهی اوقات که یک عملیات پیچیده می شود ، می توان از این مدل برای توضیح بیشتر استفاده کرد . این نمودار شباهت فراوانی به فلوچارت دارد و از لحاظ معنایی نیز همان مفهوم را دنبال می کند . درمدلهای شی گرایی از این نمودار کمتر استفاده می شود زیرا همانطور که گفتیم بیشتر برای مدل سازی عملیاتها از این نمودار استفاده می شود ، حال آنکه تمرکز برانامه های شی گرا عمدتاً روی اشیاء است . با این وجود شما به عنوان یک طراح ، هرگاه که لازم دانستید از این نمودار برای شرح یک Use Case یا متد از آن استفاده کنید . این نمودار برای افرادی که به روش Process Oriented برنامه می نویسند بیشترین کاربرد را در مدل سازی سیستم پیدا می کند .

ایجاد یک نمودار فعالیت

ایجاد یک نمودار فعالیت شبیه ایجاد یک نمودار توالی یا همکاری است . ابتدا بر روی Use Case مورد نظر که می خواهیم برای آن نمودار ترسیم کنیم کلیک راست کرده و مسیر New > Activity Diagram را می رویم . مشاهده می کنید که یک نمودار فعالیت برای شما ایجاد شده است . به شکل زیر توجه کنید .

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

قبل از توضیح نوار ابزار نمودار فعالیت این نکته را یادآور می شوم که ، به دلیل اینکه بعضی از دکمه های این نوار ابزار شبیه دیگر دیاگرام ها نمودارهای توالی یا همکاری یا Use Case است ، از توضیح آن خودداری و شما می توانید برای کسب توضیحات آن دکمه ها به دروس گذشته مراجعه کنید .

دکمه اول ( Stat ) : بیانگر حالت سیستم در یک جریان کار می باشد . ( در درس Stat Diagram بیشتر در مورد آن صحبت می کنیم )

دکمه دوم ( Activity ) : بخشی از یک جریان کار ( Workflow )  است که باید انجام شود ، به عبارت دیگر قسمتی از کلمه ای است که در یک جریان کار اجرا می شود .

دکمه سوم ( Start stat ) : بیانگر شروع یک جریان کار است .

دکمه چهارم ( End stat ) : بیانگر اتمام یک حالت است .

دکمه پنجم (  Horizontal Synchronization) : نحوه کاربرد آن برای همزمانی فعالیتها است . به شکل زیر توجه کنید . در این شکل مشخص شده NewActivity1 با NewActivity2 همزمان شروع به فعالیت می کنند .

 

نکته : با میله های همزمان سازی می تواند بطور همزمان دو یا چند انتقال در سیستم رخ دهد در این صورت می توان با دو یا چند میله همزمان سازی چند فعالیت موازی را join یا fork کرد .

Fork : با اتمام یک فعالیت یا حالت چند فعالیت یا حالت شروع می شود .

Join : با اتمام چند فعالیت یا حالت یک فعالیت یا حالت شروع می شود .

دکمه ششم ( Vertical Synchronization ) : کاربرد این دکمه نیز همانند دکمه شماره 5 است . به شکل زیر توجه کنید . در این شکل نیز مشخص شده NewActivity1  با NewActivity2  همزمان شروع به فعالیت می کنند .

دکمه هفتم ( Decision ) : برای نشان دادن شرط ها و اما و اگرها از این دکمه استفاده می شود. دقیقاً مشابه شکلی است که در فلوچارتها برای نمایش شرط ها استفاده می شد .

دکمه هشتم ( Swim lane ) : با این می توان Actor ی که فعالیت را انجام می دهد را مشخص نمود . به شکل زیر توجه کنید . مشتری درخواست کالا می دهد و فروشنده کالا را به همراه فاکتور به مشتری ارائه می دهد .

اهداف و موارد کاربرد :

  1. برای مدل سازی یک جریان کار ( Work flow )
  2. برای شناسایی Use Case ها
  3. برای تشریح ارتباط میان Use Case ها
  4. برای تشریح پیچیدگی و فلوچارت یک عمل در یک Use Case
  5. برای تشریح جزئیات فرایندها در یک Activity سطح بالا

مدل کردن یک سری فعالیت با استفاده از یک Activity Diagram

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

  1. شناسایی هدف یک Work flow . سوالاتی مانند اینکه چه چیزی برای انجام شدن نیاز دارد یا وقتی Work flow به پایان رسید چه چیزی برای به پایان رسیدن نیاز دارد . برای مثال اگر Activity Diagram شما در Work flow مربوط به سفارشات یک کتاب از یک کتاب فروشی است هدف تمام Work flow ها می تواند گرفتن آن کتاب از کتاب فروشی باشد .
  2. تصمیم . نوشتن تمام شرایط یک Work flow از مرحله شروع به یک مرحله پایان . Activity Diagram دارای دستورات فلوچارتی مانند مرحله شروع و مرحله پایان که برای تعیین شروع و پایان  Work flow به کار می روند است . مرحله شروع و پایان حیطه Work flow را مشخص می کند .
  3. تعیین و تشخیص تمام فعالیتها و مرحله ها و نیاز به شناختن هدف شما دارد . مکان و نام آنها در Activity Diagram در یک دستور منطقی می آید .
  4.  تصمیم اینکه چه کسی مسئول انجام فعالیتها و مرحله در  Swim lanes هستند .
  5. اتصال تمام عناصر موجود در دیاگرام را با انتقال از شروع Work flow اصلی
  6. تعیین مکانها در دیاگرام که کجاها یک Work flow به flow های متناوب تقسیم می شود .
  7. ارزیابی دیاگرام و ملاحظه آن . اگر داری چند Work flow همزمان باشد برای همگام سازی از Joining و forking می توان استفاده کرد .
  8. ست کردن تمام اعمال و شرایط هر عنصر مدل را برآوده کردن .

حال با مثالی می خواهیم موارد گفته شده را بررسی کنیم . ما Use Case داریم که کسر کار پرسنل را محاسبه می کند . اگر ساعت کار پرسنل کمتر از 180 ساعت باشد آنگاه مقدار کسر کار رامحاسبه و در پرونده کسر کار ذخیره می کند . این کار تا خواندن اطلاعات آخرین کارمند ادامه می یابد . در این مثال مسئول اداری ، مسئول شروع Use Case است و ادامه کار بر عهده کامپیوتر است . به شکل زیر توجه کنید .

 

فایل pdf درس دهم