Software Engineering Exam Preparation Flashcards

(44 cards)

1
Q
  1. (a) Within the context of Object Oriented analysis, outline what is meant by the
    term Requirements Model. In your answer provide an example diagram
    showing three model elements that would be present in such a model.
    [6 Marks]

3

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

(b) Describe three roles that Use Cases play as part of a Software Engineering
process.
[9 Marks]

3

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

(c) Using an example of your choice, provide a documented Use Case using the
following headings:

(i) Actor(s) [1 Mark]
(ii) Purpose / Intent [2 Marks]
(iii) High level description [2 Marks]
(iv) Pre-conditions [2 Marks]
(v) Extended step by step description of main flow [6 Marks]
(vi) Alternative flows (or scenarios) [3 Marks]
(vii) Post-conditions [2 Marks]
[18 Marks]

4

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

Q.1 (a) (i) In the context of software requirements modelling, explain what is meant
by the following terms:

 Use Case
 Actor
 Communicates relationship

1

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

 Use Case
 Actor
 Communicates relationship
(6 marks)
(ii) Using an example of your choice, draw a use case diagram that identifies
and illustrates the use of the three terms listed in part (i) of this question.
(6 marks)

1

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

(iii) Explain what is meant by the terms includes and extends and, using a
diagram, illustrate their use.
(8 marks)

2

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

(b) When documenting a use case, a set of headings is used under which certain
information is provided. Two of those headings are Main Flow and Alternative
Flows. Discuss the kind of information that is provided under these headings giving
an example of their use. In your answer provide an example Actor and the
Purpose/Intent of the use case.
(13 marks)

2

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

Q.1 Within the context of requirements modelling, explain what is meant by the
following terms. Illustrate your answers using a use case diagram.

(i) Actor
(5 marks)
(ii) Specialisation / Generalisation
(4 marks)
(iii) Use Case
(6 marks)
(iv) Communicates relationship
(4 marks)
(v) Extends
(5 marks)
(vi) Includes
(5 marks)
(vii) System Boundary
(4 marks)

4

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

Q.1 (a) In the context of Object Oriented (OO) analysis, outline what a Use Case is. In your
answer, identify three roles that use cases play in the implementation of an OO
system.
(5 marks)

3

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

(b) Discuss what an actor is within the context of a use case diagram and illustrate the
UML notation that relates to it.
(7 marks)

4

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

(c) Within a use case diagram, there are relationships that can exist between individual
use cases, one is extends the other is includes. Explain what each relationship means,
giving an example.
(6 marks)

2

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

(d) Using an example of your choice, provide a documented use case using the following
headings:

(i) Purpose or Intent
(ii) High level description
(iii) Pre-conditions
(iv) Extended step by step description of main flow
(v) Alternative flows (or scenarios)
(vi) Post-conditions
(15 marks)

3 & 4

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

(a) Given the structural model below. Answer the following questions. P1

(i) Explain, in detail, the meaning of the association between the two classes.
(5 marks)

5

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

(a) Given the structural model below. Answer the following questions. P1

(ii) Using the example, explain what is meant by referential integrity in the context
of Object-Oriented Programming.
(5 marks)

5

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

(a) Given the structural model below. Answer the following questions. P1

(iii) Show, using code examples, how referential integrity would be implemented
for this example.

5

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

The Principle of Least Knowledge promotes decoupling so that communication only
occurs between appropriate objects. Using a suitable class diagram and sequence
diagram example, explain how this principle can be breached while still allowing
correct business logic to be performed

6

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

Structural Model vs Use Cases

7

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

(b) Explain how an association or dependency relationship between two classes can be
thought of as a path of communication between instances of those classes.

7

19
Q

(b) Explain how an association is related to:

(i) Links between objects.
(ii) Messages between objects in a sequence diagram.

8

20
Q

(d) Consider the diagram below. It defines three classes and two associations. The code
below the diagram implements a scenario where a Person object requires the data
stored in a Knowledge object which can be accessed through a
getAnswerToLife() operation on the Knowledge object.

P2 - Answer in P3

(i) Draw a sequence diagram that illustrates the sequence of messages starting
at person.askTheOracle().

(ii) Within the context of the Principle of Least Knowledge identify a potential
issue that you see with the sequence diagram.

(iii) Briefly describe a possible solution that would address the issue.

21
Q

What are the common design mistakes?

9

22
Q

Explain how creational, structural and behavioural software design patterns differ
in terms of their focus, give examples, and definition.

8

22
Q

The Singleton is an example of a creational software design pattern. In relation to
this pattern, provide the following:

(i) The Intent of the pattern.
(3 marks)
(ii) A description of a context within which the pattern could be applied.
(3 marks)
(iii) An example of the code that would implement it

9

23
Q

Adapter Pattern
Category, Intent, Context, Diagram

10

23
What are the Wrapper Patterns? 10
24
Decorator Pattern Category, Intent, Context, Diagram 10
25
Proxy Pattern Category, Intent, Context, Diagram 10
26
When design patterns are documented, there are a number of headings under which they are described. Two examples of such headings would be the Pattern Name and the pattern’s Intent. Describe three other headings that you would expect, outlining the information that they would provide. 11
27
Briefly discuss the purpose of the Data Access Object (DAO) design pattern and outline why defining a DAO interface which is implemented by a separate class would be beneficial. 12
28
Q.4 (a) (i) Outline what is meant by the term Object Relational Mapping (ORM). 12
29
OR Mismatch Issues 12
30
For ORM why not write SQL conversion manually? (conversion by hand) 13
31
Advantages of using ORM 13
32
How do we Map the Objects to the Relational Database Tables? 13
33
Given the following class diagram, describe three different ways in which the classes could be mapped to a relational database. For each of the three ways, provide one advantage and one disadvantage that it provides. P4 13
34
ORM Tools Features 15
35
Describe what is meant by Test Driven Development. In your answer, with the aid of a flow diagram, discuss the steps that are followed in developing / testing code using this approach. Give a Why. What to do? 16
36
Outline two benefits that the use of Mock Objects provides when utilised in a Test Driven Development approach. And give definition and which test uses it. 17
37
OO Testing Which approach are and are not used. 15
38
Correctness and Consistency of OOA and OOD Models 15
39
Unit Testing Definition. Limitation. 15
40
Integration Test Why not used? 16
41
Thread Based Integration Test 16
42
Cluster Testing 16