ش | ی | د | س | چ | پ | ج |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
در این نمودار چگونگی جریان انجام یک کار صرف نظر از فاعل آن مشخص می شود . بر خلاف نمودارهای همکاری که فاعلان کار ( 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 ی که فعالیت را انجام می دهد را مشخص نمود . به شکل زیر توجه کنید . مشتری درخواست کالا می دهد و فروشنده کالا را به همراه فاکتور به مشتری ارائه می دهد .
مدل کردن یک سری فعالیت با استفاده از یک Activity Diagram
مدل کردن یک سری فعالیت با استفاده از یک Activity Diagram می تواند به چند روش انجام شود . هر چند مراحل انجام آنها یک پردازش منطقی است .
حال با مثالی می خواهیم موارد گفته شده را بررسی کنیم . ما Use Case داریم که کسر کار پرسنل را محاسبه می کند . اگر ساعت کار پرسنل کمتر از 180 ساعت باشد آنگاه مقدار کسر کار رامحاسبه و در پرونده کسر کار ذخیره می کند . این کار تا خواندن اطلاعات آخرین کارمند ادامه می یابد . در این مثال مسئول اداری ، مسئول شروع Use Case است و ادامه کار بر عهده کامپیوتر است . به شکل زیر توجه کنید .