Chapter 2 Flashcards

1
Q

What is a model?

A

A model is a simplified description of an entity or process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How are models used?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Give an example of a model being used as well as the information that might or might not be relevant.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a process?

A

A process is a set of ordered activities, containing inputs, outputs, constraints, and resources, enacted for the purpose of achieving a specified goal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are examples of inputs that a process may contain?

A

requirements from the customer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are examples of outputs that a process may contain?

A
  1. the software requirements specification
  2. the software itself
  3. user manuals
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are examples of constraints that a process may contain?

A

the particular architecture on which the software must run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are examples of resources that a process may contain?

A

the staff

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Is requirements engineering a process?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the goal of the requirements engineering process?

A

to produce a quality software requirements specification artifact that correctly captures the user requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What activities do most process models for requirements engineering have?

A
  1. elicitation
  2. analysis and modelling
  3. specification
  4. validation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define elicitation as an activity of the requirements engineering process

A

determining the requirements of the system, typically via research and communicating with the clients;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define analysis and modelling as an activity of the requirements engineering process

A

break the problem up into smaller problems that are easier to understand and solve, and model the problem using this break-down;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Define specification as an activity of the requirements engineering process

A

record or document the requirements; and

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define validation as an activity of the requirements engineering process

A

determine whether the specified requirements are correct, complete, and consistent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an issue with the model of the ideal process? (diagram 1)

A

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.

17
Q

Is the actual process like the ideal model?

A

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.

18
Q

How are goals and the processes that achieve them structured in a software project?

A

In a software project, both the goals and the processes that achieve them are hierarchical. Some goals are general, while others are specific.

19
Q

Define software life cycle model

A

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.

20
Q

What is the goal of a software life cycle model?

A

to construct and deliver a quality software product.

21
Q

What helps us decide which software models are good for certain projects?

A

experience and empirical evidence

22
Q

Explain how the waterfall model works

A

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.

23
Q

What are the stages of the waterfall method?

A
  1. Requirements
  2. Design
  3. Implementation
  4. Testing
  5. Maintenance
24
Q

How do you progress from one stage to another in the waterfall method?

A
  1. Requirements
  2. Design
  3. Implementation
    <code></code>
  4. Testing
  5. Maintenance</code>
25
Q

What are the downfalls of the waterfall method?

A

The system testers do not commence testing until after the implementation is complete. However, this is too restrictive: system testers can start designing test cases and test scenarios when the requirements are being finalised.

26
Q

What are the benefits of testing early in project development?

A
  • allows testing to be commenced in parallel, saving time. - allows test engineers to often detect incorrect, incomplete, and inconsistent requirements early in the development process.

There is a rule of thumb that says: “If you cannot write a test for a requirement, then that requirement cannot be implemented”. Therefore, it is advantageous to start test case design during requirements engineering.

27
Q

How does the v-model attempt to overcome the pitfalls if the waterfall method?

A

By performing the various levels of testing in parallel with the artifacts against which the testing occurs.

28
Q

What are the benefits of testing as you go with the v-model?

A

test engineers can find defects in the requirements before the design is performed, and before the team begin implementation.
If a defect is only found during implementation, the design must be re-considered, which is more costly than correcting only the requirement itself.

29
Q

Define project management

A

The application of skill or care in the manipulation, use, treatment, or control of a collaborative enterprise that is carefully planned to achieve a particular aim.
Project management is about being careful in the way that we run our projects, so that they achieve their aims.

30
Q

How are projects managed in software engineering?

A

by monitoring and controlling.

31
Q

what do we monitor in a project and why?

A

We monitor the people and resources in the project so we know what is happening and when, so that we can make timely and informed decisions about the project.

32
Q

How do we control the project?

A

By implementing the timely and informed decisions we make

33
Q

How does the feedback loop between monitoring and controlling the project work?

A

We must be constantly monitoring the project to learn what is happening, making decisions based on that monitoring, controlling the project by implementing those decisions, and the monitoring the project to see how the implementation is going.
monitor = decide; control
control = implement decisions; monitor

34
Q

Why is monitoring and controlling a project difficult?

A

Human beings - get sick, slack off, quit, make mistakes. So a PMP may not always go as planned.