SSH网上答题系统质量属性

  我要做的事网上答题系统,通过注册登录到答题页面。

  这其中数据库的连接靠Hibernate,数据库的增删改查用Sruts2实现。

  关于Struts2的学习,仅仅在action的表面上,可以在action里写一些代码,做一些数据处理,而关于struts2的深层的学习还在进行中,这个学习的过程真的很漫长。对于那些老师没有讲过的东西自己学起来真的很慢,很难。

  软件需求分析的另一个任务是定义软件的质量属性。对用户来说,重要的质量属性包括有效性、高效性、灵活性、安全性、互操作性、可靠性、健壮性和易用性等,对开发者来说重要的质量属性包括可维护性、可移植性、可复用性、可测试性和可理解性等。在实际项目中,定量地描述用户期望的质量属性是很重要的。质量属性是很难定义的,并且他们经常造成开发者设计的产品和客户满意的产品之间的差异。就像Robecharene(1990)指出的那样:“真正的现实系统中,在决定系统的成功或失败的因素中,满足非功能需求往往比满足功能需求更为重要。”为此,讨论分析如下:

  1.有效性

  用户注册,用户登录,用户选择下一题,用户提交,给出答案响应时间的系统的有效性达到90%以上。

  2.高效性

  系统效率主要在于对题目结果进行判断上,有两种方式:第一:答出一道题目进行一次判断,第二:提交答案后统一对题目进行答案校验,给出成绩。感觉前者在效率上还是比较高的,毕竟一道题一道题在数据库里校验答案时间比较分散,但是耽误用户答题的时间。后者在最后统一校验答案,需要用户等待一个反应时间。

  3.灵活性

  灵活性反映的是在软件中添加新功能时所需要的工作量。当用户要求灵活性时,会迫使开发者考虑系统今后的扩充问题。这里我们给出一个描述灵活性需求的例子:“在库存管理系统中,一个具有6个月以上开发经验的软件维护人员能够在4个小时之内为系统添加一个统计报表,并且这个统计报表的数据项不超过20项,所涉及的数据库表不超过5个。”用这种非常量化的招标要求系统的灵活性,设计人员在设计系统时就会考虑如何实现灵活性需求。   
  4.安全性

  本系统一共涉及到两种身份。一为普通用户,注册登录答题,一为管理员,对题目信息、用户信息进行管理。只有管理员才有权限登录到后台。

  5.互操作性  

  用户登录后进入答题首页,首页显示欢迎+用户名,然后将一定的题目展示给用户,用户提交后,产生答题结果和成绩,并将成绩记录到用户信息。 

  6.易用性

  美观的注册、登陆页面,登录到页面后即可答题,然后下一题,下一题最后提交。没有任何的操作难度。
  7.可维护性

  本系统的可维护性极高,Hibernate连数据库,对数据库的访问极其方便。对数据的处理都在servlet中实现,将界面和控制完全的分离。

  8.可移植性

  本系统为web版,使用任何浏览器。数据库为Sqlserver,连接方式为Hibernate,连接性能绝对极佳。

  9.可测试性
  它是指测试软件组件或集成产品时查找缺陷的难易程度。如果软件中包含复杂的算法和处理逻辑,或者使用了复杂的数据结构,或者功能模块间的关系复杂,则可测试性的设计尤为重要。对于经常更改的软件,其也是相当重要的。定量的可测试性需求描述的例子是:“一个模块的最大循环复杂度不能超过20。”因为经常对产品进行回归测试来判断更改是否破坏了现有的功能,因为随着图形引擎功能的不断增强我们需要对它进行多次测试,所以做出了如上的设计目标。循环复杂度是衡量—。个模块源代码中逻辑分支数目的参数,一个模块中的逻辑分支过多会影响可测试性。

   刺激源:如今网络技术越来越发达,足不出户便可实现网上考试,用户对网上答题的需要,驾照科目一,科目四考试。

     刺激:用户实名注册,登陆,答题。

     环境:用户登陆本系统(允许大量用户同时登陆),进行考试,模拟考试。

     制品:考生提交答卷后,系统自动校对答案,并给出成绩。

     响应:当用户数量达到上限时,要求用户排队,当成绩信息出错或丢失时,报告给用户,要求重新考试。

     响应度量:熊可用时间间隔 

 架构的质量属性

 

   a概念完成性:首先系统阿噶爱可以分三层,第一:用户注册登录,第二:用户答题并提交,第三:给出成绩。

 

   b正确性和完整性:架构能够满足系统的各种需求以及运行时的资源要求的必要条件。

 

   c可构建性:系统结构简单,有一个人可以完成,只是时间问题,如果开发,大约一周时间可以。

 目前真在进行Spring的学习,当Spring拿下后系统的完成也就快了。

 

posted @ 2016-05-14 20:27  非非是  阅读(337)  评论(0编辑  收藏  举报