Introduction to CASE Tools
CASE is Computer Aided Software Engineering.
There are lots of automated tools to assist in software engineering.
Their purpose is to make the work of software development and maintenance easier and more reliable.
CASE tools are computerized software development tools that support the developer when performing
one or more phases of the software life cycle and/or support software maintenance.
Categories of Case Tools:
Classic CASE tools: Interactive debuggers, compilers, project progress control systems
Upper CASE: support information planning, project identification and selection, project
initiation and planning, analysis and design
Lower CASE: support the implementation and maintenance phases of the systems development
life cycle
Cross life-cycle CASE: support activities that occur across multiple phases of the systems
development life cycle
CASE Tool Types and their Support/Uses:
Diagram tools
These tools are used to represent system components, data and control flow among various software
components and system structure in a graphical form. For example, Flow Chart Maker tool for creating state-
of-the-art flowcharts.
Process Modeling Tools
Process modeling is method to create software process model, which is used to develop the software.
Process modeling tools help the managers to choose a process model or modify it as per the requirement of
software product. For example, EPF Composer
Project Management Tools
These tools are used for project planning, cost and effort estimation, project scheduling and resource
planning. Managers have to strictly comply project execution with every mentioned step in software project
management. Project management tools help in storing and sharing project information in real-time throughout
the organization. For example, Creative Pro Office, Trac Project, Basecamp.
Documentation Tools
Documentation in a software project starts prior to the software process, goes throughout all phases of
SDLC and after the completion of the project.
Documentation tools generate documents for technical users and end users. Technical users are mostly
in-house professionals of the development team who refer to system manual, reference manual, training
manual, installation manuals etc. The end user documents describe the functioning and how-to of the system
such as user manual. For example, Doxygen, DrExplain, Adobe RoboHelp for documentation.
Analysis Tools
These tools help to gather requirements, automatically check for any inconsistency, inaccuracy in the
diagrams, data redundancies or erroneous omissions. For example, Accept 360, Accompa, CaseComplete for
requirement analysis, Visible Analyst for total analysis.
Design Tools
These tools help software designers to design the block structure of the software, which may further be
broken down in smaller modules using refinement techniques. These tools provides detailing of each module
and interconnections among modules. For example, Animated Software Design
Configuration Management Tools
An instance of software is released under one version. Configuration Management tools deal with
Version and revision management
Baseline configuration management
Change control management
CASE tools help in this by automatic tracking, version management and release management. For example,
Fossil, Git, Accu REV.
Change Control Tools
These tools are considered as a part of configuration management tools. They deal with changes made
to the software after its baseline is fixed or when the software is first released. CASE tools automate change
tracking, file management, code management and more. It also helps in enforcing change policy of the
organization.
Programming Tools
These tools consist of programming environments like IDE (Integrated Development Environment), in-
built modules library and simulation tools. These tools provide comprehensive aid in building software
product and include features for simulation and testing. For example, Cscope to search code in C, Eclipse.
Prototyping Tools
Software prototype is simulated version of the intended software product. Prototype provides initial
look and feel of the product and simulates few aspect of actual product.
Prototyping CASE tools essentially come with graphical libraries. They can create hardware
independent user interfaces and design. These tools help us to build rapid prototypes based on existing
information. In addition, they provide simulation of software prototype. For example, Serena prototype
composer, Mockup Builder.
Web Development Tools
These tools assist in designing web pages with all allied elements like forms, text, script, graphic and so
on. Web tools also provide live preview of what is being developed and how will it look after completion. For
example, Fontello, Adobe Edge Inspect, Foundation 3, Brackets.
Quality Assurance Tools
Quality assurance in a software organization is monitoring the engineering process and methods
adopted to develop the software product in order to ensure conformance of quality as per organization
standards. QA tools consist of configuration and change control tools and software testing tools. For example,
SoapTest, AppsWatch, JMeter.
Maintenance Tools
Software maintenance includes modifications in the software product after it is delivered. Automatic
logging and error reporting techniques, automatic error ticket generation and root cause Analysis are few
CASE tools, which help software organization in maintenance phase of SDLC. For example, Bugzilla for
defect tracking, HP Quality Center.