Top Banner
James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices
58

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

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.

James Nowotarski

13 April 2004

IS 553Advanced Systems

Development Practices

Page 2: James Nowotarski 13 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 13 April 2004 IS 553 Advanced Systems Development Practices.

3

Understand the basics of the Rational Unified Process (RUP) Structure Content Guiding principles

In particular, understand how RUP enables iterative development

Discuss the term project

Today’s Objectives

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

4

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

5

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

6

Think to yourself how many of the projects you have worked were:

On Time? On Budget?

High Quality?

The Bottom Line: Our Customers are upset with us.The Bottom Line: Our Customers are upset with us.

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

7

Symptoms and Root CausesSome Symptoms: Requirements in flux

Some Root Causes:• Insufficient and misunderstood

requirement

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

8

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

9

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

10

Continuously Verify Quality

In the Rational Unified Process, quality is defined as:

“The characteristic identified by the following: • satisfies or exceeds an agreed upon set of requirements, and • assessed using agreed upon measures and criteria, and • produced using an agreed upon process."

More than simply "meeting requirements" or producing a product that meets user needs, or expectations, etc.

Quality also includes identifying the measures and criteria to demonstrate the achievement of quality, and the implementation of a process to ensure that the product created by the process, has achieved the desired degree of quality (and can be repeated and managed).

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

11

Test Each Iteration

Start testing early Continuously test Test each iteration for functionality

and performance Iterative development makes

regression testing necessary Use automated tests whenever

possible

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

12

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

13

Why focus on change?

Life cycle phase

Co

st

of

ch

an

ge

Req Anal. Des. Impl. Test Prod

y = axp

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

14

Ways to Accommodate Change

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

15

Control Changes

You must control, track and monitor changes to enable iterative development

Control changes for all software artifacts: Models Documents Source code Project plans

Establish secure workspaces fore each developer

Automated integration and build management

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

16

Controlling Parallel Development

Multiple developers Multiple teams Multiple sites Multiple iterations Multiple releases Multiple projects Multiple platforms

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

17

Configuration Management

Configuration Management is the process which controls the changes made to a software system and manages the different versions and releases of the evolving software products Librarian like function Manages the version number for each software product Changes made are controlled by a Change Control Process Can be managed manually or through the use of a

configuration management tool (Difficult to do manually, but it can be done.)

• Check In• Check Out• Read only for others

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

18

Change Control Process

Create InitialSections

Create/ModifyDraft

Review Draft(V&V)

Create Changes to Incorporate

Changes Needed In Document

DocumentApproved

Create Review Revise ReviewReview Approved

Time

...

Document in Production and Under Formal Change Control

Document in Production and Under Formal Change Control

Document Under Development and User Change Control

Document Under Development and User Change Control

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

19

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

20

Why emphasis on executable software?

“Without this first pass, the project manager is at the mercy of human judgment. With this first-pass ‘simulation,’ he can at least perform experimental tests of some key hypotheses and scope down what remains for human judgment, which in the case of computer program design . . . is invariably and seriously optimistic”

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

21

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

22

Architecture: Compelling need to stay ahead

Think of the architecture as an “application” to be used by systems developers

Architecture development and application development are related but separate activities that are staggered and occur in parallel:

Architecture

Application

Analyze

Analyze

Design

Design

Implement

Implement

Support

Support

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

23

Benefits of Architecture

Intellectual control Manage complexity Maintain integrity

Basis for reuse Component reuse Architecture reuse (patterns)

Basis for project management Focus on early iterations Planning Staffing

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

24

RUP Guiding Principles

IterativeDevelopment

QualityCustomerValue

Attack riskAccommodatechange

Work togetherExecutablesoftware

Architecturebaseline

Component-baseddevelopment

Objectives

Strategies

Tactics

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

25

Software Components

Definition:

A software component can be defined as a nontrivial piece of software, a module, a package, or a subsystem, that fulfills a clear function, has a clear boundary and can be integrated in a well-defined architecture. It is the physical realization of an abstraction in your design.

Definition:

A software component can be defined as a nontrivial piece of software, a module, a package, or a subsystem, that fulfills a clear function, has a clear boundary and can be integrated in a well-defined architecture. It is the physical realization of an abstraction in your design.

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

26

Components

Airplane

Private Data

Object Operations

Airplane

Private Data

Object Operations

Engines

Private Data

Object Operations

Engines

Private Data

Object Operations

Wings

Private Data

Object Operations

Wings

Private Data

Object Operations

Fuselage

Private Data

Object Operations

Fuselage

Private Data

Object Operations

Tail

Private Data

Object Operations

Tail

Private Data

Object Operations

COMPONENTS - Are objects that are combined into new objects without the use of inheritance

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

27

Benefits of Component Architectures Resilient

Meets current and future requirements

Improves extensibility Enables reuse Encapsulates system

dependencies Reuse proven solution elements

Reuse or customize components Select from Commercially-available

components Evolve existing software

incrementally

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

28

RUP “Hump” Diagram

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

29

Vertical (Static) Dimension

Core Process Disciplines(sometimes referred to generically as Workflows)

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

30

Horizontal (Dynamic) Dimension

One Development Cycle

Milestones

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

31

Vertical dimension deals with 4 key modeling elements

Roles (who) Activities (how) Artifacts (what) Workflows (when)

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

32

Roles

A role is played by an individual or a team.

Examples: Stakeholder Systems Analyst Designer Test Designer Project Manager

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

33

Role - ExampleRole:  Requirements SpecifierThe requirements specifier role details the specification of a part of the system's functionality by describing the Requirements aspect of one or several use cases and other supporting software requirements

StaffingA person acting as the requirements specifier needs good communication skills, both person-to-person and written. A requirements specifier must be familiar with all tools used to capture the requirements.

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

34

A piece of information that is produced, modified or used by a process.

Artifacts include the intangible products of the project

Examples: A use-case model Model element, e.g., use case A document such as a

business case Source code Executable code

Artifacts

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

35

Artifacts - Examples

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

36

Activities

An Activity is a unit of work assigned to a single role.

Examples: Find use cases and

actors Review the design Execute a

performance test Activities may be broken

down into steps

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

37

Workflows/Disciplines

Workflow/Discipline:• A sequence of

activities (and related roles and artifacts) that produces some result of observable value

• These are the 9 “core process disciplines” in the RUP product

• “Workflow” is the generic term – may be very detailed

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

38

Example of detailed workflow

Workflows show all activities you may go through to produce a particular set of artifacts.

A typical sequence of events when conducting the flow of work.

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

39

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 40: James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.

40

RUP Process Elements

AnalysisGuideline

Rose ToolMentor

Use-CaseTemplate

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

41

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

42

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

43

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

44

Iterative Development

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

45

Iterative Development

Each iteration: includes some or most of the development disciplines has a set of well-defined objectives produces a partial working implementation of the final

system builds on work of previous iterations to evolve and

refine the system until the final product is complete Early iterations have greater emphasis on

requirements and analysis and design Later iterations have greater emphasis on

implementation and testing

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

46

Anatomy of TerminologyProduct

Development Cycle

Phase

Iteration

Activity

is the result of

consists of

consists of

consists of

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

47

Iterative Development

Iterative/Evolutionary/Spiral life cycle models advocate multiple “threads” through the SDLC phases

A D IVersion 1

A D IVersion 2

A D IVersion 3

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

48

Product is the result of development cycles

Version 1

Development CycleVersion 2

Development CycleVersion 3

Development Cycle

Product delivered to users

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

49

Development cycle consists of phases

Development Cycle

Inception Elaboration Construction Transition

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

50

Phase consists of IterationsDevelopment Cycle

Elaboration

Iterationn Iterationn+1

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

51

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 52: James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.

52

Each Iteration is a mini-waterfall

R

A&D

C

T

R

A&D

C

T

R

A&D

C

T

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

53

Horizontal (Dynamic) Dimension

One Development Cycle

Milestones

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

54

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 55: James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.

55

Iterative Advantages/Disadvantages

Advantages

Disadvantages

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

56 Copyright © 1997 by Rational Software Corporation

Risk

Transition

Inception

Elaboration

Construction

PreliminaryIteration

Architect.Iteration

Architect.Iteration

Devel. Iteration

Devel. Iteration

Devel. Iteration

TransitionIteration

TransitionIteration

Post-deployment

Waterfall

Time

Risk Profile: Iterative vs. Waterfall

Iterative

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

57

Topic Duration

RUP Overview 75 minutes

*** Break 15 minutes

Current Event Recaps (Asgn #5)15 minutes

RUP and Iterative Development 45 minutes

Asgn #1, Quiz #1, Term Project 30 minutes

Today’s Agenda

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

58

Kroll/Kruchten, Chapters 5, 7Assignment 2Assignment 5

Thong-ngam Burton

Topics for April 20