Web、B/S模式(精选9篇)
Web、B/S模式 篇1
引言
随着计算机技术不断发展和普及, 信息系统在各类生产管理中起到了重要的作用。在B/S信息系统大行其道的今天, 传统客户端程序已不能满足实际应用需要。在WEB应用系统开发中, 打印功能的实现并不复杂, 但由于web机制的限制, 打印的结果往往会受到html脚本或版式的影响, 并不能原本的在打印机上输出, 想实现精确控制更是一件很复杂的工程。如果想在兼顾打印效果和系统共享度上想做到平衡, 就必须解决这个问题。下面我们就利用第三方打印控件的方式来详细阐述, B/S模式WEB精确打印控制技术的设计思路和实现方法。
一、两种典型WEB打印控件的技术对比
WEB打印控件种类很多, 其中两种比较具有代表性, 其一是微软公司IE浏览器自内置的Web Browser控件, 另外一种是Lodop第三方控件。对比两种控件性能发现虽然Web Browser获取和安装都比较方便, 但在打印控制上明显存在不足, 所以Lodop控件更能适应精确打印控制的技术要求。
二、控件安装和应用环境部署
⑴Lodop控件的安装。Lodop发布包内主要有两个主程序文件, 分别适用于32位和64位浏览器安装。安装后会载入CAOSOFT_WEB_PRINT_LODOP.OCX文件, 它是Lodop的功能核心。
⑵WEB开发环境的部署。Lodop控件可部署在web应用程序中, 在控件的安装程序安装完成后, 可在html、asp或aspx页面中添加引用, 并将Lodop Funcs.js文件拷贝至网站目录内。
三、WEB精确打印控制的技术思路
B/S模式下WEB精确打印控制是一项复杂的功能, 其中包括表头设计、数据后台读取、自动补间算法等一系列复杂程序。下面我们以入库单据打印为例介绍实现思路。
1. 绘制前台表格样式。
在前台用html脚本写好
并在其中用、和对表头、表内容和表尾部分分别进行标记。通过对Lodop的函数进行调用即可重复输出部分内容。需要注意的是在表格各个部分绘制时, 需要控制各部分的里添加Literal控件, 他是一个sever端控件, 作用是将html脚本直接转化为当页显示的内容。在后台代码中通过循环写入相应的行并配以样式属性和数据并赋给Literal的text属性即可。
完成数据绑定算法后, 针对换页后剩余空白部分需要填充满表格的问题还需要另外设计算法。这里我们利用之前定制好的页面大小和每行的高度进行求余运算, 其中分为三种情况:第一种打印行数*行高小于页面打印区域高度我们定义需要循环的行数为a, 在绑定数据后在其后追加a行空行即:a=pageheight/20- (dt.Rows.Count) ;第二种打印行数*行高大于页面打印区域高度a=pageheight/20- (dt.Rows.Count) % (pageheight/20) ;第三种打印行数*行高等于页面打印区域高度a=0。通过循环数据表后追加空行即可完成对页面空白部分的补间。
3. Lodop的接口调用。
我们可以通过Lodop控件对已经标注好的
的高度, 由于固定纸张的尺寸是有限的, 超出界限部分需要自动跳转到下一页打印, 所以需要掌握本页能够打印多少行, 或者打印区域的像素高度。
2. 定制后台内容自动绑定和补间算法。定义好了每页的具体高度设计后, 后台数据的绑定和自动换页后空白部分的补间算法则是我们接下来需要考虑的要点。数据内容绑定算法我们通过循环复写html脚本的形式来解决。在前台 |
进行打印输出预览, 通过在前台以jsp脚本调用ADD_PRINT_TABLE方法, 调用ADD_PRINT_TABLE方法对table进行打印输出, 超过页面部分是自动进行分页的, 不足一行会自动转到下一页打印, 这样就免去了重写分析算法。
四、应用效果
WEB精确打印控制技术在厂仓储管理信息系统开发中的到了充分的应用, 并且此项技术也在不断的更新, 还有更加实用功能值得挖掘, 通过应用集成化的单据打印控件不但在打印效果上优于以往的WEB打印, 还能为开发人员减少代码的重复书写, 缩短项目的开发周期, 也促进了软件项目开发模式的转变, 具有很好的推广价值。
摘要:本文以物资库存管理信息系统相关票据的打印为例, 对比了两种WEB打印方法的优劣, 介绍了lodop第三方打印控件的使用方法, 并提出B/S模式下WEB精确打印控制的技术思路, 并就自动分页控制问题提供了解决策略。
关键词:WEB打印,三方控件,精确控制,自动分页
参考文献
[1]石油工业数据库设计规范[M].石油工业出版社, 2005-9-1.
[2] (美) 麦克唐纳.ASP.NET 4高级程序设计 (第4版) [M].人民邮电出版社, 2011.
Web、B/S模式 篇2
摘 要:
本文介绍了利用ASP.NET 技术开发的学生体育成绩管理系统,实现了学生成绩的动态管理,使得对学生考试成绩信息的管理更加方便快速,提高了管理效率和办公效率。
关键词:
NET Framework ;体育成绩管理; B/S模式
引言
学生体育成绩管理是高校教学管理中的一项重要组成部分,是高校评估重要指标。学生成绩管理向来是一项工作量大、时间性强、易于出错且保密性强的业务。为了优化学生成绩管理,为了与国家学生体质健康数据上报软件无缝结合,设计和实现卓有成效的高校学生体育成绩管理系统尤为重要。
1.系统设计
1.1需求分析
我院自成功更名为绍兴职业技术学院以来,为了整合资源,便于统一管理,成立了体育与艺术管理中心,主要负责全院6000多名学生体育与艺术发展方面的事宜。学生成绩的考核是检验学生综合素质的有效途径,相对于其它系部的成绩考核,体育课程考核在内容与形式上都具有一定的特殊性。体育课成绩主要有三块内容构成:平时成绩、体育课教学内容考核成绩和体质健康测试成绩组成。大一和大二体育成绩构成比例又有区别,大一平时成绩20%、体育课教学内容考核40%和体质健康测试40%;大二平时成绩20%、体育课教学内容考核50%和体质健康测试30%。特别是其中体质测试成绩不仅需要有测试的数据,还需要把测试的数据换算成相对应的分数,而且要把数据上传到国家体测中心,国家体测中心虽然有相应有录入统计软件可以操作,但它录入时需要输入其它附加类别太多,给我们带来了很多不必要的工作量。
鉴于以上的困惑,为了更好的满足学院发展的需要,减轻任课教师的工作压力;更好的与国家学生体质健康数据上报软件无缝结合,开发适合我院实际情况的体育成绩管理系统已迫在眉睫。
1.2系统数据流程图
经过三个阶段的初步调研,包括基本信息来源、成绩的生成、最终的归档,在此基础上我们就可以得到系统的整体数据流程图如下图所示:
1.3数据库的设计与E-R图
经过对系统数据库的需求分析,并对系统各个实体和属体之间的关系进行了分析,我们可以对各个实体之间的关系描述如下:
一个任课老师可以教授多个体育分班,体育分班包括羽毛球分班、篮球分班、排球分班等;
每个体育分班由不同的选修学生构成;
每个学生可以进行多个体质测试项目,同时每个体质测试项目也可以被多个学生测试;
每个体育分班拥有一种体育课程的考核,比如羽毛球班测试羽毛球,所以每个学生只有一种体育课程考试成绩;
体育课程考试成绩和体质测试项目成绩是体育成绩的一部分;
一个学生每学期只能有一份体育成绩;
在分析了上述实体与属体之间的关系后,我们可以给出学生体育成绩管理系统的整体E-R图设计如下图所示:
系统采用SQL SERVER 2005数据库,主要数据表逻辑结构设计包括:
学生基本信息表主要用来存放学生的基本信息,字段主要包括学生的`学号、密码、姓名、性别、系别、健康情况、自然班级名称、体育分班等信息,考虑到体育课程的选修情况,所以把自然班级名称与体育选修班级名称区分开来设置,达到信息清楚的要求。
班级基本信息表主要用于保存体育选修班级的信息,字段主要包括学号、姓名、性别、专业、系别、自然分班名称、自然分班编号、体育分班、任课教师等信息,同样也设计了自然班级编号与体育分班编号,便于系统内查询。
体测分类大项信息表主要用于对体测分类大项的管理,每个学期我们都要对学生进行体质数据的测试,不同的学期男女生测试的项目是不同的,需要根据国家体质测试中心的安排。主要包括的字段有耐力项目、柔韧力量项目、速度灵巧项目等。
体质健康测试成绩登记表主要保存国家体质测试中心规定的项目的测试成绩,主要字段包括任课教师、年级、体育分班、学号、体重、身高体重分数、肺活量分数、耐力项目成绩、柔韧力量项目成绩、速度灵巧项目成绩等。
用户权限信息表主要保存系统三类用户的使用信息,主要字段包括用户、密码、用户类型等信息。
2.系统实现
2.1系统登陆模块
用户登陆模块的功能是实现用户登陆的身份验证,对于无效用户与密码,阻止其登陆,保证系统的安全与稳定。根据系统需求分析,我们设计了三种用户类型:管理员用户、教师用户、学生用户。不同的用户根据使用权限的不同进入的是不同的操作界面。首先打开登陆界面,选择适合的用户输入用户名与密码,如果输入正确,页面则转入不同的用户界面;输入不正确,页面将返回登陆界面。
部分登陆程序代码摘录如下:
If (StringType.StrCmp(sLeft, “1”, False) = 0) Then
Me.STShowUserLoginInfo((“登录成功,欢迎用户〖” & str7 & “进入本系统!”), “STDefault.aspx”, isOpen)
2.2成绩登记模块
成绩登记模块包括体质测试成绩登记与体育课考试成绩登记,在设计上主要用了框架结构,左框架是我们用JavaScript实现的树形控件,右框架使用DataGrid 控件与内嵌 TextBox控件来完成数据的绑定,数据的输入可以用Tab键或Enter键来移动光标,既可以手工输入,也可以用数据导入功能导入处理数据,方便用户使用。最后完成的成绩登记表可以用Excel表格形式输出,便于归档与数据上传。Excel表格输出核心代码摘录如下:
If STExcelModuleTC(dT, saveInfo, titleName, sLeft, STTName)
‘根据dT数据表内容生成Excel文件,如果成功则调用ToOpen提供下载
Then
ToOpen(saveInfo, titleName) Else
Me.LiteralScript.Text = Me.STToolAlertMessage(“系统提示您导出数据失败!”)
End If
2.3数据处理模块
数据处理主要是实现数据表格的导入说导出,导入导出的数据可以通过配置映射关系做相应的修改,数据表中的数据列就是映射表中选中的字段,两者是相关联的。这里我们可以对系统中数据表格的导出和以Excel形式输出两种方式进行对比,数据表格以Excel形式输出是不能更改表格字段的,而数据表格的导出则可以,那么我们就可以根据需要来选择相应的方式。我们对各个数据信息都设计了数据的导入导出,包括班级基本信息、教师基本信息、学生基本信息、体测成绩、体测总成绩等。以体质成绩测试导入为例,其核心代码摘录如下:
If Me.STDataSQLOpr(StrSql) = 0
‘调用公共代码STDataSQLOpr函数执行StrSql
Then
Me.LiteralScript.Text = Me.STToolAlertMessage(StrBack.Trim)
Else
StrSql = “ Delete STCjdj where InSerial = & thisserial & and InOper = & thisuser & ”
Me.STDataSQLOpr(StrSql)
Me.LiteralScript.Text = Me.STToolAlertMessage(“数据导入失败!”)
End If
导出代码与Excel输出代码相似就不重复描述。
3.总结
学院体育成绩管理系统以我院体艺中心实际需求情况为背景,采用以SQL SERVER数据库为开发技术,通过ASP.NET开发工具,有规划有步骤的分析和设计,保证了项目按时开发完成。它彻底摆脱了人工操作的传统方式,极大地提高了部门工作效率和数据的准确性。系统基本实现了使用部门的需求,学生体育成绩的登记、维护管理;能在线管理学生体育成绩、在线查询体育成绩;实现学生体育成绩及数据上报工作数字化;与国家学生体质健康数据上报软件无缝结合。特别是把学生体质测试成绩与学生体育成绩通过数据导入导出处理有机地结合起来,即可以手工输入修改,又可以通过系统来处理数据,很大程度了方便了用户的使用。学院使用部门体艺中心试用几个月来,对系统整体功能模块的实现评价非常高,同时也提出了许多宝贵的意见。
参考文献:
[1]郑中佩,孟凡荣.基于ASP.NET技术的企业办公自动化系统的设计[J].计算机与信息技术,2007(7)
[2]王启才,高校体育成绩管理系统的设计与实现,〔J〕办公自动化:综合月刊,20第四期:59-60
Web、B/S模式 篇3
关键词C/S模式;B/S模式;教学管理系统
中图分类号:G434文献标识码:A文章编号:1671-489X(2007)12-0084-03
Scheme of Teaching Management System based on Combination of C/S and B/S//Xiang Zugan
Abstract This paper analyzes the actual need and the feature of the present university teaching management and compares the advantage and shortcoming of two kind of patterns. The paper proposes a kind of pattern of teaching management system based on the combination of C/S and B/S and offers the function module and the method of realization and the supporting environment of the system software and hardware based on this pattern of the teaching management system.
Key words C/S pattern;B/S pattern;teaching management system
Author’s address Zhejiang University of Finance & Economics, Hangzhou 3100018
学校以教学为中心,围绕这个中心,需要进行大量严格的教学管理工作。随着计算机技术及网络技术的不断发展,教学管理系统已由原来的纯手工操作,发展成为半自动化、自动化的管理系统。近几年,高等学校进行教育体制改革,学校的规模不断扩大,并存在多校区的办学模式,这使得原有的单一的由C/S模式或由B/S模式构建的教学管理系统都不能满足目前教学管理的需要。因此,采用C/S与B/S相结合的方法构建教学管理系统成为一种必然。
1 C/S和B/S结构比较
1.1 C/S结构模式的特点
(1)具有成熟可靠的设计开发方法和工具。
(2)交互性强、界面友好。客户端程序不但可以针对特定用户来设计,而且在提供各种在线帮助和出错提示等方面具有强大的功能,并且可以在子程序间自由切换。
(3)安全性高。由于C/S是配对的点对点的结构,一般运行在局域网内,而且访问系统必须要有专用的客户软件,因此安全性较好。
(4)响应速度快。C/S采用逻辑上的两层结构,速度快,利于处理大量的数据。
(5)能降低网络通信量。C/S结构的网络通信量只包括Client与Server之间的通信量。
(6)不能跨越异质异构网络进行访问,限制网上信息的公布。
(7)开发成本较高。C/S结构对客户端软硬件要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了系统的成本,客户端越来越臃肿。
(8)升级维护复杂。如果应用程序要升级,必须到现场为客户机一一升级,每个客户机上的应用程序都需维护。
1.2 B/S结构模式的特点
(1)简化了客户端。不论基于何种平台,只须安装一种通用的浏览器,采用同样的界面访问。
(2)用户操作使用更加简单和通用,只要会使用通用浏览器就行。
(3)能够跨越异质异构网络进行互联,用户可方便地在任何地方通过网络访问Web服务器。
(4)B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。
(5)系统升级维护方便。在B/S结构中,管理和维护集中在服务器端,服务器端可以任意扩充,而对客户端不产生任何影响。
(6)安全性差。B/S模式采用一点对多点,多点对多点的开放结构模式,并用于Internet的开放性协议,对系统所必须的安全保障还缺乏完善的技术措施。
(7)交互性、响应速度及数据传输速率方面比C/S结构模式差。
1.3 C/S模式与B/S模式相结合
通过以上分析可以看出,分别应用C/S模式或B/S模式都存在着一定的缺陷。针对教学管理系统的特殊性与复杂性,可以在安全性要求高、交互性强、处理数据量大、数据查询灵活且地点固定的小范围内使用C/S模式,而在安全性和交互性不高、地点灵活的广域范围内使用B/S模式,充分利用2种模式各自的优势,为不同的子系统选用不同的系统平台,构建一种将2种模式交叉并行使用的混合模式。这种将2种模式交叉并行使用的方案相对于单独采用C/S或B/S模式必然会有许多优越性:首先,它能保证敏感数据的安全性,特别是对数据库的修改和新增记录的操作;再者,能经济有效地利用校园网络资源,简化一部分客户端程序;第三,能保证复杂功能的交互性和一般功能的易用性。此外,它还使得系统维护简便、布局合理且网络效率高。
2 系统功能模块
如图1所示,教务管理系统主要由系统管理模块、学籍管理模块、成绩管理模块、教学计划管理模块、信息发布模块、信息查询模块、选课模块、教材管理模块、教学调度管理模块、教学质量监控模块等子系统组成。
各子系统功能:(1)系统管理模块完成系统的用户管理、权限设置等功能;(2)学籍管理模块完成学生入学信息、学籍异动信息的录入、修改及统计分析等功能;(3)成绩管理模块完成学生各门课程考试及毕业设计成绩的录入、修改及统计等;(4)教学计划模块是各职能模块间的核心模块,通过教学计划模块与其他模块现横向关联,其主要功能是完成专业教学计划、课程设置、教学大纲等数据的有效管理;(5)教学调度模块实现排课、调课、排考以及教室管理等功能;(6)教材管理模块实现教材的入库、出库以及学生个人账户的书款情况的管理;(7)师资管理模块实现对教师基本情况进行录入、修改及部分内容的浏览;(8)选课管理模块承担选课操作工作,为学生所使用,主要提供登录、选课、显示、修改口令等功能;(9)信息发布模块主要实现通知、课程安排等公共教学信息的发布;(10)教学质量监控系统用于学生网上评教,制定和维护学生评教的指标,教师可以查询自己的评教结果和学生对教学效果的总体评价;(11)信息查询模块实现成绩等信息的查询。
在上述子系统中,由于学生学籍、成绩及教学计划、教学调度、教材管理、师资管理等信息需要较高的安全性和较强的交互性,同时需要处理大量的数据,因此这部分子系统适合采用C/S模式;而信息发布与学生信息查询及选课模块、教学质量监控系统则具有适用范围广(如学生可在网上进行选课、信息查询、教学评价等操作),安全性、交互性要求不高等特点,所以这部分子系统适合采用B/S模式。
3 功能实现
B/S模式部分的核心模块由Windows 2003 Server、IIS6.0和SQL Server2000组成。其工作原理为:浏览器向服务器发出请求,服务器将请求交给IIS,IIS接受请求并调用ASP程序,ASP程序通过ADO接口与数据库管理系统SQL Server2000 连接进行数据库操作,ASP程序再将操作结果以HTML文本的形式发送给浏览器。
C/S模式部分由服务器端的SQL Server2000数据库和数据库管理工具与客户端的应用程序组成。其工作原理为:客户端通过ODBC接口向服务器发送SQL语句请求,数据库服务器根据SQL语句生成所需条件的数据结果集,最后客户端应用程序通过ODBC接口将生成的数据结果集取回。
4 系统的软、硬件平台选择
系统的硬件平台包括Web服务器、客户机、网卡及校园网络资源。系统的软件平台:B/S模式部分,各终端可采用Windows98/2000为平台,使用IE为浏览器,Web服务器端可选用Windows 2003 Server为网络操作系统,选用IIS作为Web服务器软件,选用MSSQLServer2000作为数据库管理系统;C/S模式部分,Client端开发工具可选用Delphi,数据库管理工具可选用MS SQL Server2000。
5 结束语
Web、B/S模式 篇4
在计算机技术和Internet蓬勃发展的背景下, 数字化技术普及, 基于信息技术的数字化考试系统成为一种新兴的管理手段, 在教育系统中得到广泛使用。
传统的书面考试过程包括教师出题, 相关人员打印、印刷, 考生答题, 教师阅卷等环节再到学校的各科成绩管理, 考试过程耗时耗力。Web考试系统将传统考试过程中所有环节整合, 如此简化了考试过程, 减轻了学校方面的工作量, 提高了效率, 同时也方便了学生的操作, 更重要的是在这个创造出了一个公正, 客观的平台之上, 为全体师生打造了和谐公平的考试环境, 这样更利于激发学生的学习积极性和建设良好的学校学风。目前的Web考试系统是基于C/S (Client/Server) 结构和B/S (Browser/Server) 结构设计的, 都需要数据库支持。C/S结构服务器一般采用高性能的服务器, 小型机或工作站。因此, C/S结构的优点是, 具有很高的灵活性, 使得客户端具备强大的处理能力, 可以在客户端处理大量的数据后传送给Server, 具有较高的安全性和很好的性能;缺点是, 在客户端需要安装相关软件, 对客户端和操作系统造成了一定的操作限制, 如用户访问设置不正确导致环境冲突等, 会造成客户端软件异常, 无法启动等。客户端软件兼容性较差, 不能够跨平台, 需要在客户端和服务器端共同完成管理和维护, 工作量大, 且升级复杂。B/S结构中, 客户机上只要装一个浏览器, 服务器端安装数据库, 即可进行数据交换。这种结构操作简便, 客户端无需维护, 但缺点是安全性差, 灵活性不高, 如因为网络不稳定导致数据读取不完整, 造成异常等。
1 Flex RIA技术概述
基于HTML技术的应用程序功能简单、互性差, HTML代码繁琐, 需要较大的运行空间, 且安全性较低。但是其设计简单, 无需升级客户端, 运行成本低廉, 以致很多用户未使用桌面计算机的用户界面进行数据访问和应用。
传统的HTML技术发展至今, 已无法适应越来越多的复杂的网络设备和应用系统的需要。许多复杂的应用系统并全部使用HTML技术, 会要求多次提取网页, 得到一次处理结果, 这在医药和财务等各领域中应用, 交互速度十分慢, 会影响工作效率。随着Web技术的飞速发展, Web技术有了新的研究分支, 即RIA (Rich Internet Application, 富因特网应用程序) 。RIA具有高度互动性、丰富用户体验以及功能强大的客户端。
RIA具有较为强大的客户端, 使得应用系统响应速度快, 并提供给用户具有丰富空间的友好界面。RIA提供了具有丰富控件的界面之外, 一般还允许使用SVG (Scalable Vector Graphics, 可伸缩向量图) 构建图形, 或使用其它技术。一些RIA技术可完成生动的动画效果, 响应数据变化。RIA的另一个优点:客户端缓存大量数据, 所以数据交换少, 使得应用系统响应速度快 (时下流行的网络社区———开心网就是用的RIA技术) 。未来无线设备的发展趋势也将是如此, 逐渐脱离基于文本的Web客户端 (时下热门的3G将会进一步推广RIA应用) 。
RIA是将桌面应用程序和网络应用程序整合起来, 诞生的一种新兴网络应用程序。RIA同时兼具强大的桌面计算机的应用功能, 具有丰富的用户界面和高效的网络应用程序, 其成本低、互动性强、丰富的多媒体、实时性强。其中Flex是RIA领域的主流技术。因为Flash Player在IE等浏览器中即可运行, 具有很强的兼容性, 所以客户只需安装Flash Player后就能运行。此外, 还有Sun公司的Java FX、Microsoft公司的Silver Light。
基于Flex技术的Web应用模型中, 在Web层中将Optional Data Services置入用户与服务器之间, 使得用户与服务器的操作异步, 所示如图1。
当服务器处理完用户的请求后只需返回数据给用户, 而不是整个界面, 这样很大地减少了运行任务。有效地减少了服务器的运行的数据量, 加快了应用系统的响应速度, 减少了处理时间。基于Flex技术的应用程序, 用户的所有操作几乎都能得到快速的响应, 没有等待的现象, 更不发生白屏的现象。
2 Web考试系统开发与实现
Web考试系统结构由两块组成:一块是后台数据服务器, 另一块是前台考试端口。后台主要是在服务器中提取试题数据库, 并生成XML文档, 其主要构成是一个数据库文件和一个ASP.net文件, 分别用于存储数据和提取数据。前台负责接收后台发出的数据和接收考试端口用户的响应, 两者同时进行交互。为了减少服务器的工作任务, 前台同时具备接受用户答题响应, 与后台数据库中传送出的试题标答进行对比, 计算考生得分的功能。因为前台内容是在一个swf文件中整合, 所以此Web考试系统具备较强的兼容性和多用性。
试题获取模块采用异步方式获取数据, 考试系统前端界面不受影响。启动定时器来保证获取考题的完整性。考试时间控制和答案存档都使用Flex计时器完成, 异步技术使得模块时间控制和答案存档同时完成, 不影响考试前台界面。
(1) 获取试题模块
摘要:通过分析现代考试的需求, 结合C/S模式和B/S模式的优点, 利用Flex RIA技术, 开发并实现了一种快速有效的Web考试系统。
关键词:C/S,B/S,RIA,Flex,Web考试系统
参考文献
[1]金玉.基于C/S模式的网络考试管理系统[J].电脑知识与技术, 2009 (2) .
[2]蔡长安, 王盈瑛.C/S和B/S的模式的比较和选择[J].渭南师范学院学报, 2006 (2) .
[3]吴庆涛.RIA技术在构建Web应用系统中的应用研究[D].重庆:重庆大学, 2008.
[4]余小凡.杜友福Flex RIA技术在ERP系统中的应用[J].电脑知识与技术, 2010 (6) .
[5]肖治国.RIA技术特性及发展趋势[J].长春大学学报, 2008 (12) .
[6]RIA技术在题库与组卷系统中的应用[D].天津:天津大学, 2007.
Web、B/S模式 篇5
目前,在多数发电企业中,燃料业务各环节信息没有得到有效的组织和利用,信息的整理还需通过手工来实现,劳动量大且冗余,费时费力。在保障电厂安全生产的前提下,为了最大限度地发挥机组效能,提高生产管理水平,降低发电成本,取得上网优势,迫切需要在全厂范围内实现信息共享和管控一体化,建立统一领导、统一规划、统一标准、统一建设、统一管理的燃料管理系统。
1 系统概述
燃料管理系统以计划管理、合同管理、调运管理、验收管理、结算管理、煤场管理、成本管理、供应商管理、流程控制、系统管理、系统接口管理等功能为框架,通过对基础数据的采集和对基础业务的处理,来提供数据信息支持,保障电力企业燃料管理的高效、稳定运行。该系统是一套通用的、标准的、模块化的、流程化的先进管理信息系统,体现在以下几方面:
(1)模块。系统采用模块化设计,实现了功能模块的动态加载、卸载及动态更新,多个子模块可共享一个全局模块,一个应用可同时使用多个模块等,使整个系统扩展性和灵活性大大提高。
(2)部署。系统采用Tapestry应用框架。由于其构筑在标准的Java Servlet API之上,因此继承了Java Servlet API良好的系统兼容性,使得该平台能够很好地兼容Servlet容器或应用服务。
(3)安全。系统采用标准的DES加密算法,使用128位统一密钥,加密对象为登录系统的用户名、密码、传输的XML文件。
2 系统设计和架构
2.1 系统设计思想
燃料管理系统需具有信息覆盖面广、结构类型复杂、需求不确定、查询方式灵活多样等特点,而传统的信息处理方式很难达到这些要求。随着计算机网络技术的发展、智能机器的研发、大量优化方法及多媒体技术的出现,综合处理多种类型的企业内部信息成为可能。系统采用B/S模式,以Java2技术为基础,充分利用Tapestry框架组件技术、XML SOAP服务、XML Web服务、工作流程监控与协同等技术,考虑平台多样性、技术先进性、功能适应性和灵活性等方面,使其相对完善。
2.2 系统结构设计
燃料管理系统结构如图1所示。应用软件分为Web级、应用级、数据级。应用软件基于XML SOA服务,具有高度的开放性,客户端通过IE浏览器经应用服务器访问业务组件,合法用户无需安装软件即可使用系统提供的功能。
(1)Web级。Web级指部署Web表现层的逻辑实体。通过Web表现层的HTML页面组件实现与用户交互的Web页面;通过Web表现层的Page逻辑组件实现HTML页面组件间的通信数据交互。
(2)应用级。应用级指部署业务层和数据、服务访问层的逻辑实体。通过数据、服务访问层的数据访问逻辑组件实现与数据库集群的连接,通过数据、服务访问层的服务代理组件实现与服务的连接;通过业务层的业务流程、业务组件和业务实体实现业务过程和规则,服务接口层对外提供统一接口。
(3)数据级。数据级指部署数据服务的逻辑实体。它可以是一组物理的数据库集群或一组Web服务,为应用级提供数据检索和存储。
2.3 B/S模式结构
系统采用B/S模式结构,如图2所示。应用系统集中部署在应用服务器上,客户端不用安装任何功能模块。使用者可通过IE浏览器登录服务,经授权使用相应管理模块,这样可减少客户端的维护工作量,也保证了系统版本的统一。
在B/S模式结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑仍在服务器端实现,形成3-tier结构。
Browser/Web Server/Data Base Server结构指硬件的体系结构,也有相应的逻辑体系结构。硬件的Browser/Web Server/Data Base Server结构通常是指某项请求任务在浏览器或Web应用服务器和数据库服务器间进行分配,其中浏览器发送请求,Web应用服务器处理来自浏览器的请求,数据库服务器处理数据查询及逻辑运算。对于逻辑体系,Browser/Web Server/Data Base Server结构分为表示层、商业逻辑处理层和数据处理层。
三层结构的B/S模式结构的运用基于组件的分布式技术,从结构上避免了二层结构(C/S模式结构)的局限性。三层结构具体内涵如下:
(1)用户服务层(客户层)。用户服务层是应用用户的接口部分,是用户与系统间交互信息的窗口。它的主要功能是检查用户输入的数据,显示系统输出的数据。若该层需要修改,则改写显示控制和数据校验程序即可,不会影响其它两层。检查的内容也只限于数据格式和取值范围,不包括有关业务本身的处理逻辑。该层由客户端浏览器实现。
(2)商业服务层(中间层)。商业服务层是应用的主体,包括了应用中全部业务处理程序。除了输入/输出在用户服务层,数据库在数据服务层外,统计、汇总、分析、打印功能全部封装在商业服务层。该层具有强大的数据处理功能,起着传递数据的作用和承担安全性检查的任务。该层由应用软件实现。
(3)数据服务层(数据库)。数据服务层就是数据库管理系统(DBMS),负责读写数据库数据。它能迅速执行大量的数据更新和检索。一般商业服务层通过发送SQL命令来操作数据库的数据。该层由数据库软件Oracle实现。
2.4 系统功能模块
2.4.1 系统功能模块简介
燃料管理系统的主要功能模块有9个。
(1)计划管理模块。计划管理分为年度、月度计划管理。用户根据上一周期的煤炭供应情况、下一周期生产计划、机组检修计划编制下一周期煤炭计划需用量。
(2)合同管理模块。该模块实现合同签订、合同审批、合同汇总、合同执行情况等功能。
(3)验收管理模块。该模块实现对燃料入厂数量、质量的管理。验收后,系统将数据信息传递出去,同时对原数据进行锁定,避免人为修改。由于数量、质量数据为系统的基础核心数据,因此采用多级审核流程与多种加密技术,确保其正确、安全。该模块实现了入厂煤验收技能和管理水平的整体提高。
(4)入炉管理模块。该模块实现对入炉煤煤耗、质量信息的录入及入炉数据汇总分析功能。
(5)成本管理模块。该模块提供了不同级别要求的数据查询分析功能。系统通过处理各种基础数据测算来煤成本,使用户能及时掌握燃料存储、耗用成本。
(6)煤场管理模块。该模块对进场煤进行场内全周期管理,从原煤入厂登记,到进场储存、上煤、移动、核销都有时间和空间的变化记录,并根据实际需要给出管理报表;同时考虑到配煤的需要,提供智能配煤推荐和配煤燃烧记录存档功能。
(7)库存管理模块。该模块提供了库存预警功能,一旦煤场存煤量低于设定值,便向用户发送存煤预警信息。
(8)结算管理模块。该模块具有功能强大的数据处理及检索功能,可及时检测出丢车、重复结算问题;提出了一套完善、先进的管理模式,如质量数据与数量数据没有对应则不允许结算,已完成结算的数据则不允许修改等;提供灵活的费用管理功能,所有费用的计算方法采用公式管理,当某个费用的计算方法发生变化或增加新费用时,用户直接修改或增加公式即可,不用修改程序;提供功能强大的数据汇总功能,用户可方便地制定汇总条件进行汇总分析。
(9)系统管理。该模块实现系统的初始配置、权限设置、工作流程配置等管理工作。
2.4.2 验收管理模块设计和实现
由于燃料的数量、质量数据直接关系到发电企业的生产成本,因此其公正性、准确性显得尤为重要。在该模块的数据库中,主要有10张表。
(1)车皮表。车皮表存储着所有来煤的运单信息,如车号、票重等。id是主键,发货表id是外键。
(2)发货表。发货表存储着所有来煤批次的信息,如供应商、煤矿、发货日期、总毛重、总皮重、总净重等。id是主键,质量表id是外键。
(3)过衡文件数据表。过衡文件数据表存储着所有检斤的车节信息,如车皮号、过衡时间、毛重、皮重、净重等。id是主键,车皮表id和质量表id是外键。
(4)质量表。质量表存储着所有经过最终审核的质量数据,包含化验编号、化验时间、各指标的数据等信息。id是主键。
(5)质量临时表。质量临时表存储着所有终审前的质量数据,包含化验时间、各指标的数据、审核状态、审核人等信息。id是主键,质量表id是外键。
(6)采样表。采样表存储着每批次来煤的批次号、采样日期等信息。id是主键,质量表id是外键。
(7)工业分析表。工业分析表存储着所有从化验仪器上直接读取的化验数据,包含日期、编码、设备编号等。id是主键,质量临时表id是外键。
(8)指标表:存储着所有的化验指标,如指标名称、指标编码等。id是主键。
(9)转码表。转码表存储着每批来煤的采制化编码,如编码名称。id是主键,质量临时表id、转码类别表id是外键。
(10)转码类别表。转码类别表存储着采制化编码类别的信息,如名称、级别等。id是主键。
验收管理模块的关系数据模型如图3所示。
在验收管理模块程序中,Java文件负责业务逻辑的处理,表现层逻辑由Java文件调用Tapestry组件来实现。Tapestry是一个用Java编写的基于组件的网络应用框架,该框架可在简单、可复用的组件上构建复杂的应用程序。和Java的方法参数不同,Tapestry组件参数可以是双向的,即一个组件可能读取一个参数获得一个值或写一个参数来设置一个值。Tapestry把应用程序分解到一系列Page页面中,每个页面都由Tapestry组件组装起来。Tapestry页面和大部分用户定义的组件拥有一个模板——一个定义了组件静态和动态部分的专门的HTML文件。
由于Tapestry是一个基于组件的开发框架,因此开放的系统表现层像由“积木”堆积而成,Page规范就是这些积木的纽带。Tapestry积木式调用方式如图4所示。
3 系统部署
燃料管理系统部署模式如图5所示,电力企业连接示意图如图6所示。
4 结束语
燃料管理系统使燃料管理的各环节连成一体,实现了燃料的全过程计算机管理,提高了工作效率,保证了燃料管理中信息的及时和准确,大大降低了燃料经营成本,提高了企业的经济效益。
参考文献
[1]马银戌,李梅,孙蕾.火电厂燃料管理信息系统的设计与实现[J].河北电力技术.2001(2):53,54
[2]胡宏伟,杨建国.电厂燃料管理及煤质优化系统的开发及应用[J].热力发电,2004,4(11):71,72
[3]翁毕庆.电厂内运煤系统方案优化[J].四川电力技术,2005 (1):56,57
Web、B/S模式 篇6
1 获取目标信息
获取目标信息就是通过网络攻击来获取Web应用程序的有关信息。
1.1 淘金
淘金是指攻击者通过运行Web应用程序时所得到的信息。这种攻击方式主要利用HTML代码中的注释和敏感信息、服务器端的出错信息和HTML响应信息来完成目标信息获取。
为了防止“淘金”式的攻击, 开发人员在源代码中必须删除注释中的危险信息。服务器反馈给用户的信息应当简洁而有价值。对于应用程序中的细节信息应当保存在服务器端的日志文件里, 只有在出错调试时使用。另外通过定期扫描日志文件了解用户被应用程序拒绝的情况和网页遭受的攻击。
1.2 猜测文件与目录
Web页面是存储在Web服务器上供访问者使用的文件, 这些文件通常存放在默认位置。如果攻击者能够预测到文件名和存放目录, 就能够在浏览器的地址栏中输入绝对地址和文件名来访问目标信息。对于这种攻击的防范主要是严密配置Web服务器, 使其拒绝超出服务范围的访问。
1.3 其他人留下的漏洞
开发人员在开发Web应用程序时如果存在调用他人代码或库的操作, 一定要认真检查调用的内容及时修补漏洞。
在默认安装Web服务器时一般都会包含样例程序和帮助文档。为了防止样例程序和帮助文档中存在漏洞, Web服务器在安装完成后要对其进行漏洞检查或者删除样例程序和帮助文档。
2 攻击客户端
当Web应用程序的客户端代码存在缺陷的时候, 就可能引发Web的安全性问题。最常见的攻击客户端的方法就是通过修改页面的源代码或提交修改请求绕过客户端的输入验证程序。
2.1 修改页面的源代码
攻击者通过修改存储在本地计算机上的页面源代码生成网页副本, 再将网页副本替换为Web服务器返回的页面。这样就可以将自己的数据发送到远程服务器。
2.2 提交修改请求
由CGI、ASP、ASP.NET通过链接发送的数据通常包含在URL的“?”后面。如果让程序自动地将预先设置好的数据或者经过简单计算得到的结果提交到服务器, 攻击者就可以绕过输入选项的强行限制。
要防范这两种“绕过输入选项”攻击, 就必须在服务器端再次增加输入选项的验证。
3 基于状态的攻击
Web是一种无状态的服务, 它不会记录用户访问过的页面或者访问页面的顺序, 因此开发人员必须要记录应用程序代码的状态信息, 以实现页面访问的控制及管理。这些状态信息有隐藏域、Cookie、URL和会话。
3.1 隐藏域
隐藏域用来保存Web页面中的隐藏数据, 普通用户是不可见的。Web应用程序运行后将隐藏域中的状态信息传递给服务器。攻击者首先把Web页面保存在本地机上, 把源程序中的相对链接改成绝对链接, 将隐藏域改成标准的文本框。利用网页副本再次访问服务器时就可以直接在浏览器中修改隐藏域的数值了。
为了防范利用隐藏域进行攻击, 在开发Web应用程序时应尽量避免使用隐藏域。如果必须使用一定要对内容进行加密处理。
3.2 Cookie
Cookie是Web应用程序保存在客户端硬盘上的文本文件, 用来记录Web访问的相关信息, 是客户端存储Web访问状态信息的唯一途径。只要打开Cookie文件, 就可以随意修改Cookie的值和失效时间, 还可以获得用户名和密码。
防范通过Cookie进行攻击的方法就是对含有敏感数据的Cookie进行加密。
3.3 URL跳跃
由于Web本身是无状态的, 所以用户可以在浏览器的地址栏里直接输入URL, 任意跳转到指定位置, 绕过具有限制功能的页面。要防范这种攻击, 必须限制用户浏览页面的顺序。
3.4 会话劫持
在用户访问Web站点的过程中, 每个用户在会话管理中都有唯一的标识。对会话的处理不当会使攻击者有办法猜测到相邻的会话标识。在破解了会话标识号的分配方式后, 就可以将当前连接中会话变量的数值替换掉, 然后重新发送页面请求。攻击者常用的破坏会话管理的方法有随机更改本地机网络标识变成另一个用户、破解网站使用标识号的顺序、修改另一个用户的会话标识。
要防范会话劫持, 就必须正确使用会话管理, 保护好会话标识号和传送信道, 禁止用户自己选择会话标识。
摘要:深入研究了在B/S架构中利用Web应用程序漏洞攻击数据库的常见现象, 并提出了合理的防范方法。对于Web数据库的安全性研究具有一定的参考价值。
Web、B/S模式 篇7
系统测试的目的主要是验证系统的功能和性能是否满足设计要求,发现系统的实际应用效果是否与系统定义相符合。系统测试是检验软件质量的重要手段,软件质量的检测一方面要检查软件的设计是否合理、编码是否准确,另一方面要看软件的系统测试是否全面。在软件开发和应用中,很多编码上的错误很难发现,只有通过后期的系统测试才能被发现,所以软件系统测试在保证软件质量方面有着重要作用。在不同的环境下,软件系统的测试方法也有所差异,本文就基于B/S架构的Web软件系统测试进行探讨。
1 基于B/S架构的Web软件系统
B/S体系结构的应用原理是:用户通过浏览器将操作请求发送给网络上的服务器,服务器对接收的信息进行分析、处理后将用户所需要的信息发送至浏览器。相比二层的C/S体系结构,B/S体系结构只是从客户机的任务中将事务处理逻辑模块分离出来,并单独组成一个任务应用层,该方式将负荷分配给Web服务器,可以极大减轻客户机的压力。B/S架构的一个明显特点就是简化了客户端,只需要安装通用的浏览器软件,不需要在客户机上设置多个客户应用程序,所以整个系统安装过程非常简单,网络结构非常灵活,而且系统的开发和维护简单。B/S体系结构的特殊性意味着系统的测试也需要采用不同的方法。基于B/S架构的软件系统以网页表单的方式进行界面展示,服务器承担了系统的大部分工作,客户端对后台服务的访问通过浏览器实现,而且只能够完成浏览、查询、数据输入等比较简单的功能操作,同时还采用Cookies形式保存用户信息。Web软件系统的开发需要以HTTP协议和HT-ML为依据,这就决定了此类软件都要遵循统一的结构。图1是一个典型的基于B/S架构的Web软件系统结构。
2 基于B/S架构的Web软件系统测试
基于BS架构的Web软件系统测试涉及到多方面内容,包括可行性测试、性能测试、功能测试、安全性测试、兼容性测试等等。相比传统的软件测试,基于BS架构的Web软件系统测试内容侧重点明显不同,测试过程需要用户参与,不仅要检查系统的运行是否按照设计要求,还要评价系统在各种浏览器上的显示效果,尤其要进行系统的安全性和可行性测试。
2.1 系统可行性测试
可行性测试其实就是检测用户对系统的理解程度和使用效果,类似于系统的可操作性测试,涉及到系统的功能、系统的发布、用户与系统的交互效果。系统可行性测试主要包括导航测试、图形测试、内容测试、界面测试等。
系统可行性测试方法:(1)通过页面走查的方式检查系统页面是否符合要求,测试不同分辨率下页面的显示效果,如果发现有不符合要求的地方应交给设计人员进行调整;(2)根据数据定义文档来检查表单项的内容设计效果;(3)通过浏览查看方式检测动态网页。
(1)导航测试。系统导航是对系统页面中用户操作方式的描述,可以在不同的连接页面之间,也可以在按钮、窗口等不同的接口控制之间。系统的导航测试主要是检测系统是否易于导航,系统导航的界面设计是否直观,是否可以通过主页面实现对系统主要内容的存取,系统是否需要搜索引擎或者网站地图帮助,另外还需要检测系统的页面结构设计、导航设计、菜单设计以及连接方式的风格是否一致,是否可以让用户通过导航直观地了解系统的主要内容。
(2)图形测试。网页的构成主要包括两种元素,即文字和图片。图片在网页应用中有着重要作用:(1)美化网页;(2)进行广告宣传。但在系统运行过程中,网络传输的数据量是有一定限制的,所以网站的图片数量也不能无限大。图片在网页上的位置也有一定要求,不能随意放置,要符合页面的审美要求。图形测试主要是检测系统中图形是否具有应用价值,图形或者动画的放置位置是否符合要求,页面上的文字应用风格是否一致,页面的背景、前景以及字体颜色应用是否搭配,网页中图片的大小设置是否合适,图片的质量是否达到要求,以及图片的应用格式(一般是JPG或者GIF压缩)是否符合。
(3)内容测试。内容测试主要是用文字处理软件对系统文字信息进行检测,检验系统文字信息是否具有一定的相关性、准确性,信息是否真实可靠,信息是否存在语法错误或书写错误,是否能够在当前的页面找到相关的信息列表等等。
(4)界面测试。界面测试主要是检测用户在浏览Web应用系统时,对系统的整体界面是否感到舒适、直观,是否能够凭直觉找到信息,系统整体设计风格是否一致。
2.2 系统功能测试
基于B/S架构的Web软件系统功能测试主要包括链接测试、表单测试、Cookies测试、设计语言测试以及数据库测试,采用的方法主要有黑盒测试、白盒测试、边界测试或者越界测试。功能测试是验证产品功能是否与产品需求规格一致,不需考虑系统内部软件的实现逻辑。功能测试是系统测试最重要、最基本的内容,要求测试人员全面了解产品的需求规格和业务功能,设计出高效的测试方案。
(1)链接测试。链接的主要功能是实现页面切换,并引导用户找到所需要的页面。在基于B/S架构的软件系统中,链接是一个非常重要的特点,链接测试3个内容:(1)检测页面链接的准确性;(2)检测所链接的页面是否存在;(3)确定Web系统中不存在没有设置链接的孤立页面。
(2)表单测试。表单测试是对系统运行过程中,服务器所接收到的表单信息是否正确进行检测。例如用户在登录系统时需要填写用户信息,在表单中的用户名和密码条框中设置要输入数字的地方是否也可以输入字母,输入后系统是否会提示出错。如果表单采用了默认值,就需要对默认值的正确性进行检测。如果表单输入限定了某些值,则需要继续测试。
(3)Cookies测试。Cookie是指服务器暂存在计算机上的信息资料,主要用于存放用户应用系统时的信息。当用户浏览网站时,服务器会向用户的计算机上发送一些Cookies形式的资料,以便服务器能够很好地辨认用户的计算机。如果系统有Cookies应用,就需要对Cookies的功能和性能进行测试,检测Cookies是否正常工作,是否准确、有效地保存,是否受到系统其它操作的影响。
(4)数据库测试。数据库为系统的管理、运行以及数据存储提供空间。数据库测试主要是检测数据输出的准确性、数据的一致性。用户在提交表单时所填写的信息不正确可能导致数据一致性出错,网络速度过慢或者程序设计缺陷则可导致数据输出错误,数据输出错误和数据一致性错误是系统数据库发生的两个重要错误。
2.3 系统性能测试
性能测试是保证软件系统质量的重要测试内容,涉及到的测试内容较多,主要包括3个方面,即客户端、网络以及服务器端的性能测试。客户端性能测试包括数据量测试、速度测试、并发性测试等,主要检测客户端的应用性能;网络上的测试主要内容是利用相关技术进行网络预测、网络性能分析;服务器端的测试在于实现对服务器系统、设备性能的全面监控,可采用工具或命令进行监控。上述三者有效结合才能实现系统的高性能运行。性能测试常用工具有webload、was、ewl等。
(1)链接速度测试。链接速度测试是基于B/S架构的软件系统性能测试的重要内容。在基于B/S架构的软件系统应用中,软件的功能主要是通过服务器实现的,服务器将系统信息发送至客户端,客户端通过对信息的浏览实现各种应用操作。因此,基于B/S架构的软件系统对链接速度有很高的要求。如果系统对用户的页面访问需求响应时间超过5s,则用户很可能因为没有耐心等待而放弃本次访问。一般情况下,系统网页的链接速度与入网的方式与很大关系,例如宽带上网、电话拨号上网等各种上网方式的链接速度各有千秋。当系统响应速度太慢时,用户往往还没有浏览到信息就需要重新登录,而且链接速度慢也是导致数据丢失的重要原因。
(2)负载测试。负载测试就是检测系统在一定需求范围内是否能够正常工作,例如系统允许多少用户同时访问,如果访问数量过大会出现什么情况。负载测试一般需要在实际网络环境中测试,因为在因特网上有足够量的访问用户,才能获得准确可信的测试结果。
(3)压力测试。压力测试包括表单测试、登录测试以及其它信息输出情况测试。检测在一定访问数量压力下系统的反应,以及系统的压力极限和故障恢复能力,检测系统在较大访问压力下是否会发生崩溃。黑客在对系统进行攻击时通常会对系统提供错误的负载,让系统发生崩溃,并在系统重启时获得存取权,以此对系统实施攻击。
2.4 客户端兼容性测试
系统的兼容性缺陷引起的问题往往比较微妙,很难被发现,系统的兼容性测试经常被忽略。系统兼容性测试方法一般是创建兼容性矩阵,测试过程中需要考虑以下几个问题:(1)系统能够在哪些操作系统环境下运行;(2)系统能够与哪些类型的数据库进行数据交换;(3)系统能够在哪些硬件配置环境中运行;(4)系统能够与哪些软件系统协同工作。客户端兼容性测试主要包括平台测试、浏览器测试。平台测试需要在系统发布之前进行,系统使用哪一种操作系统往往由系统的配置决定。同一应用可能在某些操作系统中能够正常运行,但却无法在其它操作系统中运行。浏览器测试主要是检测浏览器的显示效果。
2.5 系统安全性测试
系统安全性测试主要是检测系统安全机制的有效性,验证系统内部的安全机制能否保护系统免受非法攻击。系统的安全性不仅是指系统能够抵挡住正面攻击,还要能经受来自侧面和背面的攻击,如此才能保证系统资源的安全性。系统安全性测试内容主要有:(1)对用户名和密码信息进行测试,检测系统对登录信息大小写是否敏感,对输入次数有没有限制,在没有登录系统的情况下是否能够直接浏览页面;(2)检测系统是否对登录状态有时间限制,用户登录后一段时间是否需要重新登录才能正常使用;(3)检测系统访问信息是否被写入日志,是否能追踪;(4)检测安全套接字中密码设置的正确性,以及信息是否完整;(5)检测服务器端脚本的管理应用是否设置权限,以免成为黑客攻击系统的漏洞。
3 结语
本文从系统可行性测试、功能测试、性能测试、兼容性测试以及安全性测试等方面对基于B/S架构的Web软件系统测试进行了探讨。基于B/S架构的软件测试是一个复杂的系统工程,相比传统的软件测试有很大差别,整个测试内容要保证全面性、充分性,并扎实地完成系统测试,这样才能通过系统测试体现软件的应用效果,保证软件质量。
摘要:软件测试是检验软件系统质量的重要手段,在不同环境下,软件系统的测试方法也有所差异。相比传统的软件测试,当前应用广泛的B/S体系结构软件系统测试有很大不同。该此类型的系统测试主要包括可行性测试、性能测试、功能测试、兼容性测试以及安全性测试等。
关键词:软件测试,B/S,Web
参考文献
[1]李志峥,杨社堂.基于B/S结构下的软件系统测试研究[J].科技情报开发与经济,2006,16(7):232-234.
[2]陈技能.软件测试技术大全---测试基础流行工具项目实战[M].北京:人民邮电出版社,2009:159-160.
[3]单良.校园网环境下的Web软件测试方法研究[J].鸡西大学学报,2009(6):62-64.
[4]刘锦.基于B/S架构的Web应用软件系统测试研究[J].科技广场,2013(9):39-42.
[5]廖非凡.B/S架构的Web应用系统软件测试研究[J].科技风,2008(11):76-82.
[6]宋俊雅,王鹏彪,黄俊爽,等.B/S结构软件的系统测试技术[J].科技信息,2010(10):247-248.
Web、B/S模式 篇8
在B/S项目实施过程中, 对网络应用系统的测试、确认和验收是一项重要而富有挑战性的工作。基于B/S架构的Web应用系统测试与传统的软件测试不同, 它不但需要检查和验证是否按照设计的功能要求运行, 而且还要测试系统在不同用户的浏览器端的显示是否兼容。重要的是, 还要从最终用户的角度进行安全性和可用性测试。然而, Web页面的无状态性、Web表现形式的多样性、Web媒体元素的不可预见性使测试基于B/S架构的系统变得困难。因此, 必须为测试和评估复杂的基于Web的网络应用系统研究新的方法和技术。
2 功能测试
2.1 链接测试
超级链接是Web应用系统的一个主要特征, 它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先, 测试所有链接是否按指示的那样确实链接到了该链接的页面;其次, 测试所链接的页面是否存在;最后, 保证Web应用系统上没有孤立的页面, 所谓孤立页面是指没有链接指向该页面, 只有知道正确的URL地址才能访问。
2.2 表单测试
表单测试的主要工作是检查提交表单是否做了适当的验证, 当用户给Web应用系统提交信息时, 就需要使用表单操作, 对这种情况, 我们必须测试提交操作的完整性, 以校验提交给服务器信息的正确性。
表单输入数据的合法性检验应该在客户端使用Java Script进行验证。除非验证只能在服务器端完成, 否则验证工作应在最早能完成的情况下进行。在客户端完成数据合法性验证, 可以避免一次服务器请求和回复通讯, 这种通讯是需要用户等待的, 如果用户等待很长时间后从服务器返回的结果提示出现的错误是在输入时即可发现的, 那么这种设计就是不友好的。诸如密码长度限制, 用户名允许字符限制等等, 显然应该在客户端提交前就应该进行验证。
2.3 Cookies测试
实际上, 从HTTP请求标头 (在Http Request对象中) 获得的信息是可以仿冒的, 因此, 对查询字符串、Cookie等应采取安全措施。如有可能, 不要将敏感信息 (如隐藏域或Cookie) 存储在可从浏览器访问的位置。例如, 不要将密码存储在Cookie中。
如果Web应用系统使用了Cookies, 就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用, 是否按预定的时间进行保存, 刷新对Cookies有什么影响, Cookies过期时间。
2.4 脚本语言容错测试
We b应用中, 采用了大量的脚本语言来实验客户端验证、界面布局、以及Ajax等功能, 因而, 检测脚本语言的浏览器兼容性、容错能力显得尤为重要。有些网站的HTML中包含一个noscript标记。该标记使网站可以指定当浏览器设置为不运行Java Script时, 浏览器将显示错误消息。
2.5 Session测试
Se s s ion通常用于存储需要在整个用户会话过程中保持其状态的信息, 例如登录信息或用户浏览Web应用程序时需要的其他信息。Se s s ion的优点是它在We b服务器上保持用户的状态信息, 可供在任何时间任何页访问这些信息。因为浏览器并不需要存储任何这些信息, 所以可以使用任何浏览器, 甚至可以使用PDA或手机进行浏览器。
3 性能测试
3.1 页面执行效能
在Web1.0时代, 网页主要以静态页面形式呈现, 页面负载的容量较小, 然而, Web 3.0应用中, 页面不仅要呈现丰富的页面表现元素, 例如动画、视频等, 还要与后台数据库进行交互, 因此, 必须考虑页面的执行效能, 用户连接到Web应用系统的速度根据上网方式的变化而变化, 他们或许是电话拨号, 或是宽带上网。当下载一个程序时, 用户可以等较长的时间, 但如果仅仅访问一个页面就不会这样。如果We b系统响应时间太长 (例如超过5秒钟) , 用户就因没耐心而离开。
3.2 负载容量测试
负载测试是为了测量Web系统在某一负载级别上的性能, 以保证We b系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量, 也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量, 会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
进行压力测试是指实际破坏一个Web应用系统, 测试系统的反应。压力测试是测试系统的限制和故障恢复能力, 也就是测试Web应用系统会不会崩溃, 在什么情况下会崩溃。黑客常常提供错误的数据负载, 直到Web应用系统崩溃, 接着当系统重新启动时获得存取权。
4 可用性测试
4.1 导航测试
导航描述了用户在一个页面内操作的方式, 在不同的用户接口控制之间, 例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题, 可以决定一个Web应用系统是否易于导航, 导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
4.2 图形测试
在Web应用系统中, 适当的图片和动画既能起到广告宣传的作用, 又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。
4.3 整体界面测试
整体界面是指整个Web应用系统的页面结构设计, 是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适, 是否凭直觉就知道要找的信息在什么地方, 整个Web应用系统的设计风格是否一致, 例如:用户可以在一个列表的项目上双击后能够弹出对话框, 那么应该在任何列表中双击都能弹出对话框。要有统一的字体写号、统一色调、统一提示用词、窗口在统一位置、按钮也在窗口的相同位置。
4.4 平台兼容性测试
市场上有很多不同的操作系统类型, 最常见的有Windows、Unix、Macintos h、Linux等。We b应用系统的最终用户究竟使用哪一种操作系统, 取决于用户系统的配置。这样, 就可能会发生兼容性问题, 同一个应用可能在某些操作系统下能正常运行, 但在另外的操作系统下可能会运行失败。因此, 在Web系统发布之前, 需要在各种操作系统下对Web系统进行兼容性测试。
4.5 浏览器测试
浏览器是Web客户端最核心的构件, 来自不同厂商的浏览器对J ava、J ava Script、Active X、plug-ins或不同的HTML规格有不同的支持。测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中, 测试不同厂商、版本的浏览器对某些构件和设置的适应性。
4.6 安全性测试
We b应用系统的安全性测试内容主要有:
1) 现在的We b应用系统基本采用先注册, 后登陆的方式。因此, 必须测试有效和无效的用户名和密码, 要注意到是否大小写敏感, 可以试多少次的限制, 是否可以不登陆而直接浏览某个页面等。
2) We b应用系统是否有超时的限制, 也就是说, 用户登陆后在一定时间内 (例如15分钟) 没有点击任何页面, 是否需要重新登陆才能正常使用。
3) 为了保证We b应用系统的安全性, 日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
4) 当使用了安全套接字时, 还要测试加密是否正确, 检查信息的完整性。
5) 服务器端的脚本常常构成安全漏洞, 这些漏洞又常常被黑客利用。所以, 还要测试没有经过授权, 就不能在服务器端放置和编辑脚本的问题。
5 总结
文章从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于B/S架构的Web应用系统测试方法, 对于系统开发和测试人员具有一定的指导意义。
摘要:在B/S项目实施过程中, 对网络应用系统的测试、确认和验收是一项重要而富有挑战性的工作。基于B/S架构的Web应用系统测试与传统的软件测试不同, 不但需要检查和验证是否按照设计的功能要求运行, 而且还要测试系统在不同用户的浏览器端的显示是否兼容。重要的是, 还要从最终用户的角度进行安全性和可用性测试。
Web、B/S模式 篇9
关键词:WEB程序,AJAX,交互性
基于WEB的应用程序越来越多地采用B/S架构, 提高了程序开发效率, 降低了维护成本。但是, C/S时期客户分散的处理任务, 现在均交由服务器进行处理, 服务器的压力增大。由于每次应用的交互都需要向服务器发送请求, 频繁的数据交换以及相同的HTML在浏览器和服务器间往来, 浪费了带宽, 降低了效率, 响应也慢, 白屏现象更令用户体验感大大降低。利用A-JAX异步传输技术可以有显著改善B/S架构WEB程序的上述不足。
1 AJAX技术
Ajax是Asynchronous Java Script and XML的缩写。AJAX是一种独立于Web服务器软件的浏览器技术。它不是一种新的编程语言, 而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。AJAX使用Java Script向服务器提出请求并处理响应。其核心对象是XMLHTTPRequest, 通过这个对象, 用户的Java Script可在不重载页面的情况与Web服务器交换数据。
AJAX应用可以仅向服务器发送并取回必需的数据, 它使用SOAP或其它一些基于XML的WEB SER-VICE接口, 并在客户端采用Java Script处理来自服务器的响应。因此在服务器和浏览器之间交换的数据大量减少, 响应更快。同时很多的处理工作可以在发出请求的客户端机器上完成, 所以Web服务器的处理时间也减少了[1]。AJAX传输应用模型及工作原理如图1所示。
Ajax不需要任何浏览器插件, 只需要用户允许Java Script在浏览器上执行即可。在基于Ajax技术设计的系统中, 浏览器不仅仅是内容的展示, 而以完整的应用运行环境的地位出现, 当用户访问时动态返回的页面内部带有大量客户端脚本程序, 构成客户端运行环境, 使浏览器端能够产生丰富的应用交互事件, 并负责处理这些事件的异步响应。用户界面对象能够被单独地加以更新, 不再需要刷新整个页面对象树。设计者能够利用异步事件机制实现丰富的用户界面交互过程。
与常规页面刷新不同, AJAX应用是由客户发出针对特定对象的请求, 只有少量上下文变化需要的数据才会被在浏览器和服务器之间传输, 以其占用网络带宽少、速度快、用户体验较好等优点, 同时, AJAX能够在浏览器端实现丰富的客户端交互类型, 实现大量传统Web应用无法实现的功能, 受到了WEB应用程序开发者的青睐, 成为基于WEB应用信息管理系统开发的重要工具。
使用Ajax的最大优点, 就是在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作。
2 AJAX局部刷新实现步骤与方法
AJAX的功能和方法很多, 下面以一个常见页面局部刷新为例, 并通过注释介绍AJAX异部传输实现用户交互的过程。
以上是一个典型的AJAX局部刷新示例, 浏览器页面显示为“这里是页面原有内容”和一个按钮[更新]。当用户点击[更新]按钮时, 触发on Click事件, 从而启动AJAX处理过程send Request () 函数, 请求服务返回页面webajax.asp的HTML, 返回div为st的容器, 并更新内容。
在上述处理过程中, 页面其他对象均保持不变, 实现了局部刷新。
3 典型应用实例研究
下面以在线考试系统的设计为例。
一个在线考试系统中, 如图2所示, 考生答题页面, 被置于一个框架网页之中。由于考生需要在各道试题之间进行切换, 传统页面刷新, 会带来试题Request集合的刷新, 页面对象全部刷新, 控制面板的重新计算, 而真正需要刷新只有试题记录[2]。
AJAX借助异步传输可以实现记录更新, 从而提高处理速度, 减轻服务负担。
图2中, 题号按钮的生成代码为:
当用户点击题号按钮时, on Click事件触发浏览器端send Request () 函数, 并传送st_id参数。Send Request () 函数请求页面webajax.asp页面处理记录为st_id的记录, 并返回到div为st的容器中。
[上一项]、[下一项]按钮, 由于无法绑定st_id值, 因此在设计时, 可以在页面置入一个隐藏域st_id, 通过value属性绑定到当前试题的st_id字段值上。
在页面send Request函数中, 加入下现两行代码, 以取得st_id请求参数值。
st_id=st_id+1;//上一项为-1, 下一项+1
同样原理, 交卷按钮可以通过AJAX, 请求另一个asp页面lt.asp, 通过lt.asp页面处理并返回未答题的记录集st_id信息, 并更新到原另一个div块jcinfo中, 作为漏题提醒使用。其回传接收函数process Responsejc_lt () 作出如下处理:
这段代码可以实现confirm提示, 同时在页面jcinfo块内更新提示。
Ajax技术正在推动各类传统的桌面类应用的进一步发展, 并成为Web开发的一种主流技术趋势。
此外, 在表单处理过程中, AJAX为多个列表/菜单的级联更新提供了又一种解决方法, 可以大大地提高用户界面的交互性和友好性。
4 结束语
Microsoft Active Server Pages动态网页技术, 已经成为WEB应用开发的主流技术之一。在采取B/S架构, 没有了客户端程序开户维护的成本之后, 网络通信量、服务器的处理负担在加重, 响应速度变慢。AJAX在Web应用程序中的客户端脚本和服务器语言之间架起了一座桥梁, 通过把现有页面的一部分组织起来, 通过浏览器端脚本程序处理, 使这部分页面内容能够以异步的方式更新, 而无须刷新整个页面, 实现了更加方便的相互沟通, 给用户带来愉悦的体验, 降低了冗余请求和响应对服务器造成的负担[3]。
AJAX为WEB程序由C/S向B/S架构发展之后, 促进B/S架构WEB程序的更好发展提供解决之道, 将推动WEB应用的进一步发展。
参考文献
[1]佘名高, 王程根, 邓浩, 等.基于Web2.0的Ajax技术的开发[J].计算机技术与发展, 2007 (5) :203-205, 209.
[2]唐满英.基于ASP语言的考试系统软件设计[J].网络安全技术与应用, 2009 (4) :58-60, 36.