Case Study: Real Estate Multiple Listing Service System
Beginning the Analysis: Investigating and Modelling System Requirements
1. To what events must the multiple listing service system respond? Create a complete event table listing the event, trigger, source, use case, response, and destination for each event.
List of events and resulting use cases with explanations:
1. Event: Real estate office submits new listing.
Use case: Add new listing.
The event is the real estate office sending in the information after the agent signs the listing.
2. Event: Agent requests listing information.
Use case: Provide listing information.
This is the query facility where the agent can get listing information that meets search criteria.
3. Event: Time to produce multiple listing book.
Use case: Produce multiple listing books.
This is a temporal event triggered twice a month, resulting in the multiple listing book being sent to the real estate agents. Note the “book” does not have to be printed on paper, so this can remain a logical model. The class might debate this, though.
4. Event: Real estate office submits listing change request.
Use case: Record listing change.
This represents changes in the listings to correct errors, update terms such as price, and mark the status of a listing when it is under contract, sold, or withdrawn.
5 & 6. There really should be two additional events and resulting use cases, although they were not explicitly stated in the case. When real estate offices are added or changed, the system needs to maintain real estate office data. In addition, when an agent is added or needs updating, the system needs to maintain agent data. These two events/use cases could be added to the event table below.
Event Trigger Source Use Case Response Destination 1. Real estate office submits new listing New listing RE Office Add new listing 2. Agent requests listing info Listing query Agent Provide listing information Listing information Agent 3. Time to produce multiple listing book “15th and 30th of the month” Produce multiple listing book Multiple listing book Agent 4. Real estate office submits listing change request Listing change request RE Office Record listing change
2. Develop a use case diagram.
Develop a system sequence diagram for each use case.
Develop a fully developed use case description or an activity diagram for each use case.
Solutions below develop both in pairs.
5. Draw an entity relationship diagram to represent the data storage requirements for the multiple listing service system, including the attributes mentioned. Does your model include data entities for offer, buyer, and closing? If so, reconsider. Include information the multiple listing service needs to store, which might be different from information the real estate office needs to store.
Data entities and attributes for ERD:
This is limited to three data entities to store information on the listings and the agent and office responsible for each listing. Buyers, sellers, and closings are not included. The data entities and attributes are:
Real Estate Office
Office Manager Name
Real Estate Agent
Agent Number (license number?)
Real Estate Listing
Date Last Updated
6. Convert your ERD to a domain class diagram.
Take attributes from Listing that apply to single-family house and put them in a subclass SingleFamilyListing. Put attributes applying to commercial listings in a subclass CommercialListing.
Revised solution would be this: