2. UP Unified Process and UML Unified Modeling Language - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

2. UP Unified Process and UML Unified Modeling Language

Description:

daily. Every 2-3. weeks. Release. Iterative and Incremental ... short fixed-length mini-projects (2 to 6 weeks) timeboxed (i.e. fixed length iterations) ... – PowerPoint PPT presentation

Number of Views:676
Avg rating:5.0/5.0
Slides: 23
Provided by: csKule
Category:

less

Transcript and Presenter's Notes

Title: 2. UP Unified Process and UML Unified Modeling Language


1
2. UP (Unified Process) and UML
(Unified Modeling Language)
  • Partly based on lecture slides by Ian Summerville

2
Overview
  • 1. The Unified Process UP
  • Software engineering processes
  • Iterative and Incremental Development and
  • the Unified Process
  • The Unified Modeling Language UML
  • visual language for specifying, constructing and
    documenting system artifacts
  • independent of any process
  • can be used for modeling anything
  • e.g. meaning of class

3
Een oefening
  • bouw software voor de ondersteuning van een
    logistiek bedrijf (e.g. transporteur)

4
Software Ontwikkelingsproces
  • Een software ontwikkelingsproces is
  • een set van partieel geordende stappen
  • om software te bouwen, deployen en onderhouden
  • activiteiten
  • Requirements elicitation
  • Design
  • Implementation
  • Integration
  • Maintenance phase

5
Software Ontwikkelingsproces
  • Voorbeelden
  • Waterfall
  • Spiral
  • Agile process(eXtreme Programming)
  • UP (Unified Process)
  • RUP (Rational Unified Process)

6
Waterfall Model
  • Characterized by
  • Sequential steps (phases)
  • Feedback loops (between two phases in
    development)
  • Documentation-driven
  • Advantages
  • Documentation
  • Maintenance easier
  • Disadvantages
  • Complete and frozen specification document
    up-front often not feasible in practice
  • Customer involvement in the first phase only
  • Sequential and complete execution of phases often
    not desirable
  • Process difficult to control
  • The product becomes available very late in the
    process

7
Spiral model
  • Waterfall model plus risk analysis preceding
    each phase
  • and evaluation following each phase
  • Prototyping for high-risk specifications
  • Appropriate only for big projects (high
    management overhead)

8
Lightweight vs. Heavyweight Processes
Heavyweight e.g., V-Process
Customizable Framework e.g., Rational Unified Proc
ess (RUP)
Agile (Lightweight) e.g., eXtreme Programming (XP)
Document driven Elaborate workflow
definitions Many different roles Many
checkpoints High management overhead Highly
bureaucratic
Focus on working code rather than
documentation Focus on direct communication (betwe
en developers and between developers and the
customer) Low management overhead
9
Incremental Models
Release 1
Release 2
Requirements
Release 3
  • Each release adds more functionality, i.e., a new
    increment
  • (Some call it iterative)
  • Non-incremental, e.g. Waterfall, rapid
    prototyping models
  • Operational quality complete product at end
  • Incremental model
  • Operational quality portion of product within
    weeks

10
Evolutionary Models
Version 1
Version 1
Feedback
Version 1
New versions implement new and evolving
requirements (Some call it iterative)
  • Advantages
  • Constant customer involvement and validation
  • Allows for good risk management
  • Disadvantages
  • Build-and-fix danger
  • Contradiction in terms

11
XP Overview
  • Characteristics
  • Evolutionary development
  • Collection of 12 Best Practices
  • Focus on working code that implements customer
    needs (rather than documents)
  • Testing is a crucial element of the process
  • Focus on flexibility and efficiency of the
    process
  • Designed for small teams (lt10)

Every 2-3 weeks
Planning
Write tests
Pair Programming Refactoring
Release
Test
Min. daily
Integration
12
Iterative and IncrementalDevelopment and the
Unified Process
13
UP Iterative and Incremental dev.t
  • iterative and incremental development
  • embracing change
  • development is organized into a series of
    iterations
  • short fixed-length mini-projects (2 to 6 weeks)
  • timeboxed (i.e. fixed length iterations)
  • shift tasks to future iterations if necessary
    ...
  • an iteration represents a complete development
    cycle
  • incl. requirements, analysis, design,
    implementation and testing activities
  • the outcome of each iteration a tested,
    integrated and executable system

14
Use-Case-Driven
  • Use cases are concise, simple, and understandable
    by a wide range of stakeholders
  • End users, developers and acquirers understand
    functional requirements of the system
  • Use cases drive numerous activities in the
    process
  • Creation and validation of the design model
  • Definition of test cases and procedures of the
    test model
  • Planning of iterations
  • Creation of user documentation
  • System deployment
  • Use cases help synchronize the content of
    different models

15
UP belangrijkste fasen
  • Inception
  • Approximate vision
  • Business case
  • Scope
  • Vague estimates
  • Continue or stop?
  • Elaboration
  • Identification of most requirements
  • Iterative implementation of the core architecture
  • resolution of high risks
  • Construction
  • Iterative implementation of lower risk elements
  • Preparation for deployment
  • Transition
  • Beta tests
  • Deployment

16
Iterations and Milestones
Inception
Elaboration
Construction
Transition
Preliminary Iteration
Iter. 1
Iter. 2
Release
Milestone
Final production release
  • each phase concludes with a well-defined
    milestone.
  • the end of each iteration is a minor release, a
    stable executable subset of the final product
  • relative effort and emphasis change over time
  • Note that activities and artifacts are optional
    (except code!)
  • Developers select those artifacts that address
    their particular needs

17
The UP Disciplines
Phases
Process Disciplines
Elaboration
Transition
Inception
Construction
Business Modeling
Requirements
Design
Implementation
Test
Deployment
Supporting Disciplines
Configuration Mgmt
Management
Environment
Preliminary Iteration(s)
Iter.1
Iter.2
Iter.n
Iter.n1
Iter.n2
Iter.m
Iter.m1
Iterations
18
The UP Disciplines
Focus of this course.
Phases
Process Disciplines
Elaboration
Transition
Inception
Construction
Business Modeling
Requirements
Design
Implementation
Test
Deployment
Supporting Disciplines
Configuration Mgmt
Management
Environment
Preliminary Iteration(s)
Iter.1
Iter.2
Iter.n
Iter.n1
Iter.n2
Iter.m
Iter.m1
Iterations
19
UML
20
UML
  • The Unified Modeling Language (UML)
  • a language
  • for specifying, visualizing, constructing and
    documenting
  • the artifacts of software systems,
  • as well as for
  • business modeling and
  • other non-software systems.
  • UML is een taal, te gebruiken in een
    ontwikkelingsproces

21
Evolutie UML
  • Vanwaar unified ?
  • begin jaren 90 veel verschillende methodes
  • Positief, want dus veel vitaliteit aan OO
  • Negatief, want veel onduidelijkheid t.o.v. wat
    een object nu eigenlijk is
  • ? consensus mogelijk
  • klasse, associatie, subsystemen, interactie
    tussen users en het systeem
  • 2 methodes
  • Booch (Grady Booch)
  • OMT (Object Modelling Technique Jim Rumbaugh)
  • groeien naar elkaar toe
  • eind 1994 Unified Method
  • een jaar later doet ook Ivar Jacobson (use cases)
    mee
  • In 1996 wordt UM omgedoopt tot UML
  • gestandaardiseerd door OMG

22
Verschillende diagrammas in UML
  • Class diagram
  • Sequence diagram
  • Collaboration diagram
  • Object diagram
  • Statechart diagram
  • Use case diagram
  • Component diagram
  • Deployment diagram
  • ...
Write a Comment
User Comments (0)
About PowerShow.com