Quick Exercise 4: Software Process Models amd Activities
What are the fundamental activities that are common to all software processes?
What are the fundamental activities that are common to all software processes?
- Software specification
- Software design and implementation
- Software validation
- Software evolution
List 3 generic process models that are used in software engineering?
List 3 generic process models that are used in software engineering?
- The waterfall model
- Incremental Development
- Integration and Configuration
Why are iterations usually limited when the waterfall model is used?
Why are iterations usually limited when the waterfall model is used?
The waterfall model is a document-driven model with documents produced at the end of each phase. Because of the cost of producing and approving documents, iterations and costly and involve significant rework. Hence they are limited
What are the three benefits of incremental development, compared to the waterfall model?
What are the three benefits of incremental development, compared to the waterfall model?
- The cost of accommodating changes to customer requirements is reduced.
- It is easier to get customer feedback on development work that has been done.
- More rapid delivery and deployment of useful software to the customer is possible.
What are the development stages in integration and configuration?
What are the development stages in integration and configuration?
- Discover and analyse reusable software systems or components
- Requirements modification
- System design with reuse
- Development and integration
What are the principal requirements engineering activities?
What are the principal requirements engineering activities?
- Requirements elicitation and analysis
- Requirements specification
- Requirements validation
Why is it increasingly irrelevant to distinguish between software development and evolution?
Why is it increasingly irrelevant to distinguish between software development and evolution?
- Few software systems are now completely new and a more realistic model of software development is of an iterative process that lasts for the lifetime of the software.
What are the advantages of using incremental development and delivery?
What are the advantages of using incremental development and delivery?
- Early delivery of critical functionality to the customer
- Early increments serve as prototypes to explore requirements
- Lower risk of overall project failure
- More extensive testing of critical customer functionality
What are the two different approaches to process improvement and change that have been proposed?
What are the two different approaches to process improvement and change that have been proposed?
- The process maturity approach, which has focused on improving process and project management and introducing good software engineering practice.
- The agile approach, which has focused on iterative development and reducing software process overheads