25
Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level SE470 - Engineering Workflow Excellence in Software Engineering Repeatable Level Defined Level Managed Level Initial Level Optimizing Level Larry Dribin, Ph.D. - DePaul University Phone: (847)807-7390 - Fax: (847)459-1650 Email: [email protected] Copyright 2001 - Larry Dribin, Ph.D. - v1 10/28/01

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

SE470 - Engineering Workflow

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimizing Level

Larry Dribin, Ph.D. - DePaul University

Phone: (847)807-7390 - Fax: (847)459-1650

Email: [email protected]

Copyright 2001 - Larry Dribin, Ph.D. - v1 10/28/01

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 2

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Full Life Cycle Software Engineering Processes

Needs Analysis Design Build Operate

Project Planning

Project Tracking & Oversight

Subcontractor Management

Quality Assurance

Configuration Management & Documentation Standards

Performance Measurement

• Systems Management

• Call Management• Tech. Support &

Maintenance

• Requirements Management• Software Product

Engineering

• Software Product Engineering

• Software Product Engineering

• Project Evaluation & Prioritization (Work Request)

Technology OrganizationTechnology Organization Technology StrategyTechnology Strategy

Organization Process Function

IT Value Chain

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 3

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Rational Process Workflows & Full Life Cycle Software Engineering Processes

Needs Analysis Design Build Operate

Project Planning

Project Tracking & Oversight

Subcontractor Management

Quality Assurance

Configuration Management & Documentation Standards

Performance Measurement

• Systems Management

• Call Management• Tech. Support &

Maintenance

• Requirements Management• Software Product

Engineering

• Software Product Engineering

• Software Product Engineering

• Project Evaluation & Prioritization (Work Request)

Technology OrganizationTechnology Organization Technology StrategyTechnology Strategy

Organization Process Function

IT Value Chain

Rational Workflows only cover these areas.

Rational Workflows only cover these areas.

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 4

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Rational Unified Process - Core Workflows

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 5

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

During each Iteration, the Engineering Workflows follow a mini-Waterfall

Selected Scenarios

ProductRelease

The Iteration Life Cycle is a mini-waterfall.The Iteration Life Cycle is a mini-waterfall.

AD - Analysis & Design

RD - Requirements Definition

IM - Implementation

DE - Deployment

BM - Business Modeling

TE - Testing

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 6

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Benefits of an Iterative Approach

Risk Mitigation Requirements Risks Integration Risks Architectural Risks

Easier to Accommodate Change Requirements Tactical Technology

Learning As You Go Increased Opportunity for Reuse Better overall Quality

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 7

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Often, Workers or Worker Teams are working on Multiple Iterations at one time

AD-1

RD-1

IM-1

DE-1

BM-1

TE-1

Iteration 1 Iteration 2 Iteration 3

AD-2

RD-2

IM-2

DE-2

BM-2

TE-2

AD-3

RD-3

IM-3

DE-3

BM-3

TE-3

AD-4

RD-4

IM-1

DE-4

BM-4

TE-4

Iteration 4

AD-1

RD-1

IM-1

DE-1

BM-1

TE-1

AD-2

RD-2

IM-2

DE-2

BM-2

TE-2

Iteration 1 Iteration 2 Iteration 3

AnalysisTeam

ImplementationTeam

AD-3

RD-3

IM-3

DE-3

BM-3

TE-3

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 8

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Business Modeling

Purpose Understand the structure &

dynamics of the organization Identify Issues & Improvements Ensure common understanding

among stakeholders Identify the system requirements

Workers Business Process Analyst Business Designer Business Stakeholders

Outcomes / Artifacts Business Vision Document Business Use-Case Model Business Object Model Case Business Rules Risk Assessment

Tools UML & Rational Rose Requirements Management Tools

like RequsitePro

AD

RD

IM

DE

BM

TE

BM

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 9

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

System Use Cases

A Use Case is a sequence of actions a system performs that yields an observable result of value to a particular actor

An Actor is someone or something outside the system that interacts with the system

WithdrawMoney

Client

CheckBalance

TransferMoney

Use Case for an ATM (RUP p100)Use Case for an ATM (RUP p100)

BM

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 10

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Business Use Case Models to System Models Business Use Case Models are similar to System Use Case Models They begin with the business Workers as candidate actors They area a sequence of actions that the business performs that yields an observable result

of value to a particular business actor A Business Actor is someone or something outside the system that interacts with the system

WithdrawMoney

Customer

CheckBalance

MoneyTransaction

Clerk LoanSpecialist

Business Use Case Model Business Object Model

System Use Case Model

RUP p 149

BM

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 11

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Business Modeling WorkflowBM

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 12

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Requirements Definition

Purpose To define system requirements To establish & maintain the

agreement with customers as to what system should do

To provide developers with an understanding of the system

To define system boundaries To provide a basis for planning &

estimating Workers

System Analyst Use-Case Specifier User Interface Designer

Outcomes / Artifacts Vision Document Stakeholder Requests Use-Case Model (System) Supplementary Specifications Glossary Use-case Storyboard User-Interface Prototype

Tools UML - Rational Rose RequsitePro MS/Word

RD

AD

RD

IM

DE

BM

TE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 13

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Requirements

Requirement - is a condition or capability to which a system must conform.

Type of Requirements: FURPS

Functional - those things that we expect the system to do

Non- Functional - those attributes that the system must exhibit

– Usability

– Reliability

– Performance

– Supportability

Stakeholders Requests - Raw input that the stakeholder states (may or may not be valuable to the user)

Stakeholders Needs - those requests that are needed by the user to get value from the system

System Features - a service that the system provides that fulfills a need

Software Requirements - The definition of what the software will provide

Workflow: Analyze the problem Understand stakeholder needs Define the system Manage the scope

RD

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 14

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Requirements Engineering - Dr. Dribin’s view

Develop As Is Model:

1. Study Current System & its Functions

2. Develop Model of Current System

3. Document Current System - As Is Model

Develop (Design) To Be Model:

4. Determine Problems to be Corrected and any New Requirements

5. Develop Model of Future System =

Current System Function + Problems + New Features

6. Document Future System - To Be Model

7. Validate that “To Be” model solves problems identifiedin “As Is” Analysis

RD

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 15

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Requirements WorkflowRD

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 16

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Analysis & Design

Purpose To translate the requirements into a

specification that describers how to implement the system

Workers Architect - co-ordinates overall

design Designer - leads design of one or

more classes Data Base Designer - designs the

database Reviewers - specialists who review

the design

Outcomes / Artifacts Analysis Model - is a rough sketch

of the design model (optional) Design Model - primary artifact of

this phase Interface Definitions

Tools UML - Rational Rose

AD

AD

RD

IM

DE

BM

TE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 17

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Analysis & DesignAD

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 18

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Implementation Purpose

To define the organization of the code in terms of subsystems

To implement the classes and objects in terms of components

To “Unit” test the components To integrate the components into an

executable system Workers

Architect - defines the structure Implementer - develops the

components System Integrator - constructs the

build System Reviewer - inspects the code

for quality

Outcomes / Artifacts Builds - is an operational version of a

system or part of a system (once per day to once per several weeks)

Integration - integrates separate software components and subsystems into the whole system

Prototypes - are used to reduce risk– Behavioral– Structural– Exploratory– Evolutionary

Tools Traditional software development tools /

environments– Editors– Compliers– Linkers– Debuggers

IM

AD

RD

IM

DE

BM

TE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 19

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Implementation WorkflowIM

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 20

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

TE

AD

RD

IM

DE

BM

TE

Testing (Verification & Validation)

Quality Definitions: The absence of defects Fitness for Purpose

Purpose Verify the interactions of

components Verify the proper integration of

components Verify that all requirements have

been implemented correctly Identify and correct all defects

Workers Test Designer Tester

Outcomes / Artifacts Test Plan Test Model

– Test Cases– Test Procedures– Test Scripts– Test Classes and Components– Test Collaborations– Notes

Test Results Defects

Tools Rational’s:

– TestStudio– PerformanceStudio

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 21

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Testing

Types of Testing Benchmark Configuration Function Installation Integrity Load Regression

Stages of Testing Unit Integration System Acceptance

TE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 22

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Testing WorkflowTE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 23

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Deployment

Purpose Establish the Projects Scope Define the high level Requirements /

Use Cases Exhibit a candidate Architecture Estimate the Cost & Schedule Estimate the Risk

Workers Deployment Manager Project Manager Technical Writer Course Developer Tester for Acceptance Tests

Outcomes / Artifacts The executable software system Release Notes Support Material like User Manuals Training Manuals

Type of Releases Alpha Release(s) Beta Release(s) Production Release(s)

Tools Not applicable

DE

AD

RD

IM

DE

BM

TE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 24

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Deployment Workflow DE

Copyright 2001 - Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 25

Excellence in Software Engineering

Repeatable Level

Defined Level

Managed Level

Initial Level

Optimized Level

Workflow Review