常见质量属性

1.性能

性能就是一个东西有多快,通常指响应时间或延迟。

响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮

延迟:消息从A点到B点,通过你的系统所用的时间。

就算构建的不是“高性能”软件系统,性能也可应用于Web应用系统、桌面应用系统、面向服务架构、消息系统等几乎所有你要构建的软件系统。

2.可用性

可用性是软件对服务请求的可操作和可见程度。你常会看到用“9”来衡量或指代可用性,如99.99%(四个9)或99.999%(五个9)。这些数字指的是正常运行时间的百分比。另一边是可以容忍的停机时间。99.9%(三个9)的正常运行时间意味着留给计划维护、升级和意外故障的时间每天只有1分多钟。

衡量可用性的数学指标如下:

- 服务平均无故障时间 MTBF(Mean Time Between Failure)

- 服务平均恢复时间 MTTR(Mean Time To Restoration)

- 可用性 = ( MTBF / (MTBF + MTTR)) * 100%

3.安全性

安全性涵盖了从认证和授权到数据在运输和存储中的机密性的所有事情。和性能一样,安全性很有可能在一定程度上对你很重要。对于部署到互联网的web应用程序,安全性应该被视为最基础的东西。开放Web应用程序安全项目(OWASP中文站, Open Web Application Security Project)是学习安全性的一个很好的出发点。

4.可维护性

可维护性往往被认为是一个需求。作为软件开发者,我们通常会努力打造“可维护”的软件,但值得我们思考的是,代码库以后将由谁维护。可维护性很难量化,所以应该认真思考我们可以遵循的架构和开发原则(架构规范和代码规范),因为这些是编写可维护代码的驱动。

5.可测试性

指通过测试揭示软件缺陷的难易程度。

特别地,假设软件中至少有一个错误,软件在下次测试运行时不能正常工作的可能性。

可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。

6.易用性

关注的是对用户来说完成某个期望任务的难易程度。

分为以下几个方面:

有效性、错误避免及错误处理、用户自信和满意度、可学习性。

网上商城是运用ssh开发技术搭建的一个动态的网上商城的电子商务网站。它是在windows系统环境下,以SQL  Server数据库开发平台,Apache网络信息服务器,采用struts+spring+hibernate技术开发的网上购物系统。

网上商城需要多个动态网页之间进行连接,struts2提供了支持多种表现层次技术,如jsp,freeMarker等。而且struts2的输入校验可以指定方法进行校验。当Web浏览器请求一个资源时,过滤器Dispatcher查找方法,确定适当的Action。拦截器自动对请求应用通用功能,如验证和文件上传操作。Action的execute方法通常用来存储和重新获得信息。结果被返回到浏览器。Struts2提供了数据校验,Action 继承了 ActionSupport 类 ,而该类实现了 Action 、Validateable 、 ValidationAware 、TextProvider、LocaleProviderSerializable 接口。

在Validateable 接口定义了一个 validate() 方法 , 在用户自定义 Action 类中重写该方法就可以实现验证功能。这样保证了合法用户的正常使用,而非法用户将会被拦截,从而实现了系统质量属性中的安全性。

网上商城最主要的就是对数据库的操作。由于产品类型比较多,所用到的sql语句也是比较多的,如果用一般的数据库连接方式会比较繁琐。而Hibernate则对JDBC进行了封装。我们不用操作数据,直接操作它就行了。Hibernate是一个开源的ORM框架,它的作用就是在关系型数据库和对象之间做了一个映射。从对象映射到关系,再从关系映射到对象这样,我们在操作数据库的时候,不需要再去和复杂的SQL语句打交道,只要像操作对象一样操作它就可以了。因为hibernate做了持久层的封装,你就不知道数据库,你写的所有的代码都具有可复用性。因此hibernate有移植性。这也实现了质量属性中的可移植性和可重用性。

网上商城需要的操作很多,同时也需要实例化较多的对象,这无疑增加了代码量。所以在这部分使用了spring框架。Spring中的IoC控制反转机制,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。service层要用dao层对象需要配置到xml配置文件中,至于对象是怎么创建的,关系是怎么组合的都交给了spring框架去实现。使用IoC容器更加容易组合对象直接间关系,面向接口编程,降低耦合。Aop可以更加容易的进行功能扩展,遵循ocp开发原则。也同时实现了质量属性中的可修改性。

在网站界面设计时,参考了京东,淘宝等网站,界面都是用户大多熟悉的,方便用户操作。后台界面使用了侧栏菜单,便于用户使用。这方面很好的实现了质量属性的易用性和可用性。

使用SSH框架,可以对用户的输入进行校验,从而保证数据的正确性,避免错误。在界面设计时,添加了很多css文件,使界面的效果更加美观,符合用户的日常使用习惯。在安全性方面,除了对用户的登录有身份的验证,在数据库中同时也对用户的密码进行了加密,保证了数据的机密性。在注册时,有对手机号码和电子邮箱地址的验证,保证了数据的真实性和完整性。

基于J2EE的Web应用以其层次性、平台无关性的优势已经逐渐成为了电子商务、电子政务、各大型门户网站主要的解决方案。

基于SSH框架的网上商城的质量属性的更多相关文章

  1. 基于SSH框架的网上书店系统开发的质量属性

    基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...

  2. 实现基于SSH的门票管理系统开发的质量属性

    我要做的是一个基于SSH的门票售卖系统,在系统中常见的质量属性有:可用性.可修改性.性能.安全性.易用性. 可用性方面: 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况 ...

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

    我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误 ...

  4. 如何实现基于ssh框架的投票系统的的质量属性

    如何实现基于ssh框架的投票系统的的质量属性: 项目 :网上考试系统 我做的是网上考试系统,因为标准化的考试越来越重要,而通过计算机进行标准化判卷,系统会自动判卷出成绩,组织考试的人不用组织人员打印试 ...

  5. 基于SSH框架的学生选课质量属性分析

    系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...

  6. 基于SSH框架的学生公寓管理系统的质量属性

    系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...

  7. 基于ssh框架的在线考试系统开发的质量属性

    我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...

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

    我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...

  9. 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现

    基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...

随机推荐

  1. eclipse启动优化,终于不那么卡了!

    eclipse启动优化,终于不那么卡了! 网上找了好多都是myEclipse的优化的,跟eclipse有点区别,找了很多方法还是不能让这个eclipse(Version: Kepler Release ...

  2. NYOJ----776删除元素

    删除元素 时间限制:1000 ms  |  内存限制:65535 KB 描述 题意很简单,给一个长度为n的序列,问至少删除序列中多少个数,使得删除后的序列中的最大值<= 2*最小值 输入 多组测 ...

  3. HTML 学习笔记 JQuery(DOM 操作)

    一般来说,DOM操作分为三个方面,即:DOM Core(核心), HTML_DOM 和 CSS_DOM. 1.DOM Core DOM Core 并不专属于JavaScript,任何一种支持DOM的程 ...

  4. c# MongoDB 经纬度应用示例

    class Program      {          static string mongodb = "mongodb://127.0.0.1:27017";        ...

  5. [LeetCode] Expression Add Operators 表达式增加操作符

    Given a string that contains only digits 0-9 and a target value, return all possibilities to add ope ...

  6. 以.net core重构原有.net framework过程中的一些API变更记录(持续更新)

    1)Type.IsGenericType类似属性变更 以下是.net framework 4.5中Type抽象类中泛型类型的几个个属性,用于泛型类型的相关信息判断: 以下是.net core(nets ...

  7. Mysql 中文乱码(Navicat for MySQL)

    在使用Navicat for MySQL查看插入数据库的数据时,发现中文显示为乱码.搞了好久,理清思路如下: 确定mysql本身编码设置为utf8(也可以为gbk gb2312等) 用Navicat ...

  8. 数据结构作业——expectation(树形dp+dfs)

    expectation Description 给出一棵带权值的树,我们假设从某个节点出发,到目标节点的时间为两个节点之间的最短路.由于出发节点不好选取,所以选在每个节点都有一定的概率,现在我们要求从 ...

  9. thinkphp 3.2.3 动态修改conf配置文件

    thinkphp 3.2.3 的C()方法能修改配置文件,但是是动态修改的,没有真正的更改文件. 我查了网上网友分享的方法,都不怎么合适,我就自己摸索写了一个,配置写到text.php中,我的目录如下 ...

  10. <<编程之美>>1.2读后有感

    问题提出 中国象棋的"将","帅"问题,他俩不能在一条直线上.求出他们的合法位置,并且只能用一个变量. 分析 一头雾水,不明所以.往下看了下,感觉像是程序员为难 ...