Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Time and emotional factors of Software Architecture

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

Quality attribute is an important aspect of software architecture, and quality attribute also contains time and emotion factors.

In the 1st century BC, the ancient Roman imperial engineer and architect Marcus Vitruvius Pollio first put forward the three elements of architecture: firmness, practicality and beauty in his Ten Books of Architecture. The English expression is Firmitas,Utilitas, Venustas, that is to say, Solid,Useful, Beautiful. Software architecture also requires these three elements, in computer terms:

Firmness: Achieve asatisfactory level of freedom from damaging failure.

Commodity: Utility toaccomplish the tasks it is purported to be for.

Delight: Pleasure in use.

Markus Vitruvi Polio was a writer, architect and engineer in ancient Rome. His life was unknown in the first century BC. Even his first name Markus and his surname Polio were only mentioned by Vaventinus. The age of his life is mainly based on his works.

Today, these three elements are still an important part of successful software design. These three aspects are all about the quality attributes of the architecture. How to understand it?

No matter from the perspective of architecture design or project implementation, time is an important factor in software design. Architecture evolves in the process of time, in fact, it is iterated in a PDCA cycle, and the software is also in the process of running-in with users.

In 1931, Walter Armand Hughart, the father of Statistical quality Control (SQC), pointed out the subjectivity of quality evaluation-quality includes people's thinking, feeling and perception of objective reality.

"There are two common aspects of quality: One of them has to do with the consideration of the quality of a thing as an objective reality independent of the existence of man.The other has to do with what we think, feel, or sense as a result of the objective reality. In other words, there is a subjective side of quality."-W. A. Shewart, 1931

Dr. Peter J. Denning's article "Software Quality" was published in the American computer Society Newsletter in September 2016, which introduces the evolution of software quality evaluation from the code perspective to the user perspective, and well interprets the three elements of software quality: Firmness,Commodity and Delight.

The evaluation of software quality has obviously evolved from the code perspective in the 1970s to the user perspective today. -- Dr. Peter J. Denning

1.1 Code Perspective

According to Dr. Peter J. Denning, the traditional software quality evaluation system is based on the code perspective. Its basic principle is to establish objective measurement indicators, monitor all attributes of the software, and quantify the software itself. For example, we often talk about UT coverage, TA coverage, code static check (Sonar) indicators, the formulation of detailed specifications in the process of software design and development, ISO 9216 ISO 25010 Sonar 2011, and so on. These software quality evaluation methods generally include indicators such as correctness,reliability,integrity,usability,efficiency,maintainability,testability,interoperability,flexibility,reusability,portability,clarity,modifiability,documentation,resilience,understandability,validity,functionality,generality,economy, and each index can be expanded into a set of rules that programmers must follow. No one dares to say that software quality is a simple thing!

1.2 user perspective

From the user's point of view, users will not ask, "does the software have a good architecture and pass the ISO9126 standard?" What users are concerned about is "can the software help me with my work?" Can I rely on it? This shows that the satisfaction of user experience affects users' evaluation of software quality. In his article, Dr. Peter J. Denning proposed six levels to evaluate the quality of software from a user's perspective.

Level-1: No trust. The user does not trust the software. The software may contain a lot of bug, cause a system crash, or contain malicious plug-ins.

Level 0: Cynical satisfaction. Satisfaction without loyalty. The user does not trust all claims made by the software provider.

Level 1: Software fulfills allbasic promises. The software meets all basic commitments. The ISO software volume standard is defined at this level.

Level 2: Software fits environment. The software adapts to the user environment. What do you mean? The software improves the user's ability to do important work.

Level 3: Software produces nonegative consequences. The software will not have any negative impact. This includes two aspects: first, the software can deal with error scenarios that users cannot foresee; second, the software can meet the needs of users in the future.

Level 4: Software delights. Software pleasure. This level of product far exceeds users' expectations and produces new, unexpected, and sometimes surprising positive effects. Users have gained great pleasure in the software and are willing to promote it to other users. Users feel that software designers understand their real world and think that software has improved their lives.

The literature "Software Quality Models and Philosophies" summarizes that software quality has the following two attributes:

The meaning and definition of software quality:

Conformance to specification:Quality that is defined as a matter of products and services whose measurable characteristics satisfy a fixed specification-that is, conformance to an inbeforehand defined specification.

Meeting customer needs: Quality that is identified independent of any measurable characteristics. Thatis,quality is defined as the products or services capability to meet customer expectations-explicit or not.

From the above definition, we can easily deduce two important quality assurance frameworks commonly used in software development: DoD and CoS. As Dr. Peter J. Denning said: the highest level of software pleasure occurs in a good interaction between customers and developers.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 253

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report