根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架;Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到数据表之间的映射,是优秀的ORM框架;Spring为企业应用提供了轻量级的解决方案:它的Ioc容器,AOP思想,以它为核心,整合持久层框架和Web MVC框架。通过三个框架的整合,可以构建可扩展、可复用、可移植、可维护的软件系统。其中可扩展、可复用、可移植、可维护的等等这些形容词是我们用来评判一个系统好坏的,也就是形容系统的质量。系统的质量是指系统满足指定需求或用户需求及期望的程度,质量属性是指影响系统质量的相关因素,是对质量的描述。

常见的6个质量属性有可用性(Availability)可修改性(Modifiability)性能(Performance)安全性(Security)可测试性(Testability)易用性(Usability),其他质量属性有可移植性、可重用性、可集成性等。下面从几个质量属性的概念和实现上来讨论网上书店系统。

(1)可用性:可用性是指系统正常运行时间的比例,通过两次故障之间的时间长度或在系统崩溃的情况下能够恢复正常运行速度来衡量的。

可用性=平均正常工作时间/(平均正常工作时间+平均修复时间)*100%。

  • 本系统的可用性主要体现在系统的响应时间与内存使用量上:忽略网络环境因素及功能插件运作的因素,以本地测试为准,测试和控制数据库安装响应时间、前台浏览响应时间、后台操作响应时间。对于实现网上书店的项目的可用性,首先应该尽量规避错误,规避错误的实现首先是系统要编码规范,ssh架构设计上要简单易行,框架清晰,避免冗余。其中Struts是整体的框架,在Struts.xml文件中设计整体的包、jsp和类的整体结构,为系统的代码实现作铺垫。其次容器通过数据库连接池解决获取数据库连接的耗时问题和连接数有限的问题,提高了系统的可用性。再者系统设计时要增加一些错误提示机制,一旦发生错误,系统应立即报错且界面应出现友好性提示。

(2)可修改性关注于可以修改什么,何时以及谁进行修改。

  • 对于网上书店系统来说,应该可以修改图书的属性,即图书的名称,价格等,这种情况下需要管理员进行操作。还有用户的登录密码的可修改性。系统的可修改性主要体现在堆数据库数据的修改操作上,也就是说通过Hibernate实现的表的映射,尽量不直接在代码上进行数据操作。再者,因为ssh将界面和后台分离开来,所以对界面的修改和优化更加方便。

(3)性能是指系统的响应能力--即对外部刺激(事件)做出反应所需要的时间或在某段时间内所处理的事件个数。一般用等待时间、处理期限、系统吞吐量、响应抖动(等待时间变化)、未处理事件(由于系统太忙无法响应)、丢失数据(由于系统太忙)等指标。

  • 系统在设计和开发的时候,首先充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户的需求。对于网上书店系统来说查询功能对整个系统处理的准确性和及时性有着很大的影响。还可以使用InProc模式的Session来提高速率。

(4)安全性是衡量系统在向合法用户正常提供服务的情况下,组织非授权使用的能力。控制以未经授权试图访问数据或服务、修改数据、使用系统拒绝向合法用户提供的服务等攻击。

  • 后台的界面访问、路径访问、操作执行的前后,均受登陆会话管理和用户权限管理的控制。只有符合条件和身份的用户才能进入相应的操作界面。不同的用户对应不同的权限。密码进行加密处理等。

(5)可测试性指通过测试揭示软件缺陷的难易程度。

  • 首先使用ssh框架,在整体的架构上是很清楚的,测试时通过Struts.xml可以了解整体结构,有利于测试和修改错误;前台用户根据自己的需要浏览站内图书,后台数据库根据匹配到的信息,输出数据到用户浏览器,前台用户下订单或者进行信息的修改维护的时候,系统根据响应的处理将结果同步到数据库,并将处理结果显示到前台界面上。清晰地流程和操作步骤也充分体现了可测试性。

(6)易用性关注的是对用户来说完成某个期望任务的难易程度。分为有效性,错误避免及错误处理,用户自信和满意度,可学习性。

  • 网上书店系统的使用主要是针对普通用户,普通用户可能对于系统的操作不能理解整体流程,所以系统应该有良好的人机交互界面,采用用户熟悉的术语和中文信息界面。界面采用css和js技术和部分html标签进行美化,在开始界面提供帮助功能等。

(7)其他质量属性

  • 系统在开发过程中还要考虑以后的可扩充性,使用ssh模式也是为了使系统有更好的扩充性,比如用户的需求增加需要对系统进行功能增加,只要符合一定的规范,就可以进行简单的添加和减少模块,配置系统的硬件。通过软件的修补,替换进行软件的升级。
  • 同时也要考虑系统的标准性,系统开发设计中设计到很多的计算机硬件,软件,要符合国家和行业标准,比如TCP/IP的网络协议和ISO标准要求的质量规范等,开发系统时,要指定一定的软件工程规范,保证代码的易读性,可操作性和可移植性。

总结:在设计和编写程序的时候,注意使用ssh的特点即优点,比如数据库连接池,springd的ICO反转控制和依赖注入就在一定程度上减少了系统的耦合度,提高了系统的性能。

基于ssh框架开发的购物系统的质量属性的更多相关文章

  1. SSH框架开发蛋糕房管理系统之质量属性

    SSH框架开发蛋糕房管理系统之质量属性 我要开发的系统是基于ssh框架的蛋糕房管理系统.本系统前台提供的主要功能是在线预定蛋糕,本店管理员拥有最高权限,包括收银管理,设备管理,日常销售管理,蛋糕定制管 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. .NET LINQ 相等运算

    相等运算      如果两个序列的对应元素相等且这两个序列具有相同数量的元素,则视这两个序列相等. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 Seq ...

  2. Centos7 安装配置Mysql

    Centos7默认自带的mariadb数据库,它是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL ...

  3. 工欲善其事-Maven介绍与使用

    Maven是什么? Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在 ...

  4. 【Cocos2d-x for WP8 学习整理】(3)CCScrollView 实现捕鱼达人一样的场景选择界面

    UI 界面一般是游戏里比较独立的地方,因为游戏引擎一般都比较注意基础的功能封装,很少会关注UI,但是 UI 确是玩家第一眼看到的效果,因此能否实现一个美观的UI对于提升游戏的整体美观有着很大的帮助. ...

  5. Hadoop学习笔记(1) 初识Hadoop

    1. Hadoop提供了一个可靠的共享存储和分析系统.HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心. 2. MapReduce是一个批量查询处理器,并且它能够在合理 ...

  6. SSM框架整合首只拦路虎——Eclipse新建Maven Project界面select an archetype 空白

    首先给大家说,本篇博客没有技术价值,纯属个人学习总结,权当给大家添加一乐.事件如有雷同,纯属巧合,莫怪! 前一段时间一直在看<淘淘商城>这个教程,里面讲的是SSM框架的一个电商项目.这不是 ...

  7. winform listview控件、容器控件

    ListVies控件主要用于展示数据 常用属性: FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) GridLines:设置行和列之间是否显示网格线. ...

  8. SQL性能学习汇总 00

    .在一条语句中不要重复使用相同的函数 .尽可能在存储过程中使用临时变量和临时表 如 IF (Object_ID('tempdb..#T') IS NOT NULL) DROP TABLE #T SEL ...

  9. hdu2196 树形dp

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2196 Problem Description A school bought the fi ...

  10. a pity

    机会只眷顾有准备且自信的人,此生谨记. ——Charles Hsu 2014-09-04