Software Project development usually follows the standard process and regulations. The following is my experience and summary of the development process structure of large and medium-sized software projects. The general process can be divided:
1. directory structure
2. Requirement Analysis
3. Database Selection and Design
4. Planning and Development cycle
5. Establish the environment
6. Project Development
The following sections describe:
1. directory structure: mainly, documents (document/style)/src (Code.
2. Requirement Analysis
Determine which modules are redundant or supplemented classes and methods based on the required functions.
3. Database Selection and Design
Select a database, such as pgsql, MySQL, Sybase, Oracle..., and change the configuration file according to different user requirements or project requirements.
4. Planning and Development cycle
The project owner is generally called PM in China. It grasps the time progress, is responsible for the personnel coordination of the project, and ultimately guarantees the quality, including:
Generate a structure chart for each topic folder, as shown in directory 2.
Development Rules
Writing specifications
Naming Conventions for objects, variables, and file names
Module Responsibility Division
Is it based on experience to grasp the time progress?
In this case, you also need to understand the overall technical strength of the team.
5. Establish the environment
Usually refers to the corresponding development platform configuration. The common Web platforms include:
Linux + Apache + PHP + MySQL/pgsql
Mswin2003 + IIS6 + ASP/aspx + MSSQL
Linux + Java...
These specific configurations are not detailed here. If you are interested, you can view the system network problems.ArticleTutorial.
6. Project Development (OOP Development)
(1) Software Architecture
Describe the software's organizational structure, deployment structure, and operating environment.
(2) category design
Define associations between classes and attributes and methods of classes.
(3) Database Design
Define the association between database tables and fields of each table.
(4) coding and unit testing
Code according to the design document. unit tests should be conducted for each module.
(5) system integration and Testing
The modules and subsystems are combined and tested according to the overall organizational structure. In the future, we will have professional testers.
(6) Bug handling and project summary.
What are the guidelines for table structure definition and association between tables?
This should follow the <database paradigm>. Basically, the first three paradigms are OK.
The General Convention is 3nf + bcnf.
Let me talk about it.
1nf)It is the basic requirement for the relational model. If this is not met, it is a failed database design. The designed database is not a relational database.
Simply put, duplicate columns are not allowed. The same Column cannot have multiple values.
For example, a field cannot contain "name, age, phone number.
2nfWith inheritance, you can understand it as a class. 1nf is the parent class, and the premise for 2nf is 1nf.
Each record must be uniquely distinguished, and attributes depend entirely on the primary keyword.
3nf. 2nf must be satisfied first.
A database table must not contain non-primary keywords that have already been included in other tables.
This causes a large amount of redundant data.
Supplement: bcnfAnd 3nf.
In the database table, if no field is involved in the transfer function dependency of any candidate keyword segment, it complies with the third paradigm.
In general, a keyword segment determines the keyword segment.
It causes deletion, insertion, and update exceptions.
Among them, there are also project quality management, personnel allocation, role playing and so on all need to pay attention to, these determine the success or failure of a project. Be sureCareful/Careful... Details determine success or failure!