Analysts who adopt the SDLC approach often benefit from productivity tools, called Computer-Aided Software Engineering (CASE) tools, that have been created explicitly to improve their routine work through the use of automated support. Analysts rely on CASE tools to increase productivity, communicate more effectively with users, and integrate the work that they do on the system from the beginning to the end of the life cycle.
Visible Analyst (VA) is one example of a CASE tool that enables systems analysts to do graphical planning, analysis, and design in order to build complex client/server applications and databases. Visible Analyst and another software product called Microsoft Visio allow users to draw and modify diagrams easily.
Analysts and users alike report that CASE tools afford them a means of communication about the system during its conceptualization. Through the use of automated support featuring onscreen output, clients can readily see how data flows and other system concepts are depicted, and they can then request corrections or changes that would have taken too much time with older tools.
Some analysts distinguish between upper and lower CASE tools. An upper CASE tool allows the analyst to create and modify the system design. All the information about the project is stored in an encyclopedia called the CASE repository, a large collection of records, elements, diagrams, screens, reports, and other information (see figure below). Analysis reports may be produced using the repository information to show where the design is incomplete or contains errors. Upper CASE tools can also help support the modeling of an organization’s functional requirements, assist analysts and users in drawing the boundaries for a given project, and help them visualize how the project meshes with other parts of the organization.
The repository concept.
Lower CASE tools are used to generate computer source code, eliminating the need for programming the system. Code generation has several advantages:
- The system can be produced more quickly than by writing computer programs;
- The amount of time spent on maintenance decreases with code generation;
- Code can be generated in more than one computer language, so it is easier to migrate systems from one platform to another;
- Code generation provides a cost-effective way of tailoring systems purchased from third-party vendors to the needs of the organization; and
- Generated code is free of computer program errors.
- Types of Systems
- Integrating Technologies for Systems
- Need for Systems Analysis and Design
- Roles of the Systems Analyst
- The Systems Development Life Cycle
- Using Computer-Aided Software Engineering (CASE) Tools
- The Agile Approach
- Object-Oriented Systems Analysis and Design & Choosing Which Systems Development Method to Use