Applying formal concept analysis in requirements validation with UML state machine model
應用形式概念分析於以 UML 狀態機圖為基礎的需求驗證
Student thesis: Doctoral Thesis
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)