Unit 14 - System Analysis UML

  • Upload
    sushike

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Unit 14 - System Analysis UML

    1/39

    OOAD 1/2550 .1

    Unit 14: Project Management

    .

    2/2550

  • 8/14/2019 Unit 14 - System Analysis UML

    2/39

    OOAD 1/2550 .2

    Project Management

  • 8/14/2019 Unit 14 - System Analysis UML

    3/39

    OOAD 1/2550 .3

    Key Definitions

    Project management is the process of planning andcontrolling the development of a system within aspecified timeframe at a minimum cost with the right

    functionality.

    A project manager has the primary responsibility formanaging the hundreds of tasks and roles that need

    to be carefully coordinated.

  • 8/14/2019 Unit 14 - System Analysis UML

    4/39

    OOAD 1/2550 .4

    CREATING THE WORK PLAN

  • 8/14/2019 Unit 14 - System Analysis UML

    5/39

    OOAD 1/2550 .5

    A Workplan ExampleWork Plan Information Example

    Name of task Perform economic feasibilityStart date ` Jan 05, 2001

    Completion date Jan 19, 2001Person assigned Mary Smith, sponsorDeliverable(s) Cost-benefit analysisCompletion status OpenPriority High

    Resources needed SpreadsheetEstimated time 16 hoursActual time 14.5 hours

  • 8/14/2019 Unit 14 - System Analysis UML

    6/39

    OOAD 1/2550 .6

    Identifying Tasks

    Top-down approach

    Identify highest level tasks

    Break them into increasingly smaller units Methodology

    Using standard list of tasks

  • 8/14/2019 Unit 14 - System Analysis UML

    7/39

    OOAD 1/2550 .7

    Top Down TaskIdentification

    Phases Phases withhigh level steps

    Work Plan Deliverab les Estima ted Ac tua l Assignedhours hours To

    ****

  • 8/14/2019 Unit 14 - System Analysis UML

    8/39

    OOAD 1/2550 .8

    Estimating a Project Based on

    Industry Information

    Planning Ana lysis Design Implementation

    Industry

    Standard

    For Web 15% 20% 35% 30%

    Applications

    Tim e

    Required 4 5.33 9.33 8in Person

    Months

  • 8/14/2019 Unit 14 - System Analysis UML

    9/39

    OOAD 1/2550 .9

    Time Estimation Using a MoreComplex Approach

  • 8/14/2019 Unit 14 - System Analysis UML

    10/39

    OOAD 1/2550 .10

    Estimation Trade-offs

    Size

    Function points

    Lines of code Effort

    Person-months

    Time Months

  • 8/14/2019 Unit 14 - System Analysis UML

    11/39

    OOAD 1/2550 .11

    Getting the Right Numbers forEstimation

    Prior projects

    Past experience

    Industry standards Detailed analysis

  • 8/14/2019 Unit 14 - System Analysis UML

    12/39

    OOAD 1/2550 .12

    Function Point Estimation-- Step One

    Complexity

    Description Low Medium High Total

    Inputs __x 3 __x 4 __x 6 ____

    Outputs __x 4 __x 5 __x 7 ____

    Queries __x 3 __x 4 __x 6 ____

    Files __x 7 __x 10 __x 15 ____

    Program __x 5 __x 7 __x 10 ____ Interfaces

    TOTAL UNADJUSTED FUNCTION POINTS ____

  • 8/14/2019 Unit 14 - System Analysis UML

    13/39

    OOAD 1/2550 .13

    Function Points Estimation

    -- Step Two

    Scale of 1 to 5

    Data Communications _____ Heavy Use Configuration _____ Transaction Rate _____ End-User efficiency _____ Complex Processing _____

    Installation Ease _____ Multiple sites _____ Performance _____ Distributed functions _____ On-line data entry _____ On-line update _____

    Reusability _____ Operational Ease _____ Extensibility _____

    Project Complexity (PC) _____

  • 8/14/2019 Unit 14 - System Analysis UML

    14/39

    OOAD 1/2550 .14

    Function Point Estimation -- Step 3

    Processing Complexity (PC): ________(From Step 2)

    Adjusted ProcessingComplexity (PCA) = 0.65 + (0.001 * ____ )

    Total Adjusted

    Function Points: _____ * ____ =(TUFP -- From Step 1)

  • 8/14/2019 Unit 14 - System Analysis UML

    15/39

    OOAD 1/2550 .15

    Function Points Estimation

    -- Step Four

    Adjusted Project Complexity

    = .065 + (0.01 * Project Complexity)

    Total Adjusted Function Points

    =

    Adjusted Project Complexity * TUFP

  • 8/14/2019 Unit 14 - System Analysis UML

    16/39

    OOAD 1/2550 .16

    Converting Function Points toLines of Code

    Source: Capers Jones, Software Productivity Research

    Language LOC/Function Code Point

    CCOBOLJAVAC++

    Turbo PascalVisual BasicPowerBuilderHTMLPackages

    (e.g., Access, Excel)

    1301105550

    50301515

    10-40

  • 8/14/2019 Unit 14 - System Analysis UML

    17/39

    OOAD 1/2550 .17

    Your Turn

    It takes time and effort to produce evenrough estimates of the function points for agiven project

    What would you need to make it worthwhile?

  • 8/14/2019 Unit 14 - System Analysis UML

    18/39

    OOAD 1/2550 .18

    Estimating Effort

    Function of size and production rate

    COCOMO model

  • 8/14/2019 Unit 14 - System Analysis UML

    19/39

    OOAD 1/2550 .19

    COCOMO Estimation Calculation

    Effort = 1.4 * thousands-of-(in Person- lines-of-code

    Months)

    Example:

    If LOC = 2000 Then...Effort = (1.4 * 2000) = 28 Person Months

  • 8/14/2019 Unit 14 - System Analysis UML

    20/39

    OOAD 1/2550 .20

    Estimating Schedule Time

    Rule of thumb for estimation

    Schedule Time (months)

    =

    3.0 * person-months1/3

  • 8/14/2019 Unit 14 - System Analysis UML

    21/39

    OOAD 1/2550 .21

    Staffing Attributes

    Staffing levels will change over a projectslifetime

    Adding staff may add more overhead thanadditional labor

    Using teams of 8-10 reporting in a

    hierarchical structure can reduce complexity

  • 8/14/2019 Unit 14 - System Analysis UML

    22/39

    OOAD 1/2550 .22

    Increasing Complexity with LargerTeams

  • 8/14/2019 Unit 14 - System Analysis UML

    23/39

    OOAD 1/2550 .23

    Timeboxing

    Fixed deadline

    Reduced functionality, if necessary

    Fewer finishing touches

  • 8/14/2019 Unit 14 - System Analysis UML

    24/39

    OOAD 1/2550 .24

    Timeboxing Steps

    Set delivery date

    Deadline should not be impossible

    Should be set by development group

    Prioritize features by importance

    Build the system core

    Postpone unfinished functionality

    Deliver the system with core functionality

    Repeat steps 3-5 to add refinements and enhancemen

  • 8/14/2019 Unit 14 - System Analysis UML

    25/39

    OOAD 1/2550 .25

    STAFFING THE PROJECT

  • 8/14/2019 Unit 14 - System Analysis UML

    26/39

    OOAD 1/2550 .26

    Key Definitions

    The staffing plandescribes the kinds of people working onthe project

    The project charterdescribes the projects objectives and

    rules A functional leadmanages a group of analysts

    A technical leadoversees progress of programmers andtechnical staff members

  • 8/14/2019 Unit 14 - System Analysis UML

    27/39

    OOAD 1/2550 .27

    Motivation

    Use monetary rewards cautiously

    Use intrinsic rewards

    Recognition

    Achievement

    The work itself

    Responsibility

    Advancement

    Chance to learn new skills

  • 8/14/2019 Unit 14 - System Analysis UML

    28/39

    OOAD 1/2550 .28

    Conflict Avoidance Strategies

    Clearly define roles and project plans

    Hold individuals accountable

    Project charter listing norms and groundrules

    Develop schedule commitments ahead of time Forecast other priorities and their possible impact on the project

  • 8/14/2019 Unit 14 - System Analysis UML

    29/39

    OOAD 1/2550 .29

    CONTROLLING ANDDIRECTING THE PROJECT

  • 8/14/2019 Unit 14 - System Analysis UML

    30/39

    OOAD 1/2550 .30

    Margins of Error inCost and Time Estimates

    Typ ic a l marg ins of Error forWell-done Estima tes

    Phase Deliverab le Cost (%) time (%)

    Planning System Request 400 60Projec t Plan 100 25

    Ana lysis System Proposa l 50 15

    Design System Spec ific a tion 25 10

    Sourc e: Boehm et a l. (1995)

  • 8/14/2019 Unit 14 - System Analysis UML

    31/39

    OOAD 1/2550 .31

    Tracking Tasks Using Gantt Chart

    Go to Library

    Go to Bookstore

    Select and Purchase Book

    Skim Book

    Write Phase One

    Read Book Carefully

    Write Phase Two

    Action Week

    2 3 4 5 6 7 8 9 10 11 12 13

  • 8/14/2019 Unit 14 - System Analysis UML

    32/39

    OOAD 1/2550 .32

    CASE Tools

    Initiation Analysis Design Implementation

    Upper CASE Lower CASE

    Integrated CASE (I-CASE)

  • 8/14/2019 Unit 14 - System Analysis UML

    33/39

    OOAD 1/2550 .33

    Procedural MetadataLogic

    Diagrams ScreenDesigns

    CASE Repository

    CASE Components

  • 8/14/2019 Unit 14 - System Analysis UML

    34/39

    OOAD 1/2550 .34

    Standards

    Examples

    Formal rules for naming files

    Forms indicating goals reached

    Programming guidelines

    Can you think of more examples?

  • 8/14/2019 Unit 14 - System Analysis UML

    35/39

    OOAD 1/2550 .35

    Documentation

    Project binder

    Table of contents

    Continual updating

  • 8/14/2019 Unit 14 - System Analysis UML

    36/39

    OOAD 1/2550 .36

    Managing Scope

    Scope creep -- a major cause ofdevelopment problems

    JAD and prototyping

    Formal change approval

    Charging for changes

  • 8/14/2019 Unit 14 - System Analysis UML

    37/39

    OOAD 1/2550 .37

    Managing Risk

    Risk assessment

    Actions to reduce risk

    Revised assessment

  • 8/14/2019 Unit 14 - System Analysis UML

    38/39

    OOAD 1/2550 .38

    Classic Mistakes

    Overly optimistic schedule

    Failing to monitor schedule

    Failing to update schedule Adding people to a late project

  • 8/14/2019 Unit 14 - System Analysis UML

    39/39

    OOAD 1/2550 .39

    Summary

    Project management is critical to successfuldevelopment of new systems

    Project management involves planning,controlling and reporting on time, labor, andcosts.