Chapter 6 CASE Tools

25
Chapter 6 CASE Tools 1 Chapter 6-- CASE TOOLS

description

Chapter 6 CASE Tools. Overview. CASE Tools Flowcharts Decision tables Project management tools Prototyping Types & examples of CASE Tools. An Overview of Systems Development. Systems development process Includes a wide range of projects Purchasing a small program - PowerPoint PPT Presentation

Transcript of Chapter 6 CASE Tools

Page 1: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS

Chapter 6

CASE Tools

1

Page 2: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 2

Overview

• CASE Tools• Flowcharts• Decision tables• Project management tools• Prototyping• Types & examples of CASE Tools

Page 3: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 3

An Overview of Systems Development

• Systems development process

– Includes a wide range of projects

• Purchasing a small program

• Installing a huge system including hardware, software,

communications equipment, and personnel

– Typically called a systems development life cycle

(SDLC)

Page 4: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 4

An Overview of Systems Development (Contd..)

• Systems investigation and analysis – Looks at the existing system and determines if it can and

should be improved

• Systems design and implementation– Selecting and planning the best solution– Modifying an existing system or developing a new one, placing

the best solution into effect

• Maintenance and review– Evaluating the results of the solution– Makes sure that the new or modified system is operating as

intended

Page 5: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 5

An Overview of Systems Development

Page 6: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 6

Tools and Techniques for Systems Development

• Systems development tools – Can greatly simplify the systems development process, it includes:

• Computer-aided software engineering tools (CASE): Software tools that automate many of the tasks required in a systems development effort

• Flowcharts: system design diagram that charts the path from a starting point to the final goal of a system

• Decision tables: displays the various conditions that could exist in a system and the different actions that the computer should take as a result of these conditions

• Project management software• Prototyping

Page 7: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 7

Computer-Aided Software Engineering

• Software engineering

– Employs computer-aided software engineering (CASE) tools

• CASE tools

– Automate many systems development tasks

– Allow more than one person to work on the same system at

the same time via a multiuser interface, which coordinates

and integrates the work of all team members

Page 8: Chapter 6 CASE Tools

CASE Tools

8Chapter 6-- CASE TOOLS

• Computer-Aided Software Engineering (CASE) tools are automated

software packages that help to automate activities in the SDLC.

• CASE tools aim to enforce an engineering-type approach to the

development of software systems.

• CASE tools range from simple diagramming tools to very

sophisticated programs to document and automate most of the

stages in the SDLC.

CASE tools used since the early 1990s

Page 9: Chapter 6 CASE Tools

CASE Tools (Contd..)

9Chapter 6-- CASE TOOLS

• The case for using CASE tools:

– Improve quality of systems developed.– Help to increase the productivity of systems

analysts.– Improve communication within the development

team and with users.– Encourage an integrated approach to the SDLC.– Improve the management of the project.– Particularly helpful for systems maintenance.

Page 10: Chapter 6 CASE Tools

CASE Tools (Contd..)

10Chapter 6-- CASE TOOLS

• And more specifically:– Faster creation/modification of documentation.– Documents can easily be distributed and reviewed.– Reduction in the amount of paperwork.– Maintain a record of the SDLC in an effective way.– Members of the development team can interact more easily

throughout the project.– Communication with the user is improved because changes

can be reported, implemented and revised more quickly.– Interrelation and continuity between stages in the SDLC are

easier to identify and verify.– Crucial for RAD, XP and similar methodologies.

Page 11: Chapter 6 CASE Tools

CASE Tools (Contd..)

11Chapter 6-- CASE TOOLS

• Potential drawbacks of CASE Tools:

– Lack of standards among different CASE tools.

– Development should be driven by the analyst and not by

the CASE tools.

– CASE tools are no substitute for human expertise.

Page 12: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 12

1. Flowcharts

• Chart the path from a starting point to the final destination

• Can display various amounts of detail

• When developing a system– General flowchart

describes the overall purpose and structure of the system

Page 13: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 13

Flowcharts

Page 14: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 14

2. Decision Tables• Can be used as an

alternative to or in conjunction with flowcharts

• In general, a decision table displays – The various conditions

that could exist – The different actions

that the computer should take

Page 15: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 15

3. Project Management Tools• Purpose is to plan, monitor, and control necessary development activities

• Program Evaluation and Review Technique (PERT)

– Creates three time estimates for an activity

• The shortest possible time

• The most likely time

• The longest possible time

• Gantt charting

– A grid that lists activities and deadlines

• Project crashing

– Reducing project completion time

Page 16: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 16

Project Management Tools

Page 17: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 17

Project Management Tools

Page 18: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 18

4. Prototyping

• The creation of a preliminary model or version of a

major subsystem or a small, scaled-down version of

the entire system

• Iterative approach to systems development

– Each phase of the SDLC is repeated several times (iterated)

Page 19: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 19

4. Prototyping (contd..)

• It can be defined as an interactive process for systems development in

which users and analysts are in close collaboration for converting

requirements to a working system that is continuously revised.

• Prototyping can be used as:

– Alternative to the ‘traditional’ SDLC approach

– Technique for gathering information in the requirements analysis phase of the

SDLC (help to find what the user really wants)

Prototyping does not mean ‘quick and unplanned implementation’!

Page 20: Chapter 6 CASE Tools

4. Prototyping (contd..)

20Chapter 6-- CASE TOOLS

• Prototyping is a complex technique and to apply it successfully, detailed

knowledge of the SDLC is required.

• Prototyping helps to set priorities and adapt the planning to changes in

requirements with minimum disruption.

• Users play a crucial role in prototyping, hence:

– Encourage and welcome user input

– No resistance to changing the prototype

• Two main purposes for prototyping:

– Know users’ reaction to working with prototype

– Assess how well the prototype’s features address the users’ requirements

Page 21: Chapter 6 CASE Tools

4. Prototyping (contd..)

21Chapter 6-- CASE TOOLS

• Guidelines for developing prototypes:– Work in manageable modules– Modify in successive iterations– Estimate the costs of building the prototype– Build the prototype rapidly– Stress the user interface

• Types of Prototypes– Patched-up prototype – all necessary features but inefficient.– Non operational prototype – only input/output are prototyped. (TASK)– First-of-a-series prototype (beta version)– first full-scale model or pilot.– Selected features prototype –operational model with some of the features

in a module.

Page 22: Chapter 6 CASE Tools

Chapter 6-- CASE TOOLS 22

4. Prototyping (contd..)• Advantages of prototypes:

– Potential for changes to the system early in the development.

– Opportunity to stop developing a non-working system.

– Possibility of developing system that closely addresses users’ requirements and expectations.

• Disadvantages of prototypes: – Prototyping is difficult to

manage.– Increase cost

Page 23: Chapter 6 CASE Tools

Types of CASE Tools

23Chapter 6-- CASE TOOLS

There are three types of CASE tools:

• Upper CASE

– Support analysis and design

• Lower CASE

– Support programming and implementation

• Integrated CASE

– Combines both upper and lower CASE

Page 24: Chapter 6 CASE Tools

Types of CASE Tools (Contd..)

24Chapter 6-- CASE TOOLS

• Upper CASE tools– Support strategic planning and construction of concept-level products and ignore

the design aspect.– Create and modify the system design.– Information about the project stored in the CASE repository (reports, diagrams,

files)– Support modelling of how the system fits into the organisation.– Analysis reports show incomplete parts and errors in the system design e.g.

balance between process and data models.• Lower CASE Tools

– concentrate on the back end activities of the software life cycle– Generate source code and reduce need for systems programming.– Time for maintenance is reduced because test and debug are eliminated.– Once mastered, promote the re-use of existing documentation and components.

Page 25: Chapter 6 CASE Tools

Types of CASE Tools (Contd..) –Examples-

25Chapter 6-- CASE TOOLS

– Diagramming – for representing processes, data and control structures graphically. (analysis)

– CASE repository – holds information required to create, modify and evolve the system. (analysis, design, implementation)

– Form and report generators – automate generation of forms and reports to aid prototyping. (design, implementation, RAD, XP)

– Code generators – automate generation of source code from diagrams and forms. (design, implementation)

– Project management – aid in the planning, tracking, controlling and reporting of project management. (planning)

– Document generator – create standard reports based upon the contents of the CASE repository. (analysis, design, implementation)

– CASE analysis tools – help to identify problems of inconsistency, redundancy, and omissions. (more likely in analysis and design)