IS323 Final Exam 2010 - 2011 Solutions (Sem 1)

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

Semester 1, 2010 Final Exam Solution

1. (A) (B) (C) (D)

2. (A) (B) (C) (D)

3. (A) (B) (C) (D)

4. (A) (B) (C) (D)

5. (A) (B) (C) (D)

6. (A) (B) (C) (D)

7. (A) (B) (C) (D)

8. (A) (B) (C) (D)

9. (A) (B) (C) (D)

10. (A) (B) (C) (D)

11. (A) (B) (C) (D)

12. (A) (B) (C) (D)

13. (A) (B) (C) (D)

14. (A) (B) (C) (D)

15. (A) (B) (C) (D)


Section B – Short Answer Questions (40 marks)

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

(A) Computer and how they work –T


(B) Understanding the organization structure – B
(C) File, Database, and storage hardware and software – T
(D) Project Planning techniques – T
(E) Interpersonal skills – P
(F) Find out the type of work that goes on in an organization – B

Question 17 (4 marks)

There are many variations of iterative and incremental development methodology.


Explain the terms iterative and incremental in relation to software development
methodologies.

Iterative approach is repeating the developing activities while incremental approach


involves breaking a problem into smaller parts and developing these parts iteratively.

Page 2 of 27
Question 18 (4 marks)

The following chart (Figure 5) shows the cost of detecting


g and correcting a fault that is
caused in the planning phase..

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)

Study the following Use Case Diagram given in Figure 7.

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

(A) Project faces significant risks


(B) Total cost is very important
(C) Requirements are well understood
(D) Product must be of high quality

Question 21 (7 marks)

A) What is the main difference between structured approach and object-oriented


approach to software development? (3 marks)

Structured = modeling data and processes separately


OO = models process and data together by using classes.

B) What is the underlying principle of agile methodology? (2 marks)

Ability to handle/manage change in the middle of the project

C) Extreme Programming (XP) is an example of agile method. Explain what happens


as part of the Pair-Programming practice of XP. (2 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

• Integration Testing - Tests the behavior of a group of modules or methods

• System Testing - Tests the behavior of the entire system (functional reqs)

Page 6 of 27
Page 7 of 27
Section C– Case Study Questions

Question 24 (45 marks)


Read this problem statement very carefully and use it to answer parts (A) to (G) of this
question.

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)

Event Trigger Source Use Case Response Destination


1) Customer New Customer Register
submits registration
registration
request
Car query Customer Search Cars Car details Customer
2) Customer
searches for
cars

3) Customer/ Reservation Customer/Sales Reserve Car


Salesperson request person
Reserves a car

4) Customer Updated profile Customer Update Profile


updates profile

Registration Sales Manager Approve Registration Customer


5) Sales Manager approval Registration Approval
approves Decision
registration
request

6) Sales Manager Reservation Sales Manager Approve Reservation Customer


Approves approval Reservation Approval
Reservation Decision
Request

7) Inventory Car Details Inventory Manager Cars


Manager Manager
manages cars

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)

ExtremeCar Booking System

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

2. The IM updates the car details

3. The IM submits the change 3.1 Update the car details.


3.2 Display the updated car
details
Figure 6

Page 12 of 27
(E) Create a complete sequence diagram for the scenario given in part (D) above. (8
marks)

(F) Give examples of two non-functional requirements of this system. (1 mark)

Security: Only registered users can search for cars


Usability: The system should be easy to learn

Page 13 of 27
Semester 1, 2011 Final Exam Solution

Section A – Multiple Choice Questions (Each question has only one answer)

16. (A) (B) (C) (D)

17. (A) (B) (C) (D)

18. (A) (B) (C) (D)

19. (A) (B) (C) (D)

20. (A) (B) (C) (D)

21. (A) (B) (C) (D)

22. (A) (B) (C) (D)

23. (A) (B) (C) (D)

24. (A) (B) (C) (D)

25. (A) (B) (C) (D)

26. (A) (B) (C) (D)

27. (A) (B) (C) (D)

28. (A) (B) (C) (D)

29. (A) (B) (C) (D)

30. (A) (B) (C) (D)

31. (A) (B) (C) (D)

32. (A) (B) (C) (D)

33. (A) (B) (C) (D)

34. (A) (B) (C) (D)

35. (A) (B) (C) (D)

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:

• Interviewing is especially important because it is an interactive process. The


systems analyst can listen carefully, evaluate the response, and react with
follow-up questions if necessary. Another advantage of interviewing is that
the analyst can observe and gauge nonverbal responses, which often are an
important source of input.
• Document review can help you understand how the current system is
supposed to work.
• Observation evaluates the operation of the current system and verifies
statements made or documentation references.
• Surveys and questionnaires obtain input from a large number of people by
asking standard questions, so that the results can be tabulated and analyzed.
• Sampling examines examples of actual documents and transactions that
represent the overall population.
• Research can provide you with background information, technical material,
and news about IT industry trends and developments.

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)

Given below is a sequence diagram.

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)

D) What is the underlying principle of agile methodology? (2 marks)

Ability to handle/manage change in the middle of the project.

E) Extreme Programming (XP) is an example of agile method. Explain what happens


as part of the Pair-Programming practice of XP. (2 marks)

One programmer works on the algorithm while the other works on the code. Then
they switch seats.

Question 25 (7 marks)

A) State an advantage of Thin Client over a Fat Client in a Client/Server Architecture


and briefly explain your answer? (2 marks)

Flexibility in terms of deployment


Each of maintenance

B) Briefly (in one or two sentences) explain what you understand by cloud
computing (2 marks)

Cloud computing is making computational resources available over a network,


which can be private or public, for example the Internet.

C) State an advantage of cloud computing. (1 mark)

o Lower initial capital costs and predictable recurring expenses:


o Greater agility and scalability,
o Access to more advanced software and capabilities,
o Access to the latest versions of software,
o Collaboration,
o Less patching, faster deployment, increasing reliability and security,
o More robust multi-layered security systems.

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

Question 26 (57 marks)


Read this problem statement very carefully and use it to answer parts (A) to (H) of this
question.

SCIMS Lab Booking System


Each semester SCIMS staff planning to use the ICT Center Teaching Labs would send
their lab booking request to the SCIMS IT personnel via email. For example, in IS323 I
had reserved the six one-hour lab sessions by sending an email to our IT personnel. You
are required to design a web based Booking System that will allow staff to book their
respective lab classes.

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)

Control = 9 (one for each non-trivial use case)

(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

You might also like