我要开发的是一个基于SSH框架的在线考勤系统。

  质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属性。

可用性:

  可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。可用性关注的问题有:如何检测故障?发生故障的频度?出现故障时的现象?系统故障排除的时限?如何防止故障的发生?发生故障时的处理?

  我采用的可用性战术有:

  • 错误检测(用来检测故障的健康监视),用于检测错误的3个战术是:信号/响应、心跳、异常。

    我的对策:

      在可能会抛出异常的代码段中使用良好的try{……} catch{……}语句包围。

      将错误在语义上转换为可以被处理的形式。

      定义标记变量,定时检查标记变量的值(true/false),来判断是否出现了错误。

  • 错误恢复(检测到故障时的恢复),用于错误恢复的战术有7种:表决,主动冗余,被动冗余,备件,shadow操作,状态再同步,检查点/回滚。

        我的对策:

      定期备份数据库和日志。

      定期检查日志是否有错误。

  • 错误预防(阻止错误演变为故障),用于错误预防的战术有3种:从服务中删除,事务,进程监视器。

    我的对策:

      操作数据库的时候使用事务操作,保证数据的一致性。

易用性:

  易用性是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。易用性包含易理解性、易学习性和易操作性。

  易理解性:指用户认识软件的结构、功能、逻辑、概念、应用范围、接口等的难易程度。

  易学习性:指用户学习软件应用(运行控制、输入、输出)的难易程度。

  易操作性:指用户操作和运行控制软件的难易程度。

  我采用的易用性战术有:

  • 运行时战术(一旦系统执行,就可以通过为用户提供关于系统正在做什么的反馈,以及为用户提供发出基于易用性命令的能力来增强易用性)

    我的对策:

      功能名称、图标、提示信息等应该直接明了,没有歧义,让用户一看就知道是干什么的,而不是猜测其作用。

      保持页面的风格是一致的,要求用户进入操作界面后一目了然,能很直观容易的找到自己要使用的功能菜单,方便的完成操作。

      人机界面友好、界面设计科学合理以及操作简单,合理的默认值和可选项的预先设定,避免了过多的手工操作。

     操作或处理错误的提示信息明确。

  • 设计时战术(提供对当前用户接口设计的修改)

    我的对策:

      将用户接口与应用的其余部分分离开来。

可修改性:

  可修改性是指实现、测试和部署变更的难易程度。我们要控制实现、测试和部署变更的时间和成本。

  我采用的可修改性战术有:

  • 局部化修改(减少由某个变更直接影响的模块的数量),其战术有:维持语义的一致性,预计期望的变更,泛化模块,限制可能的选择。

    我的对策:

      定义相应的POJO类,实现对象结构的统一。

      维持语义的一致性,意义相同的属性采用同一变量名。

  • 防止连锁反应(限制对局部化的模块的修改),其战术有:信息隐藏,维持现有的接口,添加接口,添加适配器,提供一个占位程序A,限制通信路径,仲裁者的使用。

    我的对策:

      外界不需要使用的属性定义为 private,对外界透明,起到了信息隐蔽的作用。

  • 推迟绑定时间(控制部署时间和成本), 推迟绑定时间可以支持部署时间和允许非开发人员进行修改这两个场景,但需要额外的基础结构来支持后期绑定。

性能:

  性能是指系统的响应能力——即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。影响性能的因素:事件源的数量和到达模式。一般用等待时间、处理期限、系统吞吐量、响应抖动(等待时间的变化)、未处理事件(由于系统太忙无法响应)、丢失数据(由于系统太忙)等指标了解系统性能。
  性能战术的目标就是对在一定的时间限制内到达系统的事件生成一个响应。就是要控制生成响应的时间。
  影响响应时间的两个因素:资源消耗(每个事件都要经过一定的处理序列;某种形式的数据转换;根据某个算法进行处理),闭锁时间(由于资源争用、资源不可用或长时间计算导致事件无法处理,这时指计算机可能等待的时间)。
  我采用的性能战术有:
  • 资源需求

    我的对策:

      提高计算效率,减少计算开销。

      管理事件率,控制采样频率。

      限制执行时间,限制队列的大小。

  • 资源管理

    我的对策:

      引入并发,维持数据或计算的多个副本,增加可用资源。

  • 资源仲裁
    我的对策:
      合理的调度资源。
      减少处理一个事件流所需要的资源,采用 hibernate 框架对数据库进行增删查改操作。
安全性:
  我采用的安全性战术有:
  • 抵抗攻击

    我的对策:

      对用户进行身份验证。

      对用户进行授权。

      维护数据的机密性:对传输数据进行加密。

      维护完整性:对数据提供检验。

      限制暴露的信息。

      限制访问。

  • 检测攻击

    我的对策:

      监控用户和系统的活动。

      查找非法用户和合法用户的越权操作。

      检测系统配置的正确性和安全漏洞。

      评估关键系统和数据的完整性。

      识别攻击的活动模式并向网管人员报警。

      对用户的非正常活动进行统计分析,发现入侵行为的规律。

      操作系统审计跟踪管理,识别违规的用户活动。

      检查系统程序和数据的一致性与正确性。

  • 攻击恢复

    我的对策:

      对密码、访问控制列表和用户资料数据进行冗余。

      应用到系统中的数据的所有事务和识别信息的一个副本,可以使用它来识别攻击者的操作,支持认可和系统恢复。

可测试性:

  可测试性允许在完成软件开发的一个增量后,较轻松地对软件进行测试。

  我采用的可测试性战术有:

  • 记录/回放(捕获跨接口的信息,并将其作为测试专用软件的输入)
  • 接口与实现分离(占位实现允许在缺少被占位组件时,对系统的剩余部分进行测试)
  • 特化访问路线/接口(允许通过测试工具并独立于其正常操作,来捕获或指定组件变量的值)
  • 内部监视(组件可以根据内部状态实现战术,以支持测试过程)

转载于:https://www.cnblogs.com/BUANG/p/5493107.html

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

  1. SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码221604

    基于Vue框架的在线投票系统的设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了 ...

  2. SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码

    基于Vue框架的在线投票系统的设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了 ...

  3. 基于SSH架构的在线答疑系统

    摘要 答疑是教学一个重要环节,在传统的教学模式下,答疑通常是通过老师和学生面对面进行交流,此模式使得答疑在实际教学难以执行.而网络教学模式就打破了传统模式在时间和空间上的限制,同学们可以自主安排时间和 ...

  4. 基于SSH框架的学生考试系统(注意看文档目录)

    基于SSH框架的学生考试系统 (1).先看一下我的目录结构 (2).还有jsp文件目录 (3).代码:(对应文件目录) 1.1 package com.ischoolbar.programmer.ac ...

  5. 计算机毕业设计-基于SSH的医院在线挂号系统源代码和论文

    医院挂号系统主要用于实现医院的挂号,前台基本功能包括:用户注册.用户登录.医院查询.挂号.取消挂号.修改个人信息.退出等. 后台基本功能包括:系统管理员登录.医院管理.科室管理.公告管理.退出系统等. ...

  6. 基于Vue框架的在线投票系统的设计与实现毕业设计-附源码221604

    摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了管理繁琐.难以维护等问题,如今使用计算机对 ...

  7. 基于SSH实现医院在线挂号系统

    项目编号:BS-YL-002 本系统基于SSH框架实现开发,数据库采用MYSQL,开发工具采用IDEA或ECLIPSE. 系统分两个角色:系统管理员和前端用户.前台用户可以实现注册,医生查询挂号,公告 ...

  8. Java、JSP基于SSH网上体育用品销售系统开发与设计

    随着我国经济的快速发展,科学技术也有了很大发展,目前计算机网络已经成为人们日常生活中必不可少的一部分.当然,网络的广泛使用以及信息技术的快速发展也造就了人们在网络上的物品交换.例如,淘宝,京东等互联网 ...

  9. 基于ASP.NET的在线论坛系统开发

    一.前言 本系统开发语言为C#,数据库为SQL Server,开发环境为VS2010.主要功能是为用户提供了一个发布信息和讨论问题的平台,用户分为三个级别,对应不同的操作权限.基础操作为浏览.发表.删 ...

最新文章

  1. LeetCode简单题之好对数的数目
  2. iOS网络编程-iCloud键值数据存储编程实例
  3. 项望烽:移动IM开发那些事儿
  4. linux有关网络服务的接口,linux系统有关网络服务接口定义是哪个?
  5. linux驱动read函数 copytouser,Linux驱动编程 step-by-step (五)主要的文件操作方法实现...
  6. uniapp动态修改样式_掌握Photoshop图层样式技术
  7. 机器学习爬大树之决策树(ID3,C4.5)
  8. 华为P50渲染图曝光:后背丑哭?
  9. fgetcsv php,PHP - fgetcsv - 分隔符被忽略?
  10. 11-4 12 Nginx安装 默认虚拟主机 用户认证 域名重定向
  11. NOIP模拟测试25
  12. my new start
  13. 手机号码归属地 mysql_最新全国手机号码归属地信息SQLite数据库2019年2月更新
  14. 第十届“中国电机工程学会杯”全国大学生电工数学建模竞赛 B 题 全面二孩政策对我国人口结构的影响
  15. 文件 或者 图片 与 base64 之间的转换
  16. 从南极之争谈软件架构十个技巧,及成功团队具备的气质
  17. QQ txd文件解析完毕
  18. 领导问“有空吗”,老实人回“没空”被敲打,用万能话术进退自如
  19. 关于一粒云盘使用心得
  20. FabGennix丨艾美捷 细胞周期蛋白D1抗体亲和纯化

热门文章

  1. NServiceBus消息重播
  2. 突破效率边界,深度分析新医疗环境下医美机构智能化营销之道
  3. repo sync同步代码出现contains uncommitted changes
  4. Enzyme学习笔记
  5. django中save和create的区别
  6. 洛谷P1801 黑匣子
  7. 游戏room8 第六关的答案
  8. atop用法_Linux atop 命令 command not found atop 命令详解 atop 命令未找到 atop 命令安装 - CommandNotFound ⚡️ 坑否...
  9. 韩国的精美的硬件标志桌布
  10. 超级QQ客服爆笑视频--与大家分享快乐