What is CASE ? How it supports software life cycle ?
CASE stands for Computer Aided Software Engineering. CASE is a tool which aids a software engineering and develop software. The workshop for software engineering is called an Integrated Project Support Environment (IPSE) and the tool set that fills the workshop is called an Integrated Project Support Environment (IPSE) and the tool set that fills the workshop is called CASE.
CASE is a computer aided software engineering technology. CASE is an automated support tool for the software engineers in any software engineering processes :
Software engineering mainly includes the following processes :
- Translation of user needs into software requirements.
- Transaction of software requirements into design specification.
- Implementation of design into code.
- Testing of the code.
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.
- Main use of prototyping CASE tool is developing Graphical User Interface (GUI) development. The user should be allowed to define all data entry forms, menus and control.
- Integrate well with the data dictionary of a CASE environment.
- The user should be able to define the sequence of states through which a created prototype can run.
- The prototype should support mock up run of the actual system and management of the input and output data.
- It should be able to integrate with the external user-defined modules written in high level languages.
2. Structured Analysis and Design : A CASE tool should support one of 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.
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, behaviour 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 implementation itself.
3. Code Generation : A support expected from a CASE tool during the code generation phase comprise the following:
- The CASE tool should support generation of module skeletons or templates in one or more popular programming languages.
- The tool should generate records, structures, class definition.