Applying formal concept analysis in requirements validation with UML state machine model
應用形式概念分析於以 UML 狀態機圖為基礎的需求驗證
Student thesis: Doctoral Thesis
Author(s)
Detail(s)
Awarding Institution | |
---|---|
Supervisors/Advisors |
|
Award date | 4 Oct 2010 |
Link(s)
Permanent Link | https://scholars.cityu.edu.hk/en/theses/theses(551be8da-3643-4064-b8fb-cbf213258f55).html |
---|---|
Other link(s) | Links |
Abstract
Requirements validation is one of the most challenging software requirements
engineering activities. According to IEEE, requirements validation is defined as
the process of evaluating software at the end of the software development
process to ensure compliance with software requirements. In Unified Modeling
Language (UML), state machine model is a popular tool for modeling software
requirements from behavioral perspective. The operational characteristics of a
software system and its interactions with the users can be specified in a state
machine model. Each sequence of transitions derived from the state machine
model can form a scenario that represents a set of situations of common
operational characteristics that might reasonably occur. Thus, the scenarios can
be used as test cases for requirements validation purposes. The more the test
scenarios, the better will be test coverage provided. However, this will also incur
higher cost of execution. Ideally, we have to determine a minimal set of test
scenarios with adequate test coverage.
Formal Concept Analysis (FCA) is a mathematical technique for formulating
concepts in terms of formal objects and their associated formal attributes, and
provides a systematic way of combining and organizing individual concepts of a
given context into hierarchically ordered conceptual structure, known as a
concept lattice. In this thesis, we described a mechanism of using FCA in
supporting requirements validation. FCA can be applied to associate a set of test
scenarios (as formal objects) with a set of transitions (as formal attributes) which are specified in a UML state machine model, and to organize them to form a
concept lattice.
By utilizing the properties of concept lattice, the primary contributions of this
research work are: (1) defining the formal context of test coverage for
requirements validation with reference to UML state machine model; and (2)
applying concept lattice as an analysis tool in selection of minimal set of test
scenarios which can provide adequate test coverage. Further, software system
may evolve as requirements change and thus lead to the need for considering
additional test scenarios. Through incremental updating the concept lattice
structure, our approach can also support incremental updates of the minimal test
suite for evolving software requirements.
- Validation, Computer software, UML (Computer science)