How to implement the quality attributes of the application system

Source: Internet
Author: User

Analysis of quality attribute of Library management system

I mainly through the following six aspects, to summarize in my system, the way to achieve quality attributes.

    • Availability (availability) tactics
    • Ease of use (usability) tactics
    • Modifiable (modifiability) tactics
    • Performance (performance) tactics
    • Security's tactics
    • Testability (testability) tactics

1. Availability Tactics

I think usability is a system of the most basic properties, said the straightforward point is that the system can be normal and error-free use, the frequency of its failure, and so on, is the product quality of the system, but also the user's first concern. Availability tactics are divided into three main categories: error detection, error recovery, and error prevention.

1.1 Error detection

The three tactics for error detection are: signal/response, heartbeat, anomaly. One of the signal/response mechanisms I think would be the most commonly used and most common method in my system.

Book Information management is the most important is the book information Records, so that the library information in the database can be stored in a normal way is very important, the information can be correctly written write is the most basic thing of the system, so when connecting to the database, as well as writing out the information of the book, I'll write some console output in the code, and with the information from the console output, I can probably tell which piece of code is out of the question. For example, when inserting a library information error, if the console successfully output the database is already connected to the information, then the problem must appear in the following code.

There are relatively few heartbeats and abnormalities. Exception handling blocks are used when connecting to a database for various data operations.

1.2 Error Recovery

The tactics of error recovery include voting, active redundancy, passive redundancy, spare parts, state resynchronization and so on. In my system, the method of spare parts is used to replace different fault modules, and the time of error recovery is very fast.

1.3 Error prevention

Strategies for error prevention include deleting from services, transactions, and process listeners. There is a lot of transactional exposure, that is, in the operation of the database, define a transaction where the statements contained in it are all executed or all are not executed, all parts of the operation succeed or all fail and recover.

2. Ease of Use tactics

Ease of use compared to usability, focus on the software experience, its characteristics mainly include software easy to understand, easy to learn habits and ease of operation, that is, whether users can easily use the system. Refers to the ability of software products to be understood, learned, used and attracted to users. Ease-of-use tactics are divided into run-time tactics and design-time tactics.

2.1 Run-time tactics

The run-time tactic is when the system is running, allowing users to understand what the system is doing with various prompts. My system, in the user to modify and delete information, the mouse will be out of date when the design has the corresponding text prompts the user, which is the function of the button, point down after what function can be completed. Can let the user before these operations, through the system proactive information, better understand and use these features, faster familiar with the system's functions, is a "system active" human-computer interaction.

2.2 Design-time tactics

When designing the system, we use the framework of MVC to design the module function code, which makes the system more convenient in the later revision and maintenance.

3. Modifiable tactics

Modifiable tactics grouped according to the target, can be divided into 3 categories: Reduce the number of modules directly affected by a change localized modification, prevent chain reaction, delay binding time.

3.1 Localized modifications

Localization modifies its tactics to maintain semantic consistency, anticipate desired changes, generalize modules, and limit possible choices. Maintaining semantic consistency is a guarantee that the different responsibilities in the module can work together and not rely too much on other modules. For example, the page that displays the book information, the page that adds the book information, and the page that the prompt operation succeeds, each page is not designed to have the relation of jump and so on, each function can complete independently. The data type of the book information is relatively single, so the generalization module in my system is not designed to reflect.

3.2 Prevent chain reaction and delay the binding time between

To prevent the chain reaction, I will try to maintain the existing interface or class name and so on, to minimize the module to be changed. The delay binding time is not yet reflected in my system.

4. Performance tactics

Performance refers to the responsiveness of the system, generally measured performance metrics are waiting time, processing time, loss of data and so on. Therefore, we should start with these indicators. The tactics of performance are divided into resource control, resource management and resource arbitration.

4.1 Resource Control

The most straightforward way to reduce waiting time is to reduce the number of operations that the system needs to process. I use the STRUTS2 framework, through action to control the implementation of various functions of the user, through a configuration file to set the jump between pages, compared to the previous design through the servlet to achieve a variety of functions, and in which directly write page jump method in this way, A lot of repetitive code is reduced, the processing is simplified, and the speed can be improved in a certain sense.

4.2 Resource management and resource arbitrations

Resource management and resource arbitration some of these include hardware optimizations, such as increasing CPU processing speed, increasing memory, and so on, which are not clearly reflected in my system.

5. Security Testing

Security tactics are divided into resistance attacks, detection attacks, and attack recovery. is about performance in terms of system security.

5.1 Resistance attacks

Anti-attack tactics will be more evident in my system. First, the user must be logged in to enter the system, we want to be logged into the system to authenticate the user to verify that they have the right to log on to the system. If you do not have permissions, you cannot enter the system.

Second, different users are given different permissions, the system has two roles for users and administrators, so at the time of login, there will be permission to detect, through detection to determine the user login in the book system has what permissions. Permissions are different, and the features that users can use are different.

5.2 Detecting attack and attack recovery

Currently, the book system has not been designed to detect attacks and attack recovery.

6. Testability Tactics

Testability is a requirement for software products in terms of software testing. Testability tactics are divided into input/output and internal monitoring. Library Management system code, the use of various types of libraries, as well as the use of the framework struts2 the concept of the interface and implementation of the concept of separation. Errors can be easily and easily tested in the test.

How to implement the quality attributes of the application system

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.