فاز 1: تجزیه و تحلیل نیاز Requirement Analysis
تجزیه و تحلیل نیاز که با عنوان مهندسی نیازمندی نیز شناخته می شود، روشی است برای تعیین انتظارات کاربر از یک نرم افزار جدید در حال توسعه یا اصلاح. در فرآیند توسعه نرمافزار، گاهی اوقات به صورت کلی به عنوان جمعآوری نیازمندیها یا جمعآوری نیازها نامیده میشود. تجزیه و تحلیل نیازمندی ها شامل آن دسته از وظایفی است که به تعیین نیازها یا شرایط مورد انتظار از یک محصول یا پروژه جدید یا اصلاح شده، با در نظر گرفتن نیازمندی های سهامداران و ذینفعان مختلف که ممکن است حتی در تضاد با هم باشند، تجزیه و تحلیل، مستندسازی، اعتبارسنجی و مدیریت نیازهای نرم افزار یا سیستم می پردازد.
گردآوری الزامات چیست؟
جمع آوری نیازهای نرم افزار توانایی مورد نیاز کاربر نهایی برای حل یک مشکل یا دستیابی به یک هدف است. به عبارت سادهتر، نرمافزار باید بتواند انتظارات یک سیستم یا جزء سیستم را برآورده کند تا یک قرارداد، مشخصات، استانداردها یا سایر اسناد رسمی مورد نیاز را برآورده کند. در پایان، ما مشتاقانه منتظر توسعه نرم افزاری با کیفیت بالا هستیم که نیازهای واقعی مشتریان را به موقع و در حدود بودجه برآورده می کند.
بزرگترین چالش این است که چشم انداز محصول نهایی را با مشتری به اشتراک بگذارید. بسیار مهم است که همه پرسنل درگیر در پروژه باید درک کلی از ظاهر و عملکرد محصول داشته باشند.
در اینجا اهداف اصلی فرایند تجزیه و تحلیل نیازمندی ها در مرحله اولیه پروژه توسعه نرم افزار ارائه می گردند:
چگونگی: وظیفه مهندسی نرم افزار پل زدن شکاف بین مهندسی نیازمندی های سیستم و طراحی نرم افزار است.
نماهای متعامد: به طراح نرم افزار مدلی از اطلاعات سیستم (نمای ایستا)، عملکرد (نمای عملکردی)، و رفتار (نمای پویا) ارائه می دهد.
معماری نرم افزار: مدل به داده ها، معماری و طرح های سطح جزء تبدیل می گردد.
فرآیند تکراری و افزایشی: این انتظار را داشته باشید که لازم می شود در حین تجزیه و تحلیل کمی طراحی و در طول طراحی کمی تحلیل انجام دهید.
عملکردهای تجزیه و تحلیل نیازمندی ها
تحلیل نیازمندی ها برای موفقیت یا شکست سیستم ها یا فرآیندهای توسعه نرم افزار بسیار مهم است. این الزامات باید قابل اجرا، مستند، قابل اندازه گیری، قابل ردیابی، آزمایش پذیر و مرتبط با نیازها و فرصت های تجاری طبقه بندی شده باشند. نیاز باید تا سطحی از جزئیات تعریف شود که برای طراحی سیستم کافی باشد.
از نظر مفهومی، تجزیه و تحلیل نیازمندی ها شامل چهار نوع فعالیت است:
کسب نیازمندی ها: فرآیند ارتباط با کاربران برای تعیین نیازهای واقعی آنها. به این کار جمع آوری نیازمندی ها نیز گفته می شود.
تجزیه و تحلیل الزامات: فرآیند تشخیص احتمال مبهم بودن، مبهم، ناکافی یا متضاد بودن الزامات تایید شده و سپس حل این مسائل.
مدلسازی نیازمندیها: نیازمندیها ممکن است به اشکال مختلف مستند شوند. رایجترین آنها اسناد زبان طبیعی (Natural language)، موارد استفاده، دیدگاه کاربران، یا مشخصات فرآیند هستند.
مرور و گذشته نگری: اعضای تیم در مورد آنچه در تکرار اتفاق افتاده گمانه زنی هایی می کنند و اقداماتی را برای بهبود در آینده شناسایی می کنند.
تجزیه و تحلیل نیازمندی ها یک تلاش گروهی است که به ترکیبی از سخت افزار، نرم افزار، تخصص مهندسی و همچنین مهارت در برخورد با افراد نیاز دارد.
در اینجا فعالیت های اصلی تجزیه و تحلیل نیازمندی ها ذکر شده است:
- شناسایی نیازهای مشتریان.
- امکان سنجی سیستم را ارزیابی کنید.
- انجام تحلیل های اقتصادی و فنی.
- تخصیص توابع به عناصر سیستم.
- برنامه و محدودیت ها را تعیین کنید.
- ایجاد تعاریف سیستم.
تکنیک های تجزیه و تحلیل نیازمندی ها
تحلیل نیازمندی ها به سازمان ها کمک می کند تا نیازهای واقعی ذینفعان را مشخص کنند. در عین حال، تیم توسعه را قادر میسازد تا به جای صفحات متن، با ذینفعان به زبانی که آنها میفهمند (مانند نمودارها، مدلها و نمودارهای جریان) ارتباط برقرار کنند. باید این اطمینان حاصل شود که ما درک عمیقی از ایده مشتری، کاربران هدف، رقبا، مدل درآمد، و مهمتر از همه، محدود کردن ریسک تجاری و فنی جمع آوری شده است. تحلیلگران کسبوکار این اطلاعات را مصرف میکنند تا طرحی جامع ارائه دهند که کل محدوده، جریان کاربر، جدول زمانی و هزینه توسعه یک محصول نرمافزاری آماده بازار را مشخص میکند.