james nowotarski 20 april 2004 is 553 advanced systems development practices
Post on 21-Dec-2015
217 views
TRANSCRIPT
James Nowotarski
20 April 2004
IS 553Advanced 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.)
3
Understand more details of Rational Unified Process (RUP): Phases Milestones Artifacts
Today’s Objectives
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
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
6
Quiz 1 – Question 1
7
RUP Guiding Principles
IterativeDevelopment
QualityCustomerValue
Attack riskAccommodatechange
Work togetherExecutablesoftware
Architecturebaseline
Component-baseddevelopment
Objectives
Strategies
Tactics
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.
9
Product is the result of development cycles
Version 1
Development CycleVersion 2
Development CycleVersion 3
Development Cycle
Product delivered to users
10
Development cycle consists of phases
Development Cycle
Inception Elaboration Construction Transition
11
Phase consists of IterationsDevelopment Cycle
Elaboration
Iterationn Iterationn+1
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
13
Anatomy of TerminologyProduct
Development Cycle
Phase
Iteration
Activity
is the result of
consists of
consists of
consists of
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
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
16
Waterfall model
Systemrequirements
Softwarerequirements
Analysis
Program design
Coding
Testing
Operations
Source: Royce, W. "Managing the Development of Large Software Systems."
17
Is RUP = Waterfall in disguise?
Systemrequirements
Softwarerequirements
Analysis
Program design
Coding
Testing
Operations
Inception
Elaboration
Construction
Transition
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
19
Inside each phase, you plan iterations across disciplines
20
Phase boundaries in RUP are milestones
Inception Elaboration Construction Transition
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
22
Phase boundaries in waterfall are activities
Systemrequirements
Softwarerequirements
Analysis
Program design
Coding
Testing
Operations
RUP Phase
Milestone
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
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
25
RUP Artifacts by Phase and Discipline
Discipline Inception Elaboration Construction TransitionBusiness Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
26
RUP Artifacts by Phase and Discipline
Discipline Inception Elaboration Construction Transition
Configuration and Change Management
Project Management
Environment
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.
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
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
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
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
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
33
Phase Duration/Budget
Phase Schedule Effort
Inception
Elaboration
Construction
Transition
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?
35
Planning considerations
No fixed workflows Low vs. High ceremony No frozen artifacts
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
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
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
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
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
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
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..
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
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
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
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
47
Agile MethodsBeck readingsQuiz 2 (take home, individual)
Topics for April 27