2. Presentation Outline
What is CASE?
CASE Background
Importance of CASE?
Drawbacks of CASE
Scope of CASE
CASE Support to SDLC
CASE Tools
Summary
Conclusions
References
2 Computer Aided Software Engineering(CASE)
3. What is CASE?
Computer Aided Software Engineering (CASE) is the use
of software tools[ I will discuss at slide 10 to onward] to
assist in the development[ slide 7 and 8] and
maintenance of software.
Computer-Aided Software Engineering (CASE) is the
domain where software tools used to design and
implement applications
Software systems that are intended to provide automated
support for software process activities
Automated support definition: Automated support is that we use
some software to develop another software. For example if we
need diagram representation of data in the form of flow chart and
we develop it by the help of a flow chart maker (software tool used
to develop flow charts) rather than developing manually(by hand).
This is called automation support.
3 Computer Aided Software Engineering(CASE)
4. CASE Background
To speed up the software system building
process, a new concept of designing software
is introduced in the '70s, called Computer
Aided Software Engineering (CASE).[2]
This term is used for a new generation of
tools that applies rigorous (exact) engineering
principles to the development and analysis of
software.
4 Computer Aided Software Engineering(CASE)
5. Importance of CASE
CASE allows for rapid development of software.
Produce system with a longer effective
operational life
Produce systems that most closely meet user
needs and requirements.
Produce system with excellent documentation
Produce systems that needs less systems
support
Produce more flexible systems
5 Computer Aided Software Engineering(CASE)
6. Drawbacks of CASE
Very Complex
Expensive
Difficult to customize
Require training of maintenance staff
Not easily maintainable
Fragile(Weak)
6 Computer Aided Software Engineering(CASE)
7. Scope of CASE
CASE tools can be grouped together if they have
similar functionality, process activities and capability
of getting integrated with other tools.
The scope of CASE tools goes throughout the
SDLC(System Development life Cycle).
7 Computer Aided Software Engineering(CASE)
8. CASE Support to SDLC
Traditional
SDLC
CASE
Support
SDLC
8 Computer Aided Software Engineering(CASE)
9. CASE Tools
CASE tools can be broadly divided into the
following parts based on their use at a
particular SDLC stage
Detail of tools is at slide 10 onward
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.
9 Computer Aided Software Engineering(CASE)
10. CASE Tools
CASE Tools Categories
Major categories of CASE tools are:
10 Computer Aided Software Engineering(CASE)
11. CASE Tools
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.
Diagrammatic Representation of system.
Help to supervise a process across many different
fields.
Examples
Flow Chart Maker tool for creating state-of-the-art
flowcharts.
Rational Rose used for creating
o DFD’s(Data Flow Diagram)
o ERD’s (Entity Relationship Diagram)
11 Computer Aided Software Engineering(CASE)
12. CASE Tools
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.
Examples
EPF(Eclipse Process Framework) Composer
12 Computer Aided Software Engineering(CASE)
13. CASE Tools
Project Management Tools
These tools are used for project planning, cost and
effort estimation, project scheduling and resource
planning.
These tools help Managers to comply project execution
with every mentioned step in software project
management.
Project management tools help in storing and sharing
project information like time tracking etc. in real-time
throughout the organization.
Examples
Creative Pro Office,
Trac Project,
13 Computer Aided Software Engineering(CASE)
14. CASE Tools
Documentation Tools
Documentation in a software project starts prior to the
software process, goes throughout all phases of SDLC.
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.
Training Manuals, Installation Manual, User Manuals
can be generated by documentation tools.
Examples
Doxygen,
DrExplain,
14 Computer Aided Software Engineering(CASE)
15. CASE Tools
Analysis Tools
These tools help to gather requirements,
automatically check for any inconsistency,
inaccuracy in the diagrams, data redundancies or
erroneous omissions.
Examples
Accept 360,
Case Complete for requirement analysis,
15 Computer Aided Software Engineering(CASE)
16. CASE Tools
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.
Animation, Modeling and Rendering of projects can
be generated by design tools
Examples
Maya
KeyShot
16 Computer Aided Software Engineering(CASE)
17. CASE Tools
Configuration Management (CM) Tools
An instance of software is released under one version.
Configuration Management tools deal with
Version ,Baseline configuration and Change control
management
Bug tracking and Blogging can be done by CM
tools
Examples
Git, (version control software)
Accu REV.
17 Computer Aided Software Engineering(CASE)
18. CASE Tools
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.
Examples
iTop
18 Computer Aided Software Engineering(CASE)
19. CASE Tools
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.
Examples
Cscope to search code in C,
Eclipse.
19 Computer Aided Software Engineering(CASE)
20. CASE Tools
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.
Examples
Serena prototype composer,
Mockup Builder.
20 Computer Aided Software Engineering(CASE)
21. CASE Tools
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.
Examples
Adobe Edge Inspect
Foundation 3
21 Computer Aided Software Engineering(CASE)
22. CASE Tools
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.
Examples
JMeter.
AppsWatch,
22 Computer Aided Software Engineering(CASE)
23. CASE Tools
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.
Examples
Bugzilla for defect tracking,
HP Quality Center.
23 Computer Aided Software Engineering(CASE)
26. Summary
From above material it is concluded that CASE
have significant impact on
Software Quality
Simply stated, CASE can signification contribute to a
reduction of errors in each development phase.
Software Maintenance
Full and updated documentation by CASE tools
enables thorough examination of possible software
adaptations(versions) for new applications.
Project Management
CASE tools can significantly contribute from
deviation(going away) of budget and schedule from
a plan and the reduction of high error rates and
shorter correction cycles when needed.
26 Computer Aided Software Engineering(CASE)
27. Conclusion
Computer Aided Software Engineering(CASE)27
It is concluded that CASE tools are a class of software that
automates many of the activities involved in SDLC phases.
For example, when establishing the functional requirements of a proposed application,
prototyping tools can be used to develop graphic models of application screens to assist end
users to visualize how an application will look after development.
Subsequently, system designers can use automated design tools to transform the prototyped
functional requirements into detailed design documents. Programmers can then use automated
code generators to convert the design documents into code.
Automated tools can be used collectively or individually.
For example, prototyping tools could be used to define application requirements that get
passed to design technicians who convert the requirements into detailed designs in a traditional
manner using flowcharts and narrative documents, without the assistance of automated design
software.
CASE tools can be used to increase productivity, decrease costs, enhance
project controls, and increase product quality.
Organizations can develop systems with appropriate functionality, security,
integrity, and reliability by using CASE tools.
Inadequate (poor) Standardization, Unrealistic Expectations are limitations of
CASE tools.
28. References
1. Pressman, R. S. (2005). Software engineering: a
practitioner's approach. Palgrave Macmillan.
2. MULLER, H. (1996). Computer Aided Software
Engineering (p. 2). H. Muller, R. J. Norman, & J. Slonim
(Eds.). Kluwer Academic Publishers.
3. Accessed[14-04-2015]. Analysis(2015). Available:
http://www.umsl.edu/~sauterv/analysis/F08papers/View.ht
ml
4. Accessed[14-04-2015]. Ch_Overviewcase.html(2015).
Available:
https://docs.oracle.com/cd/E26228_01/doc.93/e21955/ch_o
verview_case.htm#WEACS128
28 Computer Aided Software Engineering(CASE)