چگونگی شناسایی نیازمندیها برای ایجاد نرمافزار خودانطباق در شرایط عدم اطمینان نیازمندی
محورهای موضوعی : مهندسی برق و کامپیوتررایحه معینفر 1 , احمد عبدالهزاده بارفروش 2 , سیدمهدی تشکری هاشمی 3
1 - دانشگاه صنعتی امیرکبیر
2 - دانشگاه صنعتی امیرکبیر
3 - دانشگاه صنعتی امیرکبیر
کلید واژه:
چکیده مقاله :
یکی از چالشهای اساسی در تولید سیستمهای نرمافزاری، به روز رسانی نیازمندیها در مرحله تولید و اجرا است که میتواند ناشی از عدم اطمینان از فهم و خواسته ذینفعان باشد. عدم اطمینان در نیازمندی، لزوم تولید یک معماری انعطافپذیر و قابل انطباق جهت مدیریتکردن ریسک سیستم در مرحله اجرا را ایجاد میکند. مدلکردن عدم اطمینان در فرایند تولید نرمافزار و انطباق معماری نرمافزار با تغییر نیازمندیها در زمان اجرا به صورت خودکار از جمله راه حلهایی هستند که در این زمینه مطرح میشوند. جهت پیادهسازی و اجرایینمودن سنجش و رفع عدم اطمینان نیازمندی در مراحل تولید و اجرا از طریق مدلسازی و خودکارسازی آن، نیازمند کمی و محاسباتینمودن نیازمندی هستیم. این مقاله ضمن تبیین منابع عدم اطمینان، به کمیکردن نیازمندیها و ویژگیهای توصیفی و کیفی میپردازد. به این ترتیب، تصمیمگیری در هر مرحله از فرایند تولید نرمافزار، مبتنی بر محاسبات عددی میباشد که راهی برای خودکارسازی تولید نرمافزار است.
One key challenge in software systems development is changing requirements at development phases or run-time. This might happen as the result of uncertainty in stakeholder requirements. Uncertain requirements drive a flexible and therefore adaptable architecture to manage risks at run-time. Modeling uncertainty to adapt architecture automatically is an effective solution when requirements change. In order to evaluate requirements and handle uncertainty by modeling and self-managing, it is advantageous to quantify requirements, computationally. This study besides understanding the sources of uncertainty, investigates how to quantify requirements and quality attributes. Subsequently, decision making at all software development phases will be based on numerical analysis that leads to autonomic software development.
