زبان مدلسازی یکنواخت (3)


نمودارهای مورد کاربرد ( use case diagram ) :

همانطور که می دانیم اولین مرحله در فرآیند تولید نرم افزار تعیین مشخصات و محدودیتهای عملیاتی نرم افزار منطبق بر خواست ها و نیازمندیهای کاربران می باشد . استفاده از نمودار مورد کاربرد ( use case ) می تواند :

یک نقطه شروع خوب برای پروژه باشد . نمودار مورد کاربرد در مجموعه نمودارهای زبان UML در دسته نمودارهای رفتار ( Behavair ) قرار می گیرد .

این نمودار به صورتی خیلی ساده و با به کار گیری از حداقل نمادها و مفاهیم نموداری تعامل سیستم با اجزاء خارجی خود را نشان می دهد . یعنی بطور کامل مشخص می کند که چه عاملها ( Actor ) ، ( بازیگر ، کنشگر ) در دامنه سیستم وجود دارند و هریک چه انتظاری از سیستم داشته و یا چه عملیاتی را در سیستم انجام می دهند .

اجزای یک نمودار مورد کاربرد ( Notation ) :

نمودارهای مورد کاربرد از اجزاء اصلی زیر تشکیل شده است :

مورد کاربرد ( use case )

عامل ، بازیگر ، کنشگر ( actor )

روابط ( Relation Ship )

1. مورد کاربرد ( use case ) :

مورد کاربرد در اصل همان نیاز کاربر است که به صورت زنجیره ای از عملیات که منجر به نتیجه مشخصی که همان برآورده شدن نیاز کاربر است در سیستم قابل تعریف می باشد .

همان طور که ملاحظه می شود مورد کاربرد را در یک علامت بیضی که نام مورد کاربرد در درون آن قرار داده می شود مشخص می کنند .

؟؟

جریان وقایع برای یک مورد کاربرد ( Flow of event ) :

همانطور که گفته شد یک مورد کاربرد توالی از عملیات است که منجر به کسب یک نتیجه ملموس بوسیله Actor در سیستم می شود . پس از مشخص کردن مورد کاربرد باید جریان وقایع یعنی چگونگی توالی انجام عملیات برای محقق شدن use case    مستند سازی شود .

این کار به دو صورت رسمی یا نرمال و غیر رسمی قابل انجام است . در حالت رسمی می توان از نمودارهای دیگری در UML برای توصیف رفتار یک use case استفاده نمود . این نمودارها عبارتند از :

State chart Diagram  ، Activity Diagram   ،  Seguence Diagram  و Collaboration  Diagram  .

به صورت غیر رسمی نیز می توان با یک متن یا جدول معمولی نیز رفتار use case را توصیف نمود . برای این منظور برای هر use case  موارد زیر مستند می شود :

تعریف مختصر Deseription

پیش شرایط Pre condition

جریان رخدادهای اصلی Main flow

جریان رخدادهای فرعی Sab  flow

شرایط پسین Post condition

تعریف مختصر :   باید بتوان در یک یا دو جمله مورد کاربرد را به صورت واضح تعریف کرد .

پیش شرایط :  اگر برای انجام یک use case باید قبلاً شرایط خاصی در سیستم مهیا شده باشد . این شرایط تحت عنوان پیش شرایط مطرح می شود .

یک use case می تواند پیش شرایط نداشته باشد .

جریان رخداد اصلی و فرعی :  هر use case یک جریان یا توالی عملیات دارد که از ابتدا تا انتها ادامه پیدا می کند . این جریان را جریان اصلی نامیده و اگر بر حسب وقوع وقایع مختلف در این جریان مسیر حرکت تغییرات دیگری داشته باشند به آنها جریان فرعی گفته می شود .

برای تعریف جریان و رخدادها به ترتیب زیر عمل می شود :

– چگونگی شروع به کار use case

– مسیرهای مختلف یا متنوع در use case  ( سناریوهای مختلف )

– جریان رخداد اصلی یا معمولی

– روند انحرافی و خطادار

شرایط پسین : اگر بعد از انجام یک use case باید شرایط خاصی در سیستم حکم فرما باشد مثلاً یک متغیری با یک مقدار مقداردهی شده باشد ، این شرایط را تحت عنوان شرایط پسین تعریف می کنیم .

2. عامل ، بازیگر ، کنشگر ( actor ) :

هر چیزی که در خارج از سیستم قرار گیرد و با سیستم در تعامل باشد به عنوان اکتور شناسایی می شود . Actor را با نماد             نشان می دهیم . معمولاً  اکتورها یا کاربران سیستم هستند یا کسانی هستند که با سیستم در تعامل می باشند و یا سیستمهای دیگری هستند که با سیستم در تعامل هستند . در تعریف اکتور باید توجه کرد که منظور از اکتور نقش کاربر در رابطه با سیستم است نه شخص کاربر . بنابراین اکتورها نقشهایی هستند که کاربران در رابطه با سیستم ایفا می کنند . ممکن است یک فرد خاص هم عضو هیئت مدیره باشد و هم مدیر عامل ، بنابراین چون دو نقش دارد به عنوان دو اکتور مختلف تعریف می شود .

هر اکتور با یک یا چند use case در سیستم در ارتباط است . در واقع use case ها اعمالی هستند که اکتور در سیستم انجام می دهد .

3. روابط ( Relation Ship ) :

بین هر use case و هر اکتور متناظر با آن یک رابطه تناظر ( association ) وجود دارد که جهت رابطه شروع کننده را نشان می دهد .

؟؟

هر use case  باید حداقل بوسیله یک اکتور آغاز شود . به غیر از این رابطه اصلی روابط دیگری نیز قابل تعریف می باشد . اولین رابطه ، رابطه تعمیم است .

1) رابطه تعمیم ( Generalization ) :

رابطه تعمیم یک رابطه مهم در متدولوژی شیء گرا محسوب می شود . در این رابطه کلاس یا شیء که خواص و وقایع مشترک چندین کلاس دیگر را در خود داشته باشد به عنوان کلاس تعمیم در نظر گرفته می شود و کلاسهای تخصیص این کلاس تعمیم ، ضمن به ارث بردن کلیه صفات و اعمال کلاس تعمیم می توانند صفات و اعمال خاص خود را نیز داشته باشند .

؟؟

در نمودار use case رابطه تعمیم می تواند میان اکتورها و همچنین میان use case ها اتفاق بیفتد . به عنوان مثال در مثال فوق use case A یک use case تعمیم بوده و D و C کلیه خواص آن را به ارث برده . ضمن اینکه می تواند خواص خاص خود را نیز داشته باشد .

2) کلیشه های Extend و Include در روابط تناظر میان use case ها :

برای دسته بندی بهتر use case ها و همچنین پرهیز از تکرارهای اضافی و ساده شدن نمودار می توان روابط Extend  و Include را میان دو use case تعریف کرد :

الف ) رابطه Extend :

؟؟

این شکل نشان می دهد که use case B می تواند تحت شرایط خاص بجای A قرار گیرد .

ب ) رابطه Include :

؟؟

هرگاه در مجموعه عملیات یک use case عملیات یک use case  دیگر تکرار شود یک رابطه Include بین آنها تعریف می شود . مثلاً در شکل فوق عملیات use case A همواره شامل عملیات use case B نیز می شود .

مروری بر مفاهیم شیء گرا ( Object oriented ) :

روش شیء گرا یک دیدگاه جدید به سیستمها است که سعی می کند با شناسایی و تعریف عناصر یک سیستم ، کل سیستم را مورد شناسایی و تحلیل قرار دهد .

– تعریف شیء ( Object ) :

انسان ، مکان ، … و هر چیزی که در یک سیستم حس می شود و قابل لمس و درک است شیء نامیده می شود .

– مسئولیت ( Rispasability ) :

هر چیزی که به شیء تعلق دارد و شیء در مقابل آن پاسخگو می باشد ، مسئولیت شیء نامیده می شود . مسئولیت 3 جنبه دارد :

1) آن چیزی که شیء راجع به خود می داند که به آن صفت یا Properties گفته      می شود . مثلاً یک دانشجو ، شماره دانشجویی ، نام ، نام خانوادگی و … را که به عنوان صفات مطرح می شود ، می داند .

2) کسانی است که شیء آنها را می شناسد و در حوزه مسئله با آنها ارتباط برقرار    می کند ( Relation ) . به عنوان مثلاً  » دانشجو » در درس » ثبت نام » می کند .

3) اعمالی است که شیء انجام می دهد که به آن اعمال یا  Operation  شیء گفته   می شود . به عنوان مثال دانشجو اعمالی نظیر ثبت نام ، حذف و اضافه و … را انجام    می دهد .

– سناریو :

مجموعه ای از اعمال که با یک توالی مشخص انجام می شوند و منجر به یک نتیجه    می گردد .

– کلاس :

مجموعه ای از اشیاء که دارای صفات اعمال و ارتباطات یکسان می باشند در یک گروه بنام کلاس قرار می گیرند . بنابراین هر شیء ، نمونه ای ( Instance ) از کلاس هستند. نمایش یک کلاس به فرم است :

نام کلاس
صفات
اعمال

نام کلاس

صفات

اعمال

انواع ارتباطات در مدلهای شیء گرا :

1. رابطه تعمیم ( Generalization ) :

این رابطه یکی از روابط پایه ای در مفاهیم شیء گرا می باشد که در اکثر نمودارهای UML کاربرد دارد . این رابطه برای پرهیز از تکرار صفات و اعمال در کلاسها بکار    می رود . بر این اساس هرگاه چند کلاس مختلف دارای صفات و اعمال یکسانی باشند می توان کلاس را به نام کلاس تعمیم تعریف نمود که شامل کلیه صفات و اعمال مشترک سایر کلاسها بوده و هر یک از کلاسهای دیگر به عنوان یک تخصیص از این کلاس کلیه خصوصیات و اعمال کلاس تعمیم را به ارث می برد . البته نیز می تواند صفات و اعمال خاص خود را داشته باشد .

؟؟

به این خاصیت ، خاصیت به ارث بری یا وراثت ( Inheritance ) گفته می شود .

2. رابطه تناظر ( انجمنی Assosiation ) :

هنگامی که دو شیء با یکدیگر ارتباط ساختاری داشته باشند این رابطه کاربرد دارد . براساس یک رابطه تناظر می توان از یک شیء و کلاس به شیء یا کلاس دیگر پیمایش کرد .

؟؟

دو نوع خاص از رابطه تناظر ، تجمع و ترکیب می باشد که در آینده مورد بررسی قرار می گیرد .

3. رابطه وابستگی ( Dependencoy ) :

هرگاه تغییری در یک کلاس یا شیء باعث تغییری در کلاس یا شیء دیگری شود و نتوان یک رابطه تناظر بین دو کلاس یا شیء برقرار کرد ، می گوئیم بین دو شیء یک رابطه وابستگی وجود دارد . معمولاً  این رابطه زمانی اتفاق می افتد که یکی از خصوصیات کلاس X به عنوان پارامتر یکی از اعمال کلاس Y مطرح باشد .

؟؟

حالتهای خاص تجمع و ترکیب در رابطه تناظر :

1. رابطه تجمع ( Aggrigation ) :

در این نوع رابطه ، کلاسی وجود دارد که از اجزای کوچکتری تشکیل شده است .

؟؟

در این حالت یک کلاس کل تشکیل می شود و رابطه تجمع نشان می دهد که این کلاس کل از چه اجزائی تشکیل شده است .

2. رابطه ترکیب ( Composition ) :

این رابطه حالت خاص از رابطه تجمع است . در این حالت اگر سایر کلاسهایی که        می خواهند با اجزاء یک کل ارتباط برقرار کنند قادر به برقراری ارتباط مستقیم نبوده و باید حتماً از طریق کلاس کل با اجزاء ارتباط برقرار کنند . رابطه تجمع به صورت ترکیب در خواهد آمد .

 

  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: