CASE Tools

advertisement
CASE (Computer-Aided Software
Engineering) Tools
•
Similar to CAD tools that provides hardware support.
• Software that is used to support software process
activities.
• Provides software process support by:– automating some process activities.
– providing information about the software being
developed.
• Currently used in every phase/workflow of life cycle.
Computer-Aided Software Engineering
• Prerequisites to tool use:
– Need a collection of useful tools that help in every step of
building a product.
– Need an organized layout that enables tools to be found
quickly and used efficiently.
– Need a skilled craftsperson who understands how to use the
tools effectively
2
Why CASE tools are developed:
CASE tools are designed to:enhance and upgrade the computing system adopted and used.
. It is an important part of various business growth strategies.
The CASE tools are developed for the following reasons:
•Firstly Quick Installation.
•Time Saving by reducing coding and testing time.
•Enrich graphical techniques and data flow.
•Optimum use of available information.
•Enhanced analysis and design development.
•Create and manipulate documentation.
•Transfer the information between tools efficiently.
•The speed during the system development increased.
CASE tools are used to develop software that is high-quality, defectfree, and maintainable.
Role of CASE tools:
CASE tools play a major role in the following activities:
• Project management
• Data dictionary
• Code generation
• User interface design
• Schema generation
• Creation of meta-data for data warehouse
• Reverse engineering
• Re-engineering
• Document generation
• Version control
• OO analysis and design
• Software testing
• Data modeling
• Project scheduling
• Cost estimation
Positioning of CASE tool in a Software
Development Application
Characteristics of a successful CASE Tool:
Standard methodology: A CASE tool must support a standard software
development methodology and standard modeling techniques.
Flexibility: The CASE tool must offer flexibility and the choice for the
user of editors' development environments.
Strong Integration: The CASE tools should be integrated to support all
the stages. This implies that if a change is made at any stage, for
example, in the model, it should get reflected in the code
documentation.
Integration with testing software: The CASE tools must provide
interfaces for automatic testing tools that take care of regression and
other kinds of testing software under the changing requirements.
Support for reverse engineering: A CASE tools must be able to generate
complex models from already generated code.
On-line help: The CASE tools provide an online tutorial.
CASE Tool Components
• Integration framework
– specialized programs allowing CASE tools to
communicate
• Portability services
– allow CASE tools and their integration framework to
migrate across different operating systems and
hardware platforms without significant adaptive
maintenance
• Operating system
– database and object management services
• Hardware platform
CASE DIAGRAM FOR ATM SYSTEM
CASE tools: Automated Diagram
Support
 Checks for syntactic correctness
 Data dictionary support
 Checks for consistency and completeness
 Navigation to linked diagrams
 Layering
 Requirements traceability
 Automatic report generation
 System simulation
 Performance analysis
CASE tools: Advantages
• Help standardization of notations and diagrams
• Help communication between development team members
• Automatically check the quality of the A&D models
• Reduction of time and effort
• Enhance reuse of models or models’ components
• Improve software quality
• Enforce discipline
• Information is illustrated through diagrams that are typically easier to
understand
• Development information is centralized
CASE tools: Disadvantages
• Limitations in flexibility of documentation
• May lead to restriction to the tool’s capabilities
• Major danger: completeness and syntactic correctness
does NOT mean compliance with requirements
• Costs associated with the use of the tool: purchase +
training
3 Categories of CASE Tools
• Tools
• Workbenches
• Environments
CASE Tools
• Upper-CASE tools (front-end tools)
– Assist developer during requirements, analysis, and
design workflows or activities
• Lower-CASE tools (back-end tools)
– Assist with implementation, testing, and
maintenance workflows or activities
• Integrated CASE tools (I-CASE)
– provide support for the full life cycle
WORKBENCHES
• Workbenches
– Collection of tools that together support:
• Process workflows (requirements, design, etc.)
• One or two activities where an activity is a related
collection of tasks
– Commercial examples:
• PowerBuilder
• Software Through Pictures
• Software Architect
ENVIRONMENT
• Environments
– Support the complete software process or, at least,
a large portion of the software process
– Normally include several different workbenches
which are integrated in some way
Taxonomy of CASE Tools
Components of CASE
Design
Generator
Analysis
tool
Drawing
Tool
Code
Generator
CASE
repository
Document
Generator
Database
Generator
Prototyping
Tool
Error-checking
tool
Security and
Version Control
Screen and
Report Generator
Components of CASE
• CASE repository
– Central component of any CASE tool
– Also known as the information repository or data
dictionary
– Allows easy sharing of information between tools and
SDLC activities
– Used to store graphical diagrams and prototype forms
and reports during analysis and design workflows
– Provides wealth of information to project manager and
allows control over project
– Facilitates reusability
Components of CASE
• CASE repository acts as:
– Information repository
• Combines information about organization’s business
information and application portfolio
• Provides automated tools to manage and control access
– Data dictionary
• Used to manage and control access to information
repository
• Facilities for recording, storing and processing resources
• Useful for cross-referencing
Components of CASE
• Diagramming tools
– Allow you to represent a system and its
components visually
– Allows higher level processes to be easily
decomposed
– Can examine processes or data models at high or
low level
Components of CASE
• Screen and report generators
– Used to
• Create, modify and test prototypes of computer
displays and reports
• Identify which data items to display or collect for each
screen or report
– Some tools have templates
Components of CASE
• Analysis tools
– Generate reports that help identify possible inconsistencies,
redundancies and omissions
– Generally focus on
• diagram completeness and consistency
• data structures and usage
Components of CASE
• CASE documentation generator tools
– Create standard reports based on contents of repository
– Need textual descriptions of needs, solutions, trade-offs,
diagrams of data and processes, prototype forms and
reports, program specifications and user documentation
– High-quality documentation leads to 80% reduction in
system maintenance effort in comparison to average
quality documentation
DBMS Features Relevant to CASE
Repositories
•
•
•
•
•
•
•
Non-redundant data storage
High-level access
Data independence
Transaction control
Ad hoc data queries and reports
Openness
Multi-user support
Download