/
Understanding Software Processes
Save to my account
Sign up
Understanding Software Processes
Understanding Software Processes
Study
1
Question
What is a software process?
Answer
A structured set of activities required to develop a software system.
2
Question
Name four key activities common to all software processes.
Answer
Specification, development, validation, and evolution.
3
Question
What is a software process model?
Answer
An abstract representation of a process, describing it from a particular perspective.
4
Question
What is the primary difference between plan-driven and agile processes?
Answer
Plan-driven processes are planned in advance, while agile processes are incremental and adaptable to changing requirements.
5
Question
Name three software process models.
Answer
Waterfall model, Evolutionary development, and Reuse-oriented development.
6
Question
What are the phases of the waterfall model?
Answer
Requirements analysis and definition, System and software design, Implementation and unit testing, Integration and system testing, Operation and maintenance.
7
Question
What is a key problem with the waterfall model?
Answer
Inflexible partitioning makes it difficult to respond to changing customer requirements.
8
Question
When is the waterfall model most appropriate?
Answer
When requirements are well-understood and changes will be limited, or for large systems engineering projects.
9
Question
What is the core idea behind evolutionary/incremental development?
Answer
Developing an initial implementation, gathering feedback, and evolving the software through versions.
10
Question
What activities are interleaved in evolutionary development?
Answer
Specification, development, and validation.
11
Question
What is a characteristic of activities in Chapter 2's software processes?
Answer
Activities are interleaved rather than separate, with rapid feedback across activities.
12
Question
Define Evolutionary/Incremental development.
Answer
Process model that starts with well-understood requirements and adds new features as proposed by the customer.
13
Question
What is the objective of Evolutionary development?
Answer
To work with customers and to evolve a final system from an initial outline specification.
14
Question
List benefits of Evolutionary development over the Waterfall model.
Answer
Reduced cost of accommodating changing requirements, easier customer feedback, more rapid delivery of useful software.
15
Question
What are management perspective problems with Evolutionary development?
Answer
The process is not visible, and system structure tends to degrade as new increments are added.
16
Question
List the applicability of Evolutionary development.
Answer
Small or medium-size interactive systems, parts of large systems (e.g. user interface), short-lifetime systems.
17
Question
Describe Reuse-oriented development.
Answer
Systems are integrated from existing components or application systems (COTS). Reused elements may be configured to adapt to user requirements.
18
Question
What are the key process stages in Reuse-oriented development?
Answer
Requirements specification, software discovery and evaluation, requirements refinement, component adaptation and integration.
19
Question
What are the advantages of Reuse-oriented development?
Answer
Reduced costs and risks, faster delivery.
20
Question
What are the disadvantages of Reuse-oriented development?
Answer
Requirements compromises, loss of control over evolution of reused system elements.
21
Question
Suggest an appropriate process model for a Car anti-lock braking system (ABS).
Answer
Waterfall
22
Question
Suggest an appropriate process model for a Virtual reality system.
Answer
Evolutionary
23
Question
Suggest an appropriate process model for a University management system (HR, CMS, accounting, etc.).
Answer
Reuse-oriented
24
Question
Suggest an appropriate process model for an Interactive travel planning system.
Answer
Evolutionary
25
Question
What is a prototype in software development?
Answer
An initial version of a system used to demonstrate concepts and try out design options.
26
Question
In what stages of software development can a prototype be used?
Answer
Requirements engineering, design processes, and testing processes.
27
Question
What is a key characteristic of prototype development?
Answer
May involve leaving out functionality, focusing on functional rather than non-functional requirements.
28
Question
What is the purpose of throw-away prototypes?
Answer
To be discarded after development as they are not a good basis for a production system.
29
Question
What are the risks of using a prototype as the basis for the production system?
Answer
It may be impossible to tune the system to meet non-functional requirements, prototypes are normally undocumented, the prototype structure is usually degraded through rapid change, and the prototype probably will not meet normal organizational quality standards.
30
Question
Define prototyping in the context of software development.
Answer
Version of the system or part of the system is developed quickly to check customer's requirements and feasibility of design decisions.