Académique Documents
Professionnel Documents
Culture Documents
CASE Tool
Rahul P Pune.
• CASE (Computer Aides Software Engineering)
:technologies are tools that provide the assistance to the
developer in the development of software.
Or
• CASE tools are programs (software) that automate or
support one or more phases of a systems development life
cycle.
4.4
CASE Tool Classification
• Upper-CASE describes tools that automate or support the
‘upper’ or earliest phases of systems development
• Lower-CASE describes tools that automate or support the
‘lower’ or later phases of systems development
• I-CASE (integrative case) support the entire SDLC
CASE Tools
6
(a) Upper Case Tools
• Diagramming tools: Diagramming tools enable system
process, data, and control structures to be represented
graphically. They strongly support analysis and
documentation of application requirements.
to Code
Libraries General
Project
Report
Layouts
implementatio Program
Source
Information
n and and
Object
maintenance Code
CASE Tool Architecture
CASE Tool Components
INPUTS: CASE Tool
models, Facilities
descriptions (on a workstation)
OUTPUTS: and
reports, prototypes
problems,
and
analyses
House-
imported Quality
keeping
and Management
Tools
exported Tools
knowledge
check-out/
check in Data
Local Decision
knowledge Sharing
Repository Support
Tools
(on a LAN Tools
Server)
Security and
Inquiry and
Version
Reporting
Control
Tools
Tools
CENTRAL
REPOSITORY Design Code Document
Generators Generators Tools
Modeling and Diagramming Tools
• Support logical model development (data and
process)
• Process Modeler
– can be used to develop a diagram which illustrates the
activities within an organization system and the
sequence in which they take place.
• Function Hierarchy Diagrammer
– facilitates the modeling of the hierarchies of all the
functions that are performed by a business and can
assist in identifying which parts of the business are
currently, or can be automated.
• Data Flow Diagramming Tools
• Entity Relationship Diagramming Tools
• Not just drawing packages!
Prototyping and Transformation
Tools
• Enable the rapid conversion of analysis requirements into default
database and application designs.
• Application transformers
– The application transformers create a first-cut
application design based on an existing database design
and on the functions and business rules placed in the
repository during detailed analysis.
• Database Transformers
– The database transformer creates and maintains
database designs based on entity models recorded in
the central repository.
– Reverse-engineering
• Form and Report Generators
– Automate the activities necessary for the analyst to
design how the various users will interact with the
system.
Documentation and Code
Generators
• The documentation generators generate
phase-specific documentation from the
data in the central repository.
• Code generators produce high-level code
from the various diagrams, models,
forms, reports, and data definitions
contained with the central repository.
– Reverse Engineering and Reengineering
• Reverse engineering function allows for the
generation of design specifications and models from
existing program code and data structures.
• Reengineering functions are advanced reverse
engineering modules that provide a certain level of
automation to the redesign process and make
recommendations as to the “logic” of a program.
19
Project Management Tools(PMT)
• Requirements tracing tools
– provide systematic database-like approach to tracking
requirement status beginning with specification
– In Large projects
27
Prototyping and Transformation
Tools
• Enable the rapid conversion of analysis requirements into default
database and application designs.
• Application transformers
– The application transformers create a first-cut
application design based on an existing database design
and on the functions and business rules placed in the
repository during detailed analysis.
• Database Transformers
– The database transformer creates and maintains
database designs based on entity models recorded in
the central repository.
– Reverse-engineering
• Form and Report Generators
– Automate the activities necessary for the analyst to
design how the various users will interact with the
system.
Prototyping and Transformation
Tools
• Paper prototyping: initial stage of prototyping
• Screen painter: Define screen layout for interaction. Also
generate source code to create screen and report layouts.
• PRO/SIM tools: generate analysis and design source code
for real time systems.
32
Maintenance Tool
• Maintenance Tool
• Static analysis tools
– code-based testing tools, specialized testing languages,
requirements-based testing tools
• Dynamic analysis tools
– intrusive tools modify source code by inserting probes
to check path coverage, assertions, or execution flow
– non-intrusive tools use a separate hardware processor
running in parallel with processor containing the
program being tested
33
Maintenance Tool
• Reengineering tools
– Data reengineering tools: Modify online database.
– reverse engineering to specification tools
• generate analysis and design models from source
code, where used lists, and other design information
– code restructuring and analysis tools
• analyze program syntax, generate control flow
graph, and automatically generates a structured
program
– on-line system reengineering tools
• used to modify on-line DBMS
42
CASE Tools
43
i-Case Environment
47
An analysis and design workbench
Structured Report
Data
diagramming generation
dictionary
tools facilities
Central Query
Code
generator information language
repository facilities
48
Integrated CASE Environments -1
• Provide mechanism for sharing
information among all tools contained in
the environment
• Enable changes to items to be tracked to
other information items
• Provide version control and overall
configuration management
• Allow direct access to any tool contained
in the environment
49
Integrated CASE Environments -2
• Establish automated support for the chosen
software process model, integrating CASE tools and
SCI's into a standard work break down structure
• Enable users of each tool to experience a consistent
look and feel at the human-computer interface
• Support communication among software engineers
• Collect both management and technical metrics to
improve the process and the product
50
Integrated Framework
52
Integration Architecture - 2
• Object management layer (OML)
– performs the configuration management
function, working with the CASE repository
OML provides integration services
• Shared repository layer
– CASE database and access control functions
enabling the OML to interact with the database
53
CASE Repository Functions - 1
1. Data integrity
– includes functions to validate entries to the repository
and ensure consistency among related objects
2. Information sharing
– provides mechanism for sharing information among
multiple developers and multiple tools, controls
modification of information
3. Data-tool integration
– establishes shared data model and performs
configuration management functions
54
CASE Repository Functions - 2
4. Data-data integration
– database management system allowing access to
related objects so functions can be achieved
5. Methodology enforcement
– E-R model used to define steps needed to be
conducted to build the repository contents
6. Document standardization
– definition of objects in the database leads directly to a
standard approach for creation of engineering
documents
55
CASE Repository Content Summary
1. Problem to be solved.
2. Problem domain.
3. Emerging solution.
4. Rules pertaining to software process
methodology.
5. Project plan.
6. Organizational content.
56
DBMS Features Needed for CASE
Repositories
1. Non-redundant data storage
2. High-level access
3. Data independence
4. Transaction control
5. Ad hoc data queries and reports
6. Openness
7. Multi-user support
57
CASE Repository Features - 2
8) Integrity enforcement
business rules policies, constraints requirements
on the information being entered into
repository, triggers may be used to check the
validity of the design models in real time
58
CASE Repository Features - 3
9) Semantic-rich tool interface
– repository meta-model contains semantics that enable
a variety of tools to interpret meaning of data stored
in the repository
10) Process/project management
– contains information about the software application
– characteristics of each project
– organization's general process for software
development - phases, tasks, deliverables
59
11) Version: Some old soft wares may require for
comparison
12) Dependency tracking and change
management: Checks integrity whenever
changes occurs
13) Requirement tracking: Forward tracking and
backward tracking
14) Configuration management:
15) Audit Trail: Who, when, why changes done in
repository.