The software development process
What is a process?
Why use a formal software development process
Benefits of a process
The six best practices of modern software engineering
Develop iteratively
Manage requirements
Use component-based architecture
Model visually
Continuously verify quality
Control changes
Dynamic structure of the Unified Process
Four phases
Many iterations
Lab 1: Develop high level plan for the example application
Static structure of the Unified Process
Nine disciplines
Activities
Roles
Use case driven
Basics of requirements management with use cases
Understand what it means to be use case driven
Lab 2: Plan detailed iterations for the example
Architecture centric
Basics of software architecture
4+1 views of architecture
Understand what it means to be architecture-centric
Discipline details
Project management
Requirements
Analysis and design
Implementation
Deployment
Test
Configuration and change management
Environment
Business modeling
Iteration workflows by phase
Inception iteration
Early elaboration iteration
Late construction iteration
Discipline emphasis shifts over time
Artifacts evolve over time
Lab 3: Manage change and plan remaining iterations of the example
Configuring and implementing the Unified Process
Strategies & tactics for configuring and implementing a process
A development case
6 Steps to adopting a process
2 Levels of process configuration
Common changes made to the Unified Process