zoukankan      html  css  js  c++  java
  • 基于框架的图书管理系统开发的质量属性

    系统:图书管理系统

    框架:SSH框架

    主创人员:张欢龙

      此篇博文是基于上一篇博文而来,深一层次谈谈系统开发的质量属性。首先先来明确一下“质量属相”是什么?一个系统的好坏有两个方面决定一方面是系统的功能属性,另一方面就是系统的质量属性,质量属相讲的是一些客户潜在的非功能性的需求。质量属相的度量通常从以下几个方面:可用性、可修改性、性能、安全性、可测试性和易用性等几个方面:

          接下来我们分别从这几个方面入手谈谈我所开发的《图书管理系统》在应用SSH框架前后的对比分析:

      1.可用性

          可用性是度量所开发的系统好坏的一个重要指标,对于可用性官方一点的解释是这样说的:可用性是在某个考察时间,系统能够正常运行的概率或时间占有率期望值。考察时间为指定瞬间,则称瞬时可用性;考察时间为指定时段,则称时段可用性;考察时 间为连续使用期间的任一时刻,则称固有可用性。它是衡量设备在投入使用后实际使用的效能,是设备或系统的可靠性、可维护性和维护支持性的综合特性。其实呢,概括的说一下,就是用户是不是觉得软件用的舒服。软件的可用性更多的是针对用户的主观感受而言的。

          总的来说,要提高软件的可用性,需要从细节的地方入手,优化系统的操作流程,合适安排系统功能的设置,页面的布局搭配等。自认为系统的质量属相的中的可用性的实现与框架的选择关系不如可修改性、性能等方面的联系密切,如果观点荒谬,敬请斧正。

    2.可修改性

          可修改性是对于应用的架构所作的修改的容易程度。可修改性能够被进一步分解为在下面所描述的可进化性、可扩展性、可定制性、可配置性和可重用性。要使程序可修改、易于维护、易于扩展,降低程序模块之间的耦合度是关键。SSH框架中的Spring的优点正在于此,Spring的控制反转思想(IOC),使我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。综上所述,使用框架开发有利于提高宿舍管理系统的可修改性。

    3.性能

          软件性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。软件想能的度量指标有响应时间、系统响应时间和应用延迟时间、吞吐量、并发用户数、资源利用率等。前方高能,对于这几个指标同学们都已经很熟悉了,但是我想特意强调一下响应时间、系统响应时间和应用延迟时间的关系。虽然用户看到的响应时间是使用特定客户端计算机上的特定浏览器浏览该网站的响应时间,但是在讨论软件性能时更关心所开发网站软件本身的“响应时间”。也就 是说,可以把用户感受到的响应时间划分为“呈现时间”和“系统响应时间”,前者是指客户端的浏览器在接收到网站数据时呈现页面所需的时间,而后者是指客户 端接收到用户请求到客户端接收到服务器发来的数据所需的时间。理清关系更有助于加深理解!

          所以要提高图书管理系统的性能,我们要为我们开发的系统设定相应的系统响应时间标准。网页全部加载完成应在0~3秒,执行复杂的搜索应在10秒内完成等等。提高系统的性能需要我们从编程的细节入手,养成良好的编程习惯注意释放不需要的内存空间,消除软件对空间和时间不必要的浪费。

    4.安全性

          为防止把计算机内的机密文件泄露给无关的用户,必须采取某种安全保密措施,这些措施的有效程序如何就称为计算机系统的安全性或保密性。对于我开发的图书管理系统软件的安全性主要涉及以下几个方面:

         ① 明确区分系统中不同用户角色,不同的角色分配不同的权限。

         ② 用户登陆密码不可见、不可复制,存入本地浏览器的用户信息要经过加密,不能明文存储,设置安全退出。

         ③ 避免通过网址复制的方式登陆系统。

         ④ 用户推出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统。

           ⑤ 数据库进行自动备份设置,完整备份,差异备份相结合。  

     5.可测试性

          软件的可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。软件可测试性就是一个计算机程序能够被测试的容易程度。

    通常情形下,测试难以进行由以下几方面原因导致:  

    ①被测试对象需要传入的参数过多

    ②被测对象过多的调用了其他类或方法。

    ③内部的逻辑判断过多。

    ④需要构造的作为参数的对象本身国语复杂。

    ⑤和页面显示部分交互过于频繁。

          所以,在开发之前需要事先做好设计规划工作,采用框架解耦,本着单一职责原则设计类和方法。同时要将页面显示部分和显示控制部分分离。例如采用html+JavaScript的方法代替jsp页面。

    6.易用性

          易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的。易用性和可用性存在一定的区别,可用性是指是否可以使用,而易用性是指是否方便使用。

    提高软件易用性要本着如下原则:

    ①用户的注意力是有限的资源

    ②添加的任何一项功能都将有可能是用户找到另外一项功能的绊脚石

    ③如果必须添加一些功能,试图替换掉另外一项功能

    ④经常需要为了一些功能的易用性牺牲另外一些功能

    纸上得来终觉浅,少年,编程去吧!  

  • 相关阅读:
    Exadata 上关于SAS盘的小秘密
    Python 全栈开发:python循环语句while
    Python 全栈开发:python条件语句if..else..
    Python 全栈开发:python基础
    Python 全栈开发:python初识
    计算机基础(简单了解)
    如何计算网络配置中广播域和冲突域的数目?
    使VS开发的程序在Win7系统运行时自动提升权限
    在程序中通过Process启动外部exe的方法及注意事项
    获取指定目录下多种格式的文件
  • 原文地址:https://www.cnblogs.com/bdqczhl/p/5493174.html
Copyright © 2011-2022 走看看