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
2. 3. 4. 5.
Extensive user involvement Joint Application Design sessions Prototyping Integrated CASE tools Code generators
a rapid application development (RAD) is implemented in three phases:
.RAPID APPLICATION DEVELOPMENT
Object-oriented approach to systems development Method of development + Software tools Commonly.
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
Martin’s 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
New system is delivered to end users
S.RAD SUCCESS STORIES
U. Navy Fleet Modernization
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
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/Borland’s 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
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
Nine months to completion
with users involved every step of the way. Like JAD. RAD resembles a condensed version of the entire SDLC.
. but goes much further.RAPID APPLICATION DEVELOPMENT
RAD is a team-based technique that speeds up information systems developments. RAD uses a group approach.
. system changeover. full scale testing.RAD PHASES AND ACTIVITIES
Users. and conduct intensive JAD-type sessions Program and application development. and IT staffs agree upon business needs. coding. project scope and system requirements
Interact with users. managers. integration and system testing
Data conversion. build models and prototypes.
Phases and Activities
RAD AND THE SDLC
RAD tools are used to generate screens and exhibit the overall flow of the application.
© 200 5 Pear son Pren tice Hall
Kendall & Kendall 6-14
. Implementation is less stressful because users helped to design the business aspects of the system. Users approve the design and sign off on the visual model.
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.
© 200 5 Pear son Pren tice Hall
. Users are sophisticated and highly engaged with the goals of the company. The project involves a novel ecommerce application and needs quick results.
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’!
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.
detailed knowledge of the SDLC is required.PROTOTYPING
Prototyping is a complex technique and to apply it successfully. Users play a crucial role in prototyping. Prototyping helps to set priorities and adapt the planning to changes in requirements with minimum disruption. 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
. 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.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.
Disadvantages of prototypes:
Prototyping is difficult to manage. Increase cost
. Possibility of developing system that closely addresses users’ requirements and expectations.PROTOTYPING
Advantages of prototypes:
Potential for changes to the system early in the development. Opportunity to stop developing a non-working system.
CASE tools range from simple diagramming tools to very sophisticated programs to document and automate most of the stages in the SDLC.CASE TOOLS
Computer-Aided Software Engineering (CASE) tools are automated software packages that help to automate activities in the SDLC. CASE tools used since the early 1990s
. CASE tools aim to enforce an engineering-type approach to the development of software systems.
COMPONENTS OF CASE
Design Generator Analysis tool
Screen and Report Generator
Security and Version Control
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
Particularly helpful for systems maintenance. Improve communication within the development team and with users. Improve the management of the project. Help to increase the productivity of systems analysts. Encourage an integrated approach to the SDLC.CASE TOOLS
The case for using CASE tools: Improve quality of systems developed.
Reduction in the amount of paperwork. Maintain a record of the SDLC in an effective way. Interrelation and continuity between stages in the SDLC are easier to identify and verify. Communication with the user is improved because changes can be reported.
. XP and similar methodologies. Crucial for RAD. Documents can easily be distributed and reviewed. implemented and revised more quickly. Members of the development team can interact more easily throughout the project.CASE TOOLS
And more specifically: Faster creation/modification of documentation.
Potential drawbacks of CASE Tools:
Lack of standards among different CASE tools. CASE tools are no substitute for human expertise. Development should be driven by the analyst and not by the CASE tools.
TYPES OF CASE TOOLS
There are three types of CASE tools:
Support analysis and design Support programming and implementation Combines both upper and lower CASE
Once mastered.g. Time for maintenance is reduced because test and debug are eliminated. files) Support modelling of how the system fits into the organisation. Information about the project stored in the CASE repository (reports. Generate source code and reduce need for systems programming.
Lower CASE Tools
. promote the re-use of existing documentation and components. balance between process and data models. diagrams.TYPES OF CASE TOOLS
Upper CASE tools
Create and modify the system design. Analysis reports show incomplete parts and errors in the system design e.
(design. (analysis) CASE repository – holds information required to create. implementation. (design. implementation)
.TYPES OF CASE TOOLS
Examples of CASE Tools: Diagramming – for representing processes. implementation) Form and report generators – automate generation of forms and reports to aid prototyping. (analysis. XP) Code generators – automate generation of source code from diagrams and forms. RAD. design. modify and evolve the system. data and control structures graphically.
and omissions. redundancy. (analysis. implementation) CASE analysis tools – help to identify problems of inconsistency. tracking. design. (planning) Document generator – create standard reports based upon the contents of the CASE repository.TYPES OF CASE TOOLS
Examples of CASE Tools (cont. controlling and reporting of project management. (more likely in analysis and design)
.): Project management – aid in the planning.