+ All Categories
Home > Documents > 4079.OOAD,lec1-6

4079.OOAD,lec1-6

Date post: 10-Apr-2018
Category:
Upload: kshitij-jindal
View: 216 times
Download: 0 times
Share this document with a friend

of 39

Transcript
  • 8/8/2019 4079.OOAD,lec1-6

    1/39

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    2/39

  • 8/8/2019 4079.OOAD,lec1-6

    3/39

    The Waterfall Lifecycle Approach

    Thoroughly clarify, record, or implement each phase of the projectbefore beginning the next. The subsequent phase is based upon thedesign documentation previously developed.

    Requirements

    Analysis

    Design

    Implementation

    Integration and Testing

    Maintenance

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    4/39

    The Waterfall Lifecycle Approach

    Problems with the Waterfall Approach

    Large steps are taken in which many decisions are made withoutthe benefit of feedback.

    Requirements and Design decisions, once established, are frozen inplace.

    High risk or difficult problems are tackled late.

    Speculative decisions increase and compound.

    There is low adaptability for incorporating either design or

    implementation concepts learned in the development processinto the project.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    5/39

    The Unified Process

    The Unified Process is a software development process ormethodology that above all promotes Iterative Development.

    The result of each iteration is an executable, but incompletesystem. The system may need many iterations before it is

    ready for production.

    Benefits of iterative development include:

    Early mitigation of high risksEarly visible progress.

    Early feedback, user engagement, and adaptation, leadingto a system that more nearly meets the needs of the variousstakeholders.Managed complexity no compounding of complexity bypostponing the implementation phase.

    Learning within an iteration.lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    6/39

    Supports System Development Using the UnifiedModel Language (UML)

    Evolutionary process where the system is builtiteratively and incrementally in several buildsstarting from the requirements phase

    Architecture-centric

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    7/39

    RUP is a complete software-development processframework , developed by Rational Corporation.

    Its an iterative development methodology basedupon six industry-proven best practices.

    Processes derived from RUP vary from lightweightaddressing the needs of small projects to morecomprehensive processes addressing the needs of

    large, possibly distributed project teams.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    8/39

    RUP is divided into four phases, named:

    Inception

    Elaboration Construction

    Transition

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    9/39

    The Unified Process

    Inc. Elaboration Construction Trans.

    phase phase

    iteration

    Final releaseRelease

    The end of each

    iteration is aminor release

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    10/39

    The Unified Process

    Inception: Define the scope of the system (identify all externalentities with which the system will interact and define thenature of the interactions)

    Elaboration: Specify features and develop the architecture

    Construction: Build the system

    Transition: Transition Product to its users

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    11/39

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    12/39

    Inception

    The life-cycle objectives of the project are stated,so that the needs of every stakeholder areconsidered. Scope and boundary conditions,

    acceptance criteria and some requirements areestablished.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    13/39

    Inception - Activities

    Formulate the scope of the project.

    Needs of every stakeholder, scope, boundaryconditions and acceptance criteria established.

    Plan and prepare the business case. Define risk mitigation strategy, develop an initial

    project plan and identify known cost, schedule, andprofitability trade-offs.

    Synthesize candidate architecture.

    Candidate architecture is picked from variouspotential architectures

    Prepare the project environment.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    14/39

    Inception - Exit criteria

    An initial business case containing at least a clear

    formulation of the product vision - the core requirements- in terms of functionality, scope, performance, capacity,

    technology base. Success criteria (example: revenue projection).

    An initial risk assessment.

    An estimate of the resources required to complete the

    elaboration phase.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    15/39

    An analysis is done to determine the risks, stability ofvision of what the product is to become, stability ofarchitecture and expenditure of resources.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    16/39

    The products and artifacts described in the exitcriteria of the previous phase.

    The plan approved by the project management,and funding authority, and the resources required

    for the elaboration phase have been allocated.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    17/39

    Define the architecture.

    Project plan is defined. The process,infrastructure and development environment are

    described. Validate the architecture.

    Baseline the architecture.

    To provide a stable basis for the bulk of the

    design and implementation effort in theconstruction phase.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    18/39

    A detailed software development plan, with anupdated risk assessment, a management plan, astaffing plan, a phase plan showing the number and

    contents of the iteration , an iteration plan, and atest plan

    The development environment and other tools

    A baseline vision, in the form of a set of evaluationcriteria for the final product

    A domain analysis model, sufficient to be able tocall the corresponding architecture complete.

    An executable architecture baseline.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    19/39

    The Construction phase is a manufacturingprocess. It emphasizes managing resources andcontrolling operations to optimize costs, schedules

    and quality. This phase is broken into severaliterations.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    20/39

    The product and artifacts of the previous iteration.The iteration plan must state the iteration specificgoals

    Risks being mitigated during this iteration.

    Defects being fixed during the iteration.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    21/39

    Develop and test components.

    Components required satisfying the use cases,scenarios, and other functionality for the iteration

    are built. Unit and integration tests are done onComponents.

    Manage resources and control process.

    Assess the iteration

    Satisfaction of the goal of iteration isdetermined.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    22/39

    The same products and artifacts, updated, plus:

    A release description document, which captures theresults of an iteration

    Test cases and results of the tests conducted on theproducts,

    An iteration plan, detailing the next iteration

    Objective measurable evaluation criteria for assessingthe results of the next iteration(s).

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    23/39

    The transition phase is the phase where theproduct is put in the hands of its end users. Itinvolves issues of marketing, packaging, installing,

    configuring, supporting the user-community,making corrections, etc.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    24/39

    The product and artifacts of the previous iteration,and in particular a software product sufficientlymature to be put into the hands of its users.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    25/39

    The RUP puts an emphasis on addressing very earlyhigh risks areas.

    It does not assume a fixed set of firm requirements

    at the inception of the project, but allows to refinethe requirements as the project evolves.

    It does not put either a strong focus on documents

    The main focus remains the software product itself,and its quality.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    26/39

    RUP is not considered particularly agile However,recent studies have shown that by adopting theright essential artifacts RUP is agile.

    It fails to provide any clear implementationguidelines.

    RUP leaves the tailoring to the user entirely.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    27/39

    Management of a Software

    ProjectThere are two groups involved with the management of a softwareproject:

    Management whose concern is resource allocation, deliverydates, profit margin, etc.

    Technical staff whose concern is producing a well-engineered

    product within the constraints of the project.

    Management likes benchmarks exemplified in the Waterfallapproach. Due dates can be set, and resources allocated to each

    phase of the project, and project management documents can be

    completed according to a schedule.

    The iterative process as emphasized in UP is a better approach for

    engineering a software product, but it less suited for producing project reports

    that indicate the status of the project and the completion of well-definedphases of the work important to management.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    28/39

  • 8/8/2019 4079.OOAD,lec1-6

    29/39

    The emphasis is on finding and describing theobjects (or concepts) in the problem domain.

    In a Library Information System, some of theconcepts include Book, Library, and Patron.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    30/39

    Object Oriented Analysis

    OOAOOA Develops a Logical Model of the system as aset of interacting domain objects

    The model consists of two views

    The static view: defines the classes

    and their dependencies

    The dynamic view: models the scenarios ofinteractions between objects

    Class AClass B

    Requires

    Service

    FromClass B

    Obj s:Class A

    Obj y:Class B

    3: Set_Alarm(message)

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    31/39

    The emphasis is defining software objects and howthey collaborate to fulfill the requirements.

    In a Library Information System, a Book softwareobject may have a title attribute and a get

    Chaptermethod.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    32/39

    During Implementation, orObject-OrientedProgramming, design objects are implemented,such as a book class in Java.

    Implementation is also known as Coding or

    Construction.

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    33/39

    UML stands for Unified Modeling Language

    The UML is the standard language for visualizing,specifying, constructing, and documenting theartifacts of a software-intensive system

    It can be used with all processes, throughout thedevelopment life cycle, and across differentimplementation technologies.

    The Unified Modeling Language

    UML

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    34/39

    The UML may be used to:

    Develop a Requirements Model1. Use Case diagrams - Define the scope, and

    display the boundary of a system & its major

    functions using use cases and actors2. System Sequence diagrams - Illustrate use case

    realizations or scenarios of interactionsbetween the actors and the system

    Develop the Analysis model

    1. Class diagrams - Represent a static structure ofa system

    2. State Charts - Model the behavior of objects

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    35/39

    Develop the architecture design model

    1. Class diagrams: Represent the staticarchitecture using packages or subsystems

    2. Design Sequence diagrams: Represent thedynamic interactions between the designobjects

    Develop the physical architectureimplementation model

    1. component & deployment diagrams: Revealthe physical implementation architecture

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    36/39

    UML Development - Overview

    PROGRAM

    ACTORS

    ANALYSISSpecify Domain

    Objects

    Detailed DESIGN

    IMPLEMENTATION

    D

    A

    T

    A

    DI

    C

    T

    I

    O

    N

    AR

    Y

    TimeUSE CASES

    ANALYSISCLASS DIAGRAM(S)

    IMPLEMENTATION

    Activity DIAGRAMS

    System/ObjectSEQUENCE

    DIAGRAMS

    OPERATIONCONTRACTS

    StateChartDIAGRAMs

    DEPLOYMENT DIAGRAMSUBSYSTEM CLASS/OR COMPONENT

    DIAGRAMS

    ArchitecturalDesignIncludeDesign Objects

    ObjectDesign

    SCENARIOS

    REQUIREMENTSELICITATION

    DESIGN DIAGRAMS

    IMPLEMENTATIONCHOICES

    DESIGN SEQUENCE DIAG.

    Requirements

    Engineering

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    37/39

    UML Diagrams

    Structural diagrams Used to describe thebuilding blocks of the system features that do

    not change with time. These diagrams answerthe question What's there?Behavioral diagrams Used to show how thesystem evolves over time (responds to requests,

    events, etc.)

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    38/39

    UML Diagrams

    lecture 1-6,Chitkara University

  • 8/8/2019 4079.OOAD,lec1-6

    39/39

    UML Diagrams

    lecture 1-6,Chitkara University


Recommended