25
Supplement 02 CASE Tools 1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ

Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ

Embed Size (px)

Citation preview

Supplement 02 CASE Tools 1

Supplement 02 - Case Tools

And Franchise Colleges

By MANSHA NAWAZ

Supplement 02 CASE Tools 2

Learning Aims• Objective 1

– to understand the importance of CASE tools and techniques

• Aims– What is CASE?

Supplement 02 CASE Tools 3

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 4

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 5

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 6

Organisational use of CASE

• Depending on the CASE tool, the following system development activities may be covered:

• project identification and selection

• project initiation and planning

• analysis

• design

• implementation

• maintenance

Supplement 02 CASE Tools 7

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 8

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 9

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 10

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 11

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 12

CASE Repository

CASERepository

Diagrams

Documentation Forms and Reports

ProjectInformation

Source andObject Code

StandardLibraries

Analysis& Testing Results

Supplement 02 CASE Tools 13

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 14

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 15

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 16

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 17

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 18

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 19

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 20

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 21

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 22

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 23

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 24

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 25

Summary

• Importance of CASE tools & techniques to model systems

• Case Documentation requirements & standards

• CASE TOOLS - ONLINE