The IEEE standard 830-1998 criteria were used to evaluate the enhancements to the proposed CASE tool which uses the Descartes specification language for requirement analysis. The IEEE standard 830-1998 which is the recommended practice for Software Requirement Specification (SRS) [IEEE1998a] lists the following characteristics. The proposed CASE tool should generate a set of software requirement specifications that are: correct; unambiguous; complete; consistent; ranked for importance and/or stability; verifiable; modifiable; and traceable.
Texas Tech University, Henry Johnson, December 2010
62
Correct:The Descartes specification language provides a top down modular approach for software system specification. The proposed CASE tool allows the users to change the requirements into higher order specification that enables the users to check for the correctness of the specification. The tool could use the Descartes specification language to generate the specifications from the natural language text, which is yet to be developed. The tool also provides an object oriented analysis and reports a set of classes and their relationships. By the object oriented analysis, the user can ensure the correctness of the software specification. There is no such tool or procedures to fully check the correctness of the specification.
Unambiguous:In the proposed CASE tool, the automated generation of the specifications allows the user to check any ambiguity in the requirements document. The proposed CASE tool automatically checks the dependencies of each requirement to other requirements in the CASE tool. The language processor of the Descartes specification language also supports unambiguous specifications. The requirements that are verified by the proposed CASE tool can be considered unambiguous. Thus, the proposed CASE tool supports the „unambiguous‟ characteristic.
Complete: Since the proposed CASE tool uses Descartes specification language to analyze the requirements, the proposed CASE tool checks for the completeness of the requirement. The Descartes specification language uses Hoare trees as the data
Texas Tech University, Henry Johnson, December 2010
63
structuring method. The Hoare trees describe the expected input, output produced, and the relationship between the input and output. This property of the Descartes specification language satisfies the completeness characteristics of a good SRS. Thus, the proposed CASE tool also satisfies the completeness characteristics of a good SRS in analyzing requirements.
Consistent: In the proposed CASE tool, the consistencies of the requirements are analyzed by the Descartes specification language. The higher order specification allows the user to check whether the subset of individual requirements does not conflict. The formal methodology used by the Descartes specification language ensures the specifications are consistent. Thus, the proposed CASE tool satisfies this criterion.
Ranked for importance and/or stability: The proposed CASE tool allows the user to create a requirements identifier for each requirement. The requirements identifier is specific for each requirement in a particular software project. The user can also assign a priority for each requirement to rank the requirements according to importance. This feature allows the proposed CASE tool to satisfy the characteristic of ranked for importance and/or stability of a good SRS.
Verifiable: The proposed CASE tool for requirements engineering stores each requirement in the database. Each of these requirements can be analyzed manually or automatically using the Descartes specification language. Output of the system is a
Texas Tech University, Henry Johnson, December 2010
64
product that meets the requirements of the customer. In the Descartes specification language, specifications are written by functionally relating output with the input. The functionality of the specification language to relate the output as a function of input, determines whether the software meets a particular requirement.
The user always has an option of manually verifying each requirement. In both approach the requirements are modifiable and both the old and new requirements is stored in the same database.
Modifiable: The proposed CASE tool satisfies this criterion as the requirements are stored in a database and the user with the read and write access privilege is able to modify the requirements at any time. Each requirement submitted in the CASE tool database is automatically traced to every other dependent requirement of the software project. This prompts the user to make necessary changes to all other dependent requirements of the modified requirements.
Traceable: The proposed CASE tool uses the requirements identifier for each requirement. Each requirement can be traced for dependencies manually or automatically to every other requirement using the proposed CASE tool. By using the automatic traceability feature of the proposed CASE tool, the tool satisfies this criterion. The Hoare tree structure used by the Descartes specification language allows identification of the origin of each requirement.
Texas Tech University, Henry Johnson, December 2010
65
6.3 Summary
The proposed CASE tool was evaluated using the characteristics of IEEE std. 830-1998 in this chapter. The requirements engineering support of the proposed CASE tool was evaluated in this chapter. The addition evaluation criteria discussed in Chapter 4 will be used to evaluate the proposed CASE tool at the implementation phase. This evaluation denotes that the requirements document generated in the new tool should be a good SRS according to IEEE std. 830-1998. In the next chapter, the thesis summary and future work are discussed.
Texas Tech University, Henry Johnson, December 2010
66
CHAPTER VII
SUMMARY AND FUTURE WORK
This chapter summarizes the thesis by describing the accomplished research objectives and the future of the research effort. The challenging task regarding the research is discussed in Section 7.1 Section 7.2 describes the future work related to this particular thesis research objective. The future work also explains the actual implementation of the proposed CASE tool.
7.1 Summary
Requirements management tools have been in the market for at least a decade. More and more software industries are moving to a systematic software development process. The software industries are required to meet the high quality of software systems. Software companies are struggling with scheduled software release and to develop highly complex software systems. To reduce the cost and increase the quality of software systems, this thesis research effort explains the use of a proposed CASE tool that allows the software project managers to improve the software development process. The thesis effort was used to describe the requirements engineering support tool, evaluation criteria for requirements engineering tools, overview of the Descartes specification language, and the set of requirements for a proposed CASE tool that will improve the current requirements engineering tool development. The challenging task in this thesis was to understand the ability of CASE tools to support software development. Most of the requirements engineering tools today, lack automatic analysis of
Texas Tech University, Henry Johnson, December 2010
67
requirements, generating specification, and generating test data from the set of requirements. This thesis research effort discussed a proposed CASE tool which has extended the requirements management tool to requirement analysis, software design, software testing, and software project management support tool. The use of Descartes specification language reduced the gap between requirements engineering phase and design phase. Thus, the proposed CASE tool is an approach of performing the software project management using the requirements engineering support tool.
Software projects can start from the requirements phase and ends at the maintenance phase. The project managers are responsible for validated requirements, software design, software development, software testing, and maintenance. Chapter I was an introduction to the thesis research effort. Chapter II explained an overview of the requirements engineering tools with some real world software requirements engineering tools on the market. The chapter also described the related research efforts. Chapter III discussed the overview of the Descartes specification language. The evaluation criteria were discussed in Chapter IV for the requirements engineering tool. The IEEE std. 830- 1998 recommended practice for a good SRS document was the main evaluation criteria used. The proposed CASE tool requirements in Chapter V described the extension of a requirements management tool to a software project management tool. The formal methods implemented in the proposed CASE tool enable software project planning and risk management. Chapter VI described the evaluation of the proposed CASE tool based on the IEEE std. 830-1998 characteristics. The thesis research effort has developed an understanding of the requirements engineering tools and how these tools support software
Texas Tech University, Henry Johnson, December 2010
68
projects. The research has also accomplished the initial step in the use of requirements engineering tools with software project management capabilities by providing support to all phases of the software engineering life cycle.
The proposed CASE tool presented in this thesis effort should comply with the IEEE std. 830-1998 recommended practice for SRS and allows the user/customer to verify and validate their requirements automatically. The proposed CASE tool should reduce the time and cost of the requirement engineering process. From the academic standpoint, this thesis provides an understanding of the requirements engineering and its support tools. This research could lead to implementation of advanced requirements engineering tools.
This section offered a synopsis of the thesis effort. The next section addresses the future research areas established from this thesis effort.