RAD and ARAD

advertisement
RAD and ARAD
Barbara Tacchino
Summary

RAD (Rapid Application Development)




Definition and features
Development cycle
Team, tools, documentation, problems
ARAD (Architected Rapid Application
Development)



Definition and features
The IBM ARAD solution: IBM Rational Rapid
Developer
A business application scenario
What is RAD?

Is a software development process model that has
been developed to respond to the need to deliver
systems very fast




Actually it allows usable systems to be built in as little as 3-6
months
It has been developed in the early 1990s
It takes inspiration from spiral model
Its goals are: faster, better, cheaper
Problems addressed by RAD



With conventional methods, there is a long delay
before the customer gets to see any results
With conventional methods, there is nothing until
100% of the process is finished, then 100% of the
software is delivered
With conventional methods, software development
can take so long that the customer’s business has
fundamentally changed by the time the system is
ready for use

Satisfying the customer at the time of delivery
When use RAD?
Project scope: focused, where the business objectives are well
defined and narrow
Project data: already exist
Project decisions: can be made by a small number of people
who are available and co-located
Project team: very small (six people)
Project technical architecture: defined and clear and the key
technology components are well known
Project technical requirements: are reasonable and well within
the capability of the technology being used
Intensive involvement of the end user in the design of the
system (JAD, Joint Application Development)
Features of RAD




Use of prototyping, which helps users visualize and
make adjustments to the system
Use of a CASE repository to facilitate the re-use of
templates, components and systems
Use of an integrated CASE toolset to generate bugfree code from a fully validated design
Development of a task structure that encourages
parallel project activities
RAD development cycle
RAD uses iterative prototyping


JRP (Joint Requirement Planning) meeting: high-level
end-users and developers meet in a session to
generate a list of initial requirements
Iteration





Designers review the prototype
Developers build/evolve the prototype based on current
requirements
Customers try out the prototype and evolve their
requirements
Focus Group Meeting (JAD): customers and developers meet
to review product together and refine requirements
Requirements and change requests are “timeboxed”
Stages of RAD: Requirements
Planning



takes one to four weeks to complete
is defined during a JRP meeting
consists of a review of the areas immediately
associated with the proposed system


produces a broad definition of the system requirements in
terms of the functions the system will support
deliverables from this stage include



an outline system area model (entity and process model)
a definition of the system’s scope
a cost justification for the new system
Stages of RAD: User Design


is defined during JAD meetings
consists of a detailed analysis of the business
activities related to the proposed system to outline
the design





The team defines entity types and creates action diagrams
defining the interactions between processes and data
System procedures are designed and preliminary layouts of
screens are developed
Prototypes of critical procedures are built
A plan for implementing the system is prepared
Together with the next stage, User Design consists of
a series of iterations
Stages of RAD: Construction




Developers, working directly with users, finalize the
design, build and test the prototype
The deliverables include documentation and
instructions necessary to operate the new application
and procedures needed to put the system into
operation
Timebox and parallel development: involves
monitoring progresses to complete each task quickly
The prototype is reviewed by users

Requirements document can be modified, so another
iteration starts
Stages of RAD: Transition

the period during which the newly developed system
gradually replaces existing systems



User acceptance: end of iterations
Developers train users to operate the new application
objectives



Install the system in production operation with minimal
disruption of normal business activity
Maximize the effectiveness of the system in supporting the
intended business activities
Identify potential future enhancements
RAD team

should include both developers and users of the system and
each person can play several roles
User Coordinator: appointed by the Sponsor to oversee the project
from the user perspective
Requirements Planning Team: high-level users participating in the
requirements planning
User Design Team: participates in the design meetings
User Review Board: review the system after the construction and
decide if modifications are needed
Training Manager: responsible for training users to work with the
new system
Project Manager: oversees the development effort
Construction (SWAT) Team: two to six developers highly trained to
work together at high speed. SWAT stands for “Skilled Workers
with Advanced Tools”. This team builds the system and also
participate in the design meetings
Meeting Leader: organizes and conducts the meetings
RAD tools

RAD depends entirely on automated tools



CASE software provides planning, analysis and design
“workbenches” that are fully integrated so that one tool
directly employs the information from another
repository stores the knowledge from the multiple tools in
an integrated manner
code generator is fully integrated with the design toolset
and allows the developer to design, modify, generate code
and test as quickly as possible
RAD documentation

Customers, developers and management must accept
informal deliverables



Notes from user meetings rather than formal requirements
documents
Notes from designers meetings rather than formal design
documents
Principle: create the minimum documentation
necessary to facilitate future development and
maintenance
Problems of RAD



criticized because it lacks a methodology and a
designed architecture
flexibility of RAD systems decreases as applications
grow
RAD tends to fail when




Application must interoperate with existing programs
Performance and reliability are critical
The system cannot be modularized
New technologies are used
Introduction to ARAD


IBM acquired Rational Software
Starting point: RUP (Rational Unified Process)



It is a software development process model which includes a
lot of features of the spiral model (iteration, prototyping,
phased development)
Each phase is supported by visual tools
It establishes four phases of development, each consisting
of one ore more executable iterations
What is Architected RAD?




an evolution of RAD which supports the creation of
enterprise applications and has a “formal” process
a version of the Rational Unified Process (RUP) that
has been optimized for RAD
the team is made up of eleven people: a project
leader, one analyst, eight developers and one
technology architect
is characterized by



a unified process
business modeling with UML
rapid application development
Unified ARAD process


One problem of RAD is that it lacks a “formal”
process
Unified ARAD process unifies the team by providing
roadmaps for application development that include
defining flows, stakeholders and explaining how they
interrelate
Business modeling with UML


RAD lacks a focus on the business processes that
drive software requirements
ARAD focuses on business modeling

analysts can use UML to analyze business requirements,
define business use cases, define the information model for
the application and the business processes and business
rules
The IBM ARAD solution:
IBM Rational Rapid Developer


is the new Rational software solution for ARAD (2003)
provides an integrated application development environment
and process that unifies team skills






supports rapid application development, integration and architected
code construction
helps team rapidly deliver n-tier business applications without
encountering the complexity of the underlying technology platforms
enables late binding of construction patterns and deployment
platforms
integrates with the IBM Rational lifecycle toolset
covers the complete lifecycle, from requirements to deployment
supports parallel development, version management and change
management
IBM Rational Rapid Developer
workflow



Rational Rapid Developer follows a
model-driven approach to application
development
Nine out of ten members of the
development team are focused on
business process
Development team begins by capturing
requirements and assessing existing
assets (or requiring new ones) to
support the process
IBM Rational Rapid Developer
workflow (2)


The next step focuses on
visual modeling the
application and designing
Web, wireless, XML,
messaging and Web
services transactions
Rational Rapid Developer
provides essential UML
models
IBM Rational Rapid Developer
workflow (3)

The application,
completely visually
modeled, resides in
the application
repository before it
is cast into a
chosen technology
platform
IBM Rational Rapid Developer
workflow (4)

Now the technology expert
decides how the application
will be constructed and
deployed choosing the
platform and determining
patterns
IBM Rational Rapid Developer
workflow (5)



Based on choices by the
team's technical expert,
Rational Rapid Developer
automatically constructs the
final application in a matter
of minutes, and even
automatically compiles, test
and deploys it
Each stage can be iterated
Users involvement
A business application
scenario

Let’s use the ARAD process to design this marketplace
application
Business requirements with
UML



Use cases that describe the Web, wireless and
integration functions of the application
IBM Rational Rapid Developer provides a project
estimator that can estimate the work effort required
to develop the application, based on these use cases
Model visually the application: use some of the UML
models such as UML Class Model
Business requirements with
UML (2)

Import legacy database models: the database schema is
automatically converted into an XML file and imported into
Rational Rapid Developer as a class model



Rational Rapid Developer can perform object-to-relational mapping
and create database schema for relational databases
Define business rules using a Java business rule editor. Rule
examples are: inventory check, order pricing, customer credit
check
Define business processes as state chart/activity diagrams

They are purely analytical and do not lead to any direct code
construction
Develop user interfaces rapidly



Define site flow models for each actor of the
application: these models reflect the user interface
use cases
Define the look and feel of the application with styles
and themes
Design Web pages: it is visual and rapid and
facilitated by the Page Architect feature
Develop user interfaces rapidly
(2)

Design page logic: it is written in Java using the
Logic Architect



IBM Rational Rapid Developer provides nearly 100 code
templates, so developers need only fill in parameters to
write code
IBM Rational Rapid Developer automatically
construct, compiles and deploys the application
Internationalization of pages: a translation file is
created and imported
Rapid integration development


Enterprise integration with XML
Integration with Web Services: IBM Rational Rapid
Developer discovers the services published in a public
repository, than the developer clicks on a service and
a service call is inserted in the code like a Java
method call


The developer specifies only the method call parameters
IBM Rational Rapid Developer will automatically handle all
the mechanics of invoking the service, using SOAP request/
response mechanism
N-tier architected deployment

The technology architect can deploy the same
application in varying environments.





Chosen a particular environment, the architect select
appropriate technologies and fine tunes the construction
patterns
The desired degree of performance, scalability and security
can be specified
IBM Rational Rapid Developer creates an optimized
code for each deployment model
IBM Rational Rapid Developer can now be used for
functional and performance testing
Each stage can be iterated
Deployment models
Rational toolset

In addition to IBM Rational Rapid Developer ($6,595)






IBM Rational RequisitePro® ($2,034)
IBM Rational XDE ($1,595)
IBM Rational Rose
IBM Rational ClearCase® ($65,950 for a 10-user
license)
IBM Rational ClearQuest®
IBM Rational TeamTest®
References

RAD



www.gantthead.com/process/processMain.cfm?ID=2-19516-2
sysdev.ucdavis.edu/WEBADM/document/rad_toc.htm
ARAD

www.ibm.com

www-106.ibm.com/developerworks/rational/library/441.html#N10269
Download