CASE Tools
CASE Tools
CASE Tools
CASE Tools
Computer-Aided Software Engineering Prerequisites to tool use Need a collection of useful tools that help in every step of building a product Need an organized layout that enables tools to be found quickly and used efficiently Need a skilled craftsperson who understands how to use the tools effectively
2
CASE Tools
Upper CASE
requirements specification planning design
Lower CASE
implementation integration maintenance
Portability services
allow CASE tools and their integration framework to migrate across different operating systems and hardware platforms without significant adaptive maintenance
4
Documentation tools
provide opportunities for improved productivity by reducing the amount of time needed to produce work products
8
Programming tools
compilers, editors, debuggers, OO programming environments, fourth generation languages, graphical programming environments, applications generators, and database query generators
static measurement
analyze source code without using test cases
dynamic measurement
analyze source code during execution
simulation
simulate function of hardware and external devices
17
Requirements validation
Concerned with demonstrating that the requirements define the system that the customer really wants Requirements error costs are high so validation is very important
Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error
18
Prototyping
Using an executable model of the system to check requirements.
Test-case generation
Developing tests for requirements to check testability
Requirements analyser
20
Requirements management
Requirements management is the process of managing changing requirements during the requirements engineering process and system development Requirements are inevitably incomplete and inconsistent
New requirements emerge during the process as business needs change and a better understanding of the system is developed Different viewpoints have different requirements and these are often contradictory
21
Requirements Change
The priority of requirements from different viewpoints changes during the development process System customers may specify requirements from a business perspective that conflict with end-user requirements The business and technical environment of the system changes during its development
22
Requirements evolution
Initial understanding of problem Changed understanding of problem
Initial requirements
Time
23
Traceability policies
Amount of information about requirements relationships that is maintained
Traceability
Traceability is concerned with the relationships between requirements, their sources and the system design Source traceability
Links from requirements to stakeholders who proposed these requirements
Requirements traceability
Links between dependent requirements
Design traceability
Links from the requirements to the design
25
Change management
The process of change management is a workflow process whose stages can be defined and information flow between these stages partially automated
Traceability management
Automated retrieval of the links between requirements
26
Change implementation.
Modify requirements document and other documents to reflect change
27
CASE Workbenches
A coherent set of tools that is designed to support related software process activities such as analysis, design or testing Analysis and design workbenches support system modelling during both requirements engineering and system design These workbenches may support a specific design method or may provide support for a creating several different types of system models
28
Code generator
Import/export facilities
29
Testing Workbenches
Testing is an expensive process phase. Testing workbenches provide a range of tools to reduce the time required and total testing costs Most testing workbenches are open systems because testing needs are organizationspecific Difficult to integrate testing with closed design and analysis workbenches
31
Testing Workbench
Test data generator Specification
Source code
Test manager
Test data
Oracle
Dynamic analyser
Test results
Test predictions
Execution report
Simulator
File comparator
Report generator
34
35
Integration Architecture - 1
User Interface Layer
interface toolkit
contains software for UI management and library of display objects
Tools Layer
tools management services
control behavior of tools inside environment
Integration Architecture - 2
Object management layer (OML)
performs the configuration management function, working with the CASE repository OML provides integration services
Information sharing
provides mechanism for sharing information among multiple developers and multiple tools, controls modification of information
Data-tool integration
establishes shared data model and performs configuration management functions
38
Methodology enforcement
E-R model used to define steps needed to be conducted to build the repository contents
Document standardization
definition of objects in the database leads directly to a standard approach for creation of engineering documents
39
43
Process/project management
contains information about the software application characteristics of each project organization's general process for software development - phases, tasks, deliverables
44
46
Storage management.
System stores the differences between versions rather than all the version code
Independent development
Only one version at a time may be checked out for change. Parallel working on different versions 49