如何实现应用系统的质量属性

对于实现图书管理系统的质量属性分析

我主要通过以下六个方面,来总结在我的系统中,实现质量属性的途径。

  • 可用性(Availability)的战术
  • 易用性(Usability)战术
  • 可修改性(Modifiability)的战术
  • 性能(Performance)的战术
  • 安全性(Security)的战术
  • 可测试性(Testability)战术

1.可用性战术

我认为可用性是一个系统最基本的属性,说的直白一点就是系统能否正常无错的使用,其故障的出现频率等等,是系统的产品质量,也是用户首先关注的一点。可用性战术主要分为三类:错误检测、错误恢复、和错误预防。

1.1错误检测

错误检测的三个战术分别为:信号/响应、心跳、异常。其中信号/响应机制我认为会是在我的系统中最常用也是最常见的一种方法。

图书信息的管理最重要的就是图书信息的记录,因此图书信息在数据库中能否正常存储就非常重要,信息是否能正确的写入写出是这个系统最基本的事情,因此在连接数据库时,以及在写入写出图书的各项信息时,我会在代码中写入一些控制台输出的信息,通过控制台输出的信息,大概就可以判断出是哪一块的代码出现了问题。比如说插入图书信息时出现错误,如果控制台成功输出了数据库已经正常连接的信息,那么问题就一定出现在后面的代码中。

心跳和异常用的相对较少。在连接数据库进行各种数据的操作时,会用到异常处理块。

1.2错误恢复

错误恢复的战术包括表决、主动冗余、被动冗余、备件、状态再同步等等。其中在我的系统中会使用备件的方法,用于更换不同的故障模块,错误恢复的时间很快。

1.3错误预防

错误预防的战术包括:从服务中删除、事务和进程监听器。其中事务接触的比较多,即在数据库的操作中,定义一个事务,其中包含的语句全部执行或者全部不执行,操作的所有部分一起成功或者全部失败并恢复。

2.易用性战术

易用性相比可用性,把侧重点放在了软件的使用体验上,它的特征主要包括软件的易理解性、易学习性和易操作性,即用户是否可以方便的使用系统。指软件产品被理解、学习、使用和吸引用户的能力。易用性的战术分为运行时战术和设计时战术。

2.1运行时战术

运行时战术是在系统运行时,能够通过各种提示让用户明白系统正在做什么。我的系统中,在用户进行信息修改和删除时,鼠标滑过时会有设计有相应的文字提示用户,这是哪个功能的按钮,点下去后能够完成什么功能。能够让用户在进行这些操作前,通过系统主动的提示信息,更好的了解和使用这些功能,更快的熟悉系统的各项功能,是一种“系统主动”的人机交互。

2.2设计时战术

设计系统时使用MVC的框架思想来设计模块功能代码,使系统在后期修改维护时更加方便。

3.可修改性战术

可修改性战术根据目标进行分组,可以分为3类:减少由某个变更直接影响的模块的数量的局部化修改、防止连锁反应、推迟绑定时间。

3.1局部化修改

局部化修改其战术有维持语义的一致性、预计期望的变更、泛化模块和限制可能的选择。维持语义的一致性是保证模块中不同责任之间可以协同工作,不要太多的依赖于其他的模块。比如显示图书信息的页面、添加图书信息的页面、以及提示操作成功的页面,每个页面之间都不设计有跳转等等的关系,每个功能都可以独立完成。图书信息的数据类型比较单一,因此泛化模块在我的系统中并没有设计体现。

3.2防止连锁反应和推迟绑定时间

防止连锁反应方面我会尽量维持现有接口或类的名字等不变,把要改动的模块尽量降到最低。推迟绑定时间在我的系统中还没有体现出来。

 

4.性能的战术

性能是指系统的响应能力,一般来说衡量性能的指标就是等待时间、处理期限、丢失数据等。因此我们就要从这几个指标上入手。关于性能的战术分为资源控制、资源管理和资源仲裁。

4.1资源控制

减少等待时间最直接的方法就是减少系统需要处理运行的各种运算。我使用的struts2框架中,通过action来控制用户各种功能的实现,通过一个配置文件来设置页面之间的跳转,相比以前设计的通过servlet来实现各种功能,并且在其中直接写入页面跳转的方法这种方式来说,减少了很多重复的代码,简化了处理方式,也可以在一定意义上提高速度。

4.2资源管理和资源仲裁

资源管理和资源仲裁其中有些包括了硬件方面的优化,比如说提高CPU的处理速度、增加内存等等,在我的系统中这两个战术没有很明显的体现。

5.安全性测试

安全性战术分为抵抗攻击、检测攻击和攻击恢复。是关于系统安全性方面的性能。

5.1抵抗攻击

抵抗攻击战术在我的系统中会体现的比较多。首先,用户必须先登录才能进入系统,我们要对想要登录进系统的用户进行身份验证,验证其是否有权限登录系统。如果没有权限,则不能进入系统。

其次,不同的用户被赋予了不同的权限,系统中有用户和管理员两个角色,因此在登录时,会有权限检测,通过检测来决定登录的用户在这个图书系统中拥有怎样的权限。权限不同,用户能够使用的功能也不同。

5.2检测攻击和攻击恢复

目前图书系统还没有设计检测攻击和攻击恢复。

 

6.可测试性战术

可测试性是在软件的测试方面对软件产品提出的要求。可测试性战术分为输入/输出和内部监视。图书管理系统的代码中,各种类库的使用,以及struts2这种框架的使用理念,都体现了接口与实现分开的理念。在测试中可以更容易方便的测试出错误。

时间: 2024-08-03 08:47:04

如何实现应用系统的质量属性的相关文章

基于SSH的高校网上选课系统的质量属性的实现

我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误检测并且抛出异常,中止进一步的错误操作,所采用的战术为错误(异常)检测, 此异常属于Action层,只捕获自定义应用异常,其他异常上抛.Struts2提供了异常拦截器,拦截器会将定义的异常捕获,记录日志,然后根据配置的异常的类型顺序跳转到相应的页面.(2)遵从J2EE的系统提供了可以使用的事务服务,

基于框架的应用系统的质量属性

质量属性指的是影响质量的相关因素,是对质量的描述.下面我从6个常见的系统质量属性和一些其他质量属性进行系统的质量描述. 系统质量属性: 可用性: 在可用性方面,本系统可以相对应的任务如用户信息的传输,页面信息与数据库的传输,即可以完成特定任务和达到特定任务时具有高度的正确和完整度.在任务执行和信息传输时所用时间短和所占资源少.基于以上两个准则,让用户可以正常操作无障碍,使得系统具有较高的用户主管满意度.在应对可用性的战术中应用如心跳.异常等进行错误检测. 可修改性: 软件不是一成不变的,跟着用户

实现xxxxxxx系统六大质量属性战术

一.可用性 错误检测战术:对XXXX系统的所有信息的输入的数据进行异常处理.在<xxxxxxx需求系统>中,在填写表格时,通过异常类来捕获输入的异常. 二. 可修改性战术1)功能模块划分独立,封装变化点,降低模块依赖性,接口保持不变,能够适应需求变更,需求变更只需做局部化少量修改:2)使用ODBC操作数据库:3)采用配置文件,使得用户可灵活设置想要的功能: 三.易用性 1)界面风格统一,操作简单.2)界面与业务逻辑分离. 四.性能战术 优化算法,提高效率,降低系统运行反应的时间. 五.安全性战

《淘宝网》质量属性例子

系统的质量属性:可用性,可修改性,性能,安全性,可测试性和易用性. 可用性 刺激源 服务器集群 刺激 单个服务器宕机 环境 正常运行 制品 淘宝网 响应 将服务由另外的服务器继续提供支持 响应度量 15s内完成服务的转移  可修改性 刺激源  开发人员 刺激  更改商品搜索算法 环境  正常运行 制品  淘宝网 响应  后台处理数据的算法优化 响应度量  搜索商品的范围精确度提高30%  性能 刺激源  浏览用户 刺激  节日购物 环境  正常运行 制品  服务器处理系统 响应  对订单交易处理

作业05-XX系统设计的质量属性战术

XX系统的质量属性战术 一.可用性战术 当系统不再提供与其规范一致的服务时,故障就发生了:该系统的用户可以观察到这个故障.错误可能会导致故障的发生.可用性战术将会阻止错误发展成故障,至少能够把错误的影响限制在一定范围内,从而使修复成为可能. 1.错误检测:命令/响应:心跳(dead man 计时器):异常: 2.错误恢复-检测和修复:表决:主动冗余(热重启):被动冗余(暖重启/双冗余/三冗余):备件: 3.错误恢复-重新引入:shadow操作:状态再同步:检查点/回滚 4.错误预防:从服务中删除

基于Yii2的医院信息管理系统的质量属性

软件质量的好坏,不仅要看系统是否满足客户的功能性要求,也要看其是否满足客户的非功能性要求,系统非功能性用质量属性来描述.在软件体系结构设计中,相关的系统质量属性有可用性.可修改性.性能.安全性.可测试性和易用性,所以基于yii的医院信息管理系统应该满足可用性.可修改性.性能.安全性.可测试性和易用性.下面就以这六个质量属性通过场景来分析系统的质量属性. 1.可用性分析: 可用性是指系统能够正常运行的时间比例.它常用两次故障之间的时间长度或出现故障时系统能够回复正常的速度来表示. 场景部分 值 刺

软件架构---质量属性(二)

一般情况下,质量属性可分为三类,系统的质量属性,商业属性,概念属性. 这里主要讨论的是系统的质量属性,可用性,可修改性,性能,安全性,可测试性和易用性. 1.可用性Availability 可用性是指系统掩盖或修复故障的能力,使得累积的服务中断时间不超过规定时间间隔内的所要求的值 当一个系统不再提供其规格说明中所声明的服务时,我们就认为其出了故障,即出现了可用性问题 通常情况下,我们以下面这个公式来量化可用性: α =  MTBF/(MTBF+MTTR) MTBF:平均正常工作时间 MTTR:平

基于框架的应用系统开发的质量属性

基于框架的应用系统开发(以你开发的系统为原型)的质量属性 质量属性分别有: 可用性(Availability)的战术 可用性是指系统正常运行时间的比例,可用性关注的问题有:如何检测故障.发生故障的频度.出现故障时的现象.系统故障排除的时限.如何防止故障的发生.发生故障时的处理: 可修改性(Modifiability)的战术 性能(Performance)的战术 安全性(Security)的战术 易用性(Usability)的战术 可测试性(Testability)

基于SSH框架的在线考勤系统开发的质量属性

我要开发的是一个基于SSH框架的在线考勤系统,在系统中常见的质量属性有:可用性.可修改性.性能.安全性.易用性. 可用性方面: 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的.实现可用性的战术分为三类:错误检测(用来检测故障的健康监视).错误恢复(检测到故障时的恢复).错误预防(阻止错误演变为故障).用于检测错误的3个战术是: 信号/响应.心跳.异常.用于错误恢复的战术有7种:表决.主动冗余.被动冗余.备件.shadow操作.状态再