در سیستمهای سنتی، خروجیها عمدتاً قطعی (Deterministic) هستند—یعنی با ورود یکسان، سیستم همیشه خروجی یکسانی تولید میکند. اما در مقابل، سیستمهای هوشمند (Intelligent Systems) اغلب خروجیهایی مبتنی بر احتمال یا اعتماد (Confidence-based Outputs) ارائه میدهند؛ برای مثال، «۹۲٪ احتمال وقوع تقلب» یا «۸۷٪ اطمینان در تشخیص تصویر». این ویژگی باعث میشود که مشخصسازی دقیق نیازمندیها بر اساس خروجی، همانند رویکرد سنتی، دشوار باشد.
در چنین شرایطی، نیاز به استفاده از معیارهای جدیدی نظیر دقت (Accuracy)، دقت مثبت (Precision)، یادآوری (Recall)، امتیاز F1 (F1 Score)، و آستانه اطمینان (Confidence Thresholds) بهوجود میآید. این معیارها ماهیتی آماری دارند و در طول مجموعهای از دادهها (Datasets) ارزیابی میشوند، نه بر مبنای منطق صوری (Logical Proof) یا قواعد قطعی.
انواع نیازمندیهایی که پرسمن (Pressman) معرفی میکند—از جمله نیازمندیهای عملکردی (Functional Requirements)، غیرعملکردی (Non-Functional Requirements) و عملکردی/کارآیی سیستم (Performance Requirements)—بهتنهایی قادر به پوشش دادن این اشکال جدید از عدم قطعیت نیستند.
برای مثال، نیازی مانند:
«سیستم باید ایمیلها را با حداقل ۹۵٪ دقت مثبت (Precision) و ۹۰٪ یادآوری (Recall) طبقهبندی کند»
یک نیاز رایج در سیستمهای یادگیرنده است، اما بررسی و اعتبارسنجی آن تنها از طریق آزمونهای آماری بر روی دادهها امکانپذیر است، نه از طریق تحلیلهای منطقی سنتی [1], [2]. بنابراین، مهندسی نیازمندیها در سیستمهای هوشمند مستلزم پذیرش و انطباق با عدم قطعیت، ارزیابیهای آماری، و تعریف خروجیهایی با طیفهای احتمال و نه پاسخهای قطعی است.
[1] G. Giray, “A software engineering perspective on engineering machine learning systems: State of the art and challenges,” J. Syst. Softw., vol. 180, p. 111031, Oct. 2021, doi: 10.1016/j.jss.2021.111031.
[2] R. S. Pressman and B. R. Maxim, “Software Engineering,” 2020.