L 13 – P CASE T ECTURE

Transcription

L 13 – P CASE T ECTURE
LECTURE 13 – PROTOTYPING AND
CASE TOOLS
1
•
Rapid Application Development
•
Prototyping
•
CASE Tools
•
Types of CASE Tools
Software Project Management
Maria Petridou
RAPID APPLICATION DEVELOPMENT



Object-oriented approach to systems development
Method of development + Software tools
Commonly, a rapid application development (RAD) is implemented in
three phases:
2
Software Project Management
Maria Petridou
PROTOTYPING


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’!
3
Software Project Management
Maria Petridou
PROTOTYPING



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
Software Project Management
Maria Petridou
PROTOTYPING

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.
 First-of-a-series prototype – first full-scale model or pilot.
 Selected features prototype –operational model with some of the features
in a module.
5

Software Project Management
Maria Petridou
PROTOTYPING

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

6
Software Project Management
Maria Petridou
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
7
Software Project Management
Maria Petridou
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.
8
Software Project Management
Maria Petridou
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.
9
Software Project Management
Maria Petridou
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.
10
Software Project Management
Maria Petridou
TYPES OF CASE TOOLS
There are three types of CASE tools:

Upper CASE


Lower CASE


Support analysis and design
Support programming and implementation
Integrated CASE

Combines both upper and lower CASE
11
Software Project Management
Maria Petridou
TYPES OF CASE TOOLS

Upper CASE tools





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



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.
12
Software Project Management
Maria Petridou
TYPES OF CASE TOOLS

Examples of 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)
13
Software Project Management
Maria Petridou
TYPES OF CASE TOOLS

Examples of CASE Tools (cont.):
 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)
Reading: (Kendall&Kendall, pages 14-19, chapter 6).
14
Software Project Management
Maria Petridou