Software Development Processes Flashcards
List the 5 activities of the SW development process
- Requirements
- Design
- Implementation
- Verification
- Maintenance
Define refactoring in SWE
Refactoring refers to changing internal structure or code without changing its external behaviour/functionality
List the 5 steps of the waterfall model
Step 1. Requirements
Step 2. Design
Step 3. Implementation
Step 4. Verification
Step 5. Maintenance
Explain why the waterfall model is considered outdated and rarely used
The waterfall model assumes the requirements will remain the same throughout the entire software development process - requirements changes far down the waterfall can be extremely costly
Explain some advantages of creating prototypes in software engineering
- Users become actively involved in development
- Feedback is received much more frequently
- Missing/broken functionality can be detected earlier
When should prototyping be used in software engineering?
The prototype model should be used when the desired system has lots of interaction with end users. This is very common in web interfaces
Describe incremental development
In an incrementally developed system, features are fully developed before being added to the system. Each increment builds on top of existing released functionality.
Describe iterative development
Iterative development starts with a high-breadth prototype with full functionality. The following iterations gradually add functionality to features usually based on user feedback
Describe reuse-oriented SWE
Reuse-oriented SWE is a general process model that analyzes and incorporates existing software to develop a system. The steps of R-O SWE are
1. Component analysis - search for components
2. Requirements modification - requirements are modified to reflect available components
3. System design w/ reuse - The framework of the system is designed/reused if possible
4. Development and integration - whatever can’t be found is developed and the components are integrated to create the new system
Describe the V-Model
The V model is an alternative to the waterfall model. It follows the same general steps, except after each stage, extensive testing occurs to verify and validate the product at its current stage of development.
Name some disadvantages of the V-model
- Not flexible
- No prototypes are developed
- If specifications change mid way, test documents and requirements documents have to be updated
When should the V-model be used?
Small to medium sized projects where the requirements are clearly defined and ample technical resources are available.
The spiral model combines key aspects of what two methodologies?
The waterfall model and rapid prototyping methodologies
List the 4 repeating steps of the spiral model
- Determine objectives
- Identify/resolve risks
- Development and testing
- Plan next iteration
Name the two axes of the spiral model’s graph
- The radial dimension - represents the cumulative cost incurred to date
- The angular dimension - represents the progress completed