Initial requirement determination and database model design of Internet products--based on Visio and Xmind

Source: Internet
Author: User
Tags what interface

Many Internet products have a commonality, is its business core in the database, a variety of clients including Web pages, desktop, mobile app, essentially just the data in the database, in accordance with a certain structure and organization presented in front of users.

Therefore, the design of database model is very important for the initial development of an Internet product. and the database model design and product requirements are directly related, through the design of database model, can be the product requirements and implementation of effective combination.

This paper introduces a new design method of product requirement determination and database prototype realized by using Microsoft Visio drawing Tool and Xmind mind map, which is very effective, and the graphical document can show the business logic of the product very intuitively.

Here is an example of a simple microblog application that introduces this approach.

Product Basic requirements Determination (core requirements)

The basic requirements of the application are as follows:

Users can register to sign in

Each user can post Weibo

Each microblog can be accompanied by multiple images at one time

Users can comment on other people's tweets

Users can add friends to each other (here plus friends are two-way)

Design of relational model of data table

Here we use the relational database, can refer to the basic concept of relational database:

Http://www.hainter.com/relational-database

Based on the above basic requirements, the basic data sheet user, Post, IMG, respectively, the user, Weibo, picture.

There is a one-to-many relationship between user and post, which means that each subscriber can publish multiple tweets, each of which is published by a single user. Similarly, post and IMG are a one-to-many relationship.

There is a many-to-many relationship between user and user, each of whom can add multiple other users as friends. And there is a many-to-many relationship between user and post, that is, comments, each user can comment on multiple tweets, each Weibo can be commented by multiple users.

Based on this, you can draw a diagram using Visio's streaming diagram as follows. We use a one-way arrow to denote a a-to-many relationship, with a two-way arrow.

Use of Visio can be found in the article "QuickStart to Microsoft Visio drawing Tools"

Http://www.hainter.com/visio-quick-start

Diagrams such as the following

From the implementation point of view, for a one-to-many relationship, such as user and post, simply add a foreign key to the user in the Post table. For many-to-many relationships, such as user and post, you need to use a new table comment and set two foreign keys to point to the user and post implementations, respectively. Therefore, we draw the many-to-many relationship in the graph into the following form.

In this diagram, each circle represents a data table. And, coincidentally, the arrows on each circle indicate the foreign keys contained in each data table, such as a friend table with two foreign keys, all pointing to user,img with a foreign key pointing to post.

In a relational database, there is a relationship that is one to the other. This kind of relationship is not much, because two tables can be used to fit their fields directly into a single table. But for a variety of reasons, in the security, performance and other considerations, it may be used.

Here is an example that may not be very appropriate. The original user table only saved the users ' basic information, and the product has been put into operation. New data requirements have been created due to product updates. Users can pay to apply for VIP user Rights, VIP users can save more personalized personal information to display. At this point the VIP user is just a subset of all users.

Although we can modify the user table to add VIP user-specific fields to each record, this can cause some wasted space and may cause a lot of problems in the size of the user table.

At this point we can consider creating a new table Vipuserinfo, dedicated users to store additional information for VIP users, and set a foreign key to point to user. At this point, vipuserinfo and user form a one-to-one relationship, each vipuserinfo record corresponds to a user record, and each user record has a maximum of one vipuserinfo record. So we can draw the entire data sheet to look like the following.

The new legend is as follows

So far, the relational model of the database has been drawn. It is clear to see the implementation of each product function at the data level.

Design of product detail requirement/interface concept map/data table field model

The table-level design of the database is complete, and the design of the field level can be done according to the detailed requirements of the product. At the same time as the field level design, determine and refine the detailed requirements of the product. Because the details are easy to miss, later to do too many of the changes can be avoided, will compare time and confusion, can be combined with the Client interface concept map or interactive prototype to consider, so it is not very abstract, it is easier to think clearly each detail.

Since the focus here is on product function design, the concept map design does not take much effort to do very beautifully, only need to initially determine what interface, each interface about what elements can be. Do not care about the layout between elements, do not pay attention to the operation, but also do not need to draw very delicate, you can directly hand-drawn simple sketches. This process should be discussed by business and marketing personnel, product personnel, interaction designers, technical architecture personnel, and the topics to be discussed clearly. It is necessary to remember that the concept sketch is used only to facilitate the intuitive analysis of the details of the product needs, rather than to design the final interface; The finishing of the interface is completed by the artist and the interactive designer.

Finalize a series of detailed product requirements, such as user information related requirements are as follows:

Users through the user name, password, mailbox to register and login, can use the mailbox to retrieve the password

After landing, you can set a nickname, Avatar, or you can modify the mailbox bindings

Other......

Based on the detailed product requirements, the database model can be designed in detail.

The design is xmind using the easy-to-use mind mapping software. The final design is outlined below.

After each table and each field of the database is designed, the implementation is very clear and can greatly save the later implementation cost. It's a database prototype that I designed for a real project (the name of each table is replaced by letters, because of business-sensitive information).

Summarize

At this point, the requirements of the product have been basically determined, and the database prototype is also very clear display. Summing up, the idea of this method is roughly as follows:

This article first Self's personal homepage, reprint please indicate source: http://www.hainter.com/web-product-design

Initial requirement determination and database model design of Internet products--based on Visio and Xmind

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.