Educational Administration System Development Summary

Source: Internet
Author: User

We have been busy with our projects for more than three months. What we do is an educational administration system, which is mainly responsible for maintaining various basic information of the school. When I got started with this project, I thought about this basic system. It's not just about adding, deleting, and modifying basic information. So easy! But when we really started, we found that the problem was far more complicated than we thought.

 

This educational system does not have many difficulties in code implementation. The real difficulty of the system lies in the understanding of the business and the design of the database. During database design, it took nearly a month for us to group ten people to determine the system table. Let's talk about the scale of our database. There are more than 70 tables in this database, and we can just figure this number. It is not easy to figure out the relationship between so many tables, how complicated is the relationship between them? Now let's look at our views. Some of the views in the system use nearly 30 tables! 30 sheets, half of the system table. Can you imagine the complexity of the relationship?

 

To tell the truth, that time really gave me a headache. Every day I repeat students, teachers, classrooms, colleges, and so on. It's really boring. In fact, the root cause of this idea is that I do not have a deep understanding of software development, and I am blindly infatuated with the study of technology. I think that if I discuss this every day and cannot learn any technology, I feel bored, don't want to do it. But what? Now let's think about it. If you are only obsessed with technological learning, although you have a high level of technology, you will always be a first-line programmer, always working hard and working hard.

 

Let's talk about my achievements after this cooperative development.

1. Technical aspects. The educational administration system uses a lot of database knowledge. After this practice, it is more familiar with views and stored procedures, and further understands transactions and cursors. Of course, the most involved is the query, which gives me the feeling that you can't think of it, but you can't find it. On the other hand, with regard to B/S learning, HTML, CSS, JavaScript, Ajax, and other technologies are involved in the whole system development process, so I have to admit that in the development project process, the knowledge used is comprehensive, and the learning efficiency is also relatively high.

 

2. Normative

Standards are almost ubiquitous. Here I will focus on a few experiences.

① Standardization of naming

The four subsystems in the educational administration system share a database with more than one hundred tables. If there is no naming convention for a table, you can pick one by one.

② Standardization of test data

It doesn't matter if you only test the data in a table. However, when you design more than 10 tables, if you still use nonstandard data (such: 1, 2, etc.). When all the queried data is invalid data such as 1 and 2, you will be speechless.

③ Code annotation Standardization

I think everyone knows about the annotations. I don't need to say much.

 

3. The business is king

Technical issues are all minor issues. As long as you have enough time, technical issues are not a problem. The business is king. If the business is wrong, the best practice is white.

The success or failure of a system is related to the programmer's level. However, it is not a technology, but a requirement understanding and a design of the entire system.

 

4. standing on the shoulders of giants

No matter what you do, do not close the door to build a car. It is necessary to broaden your horizons. Learn to stand on the shoulders of giants.

 

5. Prioritize and distinguish between primary and secondary tasks.

It is very important to analyze the cause of the Error. However, when scoring a score, it is the first thing to solve the problem (the task is completed first). After the problem is solved, analyze the cause of the previous error, sum up experience.

 

6. Based on principles, but not sticking to them

For example, we need to follow the three paradigm. However, we must never let it limit our ideas and make appropriate changes when necessary.

 

7. About Cooperation

Team members

Be sure to cooperate with the team leader. The tasks assigned by the team leader must be completed on time. At the same time, communication and communication are even more important.

Team Lead

There must be a clear view of the entire project, control the entire project, personnel allocation, project progress, and how to mobilize the enthusiasm of the team members. These team leaders should all consider, instead of simply considering how the code is implemented.

 

8. enhanced mutual understanding

During the discussion, it is inevitable that when there are different opinions, each of them feels that their opinions are correct. Sometimes the discussion is quite intense, the conference room is sometimes filled with smoke. However, it is precisely because of such communication that we have a deeper understanding and better feelings.

 

Cooperative Development and learning are not only about technical aspects. Therefore, it is more important not to be obsessed with code, understanding of the software development process, and controlling the time of each stage. Of course, it is more important to learn how to communicate and lead a team.

 

Through this cooperative development, I realized that there are still a lot of things I lack and I will continue to work hard! Come on!

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.