IS323 Final Exam 2010 - 2011 Solutions (Sem 1)
IS323 Final Exam 2010 - 2011 Solutions (Sem 1)
IS323 Final Exam 2010 - 2011 Solutions (Sem 1)
Question 16 (6 marks)
The following table shows the various skills and knowledge that systems analysts should
possess. Please categorize the following skills or knowledge as Technical, Business, or
People. To answer this question in the answer booklet, write the part number, for
example (A), and beside it write the most appropriate category (Technical, Business, or
People).
Question 17 (4 marks)
Page 2 of 27
Question 18 (4 marks)
400 368
Cost to detect and correct a fault
350
300
250
200
150
100
52
50
1 3 4
0
Figure 5
(A) Why is the cost of correcting a fault in the analysis phase way less than correcting the
same fault in the support phase? (2 marks)
• If a fault is not detected and corrected, it will be ccarried
arried over into the next phase.
phase
Correcting the fault means
o Fixing the fault itself; and
o Fixing the effects of the fault in subsequent phases
(B) Suppose the cost of fixing a fault in the planning phase is $50. If we did not identify
the error until the design
gn phase, how much would it cost (approximately) to fix
fi the
fault in the design phase? (2 marks)
$200
Page 3 of 27
Question 19 (6 marks)
Leave Management
System
Maintain Staff
Details
HR Manager
Submit Leave
Application
Human
Resource Staff
Academic Staff
View Staff's Leave
History
Submit Decision on
Leave Request
Figure 7
HOS
(A) What is your estimate of the number of boundary classes required for the system? (2
marks) 4
(B) What is your estimate of the number of control classes required for the system? (2
marks) 4
(C) List the names of all use cases that the HR Manager can execute? (2 marks) Maintain
Staff Details and View Staff’s Leave History
Page 4 of 27
Question 20 (4 marks)
Suppose you are choosing between using the Spiral Model and the Waterfall Model.
Choose the best model (Spiral/Waterfall) for each of the following scenarios. Write the
part number, for example (A) in the answer booklet and beside it write either Spiral or
Waterfall to indicate your choice of model.
A – S; B – W; C – W; D – S
Question 21 (7 marks)
One programmer works on the algorithm while the other works on the code. Then
they switch seats.
Page 5 of 27
Question 22 (3 marks)
Identify the correct version (alpha, beta, or production) of the system for each of the
systems given below. To answer this question in the answer booklet provided, please
write the part number, for example (A) and then write the correct type of product version.
(A) The Payroll System has been made available on the web-site for usability testing.
(B) The HR System was installed in the HR Department last month and there has been no
bugs reported so far.
(C) The Inventory Management system is now complete and programmers and analysts
are now performing rigorous testing.
(A) Beta
(B) Production
(C) Alpha
Question 23 (6 marks)
List and briefly explain Unit, Integration and System testing.
• Unit testing - Tests individual modules of code or methods before integrating with
other software
• System Testing - Tests the behavior of the entire system (functional reqs)
Page 6 of 27
Page 7 of 27
Section C– Case Study Questions
ExtremeCars is a car rental company and is planning to develop a website that will allow
registered customers to reserve cars online. The payment is handled when the customer
comes to pick the car, but is outside the scope of the system.
Before a customer can submit a reservation request for a car, the customer has to register
online using the system. The customer fills an online registration form and submits using
the system. The Sales Manager approves the registration request online, and upon
approval the system generates and emails the customer the login details. The customer
can also update their profile, for example, change their email address, name, etc. For each
customer the company needs the name, residential and postal address, email, and home
and work phone numbers.
A registered customer can search for cars. When searching for cars the customer can
provide the date range (that is when the customer wants to pick the car and when the car
will be returned to the company), the car type, etc. After choosing a particular car, the
customer can submit a reservation request for that car. This reservation request is
reviewed and approved by the Sales Manager using the system. The Sales Manager’s
decision (whether the application was approved or denied) is emailed to the customer.
The basic data collected about online reservations is Date, customer’s details, car details,
pick up date, return date, and approval date.
The Inventory Manager is responsible for adding, removing or updating the car details.
The company records the car registration, description about the car, and the last recorded
mileage. The mileage is updated every time the car is returned by the customer.
Apart from online booking, the company’s salespersons can also reserve cars directly
using the system. In this case the reservation does not require an approval from the Sales
Manager. The reservation details recorded by the system include Date, customer’s details,
car details, pick up date, return date, and salesperson details.
Page 8 of 27
(A) Create an event table showing the events of the ExtremeCars Booking System. The
event table should contain the following columns: Event, Trigger, Source, Use Case,
Response, and Destination. (14 marks)
Page 9 of 27
(B) Create a class diagram, showing the entity classes for the ExtremeCars Booking
System. Show the classes, the relationship between the classes, the multiplicity of the
relationships, and the attributes of the classes. (9 marks)
Customer
Reservation
-CustNum
Car -ResNum
-FirstName
-Date 0..* 1
-CarReg -LastName
-Customer
-Desc -ResAddr
-Car
-Mileage 1 0..* -PostAddr
-PickupDate
-HomePhone
-ReturnDate
-WorkPhone
Salesperson
OnlineReservation OfflineResevation 0..* 1 -SalesID
-ApprovalDate -Salesperson -FirstName
-LastName
Page 10 of 27
(C) Create a use case diagram for the ExtremeCars Booking System capturing the
functional requirements. (8 marks)
Register
Search Cars
Salesperson
Reserve Car
Customer
Update Profile
Approve
Registration
Sales Manager
Approve Reservation
Inventory Manager
Manager Cars
Page 11 of 27
(D) The following (Figure 6) is the flow of events of the use case that is used by the
Inventory Manager to update car details. Create a System Sequence Diagram (SSD)
using the flow of events. (4 marks)
Brief Description: The inventory manager wants to update the details of a particular
car.
Actors: Inventory Manager
Flow of Events: Actor System
1. The Inventory Manager (IM) 1.1 Search for the car
enters the car registration. 1.2 Display car details
Page 12 of 27
(E) Create a complete sequence diagram for the scenario given in part (D) above. (8
marks)
Page 13 of 27
Semester 1, 2011 Final Exam Solution
Section A – Multiple Choice Questions (Each question has only one answer)
Page 14 of 27
Section B – Short Answer Questions (23 marks)
Question 21 (5 marks)
A small dental clinic wants to create an information system to keep the dental records of
its patients. Currently, everything is paper-based. You are required to analyse and design
an information system for this dental clinic.
(A) List two possible fact-finding techniques that you might use. (2 marks)
Answer:
Interviewing is a primary method of fact-finding.
Document review
Observation
Surveys and questionnaires
Sampling
Research.
(B) Describe an advantage for each technique that you have listed above. (2 marks)
Answer:
Page 15 of 27
(C) Suppose the development budget is tight. How might that affect the fact-finding
process? (1 mark)
Answer:
Answers may vary, but the important idea is that students should explain the use
of less expensive techniques such as:
Questionnaires
Reviewing existing documents
Observation
Question 22 (4 marks)
(C) Why is the cost of correcting a fault in the analysis phase way less than correcting the
same fault in the support phase? (2 marks)
• If a fault is not detected and corrected, it will be carried over into the next phase.
Correcting the fault means
o Fixing the fault itself; and
o Fixing the effects of the fault in subsequent phases
(D) Explain how the spiral model allows the development team to mitigate risks. (2
marks)
Answer:
After the risks have been identified and ranked in order of priority or impact, we
can then in each iteration/spiral attempt to overcome the risk with the worst
impact. We can continue with the project if the risks are overcome, or stop if
otherwise.
Page 16 of 27
Question 23 (3 marks)
Create a class diagram showing the methods of each class using the above sequence
diagram. Do not show any attributes and only show those methods/messages shown in
this sequence diagram.
Page 17 of 27
Question 24 (4 marks)
One programmer works on the algorithm while the other works on the code. Then
they switch seats.
Question 25 (7 marks)
B) Briefly (in one or two sentences) explain what you understand by cloud
computing (2 marks)
D) Briefly (in one or two sentences) explain what you understand by the term Service
Oriented Architecture (SOA) (2 marks)
SOA is a design principle that results in a set of business oriented services that
can be combined together to form a business application or solution.
Page 18 of 27
Section C – Long Answer Questions
The SCIMS IT personnel (referred to as the IT Admin) will be allowed to enter the
following data about each computer lab: Lab ID (unique for each lab), Description (used
for a brief description of the lab), and Number of computers in the lab. The Booking
System should allow the lab details to be changed by the IT Admin. The IT Admin will
also be responsible for adding or updating users of the system. For each user/staff the
following data would be stored: Staff ID (unique), username, password, name of the staff,
description (for any additional data (optional)). The IT Admin will also add/update/delete
the list of courses offered by SCIMS. The data recorded for each course includes the
course code, and title.
A staff intending to book a lab will have to login first. After logging into the Booking
System, the staff can book available labs. When booking a lab class, the teaching staff is
required to provide the following data: Lab ID of the lab to be used, Course Code (e.g
IS323) of the course that the lab will be utilized, day (Monday – Friday), start time, and
end time of the lab class. When this data is submitted to the system, the system will book
the particular lab on the given day and time. The system should also store the Staff ID of
the staff who is booking the lab and send a notification to the IT Admin for approval. The
IT Admin needs to approve each booking request, and after each approval an email is
sent to the staff that did the booking informing him/her about the decision of the IT
Admin. The IT Admin can at any time cancel/delete a particular confirmed booking and
an email will be sent to the staff that made the booking informing the staff of this case.
Note that the teaching staff who booked a particular lab class can change or cancel their
booking as well. The IT Admin can view a report on all cancelled lab classes. We will
assume that the labs operate from 9am to 8pm from Monday to Saturday. The IT Admin
will also print a report showing the number of lab classes for each course in a particular
semester.
All users, including IT Admin should be able to change their profile, which includes,
name and password. The Booking System is also required to send an email once every
week to the IT Admin informing him about the total number of new bookings done. The
homepage of the Booking System should display the current timetable of the labs. You
should also include a page that shows the teaching staff how to book a lab class.
Page 19 of 27
(A) Create an event table showing the events of the SCIMS Lab Booking System. The
event table should contain the following columns: Event, Trigger, Source, Use Case,
Response, and Destination. (10 marks)
Page 20 of 27
(B) Create a class diagram, showing the entity classes for the SCIMS Lab Booking
System. Show the classes, the relationship between the classes, the multiplicity of the
relationships, and the attributes of the classes. (14 marks)
Page 21 of 27
(C) Create a use case diagram for the SCIMS Lab Booking System capturing the
functional requirements. (10 marks)
Page 22 of 27
(D) Based on your use case diagram, what is your initial estimate of the number of
boundary and control classes that would you need for your information system? (2
marks)
Boundary = 9 (one boundary class for each use case to actor interaction)
(E) One of the events of the SCIMS Lab Booking System is SCIMS staff booking a
computer lab for their course’s lab classes. The following description provides an
idea of how this can be achieved.
The Booking system displays the courses offered in the current semester and year,
and the current lab timetable. The SCIMS staff starts by choosing the course. All the
lab classes that the staff wants will be entered into the system. This means that a staff
can book many lab classes at once. After this is done, the staff will submit the
booking request, and the system records these details. A notification is also sent to the
IT Admin for approval.
Using the above description, write a use case scenario showing the Brief Description,
Actors and the Flow of Events (FoE)/Activities. For the FoE show the Actor and
System tasks. (6 marks)
Page 23 of 27
Page 24 of 27
(F) Now create a System Sequence diagram for the scenario you have given in part (E)
above. (4 marks)
Page 25 of 27
(G) Create a complete sequence diagram for the scenario you have given in part (E)
above. (9 marks)
Page 26 of 27
(H) What is the purpose of the sequence diagram? (2 marks)
The purpose is to identify the use case/requirement specific methods of each class.
The sequence diagram shows the interaction between objects and the order/sequence
of these messages.
Page 27 of 27