Font Size: a A A

Detecting And Handling The Inconsistency In Viewpoints Requirement Engineering

Posted on:2008-10-06Degree:DoctorType:Dissertation
Country:ChinaCandidate:M JiangFull Text:PDF
GTID:1118360242466984Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
As we all know, only the exact and comprehensive understanding can lead to the solution of a problem, so can software development. It is impossible to develop satisfying and high-quality software products without rational analysis and accurate planning.As an important branch of software engineering, requirement engineering (RE) attaches study emphasis to the stakeholders' expectation and requirements about the target system and it tries to document those information. It will be the base and criterion of the subsequent development task.For the most part, people always hope to consider the complex and realistic problems objectively, and comprehensively. They localize, divide and rule the problems in order to reach the goal. In software development, those principles are also concerned and applied. Viewpoints-based requirement engineering approaches(VRE) carries out this idea and applies it to requirement engineering, a particular domain.What is different from the classic RE is that VRE considers viewpoints as first-class object and emphasizes every viewpoint's unique understanding of the target system, though these viewpoints are partial, unilateral and incorrect. If we can integrate the requirements from different viewpoints efficiently, the description of the target system from different angles must be more all-round and accurate than from a single angle. Thus, we can product higher-quality requirement specification, that is RE's output.All the problems the present paper hopes to solve are centred around how to deal with the inconsistency in RE. Specifically speaking, the following are the problems we are concerned:How to define the relationship among viewpoints and establish the reasonable viewpoints model and framework?How to discover those requirements which may result in inconsistency?How to detect whether a requirement is inconsistent?Once a requirement is confirmed to be inconsistent, then how to deal with it?Briefly speaking, we hope to establish such a process which considers stakeholders' requirements' for the target system as input. After analyzing the requirements with the methods raised in the present paper, we can either tell these stakeholders that their descriptions about the target system are consistent and they can efficiently integrate them to form a complete description about the target system, or tell them that the descriptions are inconsistent, and put forward a method satisfying all sides.Since we are from the respective of computer science, it is formal method that we mainly use to solve the succession of problems.In sum, the main contributions of the present paper are as follows: It gives a comprehensive survey and analysis of various viewpoints methods, based on which it also discusses their merits, demerits and the applicability.It puts forward Problem-domain and Viewpoint deputy based Viewpoints Modeling Framework PDVMF, which based on the feature analyzing and Problem-domain analyzing approaches.After forming PDVMF, we use epistemic logic to explain the frame and then we can transfer the task of discovering the overlapping requirements among stakeholders into the research of general knowledge and common knowledge in epistemic logic. So we can help stakeholders find the common requirements among them more quickly through software tools.In terms of inconsistent requirements check, we divide it into two kinds: the check between homogeneous diagrammatic notations and the check between heterogenous diagrammatic notations. Considering practicability, we limit the research scope to the subset of UML. As to the former, we translate the uses case diagram into the epistemic logic and put forward an judgement formula, thus we reduce the inconsistency of two homogeneous diagrammatic notations to the satisfiability problem of an epistemic logic formula; for the later, we use temporal logic of action to describe state chart and sequence diagram, and reduce the determining problem to model checking problem. During those transforming process, we discuss the translate rules related to uses case diagram, sequence diagram and state chart diagram detailedly.To resolve the inconsistency of the requirements can be considered as the output of inconsistency management process. We raise and apply several concepts in game theory to conquer this problem. Fully considering the locality of interaction between participants, we see the process of resolving the inconsistency as a static non-cooperative game, and use graphical game to depict it. The underlying graph of the graphical game is based on PDVMF, thus, through computing a pure Nash equilibrium of it, we hope to offer an solution scheme which satisfies all participants.Furthermore, this paper takes the "Online library" system as the case study to demonstrate how to form viewpoint and viewpoints framework, how to find the overlapping requirements, how to check the inconsistencies of the requirements and how to resolve those inconsistency. All these testify the methods proposed in this paper are effective and feasible.
Keywords/Search Tags:Requirement Engineering, Viewpoints, Inconsistency, Formal Methods
PDF Full Text Request
Related items