Definition SW Lifecycle
Where do we need Models?
Models support three different types of activities:
How much Modeling? Advantage Problem
Models that support Communication
Models that support Analysis and Design
Managerial Challenges of Modeling
Typical Software Life Cycle Questions
Tailoring
Modeling a Software Lifecycle
We can use the same modeling techniques we use for software development:
Functional Model of a simple Life Cycle

Activity Diagram for the Life Cycle
Software development goes through a linear progression of states called problem definition activity, software development activity and system operation activity.
Two Major Views of the Software Life Cycle
Process Groups, Processes, Activities and Tasks

Process Groups exapmle

Waterfall Model (Royce 1970)
Waterfall model example
• Required by the U.S. Department of Defense for all software contractors in the 1980-90’s
• Software development activities:
• System Requirements Analysis/Design
• Software Requirements Analysis
• Preliminary Design and Detailed Design • Coding and CSU testing
• CSC Integration and Testing
• CSCI Testing
• System integration and Testing.
V-Model
Properties of Waterfall-based Models
Definition: Iterative vs. Incremental
Increments can cause iterations
Which of the following statements are correct?
Select one or more:
a. The project manager must be involved in problem definition
b. The project manager must be involved system development activities
c. A functional model of a software life cycle includes class and sequence diagram
d. Testing and implementation can be done in parallel
b,d
What are software projects activities?
Select one or more:
a. Requirement analysis
b. Testing
c. Merging source control’s branches
d. Program implementation
e. Delivery
f. Model design maintenance
a,b,d,e
The functional model of software lifecycle contains
Select one or more:
a. scenarios
b. user stories
c. class diagrams
d. use case models
e. state charts
f. sequence diagrams
a,b,d
Tailoring includes
Select one or more:
a. defining the order the activities take place in
b. reviewing the contract of the project
c. forming teams of programmers with different backgrounds
d. adjusting a lifecycle model to fit a project
e. removing activities not needed in the project
a,d,e