Unit 6 Software
Unit 6 Software
Unit - 6
CASE
CASE stands for Computer Aided Software Engineering. It means, development and
maintenance of software projects with help of various automated software tools.
CASE Tools
CASE tools are set of software application programs, which are used to automate SDLC
activities. CASE tools are used by software project managers, analysts and engineers to
develop software system.
There are number of CASE tools available to simplify various stages of Software
Development Life Cycle such as Analysis tools, Design tools, Project management tools,
Database Management tools, Documentation tools are to name a few.
Use of CASE tools accelerates the development of project to produce desired result and
helps to uncover flaws before moving ahead with next stage in software development.
Upper Case Tools - Upper CASE tools are used in planning, analysis and
design stages of SDLC.
Lower Case Tools - Lower CASE tools are used in implementation, testing
and maintenance.
Integrated Case Tools - Integrated CASE tools are helpful in all the stages
of SDLC, from Requirement gathering to Testing and documentation.
CASE tools can be grouped together if they have similar functionality, process activities
and capability of getting integrated with other tools.
Environment having CASE:
The benefits of CASE are that as it makes the customer as a part of the process thereby
ensuring that a product meets the real-world requirements. As more emphasis is given on the
testing and redesign in the development process, the cost of servicing any product can be
reduced over its lifetime.
Case tools are categorized into Upper CASE tools, and Lower CASE tools. The upper case
tools concentrate on the starting phases of system development, for example, planning, goal,
and objectives. The essential data is assembled, and through Upper CASE tools, is then
displayed in a sorted out way. Lower CASE devices concentrate on later parts of system
development, for example, planning, coding, testing the product for defects and
functionalities, implementation, usage and maintaining the software. Testing and
maintenance of a software indeed assume a gigantic part in improvement of a software.
Some typical CASE tools are:
• Code generation tools
• UML editors and the like
• Refactoring instruments
• QVT or Model transformation instruments
• Configuration management tools including change control
CASE tools not only output code but also generate other output typical of different
frameworks examination and outline strategies, for example, SSADM. e.g.
• Database mapping
• Data Flow Diagrams (DFDs)
• Entity Relationship Diagrams (ERDs)
• Program specifications
• User documentation
Quicker Cycles of Development: Development cycles take less time when certain jobs,
such testing and code generation, are automated. This may result in software solutions
being delivered more quickly, meeting deadlines and keeping up with changing business
requirements.
Improved Results: Code generation, documentation, and testing are just a few of the
time-consuming, repetitive operations that CASE tools perform. Due to this automation,
engineers are able to concentrate on more intricate and imaginative facets of software
development, which boosts output.
Cost: Using a case tool is very costly. Most firms engaged in software development on a
small scale do not invest in CASE tools because they think that the benefit of CASE is
justifiable only in the development of large systems.
Learning Curve: In most cases, programmers’ productivity may fall in the initial phase
of implementation, because users need time to learn the technology. Many consultants
offer training and on-site services that can be important to accelerate the learning curve
and to the development and use of the CASE tools.
Tool Mix: It is important to build an appropriate selection tool mix to urge cost
advantage CASE integration and data integration across all platforms is extremely
important.
When we develop software, the product (software) undergoes many changes in their
maintenance phase; we need to handle these changes effectively.
Several individuals (programs) works together to achieve these common goals. This
individual produces several work product (SC Items) e.g., Intermediate version of modules or
test data used during debugging, parts of the final product.
The elements that comprise all information produced as a part of the software process are
collectively called a software configuration.
SCM Process
It uses the tools which keep that the necessary change has been implemented adequately to the
appropriate component. The SCM process defines a number of tasks:
1. Effective Bug Tracking: Linking code modifications to issues that have been reported,
makes bug tracking more effective.
3. Risk management: SCM lowers the chance of introducing critical flaws by assisting in
the early detection and correction of problems.
4. Support for Big Projects: Source Code Control (SCM) offers an orderly method to
handle code modifications for big projects, fostering a well-organized development
process.
1. Replicability: Software version control (SCM) makes ensures that a software system can
be replicated at any stage of its development. This is necessary for testing, debugging,
and upholding consistent environments in production, testing, and development.