0% found this document useful (0 votes)
3 views43 pages

Book2 CH13 CASE Tools and Their Effect

Uploaded by

alaa saad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views43 pages

Book2 CH13 CASE Tools and Their Effect

Uploaded by

alaa saad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

CASE tools and

their effect on
software quality
Hagar Khaled
Introduction
An increasing variety of specialized computerized tools (actually software
packages) have been off ered to software engineering departments since the
early 1990s. The purpose of these tools is to make the work of development
and maintenance teams more effi cient and more eff ective. Collectively named
CASE (computer-aided software engineering) tools, they off er:

■ Substantial savings in resources required for software development

■ Shorter time to market

■ Substantial savings in resources required for maintenance

■ Greater reuse due to increased standardization of the software systems

■ Reduced generation of defects coupled with increased “interactive”


identifi cation of defects during development.
CASE tools – definition

● CASE stands for Computer Aided Software Engineering. It means,


development and maintenance of software projects with help of various
automated software tools.

● 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.
CASE tools – definition

● Well-established computerized software development support tools


(such as interactive debuggers, compilers and project progress control
systems) can readily be considered classic CASE tools, whereas the
new tools that support the developer for a succession of several
development phases of a development project are referred to as real
CASE tools.
CASE tools

● When referring to real CASE tools, it is


customary to distinguish between upper
CASE tools that support the analysis and
design phases, and lower CASE tools that
support the coding phase
CASE tools Component

● The main component of real CASE tools is the repository that stores all
the information related to the project.

● The project information accumulates in the repository as development


proceeds and is updated as changes are initiated during the development
phases and maintenance stage.The repository of the previous development
phase serves as a basis for the next phase.

● The accumulated development information stored in the repository provides


support for the maintenance stage in which corrective, adaptive and
functionality improvement tasks are performed
CASE tools Component cont

1. Central Repository : source of common, integrated and consistent


information

2. Upper Case Tools : Upper CASE tools are used in planning, analysis and
design stages of SDLC.

3. Lower Case Tools : Lower CASE tools are used in implementation, testing
and maintenance.

4. Integrated Case Tools : Integrated CASE tools are helpful in all the stages
of SDLC, from Requirement gathering to Testing and documentation.

5. Reverse engineering
CASE tools types

● Diagram tools
These tools are used to represent system components, data and control
fl ow among various software components and system structure in a
graphical form. For example, Flow Chart Maker tool for creating state- of-
the-art fl owcharts.

● 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
CASE tools types

● Project Management Tools


These tools are used for project planning, cost and eff ort estimation,
project scheduling and resource planning. Managers have to strictly
comply project execution with every mentioned step in software project
management.

● 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.
CASE tools types

● 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.

● Confi guration Management Tools


CASE tools help in this by automatic tracking, version management and
release management. For example, Fossil, Git, Accu REV.
CASE tools types

● Change Control Tools


These tools are considered as a part of confi guration management tools.
They deal with changes made to the software after its baseline is fi xed or
when the software is fi rst released.

● Programming Tools
These tools consist of programming environments like IDE (Integrated
Development Environment), in-built modules library and simulation tools.
For example, Cscope to search code in C, Eclipse.
CASE tools types : Requirements Management
Tools

● These tools help to collect user feedback, organize brainstorming sessions,


create process fl ow diagrams and create a requirements traceability matrix.

● Project managers can easily manage their product lifecycle with live
tracking, reporting, real-time collaboration, versioning, test management
and bug tracking features. This will support review meetings with
stakeholders.
CASE tools types : Requirements Management
Tools

● Requirements management tools identify, manage, and capture changes in


requirements and reuse them for various projects.

● These tools provide freedom, framework, scalable procedures and


integrations that aids in project fl exibility.

● Some widely-used requirement management tools with popular features are


JIRA, Jama Software, SpiraTeam, Accompa and more.
CASE tools types : Requirements Management
Tools
CASE tools types : Design Tools

● Design tools help software designers to design the block structure of the
software. The software can be further divided into smaller blocks using
refi ned techniques. These tools provide in-depth information about each
module as well as the relationships between them.

● Animated Software Design is an example of design tools.


CASE tools types : Testing Tools

● Testing tools or Quality Assurance tools help in monitoring the SDLC


process and techniques to ensure the product is defect-free and quality is
as per organization standards.

● These tools can automate tedious tasks such as testing, checking, and
verifying your software.
CASE tools types : Testing Tools

● Testing tools provide real-time feedback on your software quality and


performance, to improve communication with team members, stakeholders,
and clients.

● Examples- JMeter, SoapTest, AppsWatch


CASE tools types : Testing Tools
CASE tools types : Configuration Management
Tools

● These tools assist developers and project managers version management,


revision control, automatic tracking and release management of the
software projects. Whenever an instance of software is released,
Confi guration Management tools deal with –
● Version and revision management
● Baseline confi guration management
● Change control management
● Fossil, Git, Accurev are some of the confi guration management CASE tools.
Importance of CASE Tools

● 1.Increased Productivity
CASE tools automate many repetitive tasks involved in development, such as code
generation and testing. This allows developers to spend less time on routine
activities and focus on more creative and complex problems that speed up the
overall development process.

● 2.Improved Quality
CASE tools help guarantee that software is built according to proven standards by
guiding developers to follow best practices. They also submit features like
automated error checking and validation, which helps reduce the risk of bugs and
improves the quality of the fi nal product.
Importance of CASE Tools

● 3.Improved Collaboration
CASE tools usually have integrated communication and collaboration features,
such as shared code holds and project management tools. This promotes better
teamwork, as all stakeholders—developers, testers, and project managers can
easily stay updated and work together effi ciently.

● 4.Standardization
CASE tools implement the use of standard methods across teams and projects.
This ensures consistency in the development process, whether it's writing code,
following design patterns, or documenting the software, which makes it easier to
manage multiple projects or collaborate across teams.
Contribution of CASE tools

● CASE tools contribute to software product quality by reducing the number


of errors introduced in each development phase

● Real CASE tools contribute to the various types of software maintenance


quality in several ways.

● Application of CASE tools is expected to reduce project budgets and


development time
Contribution of CASE tools : software product
quality
● 1.Identifi cation of deviations from design requirements.

● 2.Identifi cation of design inconsistencies.

● 3.Automated generation of code based on the repository design records,


with no expected errors.

● 4.Full compliance with design and coding documentation instructions


achieved by the automated coding and the repository-based
documentation.

● 5.High quality corrections and changes made during development due to


the repository tools support.

● 6.Automated generation of a repository of legacy systems by CASE reverse


engineering tools enables effi cient development of new generations of the
software system with maximal assurance of software quality
Contribution of CASE tools : software
maintenance quality
● Corrective maintenance:

● CASE-generated full and updated documentation of the software enables easier


and more reliable identifi cation of the cause for software failure.
● Cross-referenced queries enable better identifi cation of anticipated eff ects of
any proposed correction.
● Correction by means of lower CASE or integrated CASE tools provides
automated coding, with no expected coding errors as well as automated
documentation of corrections.

● Adaptive maintenance:
● Full and updated documentation of the software by CASE tools enables
thorough examination of possible software package adaptations for new users
and applications.
Contribution of CASE tools : software
maintenance quality

● Functional improvement maintenance:

● Use of the repository enables designers to assure consistency of new


applications and improvements with existing software systems.
● Cross-referenced repository queries enable better planning of changes and
additions.
● Changes and additions carried out by means of lower CASE or
integrat_x0002_ed CASE tools enable automated coding, with no expected
coding errors as well as automated documentation of the changes and
additions.
Contribution of CASE tools : project
management
● In general, application of CASE tools is expected to reduce project budgets
and development time (“shorter time to market”). However, the
contribution made by CASE tools to the quality aspects of project
management, namely budget control and timetables, is the focus of our
interest. At the moment, it appears that use of real CASE tools does
substantially reduce deviations from the implementation budget and
planned schedule from the plan, especially because they prevent high error
rates and provide for easier and shorter error correction when required.

● For project management to be improved still further, project control tools


(considered here under the category of classic CASE tools) and improved
budget and time estimation methodologies must be developed.
Advantages of the CASE approach

● Improved Documentation: Comprehensive documentation creation and


maintenance is made easier by CASE tools. Since automatically generated
documentation is usually more accurate and up to date, there are fewer
opportunities for errors and misunderstandings brought on by out- of-
current material.

● Reusing Components: Reusable component creation and maintenance are


frequently facilitated by CASE tools. This encourages a development
approach that is modular and component-based, enabling teams to shorten
development times and reuse tested solutions.
Advantages of the CASE approach

● 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.
Advantages of the CASE approach

● Achieving uniformity and standardization: Coding conventions,


documentation formats and design patterns are just a few of the areas of
software development where CASE tools enforce uniformity and standards.
This guarantees consistent and maintainable software development.
Disadvantages of CASE approach
● Cost: Using a case tool is very costly. Most fi rms engaged in software
development on a small scale do not invest in CASE tools because they
think that the benefi t of CASE is justifi able only in the development of
large systems.

● Learning Curve: In mo ~ِ s t cases, programmers’ productivity may fall in the


initial phase of implementation, because users need time to learn the
technology. Many consultants off er 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.
Application Development Methodologies and
Case Tools

Computer aided software engineering CASE tools improve various application


development methodologies by making them more eff ective and effi cient.
These tools help streamline tasks, reduce errors, and support smoother
workfl ows.
Application Development Methodologies and
Case Tools

● Waterfall Model

In the traditional Waterfall approach, which follows a strict sequence of stages,


computer-assisted software engineering case tools help through:
● Documenting Requirements and Design: This confi rms that clear and
detailed documentation is created during each phase.
● Validating Phase Completion: It confi rms that each phase (such as design or
testing) is completed and validated before moving to the next, which helps
avoid skipped steps and mistakes.
Application Development Methodologies and
Case Tools

● Agile Development

Agile focuses on fl exibility, collaboration, and iterative progress. CASE tools are
mainly helpful for:
● Rapid Prototyping: It Supports the quick and continuous creation of
prototype versions to gather feedback.
● Continuous Integration and Testing: Automating the integration of new
features and running tests continuously helps to fi nd and fi x problems early.
● Task Tracking and Visualization: This Keeps track of progress and manages
tasks that guarantee the team stays on track and can easily adjust
preferences as needed.
Application Development Methodologies and
Case Tools

● Spiral Model

The Spiral model underlines risk management and frequent iterations. Case tools
in software engineering tools help in:
● Managing Requirements: It facilitates clear documentation and management
of changing requirements throughout each iteration.
● Identifying and Mitigating Risks: This checks and analyzes risks, which
makes it easier to adjust plans and make informed decisions during every
cycle.
Application Development Methodologies and
Case Tools

● DevOps

DevOps focuses on combining development and operations teams to improve


collaboration and automation. Computer assisted software engineering case tools
support this process by:
● Automating Builds and Deployments: It Simplifi es processes like building
and deploying code automatically, reducing manual eff ort and errors.
● Facilitating Continuous Integration/Continuous Delivery (CI/CD): This
ensures that new code is continuously tested and deployed, speeding up
development and ensuring reliable releases.
Best Practices for using Case Tools

● Conducting thorough research before selecting a tool – You need to conduct


a thorough research and consider few things before selecting a tool-
● Tools that match your specifi c needs, goals, and preferences.
● Scope, scale, and complexity of your software project.
● Tools compatible and integrate with your existing tools and systems.
● Easy usability and accessibility of the tools for you and your team members.
Best Practices for using Case Tools

● Providing adequate training to team members – CASE tools are associated


with advanced features which require adequate training and ample time.
Organizations need to create comprehensive employee training programs
that give employees the knowledge and the necessary skills. Team
members and employees must be provided with a thorough documentation
on new processes, and trained in separate offi ce hours.
Best Practices for using Case Tools

● Regularly evaluating the eff ectiveness of the tool – Alongside, using CASE
tools, you should also evaluate the eff ectiveness of the tools, like-
● How well do your tools achieve the desired goals and results?
● How well do they use the available resources and time?
● How do they adhere to the standards and requirements of clients and the
organization?
● What improvements can be implemented?
Conculsion

● Computer-assisted software engineering CASE tools are important in


modern software development, enhancing effi ciency, maintaining quality,
and promoting teamwork across all phases, from planning to deployment.
They are essential for simplifying processes and ensuring eff ective
collaboration. Choosing the right tool that fi ts your project's specifi c needs
is essential to successful outcomes, as these tools continue to develop with
advancing technology.
References

• CH13 Software Quality Assurance : From theory to


implementation Daniel Galin

• https://www.tutorialspoint.com/software_engineering/
case_tools_overview.htm

• https://www.tutorialspoint.com/software_engineering/
case_tools_overview.htm
• https://www.geeksforgeeks.org/computer-aided-
software-engineering-case/
• https://artoftesting.com/case-tools-in-software-
sngineering
Thank you

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy