اصول و مفاهیم تحلیل نیازمندی ها

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو
مهندسی نرم افزار1
مقاله بعدی:درس:مهندسی نرم افزار1
مقاله قبلی:مهندسی سیستم

مقدمه

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


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



تحلیل نیازمندی های نرم افزار می تواند به 5 قسمت تقسیم شود:

  1. فهم مساله
  2. ارزیابی و تلفیق
  3. مدل سازی
  4. مشخصه
  5. جستجو یا مرور

تعیین نیازمندی های نرم افزار

  1. راه اندازی فرآیند یا آماده سازی فرآیند : رایج ترین تکنیک استخراج نیازمندی ها برگزاری نشست یا مصاحبه است. تحلیل گر با پرسیدن سوالات مستقل شروع می کند یعنی مجموعه سوالاتی که باعث فهم و درک اساسی مسأله می شود.
  2. فنون تسهیل مشخص سازی کاربران : برای جمع آوری نیازمندی ها بسیاری از محققین این روش را پیشنهاد کردند. در این روش ایجاد یک تیم واحد شامل مشتری و تحلیل گران که با یکدیگر کار میکنند تشکیل می شود. این تیم مسایل را شناسایی کرده و راه حل هایی را پیشنهاد می کنند در مورد روش های مختلف مذاکره نموده و تمامی نیازمندی ها را مشخص می نمایند؛ هدف این روش به دست آوردن یک لیست اتفاق نظر است.


تنظیم کارکرد کیفیت

تکنیک مدیریت کیفیتی است که خواسته های مشتری را به خواسته های فنی ترجمه می کند.


تنظیم کارکرد کیفیت سه نوع نیازمندی را شناسایی می کند :

  1. نیازمندی های عادی : مقاصد و اهدافی که برای محصول در طول ملاقات با مشتری مطرح شده اند، چنان چه این نیازمندی ها برآورده شوند آنگاه مشتری راضی خواهد بود .
  2. نیازمندی های مورد انتظار : این نیازمندی ها برای محصول یا سیستم ضمنی هستند و ممکن است آن چنان اساسی باشند که مشتری به صراحت آن هارا بیان نکند و فقدان آنها باعث نارضایتی فراوان می شود.
  3. نیاز های هیجان انگیز : این نیاز ها فراتر از انتظارات مشتری هستند و در صورت وجود رضایت زیادی را به دنبال دارند.


میدان اطلاعات یا دامنه ی اطلاعات

شامل سه نقطه نظر در رابطه با داده ها و کنترل است که شامل موارد زیر می باشد:

  1. مضمون اطلاعات ( نوع اطلاعات وارد شده )
  2. جریان اطلاعات
  3. ساختار اطلاعات


نمودار های UML

  1. نمودار مورد کاربرد : عبارت است از شرح چگونگی استفاده از سیستم برای ایجاد یک Use case یا مورد کاربرد، تحلیل گر باید در آغاز انواع مختلف افراد یا اعضا که از سیستم یا محصول استفاده خواهند کرد تعیین کند. در واقع نقش افراد به عنوان اپراتور سیستم نشان داده می شود، به طور کلی یک Use case یا مورد کاربرد یک شرح روایتی ساده است که نقش هر بازیگر را ضمن تعامل با سیستم روشن می کند این نمودار تعامل کاربران خارجی و سیستم را مدل می کند. نخستین مرحله در فرآیند تولید نرم افزار تعیین مشخصات و محدودیت های عملیاتی نرم افزار بر طبق در خواست ها و نیازمندی های کاربران می باشد این نمودار نقطه ی ورودی برای تمامی نمودارهای دیگر است که به تشریح نیازمندی ها و معماری و پیاده سازی سیستم می پردازد.
  2. نمودار کلاس : یک کلاس بیان گر نوغی از اشیا است که دارای صفات و رفتاری مشابه می باشد. نمودار کلاس برای نمایش کلاس ها، واسطه ها و روابط بین آن ها به کار می رود و از نمودار های اصلی و مرکزی UML می باشد که بیان کننده ی ساختار ایستای سیستم نرم افزاری می باشد.
  3. نمودار اشیا : یک شی نمونه ای از یک کلاس است و نمودار شی اشیا سیستم و رفتار بین آن ها را نمایش می دهد. در واقع یک تصویر لحظه ای از نمودار کلاس می باشد.
  4. نمودار تعامل : این نمودار ها بیان کننده ی تعاملات سیستم هستند که شامل اشیا مختلف و روابط بین آن ها و همچنین پیغام هایی است که بین آن ها رد و بدل می شود، این نمودار ها جنبه های پویای یک سیستم را مدل می کند و خود بر دو نوع هستند: الف) نمودار توالی؛ که ترتیب زمانی تعامل ها را نشان می دهد. ب) نمودار هم کاری؛ که تاکید دارد بر نمایش ساختاری تعامل ها و همکاری عناصر سیستم برای رسیدن به اهداف مورد نظر.
  5. نمودار حالت : بیان کننده ی جنبه های رفتاری سیستم می باشد و در واقع توصیف رسمی یک کلاس بوده که شامل حالات، انتقال بین حالات، رخدادها و فعالیت ها می باشد، از این نمودار ها برای نشان دادن چرخه ی حیات اشیا یک کلاس خاص نیز می توان استفاده کرد.
  6. نمودار فعالیت : نوع خاصی از نمودار حالت است که انتقال جریان از یک فعالیت به فعالیت دیگر را نمایش می دهد، این نمودار جنبه های پویای یک سیستم را نمایش می دهد، در واقع حالات این نمودار گام های ترتیبی انجام یک عمل را نمایش می دهد.
  7. نمودار اجزا : از جمله نمودارهای پیاده سازی می باشد و سازمان دهی و روابط بین مجموعه ای از اجزا را نمایش می دهد. این نمودار جنبه های ایستای پیاده سازی یک سیستم را مدل می کند.
  8. نمودار استقرار : این نمودار پیکربندی گره های پردازشی زمان اجرا را نمایش می دهد که برای مدل کردن جنبه های ایستای یک معماری به کار می رود، همچنین نمایش دهنده ی اجزای استفاده شده ی زمان اجرا، فایل های اجزایی، کدهای مبدا و روابط بین آن ها می باشد.