Sie sind auf Seite 1von 113

HC VIN QUC T FPT FPT-ACADEMY INTERNATIONAL _______________________________________________________

MySweetHome
Developments Guide Faculty: Kieu Trong Khanh Batch No: 2005-0706 Y2 Group No: 2 Student: No Full Name 1 Nguyen Quoc Quynh Khoi 2 Nguyen Trong Hieu 3 Huynh Tan Phuc 4 Phan Vinh Loc 5 Bui The Anh Roll No VN.033/200510/0110 VN.033/200609/0417 VN.033/200511/0128 VN.033/200512/0151 VN.033/200702/0024

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

REVIEW 1

Project Team: 02

Prepared by: All members

Page 2 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Introduction

SweetHome is a company that deals in real estate business. They started off in a city by doing lot of surveys to get the information about the local market, available properties, rates etc. and then they started publishing a magazine named MySweetHome in order to reach to the people. In early days of their business they used to publish the magazine on quarterly basis but growing business made them to publish the magazine monthly and also opened an office in the city. Now they have offices in different other cities of the state. Because of their services they have attracted a vast number of customers in very short duration of time. The staff answers the simple queries of the customers on phone but for details like charges, detailed procedures; they have to come down to the office. The company has tie-up with certain banks in the country with the help of these it assists customers in arranging for the loan. Each bank has its own terms and conditions about providing the loan. The company aims to break new ground by harnessing the power of technology and revolutionizing processes to buy a home for the customers a truly enjoyable and hassle-free experience. So taking into consideration the expanding business, the company planned to host the primary information via MySweetHome, where dreams come true..

Positioning
The company deals in buying and selling the properties also assists in providing accommodation on rental basis and as paying guests. They have large database of Residential, Commercial, Land / Plots in the country. If any customer walks into the office, he is required to fill an enquiry form. Then based on his preferences properties or house or plots are shown to him and then the further processing of buying or selling takes place. But with the growing of the business, this approach becomes not efficient. The company cannot process a large of enquiry form with the efficient for both the buyer and seller. A web application allow seller to submit their on sale/for rent property, and buyer to search for their requirements.

2.1 Problem Statement


The problem of

the impact of which is

a successful solution would be

2.2 Position Statement


MySweetHome do: Seller to submit their own for rent/for sale property. Seller to update their contact information for buyer to contact. Buyer to search property which is appropriate for their requirements
Prepared by: All members Page 3 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Buyer to list all property with filter. Buyer to contact with seller via the contact form, seller will receives the message via their contact e-mail. - Administrator to get report on various aspect of the business. - Administrator to suspend the posting when needed. - And some other enhancement for support user experience MySweetHome dont: Support any online payment transaction Guarantee on disaster recovery, a third party consultant is recommended. Guarantee on high availability, a third party consultant is recommended. Have any support on using the website. Have any communication between company and users (e.g.: forum) or between users (IM) except contact e-mail. Description These users are the ones who would like to buy a new house or rent a room/house. These users are the ones who has the house/room, and would like to sell or allow other people rent Responsibilities Perform a search with their requirements.

2.3 User Summary


Name Buyer

Seller

Administrator

Submit the information of for sale/for rent property. Notify MySweetHome about the status of the property. The SweetHomes employee who Monitor and maintenance the has the responsibilities to ensure the MySweetHome application, to system running smoothly. ensure the system is running smoothly. Besides that, also request application to generate the weekly/monthly report about the activities of MySweetHome application.

2.4 User Environment


Any user, with a modern web browser, should be able to use MySweetHome. Follow is a list of must support web browsers (but not limited to): Microsoft Internet Explorer 6.0 or above. Please pay attention to version 7s known issues compared to version 6. Mozilla Firefox 2.x or above Apple Safari on Mac Apple Safari on Microsoft Windows Opera 9.x or above

2.5 Design constraints


The application must have: An attractive GUI Simple navigation Well-explained error message with guide to continues

Project Team: 02

Prepared by: All members

Page 4 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

System feature

3.1 Guest can register as Seller or Buyer


3.1.1 Description The system MUST provide a page to allow user to create their account with at least: - E-mail - Password User also should specify whether they wanted to create a buyer or seller account, a user cannot be both buyer and seller. E-mail is the identity of each user; e-mail cannot be same for the difference account. 3.1.2 Functional requirements REQ-01: User must provide E-mail and Password to create account REQ-02: User must specify the type of account: buyer or seller REQ-03: E-mail is unique and is the identity of each account.

3.2 Guest can retrieve password when forgot


3.2.1 Description The system MUST provide method to allow user to retrieve password when they forgot (e.g.: forgotpassword page). When users cant remember their password, they want to retrieve password without register a new account. They need to give email address has already registered before, then system will send a message content new password to their email address. By the way, users can use their email address and new password to login system. Users can also change password by edit profile (e.g.: editprofile page). System requires an e-mail address has registered in this system to send message to user. 3.2.2 Functional requirements REQ-04: User must provide e-mail address to retrieve new password REQ-05: System needs an e-mail address has already registered in this system to send message to users.

3.3 Guest can login as Seller or Buyer


3.3.1 Description The system MUST provide some methods to allow user to login (e.g.: login page), user only can access other functionality of the website once they are logged in. When the user is logged in, the system automatically redirect user to their dashboard, according to the type of that account (buyer/seller). System requires an e-mail and password for login. 3.3.2 Functional requirements REQ-06: User must provide e-mail and password to login REQ-07: System needs to redirect user to their dashboard based on their account type. REQ-08: User only can access other web site functionality after logged in

Project Team: 02

Prepared by: All members

Page 5 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

3.4 Buyer dashboard


3.4.1 Description The main activities of Buyer are search for the on sale house or on rental house/room, manage their history. Buyer dashboard is the location where buyers can easily to access those functionalities. On the dashboard, buyer should easily to find their last 5 search and can redo the search query. Buyer also can perform a new search and receive the search results without load another page. When a property is submitted, if that property information matches with the stored search query, it will send an alert to buyer to ask them review. 3.4.2 Functional requirements REQ-09: Buyer dashboard should show last 5 search queries REQ-10: Buyer dashboard should allow user to redo one of the last 5 search queries REQ-11: Buyer dashboard should also contains the search form to allow user to perform a new search REQ-12: System matches the new coming property with the stored query, then send an alert to the appopriated buyer.

3.5 Seller dashboard


3.5.1 Description The main activities of Seller are submitting new on sale property or on rental property, and manage their submitted property. Seller dashboard is the location where sellers can easy to access those functionalities. On the dashboard, seller can submit new property; see the list of submitted property and the status of those properties. 3.5.2 Functional requirements REQ-13: Seller dashboard should allow seller to submit new property with ease. REQ-14: Seller dashboard should display a list of submitted property of the current seller

3.6 Buyer can search the database for buy a house


3.6.1 Description Buyer can perform a search on the database to buy a house; the search can be performing based on the following criteria: Range price (minimum to maximum) Square footage (m2) City Street Number of bedroom Number of bathroom Type of property: Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling The search result should represent in the grid format, sortable; Buyer clicks on a property to open the detail of the clicked property (see Seller can submit a house on sale) Buyer also can contact Seller via e-mail by using contact link on the property detail page. 3.6.2 Functional requirements REQ-15: Buyer can perform a search for buy a house
Project Team: 02 Prepared by: All members Page 6 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

REQ-16: Buyer can perform the on sale house search with the above criteria REQ-17: On sale house search result is display in the sortable grid format

3.7 Buyer can search the database for a rental house


3.7.1 Description Buyer can perform a search on the database to rent a house; the search can be performing based on the following criteria: Deposit (amount to paid as deposit, paid on move in, refund when move out) Rent (monthly paid) Square footage (m2) City Street Number of bedroom Number of bathroom Type of property: Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling The search result should represent in the grid format, sortable; Buyer clicks on a property to open the detail of the clicked property (see Seller can submit a house on rental) Buyer also can contact Seller via e-mail by using contact link on the property detail page. 3.7.2 Functional requirements REQ-18: Buyer can perform a search for rent a house REQ-19: Buyer can perform the rental house search with the above criteria REQ-20: Rental house search result is display in the sortable grid format -

3.8 Buyer can search the database for an accommodation as a paying guest
3.8.1 Description Buyer can perform a search on the database to rent an accommodation (room) as a paying guest; the search can be performing based on the following criteria: - Deposit (amount to paid as deposit, paid on move in, refund when move out) - Rent (monthly paid) - Square footage (m2) - City - Street - Number of bathroom The search result should represent in the grid format, sortable; Buyer clicks on a property to open the detail of the clicked property (see Seller can submit an accommodation as paying guest) Buyer also can contact Seller via e-mail by using contact link on the property detail page. 3.8.2 Functional requirements REQ-21: Buyer can perform a search for rental an accommodation(room) as a paying guest REQ-22: Buyer can perform the rental room search with the above criteria REQ-23: Rental room search result is display in the sortable grid format

3.9 House/Accommodation has linked with directory


3.9.1 Description As describe in the section 3.14, MySweetHome provide a service called directory, to provide more and more useful information to user, MySweetHome site decided to link between the
Project Team: 02 Prepared by: All members Page 7 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

houses on sale information with the directory information. The link between the house on sale and the directory entry will be establish by MySweetHome staff, they will meets the property owner to ask information about the house, then link between them. After that, those information will be available for buyer, when view the detail of a house, they can follow the link to know more about the service provider who build/decorate the property. 3.9.2 Functional requirements REQ-24: Administrator can establish the link between house on sale and directory entry REQ-25: Buyer can see the link between house on sale and directory entry, follow the link to find out more detail of the house.

3.10 Seller can submit a house on sale


3.10.1 Description Seller can submit a house on sale; each submitted house must contain the following information: Image of the house Price, fixed/negotiable City Street Number of bathroom Number of bedroom Square footage (m2) Type of property: Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling. Extra facilities available (Yes/No) Convenient Modes of transport (bus, train, ) With or without furniture/interiors Mode of payment (Credit card, Money transfer, cash) Contact detail (automatically using the seller information, but editable) Google map where the house located

3.10.2 Functional requirements REQ-26: Seller can submit a house for sale REQ-27: The house for sale needs the above information

3.11 Seller can submit an house on rental


3.11.1 Description Seller can submit a house on rental; each submitted rental house must contain the following information: Image of the house Deposit, fixed/negotiable Rent, fixed/negotiable City District Number of bathroom Number of bedroom Mode of payment (Credit card, Money transfer, cash) Contact detail (automatically using the seller information, but editable) Google map where the house is located

Project Team: 02

Prepared by: All members

Page 8 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

3.11.2 Functional requirements REQ-28: Seller can submit a house on rental REQ-29: The house on rental needs the above information

3.12 Seller can submit an accommodation as a paying guest


3.12.1 Description Seller can submit an accommodation on rental as a paying guest; each submitted rental accommodation must contain the following information: Deposit, fixed/negotiable Rent, fixed/negotiable City District Mode of payment (Credit card, Money transfer, cash) Contact detail (automatically using the seller information, but editable) Google map where buyer can find the accommodation

3.12.2 Functional requirements REQ-30: Seller can submit a accommodation on rental as a paying guest REQ-31: The accommodation on rental needs the above information

3.13 Buyer can contact Seller via property detail page


3.13.1 Description To increase the user experience, system should provide a way to allow Buyer to contact Seller when they found a good property. It may an system generate e-mail to Seller to notify about new potential Buyer with the information of the Buyer 3.13.2 Functional requirements REQ-32: Buyer can contact Seller directly on property detail page

3.14 Buyer can vote Seller for ranking purpose


3.14.1 Description To increase the user experience, system should provide a machenism to allow Buyer to vote for Seller. Each Buyer only can vote once for each Seller. Seller can review their voting score in their own dashboard, Buyer can review the Sellers voting score when viewing the property of that Seller. 3.14.2 Functional requirements REQ-33: Buyer can vote Seller for ranking REQ-34: Each Buyer can vote once for a Seller REQ-35: Seller score appear in the Sellers dashboard and property detail page

3.15 Directory listing real estate related location


3.15.1 Description MySweetHome provides a directory of real estate related point of interesting. User can search in this directory for: Property service providers Brokers
Prepared by: All members Page 9 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Architects - Builders - etc. Property service providers also can list their service in this directory The directory search can perform with the following criteria: Type (Property service providers, Brokers, ...) Name

3.15.2 Functional requirements REQ-36: System should provide a directory of real estate related points of interesting REQ-37: User can search directory using the above criteria REQ-38: Viewing a property service provider also list the services of that provider

3.16 FAQ to help the user to access the site functions


3.16.1 Description In order to help user to become familiar with MySweetHome, website should have an FAQ page, in that we show answers for some repeat questions. 3.16.2 Functional requirements REQ-39: System should provide a FAQ page

3.17 Enquiry form for guest (not registered user)


3.17.1 Description The property search feature is exclusive for registered buyer only, but guest also can request the information from MySweetHome by using an enquiry form, the input from guest will send directly to customer support department of MySweetHome via e-mail. 3.17.2 Functional requirements REQ-40: System should provide an enquiry form for guest REQ-41: Enquiry form will be send to a supporters email address.

3.18 Special programme: Loan for buying house from Bank


3.18.1 Description This special feature is applied for House on sale only. To help Buyer buy a house, SweetHome has a contract with some Bank, who will allow Buyer to loan a percentage of the houses price, Buyer only needs to pay the rest and slowly pay the rest each month. The percentage is varied depends on the price of the house, for example: Bank A will provide 70% loan for every house cost more than US$ 500.000 and slowly pay the rest in 10 years with interest 0.1% each year, so if buyer decide to buy a house which cost US$ 700.000, he only must pay: Initial Year 1 Year 2 Year 3 Initial pay: 30% * US$ 700.000 = US$ 210.000 Each year only around US$ 49.000 Pay (US$) 210.000 (30% of 700.000) 49.000 + 490 = 49.490 49.000 + 441 = 49.441 49.000 + 392 = 49.392
Prepared by: All members

Balance (US$) 490.000 441.000 (490.000 49.000) 392.000 (441.000 49.000) 343.000 (392.000 49.000)
Page 10 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Year 10

49.000 + 343 = 49.343 49.000 + 294 = 49.294 49.000 + 245 = 49.245 49.000 + 196 = 49.196 49.000 + 147 = 49.147 49.000 + 98 = 49.098 49.000 + 49 = 49.049

294.000 (343.000 49.000) 245.000 (294.000 49.000) 196.000 (245.000 49.000) 147.000 (196.000 49.000) 98.000 (147.000 49.000) 49.000 (98.000 49.000) 0

3.18.2 Functional requirements REQ-42: System matches the price of property with the requirement price of each Bank, notify Buyer if a property is can using the programme REQ-43: User can choose a programme to see the detail calculation. REQ-44: Each programme needs 6 informations: bank, minimum price to apply, maximum price to apply, percent of loan, interest each year, how many year to pay.

3.19 Administrator can suspends a submitted property


3.19.1 Description Due to some submitted property contains wrong/outdated information, administrator needs a function which allow them to suspend some specific property. Suspended property cannot be appears on the search result. 3.19.2 Functional requirements REQ-45: Administrator can suspend submitted property due to wrong/outdated information.

3.20 Administrator can submit property


3.20.1 Description In the expectation of SweetHome, seller will touch MySweetHome site to submit their property, but sometimes, the owner of property doesnt know how to use computer (e.g.: an old man), so they can call SweetHome to provide the detail of the property, our administrator will please to submit the home for the seller. All the submitted property details as same as normal seller, the submitted seller also the administrator, so when buyer contact, they will contact the administrator, then administrator will contact the seller due to the seller doesnt know how to check their e-mail (as our assumption above). 3.20.2 Functional requirements REQ-46: Administrator can submit a property. REQ-47: The property detail same as normal seller submitted property, property contact will be administrator

3.21 Administrator can block user


3.21.1 Description Due to reason, administrator may want to block an account; the system should allow them to perform the action. The blocked user cannot be login, nor register with the same e-mail address. 3.21.2 Functional requirements REQ-48: Administrator can block some specific account.
Project Team: 02 Prepared by: All members Page 11 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

REQ-49: The blocked account cannot be login REQ-50: User cannot register with the blocked e-mail

3.22 Administrator can generate weekly report


3.22.1 Description The company requires the following weekly report: The website weekly activities of seller: how many new submitted property for each user New coming property in week New registration user in week Outdated Property: the ones which are submitted over 15 days. Not linked house on sale: administrator will needs this report to have a list of new submitted but not establish the link with directory, they will use it to make appointment with property owner. Administrator can generate weekly activities of seller report. Administrator can generate new coming property in week report Administrator can generate new registration user in week report Administrator can generate outdated property since 15 days ago report Administrator can generate not linked house on sale report

3.22.2 Functional requirements REQ-51: REQ-52: REQ-53: REQ-54: REQ-55:

System requirements
Intel Pentium IV or better RAM 1G or better HDD 300MB available Internet connection Intel Pentium IV RAM 512MB or better HDD 100MB available Internet connection Web browser: Internet Explorer 6 or above, Firefox 2 or above with Javascript enabled Microsoft Windows XP Professional Microsoft SQL Server 2000 sp3 or later Java sdk 1.6 Visio 2007 Eclipse 3.3 with WTP Dreamweaver 8.0 Internet Explorer 7.0 Apache Tomcat 6.0
Prepared by: All members Page 12 of 113

4.1 Web application server

4.2 Client

4.3 Development Software


Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Firefox 2.0 with Firebug for javascript debugging Web service Ajax Hibernate ZK Framework JSP, Servlet HTML Spring

4.4 Technology

Date: 23/04/2012

Prepare By: Team 2 Team Leader

Approved By: Faculty

Nguyen Quoc Quynh Khoi

Kieu Trong Khanh

Project Team: 02

Prepared by: All members

Page 13 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

REVIEW 2

Project Team: 02

Prepared by: All members

Page 14 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5
5.1

Use case
Guest

5.1.1

Register as Buyer

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc Register as Buyer Guest Guest wish to become a Buyer member of this website Guest provide an email address and password Guest Success: Guest becomes a Buyer member of this website Fail: Refill information Guest Actions: System Responses: 1. Guest clicks Register button in Home 2. System redirects to Register page page menu bar and displays 2 buttons : - Register as Buyer button - Register as Seller button 3. Guest chooses Register as Buyer button 4. System displays form for Guest to input information with the following control : - Email text field - Password text field - Confirm Password text field - Register button - Cancel button

5. Guest inputs register information and submit - Provide email in Email text field ( it has use as Buyer nickname )
Project Team: 02 Prepared by: All members Page 15 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Provide password in Password text field - Provide confirm password in Confirm Password text field - Provide name in Name text field - Guest clicks Register button

Alternative flow Exception

Guest Actions: 1. Guest click Cancel button Guest Actions: [exception] 1. Guest lefts Email text field blank 2. Guest lefts Password text field blank 3. Guest lefts Confirm Password text field blank 4. Invalid email address

6. System checks the information [exception] 7. System saves input profile into database and redirects to Login page with a message Your profile has been saved successful now you can login to become a Buyer member of our website System Responses: 2. System returns previous page System Responses: System displays message to Guest : - Email cant be blank. Please input email address - Password cant be blank. Please input password - Confirm Password cant be blank. Please input confirm password - Invalid email address. Please input email in correct type - Your email has already registered. Please choose another email address - Password and confirm password didnt match. Please input the same character string in both text field

5. Email has already registered 6. Password and confirm password dont match

Project Team: 02

Prepared by: All members

Page 16 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.1.2

Register as Seller

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc Register as Seller Guest Guest wish to become a Seller member of this website Guest provide an email address, password and 3 option fields : name, address, phone Guest Success: Guest becomes a Seller member of this website Fail: Refill information Guest Actions: System Responses: 1. Guest clicks Register button in Home 2. System redirects to Register page page menu bar and displays 2 buttons : - Register as Buyer button - Register as Seller button 3. Guest chooses Register as Seller 4. System displays form for Guest to
Prepared by: All members Page 17 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

button

input information with the following control : - Email text field - Password text field - Confirm Password text field - Name text field - Phone text field - Address text field - Register button - Cancel button

5. Guest inputs register information and submit - Provide email in Email text field ( it has use as Seller nickname ) - Provide password in Password text field - Provide confirm password in Confirm Password text field - Provide name in Name text field - Provide phone number in Phone Number text field - Provide home address in Address text filed - Guest clicks Register button

Alternative flow Exception

Guest Actions: 1. Guest click Cancel button Guest Actions: [exception] 1. Guest lefts Email text field blank 2. Guest lefts Password text field blank 3. Guest lefts Confirm Password text field blank 4. Invalid email address

6. System checks the information [exception] 7. System saves input profile into database and redirects to Login page with a message Your profile has been saved successful now you can login to become a Seller member of our website System Responses: 2. System returns previous page System Responses: System displays message to Guest : - Email cant be blank. Please input email address - Password cant be blank. Please input password - Confirm Password cant be blank. Please input confirm password - Invalid email address. Please input email in correct type
Page 18 of 113

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5. Email has already registered 6. Password and confirm password dont match 7. Phone number isnt a number

- Your email has already registered. Please choose another email address - Password and confirm password didnt match. Please input the same character string in both text field - Phone number isnt a number. Please input Phone number in correct type

5.1.3

Forgot Password

Author Use Case Name Actors Description Requirements


Project Team: 02

Huynh Tan Phuc Forgot Password Guest Guest forgot password and wish to retrieve password Provide to system an email address for receiving new password
Prepared by: All members Page 19 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Pre-conditions Post-conditions Basic flow

Alternative flow Exceptions

Guests email address has already registered Success: A new password will be send to guest s email address Fail: Refill information Guest Actions: System Responses: 1. Guest clicks Login button in Home 2. System redirects to Login page page menu bar 3. Guest clicks Forgot Password 4. System redirects to Forgot hyperlink in Login page Password page and displays form for Guest to input information with the following control : - Email text field - Submit button - Cancel button 5. Guest inputs email address and submit - Provide email in Email text field - Guest clicks Submit button 6. System checks the information [exception] 7. System generates a new password, update password field in database and redirects to Login page with a message A message contents new password have been sent to your email address . Please check email and get new password then you can login with new password. You can also change password in Edit Profile at your dashboard Guest Actions: System Responses: 1. Guest click Cancel button 2. System returns previous page Guest Actions: System Response: [exception] System displays message to Guest : 1. Guest lefts Email text field blank - Email cant be blank. Please input email address 2. Invalid email address - Invalid email address. Please input email in correct type - Your email address is not exist in our system. Please input registered email

3. Email is not exist in system

Project Team: 02

Prepared by: All members

Page 20 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.1.4

Login

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc Login Guest Guest login to use members functions of this website Provide to system an email address and password to login Guests email address has already registered Success: can use members functions of this website Fail: Refill information Guest Actions: System Responses: 1. Guest clicks Login hyperlink in Home 2. System redirects to Login page and page menu bar displays form for Guest to input information with the following control :
Prepared by: All members Page 21 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Email text field - Password text field - Remember me checkbox - Forgot Password hyperlink - Login button - Cancel button 3. Guest inputs information and submit: - Provide email in Email text field - Provide password in Password text field - Click on Remember me check box if user want to remember email address and password in users computer or not (default set not). This function will automatically login every time user visits this web site and no need to fill these text fields again - Guest clicks Login button

Alternative flow

Exceptions

Guest Actions: 1. Guest clicks Forgot Password hyperlink 2. Guest clicks Cancel button Guest Actions: [exception] 1. Guest lefts Email text field blank 2. Guest lefts Password text field blank

4. System checks the information [exception] 5. System redirects to seller or buyer page with user own account type if email address and password provide are correct else system displays a message Incorrect email or password System Responses: - System redirects to Forgot Password page - System returns previous page System Responses: System displays message to Guest : - Email cant be blank. Please input email address - Password cant be blank. Please input password - Invalid email address. Please input email in correct type - Your email address is not existing in our system. Please input registered email

3. Invalid email address

4. Email is not exist in system

Project Team: 02

Prepared by: All members

Page 22 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.1.5

Submit Enquiry

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc Submit enquiry form Guest Guest wish to send enquirys information to supporter of MySweetHome Guest should provide name , email address, subject , content of the message Guest Success: send enquirys information to supporter of MySweetHome Fail: Refill information Guest Actions: System Responses: 1. Guest clicks Enquiry button on Home 2. System redirects to Enquiry page page and displays form for Guest to input information with the following control : - Name text field - Email address text field
Prepared by: All members Page 23 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Minimum Price text field - Maximum Price text field - City text field - Street text field - Number of bedroom combo box (default Any value) - Number of bathroom combo box (default Any value) - Square Footage combo box (default Any value) - Type of Property combo box (default All value) - Send button - Cancel button 3. Guest inputs information and submit: - Provide guests name in Name text field - Provide email address of guest in Email address text field - Guest clicks Send button 4. System checks the information [exception] 5. System send enquirys information to supporter of MySweetHome and displays a message Your enquiry form have been sent to supporter of MySweetHome successful System Responses: - System returns previous page System Responses: System displays message to Guest : - Name cant be blank. Please input name - Email address cant be blank. Please input email address Minimum Price must be a real number. Please input minimum price in correct type Maximum Price must be a real number. Please input maximum price in correct type - Invalid email address. Please input email in correct type
Page 24 of 113

Alternative flow Exception

Guest Actions: 1. Guest click Cancel button Guest Actions: [exception] 1. Guest lefts Name text field blank 2. Guest lefts Email address text field blank 3. Minimum price is not a valid number

4. Maximum price is not a valid number

5. Invalid email address


Project Team: 02 Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Project Team: 02

Prepared by: All members

Page 25 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2 Seller

5.2.1

Submit house for sale

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Submit house for sale Seller or Administrator Seller wish to submit a house for sale Seller should provide the house entrys details according to the mode for sale Already login into MySweetHome as Seller or Administrator Success: Sellers house entry information will be inserted into the database Fail: Refill information Seller Actions: System Response: 1. Seller clicks Sell button on home 2. System displays Sell page page menu bar or on Seller Dashboard 4. System displays form for seller to
Prepared by: All members Page 26 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

menu. input information with the following 3. Seller chooses house for sale mode control: tab - Button Browse to upload image - Price text field - Negotiable checkbox - City auto complete text field - Address text field - Number of Bedroom text field - Number of Bathroom text field - Square Footage text field - Type of Property combo box - Extra facilities radio button (Yes/No) - With furniture/interiors radio button - Mode of transport text field - Mode of payment combo box - Contact name text field - Contact email text field - Contact phone text field - Contact address text field - Fee radio button - Credit Card No text field - Map with Google button - Submit button 5. Seller inputs house for sale - Cancel button information - Click Browse button and choose houses image to upload [exception1] - Provide price in Price text field and check in Negotiable checkbox if the price can be negotiable [exception2] - Type city where the house located in City auto complete text field. The data of this auto complete box will be retrieve from the table contain house properties information - Provide the houses address in Address text field. [alternative1] - Provide number of bedroom and bathroom in the respective text field :Number of Bedroom and Number of Bathroom [exception3] - Provide square footage (m2) in Square Footage text field [exception4] - Choose a type property from Type of Property combo box. This combo box contain five value : Residential Land,
Project Team: 02 Prepared by: All members Page 27 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Commercial, Condominium, Townhouse, Multi-unit dwelling - Choose extra facilities available (Yes/No) by ticking on Extra facilities radio button Choose with or without furniture/interiors (Yes/No) by ticking on With furniture/interiors radio button - Provide convenient mode of transport in Mode of transport text field - Choose mode of payment from a Mode of payment combo box. This combo box contain three value : Cash, Credit Card and Cheque - Edit contact detail (option/using seller info by default) + Contact name in Contact Name text field + Contact email in Contact Email text field + Contact phone in Contact Phone text field + Contact address in Contact Address text field - Choose level of fee by ticking the Fee radio button. There are three level : + 9.99 $ for 10 days + 18.99 $ for 30 days + 57.99 $ for 60 days - Finally provide credit card no for paying fee in Credit Card No text field [exception5] Seller clicks Submit button [alternative2] 6. System checks the information and calls a web service to verify credit card status [exception6] [exception7] 7. System inserts houses information into the database then display message Your property has been submitted on Sell page. Seller Actions: System Response: [alternative1] Seller can click on Map 1. System display Google map with the with Google button to check the point corresponding with the address houses location in Google Map provided by seller
Prepared by: All members Page 28 of 113

Alternative flow

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

[alternative2] Seller clicks Cancel 2. System returns to Seller Dashboard button Exceptions Seller Actions: [exception1] Seller clicks Upload button but upload process fail because some unknown problem. [exception2] Seller provides an invalid price (not a number or negative number) [exception3] Seller provides an invalid number of bedroom or number of bathroom. [exception4] Seller provides an invalid square footage. [exception5] Seller provides an invalid credit card [exception6] 6.1 Seller left Price field blank 6.2 Seller left City field blank 6.3 Seller left Number of bedroom field blank 6.4 Seller left Number of bathroom field blank 6.5 Seller left Address field blank 6.6 Seller left Square Footage field blank 6.7 Seller left Contact Email field blank 6.8 Seller left Credit Card No field blank
Project Team: 02

System Response: 1.System displays message to seller : Uploading image has failed, Please try again 2. System displays message to seller: The price provided is invalid. Only positive number is allowed 3. System displays message to seller: The number of bathroom/bedroom provided is invalid. Only positive integer number is allowed 4. System displays message to seller: The square footage provided is invalid. Only positive number is allowed 5. System displays message to seller: The credit card no provided is invalid. Please try again 6. 6.1 System displays message to notice seller: Price cant be blank. Please enter price of property 6.2 System displays message to notice seller: City cant be blank. Please enter city name 6.3 System displays message to notice seller: Number of bedroom cant be blank. Please enter number of bedroom 6.4 System displays message to notice seller: Number of bathroom cant be blank. Please enter number of bathroom 6.5 System displays message to notice seller: Address cant be blank. Please enter address of property 6.6 System displays message to notice seller: Square footage cant be blank. Please enter propertys square footage 6.7 System displays message to notice seller: Contact email cant be blank. Please enter contact email 6.8 System displays message to notice seller: Credit card cant be blank. Please enter credit card no
Page 29 of 113

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

[exception7] The credit card has been 7. System displayed message to notice expired or not enough cash seller : Your card has been expired or not enough cash

5.2.2

Submit house for rent

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Submit house for rent Seller or Administrator Seller wish to submit a house for rent Seller should provide the house entrys details according to the mode for rent Already login into MySweetHome as Seller or Administrator Success: Sellers house entry information will be inserted into the database Fail: Refill information Seller Actions: System Response: 1. Seller clicks Sell button on home 2. System displays Sell page page menu bar or on Seller Dashboard menu. 4. System displays form for seller to 3. Seller chooses house for rent mode input information with the following
Prepared by: All members Page 30 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

tab

control: - Button Browse to upload image - Deposit text field - Rent price text field - Negotiable checkbox - City auto complete text field - Address text field - Number of Bedroom text field - Number of Bathroom text field - Mode of payment combo box - Contact name text field - Contact email text field - Contact phone text field - Contact address text field - Fee radio button - Credit Card No text field - Map with Google button - Submit button - Cancel button

5. Seller inputs house for rent information - Click Browse button and choose houses image to upload [exception1] - Provide price in Deposit text field and check in Negotiable checkbox if the price can be negotiable [exception2] - Provide price in Rent price text field and check in Negotiable checkbox if the price can be negotiable [exception2] - Type city where the house located in City autocomplete text field. The data of this autocomplete box will be retrieve from the table contain house properties information - Provide the houses address in Address text field [alternative1] - Provide number of bedroom and bathroom in the respective text field :Number of Bedroom and Number of Bathroom [exception3] - Choose mode of payment from a Mode of payment combo box. This combo box contain three value : Cash, Credit Card and Cheque - Edit contact detail (option/using seller info by default) + Contact name in Contact Name
Project Team: 02 Prepared by: All members Page 31 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

text field + Contact email in Contact Email text field + Contact phone in Contact Phone text field + Contact address in Contact Address text field - Choose level of fee by ticking the Payment fee radio button. There are three level : + 9.99 $ for 10 days + 18.99 $ for 30 days + 57.99 $ for 60 days - Finally provide credit card no for paying fee [exception4] Seller clicks Submit button [alternative2] 6. System checks the information and calls a webservice to verify credit card status [exception5] [exception6] 7. System inserts houses information into the database then display message Your property has been submitted on Sell page. Seller Actions: System Response: [alternative1] Seller can click on Map 1. System display google map with the with Google button to check the point corresponding with the address houses location in Google Map provided by seller [alternative2] Seller clicks Cancel 2. System returns to Seller Dashboard button Seller Actions: [exception1] Seller clicks Upload button but upload process fail because some unknown problem. [exception2] Seller provides an invalid deposit/rent price (not a number or negative number) [exception3] Seller provides an invalid number of bedroom or number of bathroom. System Response: 1. System displays message to seller : Uploading image has failed, Please try again 2. System displays message to seller: The price provided is invalid. Only positive number is allowed 3. System displays message to seller: The number of bathroom/bedroom provided is invalid. Only positive integer number is allowed [exception4] Seller provides an invalid 4. System displays message to seller : credit card no The credit card no provided is invalid [exception5] 5. 5.1 Seller left Deposit field blank 5.1 System displays message to notice seller: Deposit cant be blank. Please
Prepared by: All members Page 32 of 113

Alternative flow

Exceptions

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2 Seller left Rent Price blank 5.3 Seller left City field blank 5.4 Seller left Number of bedroom field blank 5.5 Seller left Number of bathroom field blank 5.6 Seller left Address field blank 5.7 Seller left Contact Email field blank 5.8 Seller left Credit Card No field blank [exception6] The credit card has been expired or not enough cash

enter deposit price for your property 5.2 System displays message to notice seller: Rent price cant be blank. Please enter rent price of your property 5.3 System displays message to notice seller: City cant be blank. Please enter city name 5.4 System displays message to notice seller: Number of bedroom cant be blank. Please enter number of bedroom 5.5 System displays message to notice seller: Number of bathroom cant be blank. Please enter number of bathroom 5.6 System displays message to notice seller: Address cant be blank. Please enter address of property 5.7 System displays message to notice seller: Contact email cant be blank. Please enter contact email 5.8 System displays message to notice seller: Credit card cant be blank. Please enter credit card no 6. System displayed message to notice seller : Your card has been expired or not enough cash

Project Team: 02

Prepared by: All members

Page 33 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2.3

Submit accommodation on rental as paying guest

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Submit accommodation on rental as paying guest Seller or Administrator Seller wish to submit a accommodation (room) on rental Seller should provide the house entrys details according to the mode accommodation on rental Already login into MySweetHome as Seller or Administrator Success: Sellers house entry information will be inserted into the database Fail: Refill information Seller Actions: System Response: 1. Seller clicks Sell button on home 2. System displays Sell page page menu bar or on Seller Dashboard menu. 4. System displays form for seller to 3. Seller chooses accommodation on input information with the following rental mode tab control: - Button Browse to upload image
Prepared by: All members Page 34 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Deposit text field - Rent price text field - Negotiable checkbox - City auto complete text field - Address text field - Contact name text field - Contact email text field - Contact phone text field - Contact address text field - Fee radio button - Credit Card No text field - Map with Google button - Submit button 5. Seller inputs accommodation (room) - Cancel button on rental information - Provide price in Deposit text field and check in Negotiable checkbox if the price can be negotiable [exception1] - Provide price in Rent price text field and check in Negotiable checkbox if the price can be negotiable [exception1] - Type city where the house located in City auto complete text field. The data of this auto complete box will be retrieve from the table contain house properties information - Provide the houses address in Address text field [alternative1] - Edit contact detail (option/using seller info by default) + Contact name in Contact Name text field + Contact email in Contact Email text field + Contact phone in Contact Phone text field + Contact address in Contact Address text field - Choose level of fee by ticking the Payment fee radio button. There are three level : + 9.99 $ for 10 days + 18.99 $ for 30 days + 57.99 $ for 60 days - Finally provide credit card no for paying fee [exception2] 6. Seller clicks Submit button 7. System checks the information and
Project Team: 02 Prepared by: All members Page 35 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

[alternative2]

Alternative flow

calls a web service to verify credit card status [exception3][exception4] 8. System inserts houses information into the database then display message Your property has been submitted on Sell page. Seller Actions: System Response: [alternative1] Seller can click on Map 1. System display google map with the with Google button to check the point corresponding with the address houses location in Google Map provided by seller [alternative2] Seller clicks Cancel 2. System returns to Seller Dashboard button Seller Actions: [exception1] Seller provides an invalid deposit/rent price (not a number or negative number) [exception2] Seller provides an invalid credit card no [exception3] 3.1 Seller left Deposit field blank System Response: 1. System displays message to seller: The price provided is invalid. Only positive number is allowed 2. System displays message to seller : The credit card no provided is invalid 3. 3.1 System displays message to notice seller: Deposit cant be blank. Please enter deposit price for your property 3.2 Seller left Rent Price blank 3.2 System displays message to notice seller: Rent price cant be blank. Please enter rent price of your property 3.3 Seller left City field blank 3.3 System displays message to notice seller: City cant be blank. Please enter city name 3.4 Seller left Address field blank 3.4 System displays message to notice seller: Address cant be blank. Please enter address of property 3.5 Seller left Contact Email field 3.5 System displays message to notice blank seller: Contact email cant be blank. Please enter contact email 3.6 Seller left Credit Card No field 3.6 System displays message to notice blank seller: Credit card cant be blank. Please enter credit card no [exception4] The credit card has been 4. System displayed message to notice expired or not enough cash seller : Your card has been expired or not enough cash

Exceptions

Project Team: 02

Prepared by: All members

Page 36 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2.4

Edit own property

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Edit own property Seller Seller wish to change house properties Seller should change the house entrys details according to the mode (for sale,for rent, accommodation on rental) Already login into MySweetHome as Seller Success: Sellers house entry information will be update into the database Fail: Refill information Seller Actions: System Response: 1. Seller clicks Edit button in House 2. System displays form for seller to properties grid table on Seller change information. Old house Dashboard corresponding with which properties info is already loaded. house properties will be changed Depend on the house mode, which form will be loaded. The form can contain some of following control :
Prepared by: All members Page 37 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- Button Browse to upload image - Price text field - Negotiable checkbox - City auto complete text field - Address text field - Number of Bedroom text field - Number of Bathroom text field - Square Footage text field - Type of Property combo box - Extra facilities radio button (Yes/No) - With furniture/interiors radio button - Mode of transport text field - Mode of payment combo box - Contact name text field - Contact email text field - Contact phone text field - Contact address text field - Submit button 3. Seller changes house properties - Cancel button information - Click Browse button and choose houses image to upload [exception1] (for sale and rent mode only) - Change price in Price text field and check in Negotiable checkbox if the price can be negotiable [exception2] (for sale mode only) - Change price in Deposit text field and check in Negotiable checkbox if the price can be negotiable [exception2] (for rent and accommodation mode only) - Change price in Rent price text field and check in Negotiable checkbox if the price can be negotiable [exception2] (for rent and accommodation mode only) - Change city where the house located in City autocomplete text field. The data of this autocomplete box will be retrieve from the table contain house properties information - Change the houses address in Address text field [alternative1] - Change number of bedroom and bathroom in the respective text field
Project Team: 02 Prepared by: All members Page 38 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow

:Number of Bedroom and Number of Bathroom [exception3] (for sale and rent mode only) - Change square footage (m2) in Square Footage text field [exception4] (for sale mode only) - Change a type property from Type of Property combo box. This combo box contains five values: Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling. (for sale mode only) - Change extra facilities available (Yes/No) by ticking on Extra facilities radio button. (for sale mode only) Change with or without furniture/interiors (Yes/No) by ticking on with furniture/interiors radio button. (for sale mode only) - Change convenient mode of transport in Mode of transport text field. (for sale mode only) - Change mode of payment from a Mode of payment combo box. This combo box contain three value : Cash, Credit Card and Cheque - Change contact detail (option/using seller info by default) + Contact name in Contact Name text field + Contact email in Contact Email text field + Contact phone in Contact Phone text field + Contact address in Contact Address text field Seller clicks Submit button [alternative2] 4. System checks the information [exception5] 5. System updates houses information into the database then display message Your property has been updated successful on Edit property page Seller Actions: System Response: [alternative1] Seller can click on Map 1. System display Google map with the with Google button to check the point corresponding with the address houses location in Google Map provided by seller
Prepared by: All members Page 39 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

[alternative2] Seller clicks Cancel 2. System returns to Seller Dashboard button Exceptions Seller Actions: [exception1] Seller clicks Upload button but upload process fail because some unknown problem. [exception2] Seller provides an invalid price (not a number or negative number) [exception3] Seller provides an invalid number of bedroom or number of bathroom. [exception4] Seller provides an invalid square footage. [exception5] 5.1 Seller left Price field blank (for sale mode only) 5.2 Seller left Deposit field blank (for rent mode and accommodation mode only) 5.3 Seller left Rent Price blank (for rent mode and accommodation mode only) 5.4 Seller left City field blank 5.5 Seller left Number of bedroom field blank (for sale mode and rent mode only) 5.6 Seller left Number of bathroom field blank (for sale mode and rent mode only) 5.7 Seller left Address field blank 5.8 Seller left Contact Email field blank System Response: 1.System displays message to seller : Uploading image has failed, Please try again 2. System displays message to seller: The price provided is invalid. Only positive number is allowed 3. System displays message to seller: The number of bathroom/bedroom provided is invalid. Only positive integer number is allowed 4. System displays message to seller: The square footage provided is invalid. Only positive number is allowed 5. 5.1 System displays message to notice seller: Price cant be blank. Please enter price of property 5.2 System displays message to notice seller: Deposit cant be blank. Please enter deposit price for your property 5.3 System displays message to notice seller: Rent price cant be blank. Please enter rent price of your property 5.4 System displays message to notice seller: City cant be blank. Please enter city name 5.5 System displays message to notice seller: Number of bedroom cant be blank. Please enter number of bedroom 5.6 System displays message to notice seller: Number of bathroom cant be blank. Please enter number of bathroom 5.7 System displays message to notice seller: Address cant be blank. Please enter address of property 5.8 System displays message to notice seller: Contact email cant be blank. Please enter contact email

Project Team: 02

Prepared by: All members

Page 40 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2.5

Refresh property

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Refresh property Seller Seller wish to refresh the home property that had suspended or nearly expired The property needs to be refresh must suspend Already login into the System as Seller Success: House entrys information will be turned back into active from suspend Fail: Refill information Seller Actions: System Response: 1. Seller clicks Refresh button in 2. System displays Paying Fee page House properties grid table on Seller with the following control: Dashboard corresponding with which - Credit Card No text field. property needed to be refreshed - Fee radio button. - Submit button 3. Seller provide some information - Cancel button required for refreshing process :
Prepared by: All members Page 41 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow

- Provide credit card no in Credit Card No text field [exception1] - Choose level of fee by ticking the Fee radio button. There are three level : + 9.99 $ for 10 days + 18.99 $ for 30 days + 57.99 $ for 60 days Seller clicks Submit button 4. System calls a web service method to [alternative] check credit card status [exception2] 5. System updates the information and displays Seller Dashboard page with updated information Seller Actions: System Response: [alternative] Seller clicks Cancel System returns to Seller Dashboard button page Seller Actions: [exception1] Seller credit card no System Response: invalid 1. System displayed message to notice seller : The credit card no provided is invalid [exception2] The credit card has been 2. System displayed message to notice expired or not enough cash seller : Your card has been expired or not enough cash provide

Exceptions

Project Team: 02

Prepared by: All members

Page 42 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.2.6

Suspend own property

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Suspend own property Seller Seller suspends house entry Seller must choose the correct property needed to be suspended Already login into the System as Seller Success: House entrys information will be updated in the database Seller Actions: System Response: 1. Seller clicks Suspend button in 2. System display a message to House properties grid table on Seller confirm: Are you sure you want to Dashboard corresponding with which suspend this property? property needed to be suspended 3. Seller clicks OK button [alternative] 4. System updates the information and displays Seller Dashboard with updated information
Prepared by: All members Page 43 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow

Seller Actions: [alternative] Seller clicks Cancel button

System Response: System returns current page without changing anything

Exceptions

5.2.7

Edit profile

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Edit seller profile Seller Seller edits his/her profile Seller must provide his/her valid contact details to update profile Already login into the System as Seller Success: Seller s information will be updated in the database Fail: Refill information Seller Actions: System Response: 1. Seller clicks Edit Profile button 2. System displays Edit profile page. located in Seller Dashboard Menu All field has been loaded with current sellers information in the following
Prepared by: All members Page 44 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow

Exceptions

3. Seller changes his/her information : - Change email in Email text field [exception1] - Change name in Full Name text field - Change address in Address text field - Change phone in Phone text field - Change password in Password text field - Retype password to confirm in Confirm Password text field [exception2] Seller clicks Submit button [alternative] 4. System checks information [exception3] [exception4] 5. System updates the information and displays Seller Dashboard page with updated information Seller Actions: System Response: [alternative] Seller clicks Cancel System returns to Seller Dashboard button page Seller Actions: System Response: [exception1] Seller provided an invalid 1. System displays message to seller : email Your email is invalid [exception2] Confirm password does not 2. System displays message to seller : match with password that seller Password and confirm password does provided not match [exception3] 3. 3.1 Seller changed some information but 3.1 System displays message to notice left Email field blank seller: Please enter email 3.2 Seller changed some information but 3.2 System displays message to notice left Password field blank seller: Please enter password [exception4] New sellers email has 4. System displays message to seller : been used Email has been used

control: - Email text field - Full Name text field - Address text field - Phone text field - Password text field - Confirm password text field - Submit button - Cancel button

Project Team: 02

Prepared by: All members

Page 45 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Project Team: 02

Prepared by: All members

Page 46 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.3 Buyer

5.3.1

Send message to Seller

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc Send message to Seller Buyer Buyer wish to send message to Seller Buyer should provide subject , content of the message Already login into MySweetHome as Buyer Success: send message to Seller Fail: Refill information Buyer Actions: System Responses: 1. Buyer clicks Sellers Email button on 2. System redirects to SendMessage Property Detail page page and displays form for Buyer to input information with the following control : - Subject text field - Content text area - Send Message button - Cancel button 3. Buyer inputs information and submit: - Provide subject in Subject text field - Provide content of the message in Content text area - Buyer clicks Send Message button 4. System checks the information [exception] 5. System send a message to Sellers
Prepared by: All members Page 47 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow Exception

Buyer Actions: 1. Buyer click Cancel button Buyer Actions: [exception] 1. Buyer lefts Subject text field blank 2. Buyer lefts Content text field blank

email and displays a message Your message have been sent to Seller successful System Responses: - System returns previous page System Responses: System displays message to Buyer : - Subject cant be blank. Please input subject - Content cant be blank. Please input content

5.3.2

Search house for sale

Author Use Case Name Actors


Project Team: 02

Huynh Tan Phuc Search house for sale Buyer


Prepared by: All members Page 48 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Description Requirements Pre-conditions Post-conditions

Basic flow

Buyer wish to search a house for sale Buyer should provide the house entrys details according to the mode Search house for sale to search Already login into MySweetHome as Buyer Success: redirect to Property page for display any house according to buyer s requirements in Search page Fail: Refill information or system displays an message There is not any properties matched your search when system couldnt founded any properties matched buyer requirements Buyer Actions: System Responses: 1. Buyer clicks Search for Properties 2. System redirects to Search page button on Buyer page and displays 3 buttons : - House for sale button - House for rent button - Accommodation on rental button 3. Buyer chooses Search house for sale 4. System displays form for Buyer to button input information with the following control : - Minimum Price text field - Maximum Price text field - City text field - Street text field - Number of bedroom combo box (default Any value) - Number of bathroom combo box (default Any value) - Square Footage combo box (default Any value) - Type of Property combo box (default All value) - Search button - Cancel button 5. Buyer inputs house for sale information and submit - Provide minimum price of Property on sale in Minimum Price text field - Provide maximum price of Property on sale in Maximum Price text field - Provide name of the city where the house takes place in City text field - Provide name of street where the house takes place in Street text field - Choose a number of bedroom from Number of bedroom combo box. This combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or
Prepared by: All members Page 49 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow Exception

more and Any - Choose a number of bathroom from Number of bathroom combo box. This combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any - Choose a square footage from Square Footage combo box. This combo box contain six value : <50, 50<= and <100, 100<= and <200, 200<= and <500, >=500 and Any - Choose a type of property from Type of Property combo box. This combo box contain six value : Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling and All - Buyer clicks Search button 6. System display any house according to buyers requirements at Search page by Property Page. Buyer Actions: System Responses: 1. Buyer click Cancel button - System returns previous page N/A

Project Team: 02

Prepared by: All members

Page 50 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.3.3

Search house for rent

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions

Basic flow

Huynh Tan Phuc Search house for rent Buyer Buyer wish to search a house for rent Buyer should provide the house entrys details according to the mode Search house for rent to search Already login into MySweetHome as Buyer Success: redirect to Property page for display any house according buyer s requirements in Search page Fail: Refill information or system displays an message There is not any properties matched your search when system couldnt founded any properties matched buyer requirements Buyer Actions: System Responses: 1. Buyer clicks Search for Properties 2. System redirects to Search page button on Buyer page and displays 3 buttons : - House for sale button - House for rent button - Accommodation on rental button
Prepared by: All members Page 51 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

3. Buyer chooses Search house for rent button

4. System displays form for Buyer to input information with the following control : - Minimum Rent price text field - Maximum Rent price text field - Minimum Deposit price text field - Maximum Deposit price text field - City text field - Street text field - Number of bedroom combo box (default Any value) - Number of bathroom combo box (default Any value) - Search button - Cancel button

Alternative flow
Project Team: 02

5. Buyer inputs house for rent information and submit - Provide minimum rent price of Property on sale in Minimum Rent Price text field - Provide maximum rent price of Property on sale in Maximum Rent Price text field - Provide minimum deposit price of Property on sale in Minimum Deposit Price text field - Provide maximum deposit price of Property on sale in Maximum Deposit Price text field - Provide name of the city where the house takes place in City text field - Provide name of street where the house takes place in Street text field - Choose a number of bedroom from Number of bedroom combo box. This combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any - Choose a number of bathroom from Number of bathroom combo box. This combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any - Buyer clicks Search button 6. System display any house according to buyers requirements at Search page by Property Page. Buyer Actions: System Responses: 1. Buyer click Cancel button - System returns previous page
Prepared by: All members Page 52 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Exception

N/A

5.3.4

Search accommodation on rental

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions

Basic flow

Huynh Tan Phuc Search accommodation on rental Buyer Buyer wish to search an accommodation on rental Buyer should provide the accommodation on rental entrys details according to the mode Search accommodation on rental to search Already login into MySweetHome as Buyer Success: redirect to Property page for display any accommodation on rental according buyer s requirements in Search page Fail: Refill information or system displays an message There is not any properties matched your search when system couldnt founded any properties matched buyer requirements Buyer Actions: System Responses: 1. Buyer clicks Search for Properties 2. System redirects to Search page button on Buyer page and displays 3 buttons : - House for sale button - House for rent button - Accommodation on rental button 3. Buyer chooses Search accommodation 4. System displays form for Buyer to
Prepared by: All members Page 53 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

on rental button

input information with the following control : - Minimum Rent price text field - Maximum Rent price text field - Minimum Deposit price text field - Maximum Deposit price text field - City text field - Street text field - Search button - Cancel button

5. Buyer inputs accommodation on rental information and submit - Provide minimum rent price of Property on sale in Minimum Rent Price text field - Provide maximum rent price of Property on sale in Maximum Rent Price text field - Provide minimum deposit price of Property on sale in Minimum Deposit Price text field - Provide maximum deposit price of Property on sale in Maximum Deposit Price text field - Provide name of the city where the house takes place in City text field - Provide name of street where the house takes place in Street text field - Buyer clicks Search button

Alternative flow Exception

Buyer Actions: 1. Buyer click Cancel button N/A

6. System display any accommodation on rental according to buyers requirements at Search page by Property Page. System Responses: 1. System returns previous page

Project Team: 02

Prepared by: All members

Page 54 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.3.5

View last five searches

Author Use Case Name Actors Description

Requirements Pre-conditions Post-conditions Basic flow

Huynh Tan Phuc View last five searches Buyer When Buyer search for property, all search information will be back up . Buyer can view and redo last five searches by click on View last five searches without fill searchs information in form. By the way , Buyer can also change searchs information to make a new search Buyer had searched at least once time Already login into MySweetHome as Buyer Success: redirect to Search page for display any buyer s requirements in last five searches Buyer Actions: System Responses: 1. Buyer clicks View last five searches 2. System displays 5 buttons : button on Buyer page - Last search 1 button - Last search 2 button - Last search 3 button - Last search 4 button - Last search 5 button 3. Buyer chooses one of those Last 4. System redirects to Search page search button and displays form has already filled (type of search according to last
Prepared by: All members Page 55 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

search) for Buyer to redo search with the following control : - Minimum Price text field - Maximum Price text field - Minimum Rent price text field - Maximum Rent price text field - Minimum Deposit price text field - Maximum Deposit price text field - City text field - Street text field - Number of bedroom combo box (default Any value) - Number of bathroom combo box (default Any value) - Square Footage combo box (default Any value) - Type of Property combo box (default All value) - Search button - Cancel button 5. Buyer inputs house for rent information and submit - Minimum price of Property has filled in Minimum Price text field - Maximum price of Property has filled in Maximum Price text field - Minimum rent price of Property has filled in Minimum Rent Price text field - Maximum rent price of Property has filled in Maximum Rent Price text field - Minimum deposit price of Property has filled in Minimum Deposit Price text field - Maximum deposit price of Property has filled in Maximum Deposit Price text field - Name of the city where the house takes place has filled in City text field - Name of street where the house takes place has filled in Street text field - Choose a number of bedroom from Number of bedroom combo box. This combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any - Choose a number of bathroom from Number of bathroom combo box. This
Project Team: 02 Prepared by: All members Page 56 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow Exception

combo box contain six value : 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any - Choose a square footage from Square Footage combo box. This combo box contain six value : <50, 50<= and <100, 100<= and <200, 200<= and <500, >=500 and Any - Choose a type of property from Type of Property combo box. This combo box contain six value : Residential Land, Commercial, Condominium, Townhouse, Multi-unit dwelling and All - Buyer clicks Search button 6. System display any house according to buyers requirements at Search page by Property Page. Buyer Actions: System Responses: 1. Buyer click Cancel button 1. System returns previous page N/A

Project Team: 02

Prepared by: All members

Page 57 of 113

Project: My Sweet Home 5.3.6

Document: Development Guide

Approved by: Faculty

Receive message about new property

Author Use Case Name Actors Description

Requirements Pre-conditions Post-conditions Basic flow

Alternative flow Exception

Huynh Tan Phuc Receive message about new property Buyer When Seller or Admin submit a new property matched with Buyers last search, a message will be sent to Buyers email to announce that system has new property match with Buyers request Buyer had searched at least once time, Seller or Admin submitted a new property match with Buyers request Buyer had a registered email in system and had searched at least one time Success: receive a message in Buyers email address for announcement effect about new property matched with Buyers request and show a link to that property Seller or Admin actions: System Responses: 1. Seller or Admin submitted a new 2. System checks that property is property matched with Buyers last search or not. If new property matched with Buyers request system will send a message content a link to that property to Buyers email address for announcement effect about new property matched with Buyers request N/A N/A

Project Team: 02

Prepared by: All members

Page 58 of 113

Project: My Sweet Home 5.3.7 Edit Profile

Document: Development Guide

Approved by: Faculty

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Alternative flow

Exceptions

Huynh Tan Phuc Edit buyer profile Seller Buyer edits his/her profile Buyer must provide his/her valid contact details to update profile Already login into the System as Buyer Success: Buyer s information will be updated in the database Fail: Refill information Buyer Actions: System Response: 1. Buyer clicks Edit Profile button 2. System displays Edit profile page. located in Buyer Dashboard Menu All field has been loaded with current Buyers information in the following control: - Email text field - Password text field - Confirm password text field - Submit button - Cancel button 3. Buyer changes his/her information : - Change email in Email text field [exception1] - Change password in Password text field - Retype password to confirm in Confirm Password text field [exception2] - Buyer clicks Submit button [alternative] 4. System checks information [exception3] [exception4] 5. System updates the information and displays Buyer Dashboard page with updated information Buyer Actions: System Response: [alternative] Buyer clicks Cancel System returns to Buyer page button Buyer Actions: System Response: [exception1] Buyer provided an invalid 1. System displays message to Buyer : email Your email is invalid [exception2] Confirm password does not 2. System displays message to Buyer : match with password that Buyer Password and confirm password does provided not match [exception3] 3.1 Buyer changed some information 3.1 System displays message to notice

Project Team: 02

Prepared by: All members

Page 59 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

but left Email field blank

Buyer: Please enter email

3.2 Buyer changed some information 3.2 System displays message to notice but left Password field blank Buyer: Please enter password [exception4] New Buyers email has 4. System displays message to Buyer : been used Email has been used

5.3.8

Logout

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions


Project Team: 02

Huynh Tan Phuc Logout Admin, Buyer or Seller Admin, Buyer or Seller wish to logout Admin, Buyer or Seller Already login into MySweetHome as Admin, Buyer or Seller Success: logout
Prepared by: All members Page 60 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Basic flow

Admin, Buyer or Seller Actions: 1. Admin, Buyer or Seller clicks Logout button on page N/A N/A

System Responses: 2. System allows Admin, Buyer or Seller logout and redirects to Home page

Alternative flow Exception

5.3.9

Rate Seller

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Alternative flow Exception

Bui The Anh Rate Seller Buyer Buyer wish to rate for Seller Buyer should choose star rate level on PropertyDetail page Already login into MySweetHome as Buyer Success: insert rate information into database, display star rate level Fail: do nothing Buyer Actions: System Responses: 1. Buyer chooses Star rate level on 2. System show Thank message Property Detail page and then clicks 3. System check [exception] Rate button 4. System insert rate information on database [exception] with RateDate is current day. 5. System calculate rate level 6. System change rate level on page. N/A Buyer Actions: System Responses: [exception1]: Buyer did not click star System displays : Please choose level Rate points [exception2]: Buyer rate seller twice System displays : You have already
Page 61 of 113

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

rated this Seller

Project Team: 02

Prepared by: All members

Page 62 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.4 Directory

5.4.1

Add Directory Service

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Add Directory Service Administrator Administrator wish to add a directory service into database Administrator should provide the directory entrys details Already login into MySweetHome as Administrator Success: Directory service information will be inserted into the database Fail: Refill information Administrator Actions: System Response: 1. Administrator clicks on the Add 2. System opens Add Directory Service link on the Add Directory Service form (on the current page), Entry page or Edit Directory Entry with: page - Name text box - Description text box - Directory Entry combo box - Submit button
Prepared by: All members Page 63 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow Exceptions

3. Administrator input the following information to create service for Directory Entry: - Name of the service in Name text box (mandatory) - Choose directory entry that will support this service on Directory Entry combo box. List of values in this combo box is loaded from Directory Entry table. - Description of the service in Description text box (mandatory) Then click Submit button.[alternative] [alternative] Administrator clicks Cancel button to cancel the creation. Administrator Actions: [exception] 1. If Administrator leave blank the Name text box 2. If Administrator Description field blank leaves

- Cancel button 4. System ensures all the mandatory data is filled, and then stores the service into database, associated with the current entry. System displays a message: Service is created successfully.[exception]

System returns to Directory management page System Response: 1. System displays an error message: Name cannot be blank, please enters the name for this service above the the Create entry service form 2. System displays an error message: Description cannot be blank, please enters the description for this entry. above the Create entry service form.

Project Team: 02

Prepared by: All members

Page 64 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.4.2

Edit Directory Service

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Edit Directory Service Administrator Administrator wish to edit a directory service in database Administrator should provide the directory services details Already login into MySweetHome as Administrator Success: Directory service information will be updated into the database Fail: Refill information Administrator Actions: System Response: 1. Administrator edit the Directory 2. System opens a Edit directory Entry which contains the service needs Entry page, with a list of submitted to be edit. directory entry service.
Prepared by: All members Page 65 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Alternative flow Exceptions

4. System open the Edit directory 3. Administrator clicks on the Edit service form on the current page with: button beside the directory entry service - A text box labeled Name, he/she wanted to edit. mandatory, contains current name of the service - A combo box contains the directory entry name. List of values in this combo box is loaded from Directory Entry table. - A multiline text box labeled Description, mandatory, contains current description of the entry. - A button labeled Submit - A button labeled Cancel 5. Administrator changes the value in those fields, then clicks Submit button. 6. System ensures the mandatory field [alternative] is filled; the filled information is valid, then save changes of the entry service into database and displays a message Directory entry service updated successfully. on the current page. [exception] [alternative] Administrator clicks System then hides the Editing form. Cancel button to cancel the editing Administrator Actions: [exception] System Response: 1. If Administrator leave blank the 1. System displays an error message: Name text box Name cannot be blank, please enters the name for this service above the Edit directory service form 2. If Administrator leaves the 2. System displays an error message: Description field blank Description cannot be blank, please enters the description for this service. on the Edit directory service

Project Team: 02

Prepared by: All members

Page 66 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.4.3

Delete Directory Service

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Delete Directory Service Administrator Administrator wish to delete a directory service in database Already login into MySweetHome as Administrator One Directory service information will be delete in the database Administrator Actions: System Actions : 1. Administrator edit the Directory 2. System opens a Edit directory entry Entry which contains the service needs page, with a list of submitted directory to be edit. entry service. 4. System displays a confirm message 3. Administrator clicks on the Delete Are you sure to delete this directory link beside the directory service he/she service, this action cannot be undone. wanted to edit. with 2 buttons OK and Cancel. 6. System removes the directory service

Project Team: 02

Prepared by: All members

Page 67 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5. Administrator clicks on the OK from database and displays a message button. Directory service deleted.

Alternative flow

[alternative] On the confirm message, administrator decide to cancel the deletion, he/she clicks on the Cancel button. N/A

System does nothing to the requested directory entry, redirect administrator to the Directory Management page with message Deletion cancelled, no action has been taken.

Exceptions

5.4.4

Add Directory Entry

Author Use Case Name Actors Description


Project Team: 02

Hieu Trong Nguyen Add Directory Entry Administrator Administrator wish to add a directory entry into database
Prepared by: All members Page 68 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Requirements Pre-conditions Post-conditions Basic flow

Administrator should provide the directory entrys details Already login into MySweetHome as Administrator Success: Directory entry information will be inserted into the database Fail: Refill information Administrator Actions: System Response: 1. Administrator clicks on the 2. System opens a Directory Directory link on the sidebar management page, with an Add new directory entry link. 3. Administrator clicks on the Add new directory entry link. 4. System open the Add new directory entry page with: - a text box labeled Name, mandatory - a combo box that contains list of directory category loaded from Directory Category table - a multiline text box labeled Description, mandatory - a upload field labeled Image, optional - a multiline text box labeled Address, mandatory - a text box labeled E-mail address, optional - a text box labeled Homepage, optional - a button labeled Submit - a button labeled Cancel

Alternative flow

Exceptions

6. System ensures the mandatory field 5. Administrator fills in those fields, is filled; the filled information is valid, then clicks Submit button.[alternative] then stores the entry into database and displays a message Directory entry submitted successfully. on the just created directory entry. [exception] 1.The optional fields can be leave blank 2.[alternative] Administrator clicks 2.System returns to Directory Cancel button management page Administrator Actions: [exception] System Response: 1. If Administrator leave blank the 1. System displays an error message: Name text box Name cannot be blank, please enters the name for this entry on the Add new directory entry 2. If Administrator leaves the 2. System displays an error message: Description field blank Description cannot be blank, please enters the description for this entry. 3. If Administrator leaves the Address 3. System displays an error message:
Prepared by: All members Page 69 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Address cannot be blank, please enters the address for this entry. 4. If the E-mail address is entered but 4. System displays an error message: the value is an invalid e-mail The entered e-mail is invalid, please enter a valid e-mail address. 5. If the Homepage field is entered, 5. System displays an error message: but the value is an invalid URL The entered Homepage is invalid, please enter a valid URL. field blank

5.4.5

Edit Directory Entry

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions

Hieu Trong Nguyen Edit Directory Entry Administrator Administrator wish to edit a directory entry in database Administrator should provide the directory entrys details Already login into MySweetHome as Administrator Success: Directory entry information will be updated into the database Fail: Refill information

Project Team: 02

Prepared by: All members

Page 70 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Basic flow

Administrator Actions: 1. Administrator clicks on Directory link on the sidebar

System Response: the 2. System opens a Directory management page, with a list of submitted directory entry.

Alternative flow

Exceptions

3. Administrator clicks on the Edit link 4. System open the Edit directory beside the directory entry he/she wanted entry page with: to edit. - A text box labeled Name, mandatory, contains current name of the entry - A multiline text box labeled Description, mandatory, contains current description of the entry. - A combo box labeled Directory category contains list of directory category loaded from Directory Category table. - An upload field labeled Image, optional; beside it is an image, which is the current image of the entry or No Image image if no image is uploaded. - A multiline text box labeled Address, mandatory, contains the current address of the entry. - A text box labeled E-mail address, optional, contains current e-mail address of the entry or blank if no e5. Administrator changes the value in mail is submitted. those fields, then clicks Submit button. - A text box labeled Homepage, [alternative] optional, contains current homepage of the entry or blank if no homepage is submitted. - A button labeled Submit 6. System ensures the mandatory field is filled; the filled information is valid, then save changes of the entry into database and displays a message Directory entry updated successfully. on the just updated directory entry. [exception] 1.The optional fields can be leave blank 2.[alternative] Administrator clicks 2.System returns to Directory Cancel button management page Administrator Actions: [exception] System Response: 1. If Administrator leave blank the 1. System displays an error message: Name text box Name cannot be blank, please enters the name for this entry on the Add
Prepared by: All members Page 71 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

new directory entry the 2. System displays an error message: Description cannot be blank, please enters the description for this entry. 3. If Administrator leaves the Address 3. System displays an error message: field blank Address cannot be blank, please enters the address for this entry. 4. If the E-mail address is entered but 4. System displays an error message: the value is an invalid e-mail The entered e-mail is invalid, please enter a valid e-mail address. 5. If the Homepage field is entered, 5. System displays an error message: but the value is an invalid URL The entered Homepage is invalid, please enter a valid URL. 2. If Administrator Description field blank leaves

5.4.6

Delete Directory Entry

Author Use Case Name Actors Description


Project Team: 02

Hieu Trong Nguyen Edit Directory Entry Administrator Administrator wish to delete a directory entry in database
Prepared by: All members Page 72 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Requirements Pre-conditions Post-conditions Basic flow

Already login into MySweetHome as Administrator One Directory entry information will be delete in the database Administrator Actions: System Response: 1. Administrator clicks on the 2. System opens a Directory Directory link on the sidebar management page, with a list of submitted directory entry. 3. Administrator clicks on the Delete 4. System displays a confirm message link beside the directory entry he/she Are you sure to delete this directory wanted to edit. entry, this action cannot be undone. with 2 buttons OK and Cancel. 5. Administrator clicks on the OK 6. System removes the directory entry button.[alternative] from database and display a message Directory entry deleted. then redirect Administrator to Directory Management page [alternative] On the confirm message, System does nothing to the requested administrator decide to cancel the directory entry, redirect administrator deletion, he/she clicks on the Cancel to the Directory Management page button. with message Deletion cancelled, no action has been taken. N/A

Alternative flow

Exceptions

Project Team: 02

Prepared by: All members

Page 73 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.4.7

Add Directory Category

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Add Directory Category Administrator Administrator wish to add a directory category into database Administrator should provide the directory categorys details Already login into MySweetHome as Administrator Success: Directory category information will be inserted into the database Fail: Refill information Administrator Actions: System Response: 1. Administrator clicks on the 2. System opens Directory Category Directory Category link on the page with: Directory management page - Name text box - Submit button - Cancel button - Category List grid table. Every row
Prepared by: All members Page 74 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

3. Administrator input the following information to create category for Directory Entry: - Name of the service in Name text box (mandatory) Then click Submit button.[alternative]

Alternative flow Exceptions

[alternative] Administrator clicks Cancel button to cancel the creation. Administrator Actions: [exception] 1. If Administrator leave blank the Name text box

contains 2 buttons (Edit and Delete) in it. 4. System ensures all the mandatory data is filled, and then stores the category into database. System displays a message: Directory Category is created successfully. The Category List grid table will be updated with new category has just been created.[exception] System returns to Directory management page System Response: 1. System displays an error message: Name cannot be blank, please enters the name for this category above the Create entry category form

5.4.8

Edit Directory Category

Author
Project Team: 02

Hieu Trong Nguyen


Prepared by: All members Page 75 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Alternative flow Exceptions

Edit Directory Category Administrator Administrator wish to edit a directory category in database Administrator should provide the directory categorys details Already login into MySweetHome as Administrator Success: Directory category information will be updated into the database Fail: Refill information Administrator Actions: System Response: 1. Administrator clicks on the 2. System displays Directory category Directory Category link on the page with: Directory management page - Name text box - Submit button - Cancel button -Category List grid table. Every rows contain 2 button(Edit and Delete) in 3. Administrator clicks on the Edit it. button beside the directory entry 4. System changes the row contains the category he/she wanted to edit in the category into editable cells .Edit Category List grid table. button changes to Submit button. Delete button changes to Cancel 5. Administrator changes the value in button. those fields, then clicks Submit button. [alternative] 6. System ensures the mandatory field is filled; the filled information is valid, then save changes of the entry category into database and displays a message Directory entry category updated successfully. on the current page. [exception] [alternative] Administrator clicks System then hides the Editing form. Cancel button to cancel the editing Administrator Actions: [exception] System Response: 1. If Administrator leave blank the 1. System displays an error message: Name text box Name cannot be blank, please enters the name for this category above the Edit directory category form

Project Team: 02

Prepared by: All members

Page 76 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.4.9

Delete Directory Category

Author Use Case Name Actors Description Requirements Pre-conditions Post-conditions Basic flow

Hieu Trong Nguyen Delete Directory Category Administrator Administrator wish to delete a directory category in database Already login into MySweetHome as Administrator One Directory category information will be delete in the database Administrator Actions: System Actions : 1. Administrator clicks on the 2. System opens a Directory category Directory Category link on the page, with a list of submitted directory Directory management page entry category. 3. Administrator clicks on the Delete 4. System displays a confirm message link beside the directory category he/she Are you sure to delete this directory wanted to delete. category, this action cannot be undone. with 2 buttons OK and Cancel.

Project Team: 02

Prepared by: All members

Page 77 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5. Administrator clicks on the OK 6. System removes the directory button.[alternative] category from database and displays a message Directory category deleted. Alternative flow [alternative] On the confirm message, administrator decide to cancel the deletion, he/she clicks on the Cancel button. N/A System does nothing to the requested directory entry, redirect administrator to the Directory Management page with message Deletion cancelled, no action has been taken.

Exceptions

5.5 FAQ

Project Team: 02

Prepared by: All members

Page 78 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.5.1 View FAQ entry


Author Use case name Bui The Anh + Nguyen Quoc Quynh Khoi + Huynh Tan Phuc View FAQ Entry

Actor
Description Requirement Pre-condition Post-condition

User(Buyer, Seller, Administrator)


Allow user to view the submitted FAQ entry N/A N/A

Basic path

1. User clicks on the FAQ links

2. System displays the FAQ page with a list of Question and Answer System displays a page with message: No item here.

Alternate path Exception path

N/A 1. If no FAQ entry is existed,

Project Team: 02

Prepared by: All members

Page 79 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.5.2 Add FAQ entry


Author Use case name Bui The Anh + Nguyen Quoc Quynh Khoi + Huynh Tan Phuc Add FAQ entry

Actor
Description Requirement Pre-condition Post-condition

Administrator
A CRUD operating for FAQ entry Logged in as Administrator New FAQ added successfully

Basic path

1. Administrator clicks on the FAQ links on the side bar. 3. Administrator clicks on Add new FAQ entry link.

2. System opens the FAQ Management page with an Add new FAQ entry link. 4. System opens the Add FAQ entry page, with the following fields: - A text box labeled Question, mandatory. - A text box labeled Answer, mandatory. - A Submit button. 6. System ensures all the mandatory fields is filled, and then stores the new entry into database, redirect Administrator to the newly created FAQ entry with a message: New FAQ entry is created successfully. System displays an error
Page 80 of 113

5. Administrator fill the mandatory fields, then clicks Submit button

Alternate path Exception path


Project Team: 02

N/A 1. If Administrator leave blank


Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

the Question text box,

message: Question cannot be blank, please enters the question for this FAQ entry above the Add FAQ entry form System displays an error message: Answer cannot be blank, please enters the answer for this FAQ entry above the Add FAQ entry form

1. If Administrator leave blank the Answer text box,

5.5.3 Edit FAQ entry


Author Use case name Bui The Anh + Nguyen Quoc Quynh Khoi + Huynh Tan Phuc Edit FAQ entry

Actor
Description Requirement Pre-condition Post-condition

Administrator
A CRUD operating for FAQ entry Logged in as Administrator Edited FAQ information changes according what administrator entered

Basic path

1. Administrator clicks on the FAQ link on the sidebar

2. System opens a FAQ management page, with a list of submitted FAQ entries.
Page 81 of 113

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

3. Administrator clicks on the Edit link beside the FAQ entry he/she wanted to edit.

4. System open the Edit FAQ entry page with: - A mutiline text field labeled Question, mandatory. - A multiline text field labeled Answer, mandatory. - A button labeled Submit 6. System ensures the mandatory field is filled; then save changes of the entry into database and displays a message FAQ entry updated successfully. on the just updated FAQ entry. System displays an error message: Question cannot be blank, please enters the question for this FAQ entry above the Add FAQ entry form System displays an error message: Answer cannot be blank, please enters the answer for this FAQ entry above the Add FAQ entry form

5. Administrator changes the value in those fields, then clicks Submit button.

Alternate path Exception path

N/A 1. Administrator leaves the Question textfield blank

2. Administrator leaves the Answer textfield blank

Project Team: 02

Prepared by: All members

Page 82 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.5.4 Delete FAQ entry


Author Use case name Bui The Anh + Nguyen Quoc Quynh Khoi + Huynh Tan Phuc Delete FAQ entry

Actor
Description Requirement Pre-condition Post-condition

Administrator
A CRUD for FAQ entry Logged in as Administrator The chosen FAQ entry is deleted

Basic path

1. Administrator clicks on the FAQ link on the sidebar

2. System opens a FAQ management page, with a list of submitted FAQ entries. 4. System displays a confirm message Are you sure to delete this FAQ entry, this action cannot be undone. with 2 buttons OK and Cancel. 6. System removes the FAQ entry
Page 83 of 113

3. Administrator clicks on the Delete link beside the FAQ entry he/she wanted to edit.

5. Administrator clicks on the


Project Team: 02 Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

OK button.

Alternate path

1. On the confirm message, administrator decide to cancel the deletion, he/she clicks on the Cancel button.

from database and display a message FAQ entry deleted. then redirect Administrator to FAQ Management page System does nothing to the requested directory entry, redirect administrator to the FAQ Management page with message Deletion cancelled, no action has been taken.

Exception path

N/A

Project Team: 02

Prepared by: All members

Page 84 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.6 Administrative tools


5.6.1 Suspend any property

Author
Usecase name

Nguyen Quoc Quynh Khoi


Suspend any property

Actor
Description

Administrator
In case the property is outdated, eg: the house is sold, but not expires administrator can use this feature to manual suspends those properties to ensure the data is fresh. Logged in as Administrator The chosen property is suspended and not shows on property list or search result.

Requirements Pre-condition Post-condition

Basic path

1. Administrator clicks on the Suspend property link on the sidebar.

2. System open the Suspend property page with an Property ID text field, and a button labeled Search 4. System shows the detail of the property having that ID, with a Suspend button.

3. Administrator fills the Property ID textbox with the ID of the propery he/she would like to suspend, then clicks Search button 5. Administrator clicks on the
Project Team: 02 Prepared by: All members

6. System displays a confirm message: Are you sure to


Page 85 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Suspend button.

suspend this property? with 2 buttons: OK and Cancel. 8. System ensure the Property ID text field is filled in, and the property with that ID is existed [exception], system set status of the property to Suspended and display a message to administrator: The property is suspended successfully. on the detail page of the suspended property. System does nothing and redirect back to Suspend property page. System displays an error message: Please enter the Property ID of the property you would like to suspend. on the Suspend property page. System displays an error message: The requested property cannot be found. Please enters another ID. on the Suspend property page.

7. Administrator clicks on the OK button. [Alternative 1]

Alternate path Exception path

1. [Alternative 1]: administrator clicks on Cancel button [exception] 1. If administrator doesnt input anything into the Property ID text field

2. If the administrator enters a not existed Property ID into the Property ID text field

Project Team: 02

Prepared by: All members

Page 86 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.6.2 Block user Author


Usecase name

Nguyen Quoc Quynh Khoi


Block user

Actor
Description Requirements Pre-condition Post-condition

Administrator
Allow Administrator the right to block an user, it may use in case we needs to block someone because they violate our term and condition Logged in as Administrator The user who Administrator would like to block is blocked; he cannot login nor register another user with that email.

Basic path

1. Administrator clicks on the Block user link on the sidebar

2. System open the Block user page with an E-mail textbox, and button labeled Block 4. System retrieve the user with the same email as entered [exception], and then set the status of the account to
Page 87 of 113

3. Administrator fill e-mail of the user, click Block

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Blocked, and display message: User with e-mail <email@email.com> is blocked. and redirect administrator to the blocked users list. Alternate path Exception path N/A [exception] 1. If administrator dont input into System display an error message: the E-mail textbox, but click on Please enter the e-mail which the Block button you would like to block. on the Block user page. 2. If administrator enters an invalid e-mail into the E-mail textbox, System displays an error message: The entered e-mail is invalid, please enter a valid email to continue. on the Block user page. System displays an error message: The entered e-mail is not existed. on the Block user page.

3. If administrator enters a not existed e-mail into the E-mail text field,

5.6.3 Unblock user Author


Usecase name Project Team: 02

Nguyen Quoc Quynh Khoi


Unblock user Prepared by: All members Page 88 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Actor
Description Requirements Pre-condition Post-condition

Administrator
Allow Administrator to unblock an blocked user Logged in as Administrator Choosed blocked user is unblocked and can login

Basic path

1. Administrator clicks on the Blocked user link on the sidebar

2. System open the Blocked user page with a list of blocked user with a button named Unblock next to each user 4. System set the status of user to Active then displays a message: User <user@email.com> is unblocked successfully.

3. Administrator clicks on Unblock button next to the user he would like to unblock. Alternate path Exception path N/A N/A

5.6.4 Link between house on sale and directory Author Nguyen Quoc Quynh Khoi
Use case name Link between house on sale and directory

Actor
Project Team: 02

Administrator
Prepared by: All members Page 89 of 113

Project: My Sweet Home Description Requirement Pre-condition Post-condition

Document: Development Guide

Approved by: Faculty

Allow Administrator link a house on sale with some directory entry, the purpose is increase the user experience on MySweetHome site - Directory entry existed (at least 1) - House on sale existed (at least 1) Logged in as Administrator House on sale has the reference to selected directory entry

Basic path

1. Administrator clicks on the Link property link on the sidebar

2. System open the Link property page with a list of submitted house on sale (not suspended), a combo box Filter with 3 options: All, Not suspended (by default) and Not linked. 4. System refresh the list of submitted house on sale to suite administrators choice of Filter 6. System open a House on saledirectory link form, with some combo box named: Architect, Builder, Interior designer, ; each combo box contains the list of appropriated directory entry. 8. System then link the house on sale and the choosed directory entry then closes the form, turn back administrator to the Link propertypage with the submitted house on sale.

3. Administrator can choose a Filter to suite his needs.

5. Administrator clicks on a house on sale which he would like to modify the link with directory

7. Administrator choose the right Architect, Builder, Interior designer for the house then clicks Link

Alternate path Exception path

N/A 1. If the directory is empty, system displays an error message: Directory is empty, nothing to link, please add some entry to the directory first with the add some entry is a hyperlink to the Add directory entry form.

Project Team: 02

Prepared by: All members

Page 90 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.6.5 Add Bank loan policy Author Nguyen Quoc Quynh Khoi User Case Name Add bank loan policy Actor Administrator Description A CRUD operating for Bank loan policy Pre-Condition Logged in as Administrator Post-Condition New bank loan policy added successful Fail: Re-enter bank policy information Basic path 1. Administrator clicks on the 2. System opens a Bank policy Bank policy link on the sidebar page, with an Add new bank policy link. 3. Administrator clicks on the Add new bank policy link. 4. System open the Add new bank policy page with: - a text field labeled Bank, mandatory - a textfield labeled Minimum price to apply (USD), mandatory - a textfield labeled Maximum price to apply (USD), mandatory
Page 91 of 113

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

- a textfield labeled Percentage of loan, mandatory - a textfield labeled Interests each year, mandatory - a textfield labeled Loan duration (year), mandatory - a button labeled Submit 5. Administrator fills in those fields, then clicks Submit button. 6. System ensures the mandatory field is filled; the filled information is valid, then stores the entry into database and displays a message New bank policy has been added successfully. on Bank policy page. System displays an error message: Percentage of loan must be numeric only, please correct it then re-submit. System displays an error message: Percentage of loan must be greater than 0% and lesser or equals 100%, please correct it and re-submit. System displays an error message: Interests per year cannot be blank, please enters the interests per year for this policy. System displays an error message: Interests per year must be numeric only, please correct it then re-submit. System displays an error message: Interests per year must be greater or equals 0%, please correct it and re-submit. System displays an error message: Loan duration cannot be blank, please enters the loan duration for this policy.
Page 92 of 113

Alternate path Exception path

N/A 10. If Administrator enters a nonnumeric data into the Percentage of loan textfield

11. If Administrator enters a number lesser than 0 or greater than 100

12. If Administrator leaves the Interests per year field blank

13. If Administrator enters a nonnumeric data into the Interests per year textfield

14. If Administrator enters a negative number

15. If Administrator leaves the Loan duration (year) field blank

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

16. If Administrator enters a nonnumeric data into the Loan duration textfield

System displays an error message: Loan duration must be numeric only, please correct it then re-submit. System displays an error message: Loan duration must be 1 year or above, please correct it and re-submit.

17. If Administrator enters a negative number

5.6.6 Edit Bank loan policy Author Nguyen Quoc Quynh Khoi
User case name Edit Bank loan policy

Actor
Description Requirements Pre-condition Post-condition

Administrator
a CRUD operating for Bank loan policy Existed at least 1 bank policy to be edit Logged in as Administrator The edited bank policy has same information as Administrator entered

Basic path
Project Team: 02

Fail: Re-enter bank policy information 1. Administrator clicks on the 2. System opens a Bank policy
Prepared by: All members Page 93 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Bank policy link on the sidebar

page, with a list of submitted bank policy, each submitted bank policy has the Edit link next to it.

Alternate path Exception path

3. Administrator clicks on the Edit link next to the bank policy 4. System open the Edit bank he would like to edit. policy page with filled data in the following field: - a text field labeled Bank, mandatory - a textfield labeled Minimum price to apply (USD), mandatory - a textfield labeled Maximum price to apply (USD), mandatory - a textfield labeled Percentage of loan, mandatory - a textfield labeled Interests each year, mandatory - a textfield labeled Loan 5. Administrator changes the data duration (year), mandatory in those fields to suite the new - a button labeled Submit updated data, then clicks Submit button. 6. System ensures the mandatory field is filled; the filled information is valid, then stores the entry into database and displays a message Your bank policy has been changes successfully. on Bank policy page. N/A 1. If Administrator leaves blank System displays an error the Bank textfield message: Bank name cannot be blank, please enters the name for the bank on the Add new bank policy page. 2. If Administrator leaves the Minimum price to apply (USD) System displays an error field blank, message: Minimum price cannot be blank, please enters the minimum price for this policy. 3. If Administrator enters a nonnumeric data into the Minimum System displays an error price to apply (USD) textfield, message: Minimum price must be numeric only, please correct it
Prepared by: All members Page 94 of 113

Project Team: 02

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

then re-submit. 4. If Administrator enters a negative number into the Minimum price to apply (USD) textfield, System displays an error message: Minimum price must be greater than 0, please correct it then re-submit.

5. If Administrator leaves the System displays an error Maximum price to apply (USD) message: Maximum price field blank, cannot be blank, please enters the maximum price for this policy. 6. If Administrator enters a nonnumeric data into the Maximum price to apply (USD) textfield, System displays an error message: Maximum price must be numeric only, please correct it then re-submit. System displays an error message: Maximum price must be greater than 0, please correct it then re-submit. System displays an error message: Maximum price must greater than minimum price, please correct it then re-submit. System displays an error message: Percentage of loan cannot be blank, please enters the percentage of loan for this policy. System displays an error message: Percentage of loan must be numeric only, please correct it then re-submit. System displays an error message: Percentage of loan must be greater than 0% and lesser or equals 100%, please correct it and re-submit. System displays an error message: Interests per year cannot be blank, please enters the
Page 95 of 113

7. If Administrator enters a negative number into the Maximum price to apply (USD) textfield,

8. If Administrator enters the maximum price lesser the minimum price,

9. If Administrator leaves the Percentage of loan field blank,

10. If Administrator enters a nonnumeric data into the Percentage of loan textfield,

11. If Administrator enters a number lesser than 0 or greater than 100,

12. If Administrator leaves the Interests per year field blank,


Project Team: 02 Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

interests per year for this policy. 13. If Administrator enters a nonnumeric data into the Interests per year textfield, System displays an error message: Interests per year must be numeric only, please correct it then re-submit. System displays an error message: Interests per year must be greater or equals 0%, please correct it and re-submit. System displays an error message: Loan duration cannot be blank, please enters the loan duration for this policy. System displays an error message: Loan duration must be numeric only, please correct it then re-submit. System displays an error message: Loan duration must be 1 year or above, please correct it and re-submit.

14. If Administrator enters a negative number,

15. If Administrator leaves the Loan duration (year) field blank,

16. If Administrator enters a nonnumeric data into the Loan duration textfield,

17. If Administrator enters a negative number,

Project Team: 02

Prepared by: All members

Page 96 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

5.6.7 Delete Bank loan policy Author Nguyen Quoc Quynh Khoi
Use case name Delete Bank loan policy

Actor
Description Requirements Pre-condition Post-condition

Administrator
A CRUD operating for Bank policy Logged in as administrator Bank Policy is deleted successfully OR user cancel the deletion

Basic flow

1. Administrator clicks on the Bank policy link on the sidebar

2. System opens a Bank policy page, with a list of submitted directory entry, each policy has a Delete link next to it. 4. System displays a confirm message Are you sure to delete this bank policy, this action cannot be undone. with 2 buttons OK and Cancel. 6. System removes the bank
Page 97 of 113

3. Administrator clicks on the Delete link next to the bank policy he/she wanted to delete.

5. Administrator clicks on the


Project Team: 02 Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

OK button. [alternative]

Alternate flow

1. [alternative] On the confirm message, administrator decide to cancel the deletion, he/she clicks on the Cancel button.

policy from database and display a message Bank policy deleted. then redirect Administrator to Bank policy page System does nothing to the requested directory entry, redirect administrator to the Bank policy page with message Deletion cancelled, no action has been taken.

Exception path

N/A

Project Team: 02

Prepared by: All members

Page 98 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Entity Relationship Diagram

Project Team: 02

Prepared by: All members

Page 99 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Database Relationship Diagram

Table definition

Note: +: validate and check constraint - : not validate, dont care


Project Team: 02 Prepared by: All members Page 100 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

8.1 Users
This table stores all information about user, both Buyer and Seller Field name Data type Null Default Table-ref Value field int(10) No UID Email varchar(50) No Key PK Description User ID, auto generate. Email of user, this is also the login name of user MD5 hash of users password 1/0 - Active/Blocked user Address of user (especially seller) Phone of user (especially seller) Full name of user (especially seller) Buyer or Seller, type of user

Password Status sAddress sPhone sName UserType

varchar(32) int(1) varchar(200) varchar(20) varchar(50) varchar(6)

No No Yes Yes Yes No

Constraint: Email must an email format type. sPhone must be positive number. Name Add Users + (Email, sPhone)

Delete -

Update + (Email, sPhone)

8.2 SearchQueries
This table stores all search history of Buyer. Field name Data type Null Default Value int(10) QID UID int(10) Tableref-field Key PK Users.UID FK Description Query ID. Primary key User ID, FK of the User table, only accept User who is Buyer 1/2/3 House on Sale/House on rental/Accommodatio n on rental as paying guest

TypeOfSearch

int(1)

Project Team: 02

Prepared by: All members

Page 101 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

SquareFootage

int(1)

City Street NumberOfBathroom

varchar(50) varchar(100) int(1)

NumberOfBedroom

int(1)

TypeofProperty

varchar(50)

MinimumPrice MaximumPrice MinimumDeposit

real(10,2) real(10,2) real(10,2)

MaximumDeposit

real(10,2)

MinimumRent

real(10,2)

1/2/3/4/5/6 <50, 50<= and <100, 100<= and <200, 200<= and <500, >=500, Any Search for property in city Search for property in Street 1/2/3/4/5/6 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any 1/2/3/4/5/6 1 or more, 2 or more, 3 or more, 4 or more, 5 or more and Any Resident Land, Commercial, Condominium, Townhouse, Multiunit dwelling, All Minimum price for House on Sale search Maximum price for House on Sale search Minimum deposit for House on Rental/Accommodati on on Rental as Paying Guest Maximum deposit for House on Rental/Accommodati on on Rental as Paying Guest Minimum rent price for House on Rental/Accommodati on on Rental as Paying Guest

Project Team: 02

Prepared by: All members

Page 102 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

MaximumRent

real(10,2)

Maximum rent price for House on Rental/Accommodati on on Rental as Paying Guest

Constraint: UID must exist. Number of bathroom, Number of bedroom, SquareFootage, MinimumPrice, MaximumPrice, MinimumDeposit, MaximumDeposit, MinimumRent, and MaximumRent must be positive number. Name Add Delete Update SearchQueries + N/A (UID, MinimumPrice, MaximumPrice, MinimumDeposit , MaximumDeposit, MinimumRent, MaximumRent)

This table is used to store houses properties. System will save the houses properties which are given by seller. Data in this table will be used to present details of the house searched by buyer. Seller also can update these properties and suspend them. Field name Data type Nul Default Table- Key Description l Value reffield int(10) No PK Property ID, auto generate PID UID int(10) No Users. FK User ID, FK of the User UID table, only accept user who is Seller TypeOfSubmission int(1) No 1/2/3 - House on Sale/House on Rental/Accommodation on Rental as Paying Guest Image varchar(50 Yes Path of houses image, ) stored on server City nvarchar(2 No Houses city name 0) Street nvarchar(5 No Houses address 0) NumberOfBathroom int Yes Number of bathroom NumberOfBedroom int Yes Number of bedroom SquareFootage real Yes Houses Square (m2) TypeOfProperty varchar(20 Yes Resident Land, ) Commercial,
Project Team: 02 Prepared by: All members Page 103 of 113

8.3 Properties

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

ExtraFacilitiesAvaila int(1) ble ModesOfTransport nvarchar(5 0) WithFurniture int(1) ModeOfPayment varchar(50 ) ContactName nvarchar(5 0) ContactAddress nvarchar(5 0) ContactPhone varchar(15 ) ContactEmail varchar(50 ) sPrice real(10,2) rDeposit real(10,2)

Yes Yes Yes No Yes Yes Yes No Yes Yes

Condominium, Townhouse, Multi-unit dwelling 1/0 Yes/No Train, bus, motorbike 1/0 Yes/No Cash, master card, visa, paypal . Name of the contact Address of the contact Phone of the contact Email of the contact Sell price for House on sale Rent deposit for House on rental, accommodation on rental as Paying guest Rent price per month for House on rental, accommodation on rental as Paying guest 1/0 - Yes/No The day when the property is submitted(format: mm/dd/yyyy) The day when the property expired (format : mm/dd/yyyy) 1/0 Yes/No

rRent

real(10,2)

Yes

Negotiable SubmitDate

int(1) datetime(8 ) datetime(8 )

Yes No

Current date

ExpiredDate

No

Suspended int(1) No 0 Constraint: Submit date < Expired date Number of bathroom, Number of bedroom, SquareFootage, sPrice, rDeposit, rPrice must be positive number Name Add Delete Update Properties + + (UID,SubmitDate,ExpiredDate, (UID,SubmitDate,Expi NumberOfBathroom, redDate, NumberOfBedroom, NumberOfBathroom, SquareFootage, sPrice, NumberOfBedroom, rDeposit, rPrice) SquareFootage, sPrice,
Project Team: 02 Prepared by: All members Page 104 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

rDeposit, rPrice)

8.4 Votes
This table stores the vote score for Seller, also store who votes Field name Data type Null Default Table-ref- Key Description Value field int(10) No PK Vote ID, Primary key VID VoteFrom int(10) No Users.UID FK Who vote? VoteTo int(10) No Users.UID FK Vote for who? VoteDate datetime No Current Vote date day VotePoint int(10) No Vote Point Constraint: UID must exist. VoteFrom,VoteTo do not duplicated Name Add Delete Update Votes + + VoteFrom Users.UID must Users.UID must existed existed VoteTo Users.UID must Users.UID must existed existed VoteFrom,VoteTo Unique,Do not Unique,Do not duplicated duplicated

8.5 DirectoryCategory
This table stores all categories of the directory, eg: Property Service Provider Broker Field name DCID Name Data type int(10) varchar(100) Null Default Value No No Table-reffield Key PK Description Directory Category ID, Primary key Name of the category (Property Service Provider, Broker, ) Total entry in this category 1/0 Yes/No

Total IsDeleted Constraint:

int(10) int(1)

Yes No 0

Total must be integer

Name DirectoryCategory

Add + (Total)

Delete -

Update + (Total)
Page 105 of 113

Project Team: 02

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

8.6 DirectoryEntry
This table stores all entry of the directory, and classified by category. Field name Data type Null Default Table-ref-field Key Description Value int(10) No PK Directory Entry ID. DEID Primary Key DCID int(10) No DirectoryCategory FK Directory Category .DCID ID, FK of DirectoryCategory table Name varchar(100) No Name of the entry (company name, for example) Description varchar(1000) No Description of the entry Address varchar(200) No Address of the company entry Phone varchar(20) Yes Phone of the company Image varchar(300) Yes Image (logo) Email varchar(100) Yes E-mail of the entry (path to the image uploaded on server) Homepage varchar(300) Yes Homepage of the entry IsDeleted int(1) No 0 1/0 Yes/No Constraint: Name Add Delete Update DirectoryEntry + + (DCID) (DCID)

8.7 DirectoryService
This table stores all service of the each directory entry, usually use for Property Service Provider Field name Data type Null Default TableKey Description Value ref-field int(10) No PK Directory Service ID. DSID Primary key DEID int(10) No FK Directory Entry ID, FK of DirectoryEntry table Name varchar(100) No Name of the service Description varchar(500) No Description of the service IsDeleted int(1) No 0 1/0 Yes/No Constraint: Name
Project Team: 02

Add

Delete

Update
Page 106 of 113

Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

DirectoryService

+ (DEID) Data type int(10) int(10) Null Default Value

+ (DEID) Key PK PK Description Properties ID. Primary key Directory Entry ID. Primary key Name of the service

8.8 PropertyEntry
Field name PID DEID Table-ref-field Properties.PID DirectoryEntry.DEID

EntryType Constraint: Name PropertyEntry

varchar(100)

Add + (PID,DEID)

Delete -

Update + (PID,DEID)

8.9 FAQ
This table stores all FAQ about using MySweetHome system Field name Data type Null Default TableValue ref-field int(10) FID Question varchar(500) Answer varchar(500) Constraint: Name FAQS Key PK Description FAQ ID Question Answer for the question Update -

Add -

Delete -

8.10 BankPolicies
Field name BPID Data type int(10) Null No Default Value Tableref-field Key PK Description Bank Policy ID, Primary Key, AutoIncrement Name of the Bank provide this policy The name of policy Minimum price of the house to apply this policy Maximum price of the house can apply this policy How much buyer can
Page 107 of 113

BankName PolicyName MinimumToApply

varchar(100) varchar(100) double(10,2)

No No No

MaximumToApply

double(10,2)

No

PercentageOfLoan
Project Team: 02

float(2,2)

No
Prepared by: All members

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

DurationOfLoan

int

No

Add + (not blank) PolicyName + (not blank) MinimumToApply + (not blank, numeric, >= 0) MaximumToApply + (not blank, numeric, greater or equals MinimumToApply PercentageOfLoan + (not blank, numeric, from 1 to 100) DurationOfLoan + (not blank, numeric, >= 1) PercentageOfInterests + (not blank, numeric, >= 0)

PercentageOfInterests Constraint: Name BankName

float(2,2)

No Delete -

loan for this policy Duration of Loan/Time for pay back (in year) Interest in percentage Update + (same Add constrain) + (same Add constrain) + (same Add constrain) + (same Add constrain)

+ (same Add constrain) + (same Add constrain) + (same Add constrain)

Project Team: 02

Prepared by: All members

Page 108 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Other contraints

9.1 Users and SearchQueries


Name Users Add Delete + (Users.UID exist SearchQueries) Update (Users.UID can not be changed) N/A

SearchQueries

+ (Users.UID must exist)

9.2 Users and Properties


Name Users Add Delete + (Users.UID exist Properties) Update (Users.UID can not be changed) + (Users.UID must exist)

Properties

+ (Users.UID must exist)

9.3 Users and Votes


Name Users Add Delete + (Users.UID exist Votes) Update (Users.UID can not be changed) + (Users.UID must exist)

Votes

+ (Users.UID must exist)

9.4 Properties and PropertyEntry


Name Properties Add Delete + (Properties.PID exist PropertyEntry) Update (Properties.PID can not be changed) + (Properties.PID must exist)

PropertyEntry

+ (Properties.PID must exist)

9.5 DirectoryEntry and PropertyEntry


Project Team: 02 Prepared by: All members Page 109 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Name DirectoryEntry

Add -

PropertyEntry

+ (DirectoryEntry.DEID must exist)

Delete + (DirectoryEntry.DEID exist DirectoryEntry) -

Update (DirectoryEntry.DEID can not be changed) + (DirectoryEntry.DEID must exist)

9.6 DirectoryCategory and DirectoryEntry


Name DirectoryCategory Add Delete + (DirectoryCategory.D CID exist DirectoryEntry) Update (DirectoryCategory.DC ID can not be changed) + (DirectoryEntry.DEID must exist)

DirectoryEntry

+ (DirectoryEntry.DEID must exist)

9.7 DirectoryEntry and DirectoryService


Name DirectoryEntry Add Delete + (DirectoryEntry.DEID exist DirectoryService) Update (DirectoryEntry can not be changed) + (DirectoryEntry.DEID must exist)

DirectoryService

+ (DirectoryEntry.DEID must exist)

Date: 23/04/2012

Prepare By: Team 2 Team Leader

Approved By: Faculty

Nguyen Quoc Quynh Khoi

Kieu Trong Khanh

Project Team: 02

Prepared by: All members

Page 110 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

REVIEW 3

Project Team: 02

Prepared by: All members

Page 111 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Date: 23/04/2012

Prepare By: Team 2 Team Leader

Approved By: Faculty

Nguyen Quoc Quynh Khoi

Kieu Trong Khanh

Project Team: 02

Prepared by: All members

Page 112 of 113

Project: My Sweet Home

Document: Development Guide

Approved by: Faculty

Project Team: 02

Prepared by: All members

Page 113 of 113