Case Study: Real Estate Multiple Listing Service System

advertisement
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 Table
Event
1. Real estate
office submits
new listing
2. Agent requests
listing info
3. Time to
produce multiple
listing book
4. Real estate
office submits
listing change
request
Trigger
New listing
Source
RE Office
Use Case
Add new listing
Response
Destination
Listing query
Agent
Provide listing
information
Produce multiple
listing book
Listing
information
Multiple
listing book
Agent
“15th and 30th
of the month”
Listing change
request
RE Office
Record listing change
Agent
2. Develop a use case diagram.
Add a listing
Requst listing
information
Print listing book
MLS Clerk
Maintain real estate
office information
Maintain agent
information
Change listing
information
Agent
3. Develop a system sequence diagram for each use case.
4.
Develop a fully developed use case description or an activity diagram for
each use case.
Solutions below develop both in pairs.
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Add a listing
Add a single listing
Agent wants to add a listing to the database.
Clerk in the MLS office
MLS clerk
Agent
RE office clerk
Real estate agent must exist.
New listing object must exist.
Actor
1. Enters agent information.
2. Enters new listing information.
Exception
Conditions:
1.1 Agent is not found in the database.
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Request listing information
Agent requests listing information
Agent wants listing information.
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Exception
Conditions:
RE agent
MLS clerk
Agent
Agent must exist.
Listing must exist.
None
Actor
1. Enters agent information.
2. Requests listing based on search
criteria, such as location, price range,
listing agent, and so on.
1.1 Agent is not found.
2.1 No listing matches are found.
System
1.1 Verifies agent and finds and
display status.
2.1 Creates new listing and
displays information.
System
1.1Verifies requesting agent and
displays agent information.
2.1 Finds and displays listing
information.
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Exception
Conditions:
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Print listing book
Simple printing of book
It is time to print listing book.
MLS clerk
Agents
Offices
Listing data must exist.
None
Actor
1. Enters listing print request. Enters
any special selection criteria.
None
Change listing information
Update existing listing information
Agent needs to change listing information.
Real estate agent
MLS clerk
Agent
Office
Agent
Listing is changed.
Actor
1. Enters agent ID.
2. Enters listing number.
2a. Invokes RequestListing use case.
2b. Chooses listing to update.
3. Enters listing updates.
Exception
Conditions:
System
1.1 Queries the database. Prints
the listings.
System
1.1 Verifies and displays agent
information.
2a.1 Gets listing information.
Validates agent has rights to
change listing. Displays data.
3.1 Updates and displays listing
information.
1.1 Agent is not found.
2.1 Listing is not found.
3.1 Agent is not authorized to change listing.
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Exception
Conditions:
Use Case Name:
Scenario:
Triggering Event:
Brief Description:
Actors:
Stakeholders:
Preconditions:
Postconditions:
Flow of Activities:
Add/update real estate office information
Add a new real estate office
A new real estate office has joined the organization.
MLS clerk
Office manager
Clerk
None
Real estate office exists.
Actor
1. Requests blank form.
2. Enters real estate office
information.
3. Checks information for accuracy.
2.1 Duplicate of existing RE office.
Add/update agent information
Add/update agent information
Agent information needs to be updated.
MLS clerk
Agent
Clerk
Real estate office exists.
Real estate agent exists.
Actor
1. Enters RE office ID.
2. If new agent, enters new agent
information.
3. If existing agent, selects from
current list.
3a. Enters agent updates.
Exception
Conditions:
System
1.1 Displays blank form.
2.1 Assigns new key. Creates a
new RE office record. Displays
information.
System
1.1 Finds and displays real estate
office information. Displays
current list of agents.
2.1 Creates agent record.
3.1 Displays current agent
information.
3a.1 Updates agent information.
5.
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 Number
Name
Office Manager Name
Address
Phone
FAX
Real Estate Agent
Agent Number (license number?)
Name
Office Phone
Home Phone
Email Address
Cell Phone
Real Estate Listing
Listing Number
Address
Year Built
Square Feet
Number Bedrooms
Number Baths
Owner Name
Owner Phone
Asking Price
Date Listed
Date Last Updated
Status Code
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:
Listing
RealEstateOffice
RealEstateAgent
officeNumber
name
officeManager
address
phone
FAX
1
1..*
agentNumber
name
officePhone
homePhone
cellPhone
emailAddress
1
0..*
listingNumber
address
yearBuilt
ownerName
ownerPhone
askingPrice
dateListed
dateLastUpdated
statusCode
SingleFamilyListing
CommercialListing
numberBedrooms
numberBathrooms
zoning
numberStuctures
fireRating
occupancy
Download