Radar Ad

Embed Size (px)

Citation preview

  • 8/2/2019 Radar Ad

    1/36

    RAD and ARAD

    Barbara Tacchino

  • 8/2/2019 Radar Ad

    2/36

    Summary RAD (Rapid Application Development)

    Definition and features

    Development cycle Team, tools, documentation, problems

    ARAD (Architected Rapid ApplicationDevelopment)

    Definition and features The IBM ARAD solution: IBM Rational Rapid

    Developer

    A business application scenario

  • 8/2/2019 Radar Ad

    3/36

    What is RAD? Is a software development process model that has

    been developed to respond to the need to deliversystems very fast

    Actually it allows usable systems to be built in as little as 3-6months

    It has been developed in the early 1990s

    It takes inspiration from spiral model

    Its goals are: faster, better, cheaper

  • 8/2/2019 Radar Ad

    4/36

    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 until100% of the process is finished, then 100% of thesoftware is delivered

    With conventional methods, software developmentcan take so long that the customers business hasfundamentally changed by the time the system isready for use

    Satisfying the customer at the time of delivery

  • 8/2/2019 Radar Ad

    5/36

    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 peoplewho are available and co-located

    Project team: very small (six people)

    Project technical architecture: defined and clear and the keytechnology components are well known

    Project technical requirements: are reasonable and well withinthe capability of the technology being used

    Intensive involvement of the end user in the design of thesystem (JAD, Joint Application Development)

  • 8/2/2019 Radar Ad

    6/36

    Features of RAD Use ofprototyping, which helps users visualize and

    make adjustments to the system

    Use of a CASE repository to facilitate the re-use oftemplates, 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 encouragesparallel project activities

  • 8/2/2019 Radar Ad

    7/36

    RAD development cycle

  • 8/2/2019 Radar Ad

    8/36

    RAD uses iterative prototyping JRP (Joint Requirement Planning) meeting: high-level

    end-users and developers meet in a session togenerate a list of initial requirements

    Iteration Designers review the prototype

    Developers build/evolve the prototype based on currentrequirements

    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

  • 8/2/2019 Radar Ad

    9/36

    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 immediatelyassociated with the proposed system

    produces a broad definition of the system requirements interms 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

  • 8/2/2019 Radar Ad

    10/36

    Stages of RAD: User Design is defined during JAD meetings

    consists of a detailed analysis of the businessactivities 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 ofscreens are developed

    Prototypes of critical procedures are built A plan for implementing the system is prepared

    Together with the next stage, User Design consists ofa series of iterations

  • 8/2/2019 Radar Ad

    11/36

    Stages of RAD: Construction Developers,working directly with users, finalize the

    design, build and test the prototype

    The deliverables include documentation andinstructions necessary to operate the new applicationand procedures needed to put the system intooperation

    Timebox and parallel development: involves

    monitoring progresses to complete each task quickly The prototype is reviewed by users

    Requirements document can be modified, so anotheriteration starts

  • 8/2/2019 Radar Ad

    12/36

    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 minimaldisruption of normal business activity

    Maximize the effectiveness of the system in supporting theintended business activities

    Identify potential future enhancements

  • 8/2/2019 Radar Ad

    13/36

    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 perspective

    Requirements Planning Team: high-level users participating in therequirements 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 Workerswith Advanced Tools. This team builds the system and alsoparticipate in the design meetings

    Meeting Leader: organizes and conducts the meetings

  • 8/2/2019 Radar Ad

    14/36

    RAD tools RAD depends entirely on automated tools

    CASE software provides planning, analysis and designworkbenches 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 toolsetand allows the developer to design, modify, generate code

    and test as quickly as possible

  • 8/2/2019 Radar Ad

    15/36

    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 designdocuments

    Principle: create the minimum documentation

    necessary to facilitate future development andmaintenance

  • 8/2/2019 Radar Ad

    16/36

    Problems of RAD

    criticized because it lacks a methodology and adesigned architecture

    flexibility of RAD systems decreases as applicationsgrow

    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

  • 8/2/2019 Radar Ad

    17/36

    Introduction to ARAD

    IBM acquired Rational Software

    Starting point: RUP(Rational Unified Process)

    It is a software development process model which includes alot 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

  • 8/2/2019 Radar Ad

    18/36

    What isArchitected RAD?

    an evolution of RAD which supports the creation ofenterprise applicationsand 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 onetechnology architect

    is characterized by a unified process

    business modeling with UML

    rapid application development

  • 8/2/2019 Radar Ad

    19/36

    Unified ARAD process

    One problem of RAD is that it lacks a formalprocess

    Unified ARAD process unifies the team by providingroadmaps for application development that includedefining flows, stakeholders and explaining how theyinterrelate

  • 8/2/2019 Radar Ad

    20/36

    Business modeling with UML

    RAD lacks a focus on the business processes thatdrive software requirements

    ARAD focuses on business modeling

    analysts can use UML to analyze business requirements,define business use cases, define the information model forthe application and the business processes and businessrules

  • 8/2/2019 Radar Ad

    21/36

    The IBM ARAD solution:IBM Rational Rapid Developer

    is the new Rational software solution for ARAD (2003)

    provides an integrated application development environmentand process that unifies team skills

    supports rapid application development, integration and architectedcode construction

    helps team rapidly deliver n-tier business applications withoutencountering the complexity of the underlying technology platforms

    enables late binding of construction patterns and deploymentplatforms

    integrates with the IBM Rational lifecycle toolset covers the complete lifecycle, from requirements to deployment

    supports parallel development, version management and changemanagement

  • 8/2/2019 Radar Ad

    22/36

    IBM Rational Rapid Developerworkflow

    Rational Rapid Developer follows amodel-driven approach to applicationdevelopment

    Nine out of ten members of thedevelopment team are focused onbusiness process

    Development team begins by capturingrequirements and assessing existing

    assets (or requiring new ones) tosupport the process

  • 8/2/2019 Radar Ad

    23/36

    IBM Rational Rapid Developerworkflow (2)

    The next step focuses onvisual modeling theapplication and designing

    Web, wireless, XML,messaging and Webservices transactions

    Rational Rapid Developerprovides essential UML

    models

  • 8/2/2019 Radar Ad

    24/36

    IBM Rational Rapid Developerworkflow (3)

    The application,completely visuallymodeled, resides in

    the applicationrepository before itis cast into achosen technologyplatform

  • 8/2/2019 Radar Ad

    25/36

    IBM Rational Rapid Developerworkflow (4)

    Now the technology expertdecides how the applicationwill be constructed and

    deployed choosing theplatform and determiningpatterns

  • 8/2/2019 Radar Ad

    26/36

    IBM Rational Rapid Developerworkflow (5)

    Based on choices by theteam's technical expert,Rational Rapid Developer

    automatically constructs thefinal application in a matterof minutes, and evenautomatically compiles, testand deploys it

    Each stage can be iterated Users involvement

  • 8/2/2019 Radar Ad

    27/36

    A business applicationscenario

    Lets use the ARAD process to design this marketplaceapplication

  • 8/2/2019 Radar Ad

    28/36

    Business requirements withUML

    Use cases that describe the Web, wireless andintegration functions of the application

    IBM Rational Rapid Developer provides a projectestimator that can estimate the work effort requiredto develop the application, based on these use cases

    Model visually the application: use some of the UMLmodels such as UML Class Model

  • 8/2/2019 Radar Ad

    29/36

    Business requirements withUML (2)

    Import legacy database models: the database schema isautomatically converted into an XML file and imported intoRational Rapid Developer as a class model

    Rational Rapid Developer can perform object-to-relational mappingand create database schema for relational databases

    Define business rules using a Java business rule editor. Ruleexamples are: inventory check, order pricing, customer creditcheck

    Define business processes as state chart/activity diagrams They are purely analytical and do not lead to any direct code

    construction

  • 8/2/2019 Radar Ad

    30/36

    Develop user interfaces rapidly

    Define site flow models for each actor of theapplication: these models reflect the user interfaceuse cases

    Define the look and feel of the application with stylesand themes

    Design Web pages: it is visual and rapid andfacilitated by the Page Architect feature

  • 8/2/2019 Radar Ad

    31/36

    Develop user interfaces rapidly(2)

    Design page logic: it is written in Java using theLogic Architect

    IBM Rational Rapid Developer provides nearly 100 code

    templates, so developers need only fill in parameters towrite code

    IBM Rational Rapid Developer automaticallyconstruct, compiles and deploys the application

    Internationalization of pages: a translation file iscreated and imported

  • 8/2/2019 Radar Ad

    32/36

    Rapid integration development

    Enterprise integration with XML

    Integration with Web Services: IBM Rational RapidDeveloper discovers the services published in a publicrepository, than the developer clicks on a service anda service call is inserted in the code like a Javamethod call

    The developer specifies only the method call parameters

    IBM Rational Rapid Developer will automatically handle allthe mechanics of invoking the service, using SOAP request/response mechanism

  • 8/2/2019 Radar Ad

    33/36

    N-tier architected deployment

    The technology architect can deploy the sameapplication in varying environments. Chosen a particular environment, the architect select

    appropriate technologies and fine tunes the constructionpatterns

    The desired degree of performance, scalability and securitycan 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

  • 8/2/2019 Radar Ad

    34/36

    Deployment models

  • 8/2/2019 Radar Ad

    35/36

    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-userlicense)

    IBM Rational ClearQuest

    IBM Rational TeamTest

  • 8/2/2019 Radar Ad

    36/36

    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

    http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2http://www.gantthead.com/process/processMain.cfm?ID=2-19516-2