Apartment Rental System
Phase 1
Chris Moessmer
CSCI 311
November
16, 2002
Table of Contents
UC 2 – Check Unit Availability
UC 5 – Analyze Rental Application
UC 8 – Enter Rental Application
UC 9 – Check Tenant Information
Class Model Narrative & Explanations
Apartment Contact Relationships
Class Responsibility and
Collaboration Cards (CRC)
Sequence Diagram 1 – Apartment
Manager Enters a Rent Payment
Sequence Diagram 2 – Maintenance
Worker Checking Unit Status
Scenario 1 – For Use Case Analyze
Rental Application
Scenario 2 – For Use Case Check Unit
Status
The
vast majority of medium and large apartment complexes do not use computer
systems to manage individual apartment rentals and information relating to
renting apartments. Currently apartment
managers use antiquated means to track apartment rentals such as paper filing
systems, 3 X 5 cards, and pen and paper ledger systems. These types of recording systems introduce
significant risks to the apartment complex record system such as, misfiling,
incorrect entries, and incorrect calculations.
These mishaps can cost the apartment complex thousands of dollars in
lost revenues and wasted time.
The new apartment rental system will
greatly simplify the record system used today by allowing managers to focus on
managing the apartment complex rather than bookkeeping and record
tracking. This system will allow
apartment managers to accurately track and integrate data related to apartment
rentals, occupancy rates, turnover rates, and walk in foot traffic. In addition, the system will integrate all
components of the apartment rental process to include, deposit tracking, renter
information, apartment unit information, and perspective renters. Integrating the data into one application
will allow apartment managers to have all the data pertinent to the entire
rental process at their finger tips, and using the integrated reporting tools
apartment managers will be able to make informed decisions based on all the
data rather than the individual components.
The reporting component of the apartment management system is not in the
scope of this design.
Finally, the
apartment management system will store data including information about the
apartment complex, tenants, and prospective tenants. In addition, it will store information about the apartment rental
units including, maintenance status and occupancy status.
The data storage method will be a suitable database that has the capability to create dynamic queries. Dynamic queries allow the user to create reports on the fly.
Please see below for a listing of all system requirements.
|
Req. # |
Requirement Entry Date or Change date |
Req. Criticality |
Req. Area |
Description of Requirement |
|||
|
1 |
8/1/02 |
Must |
Apartment Unit Maintenance |
Track rental unit maintenance information |
|||
|
1.1 |
8/1/02 |
Must |
Apartment Unit Maintenance |
Store Maintenance Information Age of Paint Age of Carpet Linoleum age Overall apartment condition |
|||
|
2 |
8/1/02 |
Must |
Apt. Unit Rental |
Store Occupancy Information Date Occupied Date Vacated |
|||
|
3 |
8/1/02 |
Must |
Apt. Unit General |
Store Apt. type Number of bedrooms Number of baths |
|||
|
3.1 |
8/1/02 |
Must |
Apt. Unit General |
Store Parking Information Covered Uncovered |
|||
|
4 |
8/1/02 |
Must |
Apt. Tenant Info. |
Store Tenant Information Name Social Security Monthly Salary Make, Model, License Number on Veh, Drivers License Number Current Employer Unit Number Occupied Occupancy Date |
|||
|
5 |
8/1/02 |
Must |
Inquiry Information (Walk in traffic) |
Store Walk in traffic information Name Current Address Phone Number Interest Level |
|||
|
6 |
8/1/02 |
Must |
Deposit Tracking |
Store Deposit Information Amount of deposit Who left the deposit Deposit for which unit |
|||
|
7 |
8/1/02 |
Must |
Apartment Unit Ledger |
|
|||
|
7.1 |
8/1/02 |
Must |
Apartment Unit Ledger |
Credit Entries (Payments) |
|||
|
7.2 |
8/1/02 |
Must |
Apartment Unit Ledger |
Debit Entries (Charges) |
|||
|
7.3 |
8/1/02 |
Must |
Apartment Unit Ledger |
Unit Number |
|||
|
7.4 |
8/1/02 |
Must |
Apartment Unit Ledger |
Unit Deposits |
|||
|
8 |
8/1/02 |
Must |
Credit Report |
Store Credit information - it is out of scope to model the credit reporting agency – only store the information returned from the credit reporting agency. |
|||
|
9 |
8/1/02 |
Must |
Reporting Module |
Allow the apartment manager to run several different types of reports based on selection criteria. |
|||
|
10 |
10/10/02 |
Must |
Reporting Module |
Allow the apartment employees to run several differenc |
|||

UC 1 – Run Credit Report |
|
|
Primary Actor |
|
|
Office Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Accesses the apartment rental system to access the prospective tenants credit report – wants accurate reliable information. Perspective Tenant – wants financial credit accurate and reliable |
|
|
Preconditions |
|
|
Rental applicant supplied the rental agent accurate information |
|
|
Postconditions |
|
|
Rental agent is supplied with the prospective tenant’s financial credit report that will assist the apartment manager to approve or reject the rental application |
|
|
Main Success Scenario |
|
|
Rental agent or apartment manager accesses the Apartment Rental system and enters the rental applicant’s information. Once the rental applicant’s credit report is displayed the rental agent prints out the credit report and gives it to the apartment manager for approval. |
|
UC 2 – Check Unit Availability |
|
|
Primary Actor |
|
|
Apartment Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Wants to check the availability of a unit. This could be a unit that is either occupied or unoccupied. |
|
|
Preconditions |
|
|
The unit number is a valid unit number in the apartment complex |
|
|
Postconditions |
|
|
Rental agent or apartment manager has entered a valid apartment number and the information about that apartment is displayed on the screen |
|
|
Main Success Scenario |
|
|
The rental agent or apartment manager enters a valid apartment number in that Apartment Rental System, and the system returns the status of the apartment. |
|
UC 3 – Enter Foot Traffic |
|
|
Primary Actor |
|
|
Office Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Wants to collect the perspective renter’s information Perspective Tenant – wants to view an apartment |
|
|
Preconditions |
|
|
None |
|
|
Postconditions |
|
|
Rental agent or apartment manager has successfully entered the perspective tenant’s information in the Apartment Rental System. |
|
|
Main Success Scenario |
|
|
Rental agent greets the perspective renter, and request that the perspective renter fills out an information card. Once the card is filled out, the rental agent enters the information into the Apartment Rental System. |
|
UC 4 – Check Unit Status |
|
|
Primary Actor |
|
|
Apartment Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Wants to check the Status of a unit. This could be a unit that is either occupied or unoccupied. |
|
|
Preconditions |
|
|
The unit number is a valid unit number in the apartment complex |
|
|
Postconditions |
|
|
Rental agent or apartment manager has entered a valid apartment number and the information about that apartment is displayed on the screen |
|
|
Main Success Scenario |
|
|
The rental agent or apartment manager enters a valid apartment number in that Apartment Rental System, and the system returns the maintenance status of the apartment. This includes the life of the paint, life of the carpet, and other maintenance related information. |
|
UC 5 – Analyze Rental Application |
|
|
Primary Actor |
|
|
Apartment Manager |
|
|
Stakeholders and Interests |
|
|
Apartment Manager– Wants to analyze the rental application to make sure that it meets the requirements to admit the rental applicant as a new tenant. |
|
|
Preconditions |
|
|
The apartment manager has the rental application, and it contains all the information necessary. |
|
|
Postconditions |
|
|
A decision has been made by the apartment manager to accept or reject the rental application. |
|
|
Main Success Scenario |
|
|
The apartment manager pulls up the rental application in the Apartment Rental System that contains all the information necessary to make a decision to accept or reject the new applicant. The apartment manager analyzes the rental application, and makes a decision to accept or reject the rental application. |
|
UC 6 – Balance Deposit Ledger |
|
|
Primary Actor |
|
|
Apartment Manager |
|
|
Stakeholders and Interests |
|
|
Apartment Manager– Wants to keep track of all deposits left by perspective renters. Wants to make sure that all deposits left balance the total amount of deposits on hand. |
|
|
Preconditions |
|
|
Deposits have been left by perspective renters that are logged in the system. |
|
|
Postconditions |
|
|
The deposit ledger balances with what is currently on hand. |
|
|
Main Success Scenario |
|
|
The apartment manager starts the deposit ledger component of the apartment rental system, and compares the amount that the deposit ledger indicates with the amount on hand. Additionally, the apartment manager accounts for the number of deposits left with what the system indicates. Once the manager is satisfied, the manager logs out of the deposit ledger component of the Apartment Rental System. |
|
UC 7 – Run Reports |
|
|
Primary Actor |
|
|
Office Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Accesses the apartment rental system to run the reports. |
|
|
Preconditions |
|
|
Information in the system is accurate and up to date. |
|
|
Postconditions |
|
|
The report the rental agent or apartment manager requested is displayed on the screen – the new report can either be viewed on the screen or printed out on the printer. |
|
|
Main Success Scenario |
|
|
Rental agent or apartment manager accesses the Apartment Rental system and accesses the reporting component of the system. Either a predefined report or a custom report is selected a run. Once the report has completed, the user can either view the report on the screen or print out the report on the printer. |
|
UC 8 – Enter Rental Application |
|
|
Primary Actor |
|
|
Office Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Accesses the apartment rental system, and enters the rental application into the system so that it can be viewed electronically and saved. |
|
|
Preconditions |
|
|
The rental application is complete. |
|
|
Postconditions |
|
|
The information on the paper rental application has been entered into the system. |
|
|
Main Success Scenario |
|
|
Rental agent or apartment manager receives a rental application from a perspective tenant, and checks it to make sure that all information is filled in and complete. The apartment management system is then accessed, and the information on the paper rental application is entered into the system. Once the information has been entered into the system, the information is saved. |
|
UC 9 – Check Tenant Information |
|
|
Primary Actor |
|
|
Office Employee |
|
|
Stakeholders and Interests |
|
|
Rental Agent or Apartment Manager– Accesses the apartment rental system, and accesses the tenant information component. |
|
|
Preconditions |
|
|
All the required information has been entered into the system about the tenant. |
|
|
Postconditions |
|
|
The tenant information is displayed on the screen. |
|
|
Main Success Scenario |
|
|
Rental agent or apartment manager accesses the apartment rental system, and enters the name of the tenant and the unit number of the tenant and presses enter. Once the tenant information is displayed on the screen – the data can either be viewed on the screen or printed out on the printer. |
|

Unit status is an aggregate of ExternalStatus and InternalStatus. I made this design decision because the internal status and the external status of an apartment unit is actually part of that UnitStatus, and ExternalStatus and InternalStatus could not exist without the class UnitStatus. In addition, the class model is easier to understand when designed this way.
When creating the relationships for Apartment Contact I decided to use inheritance for Prospective Renter and Tenant because both Prospective Renter and Tenant are both apartment contacts, and meet the requirements of the “Is A” relationship.
The rest of the relationships in the class model are simple relationships that do not require explanations.
Apartment
|
|
|
Store Internal and external Unit
status |
UnitStatus |
|
Store Apt. Info. |
|
|
Store Deposit Information |
Ledger |
|
Store Rent Payment Information |
Ledger |
Prospective Renter
|
|
|
Store Personal Info. |
Apartment Contact |
|
Store Date Visited |
|
|
Store Interest Level |
|
UnitStatus
|
|
|
Store Unit Condition |
|
|
Store New Paint Date |
|
|
Store New Carpet Date |
|
|
Set New Paint Date |
|
|
Store the status of the unit |
|
|
Get Apartment Number |
Apartment |
|
Store External Status of unit |
Contains External Status Class |
|
Store Internal Status of Unit |
Contains Internal Status Class |
|
|
|
RentalApplication
|
|
|
Store Tenant Personal Information |
Apartment Contact |
|
Store Credit History |
Credit Report |
|
Store Previous Rental History |
|
|
|
|
Ledger
|
|
|
Get Apartment # |
Apartment |
|
Get Deposit Amount |
Line Item |
|
Set Deposit Amount |
Line Item |
|
|
|
CreditReport
|
|
|
Store Personal Info. |
Apartment_Contact
|
|
Store Credit report |
|
|
Store Credit Information |
Apartment Contact |
|
|
|
|
|
|
Line Item
|
|
|
Store Amount – Value |
Ledger |
|
Store Item Number |
Ledger |
|
|
|
Apartment_Contact
|
|
|
Get Apartment Number |
Apartment |
|
Store Personal Information |
Tenant :: or Foot traffic |
|
Store # of people living in the unit |
|
|
Store the move-in date |
|
|
Store Credit History |
RentalApplication :: CreditReport |
|
Store Type of Contact |
|
|
Get deposit amount |
Ledger |
Tenant
|
|
|
Store Personal Info. |
Apartment_Contact
|
|
Get Apartment Unit |
Apartment |


The apartment manager Jim Smith logs into the Apartment management system by entering his user name “JimMgr” and his password “********”. The Apartment Management System validates Jim’s user name and password, and the initial screen is displayed for Jim to select what he would like to do next. Jim selects the option “Analyze Rental Application”. The Analyze Rental Application screen is displayed, and Jim enters the Social Security number of the applicant( “234-45-6789”). The system validates that there is a rental application in the system that matches the Social Security number entered, and successfully displays the applicant’s rental application. Jim then analyzes the rental application for the minimum qualifications that consist of;
1. Applicant must make at least $1200.00 per month
2. Applicant must have been at their current job at least 12 months
3. Applicants references must be verifiable
If the rental applicant meets all the following criteria then Jim approves the application, and the initial screen “Analyze Rental Application” is displayed again. At this point Jim logs out of the analyze rental application, and the approved rental application is sent back to the rental agent for applicant notification.
The maintenance supervisor, Sally Long logs into the apartment management system by entering her user name “SallyMaintSup” and her password “********”. The Apartment Management System validates Sally’s user name and password, and the initial screen is displayed for Sally to select what she would like to do next. Sally selects the option “Check Unit Status” from the main menu. After making her selection from the main menu, the apartment management system requests the unit number. Sally enters unit “654”, and the maintenance information for unit “654” is displayed on the monitor. Sally is interested in the date the unit was last painted and if the unit is occupied. Sally notes the information and logs out of the system.