- 2067 Ashadh (old course)
- Year not given · 11 marks
CASE, CASE environment and CASE tools
Short answer
CASE supports software activities with tools: Upper CASE for analysis/design, Lower CASE for coding/testing, and Integrated CASE sharing data via a repository. A CASE environment integrates tools in a layered architecture—user interface, tools, object management, and shared repository—to enforce methods, ensure consistency, and boost productivity.
Explain Computer Aided Software Engineering (CASE), CASE environment and CASE tools?
Computer Aided Software Engineering (CASE)
CASE is the use of computer-based tools to support software development and maintenance activities, such as requirements analysis, modelling, design, coding, testing, project management and documentation. CASE tools automate routine work, enforce methods and standards, and keep all project information consistent.
CASE support is often grouped by life-cycle phase:
- Upper CASE (front-end): supports early phases such as requirements, analysis and design (for example UML modelling tools).
- Lower CASE (back-end): supports later phases such as coding, testing, debugging and maintenance (compilers, debuggers, test tools).
- Integrated CASE (I-CASE): covers the whole life cycle and shares information between tools through a common repository.
Benefits: higher productivity, better quality, consistent documentation, easier maintenance and reuse, and better communication in the team.
CASE environment
A CASE environment is a collection of CASE tools, integrated so that they share information and work together, usually around a central repository. Using isolated tools is like having separate machines in a workshop; an integrated environment lets the output of one tool (for example a design model) flow directly into another (for example a code generator or documentation tool).
Building blocks of a CASE environment (Pressman):
- Environment architecture: the hardware platform and operating system (including network and database support).
- Portability services: a layer that lets tools move to different platforms without big changes.
- Integration framework: programs that let individual tools communicate, share data and present a common look and feel.
- CASE tools: the individual tools that do the actual work.
Integration architecture (layered model)
+------------------------------------------+
| User interface layer |
| (common look and feel, interface toolkit)|
+------------------------------------------+
| Tools layer |
| (CASE tools + tools management services) |
+------------------------------------------+
| Object management layer |
| (integration, configuration management) |
+------------------------------------------+
| Shared repository layer |
| (CASE database, access control) |
+------------------------------------------+
- User interface layer: gives all tools the same style of menus and commands.
- Tools layer: holds the tools and the services that control how they run and interact.
- Object management layer: maps tools to the data model and provides configuration management of shared objects.
- Shared repository layer: the CASE database that stores all models, documents, code and their relationships.
The repository is the heart of the environment. It provides data integrity, information sharing, data-tool integration, data-data integration (relationships between objects) and enforcement of methods.
Types of environments (Sommerville, Fuggetta's classification):
- Tools: support individual process tasks, such as checking design consistency or compiling a program.
- Workbenches: support a process phase, such as analysis and design or testing, using a set of integrated tools.
- Environments: support all or a large part of the software process, combining several workbenches. Process-centred environments also include a model of the software process to guide users.
CASE tools
CASE tools can be classified by function (Pressman's taxonomy):
| Category | Purpose | Example |
|---|---|---|
| Business process engineering | Model business information flow | ARIS |
| Process modelling and management | Model and manage the software process | Process modelling tools |
| Project planning | Estimate effort, cost, schedule | MS Project |
| Risk analysis | Build a risk table and plan | Risk management tools |
| Requirements tracing | Trace requirements to design and code | IBM DOORS |
| Metrics and management | Collect process and product metrics | SonarQube |
| Documentation | Produce and manage documents | Doxygen |
| Quality assurance | Check compliance with standards | Static analysers |
| Configuration management | Version and change control | Git, Jira |
| Analysis and design | Build analysis and design models | StarUML, Enterprise Architect |
| Interface design and prototyping | Build UI prototypes | Figma |
| Programming | Editors, compilers, debuggers | Eclipse, VS Code |
| Testing | Static, dynamic and test management | JUnit, Selenium |
| Re-engineering | Reverse engineering and restructuring | Code analysers |
Example: in a hospital management project, the team writes requirements in a requirements tool, draws class diagrams in StarUML, generates code skeletons from them, stores code in Git, tracks bugs in Jira and runs automated tests with JUnit. When these tools share data through one repository, they form a CASE environment.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Classification and features of CASE tools · Software Engineering, chapter 10
- Short note: component-based software engineering · Software Engineering, chapter 6
- Objectives of FTR; cleanroom software engineering · Software Engineering, chapter 9
- Benefits of CBSE; CASE code generation · Software Engineering, chapter 6
- Designing software for real-time environments · Software Engineering, chapter 4
- Software errors and their impact on cost · Software Engineering, chapter 7 · asked 2×
- Short note: Computer aided advertising · Organization and Management, chapter 6
- Animation techniques and software tools · Multimedia System, chapter 4
- Scope of project engineering; dynamic environment · Project Engineering, chapter 1
- Planning in dynamic environment; linked bar chart · Project Engineering, chapter 3