Fig 1. Main Screen
Fig 2. Buyer Search Screen
Customers are potential buyers or sellers of properties, and they use the system in `Buyer Mode'. They can display all information on a listing with the exception of the owners' info, the listing agent's comments and the offers made. The ability to search the data base for all listings that satisfy given requirements is vital. For example, a customer might want to view all listings that are between $100,000 and $150,000; are in the North West; and have an attached garage.
Fig 3. Realtor Search Screen
In terms of searching the catalogue, realtors have the same needs as customers. Realtors also can modify their own personal information, which includes:
Finally, realtors can enter new listings into the database, modify their own listings, view all their own listings, and make offers on listings.
Fig 4. Administrater Search Screen
Fig 5. Login Screen
2.1.1.1 `Login' allows users to log in to the system.
2.1.2 Sample Call:
2.1.2.1 Jill, a realtor, wants to log in to the system. She launches the application by double clicking on the icon representing the program in the Windows Program Manager. A login dialog is automatically presented. She enters her `Login Name', her `Password', and presses 'OK'. The login window is replaced by the main window, with the system in realtor mode.
2.1.3 Inputs:
2.1.3.1 The user must enter a `Login Name' and a `Password'. The system is placed in the mode appropriate for the user that has logged in (Realtor, Administrator). Buyers could log in as user 'guest' and be placed in Buyer mode (no password is required when logging in as 'guest'). It is possible to avoid having the login screen appear at all by including a login name (and password, if necessary) in the command line used to launch the program. `Command Line' is a property of Windows Program Manager icons. This feature is most useful when used to launch the program with the user "guest". In such a circumstance the program would automatically be brought up in Buyer mode with no login screen appearing. Alternatively, a similar command line could be placed in a computer's AUTOEXEC.BAT file (which is run when the computer is first turned on) so that the program is loaded and brought up in Buyer mode whenever the computer is booted.
2.1.5 Subroutines Called:
2.1.5.1 User verification is handled by the Access database.
2.1.6 Preconditions/Assumptions:
2.1.6.1 None.
2.1.7 Algorithm:
Display Login Window while (NOT Cancel OR OK) Enter in UserName and Password if Valid UserName and Password show main form else display error2.1.10 Called By:
2.1.10.1Automatically called at program launch.
2.1.11 Limitations:
2.1.11.1 None.
2.2.1.1 Our system will have three different modes of access:
2.2.1.3 Regardless of the user's access level, there is dynamic help available at all times. Whenever the pointer moves over a region of the screen associated with some function of the program, a description of its functionality is displayed in the help area set aside at the bottom of the screen. Sample screens and flowcharts illustrate the layout and functionality of each task involved in a search.
2.2.2.1.1 The system is designed to provide the user with all of the tools needed for a comprehensive search on a single screen.
2.2.2.2 Sample Call:
2.2.2.2.1 The user is presented with search options that can be set to query the PowerMax Realty Database for houses on the basis of :
2.2.2.2.3 Roger and Beth are planning to be married in a few months. They have come to PowerMax Realty to help them get a great start on their new life together with a new home. They know nothing about buying houses, but they do know what they want in a house. Beth sees the Buyer's Search Screen and immediately understands that they can search for a house with exactly the requirements they want. Roger points out that they should get a home in the SE, so Beth quickly clicks on the SE check box. He then suggests that they adjust the search to include a two-car garage, for when they have a bigger family (he grins at her). She then sets the number of bedrooms to three in anticipation of a bigger family. The rest of the options they leave at the default settings. Beth clicks on the `Search' button on the right of the screen. The happy couple are pleased to see that fifteen listings are returned.
2.2.2.3 Input:
2.2.2.3.1 Each of the search options have designated default settings. The buyer can change these settings by manipulating the controls in the options box at the top left of the screen. Pull-down menus allow for a choice of the ranges of price, square footage, style, number of bedrooms, basement, garage, age, and lot size. `Rent' and `Buy' are chosen as search parameters by selecting radio buttons. The four quadrants of the city (NE, SE, NW, SW) are each represented by a check box. The scope of the search can be widened or narrowed by selecting any, or all, of these buttons. A user can enter a house reference number in the field provided, and if he should do so, all of the other options fields become unavailable, because at that point, they are superfluous.
2.2.2.3.2 Clicking on the `Search' button, which is located prominently in the Search Options pane, initiates the search.
2.2.2.3.3 Realtors and Administrators may limit the results of their searches by means of the `Own' and `All' radio buttons located above the `Search Results' list box. If the `All' button is selected, all properties matching the criteria in the `Search Options' area will be displayed in the list box. If the `Own' button is selected, only those listings entered into the database by the particular user of the program will be displayed.
2.2.2.4 Output:
2.2.2.4.1 The results of the search are listed in the scroll box on the upper right of the screen. The listings are displayed in alphabetical order according to the region or community within each of the chosen quadrants. The search options which are manipulated by pull-down menus and check boxes are left visible to the user while viewing search results. A new search is not initiated until the `Search' button is again pressed.
2.2.2.4.1 The results of the search can be limited by realtors or administrators by means of the current selection of the `Own' and `All' radio buttons. If the `Own' button is selected, only those listings matching the search options that entered by the current user will be displayed, otherwise all matching listings will be displayed.
Fig. 6 - Flowchart outlining Basic Search function
2.2.2.5.1 By default, it is assumed that if a user does not specify a value or range for a search option, then all listings will be accepted -- e.g. if no choice is made for the price fields, then properties of all values will be displayed after a search.
2.2.2.6 Post Condition:
2.2.2.6.1 All listings meeting the given criteria are listed in the search result pane.
2.2.2.7 Error Handling:
2.2.2.7.1 If no listings are found that satisfy the current search conditions, a pop-up box displays a "Sorry, No Listings Found" message.
2.2.2.8 Limitations:
2.2.2.8.1 Dynamic searching is unavailable. The user must hit the `Search' button each time he or she wishes to make a new search. 2.2.2.8.2 Searching by reference number is only possible for realtors and administrators since it is to be assumed at least initially that terminals dedicated to buyer use have no keyboard. Sample Dialogue:
2.2.3.1.1 When a buyer is interested in a listing that was found during a query, clicking on it within the listbox brings up detailed information about that particular listing and a picture of the property, displayed at the bottom of the screen. The details of the listing, such as the asking price/rent, size of the lot/property, the parameters involved in the search, as well as other amenities that were not specified in the search are also displayed.
2.2.3.2 Sample Call:
2.2.3.2.1 Mr. Yamaguchi, the big boss, is searching for a property for one of his customers. The customer desires a bungalow for purchase between 190000 and 260000 dollars, 3 bedrooms and an attached two-car garage, but is uninterested in the age of the house or the area of the city. Mr. Yamaguchi smiles to himself at the commission he expects and enters the fields into the Search Options pane of the window. Only two properties meet the customer's specifications, however, so Mr. Yamaguchi has some hard selling to do.
Fig. 7 - Flowchart outlining View/Print function
2.2.3.3.1 Options for the search are entered by means of selecting choices from the pull-down lists in the Search Options pane, with the exception of the reference number, which must be entered from a keyboard. Once the search options are specified, the `Search' button must be pressed.
2.2.3.3.2 If a user clicks on one of the listings in the `Search Results' list box, that listing will be displayed at the bottom of the program window.
2.2.3.3.3 The `Print' button is used to generate a hard copy of the window as it is currently displayed on the screen.
2.2.3.3.4 If the user is an administrator or the realtor who owns the displayed listing, he or she may click on the picture of the listing to display the private information for that listing to which he has access, e.g. the offers made or the lister's comments. If the user then clicks on the private information, the picture is redisplayed.
2.2.3.4 Output:
2.2.3.4.1 If there were no properties which match a set of search options, a pop-up box is displayed for the user stating that fact.
2.2.3.4.2 If there were properties that matched the options, then they are listed in the `Search Results' list box.
2.2.3.4.3 If the user clicked on a listing in the `Search Results' list box, then that listing's information is displayed in the lower left of the window and a picture of the listing is displayed in the lower right.
2.2.3.4.4 If the user pressed the `Print' button, then a paper copy of the window is produced on the printer.
2.2.3.5 Preconditions/Assumptions:
2.2.3.5.1 The information that appears for a listing is modified for different access levels. Regular users, in buyer mode, are presented with general information about the listing that basically correspond with the search options. Realtor level access, and higher, have additional information displayed with each listing. This is private information, such as offers made, listing realtor comments, and owner information.
2.2.3.6 Post Condition:
2.2.3.6.1 After a search is made, users may display information on the results of the search or make a new search. Realtors and administrators can view more information than general users.
2.2.3.7 Error Handling:
2.2.3.7.1 If a search returned no successful matches, a dialog box is displayed.
2.2.3.8 Limitations:
2.2.3.8.1 Cannot view more than one listing at the same time. A set of listings cannot be selected for a batch printing job. Each individual listing must currently be in the View/Print window in order to produce a hardcopy.
2.2.4.1 Purpose:
2.2.4.1.1 The user invokes the Clear Options function in order to begin a completely new search.
2.2.4.2 Sample Call:
2.2.4.2.1 Roger and Beth click on the `Clear' button and approach Mr. Yamaguchi about their house. Meanwhile, a young man named Bill approaches the terminal and sees the screen. While he waits for a realtor to free up he decides to search for a nice little condo on the computer. He has no experience with computers at all, and has always felt overwhelmed by some of the complicated programs he has seen. Until seeing this screen, he has not even considered the aid computers could be in anyone finding a new home. The settings are at default, so Bill begins his search unhindered by choices. When he sees a listing he likes, Bill clicks on it. The information on the property appears at the bottom of the screen, exhibiting the most beautiful condo Bill had ever seen.
2.2.4.3 Input:
2.2.4.3.1 The user presses the `Clear' button.
2.2.4.4 Output:
2.2.4.4.1 All of the option fields in the `Search Options' area are reset to their default values.
Fig. 8 - `Clear' Function Flowchart
2.2.4.5.1 There are no preconditions to the use of this facility.
2.2.4.5 Post Condition:
2.2.4.5.1 The resulting state of the system is always the initial start state, with the 'Welcome to PowerMax' Screen in the bottom window, and all of the search options set to default values.
2.2.4.6 Error Handling:
2.2.4.6.1 There are theoretically no errors possible.
2.2.4.7 Limitations: 2.2.4.7.1 There are theoretically no limitations to a user's fun with this button.
2.3.1.1 `Make Offer' allows the listing realtor of a property to enter an offer for that property.
2.3.2 Sample Call:
2.3.2.1 Jack, a realtor, is going to make an offer the house with property reference number 1234 for one of his clients. He enters the reference number 1234 in the reference number field and presses the `Search' button, causing information on that property to be shown. He chooses `Make Offer' from the Realtor pulldown menu to enter the offer.
Fig. 9 - `Make Offer' Function Screen Snapshot
2.3.3.1 Once the listing realtor selects `Make Offer' from the pulldown menu, a popup screen appears which displays the reference number of the listing for which to make the offer. The listing realtor can then enter the offer for listing and press the `OK' button to store the it in the database, or press the `Cancel' button to exit without entering an offer. An offer must be a positive integer number of dollars.
2.3.4 Outputs:
2.3.4.1 Unless there is an error, there are no outputs visible to the user.
2.3.5 Subroutines Called:
2.3.5.1 This function will call a subroutine to generate the popup screen. When the user presses `OK', a subroutine is called to validate the offer. A final subroutine is then called to enter the offer into the database.
2.3.6 Preconditions/Assumptions:
2.3.6.1 There are no preconditions or assumptions.
2.3.7 Algorithm:
Pesudocode ---------- Display Make an Offer window while (NOT Cancel OR OK) Enter in Offer if OK button pressed if entry valid enter offer into database else display error message Close Make an Offer window
Fig. 10 - 'Make an Offer' Function Flowchart
2.3.8.1 After this function is finished, the offer is stored in the database and can be used for future reference. This offer will appear in the listing information window when a realtor or administrator clicks on the picture.
2.3.9 Error Handling:
2.3.9.1 In case the offer is not a positive integer the listing realtor will be informed via a popup window and can try again by choosing `OK'.
2.3.10 Called By:
2.3.10.1 This function is selected from the pull-down menu `Realtor' on the main search screen. It is only accessible to the lising realtor for the current listing.
2.3.11 Limitations:
2.3.11.1 There are no limitations to a realtor's action on this function.
Fig. 11 - Modify Listing
2.4.1.1 The `Modify Listing' selection will allow a realtor or administrator to change any of the data pertaining to a listing:
2.4.2 Sample Call:
2.4.2.1 Jack, a realtor, would like to change the price for one of his listings from $110,000 to $140,000. When he selects `Modify Listing' from the `Realtor' pull-down screen, the `Modify Listing' screen appears with all the field data visible. The listing displayed corresponds to the reference number from the Realtor/Administrator screen. He moves the mouse cursor to the `Price' field, deletes the previous $110,000 price, and types in "140000". Jack selects the `Save' function to save the changed listing to the database, and the database is changed. Finally, he selects `OK' and returns to the Realtor/Administrator screen. Mr. Yamaguchi would be proud of Jack's proficiency with the program.
2.4.3 Inputs:
2.4.3.1 When the user selects `Modify Listing' from the pull-down menu, a pop-up screen appears. This has text boxes with the previous listing data. The user can change any data in the text boxes and save them (and exit) by pressing the `OK' button. To not save any changes made or to just exit, the user can press `Cancel'.
2.4.3.2 Valid entries for each field are as follows:
2.4.3.3 The `Accept Offer' button makes the listing immune to further `Make Offer' operations and replaces the original picture with a new picture with a big `SOLD' sign and a timestamp indicating the time and date of the sale.
2.4.4 Outputs:
2.4.4.1 If `Cancel' is selected, the `Modify Listing' pop-up screen disappears and no changes are made to the database.
Fig. 12 - `Modify Listing' Function Flowchart
2.4.5.1 This function will call a subroutine to generate the pop-up screen. When the user presses `OK', a subroutine to check the validity of all entries must be made. Then to save the changed listing to the database, another subroutine must be called.
2.4.6 Preconditions/Assumptions:
2.4.6.1 No real assumptions are being made. No assumptions are made about the validity of any entries.
2.4.7 Algorithm:
Display Modify Listing window while (NOT Cancel OR OK) Enter in Listing Information if OK button pressed if listing valid enter Listing into database else display error message Close Modify Listing window2.4.8 Post Condition:
2.4.8.1 After this function is finished, a modified listing is saved to the database, replacing the old one, and the user is returned to the previous Realtor/Admin screen.
2.4.9 Error Handling:
2.4.9.1 In case any entries are invalid, the user will be informed via a pop-up window that (for example) in the price field, there are invalid characters. In case a save is not possible to the database, a pop-up window will inform the user that a save to the database is not possible at this time.
2.4.9.2 A property that has been sold -- i.e. for which the `Accept Offer' button has been pressed -- cannot have new offers made on it.
2.4.10 Called By:
2.4.10.1 This function is selected from the pull-down menu `Realtor' on the main Realtor/Administrator search screen.
2.4.11 Limitations:
2.4.11.1 It would be a nice feature to limit the characters that can be entered for each field. For example, when selecting a price for a listing, only numbers are allowed to be entered.
2.5.1.1 `Insert New Listing' allows a realtor to enter a new listing into the database, with the resulting listing belonging to the realtor.
2.5.2 Sample Call:
2.5.2.1 Jill, a realtor, would like to insert a new listing into the database. When she selects `Insert New Listing' from the `Realtor' pulldown menu a popup screen appears. She first associates a previously scanned photograph of the property with the listing. She continues to fill in the price, square footage, etc. After she has filled in all the information she selects `OK' to save the listing in the database.
2.5.3 Inputs:
2.5.3.1 Once the listing realtor selects `Insert New Listing' from the pulldown menu, a popup screen appears. This is the same as the one that appears when a realtor chooses the `Modify Listing' option. The realtor can then enter all the information for listing and press the `OK' button to store the it in the database, or press the `Cancel' button exit without entering the listing.
2.5.3.2 Valid entries for the fields are as follows:
2.5.4.1 If the `Cancel' button is chosen, the Insert New Listing popup screen disappears and the database is not changed.
Fig. 13 - `Insert a Listing' Function Flowchart
2.5.5.1 This function will call a subroutine to generate the popup screen. When the user presses `OK', a subroutine is called to to validate all entries. A final subroutine is then called to enter the new listing into the database.
2.5.6 Preconditions/Assumptions:
2.5.6.1 It is assumed that the listing is new, i.e., there is not a listing for the same property in the database.
2.5.7 Algorithm:
Display Insert New Listing window while (NOT Cancel OR OK) Enter in Listing Information if OK button pressed if listing valid enter Listing into database else display error message Close Insert New Listing window2.5.8 Post Condition:
2.5.8.1 After this function is finished, the listing is assigned a unique reference number and saved to the database. The listing belongs to the current realtor. The realtor then returns to the previous Realtor/Admin screen.
2.5.9 Error Handling:
2.5.9.1 In case any entries are invalid, the user will be informed via a popup window that (for example) in the price field, there are invalid characters. In case a save is not possible to the database, a popup window will inform the user that a save to the database is not possible at this time.
2.5.10 Called By:
2.5.10.1 This function is selected from the pull down menu `Realtor' on the main search screen.
2.5.11 Limitations:
2.5.11.1 As in `Modify Listing', it would be a nice feature to limit the characters that can be entered for each field.
2.6.1 Purpose:
2.6.1.1 `Delete Listing' allows the listing realtor of a property or the administrator to remove that property from the active search list. If a listing is deleted it is no longer visible during a search.
2.6.2 Sample Call:
2.6.2.1 Jack, a realtor, has sold a house with property reference number 1234 for one of his clients. He searches for that property, and then chooses `Delete Listing' from the Realtor pulldown menu to delete the listing.
2.6.3 Inputs:
2.6.3.1 Once the listing realtor selects `Delete Listing' from the pulldown menu, a popup screen appears. The listing realtor can then press the `OK' button to delete it, or press the `Cancel' button exit without deleting the listing.
2.6.4 Outputs:
2.6.4.1 After clicking `OK' a popup window will appear requesting the realtor for confirmation. If the `Cancel' button is chosen, the `Delete Listing' popup screen disappears. In either case, the main window is re-enabled.
2.6.5 Subroutines Called:
2.6.5.1 This function will call a subroutine to generate the popup screen. When the user presses `OK', a subroutine is called to to generate the confirmation popup window. A final subroutine is then called to delete the listing.
2.6.6 Preconditions/Assumptions:
2.6.6.1 There are no preconditions or assumptions.
2.6.7 Algorithm:
Display Delete Listing window while (NOT Cancel OR OK) if OK button pressed delete Listing from database Close Delete Listing window2.6.8 Post Condition:
2.6.8.1 After this function is finished, the listing is no longer available from the search screen.
2.6.9 Error Handling:
2.6.9.1 In case the listing cannot be deleted the realtor will be informed via a popup window. If the user is not an administrator and the listing does not belong to him or her, then the operation fails and a pop-up box is displayed with an error message.
2.6.10 Called By:
2.6.10.1 This function is selected from the pull-down menu `Realtor' on the main search screen.
2.6.11 Limitations:
2.6.11.1 A realtor may not delete a listing which belongs to anyone except himself or herself. An administrator may delete any listing.
2.7.1.1 The `Modify Personal Info' menu selection allows a realtor to modify his or her personal information, including:
2.7.2.1 Jack has changed his pager and has a new Motorola(TM) mobile phone, so he is trying to update his personal information. He chooses `Modify Personal Info' from the `Realtor' pull-down menu and his personal information is then shown. He can update his pager number and enter the mobile phone number into the `Contact Phone Number' field. He can then save it and his personal infomation is updated.
2.7.3 Inputs:
2.7.3.1 Once the listing realtor selects `Modify Personal Info' from the pull-down menu, a pop-up screen appears, showing the realtor's personal information. The realtor can then change any personal information and press the `OK' button to save the changes, or press the `Cancel' button exit without making any changes.
2.7.3.2 Valid entries for the fields are as follows:
2.7.4 Outputs:
2.7.4.1 If the `Cancel' button is chosen, the `Modify Personal Info' pop-up screen disappears.
2.7.5 Subroutines Called:
2.7.5.1 This function will call a subroutine to generate the popup screen. When the user presses `OK', a subroutine is called to to validate all entries. A final subroutine is then called to enter the new listing into the database.
2.7.6 Preconditions/Assumptions:
2.7.6.1 It is assumed that the listing is new, i.e., there is not a listing for the same property in the database.
2.7.7 Algorithm:
Display Modify Personal Info window while (NOT Cancel OR OK) Modify Personal Info if OK button pressed modify information in database Close Modify Personal Info window2.7.8 Post Condition:
2.7.8.1 After this function is finished, a modified personal record is saved to the database and the realtor returns to the previous Realtor/Admin screen.
2.7.9 Error Handling:
2.7.9.1 In case any entries are invalid, the user will be informed via a pop-up window that (for example) in the phone number field, there are invalid characters. In case a save is not possible to the database, a pop-up window will inform the user that a save to the database is not possible at this time.
Fig. 14 - 'Modify Personal Information' Function Flowcharts
2.7.10.1 This function is selected from the pull-down menu `Realtor' on the main search screen.
2.7.11 Limitations:
2.7.11.1 As in `Modify Listing', it would be a nice feature to limit the characters that can be entered for each field.
2.8.1.1 `Reassign Listing' enables an administrator to take a listing from one realtor and give it to another realtor.
2.8.2 Sample Call:
2.8.2.1 The big boss at the PowerMax Realty office, the respected and feared Mr. Yamaguchi, has decided to terminate the employment of Ms. Sato, one of the realtors in the office. However, before he can call security to have her escorted to the door, he has to make sure she can't take any of the company's privileged information with her. Mr. Yamaguchi selects "Naomi Sato" from the `Original Realtor' list and "Ken Yamaguchi" from the `New Realtor' list, and since he is reassigning all of Ms. Sato's listings, he selects the `All Listings' radio button. Finally, he presses `OK' to confirm the operation and leans back in his chair, satisfied with a good beginning to another good day at PowerMax Realty.
2.8.3 Inputs:
2.8.3.1 After the `Reassign Listing' control has been invoked, a dialog box appears. The administrator must then select the realtor from whom listings are to be taken from the `Original Realtor' list control and the realtor to whom listings are to be given from the `New Realtor' list control. By selecting one of the two radio buttons, the administrator can choose either to reassign only one listing or to reassign all of an original realtor's listings. If the administrator chooses to reassign only one listing, he or she must also enter the reference number of that listing; if there is a listing currently visible in the search window, that listing's reference number is entered into the `Reference #' field by default. Finally, the administrator must choose either `OK' to accept the transfer or `Cancel' to abort the operation.
2.8.4 Outputs:
2.8.4.1 If the `Cancel' button is chosen, the `Reassign Listing' pop-up screen disappears. After all is done, the main window is re-enabled.
Fig. 15 - `Reassign Listing' Function Screen Snapchot
2.8.5.1 This function will call a subroutine to generate the pop-up dialog box. When the user presses `OK' on the dialog box, a subroutine will be necessary to check the reference number. A final subroutine is then called to switch the listing.
2.8.6 Preconditions/Assumptions:
2.8.6.1 There are no especial preconditions or assumptions.
2.8.7 Algorithm:
Display ReAssign Listing window while (NOT Cancel OR OK) Choose realtors from `Original Realtor' and `New Realtor' list controls Select either of `One Listing' or `All Listings' radio buttons If `One Listing' selected, enter listing reference number if ok button pressed if invalid inputs error message else make changes to database Close ReAssign Listing window
Fig. 16 - `Reassign Listing' Function Flowcharts
2.8.8.1 If the user selected the `OK' button in the dialog box and all the inputs were valid, then the listing will have been reassigned to the new realtor. If the administrator wants to make sure that the listings have been properly reassigned, he or she can choose the `View Realtor Listings' button to see all of the listings of each realtor.
2.8.8.2 If the user selected the `Cancel' button in the dialog box, the operation will have had no effect at all.
2.8.9 Error Handling:
2.8.9.1 The dialog box must check to see if a reference number exists and represents a listing that is actually assigned to the original realtor.
2.8.9.2 The dialog box must not present the name of the selected original realtor in the new realtor list, nor may it present the name of a selected new realtor in the original realtor list.
2.8.9.3 The dialog box will not present names of realtors who have no listings as original realtors.
2.8.9.4 The dialog box must only exit when `Cancel' is pressed or when `OK' is pressed and all the fields are valid.
2.8.10 Called By:
2.8.10.1 This function is selected from the pull-down menu called `Administrator' on the main window, so it is called by the event handler for the main window.
2.8.11 Limitations:
2.8.11.1 To reassign more than one of a realtor's listings but fewer than all of them, this function must be invoked once per reassignment.
2.9.1.1 `View/Modify Employee Info' changes the information that PowerMax Realty keeps about its employees.
2.9.2 Sample Call:
2.9.2.1 Ms. Goro, a realtor with PowerMax Realty, has just finished taking a degree in Computer Science in her spare time. Accordingly, the powers that be at PowerMax Realty have decided to give her Administrator access to their database. Mr. Yamaguchi, the big boss in Ms. Goro's office, calls up the `View/Modify Employee Info' dialog box and selects Ms. Goro's name in the `Name' control. All of Ms. Goro's current statistics are displayed in the various fields of the dialog box, but all Mr. Yamaguchi does is change the `Realtor' display in the `Access Level' control to `Administrator'. Now Ms. Goro can do anything Mr. Yamaguchi can do.
Fig. 17 - `View/Modify Employee Information' Function Screen Snapshot
2.9.3.3 The administrator may type in the name of a PowerMax employee or alternately may select the name from the scrolling list.
2.9.3.4 The only other field that must be filled in is the `Access' field. All others are optional.
2.9.3.5 The `Change Password' button summons a dialog box which demands the new password twice for confirmation. At no time is the password actually displayed to the user in plaintext.
2.9.4 Outputs:
2.9.4.1 If at any time the administrator presses the `Cancel' button, the operation in progress is aborted and control reverts to the main window.
2.9.4.2 If the user presses the `OK' button without having entered all the input necessary, an informative message appears and the dialog remains.
2.9.4.3 If the operation was successful, then the employee record referenced by the `Name' field is altered appropriately.
2.9.4.4 If the operation was successful, all of the listings owned by the employee referenced by the `Name' field are shown in the `Realtor's Listings' list box.
2.9.5 Subroutines Called:
2.9.5.1 This function requires subroutines to create a dialog box, to print useful feedback messages, and to read and write records in the employee database.
2.9.6 Preconditions/Assumptions:
2.9.6.1 To use this function, it will be necessary to have summoned the `View/Modify Employee Info' item from the `Administrator' menu and then to have selected the `Change Employee' radio button on that dialog box.
Fig. 18 - 'Modify Employee Information' Function Flowcharts
2.9.8 Post Condition:
2.9.8.1 If the `Cancel' button was pressed, no changes are made.
2.9.8.2 If the `Ok' button was pressed and all required fields are given, the change is made to the record in the employee database.
2.9.9 Called By:
2.9.9.1 This function is called by the `View/Modify Employee Info' dialog box.
2.9.10 Error Handling:
2.9.10.1 If the user does not fill in enough fields for an operation to succeed and presses the `OK' button, then a short message indicating that a radio button must be selected or that both the `Name' and `Access' fields must be filled in.
2.9.11 Limitations:
2.9.11.1 There are no specific limitations to this function.
2.10.1.1 The purpose of this facility is to be able to add a new employee to the database of PowerMax Realty employees.
2.10.2 Sample Call:
2.10.2.1 Mr. Yamaguchi considers hiring a new realtor to
replace the departing Ms. Sato. He interviews several applicants and
finally settles on Mr. Taeda as his new realtor. Again he summons the
`View/Modify Employee Info' dialog box. This time, he selects the `Add
Employee' radio button, and all the other fields in the database await
his input. Into the `Name' edit list he types "Hiro Taeda", in the
`Access Level' list he chooses "Realtor", and into the `Email Address'
edit box he types "
2.10.3 Inputs:
2.10.3.1 The administrator must type in a new name into the
`Name' control; this name must be unique amongst all the names of the
employees of PowerMax Realty, as it serves as the userid for the
database.
2.10.3.2 The only other field that must be filled in is the
`Access' field. All others are optional.
2.10.4 Outputs:
2.9.4.1 If at any time the administrator presses the `Cancel'
button, the operation in progress is aborted and control reverts to
the main window.
2.10.4.2 If the user presses the `OK' button without having
entered all the input necessary, an informative message appears and
the dialog remains.
2.10.4.3 If operation was successful, then a new employee
record is added to the employee database.
2.10.5 Subroutines Called:
2.10.5.1 This function requires subroutines to create a
dialog box, to print useful feedback messages, and to read and write
records in the employee database.
2.10.6 Preconditions/Assumptions:
2.11.6.1 To use this function, it will be necessary to have
summoned the `View/Modify Employee Info' item from the `Administrator' menu
and then to have selected the `Add Employee' radio button on that
dialog box.
2.10.7 Algorithm:
2.10.8.1 If the `Cancel' button was pressed, no changes are
made.
2.10.8.2 If the `OK' button was pressed successfully, the
employee selected is added the database.
2.10.9 Called By:
2.10.9.1 This function would be called by the `View/Modify
Employee Info' dialog box event handler.
2.10.10 Error Handling:
2.10.10.1 If the user does not fill in enough fields for an
operation to succeed and presses the `OK' button, then a short message
indicating that a radio button must be selected or that both the
`Name' and `Access' fields must be filled in.
2.10.11 Limitations:
2.10.11.1 There are no specific limitations to this function.
2.11.1.1 The purpose of this facility is to be able to delete an
employee to the database of PowerMax Realty employees.
2.11.2 Sample Call:
2.9.2.1 The redoubtable Mr. Yamaguchi is back. Now that he
has reassigned all of Ms. Sato's listings to other realtors, he can
fire her without worrying that she will take business away from
PowerMax. He dials up security to remove her bodily from the office
and turns to his computer to finish the job (so to speak). He pulls
down the `Administrator' menu and selects the `View/Modify Employee Info'
item. The first control is a set of radio buttons indicating the
purpose of the modification, and he chooses `Delete Employee'. He
scrolls through the list of names until he finds Ms. Sato's name and
selects it. Finally, he presses `OK' and after a reassuring message
that the system has in fact deleted the hapless realtor, Mr. Yamaguchi
is almost content. He changes the guest password and backs up the
database, and finally rests upon his laurels. After all that hard
work, a manager needs a big lunch.
2.11.3 Inputs:
2.11.3.1 The administrator selects the name from the
scrolling list.
2.11.4 Outputs:
2.11.4.1 If at any time the administrator presses the
`Cancel' button, the operation in progress is aborted and control
reverts to the main window.
2.11.4.2 If the user chose to `Delete Employee' and the
operation was successful, then the employee record referenced by the
`Name' field is removed from the employee database.
2.11.5 Subroutines Called:
2.11.5.1 This function requires subroutines to print useful
feedback messages and to read and delete records in the employee
database.
2.11.6 Preconditions/Assumptions:
2.11.6.1 To use this function, it will be necessary to have
summoned the `View/Modify Employee Info' item from the `Administrator' menu
and then to have selected the `Delete Employee' radio button on that
dialog box. Furthermore, the realtor chosen must have precisely zero
listings associated with himself or herself.
2.11.7 Algorithm:
2.11.8.1 If the `Cancel' button was pressed, no changes are
made.
2.11.8.2 If the `OK' button was pressed and all fields were
entered correctly, the employee selected is removed from the
database.
2.11.9 Called By:
2.11.9.1 This function would be called by the `View/Modify
Employee Info' dialog box event handler.
2.11.10 Error Handling:
2.11.10.1 If the user does not fill in enough fields for an
operation to succeed and presses the `OK' button, then a short message
indicating that a radio button must be selected or that both the
`Name' and `Access' fields must be filled in.
2.11.10.2 If the administrator does change the employee database, a
short message should be displayed in order to confirm to the administrator that
the requested change was desired. If not, the operation is
aborted.
2.11.10.3 At least one administrator must exist amongst all
users. The last administrator account may not be deleted.
2.11.10.4 The guest account may not be deleted.
2.11.10.5 An employee who is associated with more than zero
listings cannot be deleted.
2.11.11 Limitations:
2.11.11.1 There are no specific limitations to this function.
To provide the user with online help.
2.12.2 Sample Calls:
Mr. Yamaguchi moves the mouse pointer over the `Search' button. At
the bottom of the screen, the text "Press the SEARCH button and it
will start searching according to the specified options" appears.
2.12.3 Inputs:
2.12.3.1 Passing the pointer over
active regions or buttons initiates the dynamic help function.
2.12.3.2 Clicking on the Help button on any pop-up dialog box
invokes the help system.
2.12.4 Outputs:
2.12.4.1 A text window constantly displays the dynamic help at the bottom of the
screen.
2.12.4.2 A Pop-up window with information relative to the
user's current task appears when a `Help' button is selected.
2.12.5 Subroutines Called:
2.12.5.1 Subroutines to activate the pop-up window and dynamic help display are
called.
2.12.6 Called By:
2.12.6.1 The dynamic help is called by every active region on
the main search screen.
2.12.6.2 `Help' buttons on every dialog box invoke the
help system.
2.12.7 Preconditions:
2.12.7.1 No other pop-up window can be active for the help to execute.
2.12.8 Algorithm:
2.12.8.1 Case 1: User clicks on help. Help screen pops up
2.12.8.2 Case 2: User passes pointer over active field.
Dynamic Help is displayed.
Fig. 19 - `Help' Function Flowcharts
2.12.9.1 No set parameters for error handling
2.12.10 Limitations:
2.12.10 Inactive when another pop-up window is open.
2.13 Exit the System
2.13.1 Purpose:
2.13.1.1 The purpose of the `Exit' selection is to log off the database and shut down the client window.
2.13.2 Sample Calls:
2.13.2.2 Mr. Yamaguchi, the PowerMax Realty boss, is going home
for the day. He moves his mouse pointer over the to `Realtor' button
on the main menu bar and selects `Exit' from the pull-down menu. The
system closes politely and now all he has to do is deal with the
vicissitudes of Windows.
2.13.2.3 After Mr. Yamaguchi has shut down his own machine, he
notices that one of the user terminals in the realty office is still
on. That terminal is running the Virtual Realty Database client as a
non-privileged user, so Mr. Yamaguchi can't exit the same way he
exited from the session in his office, but because he knows the secret
method for exiting from Buyer mode, he can log off anyway. He walks
over to the terminal, clicks in the corners of the computer screen in
a special sequence using the right mouse button. A dialog window
appears asking Mr. Yamaguchi if he wishes to exit the program. When he
confirms that he does, the program closes and system returns to the
Windows Program Manager. He makes a mental note to himself to fire
somebody tomorrow.
2.13.2.1 Little Reiko-chan is four years old and loves playing
with the mouse hanging from the terminal in the office while her
parents discuss incomprehensible grownup matters with all the other
big people. She plays with the mouse for a while and the screen does
interesting things. Eventually, Reiko-chan is dragged away by her
parents who are going to visit a property with one of the real estate
agents, and all of the other people in the office breathe a sigh of
relief that not even an inquisitive four-year-old can put the database
into an unusable state.
2.13.3 Inputs:
2.13.3.1 To leave the database via the Exit option, a user selects the `Realtor' button in the
menu bar and then the `Exit' button in the `Realtor' pull-down menu.
2.13.3.2 The system menu is available by clicking on the button in the furthest upper left of
the application window or by pressing the key combination Alt+Space. Selecting `Close' from that
menu will exit the program. As an alternative to selecting the `Close' option directly, a user
may double-click on the system menu button, which will select the `Close' operation
automatically.
2.13.3.3 When the system has been brought up in Buyer mode,
users are prevented from exiting the program in any of the normal
ways. In addition, a special feature of the Virtual Realty system is
the ability to run it in Buyer mode without the use of a keyboard. In
fact a computer designated to be used exclusively by clients could be
set up with no keyboard at all. In such a situation it wouldn't be
possible to enter a password to exit the program. So, a system that
relies entirely on the use of the mouse has been devised. In practice,
a user who knows the pass code and wants to exit the program would
click on certain "hot spots" on the computer screen in a
pre-determined sequence using the right mouse button. For simplicity,
the hot spots used are the four corners of the screen.
2.13.3.4 The sequence to be used could be passed in as a
command line argument at program start-up (if none is passed, a
default sequence would be assumed)(see section 2.1.3.1 for more on
command lines). The sequence would never occur in normal program
operation, and provided the code supplied was long enough, would be
extremely difficult to discover experimentally. For the purpose of
defining a sequence, the four hot spots (corners) are designated 'L',
'R', 'l', and 'r' (the uppercase letters refer to the upper
corners). For example, if the sequence were 'RrrlLR', the user would
have to click using the right mouse button in the upper right corner,
twice in the lower right corner, in the upper left corner, and finally
in the upper right corner before being presented with a dialog box
asking her if she wishes to exit.
2.13.4 Outputs:
2.13.4.1 If the user is an administrator or a realtor, the program simply exits without
producing any other output at all.
2.13.4.2 If the program is in Buyer mode (user "guest") and the
secret sequence of mouse clicks has been detected, the user is
presented with a dialog asking if she wishes to exit. If she selects
`Yes', the program terminates. Otherwise, program operation
resumes.
2.13.5 Subroutines Called:
2.13.5.1 Function to terminate program.
2.13.6 Called By:
2.13.6.1 The exit procedure is called by the event handler when
the user selects `Close' from the `System' menu or `Exit' from the
`Realtor' menu, and by the process monitoring mouse clicks when the
special sequence has been detected.
2.13.7 Preconditions:
2.13.7.1 None.
2.13.8 Algorithm:
2.13.9.1 None.
2.13.10 Limitations:
2.13.10.1 Too short a sequence might be arrived at
experimentally. Write complicated exit sequences or live with the
consequences.
3.1.1 There are a variety of features relating to the project. The system was
designed so that there were little movement between different screens. This
is done because it would be easier to remember information and less time
consuming. Each window has several functions that are easier to navigate
between major functions.
3.1.2 Database Security
3.1.2.1 Features built into the Microsoft Access database engine will be used to address
security issues. Those issues are:
3.1.2.3 To prevent a realtor (using some means outside the application) from seeing the offers
made on another realtor's listing, each realtor will be given his/her own offers table which
only (s)he and administrators can access.
3.1.2.4 Finally, to prevent someone from determining the contents of the database file by direct
inspection, it will be encrypted using Access's built in facilities for doing this.
3.1.3 System Access Groups
3.2.1 All data used by the real estate listing system will be managed by a
Microsoft Access relational database system. The database employed
will consist of 4 tables. The tables along with the pieces of information
they will hold are detailed below.
3.3.1 Each of the functions has been assigned a letter representing the lowest level of access required to use the function. Buyer is represented by (B), Realtor by (R), and Administrator by (A).
3.3.2 Delete Listing (R)
3.3.2.1 When a property has been sold or rented, or the owner chooses to remove the listing, the listing realtor or the administrator deletes the listing from the database.
3.3.3 Detailed Listing (B)
3.3.3.1 Details from the listing selected will be displayed beside a photo of the listing on the bottom half of the screen.
3.3.4 Exit (R)
3.3.4.1 The 'Exit' function is
available through the 'Realtor' drop-down menu, while in Realtor Mode
or Administrator Mode. To prevent the Buyer from accidentally closing
the program, while in Buyer Mode the 'Exit' function is accessed through
the system menu
button 'Close' option. When this is selected, the user is prompted to
enter the 'guest' password to exit the program. If an incorrect
password is entered, the program returns to the search screen, with
all options reset to default values.
3.3.5 Help (B)
3.3.5.1 There is a help button that brings up a help window
regarding information related to every pop-up screen.
Context-sensitive help is also active on the main screen.
3.3.6 Insert New Listing (R)
3.3.6.1 Allow a Realtor enter in information of a new property,
to be placed in the database.
3.3.7 Make an Offer (R)
3.3.7.1 Allows the user (Listing Realtor/Administrator) to enter a
reference number (of the listing in the found list) and make offers to a
selected listing.
3.3.8 Modify Listing (R)
3.3.8.1 Allow the user (Listing Realtor/Administrator) to change
the listing information and view the offers of that
listing, but for the Non-Listing Realtor, they would
just view the general information of that listing.
All of the user's current listings are
displayed. Finally, offers on listings may be accepted.
3.3.9 Modify Personal Information (R)
3.3.9.1 Allow a Realtor to modify their personal information without
having to go to the Administrator all the time to make minor changes.
3.3.10 Print Detailed Listing (B)
3.3.10.1 After selectiong a listing for detailed information, a user
can print out the details.
3.3.11 Re-Assign Listing (A)
3.3.11.1 The administrator can move the listing and make it belong to another realtor. This is used just in case the Realtor who owned that listing left the company or for any other reason.
3.3.12 Search (B)
3.3.12.1 This part is capable of searching through a database
of listings (properties) available on the market. The user can enter
search parameters (top left hand corner of screen) and after a search
has been initiated, matching listings would show up in a results box
(top right corner of the screen). Realtors and administrators can
limit the search results to listings they own or all listings in the
database. The user can select any of the available listings and the
results would show up at the bottom of the search screen giving
details of the listing and a possible picture. The user is able to
printout out the listing if they choose. For (R), reports on offers
and comments are available, as well as searches based on listing
reference number.
3.3.13 View/Modify Employee Information (A)
3.3.13.1 Allow the Administrator to add, delete and modify employee
information. Also this level allows the
administrator to reassign realtors to a listing. All of the user's
current listings are displayed.
4.1.2
4.1.3 Testing Due Dates:
4.2.2 The `Modify Personal Info' screen has been significantly
refined, in that users may change their passwords and view all of
their own listings therein.
4.2.3 The backup and restore functions which were placed into
the Overall Design Document have been removed from the system proper
and returned to the responsibility of the network administrator. The
functionality should be identical.
4.2.4 As originally specified by PowerMax Realty, listings can
remain in the database after they have been sold or rented to
customers. To reflect this state of affairs, an `Accept Offer' button
has been added to the `Modify Listing Info' screen.
4.2.5 The `Previous Listing' and `Next Listing' buttons on the
main screen, whose purpose seemed ambiguous to the customers judging
by their response to the Overall Design Document, have been removed
entirely.
4.2.6 In the Access database system, many controls are
manipulated by single mouse clicks where the Original Design Document
specified double clicks. Where that was the case, they have been
changed to single clicks.
4.2.7 Our logout procedure for buyer-mode users is no longer
controlled from the System menu of the window. For buyer-mode users,
the System menu is completely inaccessible but instead a special
sequence of mouse clicks on secret parts of the window will be the
signal to log off the database and close the window.
4.3.2 The customers originally specified archiving as one of
their requirements, but unfortunately we misunderstood them. As a
result, we must delay the implementation of that feature until the
next version of the system. At that time, the `Delete Listing'
feature will also likely be changed radically.
5.1.3 This system also addresses the needs of PowerMax realtors
and administrators. Our company has provided various functions to
help realtors, as listed below:
5.1.6 It is our hope that the interface that we provide
PowerMax reality will be as efficient, reliable and easy to use as
possible.
5.2.2 To start up the system, a PowerMax realtor or
administrator will log on and, depending on the ID used, the system
will function in Buyer (or Customer) Mode, Realtor Mode or
Administrator Mode. If upon logging on, a realtor or administrator
decides the terminal will be used for buyers only, the sign-on ID will
be "guest". The system will now only feature the buyers'
screen and the general buyer searching function. A realtor can also
sign-on the system in Realtor Mode and thus have access to the buyers'
search screen and function as well as realtor functions as listed
above. Of course, only those deemed administrators are permitted to
sign-on in administrator mode and thus have access to all buyer,
realtor and administrator functions.
5.2.3 Buyer Mode:
5.2.3.1 When the system is in Buyer Mode, users will be faced
with only one screen and be able to use one major function - that
being the searching function. Buyers will fill in the options section
of the screen, and to begin a search they will hit the search button.
When the listing hits are filled in the top right hand listing box,
the buyer can click on a listing and the listing information and
picture will appear. Only two additional choices are available to
the buyer at this point - he can press the `Print' button or the
`Clear' button.
5.2.4 Realtor Mode:
5.2.4.1 After the system is logged into Realtor Mode, the
realtor is presented with the buyer screen but with added features
located in a pull down menu labeled `Realtor' found in the top left
hand corner of the screen. Thus, a realtor can do a buyer type search
and, in addition, choose any of these choices from the `Realtor'
pull-down menu:
5.2.5 Administrator Mode:
5.2.5.1 In Administrator Mode, all the features presented in
Realtor Mode are available, as well as another pull-down menu labeled
'Administrator' which offers these choices:
For the logout process, only a realtor or administrator can exit
the program (ie: when the program is in guest mode, a guest or buyer
cannot exit). If the terminal running our system is in buyer mode and
a realtor or administrator wants to exit the system, then a yet to be
determined complex mouse click combination will completely exit the
system from buyer mode. If a realtor or administrator is logged onto
realtor or administrator mode and wants to log off, this is achieved
by having `Exit' selected from the pull down menu in the realtor
screen and exiting the program - remember, administrators have access
to all the functions of the realtors. Buyers cannot exit the program
because buyers do not have access to realtor functions in the first
place.
7.1 Options:
7.2 Listing:
7.3 Access level:
7.4 Modify:
7.5 Administrator:
7.6 Pop-up Window:
7.7 Hits:
7.8 Context-Sensitive Help:
7.9 Greyed Out:
7.10 Reference #:
7.11 Offer:
2.10.8 Post Condition:2.11 Delete an Employee
2.11.1 Purpose:
2.11.8 Post Condition: 2.12 Help
2.12.1 Purpose:
if user selects either `System/Close' or `Realtor/Exit' then
Terminate
else if special sequence detected then
show exit dialog
if Yes then
Terminate
end if /* drop through and resume program */
end if
2.13.9 Error Handling:
3.1 Features
3.1.2.2 All users of the system will be assigned to a group. Those groups will be - Buyer, Realtor (listing and other), and Administrator. Members of the groups are granted appropriate database access privileges.
When the application is started, the user will be required to log on by providing a user
ID and password. From this the program will be able to determine which group the user is
a member of and enable or disable the appropriate program functions. The functions not
available to a user will not even be visible. A buyer logged on as a guest would not
be aware that special realtor functions exist.
3.2 Database Design
3.2.2 For those who are interested, table keys are shown as well:
PK indicates a primary key.
FK indicates a foreign key and the table it references.
3.2.3 The members of a composite key are identified by a vertical series of
parenthesis.
e.g Second Field )FK SOME_TABLE
Third Field )
Fourth Field
(Primary and foreign keys are used to help ensure the integrity of the
information in the database.)
Table: LISTING
Fields: LISTING_ID Number PK
AGENT_ID Text FK AGENT_INFO
DATE_LISTED Date/Time
DATE_SOLD Date/Time
DATE_EXPIRES Date/Time
AREA Text FK AREAS
TYPE Text (Rental/Sale)
DESC Memo
PRICE Currency
STREET Text
CITY Text
PICTURE OLE Object
SQ_FT Number
STATUS Text (e.g. SOLD, NEW, ...)
STYLE Text (e.g. BUNGALOW)
LOT_SIZE Number
AGE Number (age of house)
BATHROOMS Number
BEDROOMS Number
APPL Text (appliances)
GARAGE Number (number parking spots)
FIN_BASE Yes/No (finished basement)
SELLER_COM Memo (seller comments)
SELLER_NAME Text
SELLER_STREET Text
SELLER_CITY Text
SELLER_NAME Text
SELLER_PC Text
SELLER_PHONE Text
Table: AGENT_INFO
Fields: AGENT_ID Text PK
NAME Text
STREET Text
CITY Text
PC Text (postal code)
PHONE Text
PAGER Text
FAX Text
EMAIL Text
Table: OFFERS
Fields: OFFER_ID Number PK
LISTING_ID Number FK LISTINGS
AGENT_ID Text FK AGENT_INFO (Agent making offer)
AMOUNT Currency
COMMENTS Text
Table: AREAS
Fields: AREA Text PK
QUAD Text (NW, NE, SW, SE)
3.3 Alphabetical Summary of Functions
4.0 Management Report
4.1 Duties and Due Dates
4.1.1 This document represents the design
document to be presented to PowerMax Realty on 5 March 1996. Any
further changes must be agreed to by both PowerMax Realty and Twelve
Monkeys Software and placed in appendices to this document.
Kind of testing Performed by Reports Submitted
Functional David Petiot March 15, 1996
Michael Lippold
Walkthroughs All group March 20, 1996
members
User tests Design group March 25, 1996
4.2 Changes to the Design since the Overall Design
Document
4.2.1 The major change made to the system was the removal of
keyboard access to the search facility from the buyer mode. This
means that buyers cannot type in their search options and more
importantly they cannot search for specific listings by reference
number. 4.3 Proposed Future Directions for the System's Development
4.3.1 Searching on the location of a property based on a map
of neighbourhoods might still be possible to implement, if there is
time. As envisioned, users would manipulate a control on the main
window and a large map would appear. Users would then select all of
the regions of the map corresponding to neighbourhoods in which they
were interested. The system would then find listings located in only
those neighbourhoods the users had selected. Controls on the map
would reset defaults, add a neighbourhood for searching, remove a
neighbourhood for searching, print the map with the selections
currently enabled, and return to the main screen.
5.1. General Summary.
5.1.1 Twelve Monkeys Software Limited is interested in
providing PowerMax Realty with a dynamic program that will assist
customers searching for housing possibilities. With this system,
customers (or buyers) can search for housing using various search
options, such as:
5.1.2 In addition to providing the buyer with a multitude of
search options, we strive to make buyer searching as user-friendly and
effective as possible. A buyer should feel comfortable with our
"point-and-click" interface and easy to understand labeling and help
features. Further, the fact that buyers will interact with only one
screen and one function (ie: searching), confusion will be kept to a
minimum. Our team has taken care to make the buyer searching
mechanism as accessible and learnable as possible. Finally, since the
system will be "started up" and "shut down" by PowerMax realtors or
administrators, buyers will not be encumbered with trying to figure
out how to get the system going, but instead will initially face an
interface that is running and ready to serve them immediately.
5.1.4 Administrators will have access to all functions
available to realtors, and in addition will have the ability to:
5.1.5 Twelve Monkeys Software Limited has made the system as
easy to use for realtors and administrators as we have for customers.
Functions available to realtors and administrators are almost
completely mouse-driven and easy to implement. We have taken great
care that the interface is not cluttered with too much information and
too many buttons. For example, pull-down menus are employed in the
realtor and administrator screens to keep the interface
unconjested. The number of modes and screens have been kept to a
minimum to avoid confusion.5.2 Top-Down Description of the System.
5.2.1 This section describes the most common functions that the
system provides and will work down to functions that are more detailed
and are used less frequently.
5.2.4.2 When a menu item is chosen, the realtor is presented
with a pop-up screen and fills in information accordingly, saves the
information and then closes the window. The system does not go any
deeper for the realtor.
5.2.5.2 As in Realtor Mode, if one of these menu items is selected, the
administrator is presented with a pop-up screen and fills in the information
accordingly, saving and exiting when finished. Like Realtor Mode, the system
does not travel any deeper.5.3 Addressing the List of Comments from our Customers.
5.3.1 The following section addresses comments from our
PowerMax customers, focusing on problem areas in our system:
When in buyer/guest mode they should not be able to see the exit button at all.
Is it possible to remove or hide the exit button when in buyer/guest mode?
We have completely removed the ability for a buyer/guest to exit the system
at all. Only a realtor or administrator can logon/logoff the system. From
a buyers point of view, the system will appear to always be running.
To assist the buyer in entering a search and to reduce the amount of help on
the help screen, can we have little instructions on the screen to assist the
buyer in getting started? Maybe a little block of text at the top on how to get
started, and as you move the mouse over a field it will tell you what to do in
a little box along the bottom.
As suggested, when the user moves the mouse over a field, the system will tell
the user what to do in a strip box tucked at the bottom of the screen.
Can we reduce the number of list boxes they have to go through by having
predefined ranges? Ranges for price, square feet, age. ie: $80,000 - $100,000,
$100,000 - $125,000 etc. The buyer would pick one of these ranges.
As per discussed during one of our meetings, the interface would become
too cluttered if we used this method.
There should be no defaults when the buyer enters a search. If the buyer was
not paying attention to their search, it could limit their results. All fields
should be blank when performing a search and they only enter the data that is
important to their search.
OK, you got it.
Can we add realtor functions to this screen when in Realtor Mode This means
that we would not need the realtor screen that you proposed. The realtor should
be able to search for houses in the same manner as the buyer.
We have removed the realtor screen as you have proposed. The realtor can
now search for houses like a buyer can. The realtor is able to access
advanced realtor function through a pull-down menu.
We need to have the House's ID number visible on this screen. The buyer needs
to be able to identify a specific house to a realtor.
We have added the listing ID number to the area that features listing information.
The buyer should also be able to see properties that have been sold in the last
two weeks. If the buyer comes in one day, looks at a property, comes back a few
days later and looks for the same property the system should tell them it has
been sold.
The listing information will indicate whether a house has been sold.
Can we add realtor functions to the Listing Information Screen. The realtor
should be able to update, create, add comments to a listing right from this
screen.
We have deleted the realtor screen, and have added the realtor functions
in a pull-down menu on the buyer screen.
This screen is no longer needed as it has been proposed. The search screen and
the listing screen should contain all the realtor functions. However, there
should be a screen for the administrator that contains the functions specific
to the administrator.
The administrator's functions have been added onto the buyer screen in
the form of a pull down menu. Of course, this pull down menu will only
appear if an administrator has logged onto the system.
It is important, especially in the buyer mode, that the error messages be as
helpful as possible. In your proposal, if there are no houses found for a set
of requirements the message "NOT FOUND" is displayed. The system should instead
be able to tell the buyer that no houses that meet their requirements are
listed, and that they should change their requirements or ask for assistance.
We have developed a pop-up box error message system. Whenever an error is
encountered, our system shall explain the error in the appropriate detail
in the pop-up box.
There are still a few guestions concerning the security of the data. This issue
is addressed indirectly through the use of login names for users. Id's will
keep people from tampering with data that is not their own while using the
application. Is it possible for one of our realtors to exit the program, start
up Access or some other database program, import the data into their database,
edit it, then save it back to it's original location? We ask this because a few
of our realtors are quite familiar with Access and other database packages and
this would not be beyond them. If the database itself were not protected then
we would have to look at getting a secondary security system that would lock
directories.
Our security system has been changed so that realtors and administrators can
log-on or log-off the system, and administrators can backup or restore the
database. These options are selected through pull-down menus.
Only four regions within a city are defined - the northwest, northeast,
southwest and southeast quadrants. Is it possible to select only
zero or one region in the city for any one given search?
If the user does not select a specific area, then by default the
entire city will be searched.
How about finer map resolution?
As discussed at a previous meeting, we have gotten rid of the
four quadrant map, since it appears to be a waste of space due to
its lack of detail. A high resolution map at this moment seems
beyond our capabilities, but we will try to deliver a system where a
buyer can press a button labeled 'Map', and a large map will appear
with all the major neighborhoods, which in turn can be individually
selected as a searching option. For now, we shall say that this is a
possible future implementation.
Is it possible, for example, to select any property style in addition
to the other search options?
We have employed a scrolling list to select, for example, property
styles - thus a user can only select one property for any given
search. We have done this because there are many property styles
that a user could choose from and it would clutter the screen if
all the styles were listed as, for example, radio buttons.
Many controls are cryptic in function, having only single words
as labels.
As you have seen from our new system, we have tried to rename
labels and buttons so that their functions are more clear.
What about dynamic searching?
We feel that dynamic searching may confuse the user - ie:
if a user chooses one options and something suddenly appears
in the hit listbox, the user may think they did something wrong.
We feel that for the user to select all the search options and
then press the search button is the most intuitive and straight
forward way of searching.
The two tables in section 3.6, one
of which has been included, are confusing. The format of these tables
makes them hard to read and the points they raise are rather
cryptic. Are these items that are in the proposal but you won't have
time to implement them? Could they be implemented at a later date or
are they impossible? These tables will have to be clarified for us.
Sorry for the confusion - hopefully this document will clarify the information
we tried to relay to you in the tables.
THIS SECTION ADDED FOR THE DESIGN DOCUMENT DUE MARCH 5, 1996
You have addressed the login issue twice in your document and at this point
it is still a little unclear. We definitely like that from the buyers point
of view the system will appear always to be running. The guestion is how the
realtor or the administrator will turn off the system. We assume that the
user must first log in to the system under a realtor or administrator mode,
and then exit. This will be acceptable. The next guestion is: How does the
user get to the login screen? In your login process you state that the
realtor is presented with the login window. Is this window reached with a
button press or a special key combination?
For the login process, normally, as soon as the program is launched, the user
is presented with a dialog box in which to enter a login ID and password
(Guest requires no password). To proceed any further a valid login/password
combination must be entered. From the login ID the system will determine
which of the three privilege groups (Guest (buyers), Realtor, Administrator)
the user is a member of and configure the program to provide the functions
appropriate for members of that group. Note that Guest is both a login ID and group.
Groups privileges are set up in such a way that the privileges of a Realtor
include all those of a Guest, and those of an Administrator include all those
of a Realtor. In other words, anything a Guest can do a Realtor can do, and so
on. As such, it is not necessary for a Realtor to enter any kind of special
"mode" in order to perform Guest functions.
When a realtor is using the system to view properties, how do they change
their mode to see their own personal listings? Can the realtor gain access
to their listings while viewing in buyer mode? A special button or key that
brings up a login screen will be necessary.
A realtor will always have access to their own listings in one of two
ways: first, they can enter the `Modify Personal Info' screen, choose
their name from the listbox of realtors and, in response, to the right of
the `Modify Personal Info' screen will appear their listings; second,
the realtor can initiate a search for a house from the realtor screen
(after choosing the radio button `Own' listing) and by leaving the options
entirely blank then a default search will take place and return all of their
listings in the search results listbox.
If the realtor was able to log in at any particular point it would be easier
for us. Going back to the initial start up screen and finding their way back
to the listing seems to be a tedious way to get around.
With our system the user is chosen at the point of initial login to be
in guest (buyer), realtor or administrator mode. A realtor, for
example, cannot switch between buyer and realtor mode by the press of
a button. The only way that a realtor can enter realtor mode from
buyer mode is by logging off totally and relogging on in realtor
mode. Our reasoning for this is as follows: we thought that there
would be security problem if, for example, a realtor switched to buyer
mode and then wanted to switch back to realtor mode by merely a push
of a button - problems would arise with the fact that any guest user
could have access to the button which switches the user from buyer
mode to realtor mode. We felt that guest users should not have access
to any sort of sequence that could potentially allow them access to
realtor mode (even if it is a password system); with the password
system of switching from buyer to realtor mode we worried that
'guests" would try to figure out the password and thus waste the
system's time. We felt that it is better that guests have NO WAY to
get into realtor or administrator mode.
According to your plan only the realtor can enter the reference number to
find a house. We would like a field to be available to our customers that
allows them to find a house by just entering the reference number. If a
customer wants to see a house that he has previously found he can access it
more quickly if he can type in its reference number. This would also be
easier for our realtors if the option was always visible.
Unfortunately, though we know this feature would be desirable, it
would imply a large security hole in the database access system.
Allowing the user to have a keyboard implies allowing him to invoke
the Alt+Tab keystroke combination which would perform a context switch
to another application running concurrently with the database.
Further, as it is now, the interface is simple and easy to use for
anyone who sits down in front of a terminal. It might even be easy to
change the mouse to a track ball some time in the future.
When the listings are displayed on a successful search you have the
community followed by the address. We feel that price would be more
informative. For example instead of:
We would like:
Notice the listings will be in decreasing order of price. We find this to be
more informative.
Sorry, but we feel that this would be too much information to view in our
search results text box - the prices of each property will still be featured
in the listing information.
The clear listing option seems clear enough. By having a pop-up dialogue box
appear after pressing this button seems confusing. Can we eliminate this
extra window? If the customer realizes that he did not want to clear his
options could he not just hit the previous listing button at the bottom of
the screen to put him back where he was?
Done. The pop-up dialogue box is nixed. It is now impossible to
recall any past criteria under any circumstance.
When a realtor adds a new listing, a window appears that lets him enter the
new listing's information. After the pop-up menu has been closed with an
`OK' would it be possible that the realtor is returned to the new listing he
created? Mainly we just want the realtor to see that every thing is in the
correct place. If this approach is taken then your approach of having a box
appear telling us whether the listing was successfully added is not necessary.
If the realtor presses `Cancel' then just putting them back where they were
is fine.
We have developed our system so that after a realtor or administrator enters
a new listing in the `Insert New Listing' pop up box and hits the `Save' and
`Close' button, the regular search screen will appear with the listing information
and picture of the new property appearing in the bottom of the screen. In this way,
the realtor or administrator can assure themselves that they have successfully
created a new listing.
In your document you have outlined two different kinds of help that is
available on the system. One is in the form of a dynamic help and the other
is a "help glossary" reached by a button press. We like that the customer is
being informed as they go along, but does the customer need to have access
to the help button? We thought that this table of contents would provide
assistance to the realtors only since, for example, it would contain such
things as how to add new listings. These things the customer does not need
to know. We realize that this adds some complexity to the help system,
however we feel that the context-sensitive help that the user is provided
with will enable them to use the system with ease. This would decrease the
amount of windows that our customers are presented with.
As per your request, we have limited the help for guests (buyers) to be
limited to dynamic help - ie: as a buyer passes a mouse over certain field
hotspots, help will appear in a text box tucked at the bottom of the screen.
We have, however, maintained a help button in the pop-up windows that
appear for the realtors and administrators.
5.4 Group Structure.
5.4.1 In order to co-ordinate a group of this size (12), a leader was
selected and jobs were divided among the groups. The positions given to
people are not permanent. Each group member is able to help other group
members in their position. For example, for Secretary, several group
members would work in this position, not just Mr. Jenkins.
5.4.2 Our company hopes that this additional specification manual meets your
desires for the Real Estate system. We look forward to hearing from
you.
6.1 Introduction
The purpose of our testing is to ensure proper function of individual
modules, proper integration of modules, and ease of use of the system.
The success of the application is dependent on meeting the requirements
in the overall design document; so, successful testing is determined by
meeting the criteria outlined in the overall design document. This
test plan aims to ensure the software produced meets the specifications
in the overall design document.
Three different kinds of tests will be performed:
1) Functional testing (on modules)
2) Walkthroughs
3) User testing
Functional testing will be performed to ensure each module performs
within acceptable limits. Walkthroughs will be performed to ensure
modules are correctly integrated. User testing (using qualitative
methods) will be performed to ensure ease of use of the system.
6.2 Functional Tests
Functional tests will determine whether modules perform within
acceptable limits. Reports on the modules will be expected by
March 15th. The content of the reports will indicate the test
performed and its success or failure (based on the test
descriptions below). If a test fails, the report must include
an explanation of the error encountered (if possible). Below
are descriptions of the functional tests to be performed.
6.2.1 Login
attempt to gain unauthorized access.
-check all modes for proper access with valid login
-attempt to gain acces with invalid login
6.2.2 Search
6.2.2.1 Search by reference
Setup -
These tests are performed in realtor mode. The option `Search by Reference'
is choosen from the Realtor pulldown menu. This should cause an `Enter
Reference Number' screen to appear. The following tests are then performed.
test 1
A valid reference number that does not correspond to a property in the data
base is entered.
result 1
A message indicating that the search was unsuccessful is displayed.
The tester clicks on `OK' and is returned to the `Enter Reference Number'
window.
test 2
An invalid reference number (i.e., one containg characters) is entered.
result 2
A message indicating that the reference number is invalid is displayed.
The tester clicks on `OK' and is returned to the `Enter Reference Number'
screen.
test 3
A valid reference number that corresponds to a property in the data base
is entered.
result 3
The corresponding properties information and picture are displayed
in the lower part of the search window.
test 4
In the `Enter Reference Number' window the tester clicks on cancel.
result 4
The tester is returned to the main search screen.
6.2.2.2 Search Parameters
setup
These tests are performed in user mode. The data base has 11 properties
loaded. Each property has a specific field that is unique to that property,
Property 1 - unique Price
Property 2 - unique Sq. Feet
Property 3 - unique Style
Property 4 - unique Bedrooms
Property 5 - unique Basement
Property 6 - unique Garage
Property 7 - unique Age
Property 8 - unique Lot Size
Property 9 - unique Rent
Property 10 - unique Buy
Property 11 - unique Area
Each property is searched for using its unique field.
test property k
The search options are cleared. The unique field for property k is set to
property k's value, using the pulldown menu or radio button.
The `Search' button is clicked.
result
Only property k is returned as a result of the search. The tester clicks on
the the listing and the property is displayed.
In addition combinations of search parameters that match 2,3,...,11 properties
are performed (if time permits all combinations will be tested).
6.2.2.3 View/Print a Listing
setup
A property that is in the data base is searched for, causing it to be
displayed.
test
The tester clicks on `Print'.
result
The tester recieves a print out of the property from the printer.
6.2.3 View/Modify Listing
setup
All of these tests are perfomred with the same property in realtor mode.
The tester begins by serching for this property by reference.
test 1
The tester is not the Listing Realtor for the property. The tester chooses
the `View/Modify Listing' option from the Realtor pulldown menu.
result 1
A message appears indicating that the tester does not have access to modify
the property.
test 2
The tester is the Lising Realtor for the property. The tester chooses
the `View/Modify Listing' option from the Realtor pulldown menu, changes
the Price field and clicks `Cancel'.
result 2
The transaction is cancelled. The tester verifies that the Price field
has not been changed.
setup
The following are repeated for the Price, Location, Square Feet,
Style, Number of Bedrooms, Basement, Garage, Age, Lot Size, and Status
fields. In addition a number of tests which modify combinations of
fields will be performed.
test 3
The tester chooses the `View/Modify Listing' option from the Realtor
pulldown menu. The field being tested is changed with an invalid entry
and the tester clicks `OK'.
result 3
A message indicating that the value entered is invalid appears. The tester
clicks `OK' to return to the `View/Modify Listing' window.
test 4
The tester chooses
the `View/Modify Listing' option from the Realtor pulldown menu. The
field being tested is changed with a valid entry and the tester clicks `OK'.
result 4
The data base is updated. The tester verifies the change.
6.2.4 Insert New Listing
setup
While in Realtor mode the tester chooses `Insert New Listing' from the Realtor
pulldown menu. The `Modify Listing' pop-up screen appears.
test 1
The tester clicks `Cancel'.
result 1
The Modify Lsiting pop up screen dissappears. The tester verifies that the
property has not been entered into the data base.
set up
Tests 2 and 3 are repeated for the Price, Location, Square Feet,
Style, Number of Bedrooms, Basement, Garage, Age, Lot Size, and Status
fields. In addition a number of tests which modify combinations of
fields will be performed.
test 2
The tester enters data for all fields accept the Price and clicks `OK'.
result 2
A message appears indicating that all the fields were not completed
and that the property has not been enetered into the data base. The
teser clicks `OK' and is returned to the Modify Listing pop up screen.
test 3
The tester enters valid data for all fields accept the field being tested,
which is given an invalid entry, and clicks `OK'.
result 3
A message appears indicating that all the field being tested is invalid. The
teser clicks `OK' and is returned to the Modify Listing pop up screen.
test 4
The tester enters data for all the fields and clicks 'OK'.
result 4
The property is entered into the data base. The tester verifies that it
has been entered by searching for it.
6.2.5 Delete a Listing
setup
These test are performed in Realtor mode. A specific property is
searched for by reference, causing it to appear on the main Search
Screen.
test 1
The tester is not the listing realtor. The `Delete Listing' option
is choosen from the Realtor pull down menu.
result 1
A message appears indicating that the tester is not the Listing Realtor
for the property, and the property is not removed from the data base.
The tesTer verifies that the property is not removed from the data base
by searching for it.
test 2
The tester is the listing realtor. The `Delete Listing' option
is choosen from the Realtor pull down menu. A confirmation pop up screen
appears. The tester clicks `Cancel'.
result 2
The property is not removed from the data base.
The tester verifies that the property is not removed from the data base
by searching for it.
test 3
The tester is the listing realtor. The `Delete Listing' option
is choosen from the Realtor pull down menu. A confirmation pop up screen
appears. The tester clicks `OK'.
result 3
The property is removed from the data base.
The tester verifies that the property is not removed from the data base
by searching for it.
6.2.6 Modify Personal Info
setup
All of these tests are performed in Realtor Mode.
test 1
The tester chooses the `Modify Personal Info' option from the
Realtor pulldown menu. A pop up screen appears showing the
personal info. The tester clicks `Cancel'.
result 1
The transaction is canceled. The teser verifies that the personal
info has not been changed.
setup
The following are repeated for the phine number, pager number, fax number,
e-mail address, login id, home address fields.
test 2
The tester chooses
the `Modify Personal Info' option from the Realtor pulldown menu. The
field being tested is changed with an invalid entry and the tester clicks `OK'.
result 3
A message indicating that the value entered is invalid appears. The tester
clicks `OK' to return to the `Modify Personal Info` window.
test 4
The tester chooses
the `Modify Personal Info' option from the Realtor pulldown menu. The
field being tested is changed with a valid entry and the tester clicks `OK'.
result 4
The personal info is updated. The tester verifies the change.
6.2.7 Reassign Listing
setup
These tests are performed in Administrator mode. There are at least
two realtors entered into the data base.
test 1
The tester chooses the `Reassign Listing' option from the adminstrator
pull down menu, causing a dialogue box to appear. The tester reassigns all
listings from one realtor to another and then clicks `Cancel'.
result 1
The transaction is cancelled. The tester verifies that no listings
have been reassigned.
test 2
The tester chooses the `Reassign Listing' option from the adminstrator
pull down menu, causing a dialogue box to appear. The tester reassigns all
listings from one realtor to another and then clicks `OK'.
result 2
The listings are reassigned. The tester verifies that the listings
have been reassigned. This includes verifiying that old realtor
does not have access to Make an Offer and Modify Listing for the
reassigned properties.
test 3
The tester chooses the `Reassign Listing' option from the adminstrator
pull down menu, causing a dialogue box to appear. The tester reassigns one
listing from one realtor to another and then clicks `Cancel'.
result 3
The transaction is cancelled. The tester verifies that no listings
have been reassigned.
test 4
The tester chooses the `Reassign Listing' option from the adminstrator
pull down menu, causing a dialogue box to appear. The tester reassigns one
listing from one realtor to another and then clicks `OK'.
result 4
The Listing is reassigned. The tester verifies that the listing
has been reassigned. This includes verifiying that old realtor
does not have access to Make an Offer and Modify Listing for the
reassigned property.
6.2.8 Modify Employee Info
setup
All of these tests are performed in Administrator Mode.
test 1
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. An employee name is enetered in the dialogue box.
The correspong employee's info apears in the dialogue box. The tester click's
`Cancel'.
result 1
The transaction is cancelled. The teser verifies that the employee
info has not been changed.
test 2
The tester chooses the `Modify Employee Info' option from the Realtor
pulldown menu. An invalid employee name is enetered in the dialogue
box. The correspong employee's info apears in the dialogue box. The
tester modifies the filed being tested with an invalid entry and
click's `OK'.
result 2
A message appears indicating that there is no employee matching the entered name.
The tester clicks `OK' and is returned to the `Modify Employee Info' screen.
test 3
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. An employee name is enetered in the dialog box.
The correspong employee's info apears in the dialog box. The tester
modifies the field being tested with an invalid entry and clicks `OK'.
result 3
A message appears indicating that the field is invalid. The tester
clicks `OK' and is returned to the `Modify Employee Info' screen.
test 4
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. An employee name is entered in the dialog box.
The corresponding employee's info appears in the dialog box. The tester
modifies the field being tested with a valid entry and clicks `OK'.
result 4
The data base is updated. The tester verifies that the field has been changed.
6.2.9 Add New Employee
setup
All of these tests are performed in Administrator Mode.
test 1
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. The `Add Employee' button is clicked. The
info for a new employee is entered and the teser clicks 'Cancel'
result 1
The transaction is canceled. The tester verifies that the employee
has not been added.
test 2
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. The `Add Employee' button is clicked. The
info for a new employee is entered and the tester clicks `OK'
result 2
The employee is added to the data base. The tester verifies that the
employee has been added.
6.2.10 Delete Employee
setup
All of these tests are performed in Administrator Mode.
test 1
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. The `Delete Employee' button is clicked. An
employee to be deleted is entered and the tester clicks `Cancel'
result 1
The transaction is canceled. The tester verifies that the employee
has not been deleted.
test 2
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. The `Delete Employee' button is clicked. An
employee to be deleted is entered that has Listings and the tester
clicks `OK'
result 2
A message appears indicating that the Employee has Listings that must be
reassigned. The tester clicks `OK' and is returned to the
`Modify Employee Info' screen.
test 3
The tester chooses the `Modify Employee Info' option from the
Realtor pulldown menu. The `Delete Employee' button is clicked. An
employee to be deleted is entered that has no Listings and the tester
clicks `OK'.
result 2
The employee is removed from the data base. The tester verifies that
the employee has been deleted. This includes verifying that the
deleted employee's password is no longer valid.
6.3 Integration Testing:
The primary method of integration testing will be walkthroughs
performed by all members of the group. In addition, user
testing will be performed by members of the design team.
These kinds of tests fall into the category of usability testing.
6.4 Usability Testing:
The purpose of usability testing will be to evaluate the overall
usability of the graphical interface in terms of good human computer
interface practises. All group members will be encouraged to provide
feedback on the perceived usability of the system.
Usability testing will consist of two distinct parts. First, the
design team members will walkthrough different tasks that the system
should be able to cope with. Second, the design team members will
conduct qualitative tests on volunteers.
The tasks performed in the walkthrough will be similar to the tasks
performed by subjects (described below). Walkthroughs will begin when
the preliminary system is completed on March 18, 1996. Design team
members will be required to supply a brief report outlining difficulties
with the interface and suggestions for improvement by March 20th.
If practical, changes will be quickly made by the programming team.
Beginning March 23rd, user testing will be conducted by design team
members. Reports based on user test results will be expected by
March 25th.
6.5 Qualitative User Testing:
Ideally, user testing is conducted by one or few individuals to ensure
consistency in the testing format and to eliminate differing
independent variables. However, due to time constraints, we will use
as many of our experienced personnel as possible to conduct user
testing. Each member of the design group will conduct at least one
test on different volunteers.
Test subjects will be given tasks to perform without any instructions
or assistance. Three different kinds of subjects will be tested:
potential buyers, our customers (realtors), and one administrator (one
of our customers).
The procedure for the tester to follow when administering usability
tests on subjects will be:
1. Briefly describe the system.
2. Assure subject that testing is on the system, not
the subject.
3. Answer any questions the subject may have.
4. Conduct a pre-test questionnaire.
5. Give the subject each task, one after the other,
only when the subject feels she has completed the
task.
6. Conduct a post-test questionnaire
7. Conduct a brief discussion using open-ended questions,
and allowing the subject to comment freely on the system.
8. Answer any questions the subject may have.
9. Graciously thank the subject for participating in
the study.
Each test on a subject will require a brief report outlining subject
difficulties with the system based on task performance, questionnaires,
and comments. Good points of the system should also be indicated in
the report.
Standard pre-test and post-test questionnaires will be conducted
on test subjects. Open-ended questions will be decided at a future
date.
6.6 Buyer Tasks to be Performed:
Task 1. Search for houses in the price range $80,000 to
$90,000. Look at the listing for one of them.
Determine the number of bathrooms the house has.
Task 2. Now, start a new search.
Search for houses that have 3 bedrooms, 2 bathrooms,
a single garage, and are priced between $50,000
and $90,000. Look at the listings for three of
of the houses found.
Task 3. Start a new search. Search for houses in the
northwest that are larger than 1,000 square feet.
Look at two of the listings. Choose one and
print a hard copy of the listing.
6.7 Realtor Tasks to be Performed:
The subject is presented with the system at the DOS prompt.
Instructions are given to start the application.
Task 1. Log in using the login identification "fredrika"
and the password "a-ok".
Task 2. Search for houses in the price range $80,000 to
$90,000. Look at the listing for one of them.
Determine the number of bathrooms the house has.
Task 3. Start a new search. Search for houses in the
northwest that are larger than 1,000 square feet.
Look at two of the listings. Choose one and
print a hard copy of the listing.
Task 4. Now, start a new search.
Search for houses that have 3 bedrooms, 2 bathrooms,
a single garage, and are priced between $50,000
and $90,000. Look at the listings for three of
of the houses found. Choose one and make an
offer on that listing for $40,000.
Task 5. Start a new search. Search for a house with
reference number 900 000 002.
Task 6. Change the price for any one listing to $200,000.
Task 7. Add a new listing to the database. The price is
$50,000, location is Brentwood, square feet is
900, style is condominium, number of bedrooms is
3, basement is finished, there is no garage, the
house is 15 years old, lot size is 1300 square feet,
and status is for sale. Write down the reference
number of this new listing.
Task 8. Return to the main screen. Delete the listing
you just created.
Task 9. Change your employee name to "Woody Woodpecker".
Task 10. Log off the system.
6.8 Administrator Tasks to be Performed:
All realtor tasks will be performed by the administrator plus the
following tasks:
Task 10. Search for all listings under the name "Woody
Woodpecker". Reassign two of these listings to
"Mickey Mouse".
Task 11. Change Mickey Mouse's address to "Disney World".
Task 12. Add a new realtor, "Howard T. Duck" to the database.
His phone number is (555)123-4567. His address is
890 Lalaland Blvd, Hollywood, California. His e-mail
address is "duckie@paramount.pictures.us".
Task 13. Return to the main screen. Remove the realtor
Mickey Mouse from the system.
Task 14. Log off the system.
Note: The administrator tasks do not need to be conducted in one session.
6.9 Monitoring Test Results:
The results of tests will be monitored by Mal Beer with assistance
from Michael Lippold. Generally, the function test results and walkthrough
results will be handled by Mal Beer. Any problems with functionality or
integration (as identified from these test results) will be corrected
immediately.
Mal Beer and Michael Lippold will examine results from user testing
together (along with advice from the design team). Obviously, all
changes to the software will be implemented by the programming group.
A set of criteria that a user can used for a search of a
listing. For example: price of a house, number of bedrooms, etc.
A property that is currently available for sale or rent, or has recently been sold or rented. For example: a house, condo or apartment.
A listing includes information such as price, style,
location, etc.
Certain functions are activated depending on
whether a user is a buyer, realtor or administrator.
For example: a realtor can enter an offer made on a listing on behalf of a buyer, but a buyer cannot enter his/her own offer.
Change some aspect of a file. For example: an administrator
can reassign a listing from one realtor to another realtor
A user that supports the system, as well as has
access to certain functions that a realtor or
buyer does not, such as changing
realtors on a listing.
A small screen that 'pops-up' (or partially overlaps)
the screen that a user is currently using.
Listings that appear after a search is initiated that match
the user's search criteria
A help system which provides information directly related to the function the user is attempting to perform.
De-activated, will not work.
Each listing will have its own personal identification number,
and the data base will use this number to search
for a listing.
Amount that a user is willing to pay to buy a given listing.
8.1 Search screen - pulldown menu functions for realtors:
8.2 Add/Modify Listing screen:
8.3 Search screen - pull down menu function for administrators: