Experience of Access Database Training
The one-month database training made me participate in the development process of software engineering. Among them, our training website has the deepest experience: first, the project is the biggest: the project is big because our starting website involves many users-universities, enterprises, students, teachers and experts, and second, the website has many functions-user management, online internship, online competition, graduation internship design, project management, talent pool management, talent recommendation and search ... This project is very big. Then we had a meeting to discuss this issue, and agreed to realize the basic functions of the project, build the basic framework of the website, and then add other functions of our website on this basis. Therefore, in this process, I deeply realized the importance of requirement analysis and outline design in the early stage of software engineering. These two documents are the most important basis for guiding our later development. 2. The largest number of database tables: such a huge system needs a huge database to support it, so the direct consequence of a big project is that we have a large number of database tables, and the dependencies between tables are also very complicated, and there are many relationships between entity classes, which makes the design very difficult. Another problem with databases is the properties of data tables. The attribute design of data table depends entirely on the requirement analysis document we just started. If the requirement analysis is incomplete, the attributes of the database table will be lost. From the user's point of view, you will feel that the data provided by your system is not comprehensive enough and the amount of information is small. 3. The largest development team: There are fourteen people in our team, which is a very serious problem for our project manager. After all, a team of fourteen people is equivalent to the sum of the number of other teams, and it is quite difficult to manage. For our team members, there are too many communication channels, which has caused problems in our project. I don't know which team member to communicate with. In order to solve this problem, we chose three group leaders in the team. When team members encounter problems, they should first consult the team leader, and then the team leader will provide feedback. 4. High coupling between project modules: The functional modules involved in the website are closely related, and the interface design between modules is the most important factor for the final integration of the project. This part of user management should provide an interface for each module, mainly the number and type of users. The link between each page is also an important module interface. This problem is because we have done a good job of full communication in the early stage and designed our own modules according to the interface description in the outline design, so the module integration in the later stage did not encounter any major incompatibility problems. Next, I will talk about my work this month: demand analysis stage: in the demand analysis stage, I completed the demand analysis of the online competition module. The main problem I encountered is that after reading the information, I found that the functions of online internship, online competition and graduation design guidance are similar, but the requirements are not clear enough after analysis. After several exchanges with Mr. Tang, I determined the specific differences between these modules. The basic requirements of the online competition module have also been roughly determined. The basic function of the online competition module is that students register for the competition through the website. After the enterprise passes the audit, experts will grade and rank the works. Summary design stage: on the basis of demand analysis, the online competition module is designed in detail, with flow charts (IPO diagram and use case diagram); The main difficulties in this stage are the description of online competition business process, how to realize the steps of student registration, enterprise release and expert review, and the limitations of this module and other modules. Database design stage: I am responsible for integrating the preliminary database design instructions, assigning team members to design the data tables required by their respective functional modules according to their specific needs, and then integrating these data tables. The problem encountered in this process is that the database is really too big. Finally, there are more than 30 tables. The relationship between tables is complex and related, and there are many foreign keys to set. It is difficult to extract all the attribute fields. The setting of attribute types is also a problem. It is particularly important to adopt numeric or string type in database design, because numeric type is faster in background search and string type is more important in data display. We use the entity number to mark the primary key of each table, because it makes it easier to associate entities. The key of database design is to grasp the whole project and refine the specific attribute requirements of each entity class. Detailed design stage: I think it is the most important aspect. A complete and detailed design description should help programmers complete the concrete implementation. Programmers can write individual functions in logical order, regardless of the coupling between modules. After the overall framework of the website is built, we can fill in the functions ourselves. However, because the time is too short, our stage has shrunk, which leads to the following problems: the later code writing is chaotic, the functional interface is difficult to unify, and the interface style is diversified. At this stage, my main job is to design the interface of students, enterprises, administrators, universities and experts in the online competition module with my teammates. Coding stage: We developed it with ASP.net. The main task is to select the control you want from the tool, and then fill the code in the control response function to complete the corresponding event response. The biggest problem encountered here is the layout of the page, because it is my first time to develop a website, which has caused the monotonous and unsightly interface style I designed. Now I will try my best to make the page tidy. The main tasks at this stage are: writing code → compiling → debugging → writing code. In this month, I learned a lot. Strictly speaking, I learned to write websites with ASP.Net. The most important thing is that I have experienced all stages of software engineering and have a perceptual understanding of the whole software engineering. More importantly, I learned how to communicate with project team members. This is a valuable practical experience.