Software Engineering
Question 1. Khaled and Ahmad have a grocery store in Al-Olaya. The store sells all types of grocery items.
Khaled and Ahmad heard that you are currently taking a class involving Requirements Modelling and solicited
your assistance to help develop a Point-of-Sales system for the store. Some of the expected capabilities of the
system include the ability to capture sales for each item sold, be able to accept cash payments or credit card
payments, be able to track total sales by transaction or by time period, be able to track an item’s inventory
level, be able to print a receipt, be able to list/print the inventory level for a specific item, and be able to track
vendors/suppliers.
You are expected to develop 3 uses cases to model the system.
Question 2. Consider the world of libraries. A library has books, videos, and CDs that it loans to its users. All
library material has a id# and a title. In addition, books have one or more authors, videos have one producer
and one or more actors, while CDs have one or more entertainers. The library maintains one or more copies of
each library item (book, video or CD).
Copies of all library material can be loaned to users. Reference-only material is loaned for 2hrs and can’t be
removed from the library. Other material can be loaned for 2 weeks. For every loan, the library records the
user, the loan date and time, and the return date and time. For users, the library maintains their name,
address and phone number.
Draw a class diagram (or two, if this is more convenient) for the description above. Make sure to show
attributes, multiplicities and aggregations/compositions, where appropriate. No need to show any operations.
Question 3. To give an exam, an instructor first notifies the students of the exam date and the material to be
covered. She then prepares the exam paper (with sample solutions), gets it copied to produce enough copies
for the class, and hands it out to students on the designated time and location. The students write their
answers to exam questions and hand in their papers to the instructor. The instructor then gives the exam
papers to the TAs, along with sample solutions to each question, and gets them to mark it. She then records all
marks and returns the papers to the students.
Draw a message sequence chart that represents this process. Make sure to show when is each actor
participating in the process. Also, show the operation that is carried out during each interaction.
Question 4. Give a statechart diagram that describes the process of passing a graduate course as a set of
concurrent activities. The process has as follows: To pass, a student has to attend all but two lectures, present
to the class a paper she read, and complete a course project, due on the last day of the term. To give her
presentation, the student is given a date by the instructor, prepares her presentation, and gives it on the
assigned day. At any time, the student can drop the course.
Make sure to define events, conditions, actions for transitions in your diagram, where appropriate.