الزامات غیر عملکردی (NFR) جنبه های مهم یک سیستم نرم افزاری هستند، اما توسعه دهندگان اغلب آنها را نادیده می گیرند زیرا آنها جنبه هایی از نرم افزار نیستند که کاربران مستقیماً با آنها در تعامل باشند. یک مطالعه جدید به چگونگی رویکرد توسعهدهندگان به تهیه پیشنویس الزامات غیرعملکردی (NFR) میپردازد و شش روش برتر برای مدیریت NFR را شناسایی میکند که میتواند به تضمین امنیت و عملکرد نرمافزار در کوتاهمدت و بلندمدت کمک کند.
NFR ها نقش مهمی در نحوه عملکرد برنامه دارند. نمونه هایی از NFR ها عبارتند از: چقدر سیستم امن است. عملکرد، مانند مدت زمانی که طول می کشد تا سیستم دستورات کاربر را اجرا کند. استحکام، که به چگونگی بازیابی یک سیستم پس از وقوع یک خطا اشاره دارد. و قابلیت نگهداری، که توسعه دهندگان به راحتی می توانند سیستم را در طول زمان به روز کنند.
Wesley K. G. Assuncao، یکی از نویسندگان مقاله ای در مورد این موضوع و دانشیار علوم کامپیوتر در دانشگاه ایالتی کارولینای شمالی، می گوید: “NFR ها اجزای ضروری هر نرم افزاری هستند.”
“در این مطالعه، ما می خواستیم به چند سوال اساسی در مورد NFR ها پاسخ دهیم. کارشناسان مسئول این الزامات چه کسانی هستند؟ مهندسان نرم افزار چگونه این نوع نیازها را مورد بحث و مدیریت قرار می دهند؟”
برای این منظور، محققان 1533 درخواست کششی در GitHub مربوط به NFR ها را بررسی کردند تا ببینند توسعه دهندگان چگونه مسائل مربوط به NFR ها را مورد بحث و بررسی قرار داده اند. محققان همچنین تجزیه و تحلیل عمیقی از 63 توسعهدهنده انجام دادند که بهویژه در مورد مسائل مربوط به NFRها فعال بودند و نظرسنجی را با 44 توسعهدهنده انجام دادند تا درک عمیقتری از نظرات آنها در مورد NFRها به دست آورند.
Assuncao میگوید: «شاید تعجبآور نباشد که ما متوجه شدیم که توسعهدهندگان NFRها را هم به صورت فعال و هم به صورت واکنشی مورد بحث قرار میدهند – قبل از بروز مشکل و بعد از آن. “توسعه دهندگانی که بیشتر در بحث NFR ها فعال بودند، تا حد زیادی نقش های کلیدی در پروژه نرم افزار داشتند. این نشان می دهد که NFR ها نگرانی اصلی در طول نگهداری و تکامل نرم افزار هستند. این مطالعه بر نقش NFR ها در کیفیت نرم افزار و موفقیت سیستم های نرم افزار تاکید می کند. “
بر اساس تجزیه و تحلیل و گفتگو با توسعه دهندگان، محققان شش نکته کلیدی را شناسایی کردند که برای توسعه و حفظ NFR ها حیاتی است و به پیشرفت سیستم کمک می کند:
- اولویتبندی و برنامهریزی: نیازمندیهای ناپایدار باید با همان میزان اولویت با سایر الزامات برخورد شود. آنها باید از قبل برنامه ریزی شده و در طول پروژه توسعه بررسی شوند.
- تعریف و بحث: گزارشهای غیرمالی باید در مراحل اولیه توسعه شناسایی و مورد بحث قرار گیرند، به طور ایدهآل در مرحله طراحی. با پیشرفت برنامه، این NFR ها باید در صورت لزوم بازنگری شوند.
- استفاده از تکنیک های مرتبط با آزمایش: کفایت الزامات ریسک خالص را می توان از طریق تکنیک هایی که قبلاً توسط بازار تأیید شده است تأیید کرد، زیرا الزامات ریسک خالص مرتبط با این پروژه ها با پیچیدگی پروژه مطابقت دارد.
- معیارها: از معیارها برای شبیهسازی رفتار یک کد یا الگوریتم در شرایط مختلف توصیه میشود، زیرا به توسعهدهندگان اجازه میدهند زمانی که استانداردهای غیر ارجاعی مشخص شده برای پروژه را برآورده نمیکنند، کد را بازبینی و اصلاح کنند.
- مستندسازی بهترین روشها: با نگهداری مستندات NFR به خوبی مستند، توسعهدهندگان نقطه شروعی برای رسیدگی به هر مشکل NFR در صورت بروز آن خواهند داشت.
- ذهنیت بلند مدت: پرداختن صحیح به NFR ها احتمال عمر طولانی یک نرم افزار را افزایش می دهد. برای اطمینان از این امر، سیستم باید تجربه کاربری خوبی داشته باشد، باید در مقیاس طراحی شده باشد، و نگهداری آن توسط توسعه دهندگان آینده آسان باشد.
آسونکائو می گوید: «پیام اینجا واضح است. ما تشخیص میدهیم که ویژگیها و عملکردهای سیستم نرمافزاری – بخشهایی از نرمافزار که NFR نیستند – قابلیتهای کاری سیستم را نشان میدهند و برای شرکتها دارای ارزش استراتژیک هستند، با این حال، کار ما بر نقش اساسی که NFR ها بر روی کیفیت کلی سیستم ایفا میکنند، تاکید میکند سیستم نرم افزاری، آنها را کلید موفقیت سیستم می کند.”
این مقاله با عنوان «درک بحثهای توسعهدهنده و درک نیازهای غیرعملکردی: مورد اکوسیستم بهار» در 19 ژوئیه در سی و دومین کنفرانس بینالمللی مبانی مهندسی نرمافزار که در پورتو دو گالینهاس، برزیل برگزار میشود، ارائه خواهد شد. .
اولین نویسنده این مقاله اندرسون اولیویرا از PUC-Rio، برزیل است. این مقاله توسط João Lucas Correa، Juliana Alves Pereira، Daniel Coutinho، Caio Barbosa، Paulo Vitor CF Liborio، و Alessandro Garcia از PUC-Rio تالیف شده است. و رافائل دی ملو از دانشگاه فدرال ریودوژانیرو، برزیل.
اطلاعات بیشتر:
اولیویرا و همکاران درک بحث های توسعه دهندگان و درک الزامات غیر عملکردی: مورد اکوسیستم بهار، DOI: 10.1145/3643750، andersonjso.github.io/preprints/fse24oliveira.pdf
ارائه شده توسط دانشگاه ایالتی کارولینای شمالی
نقل قول: Six NFR Strategies for Improving Software Performance and Security (2024، 25 ژوئن) بازیابی شده در 25 ژوئن 2024 از https://techxplore.com/news/2024-06-nfr-strategies-software.html
این برگه یا سند یا نوشته تحت پوشش قانون کپی رایت است. علیرغم هرگونه معامله منصفانه به منظور مطالعه یا تحقیق خصوصی، هیچ بخشی بدون اجازه کتبی قابل تکثیر نیست. محتوا فقط برای مقاصد اطلاعاتی ارائه شده است.