软件属性包括功能属性和质量属性,但是软件架构重点关注的是质量属性。架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性。软件的质量属性可列举很多,也有各种不同的分类法和不同的表述。一般将质量属性分为3类: ● 系统的质量属性。可用性,可修改性,性能,安全性,可测试性和易用性。 ● 受架构影响的商业属性(上市时间)。 ● 与架构本身相关的一些质量属性(如概念完整性),它们会间接影响其他质量属性,如可修改性。 1.一般质量属性场景 如何描述质量属性需求呢?一般采用质量属性场景作为一种规范。 质量属性场景是一种面向特定的质量属性的需求。它由6部分组成: 刺激源:这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)。 刺激:该刺激是当刺激到达系统时需要考虑的条件。 环境:该刺激在某些条件内发生。当刺激发生时,系统可能处于过载,或者运行,也可能是其他情况。 制品:某个制品被刺激。这可能是整个系统,也可能是系统的一部分。 响应:该响应是在刺激到达后所采取的行动。 响应度量:当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。 2.可用性一般场景:所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是将非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要求进行哪种通知。 场景的部分 源 刺激 制品 环境 响应 可能的值 系统内部、系统外部 疏忽、崩溃、时间、响应 系统的处理器、通信通道、持久存储器、进程 正常操作、降级模式 系统应该检测事件、并进行如下一个或多个活动: 将其记录下来通知适当的各方,包括用户和其他系统 根据已定义的规则禁止导致错误或故障的事件源 在一段预先指定的时间间隔内不可用,其中,时间间隔取决于系统的关键程度在正常或降级模式下运行 系统必须可用的时间间隔 可用时间 系统可以在降级模式下运行的时间间隔 修复时间 响应度量 3.可修改性一般场景。 场景的部分 源 刺激 制品 环境 响应 响应度量 可能的值 最终用户、开发人员、系统管理员 希望增加、删除、修改、改变功能、质量属性、容量 系统用户界面、平台、环境或与目标系统交互的系统 在运行时、编译时、构建时、设计时 查找架构中需要修改的位置,进行修改且不会影响其他功能,对所做的修改进行测试,部署所做的修改 根据所影响元素的数量度量的成本、努力、资金;该修改对其他功能或质量属性所造成 影响的程度 4.性能一般场景。 场景的部分 源 刺激 制品 环境 响应 响应度量 5.安全性一般场景。 场景的部分 源 刺激 制品 环境 响应 可能的值 正确识别、非正确识别或身份未知的个人或系统它来自内部/外部;经过了授权/未授权它访问了有限的资源/大量资源 试图显示数据、改变/删除数据、访问系统服务、降低系统服务的可用性 系统服务、系统中的数据 在线或离线、联网或断网、连接有防火墙或者直接连到了网络 对用户身份进行认证;隐藏用户的身份;阻止对数据或服务的访问;允许访问数据或服务;授予或收回对访问数据或服务的许可;根据身份记录访问/修改或试图访问/修改数据/服务;以一种不可读的格式存储数据;识别无法解释的对服务的高需求;通知用户或另外一个系统,并限制服务的可用性 用成功的概率表示,避开安全防范措施所需要的时间/努力/资源;检测到攻击的可能性;确定攻击或访问/修改数据或服务的个人的可能性;在拒绝服务攻击的情况下仍然获得服务的百分比;恢复数据/服务;被破坏的数据/服务和/或被拒绝的合法访问的范围 可能的值 大量的独立源中的一个,可能来自系统内部 定期事件到达;随机事件到达;偶然事件到达 系统 正常模式;超载模式 处理刺激;改变服务级别 等待事件、期限、吞吐量、抖动、缺失率、数据丢失 响应度量 6. 可测试性一般场景。 场景的部分 源 刺激 制品 环境 响应 响应度量 可能的值 开发人员、增量开发人员、系统验证人员、客户验收测试人员、系统用户 已完成的分析、架构、设计、类和子系统集成;所交付的系统 设计、代码段、完整的应用 设计时、开发时、编译时、部署时 提供对状态值的访问、提供所计算的值、准备测试环境 已执行的可执行语句的百分比 如果存在缺陷出现故障的概率 执行测试的时间 测试中最长依赖的长度 准备测试环境的时间 7. 易用性一般场景 场景的部分 源 刺激 制品 环境 响应 可能的值 最终用户 想要学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意 系统 在运行时或配置时 系统提供以下一个或多个响应来支持“学习系统特性” 帮助系统与环境联系紧密;界面为用户所熟悉;在不熟悉的环境中,界面是可以使用的 系统提供以下一个或多个响应来支持“有效 使用系统” 数据和/或命令的聚合;已输入的数据和/或命令的重用;支持在界面中的有效导航;具有一致操作的不同视图;全面搜索;多个同事进行的活动 系统提供以下一个或多个响应来“使错误的影响最低” 撤销;取消;从系统故障中恢复;识别并纠正用户错误;检索忘记的密码;验证系统资源 系统提供以下一个或多个响应来“适配系统” 定制能力;国际化 系统提供以下一个或多个响应来使客户“对系统的满意” 显示系统状态;与客户的节奏合拍 任务时间、错误数量、解决问题的数量、用户满意度、用户知识的获得、成功操作在总操作中所占的比例、损失的时间/丢失的数据量 响应度量 8. 质量属性场景 质量属性 可用性 可修改性 性能 安全性 可测试性 易用性 刺激 不期望的事件、期望的时间不发生 请求添加删除改变功能、平台、质量属性或容量 周期性的、随机的或偶然的 试图 显示、修改、改变/删除信息、访问或降低系统服务的可用性 系统开发阶段的完成 想要 学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意 9商业质量属性 a上市时间 b成本和收益 c所希望的系统生命期的长短 d目标市场 e推出计划 f与老系统的集成 10架构的质量属性 a概念完成性:在各个层次上统一系统设计的根本指导思想。 b正确性和完整性:架构能够满足系统的各种需求以及运行时的资源要求的必要条件。 c可构建性:保证能够由指定的开发小组在规定的时间里及时开发系统,并允许在开发过程中做某些更改的架构属性。
因篇幅问题不能全部显示,请点此查看更多更全内容