---
title: "CASE, CASE environment and CASE tools"
subject: "Software Engineering"
chapter: 10
key: "semester_5/software_engineering:case-environment"
source: https://www.bctengineer.com/q/semester_5/software_engineering/case-environment
site: BCT Engineering
---

# CASE, CASE environment and CASE tools

Software Engineering · Chapter 10: Configuration Management

- Asked in: 2067 Ashadh (old course); year not given, 11 marks
- Video: [CASE Tools for SE Processes](https://www.youtube.com/watch?v=qxY5WpkfWoA) — CSEMA
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/case-environment
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-10

## Question

Explain Computer Aided Software Engineering (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.

## Answer

#### 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):
1. **Environment architecture:** the hardware platform and operating system (including network and database support).
2. **Portability services:** a layer that lets tools move to different platforms without big changes.
3. **Integration framework:** programs that let individual tools communicate, share data and present a common look and feel.
4. **CASE tools:** the individual tools that do the actual work.

**Integration architecture (layered model)**

```text
+------------------------------------------+
| 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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which pairing of CASE type and phase support is correct?
   A. Upper CASE supports coding and debugging; Lower CASE supports requirements
   B. Upper CASE supports requirements, analysis and design; Lower CASE supports coding, testing and maintenance
   C. Upper CASE supports only project management; Lower CASE supports only documentation
   D. Upper CASE supports testing; Lower CASE supports design
   Answer: B. Upper (front-end) CASE covers early phases like requirements and design, while Lower (back-end) CASE covers coding, testing, debugging and maintenance. (Key point: Upper vs Lower CASE)

2. What distinguishes a CASE environment from a mere set of CASE tools?
   A. It contains more tools than a workbench
   B. It runs only on one hardware platform
   C. Its tools are integrated and share information, usually through a central repository
   D. It supports only the coding phase
   Answer: C. A CASE environment integrates tools so the output of one flows into another, typically around a shared repository. (Key point: What makes a CASE environment)

3. In the layered CASE integration architecture, which layer stores all models, documents and code with their relationships?
   A. User interface layer
   B. Tools layer
   C. Object management layer
   D. Shared repository layer
   Answer: D. The shared repository layer is the CASE database that holds all models, documents, code and their relationships, with access control. (Key point: Layers of integration architecture)

4. According to Fuggetta's classification, what does a workbench support?
   A. A single process task such as compiling
   B. One process phase, such as analysis and design or testing, using several integrated tools
   C. The whole software process using many workbenches
   D. Only management activities
   Answer: B. Tools support single tasks, workbenches support a phase, and environments combine workbenches to support all or most of the process. (Key point: Tools, workbenches, environments)

## Related in Software Engineering

- [Classification and features of CASE tools](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acase-classification) — Software Engineering, chapter 10
- [Short note: component-based software engineering](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acbse-note) — Software Engineering, chapter 6
- [Objectives of FTR; cleanroom software engineering](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aftr-cleanroom) — Software Engineering, chapter 9
- [Benefits of CBSE; CASE code generation](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acbse-benefits-case) — Software Engineering, chapter 6
- [Designing software for real-time environments](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Areal-time-design-considerations) — Software Engineering, chapter 4
- [Software errors and their impact on cost](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Asoftware-errors-impact) — Software Engineering, chapter 7, asked 2×

## Related in other subjects

- [Short note: Computer aided advertising](https://www.bctengineer.com/question.md?key=semester_7%2Forganization_and_management%3Anote-computer-advertising) — Organization and Management, chapter 6
- [Animation techniques and software tools](https://www.bctengineer.com/question.md?key=semester_8%2Fmultimedia_system%3Aanimation-techniques-tools) — Multimedia System, chapter 4
- [Scope of project engineering; dynamic environment](https://www.bctengineer.com/question.md?key=semester_7%2Fproject_engineering%3Ascope-project-engineering-dynamic-env) — Project Engineering, chapter 1
- [Planning in dynamic environment; linked bar chart](https://www.bctengineer.com/question.md?key=semester_7%2Fproject_engineering%3Aplanning-necessary-dynamic-linked-bar) — Project Engineering, chapter 3
