Title: RAD and ARAD
1RAD and ARAD
2Summary
- 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
3What 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
4Spiral model (Barry Boehm, 1988)
- Planning determination of goals and alternatives
- Risk analysis analysis of alternatives and
identification/resolution of risks - Engineering development of the product of the
next level - Customer evaluation evaluation of results of
engineering from the point of view of the
customer
5Problems 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 customers business has
fundamentally changed by the time the system is
ready for use - Satisfying the customer at the time of delivery
6When 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)
7Features 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
bug-free code from a fully validated design - Development of a task structure that encourages
parallel project activities
8JAD
- Is a management process which helps developers
teams work effectively with users to develop
information technology solutions - Purpose define the project, design the solution
and monitor the project until it reaches
completion
9Prototyping
- In general creation of a small-scale prototype
of the system used to test out certain key
features - less functions
- less efficient
- With RAD the prototype becomes a part of the
delivered system
10RAD development cycle
11RAD 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
12Stages 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 systems scope
- a cost justification for the new system
13Stages 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
14Stages 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
15Stages 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
16RAD 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
17RAD 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
18RAD 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
19Problems 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
20Introduction 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
21Phases of RUP
22What 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
23Unified 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
24Business 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
25Business modeling
- Specify the knowledge about the domain of the
problem using UML techniques before analyzing
requirements
26The 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
27Patterns
- are a recent software engineering problem-solving
discipline that emerged from the object-oriented
community
28IBM 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
29Model Driven Approach (MDA)
- A way of writing specification based on a
platform-independent model - a MDA specification consists of a
platform-independent base UML model, plus one or
more platform-specific models and interface
definition sets, each describing how the base
model is implemented on a different middleware
platform
30IBM 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
31IBM Rational Rapid Developer workflow (3)
- The application, completely visually modeled,
resides in the application repository before it
is cast into a chosen technology platform
32IBM Rational Rapid Developer workflow (4)
- Now the technology expert decides how the
application will be constructed and deployed
choosing the platform and determining patterns
33IBM 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
34A business application scenario
- Lets use the ARAD process to design this
marketplace application
35Business 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
36Class Model
37Business 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
38Develop 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
39Layout pages visually
40Develop 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
41Business Logic
42Rapid 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
43Integration with Web Services
44N-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
45Deployment models
46Rational 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
47References
- RAD
- www.gantthead.com/process/processMain.cfm?ID2-195
16-2 - sysdev.ucdavis.edu/WEBADM/document/rad_toc.htm
- ARAD
- www.ibm.com
- www-106.ibm.com/developerworks/rational/library/44
1.htmlN10269