Structuring Requirements Specifications with Goals

博士 === 國立中央大學 === 資訊工程研究所 === 87 === Of particular importance for any software system is to elicit and analyze the software requirements. A major challenge in requirements engineering of complex system is that the requirements to be captured are imprecise in nature and usually conflicting with each...

Full description

Bibliographic Details
Main Authors: Nien-Lin Xue, 薛念林
Other Authors: Jonathan Lee
Format: Others
Language:zh-TW
Published: 1999
Online Access:http://ndltd.ncl.edu.tw/handle/48038790073268663933
Description
Summary:博士 === 國立中央大學 === 資訊工程研究所 === 87 === Of particular importance for any software system is to elicit and analyze the software requirements. A major challenge in requirements engineering of complex system is that the requirements to be captured are imprecise in nature and usually conflicting with each other. User requirements are often expressed in general and qualitative terms which are vague (imprecise) in nature. Balzer et al. have argued that informality is an inevitable (and ultimately desirable) feature of the specification process. Borgida et al. have further elaborated that a good requirement modeling approach should take the problem of describing nature kinds into account, which usually runs the risk of being vague and subject to contradiction. In recent years, goal-based requirements analysis methods have attracted an increasing attention in the area of requirements engineering and trade-off analysis, as goals information are valuable in identifying, organizing and justifying software requirements. Robinson also emphasizes that many inconsistencies originate from conflicting goals, and their management should proceed at the goal level. The tenet of goal-based approaches is focusing on why systems are constructed, which provides the motivation and rationale to justify software requirements. This research is aimed to develop an goal-driven approach to capturing, analyzing and managing the imprecise or conflicting requirements. Toward these objectives, a goal-driven use cases and fuzzy object-oriented modeling have been developing with the following features: - Identifying goals based on a faceted classification scheme: competence, view and content. Competence concerns whether a goal is completely satisfied or only to a degree; view concerns whether a goal is actor-specific or system-specific; and content concerns whether a goal is functional and non-functional. - Extending use cases with goals to guide the derivation of use cases: A faceted classification scheme is proposed to identify goals from domain descriptions and system requirements; and a use case is viewed as a process that can be associated with a goal to be achieved, optimized, maintained, ceased, or impaired by the use case. - Analyzing the interactions among nonfunctional requirements: Four types of interacions among nonfunctional requirements are identified, which could be either conflicting, cooperative, irrelevant, or counterbalanced. - Formulating imprecise requirements along four dimensions: (1) to extend a class by grouping objects with similar properties into a fuzzy class, (2) to encapsulate fuzzy rules in a fuzzy class to describe the relationship between attributes, (3) to evaluate the membership function of a fuzzy class by considering both static and dynamic properties, and (4) to model uncertain fuzzy associations between classes. - Structuring fuzzy object-oriented models based on the interactions analyzed: Goals are organized into several alternatives based on the intracions analyzed to form a goals hierarchy; and a stable kernel is constructed to serve as a basis for further refinement in an increamental fashion. - Resolving conflicting requirements based on the root of conflicts. The root of conflicts are classified into competing resources, divergent expectations and side effects. we propose three approaches to handling the conflicts: prevention to avoid the occurrence of conflicts, compromise to reach a consensus between conflicting goals, and competition to achieve a goal without regard to another.