هدف از تحلیل شی گرا ،ارائه مدلی است كه نرم افزاری را توصیف میكند ،كه اجزای آن نیازمندی های معیّن شده از جانب مشتری را مرتفع میسازد.
- چشم انداز تحلیل شی گرا :
محبوبیّت فناوری شی گرا ،باعث تولید انواع شیوه های تحلیل شی گرا گردید ؛كه مهم ترین آنها عبارت اند از :
– شیوه بوچ
– شیوه رامباف
– شیوه یاکوبسن
– شیوه كاد و یوردان
– روش ورفز – براک
- یک رهیافت یکنواخت برای تحلیل شی گرا :
در طول دههی گذشته بوچ ،رامباف و یاکوبسن با همكاری یكدیگر بهترین مشخّصههای روشهای طراحی و تحلیل شی گرا را در یک روش متّحدالشكل ترکیب کردهاند که زبان مدل سازی متّحد يا UML ناميده میشود.
در UML سيستمی كه ارائه میشود از پنج ديدگاه مختلف استفاده میكند ،هر ديدگاه توسط مجموعهای از نمودارها ارائه و تعريف میشود.
- ديدگاه های زير در UML ارائه شده اند :
– ديدگاه مدل كاربر
– ديدگاه مدل ساختاری
– ديدگاه مدل رفتاری
– ديدگاه مدل پياده سازی
– ديدگاه مدل محيطی
به طور كلّی ،مدل سازي تحليل UML بر ديدگاههای مدل ساختاری و كاربر در سيستم متمركز میشود.
- تحلیل حوزه :
تحلیل سيستمهای شی گرا میتواند در سطوح مختلف انتزاعی رخ دهد. هدف اصلی ،تحلیل حوزهای تعريف مجموعهای از ردهها و اشیائی است كه در حوزه كاربردی وجود دارند.
– استفاده مجدّد و تحلیل حوزه:
فناوریهای مربوط به شیء ،از طريق استفاده مجدّد دارای تأثیر و قدرت میشوند.
– فرایند تحلیل حوزه:
تحلیل دامنه یک كار مهندسی نرم افزاری مستمر است ،كه به هیچ پروژه نرم افزاری متّصل و مرتبط نیست.
نقش تحلیلگر دامنه عبارتاست از : طراحی و ساخت اجزای قابل استفادهی مجدّد ،كه ممكن است توسط خیلی از افرادی كه روی موضوعات مشابه ،اما نه الزاماً يكسان ،كار میكنند ،به كار گرفته شود.
- اجزای عمومی مدل تحلیل شی گرا :
اجزای ایستا به طور طبيعی ساختیافته هستند ونشانگر مشخّصههایی هستند كه در سراسر طول عمر برنامه حفظ میشوند.
اجزای پویا ،روی كنترل متمركز شده و نسبت به زمان بندی و پردازش رویدادها حساساند.
- اجزای شناسایی شده :
– دیدگاه ایستا در مورد كلاسهای معنایی
– دیدگاه ایستا در مورد صفات خاصّه
– دیدگاه ایستا در مورد روابط
– دیدگاه ایستا در مورد رفتارها
– دیدگاه پویا در مورد ارتباطات
– دیدگاه پویا در مورد كنترل و زمان
- فرایند تحلیل شی گرا (OOA) :
– فرايند OOA با توجّه به اشیاء شروع نمیشود ،بلكه با شناخت حالتی آغاز میگردد كه در آن ،سيستم مورد استفاده قرار میگيرد.
– فنون جمع آوری نيازمندیها
– موارد كاربرد (Use-Case ها)
- اهداف :
– تعریف نيازمندیهای عملیاتی و كاركردی سیستم (محصول)
– توصیف مشخّص و غیرمبهمی از چگونگی ارتباط متقابل سیستم و كاربر نهایی
– پايه و اساسی برای اعتبار آزمون اعتبارسنجی
- مدل سازی كلاس – مسئولیّت – مشاركت (CRC)
- مدلسازی CRC وسیلهی سادهای برای شناسایی و سازماندهی كلاس هایی است كه با نيازهای سیستم يا محصول مرتبطاند.
← كلاس ها
- یک تكنیک شناسایی اشیاء در بستر یک مسئله نرم افزاری ،عبارت است از انجام تجزیّهی دستوری روی روایت پردازشی سیستم.
- تمام اسمها ،اشیاء بالقوّه هستند. شش مشخّصهی انتخاب این اشیاء بالقوّه عبارتاند از :
1- اطّلاعات بازیابی شده
2- خدمات مورد نیاز
3- صفات خاصّه چند گانه
4- مشخّصههای معمول و مشترک
5- عملیات مشترک
6- نیازمندیهای ضروری
یک شیء بالقوّه ،باید تمامی شش مشخّصه را دارا باشد ؛اگر قرار است که برای گنجاندن در مدل CRC در نظر گرفته شود.
- ·طبقه بندی انواع كلاس ها از نظر فایر اسمیت :
– كلاس بندی وسیلهها
– كلاس بندی خصوصیّات
– كلاس بندی روابط متقابل
- مشخّصات كلاس ها :
– قابليّت لمس كردن
– شموليّت
– تسلسل
– پایداری
– جامعیّت و یکپارچگی
- مسئولیت ها :
پنج راهنمایی برای تخصیص مسئولیتها به كلاس :
1- هوش سیستم باید به طور یکنواخت توزیع شود ؛از آن جا كه هر شیء در مورد كارهای محدودی اطّلاعات داشته و كارهای محدودی را نیز انجام می دهد با انجام توزیع یکنواخت ،انسجام سیستم بهبود میيابد.
2- هر مسئولیتی بايد تا جایی كه ممكن است به طور كلّی بیان شود.
3- اطّلاعات و رفتار مربوطه باید در همان كلاس قرار بگیرد.
4- اطّلاعات مربوط به هر چيز ،باید در یک كلاس قرار بگیرد نه آنكه در كلاسهای چندگانه توزیع شود.
5- مسئولیتها باید به طور مناسب میان كلاسهای مربوطه تقسیم شوند.
- ·مشاركت (همكاری) :
– كلاس میتواند عملیات خود برای تغییر مشخّصههایش استفاده كند.
– كلاس میتواند با سایر كلاسها همكاری كند. این همكاری روابط بین كلاسها را شناسایی میكند. وقتی كلاسی نمیتواند مسئولیتی را به خودی خود انجام دهد ،لازم است با كلاس دیگر ارتباط داشته باشد و اين یک همكاری است.
– تعریف ساختارها و سلسله مراتب
– وقتی كلاسها و اشیاء با استفاده از مدلCRC شناسایی شدند ،تحليلگر شروع به تمركز روی ساختار مدل كلاس و سلسله مراتب منتج از آن میكند كه با ظهور كلاسها و زیركلاسها به وجود میآیند.
– با استفاده از روش UML یک سری نمودارهای كلاس را میتوان ایجاد كرد.
– ساختار كلاسهای تعمیم یافته – تخصیصی را میتوان برای شناسایی كلاسها به وجود آورد.
– تعریف موضوعات و زير سیستمها
- ممكن است مدل تحلیلی در مورد یک برنامه پیچیده دارای صدها و دهها ساختار باشد ،به همین دلیل لازم است شكل دقیقی را مشخّص كرد كه چكیده و عصارهی مدلهای ساختاری و CRC باشند.
- مدل رابطه – شیء
- اولین مرحله در ایجاد روابط عبارتاست از درک مسئولیتهای هر كلاس
- مرحله بعد ،تعريف كلاس های همكارانی است كه در دستیابی به هر مسئولیت به ما کمک میکنند. اين كار ارتباط بین كلاسها را به وجود میآورد.
- بین دو كلاس كه به هم مرتبط اند یک رابطه وجود دارد ،رایج ترین نوع ارتباط دودویی است ،یعنی رابط بین دو كلاس وجود دارد.
- مدل رفتار – شیء
- مدل CRC و مدل رابطه – شیء نمایانگر عناصر ایستای مدل تحلیل شی گرا هستند.
- مدل رفتار – شي نشانگر اين است كه چگونه يك سيستم شي گرا به حوادث یا محرّکهای بیرونی واكنش نشان میدهد.
- مدل رفتار – شیء
← برای ایجاد مدل تحلیلگر باید مراحل زیر را انجام دهد :
1- تمام موارد كاربرد را ارزیابی كند تا به طور كامل توالی روابط میان آنها را در سيستم بشناسد.
2- حوادثی را شناسایی كند كه باعث توالی عمل شده و چگونگی ارتباط آنها را با اشياء خاص درک كند.
3- مسیر حادثهای را برای هر مورد كاربر ایجاد كند.
4- یک نمودار تغییر وضعیّت برای سیستم ترسیم كند.
5- مدل رفتار شیء را به منظور تعیین دقیق و انسجام بازبینی کند.
این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست بهروزرسانیهای سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال میشیم به ما اطلاع بدهید.
خیلی عالی بود دمت گرم