B/S多层结构
B/S多层结构(精选10篇)
B/S多层结构 第1篇
软件架构是软件需求和设计之间的一个桥梁,是指根据设计原则,从不同角度对系统的各部分进行搭配和安排,为后面的系统设计定好框架。随着软件系统规模越来越大,越来越复杂,整个系统结构的规划显得越来越重要。好的软件架构是软件质量的重要保证,就像一个建筑的主体框架对整个建筑物的影响起决定性作用一样,因此大型项目在概要设计前必须要进行架构设计[1]。
目前流行的系统架构有C/S(Client/Server客户端/服务器架构)和B/S(Browser/Server浏览器/服务器架构)两种。在C/S架构的应用程序中,数据存储在数据库服务器上,应用程序在客户端上运行,并通过网络访问数据库服务器上的数据。一旦数据库服务器启动,就随时等待客户机发来的请求,一旦收到请求就进行处理,并将处理结果返回给客户机。这种结构数据的存储管理功能较为透明,但是每一个客户端应用程序都要进行升级,系统维护成本高。网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,因此维护成本很高[2]。
B/S架构是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。在B/S架构中,客户端是通过Web浏览器来访问在Web应用服务器上运行的应用程序,主要业务逻辑在服务器端实现,大大简化了客户端电脑负荷。对应用程序的升级只在Web应用程序服务器上进行,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全[2]。
由于B/S和C/S架构各自都有优缺点,对于大型的复杂应用系统来说,两者相结合的架构是一个不错的选择。对于用户层次复杂、分布地点离散的子系统,为提高系统可维护性,可以采用B/S架构;对于仅限于内部使用的子系统,从尽可能减少用户投资的角度出发,可以采用C/S/S架构。C/S/S架构是目前信息系统架构的一种新的发展方向。C即应用客户端,后面两个S分别代表业务服务器和数据库服务器。该种结构能够很好地支持分布式办公,既发挥了桌面系统的处理性能,又通过对服务的集成,利用远程数据计算技术,减少了桌面系统的维护。
如果考虑到应用的多变性,各架构的内部实现还可以采用层次化设计思想。例如:表示层可以采用Flex技术。Flex是一种专用于开发Web应用程序表示层的框架,其页面表现力极为丰富、交互性强,一方面具有桌面应用程序的响应速度快的特点,另一方面又具有Web应用程序客户端的免安装、免维护等特点。Flex采用XML标准,与Web Service具有良好、高效的接口。业务层采用Web Service技术。Web Service是一种部署在Web上的对象/组件,是新一代网络应用编程的核心。它具有封装性好,安全性高,松散耦合,内部实现对用户透明等特点。通过使用标准协议和规范,可扩展性强,具备良好的异构性。数据层采用Oracle 10g数据库管理平台。Oracle是目前应用最为广泛、安全性最高、技术最为成熟的数据库管理系统。作为大型应用系统的数据库,Oracle自然是首选。这样一来,每层实现特定的功能,并通过标准接口向上层提供透明的服务,最大限度地实现了系统各模块的功能独立性,每一层的改动不影响其它层次。这样可以方便地添加、修改和删除应用,提高系统的可维护性。系统在设计之初要考虑到系统以后的扩展。采用层次结构,保证功能实现与通讯接口最大限度的独立,加上在与通信平台的接口设计上采用标准化,可以在以后实现和新系统的无缝连接。
分层设计的松散耦合好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发[3]。分层设计的思想还为后面的开发带来了极大的便利。例如:开发人员可以只关注整个结构中的其中某一层的开发;可以很容易地用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于各层逻辑的复用等。
二、系统开发模式的选择
确定系统架构之后,下一步则是选择系统开发的模式。常用的开发模式有:瀑布、螺旋、喷泉、V模型、敏捷开发等。根据项目需求变化的频度、用户本身对需求的清晰度、项目团队的技术能力、项目的工期限制和各开发模型本身所具有的特点进行分析来决定采用哪种开发模型。
1)项目的需求变化频度及风险程度:如果系统的业务需求在未来的变换频度和风险程度都较低,可以考虑选择瀑布开发模型;如果变换频度和风险程度较高的系统,则可以考虑选择螺旋开发模型;如果需求变化快,用户又希望频繁看到系统新的版本,则可以考虑采用敏捷开发。
2)用户对需求的清晰度:如果用户对项目的需求不是非常明确,开发人员需要和客户多次沟通确认才能确认需求,且需求一改再改,则在瀑布模型基础上结合原型化方法是一个不错的选择。
3)项目团队的技术沉淀:应尽量选择项目开发成员比较熟悉的开发模式来开发,即能保证进度,又能保证质量。例如,之前的项目绝大多数都是使用瀑布模型进行开发的,因此开发团队对于瀑布开发会有比较深刻的理性认识和丰富的实践经验,则选择选择瀑布式比较适宜。
4)开发模型本身的特点:瀑布开发模型适和需求变化不频繁但是风险程度较低的项目;原型化方法则具有开发周期较短、节省成本的优势,同时用户参与程度高,可以有效地明确用户的需求;螺旋开发模型适合需求变化频繁、风险程度高的项目。
随着软件技术的不断发展,开发模型也在不断地进行变化。由最开始的瀑布模型,演化模型等向更适应需求变化的改进型瀑布模型、螺旋模型、喷泉模型、RUP(Rational Unified Process,Rational公司开发和维护的过程产品,将项目管理、业务建模、分析与设计等统一起来,贯穿整个开发过程,提高了开发效率。)模型等转变,然后又从重量型的RUP向轻量级的XP(Extreme Programming,极限编程)模型等转变。而近年来,随着软件交付周期的日益加快,迭代化开发似乎已经成为大多数软件开发团队的首选。但是迭代化开发对整个团队的需求把握、架构设计、团队协作及系统测试能力都提出了更高的要求[4]。相信软件的开发模型还将继续变化和演进,向着更注重过程管理、更可裁减、更体现个人技巧和团队合作的方向变化。
鉴于软件的发展趋势,系统不再是单一的B/S或者C/S架构,大型复杂的系统开始采用B/S和C/S相结合的多层架构设计,以实现较好的可维护性、较高的安全性和可扩展性。开发模型的选择需要综合考虑用户对项目的需求是否明确、需求变化是否频繁、项目的规模和风险程度、项目团队的技术力量等实际情况。
参考文献
[1]张友生.系统分析师教程[M].清华大学出版社,2010.
[2]赵卓君,等.Java程序设计高级教程[M].清华大学出版社,北京交通大学出版社,2011.
[3]百度百科.PetShop4,互联网[EB/OL].http://baike.baidu.com/view/1737978.htm,2012.5.20.
B/S多层结构 第2篇
C/S结构与B/S结构在高速公路管理软件方面的应用
结合辽宁省高速公路机电系统软件实际情况,介绍C/S结构与B/S结构及它们之间存在的差异,为高速公路管理系统软件的`研发提供借鉴.
作 者:朱瑞新 ZHU Rui-xin 作者单位:辽宁省高速公路管理局,沈阳,110003刊 名:北方交通英文刊名:NORTHERN COMMUNI CATIONS年,卷(期):“”(2)分类号:U412.6关键词:高速公路 C/S B/S
B/S多层结构 第3篇
1 B/S三层结构基本思想
B/S(浏览器/服务器)的软件体系结构是随着Internet技术的兴起对C/S结构的一种改进的结构。在这种结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓的三层结构。B/S机构主要是利用不断成熟的www浏览器技术,结合浏览器的多种script语言和ActiveX技术,用同一浏览器就实现了原来要复杂专用软件才能实现的强大功能。并节约了开发成本,是一种全新的软件体系构造技术。随着Windows操作系统将浏览器技术植入操作系统内部,这种结构更加成为当今应用软件的首选结构。
软件系统的改进和升级越来越频繁,B/S结构的产品明显体现其方便的特性,无论用户规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地只需要把服务器连接上网即可立即进行维护和升级,对人力、时间、费用的节省是相当惊人的。
无论是办公自动化管理系统、人力资源管理系统、ERP还是我们要开发的网上竞价系统,就发展趋势来看,采用统一的B/S结构开发的方式,无论是现在还是将来都是最好的选择。
2 系统总体设计
2.1 设计思想
网上竞价系统是由前台管理和后台管理两部分组成。前台管理采用基于Web浏览器/服务器(Browser/Server)的网络体系结构,即B/S三层结构;后台系统管理采用客户端/服务器(Client/Server)的网络体系结构,也可以说C/S两层结构。
系统的前台部分主要采用微软的ASP(Active Server Page)编写,服务器端脚本用VBScript编写,客户端脚本采用JavaScript和VBScript来编写,数据库使用SQL Server数据库,服务器是Windows Server 2000+IIS5.0。并且前台管理是基于浏览器/服务器(Brower/Server)的三层结构。
后台部分主要采用Microsoft visual Basic 6.0开发,后台管理部分是基于客户端/服务器(Client/Server)的二层结构。其三层结构图如图1所示。
前台的管理与后台的管理是相对独立的而且应该是独立的;前台管理和后台管理在逻辑上的统一是通过访问同一个数据库来实现的。
2.2 系统总体结构设计
图2为系统结构设计。
2.3 系统功能模块分析
1)前台管理部分的功能模块由用户登录、新用户注册、用户信息的修改、用户个人信息的查看、信息查询、公告栏、商品报价、提交商品信息、商品竞价等组成。
新用户注册---凡是想要参与商品竞价的采购方/供应方,必须先进行注册,填写一些必需的基本信息,包括用户名、密码、E-mail、联系电话、传真、通讯地址、真实姓名、信用卡号、身份选择(买方/卖方),我们会对提交的基本信息进行审核,通过审核的用户,三天后会收到正式纳入会员的通知和注册的序列号。
用户登录---用户登录时需要输入用户名和密码,还要进行身份认证(确认是买方/卖方),只有通过身份验证的用户才能进入相应的登录界面。
商品报价---买方登录后,填写采购商品的内容。内容包括:填写商品名、选择商品类别、选择商品的质量等级、填写采购商品的最高价(底价)、买方所希望的竞价开始和结束时间(仅填写某年某月某日,竞价的具体时间由后台管理员设定)。经确认信息无误后,提交报价表单。系统会自动对买方提交的商品信息在商品表中进行查询,查询结果放在视图中。
添加商品信息---卖方登录成功后,便可以添加商品。包括选择商品的种类、填写商品名、选择商品的质量等级、填写商品的基本价格、填写商品的描述。经过确认对所添加的商品信息无误后,提交商品信息表单。提交后,系统会自动生成商品序列号。
商品竞价---卖方收到管理员发送的E-mail后,在规定的时间内登录网上竞价系统,对自身的商品进行竞价,在某一个时间段内一个卖方只能对一种商品进行竞价。卖方在竞价之前,需要记住参与竞价的商品序列号。竞价时首先对自身参与竞价的商品进行确认,确认通过后,系统显示给卖方(供应方)要参与竞价的商品名、商品的最高价、商品质量等级以及卖方(供应方)每次出价的最小下降幅度。然后,开始对商品出价,确认后,显示出价的卖方用户名、卖方的出价、商品的出价时间、竞价的次数。同一用户在两分钟内不可以出价。卖方可以查看竞价的动态过程,然后重新出价。规定的竞价时间到,本次竞价结束,取竞价的最后一条记录写入成功交易表中,同时显示本次竞价的卖方用户名、买方用户名、商品名、买方的最高价、成交价、成交时间。管理员发E-mail通知竞价成功的双方本次竞价的一些基本信息。
2)后台管理部分功能划分为数据库中表的基本维护、信息查询、发布商品竞价的具体时间、登记交易成功的商品信息。
数据库表的基本维护---对系统涉及到的数据库中表记录进行的插入、删除、修改等。
信息查询---主要是对商品信息、用户注册信息、成功交易记录进行查询。
发布竞价的具体时间---管理员对存放依据买方信息要求查询的结果视图进行查询,符合条件的卖方管理员负责发E-mail通知他们竞价的具体时间和参与竞价的商品序列号、商品名等信息。
登记交易成功的记录---交易结束,对当前竞价的情况进行记录。同时发E-mail给参与本次商品竞价的买卖双方,告知双方本次竞价的情况和对方的联系方式。
2.4 商品竞价过程的流程图
图3为商品竞价过程的流程图。
3 系统的开发难点与开发技巧
问题1:当不同的用户登录进入该系统,直到离开,用户名和用户序列号在这一段时间的保存问题。
解决技巧:利用ASP技术中的session对象技术。
Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个session。在Web应用程序中,当一个用户访问该应用时,session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,它也拥有自己的session变量,但两个用户之间无法通过session共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。
问题2:数据库的连接、数据的读取以及数据库的关闭问题。
解决技巧:用ADO访问数据库技术
ADO(Active Data Object)是针对当前软件所支持的数据进行操作的最有效最简单而且功能最强大的方法。ADO是一种功能强大的数据访问编程模式。它把大部分数据源编程的属性直接扩展到Active Server上。ADO ActiveX数据对象是一个ASP内置的ActiveX服务器组件,用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。
ADO可用VBScript、JavaScript语言来控制数据库的访问和查询结果的输出;ADO中使用RecordSets对象对数据库进行操作;可以连接多种支持ODBC的数据库。
问题3:多值查询问题。
解决技巧:对待查的查询条件,如果为空,则赋一个在数据库中不存在的字符。
问题4:系统自动为注册成功的用户分配一个序列号并且不能重复。
解决技巧:添加新的用户信息时,检测要操作的表是否为空。若为空,并且是买方注册,注册序列号则赋值为1,否则,注册序列号的值就为当前的序列号的值加2。如果要操作的表为空,并且是卖方注册,注册序列号则赋值为2,否则,注册序列号的值就为当前的序列号的值加2。这样仅一个注册序列号就可以唯一识别某一个用户,并且还可以确认是卖方还是买方。
问题5:如何实现用买方提出的采购要求作为查询条件在商品信息表中查询符合条件的商品信息。
解决技巧:利用视图来完成查询结果。
由于视图是一个虚表,它可以显示表中有的所以信息。SQL Server 2000环境下的设计视图是一个功能强大、非常好用的工具。对于给定的三个数据表,进行相应的关联后,就可以按照设定的条件显示想要得到的信息。在设计中使用视图,对查询信息起到了意想不到的效果。
4 结束语
网上竞价系统是严格按照软件工程的思想进行规划和设计的。在整个系统的设计中,既有数据库技术和开发动态网页的ASP技术,也有维护数据库的Visual Basic 6.0技术。
当然,在有限时间和知识范围内,该系统还存在一些不足的地方。比如,商品信息表中的“信誉度”字段,没有充分发挥它的作用,最初设置该字段时是这样考虑的:信誉度字段的值采取积分制,积分的来源由两个方面,一个是每交易成功一次加多少分,另一个来自买方(采购方)的投票,然后按设定的积分段划定等级。
参考文献
[1]袁秀丽,张瑞敏.网上竞价系统[D].山东科技大学,2004.
[2]汪晓平,钟军.ASP网络开发技术[M].2版.北京:人民邮电出版社,2004.
[3]张海藩.软件工程导论[M].北京:清华大学出版社,2002.
B/S多层结构 第4篇
关键词:办公自动化;B/S结构;网络文件管理;在线编辑
随着计算机及网络技术的飞速发展,办公文件或项目文件管理信息化、网络化是必然的趋势。世界飞速的数字信息化进程必然导致数据的海量剧增,海量级数据信息很快将人们淹没在数据的海洋之中。在这些海量数据面前,文档数据资源占据了绝大部分。办公人员之间如此巨大的数据往来,且不仅仅是单纯的上传下载,更主要的是对文件的归类、汇总、存档以及在线编辑等工作。本文提出充分利用计算机网络技术来实现文件管理,这样不仅利于实现数据信息的共享和网络办公自动化、提高工作效率,更能减轻工作人员负荷,使文件管理更科学、更规范、更安全。
一、系统功能设计
该系统是以文件为中心,解决和满足用户在局域网环境下越来越多地面临文件繁杂、管理困难、协作共享困难以及重复性等问题。具体功能结构框图如图1所示。
系统可分为文件协作及管理、文件管理、系统管理等三个模块。在该系统中,着重设计和实现文件管理模块。它是整个系统的核心。文件协作及管理模块和系统管理模块只作简单的设计实现,不作过多的设计详述。下面,分别对各模块的详细架构与概要设计进行阐述。
1.文件协作管理功能。在本系统中,文件协作管理模块从系统的体系结构中独立出来,但其功能依附于文件管理模块,主要是协作文件管理模块中各种文件的在线阅读和修改,实现传统意义上的文件更新和备份管理。
2.文件管理功能。文件管理模块是网络文件管理系统的核心,是整个系统最重要的一个模块。它的主要功能包括文件资源的浏览、文件上传下载、文件或文件夹的基本操作、用户文件空间管理和账号管理等。①文件资源浏览:该模块可罗列所有文件和文件夹及其相关信息。②文件及文件夹操作:可对文件资源进行相关的操作。对通用格式的文件资源。③文件上传:该模块主要使用ASP Upload组件,同时支持无组件、SA-FileUp、LyfUpload三种组件上传,支持对各种文件的上传。④用户空间管理:该模块是以用户为中心的文件管理模块。用户注册登录进入特定的用户空间对其文件进行管理。在文件空间的管理中,模块提供用户文件的上传、下载、授权访问、文件分组和文件或文件夹的基本操作功能,如创建、删除等。
3.系统管理功能系统管理功能主要是对系统资源进行管理配置,包括多用户管理,系统空间计算,系统配置等。用户管理中管理员对普通用户进行空间的分配。系统配置中进行操作类型权限的设置,可以设置上传文件格式和单个文件大小等。
二、系统设计流程
系统采用B/S结构以及ASP+数据库技术设计实现。系统分为前后台两部分。系统前端主要面向普通用户,采用包括CSS层叠样式表和JavaScript在内的多种动态网页制作技术进行页面设计;后端面向管理员设计,实现数据的规范管理、便捷存储、高效传输,从而提高文件管理整体性能。为了资源的严肃性和保密机制,整个系统严格按权限访问。图2为系统设计流程框图。
三、关键技术实现
1.数据库访问技术。本系统采用常用的ADO数据库访问技术。ADO是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,只需要关心到数据库的链接即可。
2.文件上传实现技术。考虑性能及界面设计及实现等方面的需要,系统使用文件上传组件ASPUpload完成文件的上传,ASPUpload组件功能非常强大,不仅可以上传文件,还可以像普通表单一样上传一些表单元素值,这样就可以给上传的文字加一些说明文字。使用组件需要考虑是否可以覆盖,是否要限制大小,是否要重新命名等各种情况。当用户文件上传后,就将包括文件信息和表单中其他信息在内的所有数据全部传送到服务器端。剩下的工作就要利用ASPUpload组件从这些数据中分离出文件和普通的表单元素的信息。
建立文件上传组件方法:Dim Upload;Set Upload=Server.CreateObject(“Persits.Upload”);将以原名保存文件到服务器指定的文件夹:Upload.Save Server.Mappath(“Persits.Upload”);为了避免文件名重复时会覆盖问题,在执行Save方法前要设置属性:Upload.OverwriteFiles=False
3.在线编辑实现技术。文件在线编辑采用FSO与ADODB.Stream。它使用超链接形式,在文件服务器直接定位文件,然后打开相应软件进行编辑或阅读。编辑过程中若要对文件进行复制、移动、删除等操作,则采用FileSystemObject关于文件的几个方法,CopyFile、MoveFile、DeleteFile、FileExists。①删除文件方法:for each filename in files;tempname=frompath&“”&filename'获取文件路径;if fso.FileExists(tempname)then'判断文件是否存在;fso.DeleteFile tempname,true'删除目标文件;end if;next;②新建文件方法:if fso.FileExists(realpath)then'判断文件是否存在;set fso=nothing'文件已经存在;call showmsg(“错误!你要新建的文件已经存在!”,“back:off”);response.end;end if;fso.CreateTextFile(realpath)'新建文件;if not fso.FileExists(realpath)then'文件不存在;set fso=nothing;call showmsg(“错误:新建文件失败!请确保你有相应的权限。”,“back:off”);response.end;end if
网络文件管理系统实现了基于网络的文件上传下载、文件在线编辑以及协作同步、备份管理等功能。系统经过内部数据测试及运行,收到了较好的效果。很好地解决了纸质文档的收拣难、找寻难、传递难和重用性差等问题,明显改善了文档资料的管理效率。
参考文献:
[1]尚俊杰,秦卫中.网络程序设计-ASP案例教程[M].清华大学出版社,2005:22-54.
[2]李祥.基于Web的网络文件管理系统的研究与实现[D].兰州大学,2010.
[3]林天华,马素霞,赵霞.基于web的大文件上传技术研究[J].科技导报,2007,25,(16):30-33.
[4]丁全.基于Internet/Intranet的文件同步系统的研究与实现[D].北京:华北电力大学,2008.
[5]李绪福.多目录文件同步系统的研究[D].南京:东南大学,2009.
B/S多层结构 第5篇
关键词:C/S,B/S,混合结构
随着计算机软硬件和网络技术的不断发展, 给传统应用软件的开发带来了深刻的影响, 计算机软件体系结构从单机结构发展到基于网络的体系结构。基于网络和Web的软件和应用系统无疑成为更开放和灵活的体系结构, 其中C/S和B/S成为当今世界开发模式技术架构的两大主流技术。
一、C/S结构介绍
C/S (Client/Server) 结构, 即客户机和服务器结构。通过该软件体系结构可以充分利用两端硬件环境的优势, 将任务合理分配到Client端和Server端来实现, 降低了系统的实际开销。C/S结构按照其体系结构分为两层和三层结构。
C/S两层结构:前端是客户机, 即结合了显示逻辑与事务处理逻辑, 接受用户的输入请求, 并向数据库服务提出请求。后端是服务器, 即数据处理逻辑和数据库, 将数据提交给客户端, 客户端将数据进行计算并将结果呈现给用户。
C/S三层结构:表示层是应用的用户接口部分, 它担负着用户与应用间的对话功能。
功能层是应用的主体, 它用程序的方式将将具体的事务处理逻辑表现出来。
数据层是应用的数据部分, 即DBMS (数据库管理系统) , 负责管理对数据库数据的读写。三层结构是个更灵活的体系结构, 它把显示逻辑与事务处理逻辑分开, 让事务处理逻辑成为独立处于中间的功能层。程序与用户接口和数据库保持相对独立性, 具有更好的移植性, 有利于系统扩展。
C/S体系结构虽然采用的是开放模式, 但只是系统开发过程中的开放性, 在特定应用中无论是Client端还是Server端都还需要特定的软件支持, 需要针对不同的操作系统系统开发不同版本的软件, 导致它的维护和升级比较困难。
二、B/S结构介绍
B/S (Browser/Server) 结构, 即浏览器和服务器结构。它是随着Internet技术的兴起, 对C/S结构的一种变化或者改进的结构。在B/S结构中, 用户工作界面和少部分事务逻辑是通过浏览器 (Browser) 来实现, 其主要事务逻辑在服务器端 (Server) 实现。这样就大大简化了客户端电脑负荷, 减轻了系统维护与升级的成本和工作量, 降低了用户的总体成本。
在B/S结构中, 处于第一层的是浏览器, 可以采用Windows的IE浏览器或者其他常用浏览器。处于第二层的是Web服务器, 由一台或多台服务器组成, 可以采用IIS或者Apache等软件进行搭建, 该层具有良好的可扩充性, 可以随着应用的需要增加服务器的数目。处于第三层的是数据库服务器, 由数据库系统和管理系统组成, 可以根据实际需要采用SQL Server或者Oracle等常用DBMS。
B/S的基本工作模式是:
1. 浏览器根据用户操作对Web服务器提出访问请求。
2. Web服务器将请求分析处理, 通过数据接口访问DBMS以进行数据的查询统计或事务的提交。
3. 处理逻辑根据DBMS返回的结果生成HTML网页经过服务器向客户的浏览器返回结果。
4. 显示逻辑-浏览器 (Browser) 将HTML结果显示给用户。
以目前的技术看, 建立基于B/S结构的网络应用, 并通过Internet/Intranet结构下数据库应用, 相对容易把握、成本也是较低的。能实现不同的人员, 从不同的地点, 以不同的接入方式访问和操作共同的数据库。能有效地保护数据平台和管理访问权限, 服务器数据库也相对安全。
三、C/S和B/S结构比较与分析
1. 系统的维护与升级
C/S系统的维护与升级, 必须从整体进行考察。部分模块的改变, 可能影响到其它模块, 使系统维护和升级成本比较大。对于B/S而言, 开发、维护等几乎所有工作集中在服务器端, 当需要对系统进行升级时, 只需更新服务器端的程序即可, 减轻了系统维护与升级的成本。
2. 用户的操作与使用
对于C/S模式, 由于客户端程序有自己特定的使用方法和要求, 用户需要接受专门使用培训, 但在用户交互性、错误提示、在线帮助等方面有强大的功能。对于B/S模式, 客户端程序只是一个简单易用的浏览器软件。管理员和用户无需培训, 就可以直接使用, 但用户交互性、错误提示等功能相对较弱。
3. 系统结构的安全性
由于C/S是配对的点对点的结构模式, 可以采用适用于局域网、安全性比较好的网络协议, 安全性可以得到较好的保证。必须安装客户端程序且具有相应权限, 才能与服务器端进行交互, 从而保证系统的安全性。而B/S采用一点对多点、多点对多点这种开放的结构模式, 并采用TCP/IP等运用于网络的开放性协议, 用户可以直接利用WWW浏览器进行服务器的探测和访问, 系统安全性相对较弱。
四、C/S和B/S混合结构的实际应用
通过上面的分析我们可以看到, C/S结构和B/S结构分别具有自己的优势和不足。因此我们可以在实际的设计与开发过程中, 可以考虑采用C/S与B/S相混合的结构。相对于单独采用C/S或B/S, 这种方案的优点在于:
1. 保证数据的安全性和统一性, 可以加强对数据库的管理控制。
2. 有效地利用内部计算机的资源, 简化了部分客户端的开发与使用。
3. 保证复杂功能的交互性和普通功能的易用与统一。
4. 系统维护和升级简便, 布局合理, 网络使用效率较高。
在对学院身份识别系统的系统设计过程中, 系统结构设计采用了C/S和B/S的混合结构。将系统的所有子功能分类, 分析哪些功能适合采用C/S, 哪些适合采用B/S。
适合采用C/S的子功能具备以下特点:
(1) 要求具有较强的交互性, 客户端由于需要与考勤机进行通讯, 单纯的浏览器 (Browser) 无法完成该功能。
(2) 使用范围小, 地点固定。客户端安装在楼宇的值班室, 地点相对固定。
(3) 要求处理大量数据。由于要与考勤机进行频繁的交互, 数据的吞吐量相对较大。
适合采用B/S的子功能具备以下特点:
(1) 使用范围广, 地点灵活。对于需要进行数据管理和维护的人员, 地点相对分散, 所以可以采用浏览器+相应权限进行管理和维护。
(2) 维护和升级相对频繁。由于系统在使用过程中, 可能会发生适应性维护, 可以将系统的管理部分采用B/S结构。
数据的统一性。将系统所需要的数据集中放在数据服务器端, 保证数据的统一性和惟一性。
客户端采用VC进行开发, 采用了基于单文档的结构, 其视图类的基类采用CHtmlView类, 目的是用来显示从服务器端返回的网页内容。
服务器端采用JSP进行开发, 使用Apache Tomcat进行发布, 后台数据库采用SQL Server, 目的是接受客户端发送的数据, 查询完毕后返回给客户端显示。
五、结束语
综上所述, 采用B/S应用结构并不一定要全部取代传统的C/S结构, 从某种意义上二者应用界限并不清晰, 而且往往是互相补充、相辅相成的。在实际应用中可以根据实际需要将B/S结构和C/S结构结合起来, 开发出具有安全、高效和较强交互性的系统。
参考文献
[1]吕延岗张红瑞等:基于C/S和B/S混合模式的身份识别系统的设计与实现[J].计算机与数字工程, 2008, (8)
[2]钟睿洪蕾:MIS开发模式的策略研究[J].现代商贸工业, 2008, (4)
B/S体系结构的开发应用 第6篇
在对B/S体系结构分析的基础上, 提出了一种新的体系结构, 把B/S与C/S相结合, 将组件技术和ActiveX技术分别应用在服务器端和客户端, 开发高效、安全的应用系统。最后给出了一个应用实例。
1 COM组件技术和ActiveX技术
COM是一种技术标准。它是由微软公司创建, 提供了使多个应用程序或组件对象协同工作并相互通信的能力。COM组件是遵循COM规范编写、以WIN 32动态链接库 (DLL) 或可执行文件 (EXE) 的形式发布的可执行的二进制代码。遵循COM的规范标准, 使组件与应用、组件与组件之间可以相互操作, 极其方便地建立可伸缩的应用系统。从工程的角度看, 组件在应用开发方面具有以下特点。
1) 组件与开发的工具语言无关。开发人员可以根据需要和爱好选择特定语言工具实现组件的开发。常用的开发工具是VB、VC和Delphi。将组件编译成DLL或EXE置于服务器端。可有效保护商业秘密。
2) 通过接口有效保证了组件的复用性。一个组件具有若干个接口, 每个接口代表组件的某个属性或方法。其它组件或应用程序可以设置或调用这些属性和方法来进行特定的逻辑处理。组件和应用程序的连接是通过其接口实现的。负责集成的开发人员无须了解组件功能的如何实现, 而只须创建组件对象与其接口建立连接。在保证接口一致性的前提下, 可以调换组件、更新版本, 也可以将组件应用在不同的系统中。
3) 组件运行效率高、便于使用和管理。因为组件是二进制代码, 比ASP脚本运行效率高, 所以核心的商务逻辑计算任务必须由组件来负责, ASP脚本只起组装组件的角色。而且组件在网络上的位置可被透明地分配, 组件和使用它的程序既能在同一进程中运行, 也可在不同进程或不同的机器上运行。组件之间是相互分离和独立的。利用MTS或COM+对组件管理更加方便。
ActiveX是遵循COM/DCOM规程而开发的用于INTERNET的一种对象链接与嵌入技术 (OLE) 。COM是应OLE设计者的需求而诞生的。其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务。对于基于WEB的应用而言, 它提供了使组件嵌入到WEB页面以扩展交互功能的应用机制。客户端控件是面向用户的, 以可视化的图形视频或文字界面、或者音频形式在浏览器上出现。但它可能并不是浏览器的组成部分。这些控件原先是放在服务器上的。当浏览器发出请求时, WEB服务器回传页面, 由浏览器负责解释。在解释过程中, 若发现页面中要求调用ActiveX控件时, 则用该控件的在页面中注明的ID值先在本地的注册表内进行查询。若已经存在, 则说明该控件已经在本地安装, 然后通过注册表中的相关信息直接使用该控件;否则就要根据页面中所提示的该控件所在的服务器上的路径到服务器上去下载并且自动完成在本地的安装注册, 使该控件成为本地资源, 供今后使用, 这就是所谓“一次下载, 永久使用“。客户端控件一旦在本地安装完毕, 就等价于一个可执行的应用程序, 它能访问使用本地的资源, 甚至进行远程访问。当然, 这可能带来了安全性问题。
2 基于B/S体系结构开发应用系统
2.1 B/S三层体系结构
在B/S体系结构系统中, 用户通过浏览器向分布在网络上的许多服务器发出请求, 服务器对浏览器的请求进行处理, 将用户所需信息返回到浏览器。B/S结构简化了客户机的工作, 客户机上只需配置少量的客户端软件。服务器将担负更多的工作, 对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求, 而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来, 由Web服务器单独组成一层来负担其任务, 这样客户机的压力减轻了, 把负荷分配给了Web服务器。这种三层体系结构, 如图1所示。
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来, 也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器, 使客户机一下子"苗条"了许多, 不再负责处理复杂计算和数据访问等关键事务, 只负责显示部分, 所以维护人员不再为程序的维护工作奔波于每个客户机之间, 而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立, 任何一层的改变不会影响其它层的功能。
2.2 B/S三层体系结构的不足
经过近一两年的应用, B/S体系结构也暴露出了许多不足地方, 具体表现在以下几个方面。
1) 由于浏览器只是为了进行WEB浏览而设计的, 当其应用于WEB应用系统时, 许多功能不能实现或实现起来比较困难。比如通过浏览器进行大量的数据输入, 或进行报表的应答都是比较困难和不便的。
2) 复杂的应用构造困难。虽然可以用ActiveX、Java等技术开发较为复杂的应用, 但是相对于发展已非常成熟C/S的一系列应用工具来说, 这些技术的开发复杂, 并没有完全成熟的技术供使用。
3) HTTP可靠性低有可能造成应用故障, 特别是对于管理者来说, 采用浏览器方式进行系统的维护是非常不安全与不方便的。
4) WEB服务器成为对数据库的唯一的客户端, 所有对数据库的连接都通过该服务器实现。WEB服务器同时要处理与客户请求以及与数据库的连接, 当访问量大时, 服务器端负载过重。
5) 由于业务逻辑和数据访问程序一般由JavaS-cript、VBScript等嵌入式小程序实现, 分散在各个页面里, 难以实现共享, 给升级和维护也带来了不便。同时由于源代码的开放性, 使得商业规则很容易暴露, 而商业规则对应用程序来说则是非常重要的。
为克服以上不足, 在原有B/S体系结构基础上, 采用一种新的体系结构。
在该种结构体系中, 一些需要用WEB处理的, 满足大多数访问者请求的功能界面 (如信息发布查询界面) 采用B/S结构。后台只需少数人使用的功能应用 (如数据库管理维护界面) 采用C/S结构。组件位于WEB应用程序中, 客户端发出HTTP请求到WEB SERVER。WEB SERVER将请求传送给WEB应用程序。WEB应用程序将数据请求传送给数据库服务器, 数据库服务器将数据返回WEB应用程序。然后再由WEB SERVER将数据传送给客户端。对于一些实现起来困难的功能或一些需要丰富的HTML页面, 通过在页面中嵌入ActiveX控件来实现。
采用这种结构优点在于: (1) 充分发挥了充分了B/S与C/S体系结构的优势, 弥补了二者不足。充分考虑用户利益, 保证浏览查询者方便操作的同时也使得系统更新简单, 维护简单灵活, 易于操作。 (2) 信息发布采用B/S结构, 保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都是基于工业标准, 可以在所有的平台上工作。 (3) 数据库端采用C/S结构, 通过ODBC/JDBC连接。这一部分只涉及到系统维护、数据更新等, 不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且在客户端可以构造非常复杂的应用, 界面友好灵活, 易于操作, 能解决许多B/S存在的固有的缺点。 (4) 对于原有基于C/S体系结构的应用, 可以非常容易地升级到这种体系结构, 只需开发用于发布的WWW界面, 可以保留原有的C/S结构的某些子系统, 充分地利用现有系统的资源。使得现有系统或资源无需大的改造即可以连接使用, 保护了用户以往的投资 (5) 通过在浏览器中嵌入ActiveX控件可以实现在浏览器中不能实现或实现起来比较困难的功能。比如通过浏览器进行报表的应答。另外, 在客户端ActiveX控件的加盟, 可以丰富HTML页面, 产生另人惊奇的效果。 (6) 将服务器端划分为WEB服务器和WEB应用程序两部分。WEB应用程序采用组件技术实现三层体系结中的商业逻辑部分, 达到封装源代码, 保护知识产权的目的。Internet应用程序大部分属于分布式应用程序, 采用组件技术一个重要特点就是它的处理能力能够随着用户数量、数据量所需性能的提高而增加。COM的无逢扩展集COM+, 有着如内存数据库、负载平衡等强大的功能。
3 结语
随着Internet普及, 基于B/S体系结构开发应用程序变为流行的方式。将组件技术应用到B/S体系结构中, 实现业务逻辑封装, 提高软件的可重性和可维护性。
摘要:介绍了组件以及ActiveX技术, 分析了Browser/Server体系结构开发应用软件的特点和不足。提出了克服该不足的一种方法。
关键词:WEB,COM,应用软件,服务器
参考文献
[1]余英, 梁刚.VC实践与提高COM和COM+篇[M].中国铁道出版社.
[2]林子禹.基于WEB与组件技术的企业应用系统设计模型[J].计算机工程与应用, 2000 (6) .
[3]夏骄雄.基于Intranet的管理信息系统[J].小型微型计算机系统, 2001 (4) .
[4]楼伟进, 应飚.COM/DCOM/COM+组件技术[J].计算机应用, 2000 (4) .
B/S结构教学管理系统的设计 第7篇
关键词:B/S,教学管理系统,MVC,JSP
1 引言
目前,新的办学模式和新兴专业不断涌现。很多学校发展迅速,一般由多个校区构成,地理位置跨度很大,如何增进校区间的沟通,加强学院的统一管理,确实是一件十分紧迫和重要的事情。
基于B/S结构的教学管理系统,不但是数据管理软件,而且是多用户进行交流的平台。该系统能够增强教师与教师间、教师和学生间的交流,进一步加强学校信息化程度,提高办事效率。
2 系统的特点
B/S结构的教学管理系统主要由两部分组成:客户端(浏览器)和服务器端(Web程序)。
在服务器端需要Web服务器(Web程序的运行环境)、数据库管理系统等软件的支持,在客户端只需要浏览器即可。
3 关键技术
构建Web程序可从多种技术中作出选择,比如:基于微软IIS Web服务器的ASP/ASP.NET技术;基于Java平台的JSP技术等。文中针对后者进行讨论。
构建基于Java平台的JSP程序可以直接采用MVC模型进行构建,也可以采用某些软件架构,比较典型的架构有用Struts、Rich Faces等。JSP程序员可以在这些软件架构基础上进行快速开发,但需要具备架构的配置方法、标签库的使用等相关知识。本文项目直接采用MVC模型创建的,不涉及任何软件架构,读者完全可以将其移植到任一软件架构下。
MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。MVC应用程序把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。文中涉及的项目中3角色之间的关系如图1所示。
图1 Servlet是运行于服务器端的Java应用程序,在本系统中用于Web页面的调度,相当于“控制器”。JSP文件用于和用户进行交互,相当于“视图”。Java Bean是按照一定规范编写的Java类,在系统中它们被用于定义数据类型以及数据库数据的访问,相当于“模式”。
开发工具的选择余地很大。下面提供一套方案:
Net Beans(Web开发、打包工具)、Dreamweaver(JSP、HTML文件开发工具)、Fire Works(网页图片设计工具)、Tomcat5.0(Web服务器)、My SQ;Server(数据库服务器)。
4 需求分析
4.1 系统需求
4.1.1 用户身份鉴别
不同类型的用户其权限也不同。按照权限大小可以分为4类用户:系统维护管理员、一般管理人员、普通教师、学生。
(1)系统维护管理员:拥有系统的所有权限,主要负责对系统的日常维护、系统的安装部署、原始数据的导入、系统故障排除、不同人员权限的分配。
(2)一般管理人员:可以进行新闻发布、相关数据库数据的导入导出、文件上传与下载、收发信件、信息查询、个人信息修改等操作。
(3)普通教师用户:具有信息查询、文件上传与下载、收发信件、修改个人资料的权限。
(4)学生用户:具有信息查询、文件下载、收发信件、修改个人资料的权限,学生用户不具备文件上传的权限。
4.1.2 数据库初始化
由系统维护管理员负责系统初始数据库的建立,主要是:部门数据表、班级数据表、学生数据表、成绩数据表、教师数据表、角色权限表、新闻数据表、附件数据表、信件数据表、共享文件数据表等数据表结构的创建和初始数据导入。
4.1.3 新闻公告
所有用户正常登录后,首先看到的是学院新闻;负责新闻发布的管理人员可以随时进行新闻数据发布。
4.1.4 信件收发
用户正常登录后,可以进行信件的收发,同时可以发送和接收附件;用户可以删除过时的信件,可以按照发信人、信件收到的时间、是否已经读过等方式对信件排序。
4.1.5 文件共享
提供一切不涉及保密问题的相关文件的上传与下载功能。
4.1.6 个人资料修改
用户可以修改自己的部分个人资料(如:电话、籍贯、登录密码等)。为管理方便,系统中用户登录名采用职工编号或学号,故此登录名不可修改。
4.1.7 数据管理
相关部门的管理人员可以根据工作情况随时从数据库中导出数据,并且以Excel文件格式保存到本地计算机,比如:成绩管理人员可以从数据库中导出学生成绩记录;如果需要大量更新数据,相关管理人员可以将本地数据(Excel表)导入数据库(比如:成绩管理人员可以随时将最新成绩信息导入数据库,发布到系统中);如果数据量较少,可以按单条记录的方式添加记录、删除记录、更新记录。
4.1.8 教务管理
教务管理主要包括:教师安排、新学期注册、考务管理、成绩登录。
4.2 功能模块
根据系统需求分析,系统应该包含如图2所示的功能模块。
4.3 逻辑模型
系统采用MVC模式构建,由Controller Servlet根据程序配置文件Web.xml完成系统初始化工作。初始化工作主要包括:数据库连接的建立、所需Java Bean的声明等。系统逻辑模型如图3所示。
Controller Servlet负责接收客户端登录请求,传递请求给Authenticate.JSP文件,由Authenticate.JSP调用db Bean完成用户数据查询,并进行权限验证。若登录成功,根据用户角色进入不同的界面:系统维护管理员界面、一般管理员界面、普通用户界面。
Controller Servlet也有JSP页面导航的作用。比如:每当用户需要发送信件时,Controller Servlet负责将用户请求转移给信件收发中心;而当用户需要上传文件时,由Controller Servlet将请求转发给文档资料中心。
db Bean负责完成访问数据库的工作;common Data Bean负责保存系统运行中的临时数据,如:用户角色ID、用户ID等。
4.4 数据库
My SQLServer是开放源代码的自由软件,与Tomcat应用服务器一起使用既经济实用,效率和安全性也很高,比较适合本系统的实际情况,故此采用My Sql Server4.1作为后台数据库管理系统。
数据库由多个数据表构成,这里只给出定义角色权限表的SQL语句:
CREATE TABLE`role`(`id`int(3)NOT NULL default'-3'COMMENT'角色权限标志',`name`char(32)character set gbk NOT NULL default''COMMENT'角色名称',PRI-MARY KEY(`id`))COMMENT='角色权限表'。
类似的,可以定义“职工表”、“学生表”、“部门表”等其他数据表以及它们之间的约束关系。
4.5 代码类
本系统的代码类按照用途可以分为:数据描述类、基本数据库访问类、数据管理类、实用工具类、控制器类。为了维护和使用方便,除了引用的开源组件外,所有类文件放在同一个包中。
每个数据库表都有对应的一个数据描述类,比如与角色权限表role对应的类文件是Role.java,该类的每个实例代表role表中的一个记录;由于Java语言和项目自身的特点,项目运行过程中必然涉及到大量字符串操作和编码转换操作,可将这些操作放在实用工具类中;按照MVC的思想,应包含一个核心控制器类Controller Servlet;数据库操作大概分为两类:针对于普通用户的数据检索及单条记录修改、针对于管理员用户的批量数据修改和数据导入导出,这两类操作分别由基本数据库访问类和数据管理类完成。
下面只就控制器类Controller Servlet作简单说明。该类是javax.servlet.http包中的Http Servlet类的子类,它的作用主要是:(1)完成系统初始化。(2)负责JSP页面的调度。系统的初始化工作放在该类的init方法中;页面的调度工作放在该类的do Post方法中。
Controller Servlet类的结构如下:
需强调一点:请求中若涉及到文件的上传、下载,可以不采用Controller Servlet进行调度,直接将请求传递给相关页面,原因在于文件上传或下载过程中,客户端与服务器端通过http协议进行大量二进制数据流交换,若此时仍然借助Controller Servlet转发用户的http请求给其他JSP文件,容易发生错误。
除了自定义类文件,本系统中还引用了以下开源项目:Java Excel API(通过该组件可以方便地操作Excel文件)、JSPSmart Upload(通过该项目组件可以方便地实现文件的上传和下载)、My SQL-Connector-Java(通过该组件可以连接并操纵My SQLServer数据库)。
4.6 JSP文件
JSP文件的组织方式可以按照功能模块的方式组织,也就是按照JSP文件完成的系统功能不同安排在不同的文件夹下,例如:完成文件上传和下载功能的JSP文件放在document文件夹中;完成信件收发功能的JSP文件放在message文件夹中。
本系统中JSP文件可以分为两类:布局类、数据显示类。
4.6.1 布局类JSP
此类文件不具体显示数据,它只是负责构建用户操作界面的结构。为了使得界面外观一致,也为了便于批量修改JSP文件,在具体设计布局类JSP文件时,可以采用层叠样式。布局类JSP文件一般包括三部分:“页面头部”、“页面尾部”、“内容显示窗口”。“页面头部”显示系统名称、系统操作菜单;“页面尾部”可以显示版权信息、管理员信箱、当前登录用户及用户身份等信息;“内容显示窗口”负责显示数据和操作结构、提供交互式表单。
4.6.2 数据显示类JSP
此类文件的作用是:或者提供交互式表单、或者显示数据记录、或者显示用户操作结果。这一类JSP文件一般包括四部分:JSP指令、Java Script代码、Java代码、表单,这四部分在同一个JSP文件中可以不出现或出现多次。
图4是成绩查询文件(Grade.JSP)的运行效果,该文件包括3个子JSP文件:Header.JSP、Footer.JSP、listBody_Grade.JSP,分别负责显示页面头部信息、页面尾部信息和成绩信息。
JSP文件设计是难度较高、相关技术较多且又十分关键的任务,加之目前JSP调试工具的不完善,在整个系统设计过程中,JSP文件设计将会占整个工期的一半左右。
5 结语
在MVC软件开发模型的基础上,针对“B/S结构教学管理系统”的特点、技术难点进行了分析,并给出了系统需求分析报告和总体设计思路。
参考文献
[1]Netscape corp.Core JavaScript Guide.Netscape corp,2003.
[2]Budi Kurniawan.Java for the Web with Servlets,JSP,and EJB:A Developer's Guide to J2EE Solutions[M].New Rid-ers Publishing,2002.
[3]The Apache Software Foundation.The Apache Jakarta Tomcat 5Servlet/JSP Container Documentation.The Apache Software Foundation,2005.
B/S结构的网上考试系统的实现 第8篇
网上考试系统是现代教育信息化的趋势和我国高校教育信息化系统的一个重要部分。它通过充分利用学校现有的网络资源和计算机软、硬件资源实现无纸化考试。网络考试系统使得传统的考试向无限的网络延伸, 实现计算机自动为学生改卷, 大大简化了传统考试的流程。目前市面上比较流行的考试系统主要有两种:C/S结构和B/S结构。C/S结构 (即客户机/服务器模式) 分为客户机和服务器两层;B/S结构 (浏览器/服务器模式) 分为浏览器和服务器两层。C/S结构存在很大的缺陷, 由于服务器连接个数和数据通信量的限制, 这种结构的软件适于在用户数目不多的局域网内使用, 而且这种结构随着用户数目的增多维护量也会随着增加。B/S结构下软件应用的业务逻辑完全在应用服务器端实现, 用户表现完全在Web服务器实现, 客户端只需要浏览器即可进行业务处理。B/S结构的软件升级、维护工作十分简单, 只需要将服务器上面的软件设计到最新, 客户端也会随之升级。
结合本校实际情况和已有的考试系统, 本系统采用ASP.NET2.0为开发平台, 并使用SQL-Server 2005作为数据库。
2 系统设计
2.1 设计目标
目前市面上比较流行的网上考试系统很多, 但是都存在这样一个问题:当在线考试用户增多以后, 数据存取的速度会变的很慢。产生这个问题的主要原因是保存用户考试信息的表结构设计不恰当。因为一个数据表的容量有限, 如果所有用户的考试卷信息都保存在同一个表中, 那么, 当用户考试的时候就会不间断的从同一个表中存取数据, 存放考生信息的考试表就会产生数据溢出, 使得考试系统效率降低。目前市场上的考试系统一般都只设计一张表, 一旦在线考试的用户增多, 用户将无法再使用考试系统。
为了避免以上问题, 在此考试系统中采用为每个考试用户建立一个数据信息表, 在用户第一次登录到此考试系统时自动调用存储过程建立自己的数据信息表, 用来保存自己的考试信息。在SQL Server数据库中, 每个数据库可简历建立20亿个数据表, 以学校为2万学生为例, 在同一个数据库中建立2万个表是不会影响数据库的性能。同时这样做避免了多用户同时操作一个表产生的并发性问题, 并且用户在考试的时候指针的自己的数据表进行操作而不会影响到其他考生用户的操作, 不会出现错误数据的问题。这种方法不仅提高了数据访问速度, 而且提高了数据的安全性。
2.2 考试系统功能
网络考试系统由三个模板组成。
2.2.1 管理员模块:
管理员模块是系统的核心模块, 该模块功能主要针对管理员用户, 管理员主要是对系统的用户、试题、试卷、考试权限、重考设置、查询统计等进行管理和设置。在考试前管理员设置考试的卷的基本信息, 如试卷名称、各类题型的数量、试卷的难度、考试时间、考试范围等等;考试过程中设置考生的权限, 为了防止学生提前通过网络登陆到考试系统中进行考试, 可以根据需要设置考试班级的权限, 不到考试时间学生登陆进去看不到试卷信息;考试完成后对考试成绩进行查询统计, 以及对不及格学生, 并能对不及格学生进行重考设置。
2.2.2 教师模块:
教师模块功能主要针对教师用户, 教师对自己录入的试题进行添加、编辑、删除、审核等操作, 同时对学生的考试试卷主观题进行改卷评分操作, 教师只能对选择本人的学生进行评卷操作。
2.2.3 学生模块:
学生模块功能主要针对参加考试的学生, 学生进入到考试系统中可以参加考试, 也可以查询以前的考试信息和得分的详细信息。每套考试卷每个学生只能做一次, 交卷后不能再对试卷信息进行修改, 如果在考试时间内未完成试卷, 试卷则会给出提示, 自动将考试的用的Web页面关闭。学生提交试卷后, 计算机对学生的客观题自动评分, 主观题要任课老师进行评分。
3 系统主要实现技术
3.1 自动组卷
自动组卷功能是实现网络考试系统的关键功能, 自动组卷功能的优劣决定了考试系统的好坏。因为网络考试系统是多用户同时进行操作, 并且自动组卷要求同一时间要对大量的试题进行筛选、进行组卷, 所以同一时间数据量会特别大, 为了避免数据在网络之间的传送产生拥塞, 自动组卷功能主要使用存储过程来实现。
存储过程是利用SQL Server所提供的SQL语言所编写的程序。在自动组卷过程中使用存储过程主要处于以下几方面的考虑:a.灵活性强;b.安全性高;c.保护完整性;d.速度快;e.可以降低网络的通信量。
为了保证学生考试卷的随机性和公平性, 在随机组卷的存储过程中使用了SQL自带的ORDER BY NEWID () 命令, 其中NEWID () 是产生随机函数。这个函数可以根据需要从数据库中得到数据序列, NEWID () 每次生成的值都不一样, 也就是形成了每次结果集里的记录排列顺序都不同。
3.2 试卷显示
试题是构成试卷的主要部分, 为了将试题信息显示在网页上面, 在此系统中使用数据绑定控件的模板来显示试题信息。在本系统中试题信息是逐条显示出来的, 因此使用C#中的Data List数据绑定控件来绑定试题信息。
在此根据试卷显示根据需要使用Item Template属性控制Data List控件中为进行编辑而选定的项的内容。在Data List1控件模板中, 添加控件Label1用来绑定试题的编号, Label2用来绑定试题的信息, Radio ButtonList1用来绑定答案选项。运行后显示效果如图所示。
4 结论
随着计算机及网络等技术的发展, 基于网络的B/S模式的网络考试系统方便快捷的管理、操作的方式将逐渐取代C/S模式的考试系统, 成为主流的网络考试方式。该系统已在平顶山学院的成功应用, 在计算机公修课的考试过程中发挥了良好的作用, 得到了老师和学校的好评。
参考文献
[1]孙艳春.Martin Kalin.面向对象程序设计[M].北京:机械工业出版社, 2002.
[2]王文龙, 刘湘宇.Scott Wodey.ASP.NET技术内幕[M].北京:人民邮电出版社, 2002.
[3]刘亮亮, 潘中强.精通ASP.NET2.0数据绑定技术[M].北京:人民邮电出版社, 2008.
B/S多层结构 第9篇
〔关键词〕软件设计;信息管理系统;B/S结构
〔中图分类号〕TP182 〔文献标识码〕A 〔文章编号〕1008-0821(2009)04-0204-03
Designment of Student Information Management
System Based on Network B/S ArchitectureLiu Zaiyue Qiu Changli
(Basic Course Department,Aviation University Air force,Changchun 130022,China)
〔Abstract〕The amount of high-schools and the students expands rapidly,so high-schools have faced great challenge on management of student information.Aimed at real situation of high-schools,a student information management system was designed and it could meet the requirement.
〔Key words〕software designment;information management system;B/S architecture
1 背景与目标
现今高校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。在高职
院校快速发展的背景下,学生规模逐步扩大的趋势还会继续。规模的逐步扩大使得学生毕业时面临的就业压力日益增大,而国内经济的快速发展也使得就业环境日趋复杂,高等院校需要一个信息管理系统来管理学生的各种信息,以提高管理的水平。学生信息管理系统平台的实现目标包括以下几个方面:
1.1 实现学生信息录入、修改和查询
通过信息管理系统,学生的各种信息,如个人基本信息、学籍等信息的录入、修改和查询,这是系统的基本功能。通过这一功能,集中管理学生的信息。管理人员可以按照学生的年级、期班进行分类录入、修改和查找,而学生本人则只能通过终端进行查询。
1.2 实现学生信息的统计分析功能
统计分析功能可以为学校的决策者和管理者提供多层面的统计信息。这些信息包括:学生的基本信息的分类统计,如不同年龄段的人数,比例;学生各门功课成绩的分类统计,如某学科成绩的分布统计;其他如学生的班级信息,课程信息,成绩信息,专业等也都可以列入分析统计中。
分析统计可以为决策和管理提供真实有效的数据,提高学校的管理水平。
1.3 管理学生档案,提高学生档案的管理水平,效率和保密性信息管理系统可以处理学生的档案信息,提高学生档案信息的查找、更新和维护效率。档案信息可以通过系统根据信息数据库自动生成并打印,由专人管理,设定权限,提高保密性能。
2 系统设计原则
(1)系统应符合学校学生信息管理的规定,满足对学校学生信息管理需要,并达到操作过程中的直观、方便、实用、安全等要求。
(2)不同业务部门管理不同数据。系统设计中建立对数据的全面管理功能,首先实现数据项的可伸缩性,以保证在出现新的或更新旧的数据处理过程时,能够保证数据的扩展。
(3)提供了实施框架以期实现系统可维护性与可移植性。系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
(4)系统应具备统计分析功能,根据设定条件和统计分析规律,给出学生各项统计信息,并予以判断,给决策和管理提供依据。
3 系统方案与结构
3.1 信息管理系统开发总体方案
(1)以软件工程学理论为基础,采用面向对象设计的方法,进行深入细致的调查研究,包括业务流程调查、数据流程调查,进行可行性分析和需求分析,再进一步概要设计和详细设计,最后编码和实现;
(2)在数据库操作上,尽量采用数据查询和统计功能,得到支持决策的相关信息;
(3)在主流PC机硬件平台上实现系统的正常运行,验证其实用性。
3.2 具体实现方案
(1)系统设计
信息管理平台系统的逻辑结构以三层B/S(浏览器/服务器)结构方式来完成系统功能,如图1所示。B/S模式是一种以Web技术为基础的新型的信息管理系统(MIS)平台模式。把传统客户机/服务器(C/S)模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
B/S结构有以下优势:
①它简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器。
②它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。
③它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使信息管理系统(MIS)维护的限制因素更少。
④B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代管理所需的。这种管理方式无论对于学校、学生和企业的搜索、查询、信息录入等功能变得十分方便,简化手续,提高工作效率,节省人力物力。
系统的三层结构在工作流程上作用如下:
第一层,用户界面层:客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的web服务器。
第二层,业务逻辑层:Web服务器将启动相应的进程来响应这一请求,并生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取等逻辑,Web服务器还需与后台逻辑组件协同完成这一处理工作。
第三层,数据库层:数据库服务器的任务类似于C/S模式,负责协调不同的逻辑组件服务发出的SQL请求,管理数据库。
(2)系统软件架构
本系统以Windows 2003 Server+IIS6.0+.Net Framework作为平台,以SQL Server 2005为后台数据库,采用ASP.net 2.0和C#构造程序框架, 应用浏览器/服务器(B/S)结构,来完成系统的构建。
(3)系统的拓扑结构
在校园网的范围内,整个系统的拓扑结构如图2所示。
(4)功能模块设计
系统各个功能模块如图3所示,可以划分为用户登录和注册模块、用户和角色管理模块、班级和年级管理模块、课程信息管理模块、学生信息管理模块、学生成绩管理模块、学生信用管理模块7部分。其中,信用信息模块记录了学生的学费缴纳、助学贷款等信息,这是为了适应社会经济与教育教学模式的需要而单独设计的。另外,为实现系统的交互性能还提供了留言板等功能,用于学生等人员对于系统的使用等进行信息反馈,便于管理人员及时修改和对于系统的进一步升级。
(5)数据库设计
进行完功能模块设计后需要进行系统数据库设计。根据以上对学生数据的处理过程及需求的分析,在本系统存在以下的数据流:
①学生/管理员登录数据;②管理员信息;③添加、编辑管理员数据;④数据名:留言信息数据/添加、回复;⑤日志数据;⑥系/院别数据;⑦课程信息;⑧学生信息;⑨成绩信息数据/添加、编辑;⑩学籍信息数据/添加、编辑;(11)信用信息数据/添加、编辑;(12)查询数据;(13)分析数据。
以上数据在关系型数据库中进行设计,便于添加、插入和删除等。
(6)系统终端
客户端即系统终端需加入身份识别设备,只有通过身份识别设备的人员才可以进行查询操作。身份识别设备可以为身份信息卡,卡内存储着经过加密的身份信息,通过身份识别终端来识别身份信息卡,通过识别后才能进行操作。学生的身份卡只能进行查询个人信息,而管理人员的身份卡则可以进行数据录入、审查、修改等多项功能。
4 结 语
本文依据目前高校学生信息管理的需求,采用B/S结构设计了学生信息管理系统,详细说明了该系统的设计原则、给出系统方案与结构,设计了信息系统的功能模块。该系统易于部署,安全性高,操作方便,能够满足目前高校对于学生信息管理的需求,并且可以在相当的时间范围内更新扩展,以适应形势的变化。
参考文献
[1]詹文军,译.ASP.net安全应用程序开发[M].北京:清华大学出版社,2003.
[2]饶云波,张应辉,等.基于ASP.net的电子商务平台设计与实现[J].计算机技术与发展,2006,(5):160-162.
[3]唐晏.ASP.net页面之间数据传递的实现[J].计算机应用研究,2006,(5):228-230.
基于B/S结构的新生报到系统设计 第10篇
新生报到工作涉及多个部门,程序较为繁杂:各学院负责新生签到和班级、宿舍安排等工作;财务处负责新生收费、发票打印等工作;保卫处负责新生户籍的迁户办理工作;教务处负责对各部门信息的统计、归纳。基于以上分析,对所涉及的新生报到系统作如下需求[1]:
(1)先期导入各项基本数据,包括从招办获取的录取新生信息、专业和班主任数据、财务交费数据、迁户原则、宿舍数量、班级分配、宿舍分配规则、学号编排规则和条形码等数据。
(2)自动分班,按照各院系新生报到的先后顺序进行分班,每班预计人数以各专业总人数和班级总数这两个数据分析得出,同理也可以得出每班的男女生比例。
(3)自动产生学号,根据教务部提供的学号编排规则和新生报到的先后顺序产生每个新生的学号。
(4)自动分宿舍,根据公寓管理系统数据以及新生报到的先后顺序自动安排宿舍。
(5)新生缴费登记,登记具体收费明细和收费方式,也可以查询新生缴费情况,包括是否缴费或缓交以及具体缴费信息,同时可以报表的形式导出相关数据。
(6)新生迁户登记,登记外地生源的迁户名单,提供是否迁户等信息查询,同时导出报表。
同时系统还应该提供新生报到数据、新生班级、宿舍、学号分配情况等的查询功能,以便各部门和相关领导能迅速快捷地了解新生报到信息。
2 系统开发技术
从系统的体系结构上看,网站一般采用3层的浏览器/服务器(Browser/Server,B/S)结构,整个新生报到系统主要由浏览器、Web服务器和数据库服务器3个部分组成[2,3]。因此,新生报到系统的实现技术主要包括Web服务器端技术和数据库服务器技术等。
(1)Web服务器端开发技术。
Web服务器端开发技术中,关键是访问数据库的动态网页技术,主要包括jsp、asp、asp.net等技术。而asp.net技术具有简单易学性、强大适应性和高效可管理性,是目前常用的一种开发技术,因此本文选用asp.net技术作为主要开发工具实现新生报到管理系统。
asp.net优于asp,是一个已编译的、基于.net 的环境,把基于通用语言的程序在服务器上运行,它可以与数据库和其他程序进行交互,是一种简单、方便的编程工具,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序,使得 Web 开发更加方便。
(2)网络数据库技术。
1)网络数据库内涵。
数据库技术目前是计算机处理与存储数据的有效技术。网络数据库,是指把数据库技术引入到计算机网络系统中,借助网络技术将存储于数据库中的大量信息及时发布出去,实现用户与数据库的实时动态交互。它的组成元素包括客户端、服务器端以及连接客户端与服务器端的网络。
2)网络数据库的B/S模式。
B/S模式是一种以Web技术为基础的新型MIS系统平台模式。它主要由浏览器、Web服务器和数据库服务器3个部分组成。在这种模式下,客户端使用一个通用浏览器,用户所有的操作都通过浏览器进行。B/S结构的核心是Web服务器,它负责接收远程或本地的Http查询请求,然后根据查询条件从数据库服务器中获取相关数据,再将结果翻译成Html和各种页面描述语言,返回给提出查询要求的浏览器。同时,浏览器也可将要求更改、删除、更新数据记录的请求发给Web服务器,由Web服务器完成与数据库的连接并完成操作。
B/S模式具有以下特性:(1)分布性特点,可以随时随地进行查询、浏览等业务处理。(2)业务扩展简单方便,通过增加网页即可增加服务器功能。(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强。因此,本系统的设计主要采用B/S体系结构。
3)网络数据库管理系统。
本设计中数据库服务器采用了Microsoft SQLSever2000数据库作为数据源。它是一个基于关系型数据库模型建立的数据库管理系统软件。它帮助用户方便地得到所需信息,并提供强大的数据处理能力。SQLSever2000还可以经数据库定位到浏览器中,它将桌面数据库的功能和网站的功能结合在一起,使Web与数据库紧密地联系起来。
3 系统功能设计
根据对系统所做的需求分析和实际需要,设计以下功能模块:用户与权限管理、新生缴费登记、新生迁户登记、自动分班、自动产生学号、自动分宿舍、报到登记与打印报到相关信息、新生报到数据查询、新生宿舍分配情况查询、新生缴费信息查询等。系统功能设计如图1所示[4,5]。
(1)新生缴费登记子系统。
新生持带有条形码的录取通知书到教务处进行报到,经系统扫描确认该学生的存在信息后打印报到表,之后到财务处缴纳相关费用,系统会提供详细的缴费登记信息和缴费方式,对于缓交、不交或只缴纳部分费用的学生也会进行相应登记,同时可以就相关数据作出统计并打印报表。
(2)新生迁户登记子系统。
对于外地生源学生,缴纳完相关费用之后需到保卫处办理相应的迁户手续,进行系统登记,便于日后统一将数据导出到户籍管理系统,方便统计查询和管理,同时也提供报表打印功能。
(3)新生报到登记子系统。
新生报到登记子系统是新生报到系统的一个核心环节,它要实现的主要功能是自动分班、自动分宿舍和自动产生学号。对于自动分班功能,需首先设置分配规则,即将某一专业录取新生总数及男女生总数进行先期统计,并确定好班级个数,由此得出每班预计人数和男女生比例。在实际系统操作过程中,就可以按照这个分配规则和报到顺序进行自动分班。自动分宿舍和自动产生学号功能是采取先到先分的原则,这种带有随机性质的自动分配功能可以很好地避免因有新生未报到造成预先排号出现空档的问题,便于对报到工作进行有序管理。
(4)系统管理子系统。
该系统涉及多个用户,因此需设置用户管理功能,包括增加用户、查询用户、删除用户。还要指定用户所属的用户组,包括缴费登记、迁户登记、报到登记和系统管理,4个用户组分别对应4个子系统。
系统还需设置导入、导出数据功能,包括从招办导入录取新生数据,新生交费数据导出到学费管理系统,新生迁户数据导出到户籍管理系统,新生宿舍数据导出到宿舍管理系统,各院系的新生录取情况导出到学籍管理系统,以便相关部门和领导进行查询。
4 结束语
设计新生报到系统可以简化新生报到程序,规范报到流程,提高工作效率,但在设计该系统的同时应充分考虑以下两点:
(1)确保数据的共享性和实时性。
新生报到系统中涉及招办、各院系、财务处、保卫处、教务处等部门的多类数据,需要进行频繁导入导出,以便校领导随时掌握最新数据,能及时应对紧急出现的状况和作出正确决策,因此数据库及相关功能的设计应体现数据的共享性和实时性原则。
(2)确保系统简单实用。
新生报到是在规定时间内完成的,涉及学生和工作人员人数众多,虽提前要对工作人员进行系统操作培训,但在当时那种杂乱的环境中容易导致工作人员操作失误,违背了系统设计的提质增效的原则,因此必须提供给用户一个简单实用的操作环境和界面,方便用户进行操作管理。
摘要:为提高新生报到工作效率,设计了一套基于B/S结构的新生报到系统,该系统选用asp.net技术作为主要开发工具。应用证明,系统功能完善、业务流程规范、具有较强的可操作性。
关键词:B/S,新生报到系统,软件设计
参考文献
[1]齐勇军,胡毅.基于C/S和B/S结构的报到注册收费系统的设计[J].电脑知识与技术,2007(24):105-107.
[2]李凌,张静.新生报到系统的开发[J].唐山师范学院学报,2009(2):99-101.
[3]方伟杰,陈伟,朱之平,等.浙江大学数字迎新系统的设计与实现[J].中山大学学报:自然科学版,2009(z1):128-130.
[4]李一村.高校新生入学报到信息化建设[J].福建电脑,2009(6):136-137.
B/S多层结构
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


