Unit 3 Flashcards

1
Q

What is the difference between verification and validation?

A

Verification is the set of activities that ensure a solution is being correctly developed, i.e. that it is taking into account the business rules.

Validation ensures that what is being built satisfies the business, i.e. that the business rules implemented are the ones that the business wants.

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

What are the 3 important properties that a representation of business rules should have?

A
  1. Business rules that apply to the whole business should be represented separately from project specific models
  2. Business rules should be easy to verify (possibly automatically) and validate
  3. Business rules should be represented in a readable language that is easy to verify
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are business rules?

A

Business rules constrain how a business is run and typically include policies, physical lawas, government laws, etc.

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

What are business processes?

A

Business processes define what is done in a business, by whom, in what order, needing what resources, and with what consequences. They can be modelled using UML activity diagrams.

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

What causes a transition in an activity diagram?

A

A transition in an activity diagram is caused by the completion of an activity.

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

What is a synchronisation bar, and when is one used in an activity diagram?

A

A synchronisation bar is used to mark the point when two or more activities can take place concurrently (a fork) or when a number of concurrent tasks must finish before continuing to the next activity (a join).

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

How does the partitioning of activities into swimlanes help us understand a set of activities?

A

Swimlanes group activities associated with different roles. The swimlanes show the role that is responsible for each activity.

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

What is the purpose of modelling a workflow in an activity diagram?

A

Activity diagrams represent the sequence of activities. When you are modelling a workflow that involves more than one role, it is possible to identify which role is responsible for a particular activity. An activity diagram can help identify the stages at which each role requires some interaction with the process.

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

What is a use case diagram?

A

A use case diagram in UML is one way to record and communicate your understanding of the use case view of a system.

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

What is the purpose of a system boundary?

A

The purpose of a system boundary is an optional element used to identify a single system, distinguishing between the internal and external components. Typically, the external components are the actors and the internal components are the use cases.

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

What do actors represent in a use case diagram?

A

An actor in a use case diagram represents a particular role that an individual might play when interacting with a software system. Actors can also represent other systems, rather than people/roles.

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

What is a precondition?

A

A precondition is a condition that must hold before an action can be performed.

i.e. What is needed for this operation to be allowed to start?

(b2, p85)

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

What is a postcondition?

A

A postcondition is a condition that must hold after an action has been performed.

i.e. What will have happened as a result of this operation?

(b2, p85)

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

What is a scenario?

A

A scenario illustrates one particular way the use case can unfold, by the sequence of interactions the actors have with the system. A scenario is an instance of a use case, similar to an object being an instance of a class.

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

I GASP

What 5 pieces of information should be included in a use case description?

A
  1. A unique identifier for the use case, to allow traceability throughout development
  2. The name of the actor that initiates the use case
  3. A short description of the goal of the use case
  4. A single sequence of steps that describe the main success scenario
  5. A textual description of the pre- and postconditions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the main success scenario?

A

The main success scenario shows the steps normally followed to achieve the stated goal of the use case, however there can be other scenarios for the same use case, each one having different outcomes depending upon circumstances.

17
Q

What is acceptance testing?

A

Acceptance testing consists of a series of tests carried out by the customer in conjunction with the developer. These act as a final check that the system does what the customer expects it to.

18
Q

What are the 4 benefits of use cases to the developer?

A

Use cases help the developer to:

  1. Understand the complexity of each use case
  2. Determine which actors interact with each use case and to what extent
  3. Establish which use cases carry the most risk
  4. Estimate how long each use case is likely to take to implement
19
Q

How can use cases be used in an agile approach?

A
  1. Write use cases as needed instead of writing all use cases upfront
  2. Write just enough content rather than complete descriptions
  3. Write use cases that are useful for communication, rather than heavy ones that are difficult to understand and change
20
Q

What is the purpose of identifying relationships between actors?

A

The purpose of identifying relationships between actors is to indicate generalisations and establish which use cases can be performed by which actors.

21
Q

What are the two forms of relationship between use cases?

A
  1. Inclusion
    • When two or more use cases have an overlapping area of functionality (i.e. a common task) that can be factored out as a distinct use case.
    • The new use case can then be used by each of the original use cases, so avoiding duplication.
    • Inclusion of use cases is always unconditional.
  2. Extension
    • When a use case has a main success scenario but also alternative scenarios that demand a variation on the original use case - different or additional actions.
    • Each variation can be separated out as a use case that is distrinct from but related to the original use case.
    • An extension is always dependant on the satisfaction of some condition.
22
Q

What are the 2 different ways to reduce the complexity of a use case diagram?

A
  1. Redraw the diagram at a higher level of abstraction
  2. Split the diagram up into smaller modules
23
Q

What is a UML stereotype?

A

A stereotype is a way of attaching extra classifications to a model adding to its basic language.

24
Q

What is the meaning of the << include >> stereotype?

A

The << include >> stereotype indicates a situation where a use case is reused.

The purpose is to demonstrate commonality between tasks so that reuse can be achieved.

The additional use case is included unconditionally in the original (base) use case.

25
Q

What is the meaning of the << extend >> stereotype?

A

The << extend >> stereotype indicates a conditional extension to the original use case, known as alternative behaviour. This is used to illustrate a case where there are two or more significantly different scenarios, so that the main case and the additional subsidiary cases are clearly differentiated.

The main purpose of this classification is to separate out a special case.

You should add a condition to each extension (with either a node or an extension point) to specify when the variant behaviour will be included.

26
Q

What problems may arise when developing a software system from a set of use cases?

A
  1. Focus may end up being top-down and function-oriented, resulting in an inflexible and difficult-to-maintain system.
  2. Focusing on use cases may cause the developer to sacrifice the object-oriented nature of the system, losing any advantage that UML offers.
  3. Design could be mistaken for requirements, where a design decision is mistaken for a constraint.
  4. Focusing on the requirements in a use case may cause the developer to view the system too operationally, where a sequence of events is assumed to be the only answer. Developers need to distinguish between requirements and preferred designs.
  5. Use cases need to be used in a way that is understandable to the customer but also useful to the developer.
27
Q

What are the 5 tasks involved in preparing a use case model intended for the development team?

A
  1. Define the context for the model by identifying the actors involved in the aspect of the system in question
  2. Analyse the behaviour that each actor expects from the proposed system, and identify the use cases (as units of functionality within the overall requirements)
  3. Identify the common behaviour that may be reused by other actors, and the variations on common behaviour (the << include >> and << extend >> stereotypes)
  4. Draw a model that shows the use cases, the actors and the relationships between them
  5. Annotate the use cases as you learn more about the requirements
28
Q

What 3 forms can a prototype take?

A
  1. A mock-up of the human-computer interface for a specific group of users
  2. A working version of a subset of the functions required from the eventual product
  3. An existing piece of software that has some relevance to the users’ needs and may be considered for further improvement for use in the eventual product
29
Q

What is the main purpose of a prototype?

A

The main purpose of a prototype is to help with the design of the user interface for the proposed software system and to get users directly involved with the development of the software to minimise or avoid any misunderstandings.

30
Q

What is the main benefits of identifying user interfaces in activity diagrams?

A

The main benefit of recording user interfaces in an activity diagram is traceability. Also, the developers can identify the relative importance of each user interface for the project plan, particularly when resources are needed for a prototype.