The beauty of Software art comes from trade-off)

Source: Internet
Author: User

What are the main responsibilities of software architects? It is a choice and a trade-off. It is no exaggeration to call Software art. It can be said that software is a combination of Science, Engineering, and art. The art of software is embodied in trade-offs. In this issue 《ProgramClerk magazine saw an article "fish and bear's paw-the nightmare of perfectionist architects". The discussion about the weigh-off elements is exactly what I think. The main sections are as follows, for more details, read the full text in this article.

(1) time or space time vs. Space
It is a common trick to sacrifice memory or sacrifice time to save memory.

(2) elegancy or efficiency elegant vs. Efficiency
For example, polymorphism is elegant, but at the cost of efficiency, while the ugly function pointer is the opposite.

(3) fashion or familiarity unfamiliar new technologies vs skilled old technologies
Is it using the latest new technology that can improve development efficiency but we are not familiar with, or will we continue to use the old technology that we are very skilled but inefficient at development?

(4) revolution or Evolution Revolution vs. Inheritance
For legacy systems, have we overturned and re-built them, or have we improved and reconstructed them based on them?

(5) under-design or over-design mild design vs. Over-design
To what extent and how long does the design take?

The constraints of architecture design always focus on the 11 elements of software quality: correctness, reliability, effectiveness, integrity, availability, maintainability, flexibility, testability, portability, reusability, and interoperability.

 

Related Article

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.