Sszg514 Nov25 FN
Sszg514 Nov25 FN
Sszg514 Nov25 FN
Comprehensive Examination
(EC-3 Regular)
Q.1. Explain how Unified Process can be tailored and combined with Agile Software Process
in order to develop Agile Unified Process. What are the advantages of using the Agile
UP? [4]
Q.2. SOLID is an acronym of acronyms. Explain each principle (with the help of an example)
which together forms the SOLID principle. [5]
Study the description of the system given below and answer the questions that follow:
(Q.3. to Q.5. are based on this case study)
A website engaged in selling chocolates has a huge customer base. The customer can order
chocolates for immediate delivery (within 24 hours) or place post-dated orders (for even a
year in advance).
• In case of post-dated orders, the customer is contacted two days before order date about
the upcoming order delivery date and content. At this time, the customer can wish to add
or modify order contents (under the constraint that there should be no lowering of the bill
amount). However, deleting such order (post-dated) at any point of time is not allowed.
• Modifying contents of immediate orders is also subject to the constraint that the modified
order value should not be less than 80% of the original order.
• Deleting immediate orders is allowed only if more than 8 hours are remaining in the
delivery time.
• Changing the delivery address of any order (immediate or post-dated order) is considered
as deleting the order.
• Finally, the customer can make payment (for both immediate and post-dated orders)
either through credit card, wire transfer or cash on delivery.
Q.3. Draw the Use Case Diagram for the above system. Identify all the primary and secondary
actors. Identify all the main uses cases of the system and depict “includes”, “extends” and
“generalization/specialization” relationships, wherever applicable. [4]
Q.4. Draw the Class Diagram for the above system. Identify all classes, their attributes, and
methods. Represent relationship between classes using appropriate notations. [6]
Q.6. Identify and explain the GRASP pattern applied in each of the following case scenarios:
(a) In a web-based library management system, all requests to issue/return/search
books based on author or book name are routed to the ‘LibraryManager’ class,
which forwards them to the respective domain classes.
(b) An online railway reservation system displays the required rail information by
reading data from the centralized server located at the head office. The class named
‘RetrieveRailInfo’, which is not a part of the domain model of the system, is
responsible for reading data from the database.
(c) In a game of cricket, the ‘CricketGame’ class stores information about the scores of
each player and that of the entire team. This class is further responsible for deciding
and declaring which team wins. [3 x 3 = 9]
Q.7. The Observer Pattern defines a one-to-many dependency between objects so that when
one object changes its state, all its dependents are notified and updated automatically. It
encapsulate the engine components in a Subject abstraction, and the variable (or optional
or user interface) components in an Observer hierarchy. There are four participants
involved in this pattern: Subject, ConcreteSubject, Observer and ConcreteObserver.