Software architecture quality attributes (b)

Modify its properties can be achieved tactics

For general scenes modifiability of illustration and modifiability specific scenario, the reader may be modeled on the availability of the previously described embodiment, their own practice.

(2) can be modified tactical. Including localized modifications to prevent a chain reaction, late binding time. ① localized modification. Assign responsibility for the module during the design, in order to limit the expected changes within a certain range, thereby reducing the cost to modify. Maintaining semantic consistency: semantic consistency refers to the relationship between the responsibility of the module, these responsibilities to work together without undue reliance on other modules. Coupling and cohesion indicators reflect consistency, consistency should be measured according to the semantics of a set of expected changes. Use "abstract universal service" (such as the use use application framework and other intermediate software) to support his son is modifiability tactics. Expected desired changes: The estimate of the change, preset, ready, in order to minimize the impact of change. Generalization of the module: a module to make more versatile, and more extensive functions. Limiting the possible choice: such as during replacement of a module (processor), it is limited to members of the same family.

② to prevent a chain reaction. Since there are various dependencies between the modules, thus, changes will have a ripple effect. The following tactics to prevent a chain reaction. Information hiding: that is the responsibility of an entity broken down into smaller parts, and choose what information to become public, which become private, to obtain public liability through the interface. Maintaining existing interfaces: maintain the stability of existing interfaces as possible. For example, by adding interface (to provide new services through new interface) can achieve this goal. Communication path restrictions: limiting data sharing module with a given module. This can reduce the ripple / induced from the use of data generated. Use of arbiter: inserting an arbiter between the two modules have dependencies, and the dependency related to the management activities. Arbiter There are many types, such as: bridges, mediators, agents, and other services that can provide the syntax conversion from one form to another form of arbiter.

③ late binding time. The system includes a bound at run time and allows developers to modify non-(configuration). Registration Runtime: Plug and Play. Profile: Set parameters at startup. Polymorphism: In the late binding of method calls. Replacing member: Binding allowable load

Performance and Its Implementation

(2) the performance of tactics. Performance-related and time, response time impact of the incident there are two basic factors. Resource consumption: after a series of events to reach into the handler, every step of the processing resources to be occupied, and message transformation between the various components in the process, converting these resources will be occupied. Lockout time: that encountered resource contention when the event handler, resources are not available or dependence on other calculations, the waiting time arises. There are several tactical performance. ① resource requirements to reduce the processing resources required event flow: computational efficiency (e.g., improved algorithm) to reduce the computational overhead (e.g., between and performance tradeoffs can be modified to reduce unnecessary proxy component). Reducing the number of processing events: management event rate, control the sampling frequency. Controlling resource usage: the execution time limit (e.g., reduce the number of iterations), the queue size limit. ② resource management introduced concurrently: the introduction of concurrency is important for load balancing. Maintain multiple copies of data or calculated: C / S configuration of the client C is calculated copy, it can reduce the pressure on the server calculated; cache may store copies of the data (buffer store between the different speeds). Increasing the available resources: when costs permit, to make use of a faster processor, memory, and network. ③ resource arbitration arbitration tactical resources is achieved by scheduling policy. In / first-out (FIFO); fixed priority scheduling: give event is assigned a specific priority, then the allocation of resources to their priorities; dynamic priority scheduling: round robin scheduling, time limit earliest priority; static scheduling: determine offline scheduling.

Safety and tactics to achieve

(2)安全性战术:包括抵抗攻击、检测攻击和从攻击中恢复。 ① 抵抗攻击 对用户进行身份验证:包括动态密码、一次性密码、数字证书及生物识别等; 对用户进行授权: 即对用户的访问进行控制管理; 维护数据的机密性:一般通过对数据和通信链路进行加密来实现; 维护完整性:对数据添加校验或哈希值; 限制暴露的信息; 限制访问:如用防火墙、 DMZ 策略。 ② 检测攻击。一般通过“入侵检测”系统进行过滤、比较通信模式与历史基线等方法。 ③ 从攻击中恢复。 恢复:与可用性中的战术相同; 识别攻击者:作为审计追踪,用于预防性或惩罚性目的。

可测试性及其实现战术

(2)可测试性战术:包括输入/输出和内部监控。 ① 输入/输出 记录/回放:指捕获跨接口的信息,并将其作为测试专用软件的输入; 将接口与实现分离:允许使用实现的替代(模拟器)来支持各种测试目的; 优化访问线路/接口:用测试工具来捕获或赋予构件的变量值。 ② 内部监控

当监视器处于激活状态时,记录事件(如通过接口的信息)。

易用性及其实现战术

(2)易用性战术:包括运行时战术、设计时战术和支持用户主动操作。

① 运行时战术 任务的模型:维护任务的信息,使系统了解用户试图做什么,并提供各种协助; 用户的模型:维护用户的信息,例如使系统以用户可以阅读页面的速度滚动页面; 系统的模型:维护系统的信息,它确定了期望的系统行为,并向用户提供反馈。

② 设计时战术。将用户接口与应用的其余部分分离开来,预计用户接口会频繁发生变化,因此,单独维护用户接口代码将实现变更局部化。这与可修改性相关。

③ 支持用户主动操作。支持用户的主动操作,如支持“取消”、“撤销”、“聚合”和 “显示多个视图”。

Guess you like

Origin blog.csdn.net/q947448283/article/details/93724069