Does the system architecture and software architecture have a certain meaning?

Source: Internet
Author: User

System architecture and software architecture

Further analysis, whether in the field of construction engineering or other engineering fields (including computer science), intuitively we can find out what they have in common: that is to say, from a philosophical point of view, they are all creations, evolution, and development of mankind in order to overcome the inherent fear.
What do humans fear?
We can note that human instinct has such an important thing in common: a strong sense of insecurity for uncertain and threatened things. This inspires humans to minimize these fear factors. This means that various engineering disciplines (including systems and software engineering fields) are gradually standardized, scientific, serialized, and unified over time, and ultimately ensure that humans are in a complex environment, when uncertain factors exist, they can still be effectively controlled and coordinated.
For the same purpose, an important concept, system architecture, was also created in computer science )".
1997, Eberhardt rechtin and markw. maier summarized the practical achievements of humans in the field of system architecture for the computer science community in his famous research papers, thus laying the foundation of System Science and system architecture in computer science. Through practice summary, they listed a series of application fields of system architecture: Industrial Systems, aviation systems, software and information technology systems. No matter what kind of system architecture application field, the purpose of applying the system architecture principle is the same, systems and implementation systems are designed in a complete, highly consistent, comprehensive, and balanced manner, with technology and market foresight. The summary of methodology-level practices such as Eberhardt rechtin and markw. Maier was immediately welcomed by the engineering community. Because of our instinct for insecurity, we can't help but discard the uncertain and unsystematic Architecture Experience.
We can also see this phenomenon: Some industry architecture design practitioners call themselves "System Architects ); some architects in the software engineering field call themselves "System Architects" rather than "software architects ". From what Bill Gates calls himself "software architect", he understands the connection and difference between the two terms. Strictly speaking, Eberhardt rechtin and markw. the "system architecture" or "System Design" proposed by Maier is closely related to the "Software Architecture" or "software design" that we usually talk about, and has obvious differences.
When we compare software and other technologies (such as physical, chemical, mechanical, and electronic) in a historical river, we will find that: in order to develop and produce a product, the investment and cost of other related technologies grow year by year, which is far lower than the annual growth rate of the investment in software design and development.
The growth rate of investment in software technology is higher than that of investment in other technologies, mainly because the system or product is not as severely constrained by hardware or other technologies as in the past, instead, it relies more on non-functional requirements, which are reflected in the system's requirements for software and Architecture Quality.
We can take a CT (Computed Tomography) system in the medical industry as an example for analysis. CT is an indispensable equipment in modern medical diagnosis. X-ray bundles scan a certain part of the human body at a layer of a certain thickness. Due to the different degree of confidentiality of various human tissues, X-ray penetration capabilities are also different, therefore, the radiation received by the detector is different. The resulting signal is converted to digital information and then processed by the computer and output to the display screen, showing the image of the human body, to detect lesions and determine the relative spatial location, size, and number of lesions.
The key components of the CTM include the X-ray system, high voltage generator, detector, imaging system, rack and bed, and involve electronics, machinery, image processing, computer, and other disciplines. Considering the quality requirements of the CTM, the system-level requirements are as follows:
Safety)
Security)
Reliability)
Robustness)
Manufacturability and assembly: Mechanical designers are familiar with this term)
Testability)
Serviceability)
Configurability)
Installability (you can find this term in the software testing standard glossary provided by ISTQB)
Evolvability)
Portability)
Upgradeability)
Extensibility)
Maintainability)
Disposability: environmental engineering personnel are familiar with this term)
In addition to the quality requirements of the CTM system, we can also list other non-functional requirements of the CTM, such:
Availability (useability)
Attractive image Interface
High Throughput production capacity (throughput or productivity)
Fast Response Time)
High-quality Image Processing
Reproduceability)
Predicatability)
High-Precision computing
Low Cost
Low operating costs
Strong interaction with the surrounding environment (CTM operator, patient, maintenance personnel, etc)
Low Power Consumption
Low consumption of other resources (water, air, chemicals, etc)
The size and weight of the CTO are moderate.
High Resource Utilization
Convenient transportation and mobile
Technical adequacy of the CTM Market
CTM design conforms to industry standards
If we summarize and analyze the non-functional requirements of all the above CTM systems, we can find that these requirements are system-level design requirements. If we add the functional requirements of the CTM, it can represent what the CT system will be like and how it will operate in the future. Some of these non-functional requirements are related to mechanical and electronic design, however, most of them are associated with the software architecture and design. This means that the non-functional indicators of a complete CTM system can be achieved only when multiple subsystems and technologies are combined. That is, a system is often combined with hardware and software.
From the example of the CTM system, we can clearly see that the implementation of a system is combined with the implementation of various subsystems and various technologies. The main task of system architecture is to define system-level functional and non-functional requirements, plan the characteristics of the overall system to be designed, plan and design the means to achieve system-level requirements, at the same time, various disciplines and technologies are used to construct the subsystems.
In software architecture, we must first understand the system architecture and put forward corresponding opinions on the system architecture from the perspective of software architecture, at the same time, from the software perspective to assist in planning and designing the means to meet the requirements of the system level, and ultimately provide architecture and design for each software subsystem.
It can be seen that in the system architecture activities, the software architecture task also plays an important role due to the increasingly in-depth dependency on the software. The system architecture and software architecture are closely related and mutually dependent. This book focuses on "Software Architecture" rather than "system architecture.

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.