• Products
    مطابق با جستجوی شما محصولی یافت نشد. توجه فرمایید که در جستجو ترتیب عبارات وارد شده مهم می باشد.

    نیازمندی نرم افزار چیست ؟ معرفی انواع نیازمندی ها

    در فرآیند توسعه نرم افزار ، مرحله نیاز اولین فعالیت مهندسی نرم افزار است. این مرحله یک مرحله تحت سلطه کاربر است و ایده ها یا دیدگاه ها را به یک سند ضروری ترجمه میکند.

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

    مرحله نیاز شامل مجموعه ای از وظایف است که به تعیین تأثیر نرم افزار بر سازمان ، نیازهای مشتریان و نحوه تعامل کاربران با نرم افزار توسعه یافته کمک می کند.

    نیازمندی ها اساس طراحی سیستم است. در صورت عدم صحت نیازمندی ها ، محصول نهایی نیز دارای خطاهایی خواهد بود.

    توجه داشته باشید که فعالیتهای مورد نیاز مانند سایر فعالیتهای مهندسی نرم افزار باید با نیازهای فرآیند ، پروژه ، محصول و افراد درگیر در فعالیت سازگار باشد.

    همچنین ، نیازمندی ها باید در سطوح مختلف جزئیات مشخص شود. این بدان دلیل است که نیازمندی ها برای افرادی مانند کاربران ، مدیران مشاغل ، مهندسان سیستم و غیره منظور شده است.

    به عنوان مثال ، مدیران کسب و کار علاقه دارند بدانند که چه ویژگی هایی را می توان در بودجه اختصاص یافته اجرا کرد در حالی که کاربران نهایی علاقه دارند بدانند که استفاده از ویژگی های نرم افزار آسان است.

     

    نیازمندی نرم افزار چیست؟

     

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

    مشکلات می تواند به صورت خودکار بخشی از سیستم ، اصلاح نواقص سیستم موجود ، کنترل یک دستگاه و غیره باشد.

     

    IEEE نیازمندی را چنین تعریف می کند: 1) شرایط یا قابلیت مورد نیاز کاربر برای حل مسئله یا رسیدن به یک هدف.

     

    (2) شرایط یا قابلیتی که باید برای تأمین قرارداد ، استاندارد ، مشخصات یا سایر اسناد رسمی اعمال شده توسط یک سیستم یا مولفه سیستم وجود داشته باشد یا داشته باشد.

     

     (3) نمایش مستند یک شرایط یا توانایی مانند (1) یا (2).

    الزامات نحوه عملکرد ، ظهور یا اجرا ی یک سیستم را توصیف می کند.

    برای این ، هنگامی که کاربران درخواست نرم افزار می کنند ، آنها تقریبی از آنچه سیستم جدید باید انجام دهد را فراهم می کنند.نیازمندی ها از یک کاربر به کاربر دیگر و  از یک فرآیند کاری (تجاری) به فرآیند دیگر متفاوت است.


    دستورالعمل‌های برای بیان نیازمندی ها:

    هدف از سند نیازمندی ها ارائه مبنایی برای درک متقابل بین کاربران و طراحان از تعریف اولیه چرخه حیاط توسط نرم افزار (اس دی ال سی) شامل نیازمندی ها محیط عملیاتی و برنامه توسعه میباشد.

    سند نیازمندی ها باید شامل مرور کلی ، روشها و رویه های پیشنهادی ، خلاصه ای از پیشرفت ها ، خلاصه ای از تأثیرات ، امنیت ، حریم خصوصی ، ملاحظات کنترل داخلی ، ملاحظات هزینه و گزینه های دیگر باشد.

     

    بخش نیازمندی ها باید کارکرد ضروری در نرم‌افزار را به صورت کمی و کیفی بیان کند و اینکه چگونه این کارکردها اهداف عملکردی را برآورده خواهند کرد.

    سند نیازمندی ها همچنین  باید نیازهای  عملکردی مانند دقت، اعتبار سنجی، زمان‌بندی و انعطاف‌پذیری را مشخص کند. ورودی ها ، خروجی ها و مشخصه های داده ها باید توضیح داده شوند.در نهایت

    در نهایت سند نیازمندی ها باید محیط عملیاتی را توصیف کرده و یک برنامه توسعه ارایه(یا ارجاع به) نماید.

    هیچ روش استانداردی برای بیان نیازمندی های  مستند وجود نداردنیازمندی  را می‌توان به طور موثر با تجربه افراد مطلع , مشاهده الزامات گذشته , و با پیروی از دستورالعمل‌های زیر بیان کرد. دستورالعمل‌ها به عنوان یک روش کارآمد برای بیان نیازمندی ها عمل می‌کنند که همچنین مبنایی برای توسعه نرم‌افزار , تست سیستم و رضایت کاربر فراهم می‌کنند .

    دستورالعمل‌هایی که معمولا ً به دنبال نیازمندی  مستند می‌گردند در زیر لیست شده‌اند:

     

    ۱. جملات  و بندها باید کوتاه و با صدای فعال نوشته شوند . همچنین دستور زبان مناسب, تلفظ صحیح, و نقطه‌گذاری را باید مورد استفاده قرار داد .

     

    ۲. حروف ربط  مانند " و " و " یا " باید از آن اجتناب کنند چرا که نشان‌دهنده ترکیبی از چندین مورد نیاز در یک نیاز است . 

    3)هر الزام باید فقط یک بار بیان شود تا در سند مشخصات الزامات افزونگی ایجاد نکند.

     


    انواع نیازمندی ها:
    نیازمندی ها به درک رفتار یک سیستم کمک می کند ، که توسط وظایف مختلف سیستم توصیف می شود.
    برای مثال ، برخی از وظایف یک سیستم ، ارایه پاسخ به مقادیر ورودی ، تعیین وضعیت اشیا داده ، و غیره هستند. توجه داشته باشید که الزامات قبل از توسعه نرم‌افزار در نظر گرفته می‌شوند . الزامات , که عموما در نظر گرفته می‌شوند , به سه دسته تقسیم می‌شوند : نیازمندی‌های کاربردی , نیازمندی های عملکردی , و نیازهای دامنه

    IEEE نیازمندی های  عملکردی را به عنوان "تابعی که یک سیستم یا مولفه باید قادر به انجام آن باشد" تعریف می کند. این نیازمندی ها تعامل نرم افزار با محیط آن را توصیف می کند و ورودی ها ، خروجی ها ، رابط های خارجی و توابعی را که باید در نرم افزار گنجانده شود ، مشخص می کند. همچنین ، خدمات ارائه شده توسط الزامات عملکردی روشی را مشخص می کنند که توسط آن نرم افزار باید نسبت به ورودی های خاص واکنش نشان دهد یا در شرایط خاص رفتار کند.

     

    برای درک صحیح نیازمندی های  عملکردی ، اجازه دهید مثال زیر را در مورد سیستم بانکی آنلاین بررسی کنیم.

    1. کاربر بانک باید بتواند خدمات مورد نظر خود را از طریق خدمات موجود جستجو کند.
    2. باید اسناد مناسب برای خواندن کاربران وجود داشته باشد. این بدان معنی است که وقتی کاربری می خواهد حساب خود را در بانک باز کند ، فرم ها باید در دسترس باشد تا کاربر بتواند حساب خود را باز کند.
    3. پس از ثبت نام ، باید یک شماره تأییدیه منحصر به فرد به کاربر ارائه شود تا بعداً شماره حساب به او داده شود.

     

    نیازمندی های  عملکردی فوق الذکر خدمات ویژه ارائه شده توسط سیستم بانکی آنلاین را توصیف می کند. این نیازمندی ها  نیازهای کاربر را نشان می دهد و مشخص می کند که نیزمندی های  عملکردی ممکن است در سطوح مختلف جزئیات در یک سیستم بانکی آنلاین توصیف شود. با کمک این نیازهای  کاربردی ، کاربران می توانند به راحتی فرم های ثبت نام و سایر اطلاعات مربوط به بانک را مشاهده ، جستجو و بارگیری کنند. از طرف دیگر ، اگر نیازمندی ها  به درستی بیان نشود ، توسط مهندسان نرم افزار سوء تعبیر می شود و نیازهای کاربر برآورده نمی شود.

    نیازمندی عملکردی باید کامل و سازگار باشد. کامل بودن به این معنی است که تمام نیازهای کاربر تعریف شده است. سازگاری به این معنی است که همه نیازها بدون هیچ تعریف متناقضی مشخص شده اند. به طور کلی مشاهده می شود که به دلیل مشکلاتی که هنگام تعریف نیازهای عملکردی این سیستم ها بوجود می آیند ، نمی توان در نرم افزارهای بزرگ یا در یک سیستم پیچیده ، کامل و سازگار را به دست آورد. نیازهای مختلف ذینفعان نیز از دستیابی به کامل بودن و سازگاری جلوگیری می کند. به همین دلایل ، نیازمندی ها  ممکن است در صورت مشخص نبودن ، برای اولین بار مشخص شده و بیشتر منجر به ناسازگاری در مشخصات نیازمندی  شود.

     

     


    نیازمندی   غیر عملکردی (همچنین به عنوان نیاز های  کیفیت نیز شناخته می شوند) مربوط به ویژگی های سیستم مانند قابلیت اطمینان و زمان پاسخ هستند. نیاز های  غیر عملکردی به دلیل نیازهای کاربر ، محدودیت های بودجه ، سیاست های سازمانی و غیره بوجود می آیند. این نیاز ها  ارتباط مستقیمی با عملکرد خاص ارائه شده توسط سیستم ندارند.

     

    برای عملکرد موثر آن ، باید در نرم افزار نیازهای  غیر عملکردی وجود داشته باشد. به عنوان مثال ، اگر هواپیما نتواند نیاز های  اطمینان را برآورده کند ، برای عملکرد ایمن تأیید نمی شود. به همین ترتیب ، اگر یک سیستم کنترل زمان واقعی در انجام نیاز های  غیر عملکردی بی اثر باشد ، توابع کنترل نمی توانند به درستی کار کنند.

     

    شرح انواع مختلف الزامات غیر عملکردی در زیر ذکر شده است.

    1. نیاز های محصول: این نیاز ها نحوه عملکرد محصول نرم افزار را مشخص می کند. نیازهای محصول شامل موارد زیر است.
    2. نیاز ها ی کارایی: میزان استفاده بهینه از نرم افزار ، سرعت اجرای سیستم و حافظه ای را که برای عملکرد خود مصرف می کند ، توصیف کنید. به عنوان مثال ، سیستم باید بتواند حداقل سه برابر سریعتر از سیستم موجود کار کند.
    3. نیاز های قابلیت اطمینان: میزان شکست قابل قبول نرم افزار را توصیف کنید. به عنوان مثال ، حتی اگر خطری رخ دهد ، این نرم افزار باید بتواند کار کند.
    4. نیاز های قابل حمل: سهولت انتقال نرم افزار از یک سیستم عامل به پلتفرم دیگر را توصیف کنید. به عنوان مثال ، انتقال نرم افزار به سیستم عامل متفاوت بدون نیاز به طراحی مجدد کل نرم افزار ، باید آسان باشد.
    5. نیاز های کاربرد: سهولت کاربران برای عملکرد نرم افزار را شرح دهید. به عنوان مثال ، این نرم افزار باید بتواند با فشارهای کمتر و کلیک ماوس به قابلیت دسترسی دسترسی پیدا کند.
    6. نیاز های سازمانی: این نیاز ها از سیاست ها و رویه های یک سازمان حاصل می شود. نیاز های  سازمانی شامل موارد زیر است.
    7. شرایط تحویل: زمان تحویل نرم افزار و مستندات آن به کاربر را مشخص کنید.
    8. نیاز های پیاده سازی: نیازهایی مانند زبان برنامه نویسی و روش طراحی را توصیف کنید.
    9. نیاز های استاندارد: استانداردهای فرآیند مورد استفاده در طول توسعه نرم افزار را توصیف کنید. به عنوان مثال ، نرم افزار باید با استفاده از استانداردهای مشخص شده توسط استانداردهای ISO و IEEE تولید شود.
    10. نیاز های خارجی: این نیازها شامل کلیه نیازهایی است که بر نرم افزار یا روند توسعه آن از خارج تأثیر می گذارد. نیازهای خارجی شامل موارد زیر است.
    11. نیاز های قابلیت همکاری: نحوه تعامل سیستم های مختلف مبتنی بر رایانه با یکدیگر در یک یا چند سازمان را تعریف کنید.
    12. نیاز های اخلاقی: قوانین و مقررات نرم افزار را مشخص کنید تا برای کاربران قابل قبول باشد.
    13. نیاز ها ی قانونی: اطمینان حاصل کنید که این نرم افزار در حوزه قضایی قانونی فعالیت می کند. به عنوان مثال ، نرم افزارهای غیرقانونی نباید فروخته شوند.

     

     


    تأیید نیازهای غیر عملکردی دشوار است. از این رو ، نوشتن نیازهای غیر عملکردی به صورت کمی ضروری است ، تا بتوان آنها را آزمایش کرد. برای این منظور ، از معیارهای مورد نیاز غیر عملکردی استفاده می شود. این معیارها در جدول ذکر شده است.

    معیارهای مورد نیاز غیر عملکردی

    امکانات

    معیارها

    سرعت

    معامله پردازش شده / ثانیه

    زمان پاسخ کاربر / رویداد

    نرخ بروزرسانی نمایشگر

    اندازه

    میزان حافظه (KB)

    تعداد تراشه های RAM.

    راحتی در استفاده

    وقت تمرین

    تعداد پنجره های راهنما

    قابلیت اطمینان

    میانگین زمان شکست (MTTF)

    قابل حمل بودن در دسترس نبودن

    میزان وقوع خرابی

    نیرومندی

    زمان شروع مجدد پس از خرابی

    درصد وقایع باعث شکست

    احتمال خرابی داده ها در هنگام خرابی

    قابل حمل بودن

    درصد عبارات وابسته به هدف

    تعداد سیستم های هدف

    نیاز هایی  که از دامنه برنامه سیستم به جای نیاز کاربران گرفته می شود ، به عنوان نیاز های  دامنه شناخته می شوند. این نیاز ها ممکن است نیازهای عملکردی جدید باشد یا روشی را برای انجام برخی محاسبات خاص مشخص کند. علاوه بر این ، این نیاز ها  شامل هر محدودیتی است که ممکن است در نیازهای  عملکردی موجود وجود داشته باشد. از آنجا که نیاز های  دامنه اصول دامنه برنامه را منعکس می کند ، درک این نیاز ها  مهم است. همچنین ، اگر این نیاز ها  برآورده نشود ، ممکن است مشکل باشد. سیستم به دلخواه کار کند.

     

    یک سیستم می تواند شامل تعدادی مورد نیاز دامنه باشد. به عنوان مثال ، ممکن است شامل یک محدودیت طراحی باشد که رابط کاربری را توصیف می کند ، که توانایی دسترسی به تمام پایگاه های داده مورد استفاده در یک سیستم را دارد. برای یک تیم توسعه دهنده ایجاد پایگاه داده و طراحی رابط مطابق با استانداردهای تعیین شده مهم است. به همین ترتیب ، نیاز های  کاربر مانند محدودیت های حق چاپ و سازوکار امنیتی برای پرونده ها و اسناد مورد استفاده در سیستم نیز از ملزومات دامنه است. وقتی نیاز های  دامنه به وضوح بیان نشوند ، می تواند منجر به مشکلات زیر شود.

     

    مشکل قابل درک بودن: وقتی نیازهای دامنه به زبان دامنه کاربرد (مانند عبارات ریاضی) مشخص شود ، درک آنها برای مهندسان نرم افزار دشوار می شود.

    مشکل ضمنی: هنگامی که متخصصان دامنه نیازهای دامنه را درک می کنند اما این نیازمندی ها  را به روشنی بیان نمی کنند ، ممکن است برای تیم توسعه مشکلی ایجاد کند تا نیازها را در سیستم درک و پیاده سازی کند.

    توجه: اطلاعات مربوط به نیازها در یک پایگاه داده ذخیره می شود که به تیم توسعه دهنده نرم افزار کمک می کند تا نیازهای کاربر را درک کرده و نرم افزار را با توجه به آن نیازها توسعه دهد.

    فرآیند مهندسی نیازمدی ها

    این فرایند یک سری فعالیتهایی است که در مرحله نیازها برای بیان نیازها در سند مشخصات نیازمندیهای نرم افزار SRS) )انجام می شود. این کار بر درک نیازها و نوع آن متمرکز است تا تکنیک مناسبی برای انجام فرآیند مهندسی نیازمندی ها  RE) )تعیین شود. نرم افزار جدیدی که پس از جمع آوری نیازها تولید شده است ، جایگزین نرم افزار موجود می شود یا ویژگی ها و عملکرد آن را افزایش می دهد. به عنوان مثال ، حالت پرداخت نرم افزار موجود را می توان از پرداخت از طریق چک های دست نوشته به پرداخت الکترونیکی قبض ها تغییر داد.

    یک فرآیند RE نشان داده شده است که شامل مراحل مختلفی از جمله مطالعه امکان سنجی ، استخراج نیازمندی ها ، تجزیه و تحلیل نیازمندی ها ، مشخصات نیازمندی ها ، اعتبار سنجی نیازمندی ها و مدیریت نیازها است.

     

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

    توضیحات خود را بنویسید

    back to top
    فیلترگذاری