The document discusses Computer-Aided Software Engineering (CASE) tools and their classification. It describes that CASE tools automate methods for designing, documenting, and producing structured computer code. CASE tools are classified as upper, lower, and integrated. Upper CASE tools support requirements analysis and design. Lower CASE tools focus on implementation, testing, and documentation. Integrated CASE tools aim to support the entire development lifecycle.
1. 3/3/2011
Software Quality Management
Unit – 3
G. Roy Antony Arnold
Asst. Professor / CSE
GRAA
• Computer‐Aided Software Engineering (CASE)
is the scientific application of a set of tools
and methods to a software system which is
meant to result in high‐quality, defect‐free,
and maintainable software products.
• CASE tools automate methods for designing,
documenting, and producing structured
computer code in the desired programming
language.
GRAA
1
2. 3/3/2011
• Architecture Management
– Model, design, and rapidly build Software, Systems, and
Computer Application Programs.
p pp g
• Change and Release Management
– Improve software delivery and lifecycle traceability, from
requirements through deployment.
• Software Development Management
– Align projects for improved productivity and predictability.
• Q lit M
Quality Management
t
– Ensure software functionality, reliability and performance
throughout development and production.
GRAA
• CASE software supports the software process
activities such as requirement engineering,
design, program development and testing.
design program development and testing
• Therefore, CASE tools include design editors,
data dictionaries, compilers, debuggers, system
building tools, etc.
• The term CASE was originally coined by software
company Nastec Corporation of Southfield,
company Nastec Corporation of Southfield
Michigan in 1982 with their original integrated
graphics and text editor GraphiText
GRAA
2
3. 3/3/2011
• Supply basic functionality, do routine tasks
automatically
– Be able to support editing of code in the particular
bl f h l
programming language, supply refactoring tools
• Enhance productivity
– Generate code pieces automatically
• Increase software quality
• Intuitive use
Intuitive use
• Integration with other tools
– For example, code editor works with code repository
GRAA
3
4. 3/3/2011
• They classified as Upper, Lower and Integrated CASE tools.
• Upper CASE Tools support strategic planning and construction
of concept‐level products and i
f tl l d t d ignore th d i aspect, such
the design t h
as ER diagrams, Data flow diagram, Structure charts,
Decision Trees, Decision tables, etc. E.g. Excelerator
• Lower CASE Tools concentrate on the back end activities of
the software life cycle, such as physical design, debugging,
construction, testing, component integration, maintenance,
reengineering and reverse engineering. E T l
i i d i i E.g. Telon
• Integrated CASE Tools aim to support the whole development
cycle. E.g. IEF (Information Engineering Facility)
GRAA
Requirement Operation &
System Design Coding Testing
Analysis Maintenance
Integrated CASE Tools (ICASE)
e.g. IEF
Upper CASE / Front End Lower CASE / Back End
e.g. Excelerator e.g. Telon
pp
Upper CASE Mid CASE /
Lower CASE / Back End
GRAA
4
5. 3/3/2011
• It is also called as front end CASE Tools
• They assist in requirement analysis & design
They assist in requirement analysis & design
• They may be tied to a specific methodology or
may allow the use of the user’s own
methodology.
• Example:
p
• These tools are associated with analysis and
design methodologies such as SAM or SSADM
GRAA
• The typical responsibilities of an UpperCASE Tool are to
support the following tasks:
– Requirement Analysis:
Requirement Analysis:
• Application Visioning
• Requirements Reuse
• Requirements Identification
• Requirements Analysis
• Requirements Specification
– Design:
• Design Production
g
• Design Refactoring
• Design Reuse
• Design Documentation
GRAA
5
6. 3/3/2011
• These tools are concerned with the
implementation stages of the lifecycle,
p g y ,
typically coding, testing and documentation.
• They aim to increase the reliability,
adaptability and productivity of the delivered
code.
• 4GLs may be considered as back‐end CASE
Tools, such as Telon.
GRAA
• The typical responsibilities of a LowerCASE Tool is
to support the performance of the following
tasks:
k
– Implementation:
• Implementation Reuse
• Programming
• Debugging
– Integration Tasks:
g
• Integration Planning
• Component Integration
• Integration Reporting
GRAA
6
7. 3/3/2011
• Aim to support the whole development cycle
and are linked to specific methodologies.
• They are often complex and expensive, but
offer the developer the greatest integrity of all
approaches through the use of a single data
encyclopaedia throughout the lifecycle.
p ( g
• Example: IEF (Information Engineering g
Facility), IEW (Information Engineering
Workbench)
GRAA
• Help standardization of notations and diagrams
• Productivity increases
• Help communication between development team
members
• Automates the methodology – this improves
consistency, but restricts creativity.
• Reduction of time and effort
• Automated tools are provided to prepare
Automated tools are provided to prepare
documentation
• Complexity of maintenance decreases.
GRAA
7
8. 3/3/2011
• Cost Increases: Costs for purchase + training
• Expertise needed
Expertise needed
• Training issues
• Not mapping to current methods or
applications.
• May lead to restriction to the tool’s tool s
capabilities
• Limitations in flexibility of documentation
• Common CASE risks and associated controls
include:
– Inadequate standardization
– Unrealistic expectations
– Slow implementation
– Weak repository controls
GRAA
8