Week 4 Flashcards

1
Q

Requirements Engineering Processes?

A
  1. Validity
  2. Verifiability
  3. Consistency
  4. Completeness
  5. Realism
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Requirements validation?

A

• Concerned with demonstrating that the requirements define the system that the customer really wants.

• Requirements error costs are high so validation is very important
– Fixing a requirements error after delivery may cost up to 100 times
the cost of fixing an implementation error.

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

Requirements verification?

A

Can the requirements be checked?
All functional and non-functional requirements should be verifiable (measurable) !!!

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

Requirements consistency?

A

No requirement conflicts.

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

Requirements completeness?

A

Requirements completeness:
– Are all functions required by the customer included?

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

Requirements realism?

A

Can the requirements be implemented given available budget
and technology?

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

Requirements management?

A

• Requirements management is the process of managing changing requirements during the requirements engineering process and system development.

• New requirements emerge as a system is being developed and after it has gone into use.

• You need to keep track of individual requirements and maintain links between dependent requirements so that you can assess the impact
of requirements changes. You need to establish a formal process for making change proposals and linking these to system requirements.

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

Traceability in requirements?

A

Maintaining the details of the relationships between requirements, their sources, system design, implementation and testing

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

Requirements management decisions?

A

Requirements identification: each requirement must be uniquely identified so that it can be cross-referenced with other requirements.

Change management process: this is the set of activities that assess the impact and cost of changes.

Traceability policies: These policies define the relationships between each requirement and between the requirements and the system design that should be recorded.

Tool support: Tools used can range from specialist requirements management systems to spreadsheets and simple database systems.

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

Requirements change management process?

A

Identified problem -> problem analysis and change specification -> change analysis and costing -> change implementation -> revised requirements.

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

Reducing the cost of rework?

A

Change anticipation: where the software process includes activities that can anticipate possible changes before significant rework is required.

Change tolerance: where the process is designed so that changes can be accommodated at relatively low cost.
- normally involves some form of incremental development: proposed changes may be implemented in increments that have not yet been developed.

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

Software prototyping?

A

This is where a version of the system or part of the system is developed quickly to check the customer’s requirements and the feasibility of design decisions. This approach supports change anticipation.

A prototype can be used in the requirements engineering process to help with requirements elicitation and validation.

Benefits:
Improved usability,
Improved design quality,
Improved maintainability,
Reduced development offer.

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

Prototype development?

A

May be based on rapid prototyping languages or tools.

May involve leaving out functionality.
- should focus on areas of the product that are not well-understood.
- error checking and recovery may not be included in the prototype.
- focus on functional rather than non-functional requirements.

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

Incremental delivery?

A

Where system increments are delivered to the customer for comment and experimentations.
Supports both change avoidance and change tolderance.

User requirements are priorities and the highest priority requirements are included in early increments.

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

System modeling?

A

The process of developing abstract models of a system, with each model presenting a different view or perspective of that system.

System modelling has now come to mean representing a system using some kind of graphical notation, which is now almost always based on notations in the Unified Modeling Language (UML).

It’s used:
- during requirements engineering to understand the functionality of the system and to communicate with customers.
- during design to describe the system to engineers implementing the system.

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

UML diagram types?

A

Activity diagrams: which show the activities involved in a process or in data processing.

Use case diagrams: which show the interactions between a system and its environment.

Sequence diagrams: which show interactions between actors and the system and between system components.

Class diagrams: which show the object classes in the system and the associations between these classes.

State diagrams: which show how the system reacts to internal and external events.

17
Q

Context models?

A

Context models are used to illustrate the operational context of a system - they show what lies outside the system boundaries. Show the other systems involved in the environment - not how the system being developed is used in that environment.

Social and organisational concerns may affect the decision on where to position system boundaries.

Architectural models show the system and its relationship with other systems.

18
Q

Process models?

A

Process models reveal how the system being developed is used in broader business processes.
UML activity diagrams may be used to define business process models.

19
Q

Interaction models?

A

Modeling user interaction is important as it helps to identify user requirements.

Modeling system-to-system interaction highlights the communication problems that may arise.

Modeling component interaction helps us understand if a proposed system structure is likely to deliver the required system performance and dependability.

Use case diagrams and sequence diagrams may be used for interaction modeling.

20
Q

Use case modeling?

A

Use cases were developed originally to support requirements elicitation and now incorporated into the UML.

Each use case represents a discrete task that involves external interaction with a system.

Actors in a use case may be people or other systems.

Represented diagrammatically to provide an overview of the use case and in a more detailed textual form.

21
Q

Structural models?

A

Structural models of software display the organisation of a system in terms of the components that make up that system and their relationships.

Structural models may be static models, which show the structure of the system design, or dynamic models, which show the organisation of the system when it is executing.

You create structural models of a system when you are discussing and designing the system architecture.

These are usually represented by class diagrams, generalisation and aggregation models.

22
Q

Generalisation?

A

Generalisation is an everyday technique that we use to manage complexity.

Rather than learn the detailed characteristics or every entity that we experience, we place these entities in more general classes and learn the characteristics of these classes.

In generalisation, attributes and operations associated with higher-level classes are also associated with the lower-level classes.

The lower-level classes are subclasses inherit the attributes and operations from their superclasses. These lower-level classes then add more specific attributes and operations.

23
Q

Aggregation models?

A

Objects in the real world are often composed of different parts.

In UML, this association is called aggregation.

One object (the whole) is composed of other objects (the parts).

Aggregation models are similar to the part-of relationship in semantic data models.

24
Q

Behavioural models?

A

Behavioural models are models of the dynamic behaviour of a system as it is executing. They show what happens or what is supposed to happen when a system responds to stimulus from its environment.

Stimuli can be of two types:
- data
- events

This is represented using activity models, sequence diagrams and state diagrams.