1. Trang chủ
  2. » Công Nghệ Thông Tin

An Agile UP Introduction.pdf

25 434 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề An Agile Up: Introduction
Tác giả Craig Larman
Trường học Valtech
Thể loại Bài viết
Năm xuất bản 2002
Định dạng
Số trang 25
Dung lượng 1,48 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

An Agile UP Introduction.pdf

Trang 1

Copyright © 2002 Craig Larman All rights reserved.

An Agile UP:

A Manager’s Guide

Underway:

? Roles at IntellAgile & Valtech .

Trang 2

Copyright © 2002 Craig Larman All rights reserved.

UP Overview

Copyright © Craig Larman www.craiglarman.com

4

Defining our Terms: UP and RUP

? The RUP process framework is a detailed,

updated refinement of the more general

UP process framework

? RUP lead architect: Philippe Kruchten

? Some use the term “UP” for “UP family” —those related to (and consistent with) the

UP process framework, especially the RUP

Trang 3

Copyright © Craig Larman www.craiglarman.com

5

inc elaboration construction transition

iteration 2-6 weeks phase

UP Practice #1:

Develop Iteratively

Work in early iterations emphasize:

• Risk

• Criticality (high business value)

• Coverage (many components are touched)

Copyright © Craig Larman www.craiglarman.com

6

inc elaboration construction transition

Throwaway Prototype

UP Practice #1:

Develop Iteratively

Trang 4

Copyright © Craig Larman www.craiglarman.com

7

UP Practice #2:

Continuously Verify Quality

Copyright © Craig Larman www.craiglarman.com

8

UP Practice #3:

Build a Cohesive Architecture

Trang 5

Copyright © Craig Larman www.craiglarman.com

9

UP Practice #4 and #5:

Manage Requirements and Manage Change

Copyright © Craig Larman www.craiglarman.com

10

UP Practice #6:

Model Visually

Trang 6

Copyright © Craig Larman www.craiglarman.com

Test

Deployment Discipline

Trang 7

Copyright © Craig Larman www.craiglarman.com

13

Domain Model

Requirements

Business Modeling

Design

Design Model

Use-Case Model

Data Model

Copyright © Craig Larman www.craiglarman.com

14

Useful, Common UP Artifacts

Supplementary Specification

Requirements

Vision

Use Cases

Software Architecture Doc.

Design

Project Management

Risk List

Trang 8

Copyright © Craig Larman www.craiglarman.com

15

When Work Products are Needed

use the UP Vocabulary

?Vision

?Use Case Model

?Supplementary Specification

?Software Architecture Document

Copyright © Craig Larman www.craiglarman.com

16

: System

enterItem (id, quantity)

Process Sale

1 Customer arrives

2 Cashier makes new sale.

3 .

Use Cases System Sequence Diagrams

make NewSale()

Sale timeStamp

Register

1 1

ProductCatalog

domain concepts

system events

Domain Model

Use-Case Model

Design Model

: Register enterItem(id, quantity)

: ProductCatalog

spec := getSpecification( id ) addLineItem( spec, quantity )

: Sale

.

use-case realization with interaction diagrams

makeNewSale()

create()

Register

makeNewSale() enterItem( )

ProductCatalog

getSpecification( ) : ProductSpecification

the design classes discovered while designing UCRs can be summarized in

Cashier Process Sale

Use Case Diagrams

: Cashier

1 1

.

Captured-on Developer

or Analyst Subject Matter Expert

Developer Subject Matter

.

Trang 9

Copyright © Craig Larman www.craiglarman.com

17

Use-Case Model

: System

enterItem (id, quantity)

Process Sale

1 Customer arrives

2 Cashier makes new sale.

3 .

Use Cases System Sequence Diagrams

make NewSale()

system

Process Sale : Cashier

Use Case Diagram

Handle Returns

1 Customer arrives

address name

quantity

Cashier Customer

Manager

Product Catalog

Product Specification

description price itemID

Stocks

*

Houses 1 *

Used-by

*

Contains 1 *

1

1 *

1 1

1 1

1 1

1 1

1

1

Trang 10

Copyright © Craig Larman www.craiglarman.com

19

Design Model

: Register enterItem(id, quantity)

: ProductCatalog

spec := getSpecification( id ) addLineItem( spec, quantity )

Domain

Pricing

Persistence DBFacade

Taxes

«interface»

ITaxCalculatorAdapter

Services Factory

Sales Register Sale

Payments CreditPayment

«interface»

ICreditAuthorization ServiceAdapter ServiceAccess

SOAP

Register

makeNewSale() enterItem( )

ProductCatalog

getSpecification( ) : ProductSpecification

«FK» Manu_OID : char(16)

«Table»

Manufacturer

«PK» OID : char(16) Name : varchar(100) City : varchar(50)

Trang 11

Copyright © Craig Larman www.craiglarman.com

JVM-«process»

: TaxCalulator : Client

«process»

: POS-client

Copyright © Craig Larman www.craiglarman.com

22

Notation vs Method Models

Payment amount

Sale date time Pays-for

Payment amount: Money getBalance(): Money

Sale date: Date startTime: Time getTotal(): Money

Pays-for

UP Domain Model

Raw UML class diagram notation used in an essential model visualizing real-world concepts.

UP Design Model

Raw UML class diagram notation used in a specification model visualizing software components.

Trang 12

Copyright © Craig Larman www.craiglarman.com

23

Three Modeling Perspectives (Cook & Daniels)

Sale date

time

Sale date: Date startTime: Time getLineItems : List of LineItem

Conceptual

Specification

Sale dateTime: java.util.Date getLineItems : java.util.List

UP Design Model (spec/impl)

requestShipment() placeOrder()

makePayment(cashTendered) makePayment

(cashTendered)

Trang 13

Copyright © Craig Larman www.craiglarman.com

Great moments in evolution

Copyright © Craig Larman www.craiglarman.com

Trang 14

Copyright © Craig Larman www.craiglarman.com

27

Copyright © Craig Larman www.craiglarman.com

28

Risk Iter 1 Iter 2 Iter 3 Iter n-1 Iter n

Product

Trang 15

Copyright © Craig Larman www.craiglarman.com

•early defect removal

Copyright © Craig Larman www.craiglarman.com

•Design & build the rest

•Minor req changes

•Prep for deploy

tion

Incep-•Vision & biz case

Trang 16

Copyright © Craig Larman www.craiglarman.com

31

Follow the UP Phases

?The key distinctive idea is the elaboration

phase.

architecture and requirements while also

implementing the production core of the system.

?Believable macro-level plan and estimates at the end of elaboration, not during inception.

Copyright © Craig Larman www.craiglarman.com

32

Follow the UP Phases

Trang 17

Copyright © Craig Larman www.craiglarman.com

33

Elaboration vs Construction?

The distinctionbetweenelaboration andconstructioniterations is fuzzy,and often

unimportant on aproject

Time Elaboration-ish

risk requirements instability Iteration

Construction-ish

On some projects, a milestone decision to stop or to submit the bidding for out-sourced development.

Copyright © Craig Larman www.craiglarman.com

34

Elaboration vs Construction?

? Therefore, ask yourself: “Is there some real practical reason I need to distinguish between elaboration and construction?”

? Often, the answer is no Fine

? Then we have:

comprehend the project goals and scope

that continue until transition

Trang 18

Copyright © Craig Larman www.craiglarman.com

35

Where Possible, Incremental Delivery

? Partial system in production, early

? Difficult with embedded or device systems; easy with web sites.

tion Elaboration Construction

Incep- tion

Transi- tion Elaboration Construction

Incep- tion

Transi- tion Elaboration Construction

Incep- tion

Transi-6 month “development cycle”

Copyright © 2002 Craig Larman All rights reserved.

Why the

UP?

Trang 19

Copyright © Craig Larman www.craiglarman.com

37

History and Rationale

? The UP has rapidly emerged as a wide de facto industry standard for modern process

world-? Groups within many leading companies are adopting it

Alcatel, MCI, British Aerospace, Sprint, Volvo, Intel, Merrill, E&Y, Deloitte, Ericsson,

Copyright © Craig Larman www.craiglarman.com

?It is cohesive and well documented

Trang 20

Copyright © Craig Larman www.craiglarman.com

Copyright © 2002 Craig Larman All rights reserved.

How to Fail with the UP

Trang 21

Copyright © Craig Larman www.craiglarman.com

41

Warning: Superimposing Waterfall Thinking

being a source of UP advice

viewpoint:

? Inception—do the requirements

? Elaboration—do the design or models

? Construction—translate design to code

ideas/values on the UP.

Copyright © Craig Larman www.craiglarman.com

42

Kruchten on Waterfall versus Iterative

“In a waterfall approach, there is a lot of emphasis on “the specs”

and getting them right, complete, polished and signed-off In the

iterative process, the software we develop comes first It is the

software product that is the main focus of attention throughout, with both specs and software evolving in parallel This has impact

on the teams: testers, for example, may be used to receiving complete, stable specs, with plenty of advanced notice to start testing; whereas in an iterative development, they have to begin working at once, with specs and requirements that are still evolving.”

From Waterfall to Iterative Lifecycle – A tough transition for project managers

by Philippe Kruchten

Trang 22

Copyright © Craig Larman www.craiglarman.com

43

Define basic

Development Case

Apply in pilot project

Share results;

Refine Development Case

Process Mentor

Development Case

Process Mentor

Apply in other projects

Project Member

Becomes

UP mentor

Adopt/Build a Process like a System—

Iteratively and Incrementally

Copyright © Craig Larman www.craiglarman.com

44

How to Fail with the UP

?No one has experience with short timeboxed iterations.

?There is not a critical mass of very knowledgeable object-oriented developers.

?Management doesn’t really understand the profound implications of moving from waterfall

to iterative lifecycle and adaptive attitudes.

Trang 23

Copyright © Craig Larman www.craiglarman.com

45

How to Fail with the UP

?Big bang process adoption

?Leaders implementing iterative development and the UP don’t have direct experience working as developers in iterative development and object technology projects.

?Defining changes or “enhancements” to the UP, when have not yet practiced and mastered the basics.

Copyright © Craig Larman www.craiglarman.com

46

How to Fail with the UP

?First iteration too big or ambitious.

?Not intensively testing and integrating in each iteration.

?Not doing true iterative development—still applying waterfall ideas.

Trang 24

Copyright © Craig Larman www.craiglarman.com

47

How to Fail with the UP

?Creating too many artifacts.

?Focusing on learning or doing UP minutiae rather than the grasping the big ideas.

Copyright © Craig Larman www.craiglarman.com

Trang 25

Copyright © Craig Larman www.craiglarman.com

49

You know you didn ’t understand the UP when…

?“Iterations” in months instead of weeks.

?One tries to speculatively predict all iterations, and what will happen in each one

?An organization wants believable plans and estimates for projects before they have entered the elaboration phase.

Ngày đăng: 14/09/2012, 10:51

TỪ KHÓA LIÊN QUAN

w