University of Mauritius Faculty of Engineering: Programme

You might also like

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

UNIVERSITY OF MAURITIUS

FACULTY OF ENGINEERING

SECOND SEMESTER EXAMINATIONS

MAY 2010

PROGRAMME BSc (Hons) Computer Science and Engineering


BSc (Hons) Electronics and Computer Science
BSc (Hons) Information & Communication Technologies
BSc (Hons) Information Systems

MODULE NAME Software Engineering

DATE Friday MODULE CODE CSE 2001Y(5)


14 May 2010

TIME 09.30 – 12.30 Hrs DURATION 3 Hours

NO. OF NO. OF QUESTIONS


6 5
QUESTIONS SET TO BE ATTEMPTED

INSTRUCTIONS TO CANDIDATES

This question paper consists of two (2) Sections : Section A and Section B.

Section A is compulsory. Answer all questions in Section A.

Answer any three (3) questions in Section B.

Answer five (5) questions in all.


SOFTWARE ENGINEERING – CSE 2001Y(5)

SECTION A

Answer All questions from this Section.

Question 1

The SunShade hotel is planning to implement a hotel room reservation system in order
to manage room bookings. You have been requested to perform the following tasks.

(a) Implement a class named RoomBooking with the following private fields:
room_type <String> Room type (Standard, Deluxe, Family)
num_days <int> Number of days room is booked
num_room <int> Number of rooms
The class contains
− a constructor that requires arguments for room_type, num_days and num_room.
− a method that displays the details of the room booking
− a method that calculates and returns the booking charges, based on the following
daily room charges

Standard Deluxe Family


US $ (per day) 100 200 400

[6 marks]

(b) Implement another class named PanoramicRoomBooking, which inherits from


the RoomBooking class. A Panoramic room carries an additional charge on top of
the room charges and the additional charge is based on the type of view from the
room as given below:

Garden View Pool View Sea View


US $ (per day) 20 30 50

The class contains one private field


view_type <String> Type of view from room (Garden, Pool, Sea)

…/Cont’d next page

Page 1 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 1 – (Cont’d)

The class contains the following methods:


− a constructor that requires arguments for room_type, num_days, num_room, and
view_type
− a method that displays the details of the room booking
− a method that determines the total room charges
[6 marks]

(c) Implement a class CreateBookings that will create an array of 5 room bookings as
follows:

Bookings Room No of Number of


Number Type days rooms
1 Standard 2 2
2 Family 3 1 Garden view
3 Deluxe 1 3
4 Standard 2 2 Pool view
5 Deluxe 5 1 Sea view

Your program should then display

− The bungalow details of each booking


− The total charges of all the bookings
[8 marks]

Page 2 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 2

At the university, students registering for year I of the Computer Science programme
have to enroll in 5 compulsory modules. Three of them are assessed based on an end-of-
year examination (70 marks) and a coursework (30 marks) consisting of tests and
assignments. A student is said to pass such a module if he has above 30% in both
course-work and exams and if the overall mark (coursework plus exams) is above 40 %.
For the remaining two modules, as long as a student shows 80% class attendance and
submits a mini-project, he is deemed to pass. A student earns 6 credits for every module
he has passed.

The following UML diagram below models the enrollment of the batch of students.

Student Module EnrollApp


- stdid: String - module_id :String
- ListModules: Module[ ]
+ Module(:String) + main(:String)
+ Student (:String) + CheckPass():boolean (ABS)
+ AddModule(:Module, :integer)
+ GetModule(:integer):Module

ExamModule AttendModule
- CourseWork:double - Attendance:double
- ExamMark:double - MiniprojectSubmission: boolean

+ ExamModule (:double, :double) + AttendModule(:double)


+ CheckPass():boolean + AttendModule(:double, :boolean)
+ CheckPass():boolean

(a) From the UML diagram, identify, if any,


- a case of overloading and a case of overriding.
- an abstract class and a concrete class
[4 marks]

…/Cont’d next page


Page 3 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 2 – (Cont’d)

(b) You are to implement ALL the five classes. Some method descriptions are given
below:

Class Method Method Description


EnrollApp main Should prompt for and read the batch size,
then create an array of Student to store all
the enrollment details which are to be
entered at the keyboard. Should finally
display the total credits earned by each
student.
Student AddModule Should store the module details at a
particular location in the array ListModules
GetModule Return a reference to a module stored at
some location in array ListModules
AttendModule CheckPass Should return whether student has passed
the module
ExamModule CheckPass Should return whether student has passed
the module

[16 marks]

Page 4 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

SECTION B

Answer Any three (3) questions from this Section.

Question 3

Read the following problem statement:

An Automated Ticketing System relies on computer processing and large databases to


manage the distribution of tickets to entertainment and sporting events. Customers can
purchase their tickets from many locations including the box office where the event will
be held or any authorized retail locations. Online point-of-sale terminals are used to
record the transaction and print the tickets, while at other locations the transaction is
recorded and the customer receives the ticket by mail.

When a request is made, the system is designed to determine automatically from it


master house calendar whether the performance requested by the user (event and date)
is actually scheduled. The system may suggest alternate events on the same date or
different dates of the same event. When the customer selects a date and event, the
system shows seats that are available from its master seating chart. As seats are given,
the master chart is updated.

(a) State four views that UML provides to model a system. [2 marks]

(b) Give a use-case diagram for the above system. [5 marks]

(c) Give a class diagram for the above system. [5 marks]

(d) Read the following addendum for the above system:


At a point-of-sale terminal, the customer begins by inserting its bank credit card.
If the card is valid, a list of different events is displayed. The customer then
selects a particular event, specifies a seat or a number of seats from the seating
chart, and confirms purchase of the ticket/s. If the transaction is approved, the
seating chart is updated and the tickets are printed out and dispensed to the
customer.

(i) List all the possible scenarios that may take place while purchasing a
ticket from a point-of-sale terminal.
(ii) Draw one interaction diagram for the normal scenario.
[3 + 5 marks]

Page 5 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 4

The Multimedia University of Mauritius has a reputation for being a vanguard when it
comes to technology. As part of a larger effort to improve its mobility infrastructure and
offer students and staff a broader array of mobility services the university is planning to
deploy a Mobile Learning System (MLS) across the campus. The system will be
available free to staff, students and invited guests and will offer a flexible way to access
online resources.

The ultimate goal of MLS is to improve the learning experience of students through
innovative features that will not only support traditional methods of learning but also
raise the interest of users in discovering new subjects. The system will bring a new
dimension in the learning process through initiative of knowledge acquisition,
interactivity of the learning process, mobility while learning and through the use of
state-of-the-art technologies. A number of applications will needs to be developed so
that students and lecturers can have easy interaction with each other using their
wireless devices such as laptops, mobile phones, PDAs and personal computers. A new
user would require an average of 30 minutes training to start using the system
effectively.

MLS will consist of a wireless file transfer subsystem that will allow lecturers and
students to communicate in an ad hoc fashion. Students will submit assignments
wirelessly while lecturers will post lecture notes and other important documents to
student using this file transfer subsystem. Large files sharing and transmission will be
done using the WiFi technology and smaller files like a picture or short additional notes
will use Bluetooth transmission. All wireless transmission will be encrypted using the
WEP protocol. The system is password authenticated and passkeys are used to validate
Bluetooth devices.

MLS should provide an interactive whiteboard facility for users to share ideas and
sketches. Group discussions in classes become more interesting especially when the
expected outcome is graphical, therefore the whiteboard facility should provide a user-
friendly graphical interface. Moreover, MLS will consist of an audio and video
conferencing facility for group discussion on campus. Audio media will help students
listen to lectures whilst they are on the move while video would extend to them an
additional facility of visualising a lecture or a demonstration. Teleconferencing would
greatly facilitate mobile learning as students and tutors can log in at any time for an
interactive class in the comfort of their homes.

…/Cont’d next page

Page 6 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 4 – (Cont’d)

(a) Identify three functional and three non-functional requirements for the Mobile
Learning System from the case-study given above. [6 marks]

(b) Why do requirements change during development? Using one of the


requirements that you have proposed in part (a), suggest a change that might
occur and explain why it is plausible. [4 marks]

(c) After discovering requirements from various stakeholders, these requirements


must be analysed and a number of checks made on them. Explain two types of
checks that should be performed on requirements? [4 marks]

(d) Your software company has been chosen for the development of the Mobile
Learning System. You are required to develop the software quickly in an
environment of rapidly-changing requirements. You have been requested to
focus on specific functionalities without adding any that are not specifically
requested, which may slow down the process. The development course should
be kept simple through systematic and regular testing and design improvements.
State the development life-cycle model that will be more appropriate for the
Mobile Learning System. Justify your answer by explaining the benefits of the
chosen life cycle model. [6 marks]

Page 7 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 5

(a) (i) Give a brief description of how function points are calculated.
(ii) State the strengths of function-points-oriented metrics over size-oriented
metrics. [4 + 2 marks]

(b) The following table provides information about several projects that were
implemented in the past:

Project LKOC Budget ($) people Duration Pages of errors


(months) documentation
aaa-01 26.1 168 5 14 45 23
ccc-06 147.6 1230 23 20 194 44
fff-09 97.9 550 15 12 52 9

Given that the estimated size of a new project is 98 KLOC and the number of
team members is now 9, estimate for the new project
(i) the duration
(ii) the cost
[4+ 4 marks]

…/Cont’d next page

Page 8 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 5 – (cont’d)

(c) The cost of in-house development for a software company averages £400 per day.
The company is considering the purchase of a software package that is 14 KLOC
that will cost £950,000. Initial evaluation of the package indicates it will need a
tailored interface to suit the company. This will involve extra in-house coding of
5 KLOC in the SEMI-DETACHED mode.
Use the parametric equations as shown in Figure 1 below, estimate

(i) the total costs of the tailored software product.


(ii) the size of the development team.
[3 + 3 marks]

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

Page 9 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 6

(a) In order to help us categorize software quality factors, McCall proposes a


categorization which focuses on three important aspects of a software product
namely Product Operation, Product Revision and Product Transition. Classify
the following quality factors under those three categories.
• Interoperability: ability to interface with other components/systems
• Correctness: completeness of required output, availability of the information
• Testability: support for testing (e.g. log files, automatic diagnostics, etc)
• Efficiency: resources needed to perform software function
• Maintainability: effort to identify and fix software failures (modularity,
documentation, etc)
• Portability: adaptation to other environments (HW/SW)
[6 marks]

(b) In an information system the valid range of values for a particular field ‘amount’
is 10,000 to 50,000. Derive test cases for testing the field ‘amount’ using:
(i) Equivalence partitioning method
(ii) Boundary value analysis method
[4 marks]

(c) Software review is a technique used to find errors at the analysis and design
stage. Briefly explain the following terms

(i) Software walkthrough


(ii) Software Inspection
[4 marks]

…/Cont’d next page

Page 10 of 11
SOFTWARE ENGINEERING – CSE 2001Y(5)

Question 6 – (Cont’d)

(d) Consider the following flow graph.

(i) Based on the Basis Path Testing technique, calculate the value of
Cyclomatic Complexity of the flow graph given above.
[3 marks]

(ii) Based on the value of Cyclomatic Complexity calculated, derive the set of
basis test paths.
[3 marks]

END OF QUESTION PAPER

/mjm

Page 11 of 11

You might also like