Some thoughts on system design and system development

Source: Internet
Author: User

Recently there is no output, the mentality is not very good, want to write a lot, but the blog updated relatively few.
Today talk about the system design of the sentiment bar (although not designed NB system).
Making a system and doing functions is different, and the factors considered are not the same. Relatively speaking, the function development is relatively simple, the system design considers the content to be more.

Business justification

This is an issue that is considered at the start of the project, and all project development objectives exist to achieve certain worthwhile goals. Again beautiful process, advanced technology, and then the elite team, the development of things no one used, no value, all became sunk costs, finally can only become a conversation.

Time, cost, quality

Whether it is a system or function development, or two development, we must meet a basic principle, that is, in a limited time, put the appropriate cost, to complete the established function, that is, to achieve the quality of the target requirements. No matter how beautiful the code is written, how big the technology is, and ultimately, it will be limited by constraints to achieve the established function. Quality is the only factor that cannot be compromised.

Unity of responsibility

This is in the project start phase to clear things, a team, a project group must be clear who is responsible for the person, who should be responsible for this overall, clear rights and responsibilities, is the key to ensure success. Everyone has a responsibility on the shoulders of all the indicators. Vague role-setting, often in the process of development to make people stretched.

Sustainability

There is a big difference between the daily development and the open source software. Open source software only need to expose the interface, that is, what function to implement, call any method can be. Users seldom care about the implementation logic inside, open the source code of the software, you will find some places is also a big lump of a big lump, if the business code is also written in this way, basically it is difficult to ensure that the back of the problem.

Daily development is not, you write your own project, is required with the project lifecycle, functional iterations need countless changes. So, note that clear logic is very important. If your code is only self-evident, logical height compression, then estimates can only be maintained, because others do not understand. This is why the back pot is always leaving the staff of the reason.

In a long-life development, have you considered the expansion of the product and the shrinking of the db. Is it possible to upgrade your system incrementally on a current basis? Or wait until the mountain before you think about the plan?

Document

Documentation is a description of the business, product documentation, technical documentation must be written. The majority of developers are reluctant to write documents, but this is not true.
The code originates from the product logic, and the clear code can summarize the business flow and data flow. Document writing requires several purposes.

    1. Clear, the document must be clear, the main goal is to tell others what this is, how to use the content, so must clearly express their meaning.
    2. Security, the document must be safe, safe means that the document server must not be temporary, built by themselves. is being maintained, so that the loss of personnel can cause the document to break more embarrassing.

Each role should be summed up and summarized.

Life is not only true or false

The world is colourful, and I rarely define variables as true/false, a habit that is not very good. But I have my own ideas, always in some scenarios when considering, if there is a third situation to do. The result is defined as 0 and 1, and if the third case is extended, add a 2.

The same goes for code, taking into account a third case. It's the plus case.

Just write it down here.

Some insights into system design and system development

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.