Chapter 2 Flashcards
(34 cards)
What is a model?
A model is a simplified description of an entity or process
How are models used?
models are used to help understand a complex system, and by including only the most relevant details and ignoring the less relevant details, engineers can solve the problem at hand.
Give an example of a model being used as well as the information that might or might not be relevant.
When modelling an air traffic control system, the size of the wheels and the type of rubber used in the tires of the planes is not relevant, so this information is omitted, even though it is contained in the real system. However, the number of passengers that a plane can carry may be relevant, as it has an impact on the turnaround time of the aircraft.
What is a process?
A process is a set of ordered activities, containing inputs, outputs, constraints, and resources, enacted for the purpose of achieving a specified goal.
What are examples of inputs that a process may contain?
requirements from the customer
What are examples of outputs that a process may contain?
- the software requirements specification
- the software itself
- user manuals
What are examples of constraints that a process may contain?
the particular architecture on which the software must run
What are examples of resources that a process may contain?
the staff
Is requirements engineering a process?
Yes
What is the goal of the requirements engineering process?
to produce a quality software requirements specification artifact that correctly captures the user requirements.
What activities do most process models for requirements engineering have?
- elicitation
- analysis and modelling
- specification
- validation
Define elicitation as an activity of the requirements engineering process
determining the requirements of the system, typically via research and communicating with the clients;
Define analysis and modelling as an activity of the requirements engineering process
break the problem up into smaller problems that are easier to understand and solve, and model the problem using this break-down;
Define specification as an activity of the requirements engineering process
record or document the requirements; and
Define validation as an activity of the requirements engineering process
determine whether the specified requirements are correct, complete, and consistent.
What is an issue with the model of the ideal process? (diagram 1)
It abstracts away from the details that are not important for understanding how to approach requirements engineering.
It is almost worthless, because it offers us little insight as to how to achieve our goal.
Is the actual process like the ideal model?
No. At any point in the process, we often return to any other point.
For example:
1. It is not uncommon when specifying the requirements to also be doing analysis, or
2. When validating the requirements, to discover a problem requirement that needs to be re-specified.
How are goals and the processes that achieve them structured in a software project?
In a software project, both the goals and the processes that achieve them are hierarchical. Some goals are general, while others are specific.
Define software life cycle model
A software life cycle model describes the life cycle of a software project, from conception through to maintenance. It provides a structured blueprint for how a software project should progress.
What is the goal of a software life cycle model?
to construct and deliver a quality software product.
What helps us decide which software models are good for certain projects?
experience and empirical evidence
Explain how the waterfall model works
It encourages engineers to build the system top-down, progressing onto the new phase of development only after the previous phase is complete. That is, only once the requirements have been complete elicited, specified, and validated, does one progress with design. It gets its name from the fact that the phases cascade like a waterfall.
What are the stages of the waterfall method?
- Requirements
- Design
- Implementation
- Testing
- Maintenance
How do you progress from one stage to another in the waterfall method?
- Requirements
- Design
- Implementation
<code></code> - Testing
- Maintenance</code>