36
RAD and ARAD Barbara Tacchino

RAD and ARAD

  • Upload
    phamdan

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

RAD and ARADBarbara 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 narrowProject data: already existProject decisions: can be made by a small number of

people who are available and co-locatedProject team: very small (six people)Project technical architecture: defined and clear and

the key technology components are well knownProject technical requirements: are reasonable and well

within the capability of the technology being usedIntensive 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

bug-free 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 rolesUser Coordinator: appointed by the Sponsor to oversee the

project from the user perspectiveRequirements Planning Team: high-level users

participating in the requirements planningUser Design Team: participates in the design meetingsUser Review Board: review the system after the

construction and decide if modifications are neededTraining Manager: responsible for training users to work

with the new systemProject Manager: oversees the development effortConstruction (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