1) Explain the following three key concepts of object-oriented technology. Illustrate each one using examples.
a) Encapsulation of data and methods
b) Support for polymorphism
c) Inheritance within class hierarchies.
2) Explain the main practices in the following agile development methods:
a) Scrum
b) Extreme Programming (XP)
c) Crystal Clear
3) Write a use case for each of the following:
a) A borrower renews a book from an online library.
b) A buyer bids for an item on Ebay.
c) A seller wants to auction an item on Ebay.
4) This case study is based on The Pet Connection website at https://www.thepetconnection.com/index.htm. It will be used to discuss the questions related to the Inception Phase in the Unified Process (UP).
The Pet Connection was formed under a very simple premise: "To assist pet breeders and pet buyers in the process of finding the perfect pet." (https://www.thepetconnection.com/breeder/breeder_home.htm.)
The Pet Breeder service is designed to:
• Enable buyers to learn about specific breeds via our online pet knowledge base.
• Enable buyers to learn more about specific pet breeders.
• Allow buyers to obtain complete information about additional services provided by breeders.
• Allow buyers to view pet pictures along with other pertinent data on available pets.
• Determine pet availability on a local, regional and national basis.
• Provide a "pet search matching" service for pet buyers.
a) List down the initial use cases for the Pet Breeder service, and give a brief description for each use case identified.
b) The following list contains the artifacts the UP specifies for the inception phase:
Vision and business case
Use case model
Supplementary specification
Glossary
Risk list and risk management plan
Prototypes and proof-of-concepts
Iteration plan
Phase plan and software development plan
Development case
Based on the Pet Breeder case study, briefly describes the contents of each artifact with some examples. You may include diagrams in your discussion.
5) The questions below are based on the following scenario:
We wish to build a university module registration system. We want students to be able to browse and select among the entire undergraduate module offered in a semester. A student's selections are entered into his or her permanent record (transcript); each module is updated with an outcome at the close of the semester.
In registering for modules, each student fills out a schedule, with minimum and maximum number of modules determined by student category (e.g., part-time, honours, ordinary). Students considering a module can browse information about its teacher and a module abstract, as well as determine what prerequisites it has, when it meets and how many credits it is worth. A module selection is accepted if its prerequisites have been met, if it does not exceed the total allowed hours, and if its meeting time does not conflict with other modules on the student's schedule.
Tutors can use the system to monitor the registration process for the modules they have been assigned, to see how many students are currently registered for a module and who they are.
a) Draw a System Sequence Diagram for the Register Module use case.
b) Identify the conceptual classes.
c) Using the appropriate UML notation, draw the complete domain model showing the associations and attributes.