Sei sulla pagina 1di 29

RAD & CASE TOOLS

Rapid Application Development CASE Tools Types of CASE Tools

RAPID APPLICATIONS DEVELOPMENT (RAD)

Systems development methodology created to radically decrease the time needed to design and implement information systems radically. Five key factors
1.
2. 3. 4. 5.

Extensive user involvement Joint Application Design sessions Prototyping Integrated CASE tools Code generators

19.2

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:

RAD DEVELOPMENT CYCLE

THE PROCESS OF DEVELOPING AN APPLICATION RAPIDLY



RAD is a general strategy rather than a single methodology Goals


To analyze a business process rapidly To design a viable system solution through intense cooperation between users and developers To get the finished application into the hands of the users quickly

Traditional SDLC steps are followed, but phases are combined Iteration is limited to design and development phases

COMPONENTS OF RAD

User involvement is key to success Prototyping is conducted in sessions similar to Joint Application Design (JAD) Prototyping screens become screens within the production system CASE tools are used to design the prototypes

APPROACHES TO RAD

Martins RAD Life Cycle

Systems requirement determination is done in context of a discussion of business problems and business areas User Design

End users and IS professionals participate in JAD workshops CASE tools are used to support prototyping Designer creates code using code generator End user validates screens and other aspects of design

Construction

Cutover

New system is delivered to end users

RAD SUCCESS STORIES


Inprise/Borlands

Delphi

U.S. Navy Fleet Modernization


Requirements

Move from three character-based systems to a unified, GUIbased system based on a single database

Reasons for choosing Delphi


Support for rapid prototyping Promise of re-use of components

Outcome
System developed in 6 months Estimated development savings of 50 percent New system resulted in immediate 20 percent savings due to reduced maintenance costs

RAD SUCCESS STORIES

Inprise/Borlands Delphi (continued)

First National Bank of Chicago

Electronic Federal Tax Payment System Delphi enabled rapid prototyping and development 10 months of development time 125 programmers 250 million rows of data and 55 gigabytes of data on-line

RAD SUCCESS STORIES

VisualAge for Java

Comdata

Modular Over the Road System (MOTRS) IBM Global Services chosen as vendor Servlets

Programming modules that expand the functions of the Web server Embedded code run from client browser Three months of research Three months of coding Three months of testing

Applets

Nine months to completion


RAPID APPLICATION DEVELOPMENT

RAD is a team-based technique that speeds up information systems developments. Like JAD, RAD uses a group approach, but goes much further. RAD resembles a condensed version of the entire SDLC, with users involved every step of the way.

RAD PHASES AND ACTIVITIES

Requirement planning

Users, managers, and IT staffs agree upon business needs, project scope and system requirements
Interact with users, build models and prototypes, and conduct intensive JAD-type sessions Program and application development, coding, integration and system testing

User Design

Construction

Cutover

Data conversion, full scale testing, system changeover, user training

RAD

Phases and Activities

RAD AND THE SDLC


RAD tools are used to generate screens and exhibit the overall flow of the application. Users approve the design and sign off on the visual model. Implementation is less stressful because users helped to design the business aspects of the system.

200 5 Pear son Pren tice Hall

Kendall & Kendall 6-14

WHEN TO USE RAD


RAD is used when:

Kendall & Kendall

The team includes programmers and analysts who are experienced with it. There are pressing reasons for speeding up application development. The project involves a novel ecommerce application and needs quick results. Users are sophisticated and highly engaged with the goals of the company.

200 5 Pear son Pren tice Hall

6-15

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!

16

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 prototypes features address the users requirements

17

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. 18

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

19

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

20

COMPONENTS OF CASE
Design Generator Analysis tool

Drawing Tool

Code Generator

Document Generator

CASE repository

Database Generator

Error-checking tool
Screen and Report Generator

Prototyping Tool
Security and Version Control

CASE VS. TRADITIONAL SYSTEMS DEVELOPMENT


Traditional Systems Development
Emphasis on coding and testing Paper-based specifications Manual coding of programs Manual documenting Intensive software testing Maintain code and documentation

CASE-Based Systems Development


Emphasis on analysis and design Rapid interactive prototyping Automated code generation Automated documentation generation Automated design checking Maintain design specifications

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.

23

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.
24

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.

25

TYPES OF CASE TOOLS


There are three types of CASE tools:

Upper CASE

Support analysis and design Support programming and implementation Combines both upper and lower CASE

Lower CASE

Integrated CASE

26

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. 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.
27

Lower CASE Tools


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)

28

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)

29

Potrebbero piacerti anche