You are on page 1of 8

Faculty of Computer Studies

M363: Software Engineering with Objects


Fall Semester 2015/2016 Date: 23/11/2016
Midterm Backup Examination-SOLUTION

Part A: Multiple Choice Questions (10 Marks)


1 C
2 A
3 C
4 B
5 B
6 A
7 B
8 B
9 C
10 A
Award 1 mark for each correct answer.

Part B: Short Essay Questions (20 Marks)


1. Differentiate between functional and non-functional requirements. Provide two examples
for each with their types. (10Marks)

A functional requirement describes an action that the product must take if it is


to carry out the work it is intended to do, it describes the behavior of the
system. A non-functional requirement is a requirement about a quality that the
product must have.

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 1


Examples: FR/NFR TYPE
1 The product shall handle up to 100 users NFR Performance
simultaneously.
2 The product will be used in a standard office NFR operational
environment, except that high levels of
background noise may occur
3 The product must check the user’s identity and FR Business
password
4 The product must employ the company’s FR Technical
proprietary password-maintenance system solution
 Award 2 marks for the differentiation of FR and NFR.
 1 Mark each for providing any two correct FR Examples, 1
Mark each for specifying their types (2x1 + 2x1 = 4 Marks)
 1 Mark each for providing any two correct NFR Examples, 1
Mark each for specifying their types (2x1 + 2x1 = 4 Marks)
2. Define the following terms: (4 Marks)

2.1 Attribute of a class


An attribute represents a particular property (a named value) of the class
that each instance of that class will have. Whatever else the attributes of a
class are used for, at any one time they collectively define the state of an
instance of the class

2.2 A system (or software) architecture


A system (or software) architecture is the structure of the items that make
up a complete software system and its actual or intended computer
systems.
It includes:
 the responsibilities for these items;
 their interconnections;
 and the appropriate technology (where it affects the effectiveness
and efficiency of the software system).

2.3 Software engineering


Software Engineering is defined as ‘The establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.’

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 2


2.4 Project management
In the context of Software Engineering Project management: is
concerned with controlling the cost of developing such systems.
Award 1 mark for each correct answer (1x4=4 Marks)

3. Answer the following questions: (6 Marks)

3.a
Malleability, complexity, and size are three characters that affect the software
development, for each character explain how errors might arise in a piece of
developed software.
Malleability. Software is easy to change (all programmers are often
tempted to ‘tweak’ their code). This malleability creates a constant
pressure for software to be changed rather than replaced. Every change
that is made to the software introduces the possibility of new errors.
Complexity. Software is often complex. Complexity can usually be
recognised, but it is less easy to define. One item of software can be
considered more complex than another if the description of the first
requires more explanation than that of the second. Part of that
complexity arises from the potential variety of pathways between the
components of a system. The number of errors is likely to depend on the
complexity of a system.
Size. It is likely that there will be more errors in a large piece of software
than there will be in a small one.
Award 2 marks for the correct answer
3.b List any four required characteristics of a standard modeling language.

 sufficiently expressive;
 easy enough to use;
 unambiguous;
 widely used;
 supported by suitable tools.

Award 0.5 mark for each correct point (4 x 0. 5 = 2 Marks)

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 3


3.c What does pre-condition and post-condition mean?
 Precondition: a condition that must hold before this use case can
be carried out.
 Postcondition: a condition that must hold after the use case has
been completed.
Award 1 mark for each correct point (2 x 1 = 2 Marks)
Part C: Problem Solving Questions (3x10=30 Marks)
Question-1 (5 Marks)

Mark distribution

Start and End Nodes 1 Mark


Displaying the 8 success scenarios 2 Marks (0.25 X 8 = 2 Marks)
Correct sequence of activities 1 Mark
Correct decision nodes 1 Mark

Note: Student could use swimlane to distinguish between user (student) and
system.

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 4


Passed

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 5


Question 2 (10 Marks)

1.1 1. Registering for a contest


2. Print schedule
Award 1 Mark each correct answer (2x1=2 Marks)
1.2 1. No registration will take place before login
2. The required schedule is full; applicants will go to waiting list.
Award 1 Mark each correct answer (2x1=2 Marks)
1.3 1. Login
2. Publish contest details
3. Publish schedule
4. Register for contest
5. Print schedule
Award 0.5 mark for any four correct answer based on the given scenario (0.5x4=2
Marks)
1.4 Use Case Diagram based on the given scenario

4 Marks (Mark distribution should be based on the accuracy of the diagram)

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 6


Question-3 (15 Marks)

3.1 What is a class diagram? Why a class model is not sufficient to describe a system?

A class diagram represents what all possible instances of the class have in
common, rather than the particular values of any given instance.

It is a static model that describes the elements of a system (classes) and


their relationships (associations), and it does not describe behavior over
time, a dynamic model is required to describe the behavior over time.

Award 1. 5 for each answer (1.5 x 2 = 3 Marks)


3.2 What is a qualified association? Illustrate with example

A qualified association is an association at one end of which there is a


qualifier, consisting of one or more attributes. The values of the attributes
(taken together) uniquely identify the objects in the class at the other end
of the association.

Award 1 mark for explanation and 1 mark for the illustration (1 x 2 = 2 Marks)
3.3 How many classes are there? Name them.
There are four classes Student, MCQ, LMS Support, QuestionBank

Award 0.5 mark each (0.5 x 2 = 2 Marks)


3.4 Does this diagram considered as a static or dynamic modeling? Explain your answer
Static diagram because it did not show behavior of system over time

Award 2 marks for the correct answer


3.5 Identify the relationship between student and MCQ classes
Each Student attends zero or many MCQ s

Award 2 marks for the correct answer

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 7


3.6 Does removing QuestionBank class effect MCQ class? Explain your answer
No it does not effect because it's an aggregation relationship so when
removing QuestionBank the MCQ class will remain

Award 2 marks with proper explanation


3.7 Identify the methods in the class diagram.
addMCQ()
deleteMCQ()

Award 1 mark for each correct answer ( 2 x 1 = 2 Marks)

END OF BACKUP MIDTERM EXAM SOLUTION

M363-MTA-BACKUP-ANSWERS-FALL 2016-2017 Page 8

You might also like