عکس پیش‌فرض نوشته

هدف از تحلیل شی گرا ،ارائه مدلی است كه نرم افزاری را توصیف میكند ،كه اجزای آن نیازمندی های معیّن شده از جانب مشتری را مرتفع میسازد.

tahlil-shey-gara

  • چشم انداز تحلیل شی گرا :

محبوبیّت فناوری شی گرا ،باعث تولید انواع شیوه های تحلیل شی گرا گردید ؛كه مهم ترین آنها عبارت اند از :

      –   شیوه بوچ

      –   شیوه رامباف

      –   شیوه یاکوبسن

      –   شیوه كاد و یوردان

      –   روش ورفز – براک

  • یک رهیافت یکنواخت برای تحلیل شی گرا :

در طول دهه‏ی گذشته بوچ ،رامباف و یاکوبسن با همكاری یكدیگر بهترین مشخّصه‏های روش‏های طراحی و تحلیل شی گرا را در یک روش متّحدالشكل ترکیب کرده‏اند که زبان مدل سازی متّحد يا 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-  مدل رفتار شیء را به منظور تعیین دقیق و انسجام بازبینی کند.

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.