Uploaded by Saleem Iqbal

OOSE

advertisement
COMSATS University, Islamabad
Department of Computer Science
Terminal Examination
Semester: Fall 2020
Class/Section: - BS(SE) IV, VII
Date: January 07, 2021
Subject: - CSE304 Object-Oriented Software Engineering
Time: - 2 hours
Instructors: - Dr. Iftikhar Azim Niaz, Lailma Javed, Shahela Saif
Marks: - 30
_______________________________________________________________________________
=============== (Question 01 and 02 are mapped with CLO-2) ===================
Question 01 - (5 x 5 marks)
Case Study – Placement Company
Elixir hiring company is a temporary staffing agency catering to the needs of the firms that want to hire
temporary or contractual staff that have some specialized skill or technical ability. This may be done for a
special project or due to need of some technical expertise. Elixir’s role is to negotiate contracts with its client
companies, to whom it provides the temporary staff for a specified skill at some agreed upon payment. The
professionals registered with Elixir are from varied backgrounds – managerial and technical as well, computer
programmers to astrophysicists. Many companies are also registered with it that may need such staff.
In order to request the services of any professional, a client company issues a staffing request. This is based
on a contract already signed between Elixir and the client company. This staffing request is received and
processed by the contract manager – he assigns it a reference number and adds it to database. This information
can be later retrieved from database to review terms and conditions of the contract and to check validity of the
staffing request. The staffing request is valid if the contract has not expired, the type of professional or
scientific employee requested is listed on the original contract, and the requested fee falls within the negotiated
fee range. If the staffing request is not valid, the contract manager sends the staffing request back to the client
with a letter stating why the staffing request cannot be filled, and a copy of the letter is filed. If the staffing
request is valid, the contract manager enters the staffing request into the staffing request database as an
outstanding staffing request. The staffing request is then sent to the Elixir services department.
Once a (staffing) request has been made, the Services Department checks the database to confirm the type of
staff member, experience, and qualifications requested. If any person with needed qualifications is found he is
marked ‘reserved’ in database. In case a person with needed qualifications is not found, the department creates
a report explaining the unavailability and attaches this report to the staffing request.
All staffing requests are then sent to the Stationing Department. Stationing department contacts the prospective
employee and checks is he or she agrees to the placement. If an agreement has been reached, the staff member
is considered ‘’placed’ and his status is updated in database. The client company is sent a bill for the placement
fee along with a copy of staffing request. These details are also sent to the contract manager. In case the
position does not get filled the contract manager gets a ‘unable to fill’ report as well. If the position was filled,
the contract manager will now close the staffing request, if it was not filled the client is notified.
a. Create an activity diagram for the business process described above.
b. Create a use case diagram for the system described above
Question 02 - (5 marks)
Consider a website that allows customers to order a product over the Web (e.g., Amazon.com). Create a
structural model (Class diagram) that the site must need to support its business process.
a. Be sure to include the attributes and operations to represent the type of information they use and
create.
b. Draw relationships, making assumptions about how the classes are related.
=================== (Question 3 is mapped with CLO-3) ====================
Question 03 - (5 x 5 x 5 marks)
Case Study - Hotel Chain
You are contracting with a client who runs a small hotel chain. This client wants you to design a piece of
software to handle the day-to-day operations of the business. You have asked for information about how the
business is run and receive the following description.
We own several hotels and need to keep track of pricing, availability, and reservations in each building.
Customers may call ahead to place reservations; they may also simply walk in to get a room (which is pretty
much like making a reservation that starts immediately). The customer’s reservation will specify how long the
room is reserved. Once the customer finishes the stay, we charge payment for the room. We need to make sure
that appointments never overlap, of course.
We also provide services during the customer’s stay: pay-per-view movies, delivery service, and so on. When
we make a bill for the customer, we must keep track of the cost of the stay, the duration of the stay (as
customers may leave before or after their reservation is complete), and any services that the customer
consumed. Different hotels offer different services, so we need to keep track of the offerings at each hotel.
Note that prices may change over time, so we need some way of keeping track of what the customer paid
during their stay regardless of what prices are now.
We also charge for overstaying a reservation. If a customer is still staying in a room past the end of a
reservation, we charge the regular rate for the room plus a ten percent fee. Customers are allowed to extend
their reservations, though, so this fee only applies if the customer overstays the reservation without asking us
to extend it. In rare cases, we will also charge fees for missing or damaged items – some customers seem to
have a fondness for our towels – and we bill these fees in the same way that we bill services.
We also have a customer rewards program to encourage customer loyalty. Customers may have
a rewards account which allows them to accumulate rewards points. One point is earned for each dollar the
customer spends. Customers may pay their bills using either points or money but not both. Rooms and services
have prices in terms of points as well as in terms of money. Points do not last forever; they expire two years
after they are earned if they have not been spent. This means that we need to know not only how many points
each customer has but also when they were earned. Remember that different amounts of points can be earned
at different times.
Understanding the scope and nature of the software, answer the following questions:
a. How would you split the software construction process into smaller activities? Build a WorkBreakdown- Structure for it.
b. Create a change management strategy, anticipating the nature and frequency of changes that the
customers/developers/testers could make. Justify your answer.
c. Devise a integration testing plan considering that the customer needs an early delivery of the software.
Also list down which testing techniques shall be used for this software and why. Justify your answer.
Students are required to draw all the UML diagrams in any UML diagrams
drawing tool preferably Microsoft Visio. Please submit the paper written in MS
word file including all the UML diagrams and submit it in Microsoft Teams within
the stipulated deadline.
The filenames for the submitted Papers (in MS Word Format) must be in the following format.
Student-Registration-No_Term.docx (e.g. FA17-BSE-100_Term.docx)
Download