University of Mauritius Faculty of Engineering
University of Mauritius Faculty of Engineering
FACULTY OF ENGINEERING
Level 2
This paper contains FIVE (5) Questions. Candidates are requested to answer
ANY FOUR (4) Questions.
Question 1 [25 marks]
(a) Read the following outline description of a library system and answer the
questions which follow:
(ii) Identify two requirements for each type identified in part a (i). [6 marks]
(b) Write a brief critique on the quality of the following requirements about an
train control system:
BRK123 The system shall apply emergency braking when the train passes a
signal at DANGER. An alert shall be sounded in the ca b and a warning
indicated on the signal controller's display.
BRK 124 The system shall permit the driver to proceed with caution when
the train has executed an emergency stop if the diagnostic system indicates a
signal fault or a manual override is authorised by the signal controller and
the signal controller indicates that the segment of track guarded by the
signal is occupied by no other train.
(a) The Capability Maturity Model (CMM) rates software companies according to
how well they identify and manage their software processes. The model has
five levels
(ii) What advantages are there for a company to move up to the top level?
[2 marks]
Page 2 of 8
Question 2 (continued)
(c) (i) Explain why functional independence is a key to good design. [1 mark]
(ii) Briefly explain the criteria which are used for measuring the functional
independence of a design? [4 marks]
(d) (i) DeMarco states that “you cannot control what you cannot measure”.
What does this mean for software project managers? [2 marks]
(ii) Software quality measurement generally starts with high level quality
goals, and then identifies metrics that can be used to indicate satisfaction
of the quality goals. For each of the following quality goals, explain why
the goal is important, and identify a metric that could be used to
measure it:
a. Reliability
b. Efficiency [4 marks]
(e) Calculate the Function Point value for a project with the following information
domain characteristics. Assume an average complexity for all “technical
complexity factors”.
Number Weighting
User Inputs 32 Simple
User Outputs 60 Average
User inquiries 24 Average
Files 8 Simple
External interfaces 2 Complex
You may use the information from Table 1 (given below), in your calculation.
Weighting Factor
Parameter Simple Average Complex
Inputs 3 4 6
Outputs 4 5 7
Inquiries 3 4 6
Files 7 10 15
Interfaces 5 7 10
[3 marks]
Page 3 of 8
Question 3 [25 marks]
(a) (i) With the help of a diagram, describe the activities involved in the risk
management process. [5 marks]
(iii) A project team, in the process of creating a risk table, listed the following
risk.
?? Delivery deadline will be tightened
?? Less reuse than planned
?? Staff inexperienced
?? Customer will change requirement
?? Size estimates may be significantly low
?? End user resist system
?? Technology will not meet expectancies
?? Lack of training on tools
?? Staff turnover will be high
?? Conflicts among staff
Identify the category of the risk to which each one of them belongs.
Justify for each of them, your reason for including it in the specific
category. [5 marks]
(b) Your software manager has asked for your advice. The cost of your own
in-house development averages £360 per day. Your manager is considering the
purchase of a software package that is 5KLOC (five thousand lines of code) that
will cost £50,000. Initial evaluation of the package indicates it will need a
tailored interface to suit your company; this will involve extra code that is
1KLOC (one thousand lines of code). A complicating factor is that the supplier
has offered to do the extra work for a total cost including the initial package
of £ 65,000.
Use the parametric equations as shown in Figure 1 (next page) to estimate the
software development cost of the following alternative courses of action.
(ii) buying the basic package for £50,000 and developing the new
functionality in -house, where the inhouse development style will need
to be SEMI-DETACHED; [4 marks]
Page 4 of 8
Question 3 (continued)
The Project a b c d
ORGANIC 2.4 1.05 2.5 0.38
SEMI-DETACHED 3.0 1.12 2.5 0.35
EMBEDDED 3.6 1.20 2.5 0.32
Figure 1
(c) Give one risk that could be assigned to each course of action in part (b).
Explain whether the risk will significantly alter the estimates of cost.
[6 marks ]
Page 5 of 8
Question 4 [25 marks]
double sum = 0;
double sumsq = 0;
for (int i=0; i<n; i++){
sum = sum + a[i];
sumsq = sumsq + a[i]* a[i]
}
if (n >0){
double mean = sum/n;
double deviation = sqrt((sumsq – mean*mean)/n)
return (deviation);
}
else
return (0)
}
(i) Explain by defining the terms “cyclomatic complexity” and “white-box testing”,
the rationale behind path testing. [3 marks ]
(ii) Give the flow graph for the above code and calculate the cyclomatic
complexity. [4 marks ]
(iii) Using the flow graph from (c)(ii), give the set of independent program paths.
[4 marks ]
(iv) Based on the independent program paths, derive a set of test cases that would
exercise each statement or condition at least once. [4 marks ]
(v) Using black-box testing, give the equivalence partitions and derive black-box
test cases for this function. [4 marks ]
Page 6 of 8
Question 5 [25 marks]
(a) A manager at a small software company dealing with automated alarms, wants
to prepare a project schedule for a new project. The tasks, tasks duration and
dependencies are listed in the table below.
(i) Using the information in the table above, assist the manager by draw a
network diagram to show how the tasks could be organised. [5 marks]
(ii) Determine the least possible time it would take to complete the project.
[3 marks]
(b) Read the scenario below and then answer the questions which follow.
Customers can arm and disarm an alarm. When armed the alarm detects
intruders via sensors which are located at various positions. From time to time
an engineer will test the system and if necessary repair the alarm or its sensors.
The procedure used by the engineer to test the alarm system is as follows.
With the alarm off, the engineer types in an access code. The engineer then
arms the alarm using another access code. He then plugs in a simulation tool to
the alarm, which simulates each sensor. He steps through each sensor using the
tool, activates each one and checks if it sets off the alarm. Every time the alarm
is triggered, he retypes the second access code to stop the alarm.
Page 7 of 8
Question 5 (continued)
Suppose the alarm system is operated from a control panel. The control panel
has a display and two types of button: the digits 0 to 9 and a ‘Set’ button for
turning the alarm on/off. This control panel controls a central alarm unit. This
alarm unit periodically polls monitors located at various locations in the
building. These monitors are linked to sensors at that location. If a sensor
returns a signal indicating an intrusion, the alarm unit will sound a siren and at
the same time will instruct a radio component to signal a base station of the
intrusion. The alarm unit will create an intrusion report for sending to the base
via the radio.
(i) Draw a use-case diagram to represent the actors and use-cases involved
in this scenario. [5 marks]
(ii) Draw a class diagram to model the static structure of the system.
[5 marks]
(iii) Draw a sequence diagram for the process of an engineer who tests the
alarm. [5 marks]
Page 8 of 8