+ All Categories
Home > Documents > James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

Date post: 21-Dec-2015
Category:
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
47
James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices
Transcript
Page 1: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

James Nowotarski

20 April 2004

IS 553Advanced Systems

Development Practices

Page 2: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

2

Course Map

Underpinnings. Introduction. Essentials

Content. Rational Unified Process. Agile

Implementation. Metrics. CMM. Distributed development. Tools & training

Briefings (Term Papers)

1 2 3 4 6 7 8 9 10 115

Assignments

Quizzes

Week

(RUP) (Agile) (CMM) (Distr. Dev.)

Page 3: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

3

Understand more details of Rational Unified Process (RUP): Phases Milestones Artifacts

Today’s Objectives

Page 4: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

4

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 5: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

5

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 6: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

6

Quiz 1 – Question 1

Page 7: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

7

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

Page 8: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

8

Iterative Advantages/Disadvantages

Advantages Resolves risks before making

large investments Enables early user feedback Makes testing and integration

continuous problems are discovered

when they are easier to address

minimizes later rework Focuses on most essential

requirements Makes partial deployments

possible Accelerates project team

learning Facilitates reuse

Disadvantages Waterfall life cycle is more

familiar since it is similar to hardware life cycle

Iterative Life Cycles difficult to estimate and manage.

Only recently used on real projects - therefore little track record

Rework takes place from one iteration to the next

Iterative life cycle best used for problems that are not well understood. Iterative life cycle best used for problems that are not well understood.

Page 9: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

9

Product is the result of development cycles

Version 1

Development CycleVersion 2

Development CycleVersion 3

Development Cycle

Product delivered to users

Page 10: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

10

Development cycle consists of phases

Development Cycle

Inception Elaboration Construction Transition

Page 11: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

11

Phase consists of IterationsDevelopment Cycle

Elaboration

Iterationn Iterationn+1

Page 12: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

12

Iteration consists of ActivitiesDevelopment Cycle

Elaboration

Iterationn+1IterationnR

A&D

C

T

R

A&D

C

T

Each phase contains one or more iterations

Page 13: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

13

Anatomy of TerminologyProduct

Development Cycle

Phase

Iteration

Activity

is the result of

consists of

consists of

consists of

Page 14: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

14

Activity (Individual)Product

Development Cycle

Phase

Iteration

Activity

is the result of

consists of

consists of

consists of

Take this diagram and add:• workflow• artifact• role• step

Page 15: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

15

Additional Process Elements

Guidelines - are rules, recommendations, or heuristics that support activities and steps.

Templates - are models or prototypes of artifacts Example: Word template for Vision

Document Tool mentors - are a means of providing

guidance by showing you how to use a specific software tool (Similar to wizards)

Concepts - Separate material that describe some of the reasons and background on a specific topic

Page 16: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

16

Waterfall model

Systemrequirements

Softwarerequirements

Analysis

Program design

Coding

Testing

Operations

Source: Royce, W.  "Managing the Development of Large Software Systems."

Page 17: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

17

Is RUP = Waterfall in disguise?

Systemrequirements

Softwarerequirements

Analysis

Program design

Coding

Testing

Operations

Inception

Elaboration

Construction

Transition

Page 18: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

18

Iteration consists of ActivitiesDevelopment Cycle

Elaboration

Iterationn+1IterationnR

A&D

C

T

R

A&D

C

T

Each phase contains one or more iterations

Page 19: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

19

Inside each phase, you plan iterations across disciplines

Page 20: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

20

Phase boundaries in RUP are milestones

Inception Elaboration Construction Transition

Page 21: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

21

Milestones

• Exit criteria• Decide to proceed, abort, or change course• Measure progress, e.g.,

– use cases completed– features completed– performance requirements satisfied– risks eliminated– test cases passed

Page 22: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

22

Phase boundaries in waterfall are activities

Systemrequirements

Softwarerequirements

Analysis

Program design

Coding

Testing

Operations

RUP Phase

Milestone

Page 23: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

23

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 24: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

24

RUP Artifacts by Phase

Inception Elaboration Construction Transition

VisionUse Cases (20%)Software Arch Doc (high level)PlanRisksBusiness CaseDevelopment Case

Inception artifacts (updated)Executable ArchitectureUser Interface PrototypeUser Interface DesignAnalysis ModelDesign ModelDatabase DesignTesting Plan

Previous artifacts (updated)Software[Converted] DataTraining & Support

Page 25: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

25

RUP Artifacts by Phase and Discipline

Discipline Inception Elaboration Construction TransitionBusiness Modeling

Requirements

Analysis & Design

Implementation

Test

Deployment

Page 26: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

26

RUP Artifacts by Phase and Discipline

Discipline Inception Elaboration Construction Transition

Configuration and Change Management

Project Management

Environment

Page 27: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

27

Executable architecture is key artifact from Elaboration

Executable architecture Driven by carefully selected use cases

• Essential• Difficult• Representative cross-section

Addresses most risky technical elements Needs to satisfy functional and nonfunctional

requirements (“ilities”)• Performance, reliability, usability, availability, etc.• Also concurrency, interprocess communication,

data/process distribution, etc.

Page 28: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

28

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 29: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

29

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 30: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

30

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 31: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

31

Planning an Iterative Project

Two Levels of Plans Phase Plan Iteration Plan

• Assign use cases to iterations• Time boxed

• not allowed to slip any dates

Page 32: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

32

Create the work plan

Usersrequirements 1

Negotiatereqts

negotiatedrequirements

2

Decom-pose

workbreakdownstructure

4

Estimateresources

workmonths

3

Estimatesize

deliverablesize

5

Developschedule

schedule

Iterate as necessary

Page 33: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

33

Phase Duration/Budget

Phase Schedule Effort

Inception

Elaboration

Construction

Transition

Page 34: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

34

Phase Duration/Budget

What if: No architecture in place? Second generation of existing

product, keep existing architecture? Short time to deliver? Complex conversion and deployment?

Page 35: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

35

Planning considerations

No fixed workflows Low vs. High ceremony No frozen artifacts

Page 36: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

36

Mapping of Roles to Workflows

Workflow Role(s)

Business Modeling Business Designer

Business-Model Reviewer

Business-Process Analyst

Requirements Requirements Reviewer

System Analyst

Use-Case Specifier

Analysis & Design Architect

Architecture Reviewer

Database Designer

Design Reviewer

Designer

User-Interface Designer

Page 37: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

37

Mapping of Roles to Workflows (cont.)

Workflow Role(s)

Implementation Code Reviewer

Implementer

System Integrator

Test Test Designer

Tester

Deployment Course Developer

Trainer

Deployment Manager

Graphic Artist

Technical Writer

Page 38: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

38

Mapping of Roles to Workflows (cont.)

Workflow Role(s)

Configuration & Change

Management

Change Control Manager

Configuration Manager

Project Management Project Manager

Project Reviewer

Stakeholder

Environment Process Engineer

System Administrator

Tool Specialist

Page 39: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

39

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 40: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

40

Unified Modeling Language (UML)

“The Unified Modeling Language™ (UML) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It simplifies the complex process of software design, making a "blueprint" for construction”

Modeling language, not a method Notation, or diagramming technique

UML is independent of process Can be used with any process

Page 41: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

41

UML Chronology

Web - June 1996 UML 0.9UML 0.9

Unified Method 0.8Unified Method 0.8OOPSLA 95

UML 1.0UML 1.0UML partners

OMG Acceptance, Nov 1997Final submission to OMG, Sept 1997 UML 1.1UML 1.1

UML 2.0UML 2.0Latest version as of 2004Latest version as of 2004

OMTBooch methodOOSEOther methods

Approved minor revision 2001Approved minor revision 2001 UML 1.4UML 1.4

Minor revision 1999Minor revision 1999 UML 1.3UML 1.3

Page 42: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

42

Visual Modeling Using UML

Actor A

Use Case 1

Use Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

Window95

¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE

WindowsNT

¹®¼ °ü¸® ¿£Áø.EXE

WindowsNT

Windows95

Solaris

ÀÀ¿ë¼ ¹ö.EXE

Alpha

UNIX

IBM

Mainframe

µ¥ÀÌŸº£À̽º¼ ¹ö

Windows95

¹®¼ °ü¸® ¾ÖÇø´Document

FileManager

GraphicFile

File

Repository DocumentList

FileList

user

mainWnd fileMgr : FileMgr

repositorydocument : Document

gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close fileUse Case 3

Use casediagram Class diagram

Collaboration diagram

Sequence diagram

Component diagram

Statechartdiagram

Deployment diagram

GrpFile

read( )open( )create( )fillFile( )

rep

Repository

name : char * = 0

readDoc( )readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() fill the code..

Page 43: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

43

Types of UML Models Functional requirements models

Use Cases Domain Models (glossary)

Structural modeling Class Diagrams Object Diagrams Component Diagrams Deployment Diagrams

Behavioral modeling Interaction Diagrams

• Sequence Diagrams• Collaboration Diagrams

Activity Diagrams State Chart Diagrams

Page 44: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

44

Use Cases Typical interaction between a user and a computer

system Example: Word use cases

Make some text bold Create an index

Content: A few paragraphs of description Essential tool in requirements capture during Inception

and (mostly) during Elaboration Characteristics

Captures some user-visible function May be small or large Achieves a discrete goal for the user

Page 45: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

45

Topic Duration

Quiz 1 and Last Week Recap 45 minutes

RUP Artifacts and Assignment 2 30 minutes

*** Break 15 minutes

Current Event Reports 15 minutes

RUP Project Mgmt Considerations 15 minutes

UML Overview 15 minutes

RUP Jeopardy 45 minutes

Today’s Agenda

Page 46: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

46

RUP Links

RUP Online Demohttp://www.rational.com/tryit/rup/seeit.jsp

RUP Resourceshttp://www-136.ibm.com/developerworks/rational/products/rup

Chicago RUP User Group (CRUG)http://www.viva-it.com/crug/index.asp

Page 47: James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.

47

Agile MethodsBeck readingsQuiz 2 (take home, individual)

Topics for April 27


Recommended