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