CASE SUPPORT IN SOFTWARE LIFE-CYCLE There are various types of support that CASE provides during the different
10.5 CASE SUPPORT IN SOFTWARE LIFE-CYCLE There are various types of support that CASE provides during the different
phases of a software life-cycle.
1. Prototyping Support. The prototyping is useful to understand the requirements of complex software products, to market new ideas and so on. The prototyping CASE tools requirements are as follows:
Define user interaction Define the system control flow Store and retrieve data required by the system Incorporate some processing logic
A few features that are supported by prototyping tools include: Developing the graphical user interface (GUI). The user should be
allowed to define all data entry forms, menus, and control. They integrate well with the data dictionary of a CASE environment. They should be able to integrate with the external user-defined modules
written in high-level languages. The user should be able to define the sequence of states through which a
created prototype can run. The prototype should support a mock-up run of the actual system and
management of the input and output data.
A CASE tool should support one or more of the structured analysis and design techniques. It should also support making of the fairly complex diagrams and preferably through a hierarchy of levels. The tool must also check the incompleteness, inconsistencies, and anomalies across the design and analysis through all levels of analysis hierarchy.
2. Structured Analysis and Design.
Analysis and design tools enable a software engineer to create models of the system to be built. The models contain a representation of data, function, and behavior (at the analysis level) and characterizations of data, architectural, component-level, and interface design. By performing consistency and validity checking on the models, analysis and design tools provide a software engineer with some degree of insight into the analysis representation and help to eliminate errors before they propagate into the design, or worse, into the implementation itself.
A support expected from a CASE tool during the code- generation phase includes the following:
3. Code Generation.
The CASE tool should support generation of module skeletons or templates in one or more popular programming languages.
228 S OF T WARE E NGINEERING AND T ESTING
The tool should generate records, structures, and class definitions automatically from the contents of the data dictionary in one or more popular programming languages.
It should be able to generate database tables for a relational database- management system.
The tools should generate code for the user interface from prototype definitions for X-Windows and Windows-based applications.
4. Test CASE Generator. The CASE tool for the test case generator should have the following features:
It should support both design and requirement testing. It should generate test set reports in ASCII format, which can be directly
imported into the test plan document. In the testing phase, test-management tools are used to control and coordinate
software testing for each of the major testing steps. Testing tools manage and coordinate regression testing, perform comparisons that ascertain differences between actual and expected output, and conduct batch testing of programs with interactive human/computer interfaces. In addition to the functions noted, many test-management tools also serve as generic test drivers. A test driver reads one or more test cases from a testing file, formats the test data to conform to the needs of the software being tested, and then invokes the software to be tested.