Computer Aided Software Engineering Tools and Techniques (CASE)

Download Report

Transcript Computer Aided Software Engineering Tools and Techniques (CASE)

And Franchise Colleges
Supplement 02 - Case Tools
By MANSHA NAWAZ
Supplement 02
CASE Tools
1
Learning Aims
• Objective 1
– to understand the importance of CASE tools and
techniques
• Aims
– What is CASE?
Supplement 02
CASE Tools
2
What is CASE?
“Computer Aided Software Engineering
(CASE) are the software tools that provide
automated support for some portion of the
systems development process”
(Hoffer,1999)
• Abstraction based methodology based on
diagrams (pictures)
• CASE can be used to model any system
• All future lectures will be devoted to
learning this modelling technique
Supplement 02
CASE Tools
3
Why use CASE
• TEAM – share system development tasks
– Size of development team
– Size and scope of project
– Skill & experience of the team ….
• Documentation used to communication.
• STRUCTURED METHODOLOGIES
– used to document all systems to a universally accepted
defined standards
• Documentation standards – use the same tools
• Speak the same language - use the same tools
• Structured Methodology tool of interest :
– Computer Aided Software Engineering Tools & Techniques
(CASE)
Supplement 02
CASE Tools
4
Integrated CASE Tools
• Support activities occurring across several
phases of the systems development lifecycle
• Integrated CASE provide
• tools to create diagrams, forms & report definitions
• facilities for analysis, reporting and code generation
• shares and integrates data across and between tools
• Rely on common terminology, notation and
system development methods
• Use a common repository to allow data to be
shared between tools and SDLC activities
Supplement 02
CASE Tools
5
Organisational use of CASE
• Depending on the CASE tool, the following
system development activities may be
covered:
•
•
•
•
•
•
Supplement 02
project identification and selection
project initiation and planning
analysis
design
implementation
maintenance
CASE Tools
6
Organisational use of CASE
• Objectives of CASE
•
•
•
•
•
•
•
•
•
improve quality of developed systems
increase speed of systems development
improve testing process through automatic checking
integrate development activities (common methods)
improve documentation (quality and completeness)
standardise the development process
simplify program maintenance
promote reusability of modules & documentation
improve software portability across environments
Supplement 02
CASE Tools
7
CASE Tool Components
• Vary depending on which CASE tool is
considered but in general will include:
• diagramming facilities
• means of describing/defining functional and data
objects
• means of identifying relationships between system
components
• central repository of system information
• error checking facilities (syntax errors)
Supplement 02
CASE Tools
8
CASE Tool Components
•
•
•
•
•
•
consistency and completeness checks
user interface generators
database specification
code generators
project management aids
documentation generators
• May also provide features for group
working, version control, interfacing
facilities and security features
Supplement 02
CASE Tools
9
CASE Diagramming Tools
• Diagramming facilities include:
•
•
•
•
•
•
•
•
checks for syntactic correctness
consistency & completeness checks
navigation to linked diagrams
data dictionary support
layering of system components
traceability of requirements
report generation
system simulation/performance analysis (models)
Supplement 02
CASE Tools
10
CASE Repository
• A repository is a centralised database
containing all models (diagrams), data
dictionary entries, form & report definitions
and system & organisational information
• Holds complete information to develop a
system from initiation to maintenance
• Supports team IS development
Supplement 02
CASE Tools
11
CASE Repository
Diagrams
Forms and
Reports
Documentation
Project
Information
Source and
Object Code
Supplement 02
Analysis
& Testing
Results
CASE
Repository
Standard
Libraries
CASE Tools
12
CASE Analysis Tools
• Help handle the complexities of building large
complex systems
• Analyse items stored in the repository for
consistency & completeness
• includes diagrams, data, process flows and reports
• e.g. all classes in a sequence diagram are present in
the class diagram and messages are consistent
• Analysis tools often may be customised
Supplement 02
CASE Tools
13
CASE Documentation Generators
• Create reports based on the Repository’s
contents
• technical & user documents in standard formats
• Benefits:
• helps manage large amounts of documentation
generated during Systems Development Lifecycle
• reduces “retrospective” documenting of system
• high quality documentation reduces maintenance
costs/effort
Supplement 02
CASE Tools
14
CASE Code Generators
• Automatic generation of program and database
definition code from information stored in the
Repository
• Produce source code (not compiled) allows
generation for several environments
– standard programming language conventions
– compiled on different platforms with different
operating systems
Supplement 02
CASE Tools
15
CASE Code Generators
• e.g. the IBM Rational Rose suite includes
tools which:
–
generate class definitions,
• in C++, Visual Basic, Java etc.;
–
–
–
generate ER model, SQL schema (e.g. Oracle8),
CORBA IDL and Web Publisher;
reverse engineer from many of these;
trace requirements from model to code;
•
–
•
model integrator / check model
guide the development process.
e.g. the ASCENT suite developed at UoT
Supplement 02
CASE Tools
16
Benefits of using CASE Tools
• Automation of tedious tasks
• Syntax/completeness checks ensure consistency
• Amending/updating achieved far more easily
• documentation can be kept up-to-date
• beneficial effect on maintenance
• More rapid development
• more feasible to develop & evaluate alternative designs
• an aid to prototyping
Supplement 02
CASE Tools
17
Benefits of using CASE Tools
• Capture of system data for reuse
• particularly important for OO development
•
•
•
•
•
•
May guide the use of a methodology
Clearer communication with users
Continuity of development with changing staff
Standardised quality assurance/test procedures
Improvements in system quality
Reduction in defects increases morale
Supplement 02
CASE Tools
18
Role of CASE in Software Quality
Assurance
• CASE can help with:
–
–
–
–
–
–
–
–
adherence to standards,
integrity of documentation,
centrally held data dictionary,
fast capture of requirements,
quick modification to designs,
trace requirements from model to code,
guide the development process,
easy, consistent code-generation.
• All important in maintaining quality
Supplement 02
CASE Tools
19
Limitations of CASE
• Limited flexibility in documentation
– standards may not suit organisation or
project needs
• Development approach limited to fit
capabilities of the CASE tool
– may not adhere to industry or
organisational standards
• Training and experience required
Supplement 02
CASE Tools
20
Limitations of CASE
• Front loaded cost of installation of CASE
tool & training
– benefits may outweigh initial costs
• Incomplete coverage of syntax/
consistency checks
• Limited intelligence - no checks on overall
quality or correctness
Supplement 02
CASE Tools
21
SAD using Case Tools
• Systems Analysis
– “What” the proposed system must do
– Construct Analysis Specification document
• Systems Design
– “How” the proposed system will achieve this
– Construct Design Specification document
• Documentation Standards
– Emphasis on CASE tools documentation
– And not PROJECT documentation !!!!!!!!!
Supplement 02
CASE Tools
22
CASE Diagramming Tools
• Systems Development uses diagrams to
represent various system components and
their relationships
– Context Diagram supported by text
– Event List supported by text
– Data Flow Fragments supported by text
– Top-Level Data Flow Diagram supported by text
– Low-Level Data Flow Diagrams supported by text
Supplement 02
CASE Tools
23
All future lectures will be devoted to
learning CASE Tools & Techniques
–
–
–
–
–
–
Context Diagram supported by text
Event List supported by text
Data Flow Fragments supported by text
Top-Level Data Flow Diagram supported by text
Low-Level Data Flow Diagrams supported by text
Data Dictionary
• Data Description
– Structures & Elements
– Starting point is DATA STORES& DATA FLOW
• Data Store Descriptions
• Data Flow Descriptions
• Process Descriptions
– NORMALISATION
• Database Tables derived from Data Store Descriptions
Supplement 02
CASE Tools
24
Summary
• Importance of CASE tools & techniques to
model systems
• Case Documentation requirements &
standards
• CASE TOOLS - ONLINE
Supplement 02
CASE Tools
25