Chapter 6-- CASE TOOLS
Chapter 6
CASE Tools
1
Chapter 6-- CASE TOOLS 2
Overview
• CASE Tools• Flowcharts• Decision tables• Project management tools• Prototyping• Types & examples of 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)
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
Chapter 6-- CASE TOOLS 5
An Overview of Systems Development
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
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
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
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.
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.
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.
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
Chapter 6-- CASE TOOLS 13
Flowcharts
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
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
Chapter 6-- CASE TOOLS 16
Project Management Tools
Chapter 6-- CASE TOOLS 17
Project Management 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)
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’!
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
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.
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
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
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.
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)
Top Related