System design and planning-Summary

Source: Internet
Author: User

From: http://www.cnblogs.com/qingteng1983/archive/2010/07/25/1784528.html

 

I am grateful to some of the problems encountered in a project product of the company. Based on my own design and development experience, I would like to summarize the necessity and knowledge points of system design and planning as a reference for future design, we will also discuss with you various aspects that should be paid attention to in system design.

Product Introduction:This product is a WebGIS system. After two to three years of development and implementation, it is now ready to be upgraded from a project to a product, but a large number of problems are exposed in the project implementation, the implementation staff and development staff are embarrassed and there is still a big gap between the product requirements. Therefore, the leadership is aware of the seriousness of the problem and requires transformation, and asked me to provide some technical guidance and design checks. As a member of other teams that have not participated in the development, observe and discover as a bystander

Current problems:

1. The system functions are unstable, and many basic functions may occasionally encounter problems. The implementers are worried and have no confidence in the product.
2. There are some low-level errors in the system, such as page function errors. The file upload function does not have file type filtering... and so on, which is not professional.
3. Only Internet Explorer is supported, but Internet Explorer 6 and Internet Explorer 8 are not supported. You can only force Internet Explorer 7 to be installed and use the compatible mode for browsing. this is inconvenient to use.
4. Because different projects have different requirements and customers' interface style preferences, it takes a lot of effort to modify and customize each project.
5. When fixing the bug mentioned by the customer, other bugs are often introduced to make the original functions wrong.
6. Insufficient testing of the running environment. Some problems may occur when a 64-bit operating system or an English version operating system is encountered.
7. The database is too limited. Currently, it only supports Oracle and is limited to a specific version. It may be difficult to use Oracle RAC.
8. it is too difficult to deploy. manually execute the database script. There are several configuration files. Each time the IP address or database changes, you must manually replace some strings, the most depressing thing is that the URL address is recorded in the database table.
9. There is no running log record, so it is difficult for the customer to provide the exception information for running. You can only debug it by yourself.

 

These problems have always existed, but I did not know them before. However, the implementers have repeatedly reported that the customers have been asking questions and still cannot solve them thoroughly, which makes me more confused. Therefore, through communication with developers and implementers, I learned thatReasons for the dilemma:
1. Incomplete requirements in the early stage, resulting in frequent changes in the later stage, which is difficult for developers to cope.
2. There are multiple ways to access databases: JDBC, hibernate, and Access Components developed by the company.
3. The initial project was implemented on Oracle. Therefore, the target database has never been taken into account with other databases, nor has it tested the RAC environment.
4. Considering some interface effects, IE7 features are used, resulting in browser incompatibility.
5. The coupling between functional modules is too high and the modules are mutually dependent. Therefore, the system may be changed easily.
6. Due to the lack of testers, developers can only test by themselves, but they do not use unit testing and automated testing tools, nor do they have to perform stress testing and runtime environment testing.
7. All projects are implemented at the same time. Developers and technical support and maintenance for each project, version maintenance andCodeThe changes are confusing.

 

In factMultiple Factors: requirement analysis, process management, architecture design, and code Quality. However, I personally think that the most important thing is not to do a good job of system design, lack of overall planning, and early entry into the coding stage, making the system rigid, insufficient scalability, and unable to respond flexibly. That's why I came up with the subject of system design planning, which is not clearly defined. My personal understanding is an analysis and evaluation of software products and projects, consider several important aspects of the system, and make appropriate preparations, but do not involve the details of the solution. At the same time, the system design plan is also different from the architecture design and detailed design. I personally think that the latter two are more inclined to the business logic hierarchy and module organization, as well as the core design, focuses on Interface Definition and encapsulation. Based on personal design experience, system analysis and evaluation should be consideredThe following factors:
1. Technical Selection
2. Hierarchical Design
3. Database Design
4. Technical difficulties
5. Technical standards and industry specifications
6. Performance Design
7. Test Design
8. debugging Design
9. Security Design
10. Deployment Design

Among the 10 factors listed in this list, the first five are frequently involved and considered. However, the last five factors may not be considered much. Each of these factors is a big topic, with deep theoretical knowledge and rich practical materials. No one can provide a unified solution. Therefore, I only use charts to classify topics and give relevant content and concerns for each topic. Each Focus also involves a lot of knowledge. In system design, we need to make a trade-off based on our own development practices and needs, and find appropriate countermeasures. In short, my goal is to do a good job of Macro Analysis and grasp at the beginning of the system design, and work out appropriate solutions so that the system can easily cope with later demand changes and code maintenance.

The content listed here is entirely based on personal experience and may have many shortcomings. I hope to add them and correct them.

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.