05 Lecture: Software Lifecycle Model Flashcards
Who invented the Waterfall Model
Royce
List the sequentiall life cycle Models?
- Waterfall Model
- V Model
What is the key feature of the Waterfall Model?
The key feature of the model is the verification activity (called “verification step” by Royce) at the end of each activity that ensures that the activity does not introduce unwanted or deletes mandatory requirements
What does the higher level of the V-Model focus on?
Higher levels of abstractions of the V-model deal with the requirements in terms of elicitation and
operation
What does the lower level of the V-Model focus on?
The lower level of the V-model focuses on details such as the assembly and coding of software
components
What does the middle level of the V-Model focus on?
The middle-part of the V-model focuses on mapping the understanding of the problem into a software architecture
What is Validation?
Assurance that a product, service, or system meets the needs of the customer and other identified stakeholders
What is Verification?
Evaluation whether or not a product, service, or system complies with a regulation,
requirement, specification, or imposed condition
Name the Iterative software lifecycle models
- Spiral model
- V-Model XT
- Unified Process
Name the Agile software lifecycle models
- Extreme Programming (XP)
- Kanban (covered in another class)
- Scrum (already covered)
Define Incremental development
A strategy where the various parts of the system
are developed at different times or rates and integrated as they are completed
Define Iterative development
A strategy in which time is set aside to revise and
improve parts of the system
Where does Product iteration result from?
Product iteration can result from incremental addition of functionality that had not been anticipated in a previous iteration
Product iteration can also result from restructuring
Who invented the Spiral Model
Boehm
Describe the Spiral Model
- 9 iterations
- 4 basic activities
What are the 4 basic activities of the Spiral Model?
1) Determine objectives, alternatives and constraints
2) Identify and evaluate alternatives
3) Identify and resolved risks
4) Develop a prototype and obtain approval for the next iteration
Name the 3 Tyoes of Prototypes
1) Illustrative Prototype
2) Functional Prototype
3) Exploratory Prototype (“Hack”)
What is the difference between prototyping and rapid development?
- Prototyping is a technical issue: It is a particular model in the life cycle process
- Rapid development is a management issue: It is a particular way to control a project
Limitations of Linear and Iterative Models?
- Linear and iterative models do not deal well with frequent change
Who developed the Unified Process
Booch, Jacobson, and Rumbaugh
Describe Unified Process
- An iterative and incremental lifecycle model built on the idea of cycles in the lifetime of a software system
- Each cycle consists of 4 phases
- Each phase can be iterated. During the duration of an iteration, several workflows are performed in parallel
What are the 4 phases of a cycle in the Unified Process
Inception
Elaboration
Construction
Transition
What means V-Model XT Tailoring?
Tailoring means selecting the process components to be used in the project
When does static tailoring occur?
occurs at project definition time (before the project actually starts)
When does dynamic tailoring occur?
may occur during project execution
Describe the Execution of a V-Model XT project?
1) Determine project type and project characteristics
2) Choose a corresponding project execution strategy
3) Tailor the V-Model XT to your project
4) Repeat (i.e. iterate)
Which model should you use when change occurs rarely?
Sequential model: Waterfall Model, V-Model
Which model should you use when change occurs sometimes?
Iterative model: Spiral Model, Unified Process, V-Model XT
Which model should you use when change occurs frequently?
Agile model: Scrum, Kanban, Extreme Programming (XP)
Who developed Extreme Programming?
Kent Beck, Ron Jeffries, Ward Cunningham
Main gaols of XP
- Avoid over-planning
- Improve software quality
- Improve responsiveness to changing customer requirements
What are the 4 roles of XP
- developer
- customer
- manager
- coach
5 fundamental principles of Xp
- rapid feedback
- assume simplicity
- incremental change
- embracing change
- quality work
How is the result of an iteration in XP called?
deliverable
What is Test Driven Development
- Do not code before you gave tests
What are the elements of TDD circle of life?
1) Testfails
2) Tespasses
3) Refactor
What is Refactoring?
A change that leaves system behavior unchanged, but enhances simplicity, flexibility, understandability, and/or performance
What is Pair Programming?
All production code is written with two people
looking at one machine
Which rules are their in Pair Programming?
- Driver
- Navigator (Observer)
Situations where agile methods might not be appropriate
- When it is not supported by the company culture
- Project too big for regular complete integration
- Where it inherently takes a long time to get feedback
- Where you can’t realistically test