You are on page 1of 6

Faculty of Computer Studies

TM354
Software Engineering

Final Examination
Fall Semester 2019/2020

Date: 30 /12/2019

Number of exam pages (6) Time Allowed: 3 Hours


(including this cover sheet)

Instructions:

 Total Marks: 100


 Write your answer in the answer booklets. Answers given on the exam paper
will not be marked.
 The use of electronic devices that could have a memory is NOT permitted
 Be sure you write your name and ID on the External Answer booklet.

TM354/ Final 1 of 6 Fall 2019-20


PART 1: Multiple Choice Questions [8 Marks]
Answer the following 8 Multiple Choice questions; choose the correct answer [8 x 1=8 Marks]

1. _________ is a software quality factor that determines how well the software does what
the customer wants.
A. Portability B. Flexibility C. Correctness D. Maintainability

2. In an object-oriented program, ___________of a class are represented by stored data


values held in each object instance
A. multiplicities B. associations C. attributes D. roles

3. The _______ architectural view describes the main functional responsibilities of the
system and how the different parts depend on one another.
A. Component B. Module C. Physical D. Development

4. In an interaction diagram, which class must provide the operation indicated by a


message passed from one object to another?
A. receiver object B. provider object C. super class D. sub class

5. “The late submitted TMA should be submitted thorough the late submission link” is an
example of ________
A. Core feature B. Constraint C. Application D. Quality attribute
environment
6. A document that cross-references the different words that are to be used on the project,
and explains how they interrelate is called _____________
A. glossary B. data dictionary C. project log D. project report
7. __________is a way of viewing a complex problem to arrive at some useful
decomposition of that problem.
A. Abstraction B. Module C. Projection D. Partition

8. The term ____________ is used for this kind of notation, in which you name an object or
object attribute by starting at some object and then hopping from that object to another
A. multiplicity B. role C. navigation D. association
name Expression name

PART 2: Short Analysis Questions [12 Marks]


Answer all four (4) Short Analysis Questions

Question 1: (3 marks)

List the three forms of architecture reuse discussed in Unit 9 Section 4 and say briefly what is
reused in each case.

TM354/ Final 2 of 6 Fall 2019-20


Question 2: (3 marks)

Suppose a component is implemented as an instance of a Java class. What corresponds to the


following?

2.1 The provided interface of the component


2.2 The required interface of the component

Question 3: (3 marks)

3.1 Write down in your own words what flexibility means in relation to software.
3.2 Write down any TWO concepts introduced in a module relate to flexibility.

Question 4: (3 marks)

There are various techniques used in structural models of the software, particularly design
models. One of them is navigability.

4.1 What is meant by navigability? When is this idea useful?


4.2 In a multi-user operating system, users are allocated passwords. Draw a fragment of a
class model to represent this association.

PART 3: Problem Solving Questions [30 Marks]


Answer all Five (5) Problem Solving Questions

Question-1 (4 Marks)

You are required to develop a sequence diagram for the following scenario showing the
interactions involved when a student registers a course in a university.

 Courses may have limited enrolment, so the registration process must include information
about the available slots.
 Assume that the student accesses an electronic course catalogue to find out about
available courses.

Question-2 (8 Marks)

Answer the below questions from 2.1 to 2.4 based on the below given diagram in Figure-1

TM354/ Final 3 of 6 Fall 2019-20


Figure 1

2.1 What is the name of the diagram in Figure-1? What is the usefulness 1 Mark
of using such diagrams?
2.2 What does a final state signify in such diagrams? 1 Mark
2.3 In what ways does a final state differ from an initial state? 1 Mark
2.4 Complete the following table based on figure 2. 5 Marks

Current state/s Event/s New state


----- ----- For Sale
----- ----- Pending Sale
----- ----- Final state

Question-3 (6 Marks)

You are required to use the below given figure-2 to answer questions from 3.1 to 3.6

3.1 What is the name for the diagram in Figure-2? 1 Mark


3.2 Which modelling principle would lead you to form such diagrams? 1 Mark
3.3 Is it possible for two separate elements to share the same name? Justify 1 Mark
3.4 Can “Pharmacy” class form an association with “Patient” class? Justify your 1 Mark
answer.
3.5 Can “Patient” class form an association with “Prescription” class? Justify your 1 Mark
answer.
3.6 Can “Reception” refer to “Patient” class by simply using the name of that class? 1 Mark
Justify your answer.

TM354/ Final 4 of 6 Fall 2019-20


Figure 2

Question-4 (7 Marks)

4.1 Given below is a Java Method, calculate LOC and Cyclomatic Complexity 3 Marks
of the method.

public double TestFinal ( int a, int max )


{ int result = 0;
if (a < 0)
a=-a;
for(int i=a; i<=5, i++)
result := result + i ;
if (result <= max)
System.out.println( result );
else
System.out.println ( “number is too large” )
}

4.2 Determine appropriate set of whiteBox tests for the while iteration as 3 Marks
follows:
 A value of “a” to skip the for loop
 A value of “a” to enter the for loop once
 A value of “a” to enter the for loop more than once.
4.3 Give an example where black-box testing will test something that white- 1 Mark
box testing would miss and one where white-box testing will test
something that black-box testing would miss.

TM354/ Final 5 of 6 Fall 2019-20


Question-5 (5 Marks)

Figure-3

State the given statements in 5.1 to 5.5 are TRUE/FALSE based on the given class
diagram in Figure-3, Justify your answers.

5.1 The class Vehicle does not contain any attributes 1 Mark
5.2 The objects of class StationWagon do not have any attributes 1 Mark
5.3 The diagram contains a mistake: the direction of the five arrows with empty 1 Mark
arrowheads pointing at Vehicle and Car should be reverse.
5.4 SportsCar has a method called AddWheel(). 1 Mark
5.5 UML class diagrams are a good way to represent the algorithmic nature of 1 Mark
the interactions between classes

End of Questions

TM354/ Final 6 of 6 Fall 2019-20

You might also like