A formal methodology for the specification and analysis of imprecise requirements

1996 
Requirement analysis is one of most crucial tasks in the development of the software systems. However, it presents two major challenges: (1) requirements are usually conflicting with each other, and (2) requirements are often imprecise. Existing formal methods for requirement engineering are limited in analyzing trade-offs between conflicting requirements due to their difficulty in capturing the elasticity of imprecise requirements. In this dissertation, a systematic approach is developed for the specification and analysis of imprecise requirements. A formal foundation is established for specifying and analyzing imprecise requirements to detect their potential conflicts effectively. In this framework, the elasticity of imprecise requirements is captured using fuzzy logic and the relationships between requirements are formally classified into four categories: conflicting, cooperative, disjoint, and irrelevant. This formal foundation enables us to develop two categories of practical techniques to analyze requirements and detect potential conflicts effectively: knowledge based requirement analysis and analytic matrix based requirement analysis. The knowledge based requirement analysis can infer relationships between requirements to detect implicit conflicts. The analytic matrix can be used to compute quantitative measures about relationships so that partially conflicting and cooperative requirements can be identified. Once conflicts are identified, they need to be resolved effectively. Prioritizing requirements is an important conflict resolution technique. We have thus developed a formal approach to assess the priority of imprecise requirements by analyzing the trade-offs preferred by the customer. Multiple requirements with priority are combined based on fuzzy multi-criteria decision making techniques. Reformulation techniques are developed to refine imprecise requirements if they are evaluated to be either infeasible from the developey's viewpoint or unsatisfactory from the customer's perspective. This methodology can reduce the cost of software development by detecting both explicit and implicit conflicts between requirements and enabling the trade-off analysis earlier in the software development cycle. It can increase the software quality since it enables the validation and verification of imprecise conflicting requirements using their explicit specification.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    3
    Citations
    NaN
    KQI
    []