Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

UNIVERSITY OF MAURITIUS

FACULTY OF ENGINEERING

PAPER NO EXAMINATION DATE

Second Semester 2004/2005

BEEEE/ECE/04S/13 BEng (Hons) Electrical and


Electronic / Electronic and Monday
Communication Engineering 16 May 2005

BEM/04S/9 BEng (Hons) Mechatronics

BScCSE/04S/13 BSc (Hons) Computer Science


and Engineering

BScCSM/04S/11 BSc (Hons) Computer Science


with Multimedia

BScECS/04S/8 BSc (Hons) Electronics and


Computer Science

BScICT/04S/9 BSc (Hons) Information


Communication Technologies

BScIS/04S/13 BSc (Hons) Information Systems

Level 2

SERIES PAPER TIME

May 2005 Software Engineering 13:30 – 15:30 Hours


(CSE 2212)

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:

EDDIS is an electronic document delivery and interchange system. EDDIS is an


Electronic Library Programme (ELIB) project whose objective is to develop a
Web-based library system for the Kingdom Higher Education sector. The main
function of EDDIS is to manage the process of identifying, locating, ordering and
supplying documents. Although the initial proposal for EDDIS was conceived in
the context of delivery of documents electronically, EDDIS is also required to
manage the request and supply of printed documents, and is not restricted to
digitised documents. It is intended that EDDIS will have the full functionality of
an ILDRMS (Interlending and Document Request Management Systems).

Although EDDIS is primarily an end-user system, it was recognised that,


because of financial constraints, many of the functions in EDDIS would be
mediated by an administrator. It was anticipated that the system would be
administered by the local library, but this would not always be the case.
Furthermore, some of the administrator's functions could be devolved to other
users. For example EDDIS could be configured so that departments have control
of their own budgets.

(i) The systems requirements definition phase of systems engineering usually


concentrates on deriving three types of requirements. Briefly explain what
these are. [3 marks]

(ii) Identify two requirements for each type identified in part a (i). [6 marks]

(iii) Identify THREE stakeholders for th e above system. [3 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.

CON456 The signal controller's user interface shall be user-friendly.


[6 marks]
(continued on next page)
Page 1 of 8
Question 1 (continued)

(c) A company develops medium-scale (up to 10 person-years) bespoke software


systems in a variety of application domains. The company has a poor record of
completing projects to time, budget and quality. You have been contracted as a
consultant to recommend improvements to the company processes. Your
experience with similar companies makes you start by examining the
company's requirements engineering process.

(i) The company's executive director (who has no background in system


development) is doubtful of the need to invest in improving the
company's requirements process. Write a brief explanation for them that
summarises why the requirements process is critical for the company's
business. If you feel it helpful, accompany your explanation with one or
more diagrams. [3 marks]

(ii) You discover that although company procedures mandate the


documentation of system requirements, the company has no prescribed
standard for documenting them. Explain why this is a potential source
of requirements problems and draw up a table of contents to serve as a
template for use on future projects (this need not be an exact match with
an existing standard). [4 marks]

Question 2 [25 marks]

(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

(i) Briefly describe each of the five levels. [5 marks]

(ii) What advantages are there for a company to move up to the top level?
[2 marks]

(b) Give a name for the following software process models.

(i) Listen to customer ? build/revise mock-up ? customer test drives


mock-up ?listen to customer ? build/revise mock up ? customer test
drives mock-up ? [repeat until complete]

(ii) analysis ? design ? code ? test ? implement ? maintain

(continued on next page)

Page 2 of 8
Question 2 (continued)

(b) (iii) Customer communication ? planning ? risk analysis ? engineering ?


construction and release ? customer evaluation ? customer
communication ? planning ? risk analysis ? engineering ?
construction and release ? customer evaluation ? customer
communication ? planning ? [repeat until complete]

(iv) Analysis ? design ? code ? test ? deliver part 1


Analysis ? design ? code ? test ? deliver part 2
Analysis ? design ? code ? test ? deliver part 3
[repeat until complete]
[4 marks]

(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.

(i) buying the total package; [1 mark]

(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]

(iii) developing the whole functionality in-house without reference to any


external supplier. In this case, the development style will be ORGANIC.
[4 marks]

(continued on next page)

Page 4 of 8
Question 3 (continued)

Basic Parametric Model for Estimation of Effort and Duration


This basic estimator is a management model that computes effort and duration of a
software development as a function of program size estimated in thousands of lines of
code (KLOC). Duration is converted to cost using agreed conversion measures.

Effort = a (KLOC)b in units of person-months, and Duration = c (Effort)d in terms of


elapsed months.

Parameters a, b, c and d are given in the table below:

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

Common values for estimating time:


number of working days in a year (excl. holidays, sickness, etc.) = 220
number of working days in a month (excl. weekends, holidays etc.) = 20

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]

(a) Comment on the following statements:


(i) “Testing shows the absence of software faults”
(ii) “Quality assurance is part of testing stage.” [1 + 1 marks ]

(b) What do you understand by the following terms:


(i) Bottom-up testing
(ii) Regression testing [2 + 2 marks ]

(c) Read the following code:

double stdev (double a[], int n){

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.

Task Description Predecessor Time(weeks)


A Requirements Analysis None 5
B Prepare system specifications A 3
C Validate and approve specifications B 2
D System design B 7
E Software implementation & testing D 10
F Customer evaluation E 2
G System integration E, F 3
H System release & deployment G 3

(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]

(iii) The software implementation and testing task requires a server


computer to be delivered so that the software can be stress-tested on its
target platform. Suppose that the server’s delivery is delayed, by how
long can Task E be delayed before the manager should start worrying?
Assume that are no other delays in the other dependent tasks. Justify
your answer. [2 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.

(continued on next page)

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]

END OF QUESTION PAPER


/nr

Page 8 of 8

You might also like