Creating the Meet_A_Geek Database
Before you begin any project, it is a good idea to spend some time defining the project and gathering all the
requirements before you dive right in and begin coding the application. To understand what needs to be
done in a project, you must first define the project. You can define a project by asking some simple
questions, such as: What is this system going to accomplish? What system are you going to be replacing? A
well-defined project is the first step towards a successful project. If the project is never defined, how do you
know if you have succeeded or failed? For the Meet-A-Geek project, the definition is pretty simple: Create a
Web site where customers can place ads and respond to ads over the Internet quickly and easily. When the
customer responds to ads placed by other members, he or she is given an option to send a gift from your
Web-based store front.
It is during this first step of the process where you determine what you will be doing and what tasks
need to be accomplished. This step should also define the success and failure of the project. If you are
the project leader, this is your responsibility. After you have acquired this knowledge, you are ready to
start working on the second step, which is gathering the requirements.
In the second step of the creation process, you begin gathering the requirements of the project. You will
talk to the people who will be using the system to find out what this application needs to do. You need to
find out what information they need to track and store, what rules must be applied to the data to see if it
acceptable or not, and what kinds of reports need to be generated. It is in this phase when you will
define the business process, business rules, and business objects. This is the first step in the database
design process that you learned about on Day 3, "Designing Your First Database." It is in this phase of
the creation process when you should start looking for potential business objects that will become tables
in the database.
Requirements Phase
The requirements phase requires that you interview the various levels of management to gain a full
understanding of what needs to be done and what the application must accomplish to meet the goals of the
business. From here, you should start to get an idea of what you need to capture, what kind of equipment
you are going to need, what platform you will be using, and what the database is going to look like.
From this part of the process, you discovered the following about the Meet-A-Geek project:
- A potential customer can either respond to an ad or create an ad themselves.
- Customers are required to be members before they can respond to ads.
- After searching the database for potential dates, customers can send emails as
well as gifts as a response to the ad. - All transactions must be tracked.
- Members must log in before they can perform a search.
- The products available as gifts must be maintained in the same database.
Design Phase
Now that the requirements have been gathered, you can start the architecture and design phase. This is the
most important phase of the process. It is here that the foundation is created for the entire project. It is also
in this phase when the database for the Meet-A-Geek project will be designed and a flow chart for the Web
site will be created.
Based on the requirements that were gathered, the layout seen in Figure 21.1 was determined for the
Web site.