View
214
Download
0
Tags:
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