Project: Web-based Pet Matching Portal 09/09/09 By Phil, Edgar, and Tuan
1. Introduction • We are creating a web-based matching service. • Create application that matches potential pet owners with dogs based on characteristics of owners and pets. • Create and manage a database of dogs and owners
Customer Description • Our customer is a dog and owner matching company • Wants the system to be intuitive, user friendly, and secure. • Wants a management console where they can update the system library with new breed information and data.
User Characteristics • USER1: The client (dog and owner matching company) will use management console where they can update the system library with new breed information and data without needing to know SQL. • USER2: potential pet owners enter their info and preferences. A program will then search through a database of dogs and process a list of the best and runner up matches based on the customer profile.
Problem Definition • The client has multiple databases that need to be consolidated • The client needs a simple low cost way that customers can access this database in an organized way • The client needs a way to be able to keep this database up-to-date
Product Description • The system will consist of a 3-tier application model. • The presentation layer (GUI) • The functional layer • The database layer
Presentation Layer • The presentation layer will consist of a web-based graphical user interface which can be accessed from a workstation, a web page or a kiosk. • The GUI will consist of selectable buttons and text input capability. Input will be accessible by keyboard, mouse or touchscreen. Output can be seen by monitor and printer.
Functional Layer • The functional layer will be processing 4 major components of the system. • Gathering inputted dog characteristics • Storing user profile characteristics. • Searching the database for matches according to dog characteristics • A Management console
Database Layer • The database layer will store data for the customer profiles and dog inventory.
Inputs • The customer will be inputing two sets of data into the program through the use of a keyboard, track-ball, and/or touch screen. • The input data collected will be of the dog specifications and the customer specifications.
Outputs • Here is just one example of the visual or printable output that would occur on the monitor or printer. It would show information such as gender and breed information.
Interface • This screenshot is a rough example of what the customer end GUI will look like. The final product is likely to go through many revisions.
Interface • This screenshot is a rough example of what the management console GUI will look like.
Subsystem overview • Dog Results Subsystem – The dog results subsystem takes the desired traits entered by the customer and searches the database for matches. • Customer Results Subsystem – The customer results subsystem (rev. customer profile) stores information about the customer. *CRM module expandability. • Management Console Subsystem – The management console will allow the operator/manager to customize the customer GUI and update the inventory. They may also be able to pull custom reports from the database.
Dog / Customer Subsystem * Does not reflect latest revisions – Virtual Pets should be Dog Inventory
Management Console Subsystem * Does not reflect latest revisions – Virtual Pets should be Dog Inventory
Database Description • Our database model is relational. The benefits of relational databases are: • Information can be created by retrieving data from multiple files even if they are not all stored in the same location • Abundance of commercial products exist to create or manage them.
Lessons Learned • A custom pet breeding project was complex and unrealistic. Had to change focus. • Progress tracking was inherently accomplished by using e-mail as our main communication medium. • A versioning system that is understandable amongst the team is important for efficiently organizing team efforts.
Re-design and Reflection • Unforeseen roadblocks and challenges may cause a significant change to the project design. • Reduced the complexity of the project by changing the focus of our project. • Likely to go through many changes and revisions from rapid prototype to final design. • -Unless your group finishes their final product during rapid prototyping.
Successful Experiences • We were able to maintain conceptual integrity likely due to being a smaller group. • We were able to solve many design challenges by changing the main focus of our design. • Although this changed the concept, it was a unanimous decision as a unit. • We have been successful at meeting our Gantt chart deadlines thus far.