Unified Process: Elaboration Phase - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Unified Process: Elaboration Phase

Description:

UML Distilled, 2nd Edition, Fowler & Scott, 2000. Chapters 2, 3, 4, 5, 6. The Unified Software Development Process, Jacobson, Booch ... From the amigos (p. 364) ... – PowerPoint PPT presentation

Number of Views:421
Avg rating:3.0/5.0
Slides: 18
Provided by: drlisaj
Category:

less

Transcript and Presenter's Notes

Title: Unified Process: Elaboration Phase


1
Unified Process Elaboration
Phase
  • Dr. Lisa J. Burnell
  • Texas Wesleyan University
  • Spring 2000

2
References
  • UML Distilled, 2nd Edition, Fowler Scott, 2000.
  • Chapters 2, 3, 4, 5, 6
  • The Unified Software Development Process,
    Jacobson, Booch Rumbaugh, 1999.
  • Chapters 12, 14

3
How did we get here?
  • Inception phase is complete
  • You have
  • established project feasibility
  • the business case (its worth building)
  • risks
  • defined system scope
  • domain model, features, first cuts at use case,
    initial architecture and other models
  • planned (initial project plan-cost, effort,
    schedule,quality)

4
From the amigos (p. 364)
  • In the elaboration phase we build on the work of
    the inception phase. However, in inception we
    only had to make it believable that we could, in
    a later phase, build an architecture. Now, in
    elaboration, we will actually do it. We will
    revisit what we did before, but probably find
    little that we can reuse. We are now looking not
    just for use cases that represent critical risks,
    but for use cases that are architecturally
    significant. Second, we need a much larger
    coverage for the use cases to support a
    high-fidelity bid. Moreover, we face the task of
    ending the phase with an executable architectural
    baseline, a stable baseline to which we can add
    in the construction phase. Therefore, we must
    build with more attention to quality and
    extensibility than the inception phase called
    for.

5
Whats our focus?
  • Architecture (Conceptual design)
  • class diagrams, interaction diagrams
  • Final requirements
  • the use case model
  • Prototype ( other risk identification)
  • Project plan

6
General points
  • Two iterations (common)
  • Dont expect to reuse inception phase models or
    prototypes
  • Emphasis is on architecture (OOA)

7
What to do
  • Look at requirements that impact the architecture
  • e.g., those that affect database choice
  • wait on details that dont change architecture
  • Get a stable architecture figured out
  • Tasks for each of the core workflows next...

8
Requirements in Elaboration
  • Detail or add use cases that affect architecture
  • MAINTAIN FOCUS ON ARCHITECTURE RELEVANCE!!!
  • Prototype user interfaces, only if
  • affects architecture, is risky, user validation
  • MRC is risky -- new language, tools, IPC
  • Prioritize use cases (later slide)
  • Structure use case model

9
Structure use case model
  • Goal well structured, easy to understand model
  • Look for similarities, simplifications and other
    ways to improve the model
  • Use
  • include for repetition in multiple use cases
  • generalization or extends for variation on normal
    behavior (extends is more formal)

10
Analysis in Elaboration
  • Architectural analysis
  • partition system into analysis packages
  • major components
  • each contains related classes
  • some will be application specific (simulation
    engine)
  • some application general (DB connectivity GUI)
  • Analyze a use case
  • translate use case tasks and data items to
    classes/attributes in the analysis model

11
Analysis in Elaboration
  • Analyze classes
  • Refine the class model (well structured, easy to
    understand)
  • generalization, restructuring
  • Analyze packages
  • refine and maintain class packages (a set of
    related classes)
  • Tip requirements can sometimes be renegotiated
    if existing architecture provides good
    functionality cheaper than new development

12
Design in Elaboration
  • Usually less than 10 of use-case mass (complete
    set of actions of all use cases in a use case
    model)
  • Analysis packages --gt design subsystems
  • Identify
  • layered architecture and implementation
    environment
  • e.g. DBMS, languages, ORBs, OS
  • subsystems and their interfaces (from analysis
    model)
  • map to patterns, frameworks, if possible
  • network design
  • decide where objects/components will reside
  • Detailed design
  • use case to classes and subsystems

13
Implementation in Elaboration
  • Usually less than 10 of use-case mass
  • implement classes/subsystems
  • plan integration sequence and perform integration
    of any implemented subsystems

14
Test in Elaboration
  • Test that interfaces work between
  • layers (application to service)
  • subsystems
  • Plan and design tests
  • execute scenarios
  • prepare test cases and procedures

15
Planning for construction phase
  • Divide use cases
  • low, medium high priority (customer)
  • low, medium high risk (developer)
  • high hard, not well understood or has big impact
    on system design
  • Estimate person weeks (FTE) for each use case
  • analysis, design, coding, testing, integration
    and documentation
  • Tips
  • If lots of high risk, do more elaboration
  • Always add contingency factors to estimates (
    time)

16
Planning for construction phase
  • Decide how many iterations
  • experience, luck, models
  • common 2-8 weeks per iteration
  • number use cases/iteration depends on granularity
    of use cases
  • Assign use cases to iterations
  • do high priority/high risk early
  • Expect plan to change
  • must do this with customers though!

17
Metrics (how to tell youre done)
  • Architecture is done
  • Can estimate time to build each use case
  • Use cases are
  • prioritized
  • assigned to builds in construction iterations
  • Project plan for remaining phases
  • others listed on page 380 of UP book
Write a Comment
User Comments (0)
About PowerShow.com