Two major challenges with requirement analysis in concurrent engineering are: (1) requirements from multiple members of a concurrent engineering team are often conflictingwith each other; and (2) requirements are often imprecise in nature. Existing formal methods for requirement engineering are very limited in addressing these issues. More specifically, they have not fully explored the use of artificial intelligence technique for achieving effective trade-offs among conflicting imprecise requirements. This paper presents a comprehensive methodology for specifying imprecise requirements and for characterizing complex relationships among them to facilitate trade-off analysis. Imprecise requirements are represented by the canonical form in test-score semantics in fuzzy logic. A formal approach and a practical method are developed to analyze the complex relationships between requirements. Conflicting requirements can be identified and represented using both qualitative terms and quantitative measures. Multiple requirements with complex relationships among them are fused into an overall system requirement based on fuzzy multi-criteria decision techniques. To obtain a feasible overall system requirement that is satisfactory to customers, the iterative refinement of requirements and the negotiation between the customers and the requirement analysts regarding conflicting requirements are crucial. Our methodology supports the iterative process of refinement and negotiation by facilitating a formal trade-off analysis, by providing intelligent feedbacks generated based on the analysis, and by defining a clear process of compromise. Therefore, this methodology can help to achieve a better system objective that is satisfactory to customers and feasible to developers by fully exploiting the elasticity of imprecise requirements. In addition, the explicit specification of imprecise requirements provides a basis for verification and validation of software systems.
All Science Journal Classification (ASJC) codes
- Modeling and Simulation
- Computer Science Applications