case tools_ppt.ppt

Upload: sbr11

Post on 04-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 CASE Tools_PPT.ppt

    1/29

    RAD & CASE TOOLS

    Rapid Application Development

    CASE Tools

    Types of CASE Tools

    1

  • 7/29/2019 CASE Tools_PPT.ppt

    2/29

    RAPID APPLICATIONS DEVELOPMENT (RAD)

    Systems development methodology createdto radically decrease the time needed todesign and implement information systemsradically.

    Five key factors1. Extensive user involvement

    2. Joint Application Design sessions

    3. Prototyping

    4. Integrated CASE tools

    5. Code generators

    19.2

  • 7/29/2019 CASE Tools_PPT.ppt

    3/29

    RAPID APPLICATION DEVELOPMENT

    3

    Object-oriented approach to systems development

    Method of development + Software tools

    Commonly, a rapid application development (RAD) is implemented in

    three phases:

  • 7/29/2019 CASE Tools_PPT.ppt

    4/29

    RAD DEVELOPMENTCYCLE

  • 7/29/2019 CASE Tools_PPT.ppt

    5/29

    THE PROCESSOF DEVELOPINGAN

    APPLICATION RAPIDLY

    RAD is a general strategy rather than asingle methodology

    Goals To analyze a business process rapidly To design a viable system solution through

    intense cooperation between users anddevelopers

    To get the finished application into the hands ofthe users quickly

    Traditional SDLC steps are followed, but

    phases are combined Iteration is limited to design and

    development phases

  • 7/29/2019 CASE Tools_PPT.ppt

    6/29

    COMPONENTSOF RAD

    User involvement is key to success

    Prototyping is conducted in sessions similar to Joint

    Application Design (JAD)

    Prototyping screens become screens within theproduction system

    CASE tools are used to design the prototypes

  • 7/29/2019 CASE Tools_PPT.ppt

    7/29

    APPROACHESTO RAD

    Martins RAD Life Cycle Systems requirement determination is done in context

    of a discussion of business problems and businessareas

    User Design End users and IS professionals participate in JAD workshops CASE tools are used to support prototyping

    Construction Designer creates code using code generator

    End user validates screens and other aspects of design

    Cutover New system is delivered to end users

  • 7/29/2019 CASE Tools_PPT.ppt

    8/29

    RAD SUCCESS STORIES

    Inprise/Borlands Delphi U.S. Navy Fleet Modernization

    Requirements

    Move from three character-based systems to a unified, GUI-

    based system based on a single databaseReasons for choosing Delphi

    Support for rapid prototyping

    Promise of re-use of components

    Outcome

    System developed in 6 months Estimated development savings of 50 percent

    New system resulted in immediate 20 percent savings due toreduced maintenance costs

  • 7/29/2019 CASE Tools_PPT.ppt

    9/29

    RAD SUCCESS STORIES

    Inprise/Borlands Delphi (continued)

    First National Bank of Chicago

    Electronic Federal Tax Payment System

    Delphi enabled rapid prototyping anddevelopment

    10 months of development time

    125 programmers

    250 million rows of data and 55 gigabytes of dataon-line

  • 7/29/2019 CASE Tools_PPT.ppt

    10/29

    RAD SUCCESS STORIES

    VisualAge for Java Comdata

    Modular Over the Road System (MOTRS)

    IBM Global Services chosen as vendor

    Servlets Programming modules that expand the functions of the Web

    server

    Applets Embedded code run from client browser

    Nine months to completion

    Three months of research Three months of coding

    Three months of testing

  • 7/29/2019 CASE Tools_PPT.ppt

    11/29

    RAD is a team-based technique that speeds upinformation systems developments.

    Like JAD, RAD uses a group approach, but goesmuch further.

    RAD resembles a condensed version of the entire

    SDLC, with users involved every step of the way.

    RAPID APPLICATION DEVELOPMENT

  • 7/29/2019 CASE Tools_PPT.ppt

    12/29

    Requirement planning Users, managers, and IT staffs agree upon business

    needs, project scope and system requirements

    User Design

    Interact with users, build models and prototypes, andconduct intensive JAD-type sessions

    Construction Program and application development, coding, integration

    and system testing

    Cutover Data conversion, full scale testing, system changeover,

    user training

    RAD PHASESAND ACTIVITIES

  • 7/29/2019 CASE Tools_PPT.ppt

    13/29

    RAD Phases and Activities

  • 7/29/2019 CASE Tools_PPT.ppt

    14/29

    Kendall&Kendall

    200

    5

    Pear

    son

    Pren

    tice

    Hall

    6-14

    RADANDTHE SDLC

    RAD tools are used to generate screens and exhibitthe overall flow of the application.

    Users approve the design and sign off on the visualmodel.

    Implementation is less stressful because usershelped to design the business aspects of thesystem.

  • 7/29/2019 CASE Tools_PPT.ppt

    15/29

    Kendall&Kendall

    200

    5

    Pear

    son

    Pren

    tice

    Hall

    6-15

    WHENTO USE RAD

    RAD is used when:

    The team includes programmers and analysts who areexperienced with it.

    There are pressing reasons for speeding up application

    development. The project involves a novel ecommerce application and

    needs quick results.

    Users are sophisticated and highly engaged with thegoals of the company.

  • 7/29/2019 CASE Tools_PPT.ppt

    16/29

    PROTOTYPING

    16

    It can be defined as an interactive process for systems developmentinwhich users and analysts are in close collaboration for converting

    requirements to a working system that is continuously revised.

    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!

  • 7/29/2019 CASE Tools_PPT.ppt

    17/29

    PROTOTYPING

    17

    Prototyping is a complex technique and to apply it successfully, detailedknowledge of the SDLC is required.

    Prototyping helps to set priorities and adapt the planning to changes in

    requirements with minimum disruption.

    Users play a crucial rolein prototyping, 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 prototypes features address the users requirements

  • 7/29/2019 CASE Tools_PPT.ppt

    18/29

    PROTOTYPING

    18

    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.

    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.

  • 7/29/2019 CASE Tools_PPT.ppt

    19/29

    PROTOTYPING

    19

    Advantages of prototypes:

    Potential for changes to the system early in the development.

    Opportunity to stop developing a non-working system.

    Possibility of developing system that closely addresses users requirements

    and expectations.

    Disadvantages of prototypes:

    Prototyping is difficult to manage.

    Increase cost

  • 7/29/2019 CASE Tools_PPT.ppt

    20/29

    CASE TOOLS

    20

    Computer-Aided Software Engineering (CASE) tools are automatedsoftware packages that help to automate activities in the SDLC.

    CASE tools aim to enforce an engineering-type approach to the

    development of software systems.

    CASE tools range from simple diagramming tools to verysophisticated programs to document and automate most of the

    stages in the SDLC.

    CASE tools used since the early 1990s

  • 7/29/2019 CASE Tools_PPT.ppt

    21/29

    COMPONENTSOF CASE

    CASE

    repositoryDocument

    Generator

    DesignGenerator

    Analysistool

    Code

    Generator

    Drawing

    Tool

    Error-checking

    tool

    Security and

    Version Control

    Screen and

    Report Generator

    Prototyping

    Tool

    Database

    Generator

  • 7/29/2019 CASE Tools_PPT.ppt

    22/29

    CASE VS. 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 SystemsDevelopment

    Emphasis on analysis and design Rapid interactive prototyping Automated code generation Automated documentation generation Automated design checking Maintain design specifications

  • 7/29/2019 CASE Tools_PPT.ppt

    23/29

    CASE TOOLS

    23

    The case for using CASE tools:

    Improve quality of systems developed.

    Help to increase the productivity of systems analysts.

    Improve communication within the development team and with

    users. Encourage an integrated approach to the SDLC.

    Improve the management of the project.

    Particularly helpful for systems maintenance.

  • 7/29/2019 CASE Tools_PPT.ppt

    24/29

    CASE TOOLS

    24

    And more specifically:

    Faster creation/modification of documentation.

    Documents can easily be distributed and reviewed.

    Reduction in the amount of paperwork.

    Maintain a record of the SDLC in an effective way. Members of the development team can interact more easily

    throughout the project.

    Communication with the user is improved because changes can be

    reported, implemented and revised more quickly.

    Interrelation and continuity between stages in the SDLC are easier to

    identify and verify.

    Crucial for RAD, XP and similar methodologies.

  • 7/29/2019 CASE Tools_PPT.ppt

    25/29

    CASE TOOLS

    25

    Potential drawbacks of CASE Tools:

    Lack of standards among different CASE tools.

    Development should be driven by the analyst and not by the CASE tools.

    CASE tools are no substitute for human expertise.

  • 7/29/2019 CASE Tools_PPT.ppt

    26/29

    TYPESOF CASE TOOLS

    26

    There are three types of CASE tools:

    Upper CASE

    Support analysis and design

    Lower CASE

    Support programming and implementation

    Integrated CASE

    Combines both upper and lower CASE

  • 7/29/2019 CASE Tools_PPT.ppt

    27/29

    TYPESOF CASE TOOLS

    27

    Upper CASE tools

    Create and modify the system design.

    Information about the project stored in the CASE repository (reports,

    diagrams, files)

    Support modelling of how the system fits into the organisation. Analysis reports show incomplete parts and errors in the system design

    e.g. balance between process and data models.

    Lower CASE Tools

    Generate source code and reduce need for systems programming.

    Time for maintenance is reduced because test and debug are eliminated.

    Once mastered, promote the re-use of existing documentation and

    components.

  • 7/29/2019 CASE Tools_PPT.ppt

    28/29

    TYPESOF CASE TOOLS

    28

    Examples of CASE Tools:

    Diagramming for representing processes, data and control structures

    graphically. (analysis)

    CASE repository holds information required to create, modify and

    evolve the system. (analysis, design, implementation)

    Form and report generators automate generation of forms and

    reports to aid prototyping. (design, implementation, RAD, XP)

    Code generators automate generation of source code from diagrams

    and forms. (design, implementation)

  • 7/29/2019 CASE Tools_PPT.ppt

    29/29

    TYPESOF CASE TOOLS

    29

    Examples of CASE Tools (cont.):

    Project management aid in the planning, tracking, controlling and

    reporting of project management. (planning)

    Document generator create standard reports based upon the

    contents of the CASE repository. (analysis, design, implementation)

    CASE analysis tools help to identify problems of inconsistency,

    redundancy, and omissions. (more likely in analysis and design)