دانش آموز
سه شنبه 14 تیر 1390, 09:05 صبح
مهندسی نیازمندیها مکانیزم مناسبی را جهت درک خواسته های خریداران فراهم می سازد و نیز امکان تحلیل آن نیازها، برآورد امکانات، دستیابی به راه کارهای منطقی، بیان راه حل مذکور به طور روشن و واضح، ارزیابی خصوصیات و مدیریت نیازمندیها هنگامی که به سیستم عملیاتی تبدیل می شوند را فراهم می آورد.
نیازمندیها بخش مهمی از متد RUP می باشد و درواقع ورود اطلاعات به فاز RUP از این مرحله آغاز میگردد و نیازهای عملیاتی ما در این قسمت تبدیل به use case خواهد شد .
در ابتدا باید به این نکته توجه داشته باشیم که سه راه حل سازمان برای هر مسئله هر کاری شامل :
- هیچ کاری انجام نمی گیرد
- تغییر و ارتفا سیستم موجود
- ایجاد یک سیستم موجود
مهم ترین گام تحلیل : جمع آوری اطلاعات درباره سیستم موجود به منظور انتخاب یکی از سه راه حل می باشد .
نکته : قبل از مرحله نیازمندیها ما قسمت امکان سنجی را داریم که شامل :
- امکان سنجی فنی و اقتصادی
بازگشت سرمایه
ارزش خالص فعلی
تحلیل نقطه سر به سر
- امکان سنجی سازمانی
توانایی سازمان برای دستیابی به پروژه های پیشنهاد شده
- امکان سنجی رفتاری
پیامدهای انسانی درگیر در پروژه مثل مقاومت در برابر تغییرات ونیازها و تمرینهای مهارتی
به نیازمندیها باز می گردیم و توضیحاتی را در مورد این بخش مهم خواهیم داد .
تحلیل نیازمندیها و مذاکرات مربوطه :
پس از جمع آوری اطلاعات در مرحله تعیین نیازها نیازمندیها دسته بندی شده وبه صورت مجموعه ها و زیرمجموعه های مربوط در می آیند آنگاه هر یکی از نیازمندیها در ارتباط با دیگر نیازها بررسی می گردد آنها از نظر ثبات و سازگاری قابلیت حذف شدن و عدم وجود ابهام سنجیده می شود و مورد آزمون قرار می گیرد و سرانجام اولویت نیازمندیها بر اساس خواسته ها وانتظارات خریداران و کاربران تعیین می گردد .
پرسشهایی که در حین فعالیت تحلیل نیازمندیها باید پاسخ داده شود :
آیا هر نیازمندی با هدف کل سیستم و یا محصول مورد نظر سازگاری دارد
آیا این نیازمندی با دیگر نیازمندیها مغایرت دارد
چه چیزی : سطوح مختلف و انواع نیلزمندیهای که باید تعریف شوند
نرم افزار باید چه کاری انجام دهد که برای خریدار ارزش افزوده محسوب شود
نکته : "اگر شما نیازمندیها را درست نگیرید هیچ اهمیتی نخواهد داشت که شما چیزهای دیگر را چقدر خوب انجام داده باشید "
واین مسئله را همیشه در نظر بگیرید که مدیریت نیازمندیها یک فعالیت مداوم در چرخه ی حیات توسعه ی نرم افزار می باشد .
مشکلات در تعیین نیازمندیها :
خریدار از موارد نیاز خود آگاهی نداشته باشد .
نیازها در طول زمان تغییر می کند .
فرآیند نیازمندیها شامل 6 قسمت زیر است :
مرحله یافتن نیازمندیها
مرحله تحلیل نیازمندیها و انجام بحث و گفتگو در مورد آنها
مرحله تعیین مشخصات نیازمندیها
مرحله مدلسازی سیستم
مرحله ارزیابی نیازمندیها
مرحله مدیریت نیازمندیها
رهنمودهای سامرویل برای یافتن نیازمندیها :
شناخت افرادی که می توانند به مشخص کردن نیازمندیها و نیز به درک خواسته های خریداران و تمایل به سازمان یافتگی کمک کنند .
تعریف کردن محیط تکنیکی برای عرصه ای که سیستم یا محصول در آن جای میگیرد .
تعریف کردن حوزه محدودیت ها که دایره عملیات ویا کارکرد سیستم یا محصولی که قصد ساختن آن را داریم محدود می کند .
از افراد زیادی جهت شرکت در نشست ها دعوت به عمل می آید تا نیازمندیها از دیدگاههای مختلف بررسی شود .
نمونه سوالات استانداردی که میتواند در مرحله جمع آوری اطلاعات و تعیین نیازمندها به شما کمک کند :
وظایف کاری خود را در محیط کار توضیح بدهید ؟
وظایف اصلی مشتمل/معاونت/مدیریت تحت امر شما چیست ؟
مشکلات اداری و اطلاعاتی شما چیست ؟
با چه سازمانها و چه بخشهایی در ارتباط هستید و مراوده اطلاعاتی شما چگونه است؟
اگر پس از یک مرخصی طولانی مدت به محل کار خود برگردید مطالبی را که در مورد تیم کاری خودتان میخواهید بدانید چیست ؟
بروز اشتباه در چه فعالیتهایی در سیستم اداری شما موجب نگرانی شما میباشد ؟
ورودیها و خروجیهای سیستم شما چیست ورودیها چگونه و از کجا به دست شما می رسد ؟
چه خروجیهای باید تولید شود ؟
بدیهی است که تعریف و تشخیص نیازمندیها در یک سازمان جدا از فهم کلی نیازمندیها احتیاج به تجربه و تکرار دارد امیدوارم مطالب کاربردی و اصلی که در این قسمت توضیح داده شد راه گشای مهندسان نرم افزار در جمع آوری اطلاعات و تشخیص نیازمندیها باشد .
منابع : مهندسی نرم افزار (پرسمن)
نیازمندیها بخش مهمی از متد RUP می باشد و درواقع ورود اطلاعات به فاز RUP از این مرحله آغاز میگردد و نیازهای عملیاتی ما در این قسمت تبدیل به use case خواهد شد .
در ابتدا باید به این نکته توجه داشته باشیم که سه راه حل سازمان برای هر مسئله هر کاری شامل :
- هیچ کاری انجام نمی گیرد
- تغییر و ارتفا سیستم موجود
- ایجاد یک سیستم موجود
مهم ترین گام تحلیل : جمع آوری اطلاعات درباره سیستم موجود به منظور انتخاب یکی از سه راه حل می باشد .
نکته : قبل از مرحله نیازمندیها ما قسمت امکان سنجی را داریم که شامل :
- امکان سنجی فنی و اقتصادی
بازگشت سرمایه
ارزش خالص فعلی
تحلیل نقطه سر به سر
- امکان سنجی سازمانی
توانایی سازمان برای دستیابی به پروژه های پیشنهاد شده
- امکان سنجی رفتاری
پیامدهای انسانی درگیر در پروژه مثل مقاومت در برابر تغییرات ونیازها و تمرینهای مهارتی
به نیازمندیها باز می گردیم و توضیحاتی را در مورد این بخش مهم خواهیم داد .
تحلیل نیازمندیها و مذاکرات مربوطه :
پس از جمع آوری اطلاعات در مرحله تعیین نیازها نیازمندیها دسته بندی شده وبه صورت مجموعه ها و زیرمجموعه های مربوط در می آیند آنگاه هر یکی از نیازمندیها در ارتباط با دیگر نیازها بررسی می گردد آنها از نظر ثبات و سازگاری قابلیت حذف شدن و عدم وجود ابهام سنجیده می شود و مورد آزمون قرار می گیرد و سرانجام اولویت نیازمندیها بر اساس خواسته ها وانتظارات خریداران و کاربران تعیین می گردد .
پرسشهایی که در حین فعالیت تحلیل نیازمندیها باید پاسخ داده شود :
آیا هر نیازمندی با هدف کل سیستم و یا محصول مورد نظر سازگاری دارد
آیا این نیازمندی با دیگر نیازمندیها مغایرت دارد
چه چیزی : سطوح مختلف و انواع نیلزمندیهای که باید تعریف شوند
نرم افزار باید چه کاری انجام دهد که برای خریدار ارزش افزوده محسوب شود
نکته : "اگر شما نیازمندیها را درست نگیرید هیچ اهمیتی نخواهد داشت که شما چیزهای دیگر را چقدر خوب انجام داده باشید "
واین مسئله را همیشه در نظر بگیرید که مدیریت نیازمندیها یک فعالیت مداوم در چرخه ی حیات توسعه ی نرم افزار می باشد .
مشکلات در تعیین نیازمندیها :
خریدار از موارد نیاز خود آگاهی نداشته باشد .
نیازها در طول زمان تغییر می کند .
فرآیند نیازمندیها شامل 6 قسمت زیر است :
مرحله یافتن نیازمندیها
مرحله تحلیل نیازمندیها و انجام بحث و گفتگو در مورد آنها
مرحله تعیین مشخصات نیازمندیها
مرحله مدلسازی سیستم
مرحله ارزیابی نیازمندیها
مرحله مدیریت نیازمندیها
رهنمودهای سامرویل برای یافتن نیازمندیها :
شناخت افرادی که می توانند به مشخص کردن نیازمندیها و نیز به درک خواسته های خریداران و تمایل به سازمان یافتگی کمک کنند .
تعریف کردن محیط تکنیکی برای عرصه ای که سیستم یا محصول در آن جای میگیرد .
تعریف کردن حوزه محدودیت ها که دایره عملیات ویا کارکرد سیستم یا محصولی که قصد ساختن آن را داریم محدود می کند .
از افراد زیادی جهت شرکت در نشست ها دعوت به عمل می آید تا نیازمندیها از دیدگاههای مختلف بررسی شود .
نمونه سوالات استانداردی که میتواند در مرحله جمع آوری اطلاعات و تعیین نیازمندها به شما کمک کند :
وظایف کاری خود را در محیط کار توضیح بدهید ؟
وظایف اصلی مشتمل/معاونت/مدیریت تحت امر شما چیست ؟
مشکلات اداری و اطلاعاتی شما چیست ؟
با چه سازمانها و چه بخشهایی در ارتباط هستید و مراوده اطلاعاتی شما چگونه است؟
اگر پس از یک مرخصی طولانی مدت به محل کار خود برگردید مطالبی را که در مورد تیم کاری خودتان میخواهید بدانید چیست ؟
بروز اشتباه در چه فعالیتهایی در سیستم اداری شما موجب نگرانی شما میباشد ؟
ورودیها و خروجیهای سیستم شما چیست ورودیها چگونه و از کجا به دست شما می رسد ؟
چه خروجیهای باید تولید شود ؟
بدیهی است که تعریف و تشخیص نیازمندیها در یک سازمان جدا از فهم کلی نیازمندیها احتیاج به تجربه و تکرار دارد امیدوارم مطالب کاربردی و اصلی که در این قسمت توضیح داده شد راه گشای مهندسان نرم افزار در جمع آوری اطلاعات و تشخیص نیازمندیها باشد .
منابع : مهندسی نرم افزار (پرسمن)