• 1014.61 KB
  • 2022-05-17 13:19:25 发布

毕业论文--基于WEB的学生考勤管理系统

  • 58页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
太原理工大学毕业设计(论文)用纸基于WEB的学生考勤管理系统摘要随着计算机科学的发展,各种Web技术也随之不断的发展,Internet的应用越来越广泛。在高校校园信息化过程中,有效地借助网络、数据库等技术成为提高工作和管理效率的关键。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。本设计基于Web的学生考勤管理系统,开发与设计将使用当前主流的编程语言Java来开发,用MySQL数据库作为底层数据的存储,在页面的实现中,将使用了javascript技术,实现出一个功能相对齐全、界面简洁、使用方便、用户体验度相对较高的学生考勤系统。该系统为用户提供了一个学生考勤管理平台,操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。关键词考勤管理、Java、MySQL、javascript、jspI 太原理工大学毕业设计(论文)用纸StudentattendancesystembasedonWebAbstractWiththedevelopmentofcomputerscience,avarietyofWebtechnologiesalsowillcontinuethedevelopmentofInternetapplicationsmorewidely.Intheprocessofcampusinformationeffectivelythroughthenetwork,databasetechnologyandthekeytoimprovemanagementefficiency.Today,teachersandstudentsfortheachievementquerysystem,educationalmanagementsystem,enrollmentandemploymentsystem,BBS,campussitesandothersystemshaveappearedinmajoruniversities,teachersandstudentstolearn,live,management,officebringsconvenience.Sothestudentattendancemanagementsystemwillfurtherstrengthentheconstructionofuniversitystudystyle,maintainingthenormalteachingorder,thestudentscreateagoodlearningenvironment.ThedevelopmentanddesignofstudentattendancesystembasedonWebwillusethecurrentmainstreamprogramminglanguageJavatodevelop,useMySQLdatabaseasdatastorage,intherealizationofthepage,theuseofjavascripttechnology,realizesthefunctionofarelativelycomplete,theinterfaceissimple,easytouse,userexperiencedegreestudentattendancesystemtherelativelyhigh.Thesystemprovidesastudentattendancemanagementplatformfortheuser,Operationstrivetoachievehumaneandreasonable,tomeettheschool,teachers,useofnon-computermanagementandviewing.Keywords:Attendancemanagement, Java, MySQL, JavaScript,jsp 太原理工大学毕业设计(论文)用纸目录摘要IAbstractII第一章绪论1一、项目背景1二、Web的发展历史1(一)Web的起源1(二)Web技术发展阶段2三、编写目的4第二章系统关键技术及开发环境5一、系统开发环境5二、系统开发工具5(一)B/S架构5(二)Java技术7(三)Tomcat服务器技术8(四)MySQL数据库10(五)Eclipse11第三章系统分析13一、可行性分析13(一)引言13(二)目的和意义13(三)经济可行性13(四)技术可行性13二、需求分析14(一)用户需求概述14(二)系统功能划分14第四章系统总体设计16一、系统设计目标16二、系统总体功能16三、系统功能模块16四、系统用例图18第五章数据库设计19一、数据库逻辑结构设计19(一)管理员信息表19(二)教师信息表19(三)学生信息表20(四)考勤信息表20二、数据库编写20(一)管理员信息表20(二)教师信息表21(三)学生信息表21I 太原理工大学毕业设计(论文)用纸(四)考勤信息表21第六章系统实现23一、用户登录23二、在线请假25三、教师审批28四、管理员主要功能29第七章系统测试33一、软件测试的概念和方法33二、采用的测试技术33结论34参考文献36致谢35外文文献37I 太原理工大学毕业设计(论文)用纸第一章绪论一、项目背景高校校园网的迅速普及,使学生考勤管理系统能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展。基于Web的学生考勤系统利用JSP技术与MySQL数据库相结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基础。随着高校校园信息化的逐步完善,有效地借助网络、数据库等技术提高工作和管理效率。如今针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。信息技术的迅猛发展,已经引起社会的深刻变革,信息时代的到来,迫切要求我们的学校管理进行变革。因此,信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。 学生考勤管理系统是一个B/S系统,它的出现,改变了教师手工登记考勤信息的管理方式,管理员及教师使用计算机对学生信息进行管理,具有着手工无法比拟的优点,例如:考勤统计查询方便快捷,数据存储量大,可靠性高等,便于教师掌握学生的出勤情况。学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式。二、Web的发展历史(一)Web的起源混沌初开,一切都那么简单。为了连接美国的少数几个顶尖研究机构,人们设计了最早的“Internet”,以便共同开展科学研究。不论是图书馆员、核物理学家,还是计算机科学家,都必须学习一个相当复杂的系统。1962年,麻省理工学院(MIT)的J.C.R.Licklider最早提出他的“GalacticNetwork”(超大网络)思想时,Firefox和IE之类的便捷工具连概念都未产生。Licklider后来继续在美国国防高级研究计划局(DARPA)从事计算机研究,在那里他积极地宣扬网络化思想的重要性。几乎与此同时,MIT的LeonardKleinrock和LawrenceG.Roberts正在开展分组交换理论的研究,这是计算机联网的一个核心概念。在ThomasMerrill的帮助之下,Roberts于1965年进而创建了第一个广域网,他通过一个拨号连接使马萨诸塞州的一台TX-2连上了加利福尼亚州的一台Q-32。53 太原理工大学毕业设计(论文)用纸1966年底,Roberts带着他的实验结果来到DARPA,在这里他构思了高级研究项目管理网络(AdvancedResearchProjectsAdministrationNetwork,ARPANET)的计划。此时,Kleinrock正在加州大学洛杉矶分校网络测量中心(NetworkMeasurementCenter),这里被选作ARPANET的第一个节点。正是在这里,1969年BBN公司成功地安装了第一个分组交换器,称为接口消息处理器(InterfaceMessageProcessors,IMP)。斯坦福研究中心被选为第二个节点,1969年10月,在此首次实现了主机到主机的消息交换。此后不久,又将加州大学圣巴巴拉分校和犹他大学增加为节点,这就是我们现在所称因特网的前身。Web是WorldWideWeb的简称,中文称之为万维网,是用于发布、浏览、查询信息的网络信息服务系统,由许多遍布在不同地域内的Web服务器有机地组成。Web的不断完善都是基于各种Web技术的不断发展,Web的应用架构是由英国人TimBerners-Lee在1989年提出的,而它的前身是1980年TimBerners-Lee负责的Enquire(EnquireWithinUponEverything的简称)项目。1990年11月第一个Web服务器nxoc01.cern.ch开始运行,由TimBerners-Lee编写的图形化Web浏览器第一次出现在人们面前。1991年,CERN(EuropeanParticlePhysicsLaboratory)正式发布了Web技术标准。目前,与Web相关的各种技术标准都由著名的W3C组织(WorldWideWebConsortium)管理和维护。(一)Web技术发展阶段互联网的发展总是让人瞠目结舌。当人们身处web1.0,讨论着博客,SNS(社会性网络)等这些web2.0概念的时候,我们不禁想问:web3.0的时代,我的世界将会怎么样?那么就让我们来看看前两个互连网时代的特性吧1.Web技术发展的第一阶段——静态技术阶段本阶段的Web主要是静态的Web页面。在这个阶段,HTML语言就是Web向用户展示信息的最有效的载体。HTML的全称是超文本标注语言(HyperTextMarkupLanguage),它通过提供超文本格式的信息,在客户端的用户机上显示出完整的页面。Web服务器使用HTTP(HyperTextTransportProtocol)超文本传输协议将HTML文档从Web服务器传输到用户的Web浏览器上。通过(liu2lan3qi4shang4_tong1guo4)对各种资料的学习,我们得知,HTML的构想由上世纪四五十年代就形成了。1945年,VannevarBush就已经提出了一种使文本与文本相互关联的问题,并给出了能够实现文件关联的计算机设计方案,其后,DougEngelbart等人则对该种方案进行了首次实验。TedNelson于1960年前后正式将这种信息关联技术命名为超文本(Hypertext)技术。1969年,IBM的CharlesGoldfarb发明了可用于描述超文本信息的GML(GeneralizedMarkupLanguage)语言,也就是后来的SGML语言。经过不断(yu3yan2_jing1guo4bu4duan4)的完善,到1990年,第一个Web浏览器就可以使用HTML语言来实现超文本信息的展示。在本阶段,由于受HTML语言和旧式浏览器的制约,Web页面只包含了静态的文本和图像信息,限制了资源共享,这个现象越来越不能满足人们对信息多样性和及时性的要求。而这一阶段的Web服务器基本上只是一个HTTP的服务器,它负责接收客户端浏览器的访问请求,建立连接,响应用户的请求,查找所需的静态的Web页面,再返回到客户端。2.Web技术发展的第二阶段——动态技术阶段53 太原理工大学毕业设计(论文)用纸在Web出现的同时,能存储、展现二维动画的GIF图像格式也已发展成熟,为HTML引入动态元素提供了条件。此后,为了能更好地克服静态页面的不足,人们将传统单机环境下的编程技术引入互联网络与Web技术相结合,从而形成新的网络编程技术。1995年Java语言的问世给Web的发展带来更大的变革,它为人们提供了一条在浏览器中开发应用的捷径。1996年,著名的Netscape浏览器2.0版本和Microsoft的IE3.0增加了对JavaApplets和JavaScript的支持。JavaScript语音是一种脚本方式运行的,简化的Java语言。Web世界里从此出现了脚本技术。Microsoft公司于1996年为IE3.0设计出了与JavaScript相抗衡的脚本语言——VBScript脚本语言。在Windows98及其后的Windows操作系统中,WSH(WindowsscriptHost)技术将原本只能在浏览器中运行的JavaScript、VBScript变成了可以在WIN32环境下使用的通用脚本语言。其实,真正让HTML页面又酷又炫、动感无限的是CSS(CascadingStyleSheets)和DHTML(DynamicHTML)技术。1996年底,W3C组织提出了CSS的建议标准,同年,IE3.0引入了对CSS的支持。这项技术使得开发者能够在Web上更好地把握信息的的展示。1997年的Netscape4.0在支持CSS技术的同时,又增加了愈多由他们自定义的动态HTML标记,同年,Microsoft公司发布了IE4.0,并将动态的HTML标记、CSS和动态对象模型(DHTMLobjectModel)发展成了一套完整的客户端开发技术体系(DHTML)。该项技术无需启动Java虚拟机或其他脚本环境,在浏览器的支持下,同样可以实现HTML页面的动态展示,而且可以获得更好的效果。1996年,Netscape2.0成功引入了对QuickTime插件的支持(cha1jian4de0zhi1chi2),从此,实现了在HTML页面下音频、视频等更为(ye4mian4xia4yin1pin2_shi4pin2deng3geng4wei4)复杂的多媒体应用。同年,IE3.0正式支持在HTML页面中插入ActiveX控件的功能。从此,各式各样由不同公司所开发的各种插件先后在浏览器上取得了成功。我们这里所说的动态页面和静态页面是相对应的,在引入了动态技术生成的网页中,网页URL的后缀不只是.htm、.html、.shtml、.xml等静态网页的常见形式,还可以是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。从网页内容的显示上看,动态网页引入了各项技术,使得网页内容更多样化,引人入胜;从网站的开发管理和维护角度看,动态网页以数据库技术为基础,更利于网站的维护,而动态网页使用了ASP对象,可以实现诸如用户注册、用户登陆、数据管理等的功能,大大提高了网络的利用率,为用户提供更多的方便。1.Web技术发展的第三阶段——Web2.0新时期在最近两年里,Web2.0这个名词引起了很多人的关注,那什么是Web2.0呢?其实,Web2.0并没有一个准确的定义,甚至于它并不是一个具体的事物,它只是人们对于一个阶段的描述。在这一阶段,用户可以自己主导信息的生产和传播,从而打破了原先所固有的单向传输模式。Web2.0并不是一个革命性的改变,而只是应用层面的东西,相对于传统的门户网站,它具备了更好的交互性。一般来说Web2.0(也有人称之为互联网2.0)是相对Web1.0的新的一类互联网应用的统称。Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。如果说WEB1.0是以数据为核心的网,那我觉得WEB2.0是以人为出发点的互联网让,是要让所有的人都忙起来,全民织网,然后用软件,机器的力量使这些信息更容易被需要的人找到和浏览,让我们通过几个Web2.0的产品,就可以理解以上的观点! Blog——博客/网志:Blog的全名应该是Web 53 太原理工大学毕业设计(论文)用纸log,后来缩写为Blog。Blog是一个易于使用的网站,您可以在其中迅速发布想法、与他人交流以及从事其他活动。所有这一切都是免费的。     RSS——站点摘要:RSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容)的技术。最初源自浏览器“新闻频道”的技术,现在通常被用于新闻和其他按顺序排列的网站,例如Blog。     WIKI——百科全书:Wiki--一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。 Podcasting: 个人视频/声频的发布/定阅。 SNS——社会网络:Social Network Sofwaret,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。 P2P——对等联网:P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”、“点对点”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。     IM——即时通讯:即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件。聊天一直是网民们上网的主要活动之一,网上聊天的主要工具已经从初期的聊天室、论坛变为以MSN、QQ为代表的即时通讯软件。 一、编写目的系统对学校全体学生的资料和考勤情况进行管理,通过每日的打卡把出勤信息输入到学校的考勤管理中心,保存学生每日的的出勤情况,以便于统计学生的出勤情况。同时方便班长查阅,即节省了人力,又省去了中间的很多容易出错的步骤。让学校学生的考勤管理更具有透明性,且方便管理。 此外系统还涉及系统数据安全和用户管理的问题、各种代码使用和维护问题、数据安全和数据维护问题、统计报表生成和输出等问题,因此还要求系统具有系统管理和事务处理功能。总而言之,要求通过系统的开发,达到系统项目的总体目标是:在整个系统的框架下,结合学生在学校的实际出勤情况的需要实现对数据更新、数据查询、数据统计、数据分析等功能进行有效的管理。并提供用户友好接口,满足学校管理需求的软件,提高学校对学生的管理效率,从而完善学校的管理制度。学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见了。学生考勤管理程序,是一个对于学生考勤的管理系统,不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.。操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。53 太原理工大学毕业设计(论文)用纸第二章系统关键技术及开发环境一、系统开发环境系统结构:B/S(浏览器/服务器)开发语言:JAVA/JSP数据库:MySQL开发工具:Eclipse服务器端容器:Tomcat6.0二、系统开发工具(一)B/S架构学生考勤管理系统采用了当前很流行的B/S模式结构。相对于以往的主机/终端、C/S机构来说,B/S结构更具有优势。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出学生请求的服务器,而相对于处于大型机的第三层它是作为学生端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。53 太原理工大学毕业设计(论文)用纸这种应用程序的设计使用学生/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了学生端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。这种B/S模式学生端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。建立在B/S模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,学生端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。采用B/S(Browser/Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考试系统对学生机软件过分依赖的问题,减轻了学生机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。此技术超越了传统的“学生机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。采用B/S结构软件的优势在于:(1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理53 太原理工大学毕业设计(论文)用纸人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。(一)Java技术在丰富的开发语言种类中,Java是一个非常理想的选择。Java分为三个体系JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版),JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(J2ME)(Java2PlatformMicroEdition,java平台微型版)。Java与传统程序不同,SunMicrosystems公司在推出Java之际就将其作为一种开放的技术。使得全球的Java公司在开发的关于Java程序都要做到了互相兼容。“Java语言开发要靠大家努力而非个人、企业的力量”是SunMicrosystems的口号之一,并且得到了大多数软件开发公司的认可。这种模式和微软公司所提倡的注重精英的模式和密封式的模式完全不同。SunMicrosystems公司对Java编程语言的官方诠释是:Java编程语言是个简单、面向对象、健壮、解释性、分布式、安全与系统无关、高性能、可移植、多线程和动态的语言。Java编程语言的风格非常的接近C语言、C++语言。Java语言的设计核心是面向对象的编程语言,它继承了C++语言面向对象技术的核心。Java的进步是其没有像C语言那样,容易由于指针引起错误、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5之后的版本中,Java又引入了类型安全的枚举、泛型编程(GenericProgramming)、自动装/拆箱和不等长参数等等语言特性。Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。53 太原理工大学毕业设计(论文)用纸Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。Java的优势:此开发语言非常适合集体开发,软件工程可以相对做到一定的标准化。由于其本身的极度严格语法的特点,因此Java语言无法写出结构杂乱无章的程序。这样将迫使程序员的软件代码、软件结构的一致性、规范性。这是其很难比拟的优势。Java的劣势:j2ee的架构相对完善,第一版软件虽然可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不好的地方,不断的修补就会导致软件框架的破坏。(一)Tomcat服务器技术53 太原理工大学毕业设计(论文)用纸目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越收到人们的重视。Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.14。目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat也具有传统的Web服务器的功能:处理HTML页面。但是与Apache相比,它的处理静态HTML的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态HTML,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的ClassPath(系统变量)中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:Manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用,当然本地也可以。53 太原理工大学毕业设计(论文)用纸Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm:1、JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证;2、JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息;3、MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm.通过Realm我们可以方便地对访问某个应用的学生进行验证。在Tomcat中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持JSP和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,JSP和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在JSP1.2中,可以利用标签库实现Java代码与Html文件的分离,使JSP的维护更方便。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。(一)MySQL数据库MySQL是一个开放源码的小型关系型数据库管理系统,开发者为MySQLAB公司,在08年被Sun公司收购。它被广泛地应用在Internet上的中小型网站中。MySQL具有体积小、速度快、总体拥有成本低。53 太原理工大学毕业设计(论文)用纸基于以上的优势,所以本系统采用MySQL数据库。数据库名为graduateproject。为了使MySQL便于操作,我选用了MySQL-Front来配合使用。MySQL-Front是一款MySQL的图形界面程序。通过它可以很方便的操作MySQL数据库,也利于管理MySQL数据库。MySQL是一个SQL关系式数据库,由于执行效率与稳定性高、操作简易,所以用户众多。官方文件中这么说:“MySQL是一个真正的多用户、多线程的SQL数据库服务器”。SQL是世界上最流行和标准化的数据库语言,它使得存储、更新和访问信息更容易。另外,MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。系统特性:1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7.提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9.提供用于管理、检查、优化数据库操作的管理工具。10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11.支持多种存储引擎。12.Mysql是开源的,所以你不需要支付额外的费用。13.MySQL使用标准的SQL数据语言形式。14.Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。15.Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。(一)EclipseEclipse的功能是非常的强大,支持产品也十分丰富,特别是对各种开源产品的支持做的是相当好。目前虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。53 太原理工大学毕业设计(论文)用纸Eclipse是一个开放源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。53 太原理工大学毕业设计(论文)用纸第三章系统分析开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全面的需求分析,需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。它的基本任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题。需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的﹑准确的、具体的﹑清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及预测系统发展的前景,并仔细分析系统中的数据,以便完善良好的软件环境。在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能系统分析一、可行性分析(一)引言这个阶段要回答的关键问题是:“对于一个阶段所确定的问题有行得通的解决方法吗?”为了回答这个问题,需要一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决方法。(二)目的和意义开发本系统的目的,就是要解决目前本校中关于学生请假与上课出勤管理中面临的一系列问题。开发出学生考勤管理系统能有效地提高学校的办事效率,解决学生请假以及上课出勤管理问题,实现学生请假及上课出勤信息对任课老师、年级辅导员、院系领导、学校领导透明,使得任课老师、年级辅导员、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。(三)经济可行性本系统使用B/S架构设计,使用市场上流行流行的动态网页技术,开发简单,使用度方便,不需要耗费大量人力物力就能很快开发出来,系统部署对软硬件要求不高,用户操作简单,几乎不需要对用进行专业培训就可使用本系统,所以从经济上讲师可行的。(四)技术可行性53 太原理工大学毕业设计(论文)用纸本系统采用JSP、JavaScript脚本语言、HTML标识语言、S2SH框架以及MySQL数据库技术综合开发。JSP是一种安全稳定的动态网页技术,目前国内各企业的电子商务系统(ERP)基本上都用到JSP开发的。MySQL是一种开放源代码的关系型数据库管理系统,它使用最常用的数据库管理语言——结构化查询语言进行数据库管理。由以上分析可知,学生考勤管理系统的解决方案无论在技术、经济上都是可行的,且开发本系统具有一定的经济价值和使用价值。一、需求分析这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。(一)用户需求概述用户是系统的使用者,依自己分析,本系统应当包括学生、教师、系统管理员三大类用户,这三类用户对系统的需求简要如下:学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看到请假的详细进展情况。同时,学生可以查看本期内上课出勤的详细信息,如:查看某个课程(计算机网络)在整个学期内的出勤情况——请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节可等详细信息。学生还可以查看本人的基本信息,如:所在院系、年级、专业、班级、学号、姓名、性别等。教师用户:任课老师使用本系统时,管理所教班级学生的上课出勤信息以及查看所教学生的上课出勤信息。老师自动列出还没有在网上公布的学生上课出勤信息,系统依据学生请假系统,决定学生上课出勤的最终结果。并且查看自己所教课程、所教班级学生整个上课出勤统计信息以及详细信息。同时,老师也可以查看上课课表,查看个人基本信息以及修改个人用户密码。管理员用户:系统管理员拥有本系统的最高权限,负责系统数据的动态同步更新以及维护。管理员工作台。管理员用户功能,可对本系统相关功能和相关原始基本信息进行修改。管理学校各院系、年级、专业、班级的添加、删除、修改等。管理系统所有用户(学生、任课老师、年级辅导员、院系领导、学校领导、系统管理员),管理系统的请假、考勤信息等等。(二)系统功能划分将需求分析得到的作为需求抽象信息结构。即概念模型的过程就是概念结构设计,它是整个数据库设计的关键。要系统需求分析阶段,搞清楚了系统“做什么”的问题,形成了目标系统的逻辑模型。现在我们就是说要把系统“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。接着在一步步的向下进行描述。53 太原理工大学毕业设计(论文)用纸功能划分的基本思想是将系统设计成由多个相对独立、功能单一的模块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改,从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量(可维护性、可靠性等)。因此,大大简化了系统研制开发的工作。请假系统模块:本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、年级辅导员及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;年级辅导员在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。考勤系统模块:本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;年级辅导员、院系领导、学校领导查看不同范围的学生出勤统计信息。后台管理管理:本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员是整个系统实现的基础。为保证学校学生信息的隐私权,设立登陆功能,只有规定的用户才有权使用此系统,同时本系统存在三方用户,用户的使用权限也各不相同:学生模块。学生用户功能,查询个人信息:辅导员模块。辅导员用户登陆后使用的功能,用于查询本班学生相关信息:53 太原理工大学毕业设计(论文)用纸第四章系统总体设计总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。系统设计工作应该自顶向下地进行。系统设计的工作复杂又细致,总体设计阶段需要进行系统模块结构设计,要将一个大系统分解成不同层次、多个模块组成的系统,在详细设计阶段要在模块结构设计的基础上,给出每个模块实现方法的细节,并对模块的输入、输出和处理过程作详细描述,以便在系统实施阶段进行程序设计时可以把这个描述直接“翻译”成用某种程序设计语言书写的程序。一、系统设计目标最终得到的系统应该能满足用户的需求,符合实际的操作流程与规范,同时也要满足设计人员的设计目标。(1)从用户的角度看:通过学生考勤系统,改变目前学生的每日考勤工作都还停留在手工作坊阶段的现状。方便学院各院、系的领导、专职辅导员、学生管理职能部门和学生本人,都能够快速、及时、准确查阅和使用网上在线学生考勤信息的资源。有效提高学院现有的学生管理效率的目的。(2)从技术观点看:对于用户的使用应该具备良好的交互界面,具备较高的用户友好性:具备较高的系统安全性,保护信息安全。二、系统总体功能本系统包括系统管理员,学生,教师三大用户类型,其功能如下:系统管理员对于学生,及教师的添加删除等管理;学生进行网上请假,查看请假情况;教师对学生请假的批准等操作。三、系统功能模块53 太原理工大学毕业设计(论文)用纸模块化是指解决一个复杂问题时自上项下逐层把系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。系统的模块划分不能是任意的,应尽量保持其独立性。是为了降低系统和复杂性,提高可读性、可维护性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到提高模块的独立,为设计高质量的系统结构奠定基础。系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。在这个过程中必须考虑以下几个问题:1)如何将一个系统划分成多个子系统。2)每个子系统如何划分成多个模块。3)如何确定子系统之间、模块之间传送的数据及其调用关系。4)如何评价并改进模块结构的质量。该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它的优势。在使用过程中可将结构化设计方法与结构化分析(SA)方法及编程阶段的结构化程序设计方法(SP)前后衔接起来。系统功能模块化的优点:1)系统功能模块划分清晰,区别明显,易于操作。2)操作界面友好,简单易懂适合不同层次的操作人员。3)子系统之间的数据交换操作简单、快捷。根据该系统的需求分析,设计可实现的模块组织结构。如图4.3图4.3系统功能模块图53 太原理工大学毕业设计(论文)用纸一、系统用例图教师用例图,如图4.4.1图4.4.1教师用例图学生用例图,如图4.4.2图4.4.2学生用例图53 太原理工大学毕业设计(论文)用纸第五章数据库设计一、数据库逻辑结构设计根据上述的概念设计阶段的结果,将其转化为逻辑结构,得出以下主要的逻辑设计:管理员信息表(图5.1)教师信息表(图5.2)学生信息表(图5.3)考勤信息表(图5.4)(一)管理员信息表表5.1管理员信息表名类型长度小数点允许空值是否主键idint100否是usernametext00是否usepasstext00是否(二)教师信息表表5.2教师信息表名类型长度小数点允许空值是否主键idint110否是usernametext00是否userpasstext00是否tnametext00是否tsextext00是否officetext00是否agetext00是否remarktext00是否coursetext00是否53 太原理工大学毕业设计(论文)用纸(一)学生信息表表5.3学生信息表名类型长度小数点允许空值是否主键idint110否是sidtext00是否passtext00是否snametext00是否sextext00是否teachertext00是否tclasstext00是否remarktext00是否(二)考勤信息表表5.4考勤信息表名类型长度小数点允许空值是否主键kidint110否是tidint110是否sidint110是否ktypetext00是否coursetext00是否courseTimetext00是否contenttext00是否daystext00是否typetext00是否一、数据库编写(一)管理员信息表DROPTABLEIFEXISTS`admin`;CREATETABLE`admin`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`text,53 太原理工大学毕业设计(论文)用纸`userpass`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8;(一)教师信息表DROPTABLEIFEXISTS`teacher`;CREATETABLE`teacher`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`text,`userpass`text,`tname`text,`tsex`text,`office`text,`age`text,`remark`text,`course`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8(二)学生信息表DROPTABLEIFEXISTS`student`;CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENT,`sid`text,`pass`text,`sname`text,`sex`text,`teacher`text,`tclass`text,`remark`text,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;(三)考勤信息表DROPTABLEIFEXISTS`kq`;CREATETABLE`kq`(`kid`int(11)NOTNULLAUTO_INCREMENT,`tid`int(11)DEFAULTNULL,`sid`int(11)DEFAULTNULL,`ktype`text,53 太原理工大学毕业设计(论文)用纸`course`text,`courseTime`text,`content`text,`days`text,`type`text,PRIMARYKEY(`kid`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;(一)53 太原理工大学毕业设计(论文)用纸第六章系统实现一、用户登录这是学生用户、老师用户进入系统的通道,通过选择不同的用户类型,成功登陆后就可以使用相应的功能模块。点击登录提交时,实现了提交验证判断用户名和密码不能为空;登录过程中,依据用户登录类型跳转到各自用户的业务层中,调用数据库层到数据库查询各自匹配的账号和密码。登陆系统的管理页面时,首先检查用户名,密码输入是否正确,若正确,则登陆成功进入系统的相应界面。图6.1系统前台登陆界面主要代码实现如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{booleanb=false;StringuserType=request.getParameter("userType");if(userType.equals("0")){Studentsd=newStudent();sd.setSid(request.getParameter("userName"));sd.setPass(request.getParameter("userPass"));sd.setId(2);StudentDaostudentdao=newStudentDao();HttpSessionsession=request.getSession();b=studentdao.login(sd);53 太原理工大学毕业设计(论文)用纸if(b){session.setAttribute("admin",sd);request.getRequestDispatcher("/student/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}elseif(userType.equals("1")){Teachertc=newTeacher();tc.setUserName(request.getParameter("userName"));tc.setUserPass(request.getParameter("userPass"));tc.setId(1);TeacherDaoteacherDao=newTeacherDao();HttpSessionsession=request.getSession();b=teacherDao.login(tc);if(b){session.setAttribute("admin",tc);request.getRequestDispatcher("/teacher/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}else{Adminad=newAdmin();ad.setUserName(request.getParameter("userName"));ad.setUserPass(request.getParameter("userPass"));AdminDaoadminDao=newAdminDao();b=adminDao.login(ad);if(b){request.getRequestDispatcher("/admin/main.html").forward(request,response);}else{request.getRequestDispatcher("/login.html").forward(request,response);}}}}一、53 太原理工大学毕业设计(论文)用纸一、在线请假图6.2.1学生在线请假学生用户登录系统后,点击进入在线请假模块,输入请假信息,提交申请假条,等待假条的审批。然后,可以随时跟踪查看假条的审批情况。提交from表单,通过servlet就表单数据利用SQL语句插入到数据库中。“申请”假条,处理部分代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{QingJiaqj=newQingJia();qj.setSid("2");qj.setCourse(request.getParameter("course"));DateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");qj.setCourseTime(request.getParameter("courseTime"));qj.setKtype(request.getParameter("ktype"));qj.setDays(request.getParameter("days"));qj.setTid(Integer.parseInt(request.getParameter("teacher")));qj.setContent(request.getParameter("content"));QingJiaDaoqjd=newQingJiaDao();booleanb=qjd.addQingJia(qj);if(b){request.getRequestDispatcher("/student/showQJ.jsp").forward(request,response);}}53 太原理工大学毕业设计(论文)用纸图6.2.2假条审批情况查询学生点击请假信息,就可以查看当前情况下的学生本人所提交过的所有请假单,并且可以查看请假单的状态栏,以此来确认请假单是够被老师所批准。查询假条审批情况,部分代码如下:<%com.kaoqin.db.Connconn=newcom.kaoqin.db.Conn();ResultSetrs=conn.executeQuery("selectkid,tid,sid,ktype,course,courseTime,days,content,typefromkqwheresid=2orderbykiddesc");inti=0;while(rs.next()){%><%=++i%>
<%=rs.getString("tid")%>
<%=rs.getString("ktype")%>
<%=rs.getString("course")%>
<%=rs.getString("courseTime")%>
<%=rs.getString("days")%>
<%=rs.getString("content")%><%=rs.getString("type")%><%}rs.close();conn.close();%>一、53 太原理工大学毕业设计(论文)用纸一、教师审批该界面主要是列出任课老师所教课程,以及该门课程所对应的班级。点击考勤按钮就可以进入到考勤主界面。老师上课考勤完毕后,可以将考勤结果记录保存到数据库中,如果考勤记录出现错误的话,任课老师还可以修改考勤结果。比如说:点到的时候该同学当时没在,然后记录了他缺课。后来知道他来上课了,所以就必须修改考勤记录列表了,可以进入修改考勤记录界面删除该同学的考勤记录。图6.3审批请假情况主要代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringid=request.getParameter("kid");QingJiaDaoqjd=newQingJiaDao();booleanb=qjd.upKq(id);if(b){request.getRequestDispatcher("/teacher/showStudent.jsp").forward(request,response);}}publicstaticbooleanupKq(Stringkid){Conndb=newConn();Stringsqlstr="updatekqsettype="通过"wherekid="+kid;System.out.println(sqlstr);53 太原理工大学毕业设计(论文)用纸booleanflag=false;if(db.executeUpdate(sqlstr)>0){flag=true;}db.close();returnflag;}53 太原理工大学毕业设计(论文)用纸一、管理员主要功能系统管理员拥有本系统的最高权限,负责系统数据的动态同步更新以及维护。管理员工作台。管理员用户功能,可对本系统相关功能和相关原始基本信息进行修改。三大模块中的部分操作,管理员主要包括三个部分的信息管理:首先,用户信息管理,其中包括学生用户和老师用户的管理,如:增加教师、修改教师信息、删除教师信息等等。输入用户名,密码,姓名,性别,办公室,班级,备注,接着点击添加,就可以将form表单中的数据添加到数据库中。在教师管理界面,通过查看,便可调出在数据库中的教师信息,以便查看。添加界面如图6.4.1,查看界面如图6.4.2:图6.4.1添加教师关于添加教师,部分代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Teachertc=newTeacher();tc.setUserName(request.getParameter("userName"));tc.setUserPass(request.getParameter("userPass"));tc.setTname(request.getParameter("tname"));tc.setTsex(request.getParameter("tsex"));tc.setOffice(request.getParameter("office"));tc.setTclass(request.getParameter("tclass"));tc.setRemark(request.getParameter("remark"));TeacherDaotd=newTeacherDao();booleanb=td.addTeacher(tc);53 太原理工大学毕业设计(论文)用纸if(b){request.getRequestDispatcher("/admin/showTeacher.jsp").forward(request,response);}}publicstaticbooleanaddTeacher(Teachert){Conndb=newConn();Stringsqlstr="insertintoteacher(userName,userPass,tname,tsex,office,remark)values(""+t.getUserName()+"",""+t.getUserPass()+"",""+t.getTname()+"",""+t.getTsex()+"",""+t.getOffice()+"",""+t.getRemark()+"")";System.out.println(sqlstr);booleanflag=false;if(db.executeUpdate(sqlstr)>0){flag=true;}db.close();returnflag;}图6.4.2教师管理53 太原理工大学毕业设计(论文)用纸同样的操作也对应于学生用户的管理。在添加学生的界面中,可以录入用户名,密码,学生姓名,性别,班级,老师,备注等信息。学生添加界面如图6.4.3,查看界面如图6.4.4图6.4.3添加学生关于学生添加功能,部分代码如下:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Studentst=newStudent();st.setSid(request.getParameter("sid"));st.setPass(request.getParameter("pass"));st.setSname(request.getParameter("sname"));st.setSex(request.getParameter("sex"));st.setTclass(request.getParameter("tclass"));st.setTeacher(request.getParameter("teacher"));st.setRemark(request.getParameter("remark"));StudentDaosd=newStudentDao();booleanb=sd.addStudent(st);if(b){request.getRequestDispatcher("/admin/showStudent.jsp").forward(request,response);}}publicstaticbooleanaddStudent(Students){Conndb=newConn();Stringsqlstr="insertintostudent(sid,pass,sname,sex,teacher,tclass,remark)values(""+s.getSid()+"",""+s.getPass()+"",""+s.getSname()+"",""+s.getSex()+"",""+s.getTeacher()+"",""+s.getTclass()+"",""+s.getRemark()+"")";System.out.println(sqlstr);53 太原理工大学毕业设计(论文)用纸booleanflag=false;if(db.executeUpdate(sqlstr)>0){flag=true;}db.close();returnflag;}图6.4.4学生管理其次,系统基本信息管理,当然包括了系部信息的管理、专业信息的管理、年级信息的管理、班级信息的管理、学年信息的管理。如:对系部信息的修改,包括名称的更改等等。然后,考勤信息管理,其中包括了请假模块信息的管理以及考勤模块信息的管理。这里最主要的操作是对请假记录和考勤记录的清除。53 太原理工大学毕业设计(论文)用纸图6.4.5帮助界面53 太原理工大学毕业设计(论文)用纸第七章系统测试一、软件测试的概念和方法软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生命周期中几乎横跨整个开发阶段:通常在编写出每一个模块之后就需要对它做必要的测试(称为单元测试)。编码和单元测试属于软件生命周期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周期的另一个独立阶段,即测试阶段。二、采用的测试技术软件测试包括了两个阶段:单元测试和集成测试。在软件开发的过程中,每实现一个模块都需要进行模块测试,也叫单元测试。在软件开发结束后,要对系统进行综合测试,即:集成测试。软件测试运用的主要技术有黑盒测试和白盒测试。本次测试主要采用的黑盒测试。黑盒测试着重测试软件功能。包括:功能是否正确或者遗漏了主要功能;界面链接错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误。通过黑盒测试发现系统存在的问题并进行修正。53 太原理工大学毕业设计(论文)用纸结论  从开始的毕业设计选题到最后系统的设计和实现,再到论文文章一步步的写完,每走一步对我来说都是充满了好奇感、新鲜感,在不断的失败、尝试和挑战中,我一步步成长起来。从一开始对Java的一知半解到后来管理系统的完成,其间每一次错误的调试成功时的喜悦,以及面对问题时无从下手的苦闷,此时此刻这一切都是历历在目。  踉踉跄跄地忙碌了两个月,我的毕业设计也终将告一段落。已基本上完成了系统的开发和设计,并基本实现了前期所制定的功能。系统也在不断的设计、更改和调试过程中逐渐的成熟。点击运行,也基本达到预期的效果,虚荣的成就感在没人的时候也总会冒上心头。但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能不全、外观粗糙、底层代码的不合理„„数不胜数。可是,我又会有点自恋式地安慰自己:做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获。以此语言来安抚我尚没平复的心。由于自己对Java的了解还不够深,所以难免存在着一些缺陷。主要有:界面不够美观,业务流程方面还是不够人性化,这是有待提高的地方;还有就是没有完全解决系统页面在不同浏览器都能正常显示的问题。  毕业设计告一段落,但对Java及其他相关知识的学习不能停止,日后也会不断完善这个系统,使其成为一个真实的,功能完善且可以给大家带来方便的系统。53 太原理工大学毕业设计(论文)用纸参考文献[1]屈辉立.JSP网站编程教程[D].北京大学,2006[2]廖疆星,黄丹丹等.新编MySql数据库适用教程[M].电子科技,2009,(12)[3]张凯.信息资源管理[J].清华大学,2007,(12)[4]王小铭.Java核心开发实战教材[D].南开大学,2010,(31)[5]周龙骥.未来十年数据库研究.中国计算机用户,2009,(55)[6]袁鹏飞.基于web的网络管理系统[J].信息网络安全,2004,(22)[7]周志逵.网络管理系统的设计与实现[D].华南理工大学,2005[8]BruceEckel.ThinkinginJava.UpperSaddleRiver,NewJersey,USA:PrenticeHall,2006.[9]CraigWalls,RyanBreidenBach.SpringInAction.ManningPublications.2006.[10]Enck,William,Ongtang,Machigar,McDaniel,Patrick.UnderstandingSecurity.IEEEsecurity&privacy,2009.(30)53 太原理工大学毕业设计(论文)用纸致谢作者在设计期间都是在程学凯老师全面、具体指导下完成进行的。程学凯老师渊博的学识、敏锐的思维、民主而严谨的作风使学生受益非浅,并终生难忘。感谢张兴中老师在毕业论文工作中给予的帮助。从论文的选题到本系统的最终完成,老师一直给予我细心的指导和无私的帮助,他的认真负责,严谨细致,一丝不苟,平易近人的态度是我学习的榜样。在此向我的导师表示深深的感谢!同时还要感谢同学们在各个阶段对我的帮助和建议。四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。四年的生活、学习让我在知识和阅历方面有了大大的提高。这四年的时光对我的人生来说起到了承前启后的作用。在大学结识了陪伴四年的老师、舍友、朋友和同学,不经意间我们共同走过了多多少少相同的岁月,以后的人生各不相同,但是我们有过一段相同的曾经,我们的未来在不断的分分合合中逐渐美好。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。 回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。 学友情深,情同兄妹。三年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。   在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。  只要我们相信“明天更美好”,心中有爱,我们的未来将是更加精彩。  最后,祝福大学四年一起走过的老师同学天天开心、有个美好的明天!53 太原理工大学毕业设计(论文)用纸外文文献ENGLISHE:DevelopWebapplicationprogramusingASPthearchitecturethatmustfirstestablishWebapplication.Nowinapplicationfrequentlywithtohavetwo:ThearchitectureofC/SandthearchitectureofB/S.Client/serverandcustomerend/serverholdthearchitectureofC/S.Thecustomer/serverstructureoftwofloor.Customer/server(Client/Server)modelisakindofgoodsoftwarearchitecture,itistheoneofbestapplicationpatternofnetwork.Fromtechnology,seethatitisalogicconcept,denotewillaapplicationmanytasksofdecomposingdifferencecarryout,commoncompletionisentiretoapplythefunctionoftask.Oneachnetworkmaincomputerofwebsite,resource(hardware,softwareanddata)divideintostep,isnotbalanced,undercustomer/serverstructure,withouttheclientcomputerofresourcethroughsendingrequesttotheserverthathasresource,getresourcerequest,someettheresourcedistributioninnetworknotbalancedness.Withthiskindofstructure,cansynthesizevariouscomputerstocooperatewithwork,letiteachcan,realizethescaleforthesystemofcomputeroptimization(Rightsizing)withscalereducetomelt(Downsizing).Itismostoftodivideintocomputernetworkapplicationintotwo,inwhichtheresourceandfunctionthatpartsupportsmanyuserstoshare,itisrealizedbyserver;Anotherpartfaceseveryuser,isrealizedbyclientcomputer,alsonamely,clientcomputerisusualtocarryoutprosceniumfunction,realizesman-machineinteractionthroughuserinterface,oristheapplicationprogramofspecificconducteduser.Andserverusuallycarriesoutthefunctionofbackstagesupporter,managestheoutsiderequestconcerningsetingup,acceptingandreplyinguserthatshared.Foracomputer,itcanhavedoublefunction,isbeingcertainandmomentarytocarvetoactasserver,53 太原理工大学毕业设计(论文)用纸andagainbecomesclientcomputerinanothertime.Customer/servertypecomputerdivideintotwokinds,onesidewhooffersserviceiscalledasserver,asksonesideofservicetobecalledascustomer.Tobeabletoofferservice,serveronesidemusthavecertainhardwareandcorrespondingserversoftware;Also,customeronesidemustalsohavecertainhardwareandcorrespondingcustomersoftware.Theremustbeaagreementbetweenserverandcustomer,bothsidescommunicateaccordingtothisagreement.Applycustomer/servermodelinInternetservice,therelationbetweencustomerandserverisnotimmutable.SomeInternetnodeoffersserviceontheonehand,alsogetsserviceontheotherhandfromothernode;Itiseveninonetimedialoguecourse,mutualrolealsoexchangesprobably.Asincarryoutfiletransmission,ifbecalledasonesidewhooffersfileserver,iscalledasonesidewhogetsfilecustomer,whenusinggetormgetordersinceanothernodetakesfile,canthinkthatwhatselfuseanditisclientcomputer,isusingputormputordertoanothernodedispatchfilecanagainthinkthemachinethatusedselfisserver.Multilayercustomer/serverstructureAlongwiththedevelopmentofenterpriseapplication,recently,haveagainarisenakindofnewmultilayerarchitecture,itappliescustomerendtodivideintotwominutes:Customerapplicationandserverapply.Customerapplicationisthepartoforiginalcustomerapplication,isanotherandpartialtohavebeentransferedtoservertoapply.Newcustomerapplicationtakestheresponsibilityforuserinterfaceandsimpleregularbusinesslogicandnewserverapplicationresidentcore,changeablebusinesslogic.Thereforeitsstructurehasbecomenew(Clientapplication+Serverapplication)/Serverstructure.ThiskindofstructurehassolvedtraditionalClient/Servercanexpandproblem,havereducedcustomerendbusinesslogic,andhavereducedtherequirementofcustomerendforhardware.Atthesametimebecauseofalotofbusinesslogicconcentrationshavegonetounitaryapplicationserveron,themaintenanceworkofapplication53 太原理工大学毕业设计(论文)用纸systemhadbeenalsoconcentratedtogether,haveeliminatedtheprobleminthetraditionalstructureofClient/Serverthatsoftwaredistributes.ThiskindofstructureiscalledasthearchitectureofB/S.Browser/Serverandbrowser/serverholdthearchitectureofB/S.Onessence,Browser/ServerisalsoakindofstructureofClient/Server,itisakindoffromthetraditionaltwolevelsofstructuraldevelopmentofClient/Servercometothethree-layerstructuralspecialcaseofClient/ServerthatappliedonWeb.InthesystemofBrowser/Server,usercanpassthroughbrowsertoalotofserversthatspreadonnetworktosendrequest.ThestructureofBrowser/Serverismaximumtohavesimplifiedtheworkofclientcomputer,onclientcomputer,needtoinstallanddeployfewcustomerendsoftwareonly,serverwillbearmorework,fordatabasevisitandapplyprogramcarryoutwillinserverfinish.Underthethree-layerarchitectureofBrowser/Server,expresslayer(Presentatioon),functionlayer(BusinessLogic),datalayer(DataService)havebeencuttheunitof3relativeindependences:Itisthefirstlayeroftoexpresslayer:Webbrowser.Inexpressinglayercontainsystemshowlogic,locateincustomerend.It"staskistosuggestbyWebbrowsertothecertainaWebserveronnetworkthatserviceisasked,afterverifyingforuseridentity,WebserverdeliversneededhomepagewithHTTPagreementtocustomerend,clientcomputeracceptthehomepagefilethatpassed,andshowitinWebbrowseron.Secondlayerfunctionlayer:HavetheWebserveroftheapplicationfunctionofprogramextension.Infunctionlayercontainthesystematichandlingofgeneralaffairslogic,locateinWebserverend.It"staskistherequestconcerningacceptinguser,needtobefirstconductedandcorrespondingtoexpandapplicationprogramanddatabasetocarryoutconnection,passesthroughthewaiessuchasSQLtodatabaseservertoputforwarddatahandlingtoapplyfor,thenetc.databaseservertheresultofhandlingdatasubmittoWebserver,deliveragainbyWebservertoreturncustomerend.53 太原理工大学毕业设计(论文)用纸Thenumberofpliesof3thaccordingtolayer:Databaseserver.Indatalayercontainsystematicdatahandlinglogic,locateindatabaseserverend.It"staskistoaccepttherequestthatWebservercontrolsfordatabase,realizationisinquiredandmodifiedfordatabase,updateetc.function,submitoperationresulttoWebserver.Carefulanalysisisbeeneasytosee,thearchitectureofBrowser/Serverofthree-layeristhehandlingofgeneralaffairsofthetwolevelsofstructureofClient/Serverlogicmodularfromthetaskofclientcomputerinsplit,fromthefirstfloorofindividualcompositionbearthepressureofitstaskandsuchclientcomputerhavealleviatedgreatly,distributeloadbalancedlyandhavegivenWebserver,sofromthestructuralchangeofClient/serveroforiginaltwofloorthestructureofBrowser/Serverofthree-layer.Thiskindofthree-layerarchitecturefollowingpictureshows.Thiskindofstructurenotonlyclientcomputerfromheavyburdenandtherequirementofperformancethatrisescontinuouslyforitinliberationcomeout,alsodefendtechnologypeoplefromheavymaintenanceupgradingworkinfreeoneself.Sinceclientcomputerhandlesgeneralaffairs,logicpartialminuteshavegivenfunctionserver,makeclientcomputerrightoff"slender"alotof,donottaketheresponsibilityforhandlingcomplexcalculationanddataagainvisitetc.crucialgeneralaffairs,isresponsibletoshowpart,so,maintenancepeopledonotrushaboutagainforthemaintenanceworkofprogrambetweeneveryclientcomputer,andputmajorenergyintheprogramonfunctionserverupdatework.Betweenthiskindofthree-layerstructurallayerandlayer,themutuallyindependentchangeofanyfirstfloordoesnotaffectthefunctionofotherlayer.IthaschangedthedefectofthetwolevelsofarchitectureofClient/Serveroftraditionfromfoundation,itisthetransformwithdeeponceinapplicationsystematicarchitecture.ThecontrastoftwoarchitecturesThearchitectureofBrowser/ServerandthearchitectureofClient/ServercomparewithalladvantagesthatnotonlyhavethearchitectureofClient/ServerandalsohavethearchitectureofClinet/Servertheuniqueadvantagethatplacedoesnothave:53 太原理工大学毕业设计(论文)用纸Openstandard:ThestandardadoptedbyClient/Serveronlyindepartmentunificationforbut,it"sapplicationisoftenforspecialpurpose.Itislowertodevelopanddefendcost:ItneedtobeimplementedonallclientcomputersthattheapplicationofClient/Servermustdevelopthecustomerendsoftwareforspecialpurpose,nomatterinstallationanddispositionescalatestill,havewastedmanpowerandmaterialresourcesmaximumly.TheapplicationofBrowser/Serverneedincustomerendhavegeneralbrowser,defendandescalatetoworkinserverendgoon,neednotcarryoutanychangeascustomerholds,havereducedthecostofdevelopmentandmaintenancesogreatly.Itissimpletouse,interfacefriendly:TheinterfaceoftheuserofClient/Serverisdecidedbycustomerendsoftware,interfaceandthemethodofitsusearenotidenticaleach,perpopularizeasystemofClient/Serveraskuserstudyfromthebeginning,ishardtouse.TheinterfaceoftheuserofBrowser/Serverisunifiedonbrowser,browseriseasytouse,interfacefriendly,mustnotstudyuseagainothersoftware,theuseofaLaoYongYithathassolveduserproblem.Customerenddetumescence:ThecustomerendofClient/Serverhasthefunctionthatshowsandhandlesdata,astherequirementofcustomerendisaclientcomputer"itisfat"veryhigh.ThecustomerofBrowser/Serverholdstheaccessthatnottakestheresponsibilityfordatabaseagainandtheetc.taskofcomplexdatacalculation,needitonlyshow,thepowerfulrolethathasplayedserverfullyissolargetohavereducedtherequirementforcustomerend,customerendbecomevery"thin".Systemisflexible:The3minutesofthesystemofClient/Server,inmodular,havethepartthatneedtochangetowantrelationtothechangeofothermodular,makesystemverydifficultupgrading.The3minutesofthesystemofBrowser/Servermodularrelativeindependence,inwhichapartofmodularchange,othermodulardoesnotgetinfluence,itisveryeasythatsystemimprovetobecome,andcanformthesystemwithmuchbetterperformancewiththeproductofdifferentmanufacturer.Ensuresystematicsafety:InthesystemofClient/Server,directlyjoinwithdatabaseserverbecauseofclientcomputer,usercanveryeasilychangethedataonserver,can53 太原理工大学毕业设计(论文)用纸notguaranteesystematicsafety.ThesystemofBrowser/ServerhasincreasedalevelofWebserverbetweenclientcomputeranddatabaseserver,makestwonottobedirectlylinkedagain,clientcomputercannotbedirectlycontroledfordatabase,preventuserefficientlyinvadeillegally.ThearchitectureofBrowser/Serverofthree-layerhastheadvantagethatalotoftraditionalarchitecturesofClient/Serverdoesnothave,andisclosetohavecombinedthetechnologyofInternet/Intranet,isthatthetendencyoftechnicaldevelopmenttendsto,itapplicationsystemtapeintoonebrand-newdeveloptimes.FromthisusoptiontheconfigurationofB/Sthearchitecturethatdevelopsassystem.whatareC/SwithB/SFor"C/S"withthetechnologyof"B/S"developchangeknow,first,mustmakeitclearthat3problems.(1)WhatisthestructureofC/S.C/S(Client/Server)structure,theserverstructureandclientcomputerthatallknowwell.Itissoftwaresystematicarchitecture,throughitcanholdhardwareenvironmentfullyusingtwoadvantage,realizetaskreasonabledistributiontoClientendandServerend,havereducedsystematiccommunicationexpense.Now,themostsystemsofapplicationsoftwarearethetwolevelsofstructureoftheformofClient/Server,aredevelopingtotheWebapplicationofdistributiontypesincecurrentsoftwareapplicationissystematic,WebandtheapplicationofClient/Servercancarryoutsamebusinesshandling,applydifferentmodulartosharelogicassembly;Thereforeitissystematicthatbuilt-inandexternalusercanvisitnewandexistingapplication,throughthelogicinexistingapplicationsystem,canexpandnewapplicationsystem.Thisisalsopresentapplicationsystemdevelopdirection.TraditionalC/Sarchitecturethoughadoptingisopenpattern,butthisistheopennessthatsystemdevelopsalevel,inspecificapplicationnomatterClientendorServerendthesoftwarethatneedtostillspecifysupport.BecauseofthesoftwaresoftwarethatneedtodevelopdifferenteditionaccordingtothedifferentsystemofoperatingsystemthatcannotofferthestructureofC/Sandtheopenenvironmentof53 太原理工大学毕业设计(论文)用纸usergenuineexpectation,besides,therenovationofproductisveryrapid,isnearlyimpossibletoalreadymeetthe100computeraboveusersoflocalareanetworkatthesametimeuse.Pricehaslowefficiencyhigh.Ifmycourtyarduses,Shanghaiexceedtheorchidcompany"smanagementsoftware"statisticsoflawcase"istypicalC/Sarchitecturemanagementsoftware.(2)WhatisthestructureofB/S.B/S(Browser/Server)structurebrowserandserverstructure.ItisalongwiththetechnologyofInternetspringup,itisforthestructureofimprovementorakindofchangeofthestructureofC/S.Underthiskindofstructure,userworkinginterfaceistorealizethroughWWWbrowser,losethelogicofgeneralaffairsverymuchinfront(Browser)realization,butthemajorlogicofgeneralaffairsinserverend(Server)realization,formthethree-layerclaimed3-tierstructure.So,havesimplifiedcustomerendcomputerloadgreatly,havealleviatedsystemtodefendworkloadandthecostwithupgrading,havereducedtheoverallcostofuser(TCO).Withpresenttechnologysee,localareanetworkthenetworkapplicationthatestablishesthestructureofB/S,andunderthepatternofInternet/Intranet,databaseapplicationiseasytoholdrelatively,costalsoislower.Itisthatonenessgoestothedevelopmentofposition,canrealizedifferentpeople,neversameplace,withdifferencereceivethewayofentering(forexampleLAN,WAN,Internet/Intranetetc.)visitandoperatecommondatabase;Itcanprotectdataplatformefficientlywithmanagementvisitlimitsofauthority,serverdatabaseisalsosafe.Nowinmycourtyard,net(Intranet),outernet(Internet)withBeijingeasternclearbigcompany"lawcaseandthemanagementsoftwareofofficialbusiness"isthestructuralmanagementsoftwareofB/S,policemeneachworkingstationinlocalareanetworkpassthroughWWWbrowsercanrealizeworkingbusiness.EspeciallyinJAVAstepplatformlanguageappearanceafter,theconfigurationmanagementsoftwareofB/Sismorefacilitated,isshortcut,efficient.(3)Themanagementsoftwaretechnologyofmainstream.Thetechnologyofmainstreamofmanagementsoftwaretechnologyisas53 太原理工大学毕业设计(论文)用纸managementthought,havealsogonethrough3developperiod.First,interfacetechnologygoestoWindowsgraphinterface(orgraphuserinterfaceGUI)fromlastcenturyDOScharacterinterface,tillBrowserbrowserinterface3differencesdevelopperiod.Secondly,todayownthebrowserinterfaceofcomputer,isnotonlyvisualandiseasytouse,whatismoremajoristhatanyitsstyleofapplicationsoftwarebasedonbrowserplatformisas,maketherequirementofchoosingapersonforthejobforoperatingtrainingnothighandsoftwareoperabilityisstrong,iseasytodistinguish;Moreoverplatformarchitecturethefilethatalsogoestotodayfrompastsingleuserdevelopment/server(F/S)systemandclientcomputer/server(C/S)systemandbrowser/server(B/S)system.ThecomparisonofC/SandB/SC/SandB/Sisthenowworldtwotechnologiesofmainstreamofdevelopingpatterntechnicalconfiguration.C/SisthatAmericanBorlandcompanyresearchesanddevelopmostearly,B/SisthatAmericanMicrosoftresearchesanddevelop.Nowthistwotechnologieswithquiltworldcountriesgrasp,itismanythatdomesticcompanyproducearticlewithC/SandthetechnicaldevelopmentofB/S.Thistwotechnologieshavethecertainmarketshareofself,iswithcustomercrowd,eachdomesticenterprisesaysthatownmanagementsoftwareconfigurationtechnicalfunctionispowerful,advanced,convenient,thecustomergroupthatcanlift,haveacrowdscholarinkguesttoshakeflagselfcryout,advertisementfliesalloverthesky,maybecalledbenevolenttoseekernel,sageseeswisdomC/Sconfiguresinferiorpositionandtheadvantageofsoftware(1)Applicationserveroperationdataloadislightcomparatively.ThedatabaseapplicationofthemostsimplearchitectureofC/Sisbecomebytwopartialgroups,customerappliesprogramanddatabaseserverprogram.Bothcanbecalledasprosceniumprogramandtheprogramofbackstagesupporterrespectively.Themachineofoperationdatabaseserverprogramisalsocalledasapplicationserver.Onceserverprogramhadbeenstarted,waitstherequestconcerningresponding53 太原理工大学毕业设计(论文)用纸customerprogramhairatanytime;Customerapplicationprogramoperationcanbecalledascustomercomputerontheowncomputerofuser,incorrespondencewithdatabaseserver,whenneedscarryoutanyoperationforthedataindatabase,customerprogramseeksserverprogramvoluntarily,andsendsrequesttoit,serverprogramisregularasbasisintendstomaketoreply,sendtoreturnresult,applicationserveroperationdataloadislighter.(2)Datastoremanagementfunctionrelativelytransparent.Indatabaseapplicationdatastoremanagementfunction,iscarriedoutrespectivelyindependentlybyserverprogramandcustomerapplicationprogram,isregularasprosceniumapplicationcanviolate,andusuallythosedifferent(nomatterishaveknownstillunknown)operationsdata,inserverprogram,donotconcentraterealization,forinstancevisitlimitsofauthority,serialnumbercanberepeated,musthavecustomertalentestablishmenttheruleorder.Itisthesetoown,forthelastuserthatworksonprosceniumprogramis"transparent",theyneednotbeinterestin(cannotusuallyalsointerfere)thecourseofbehind,cancompleteownallwork.Intheapplicationofcustomerserverconfigurationprosceniumprogramnotisvery"thin",troublesomematterisdeliveredtoserverandnetwork.InthesystemofC/Stakeoff,databasecannotbecomepublicreally,professionallymorecompetentstorehouse,itgetsindependentspecialmanagement.(3)TheinferiorpositionoftheconfigurationofC/Sishighmaintenancecostmakeinvestmentjustbig.First,withtheconfigurationofC/S,willselectproperdatabaseplatformtorealizethegenuine"unification"ofdatabasedata,makethedatasynchronismthatspreadsintwolandscompletedeliverbydatabasesystemgotomanage,butthelogicallytwooperatorsoflandwilldirectlyvisitasamedatabasetorealizeefficiently,havesosomeproblems,ifneedsestablishmentthedatasynchronismof"realtime",thedatabaseserverthatmustestablishrealtimecommunicationconnectionbetweentwoplacesandmaintainstwolandsisonlinetorun,networkmanagementstaffwillagainwanttodefendandmanageforcustomerendasserverdefendsmanagement,53 太原理工大学毕业设计(论文)用纸maintenanceandcomplextechsupportandtheinvestmentofthishighneedshaveveryhighcost,maintenancetaskismeasured.Secondly,thesoftwareofthestructureofC/Softraditionneedtodevelopthesoftwareofdifferenteditionaccordingtothedifferentsystemofoperatingsystem,isveryrapidbecauseoftherenovationofproduct,priceisworkingneedshighwithinefficientalreadydonotmeet.InJAVAstepplatformlanguageappearanceafter,theconfigurationofB/SismorevigorousimpactC/S,andformsthreatandchallengeforit..TheadvantageofB/Sconfigurationsoftware(1)TheMaintenanceofinferiorpositionandupgradingwayaresimple.Nowupgradingandtheimprovementofsoftwaresystemmoreandmorefrequently,theproductoftheconfigurationofB/Sembodiesmoreconvenientpropertyobviously.Foronealittlealittlebitbigunit,ifsystematicadministratorneeds,betweenhundredsof1000evenlastcomputersroundtriprun,efficiencyandworkloadistocanimagine,buttheconfigurationofB/Ssoftwareneedsmanagementserverhavebeenallright,allcustomerendsarebrowseronly,neednotdoanymaintenanceatall.Nomatterthescaleofuserhas,iswhat,hashowmanybranchwillnotincreaseanyworkloadofmaintenanceupgrading,isalltooperateneedstoaimatservertogoon;Ifneeddifferentlyonly,netserverconnectionspecially,realizelong-rangemaintenanceandupgradingandshare.Soclientcomputermoreandmore"thin",andservermoreandmore"fat"isthedirectionofmainstreamoffutureinformativedevelopment.Inthefuture,softwareupgradingandmaintenancewillbemoreandmoreeasy,andusecanmoreandmoresimple,thisisforusermanpower,materialresources,timeandcostsaveisobvious,itisastonishing.Thereforedefendandescalaterevolutionarywayistheclientcomputer"itisthin","isfat"server.(2)Costreduction,itismoretoselect.AllknowwindowsinthecomputeroftopofatableonnearlyoneTongworld,browserhasbecomestandarddisposition,butonserveroperatingsystem,windowsisinabsolutedominancepositionnot.Currenttendencyistheapplicationmanagement53 太原理工大学毕业设计(论文)用纸softwarethatusestheconfigurationofB/Sall,needtoinstallonlyinLinuxserveron,andsafetyishigh.Thesoserveroptionofoperatingsystemismany,nomatterchoosingthoseoperatingsystem,canletthemostofonesusewindowsinordertothecomputeroftopofatableofoperatingsystemdoesnotgetinfluence,thisformakemostpopularfreeLinuxoperatingsystemdevelopfast,Linuxexceptoperatingsystemisfreebesides,itisalsofreetolinkdatabase,thiskindofoptionisverypupular.Say,manypersonsondaily,"Sinawebsite"nets,solongashavinginstalledbrowserforcan,andwhatneednotknowtheserverof"Sinawebsite"touseisthatwhatoperatingsystem,andinfactthemostofwebsitesdonotusewindowsoperatingsystemreally,butthecomputerofuserismostofasinstallingtobewindowsoperatingsystem.(3)Applicationserveroperationdataloadvaluecomparatively.SinceB/Sconfiguresmanagement,softwareinstallationinserverend(Server)on,itisbeenallrightthatnetworkadministratorneedtomanageserveronly,theuserinterfacemajorlogicofgeneralaffairsinserver(Server)endpassthroughWWWbrowsercompletelyrealization,losethelogicofgeneralaffairsverymuchinfront(Browser)realization,allcustomerendshasonlybrowser,networkadministratorneedtodohardwaremaintenanceonly.Butapplicationserveroperationdataloadisheavier,onceoccuring"servercollapse"towaitforproblem,consequenceisunimaginable.Thereforealotofunitshavedatabasetostockserver,arereadyforanyeventuality.53 太原理工大学毕业设计(论文)用纸原文翻译:利用ASP开发Web应用程序首先必须确立Web应用的体系结构。目前在应用中常用到的有两种:C/S体系结构和B/S体系结构。C/S体系结构即client/server,客户端/服务器端。两层的客户/服务器结构。客户/服务器(Client/Server)模型是一种良好的软件体系结构,是网络的最佳应用模式之一。从技术上看,它本身是一个逻辑概念,是指将一个应用分解成多个任务分别执行,共同完成整个应用任务的功能。网络各站点主机上资源(硬件、软件、数据)分步不均衡,在客户/服务器结构下,无资源的客户机通过向有资源的服务器发出请求,并得到资源请求,从而适应网络中资源分布的不均衡性。采用这种结构能综合各种计算机协同工作,各尽其能,实现对计算机系统的规模优化(Rightsizing)和规模缩小化(Downsizing)。从技术角度讲,“客户机”和“服务器”都是逻辑的概念,其含义是:将计算机网络应用分成两大部分,其中一部分支持多个用户共享的功能与资源,它由服务器来实现;另一部分是面向每个用户的,由客户机来实现,也就是说,客户机通常执行前台功能,通过用户界面实现人机对话,或是执行用户特定的应用程序。而服务器通常执行后台功能,管理共享的外设,接受并回答用户的请求等。对于一台计算机来说,它可以具有双重功能,在某一时刻充当服务器,而在另一时刻又成为客户机。客户/服务器类型把计算机分为两类,提供服务的一方称为服务器,请求服务的一方称为客户。为了能够提供服务,服务器一方必须具有一定的硬件和相应的服务器软件;同样,客户一方也必须具有一定的硬件和相应的客户软件。在服务器和客户之间必须有一个协议,双方根据这个协议进行通信。  将客户/服务器模型应用于Internet服务,客户与服务器之间的关系并不是一成不变的。有的Internet节点一方面提供服务,另一方面也从别的节点处获得服务;甚至在一次对话过程中,双方的角色也可能互换。如在进行文件传输时,如果把提供文件的一方称为服务器,把获取文件的一方称为客户,则在使用get或mget命令从另一个节点取文件时,可以认为自己使用的及其是客户机,在使用put或mput命令向另一个节点发送文件时又可以认为自己使用的机器是服务器。多层的客户/服务器结构 随着企业应用的扩展,最近又出现了一种新的多层体系结构,它把客户端应用分为两部分:客户应用和服务器应用。客户应用是原来客户应用的一部分,另一部分被移入服务器应用中。新的客户应用负责用户界面和简单固定的业务逻辑,新的服务器应用驻留核心的、易变的业务逻辑。因此其结构就变成了新的(Client应用+Server应用)/Server结构。这种结构解决了传统Client/Server的可扩展问题,既减少了客户端业务逻辑,又降低了客户端对硬件的要求。同时,由于把许多业务逻辑集中到了单一的应用服务器上,应用系统的维护工作也被集中到了一起,消除了传统Client/Server结构中软件分发的问题。这种结构即被称为B/S体系结构。53 太原理工大学毕业设计(论文)用纸B/S体系结构即Browser/Server,浏览器/服务器端。本质上,Browser/Server也是一种Client/Server结构,它是一种由传统的二层Client/Server结构发展而来的三层Client/Server结构在Web上应用的特例。 在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。 在Browser/Server三层体系结构下,表示层(Presentatioon)、功能层(BusinessLogic)、数据层(DataService)被割成三个相对独立的单元:第一层 表示层:Web浏览器。  在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。 第二层 功能层:具有应用程序扩展功能的Web服务器。在功能层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。  第三层 数据层:数据库服务器。 在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。 仔细分析不难看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构层与层之间相互独立,任何一层的改变不影响其它层的功能。它从根本上改变了传统的二层Client/Server体系结构的缺陷,它是应用系统体系结构中一次深刻的变革。 两种体系结构的对比 Browser/Server体系结构与Client/Server体系结构相比不仅具有Client/Server体系结构的全部优点,而且又有Clinet/Server体系结构所不具备的独特优势:开放的标准:Client/Server所采用的标准只要在内部统一就可,它的应用往往是专用的。Browser/Server所采用的标准都是开放的、非专用的,是经过标准化组织所确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。53 太原理工大学毕业设计(论文)用纸较低的开发和维护成本:Client/Server的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。Browser/Server的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。 使用简单,界面友好:Client/Server用户的界面是由客户端软件所决定的,其使用的方法和界面各不相同,每推广一个Client/Server系统都要求用户从头学起,难以使用。Browser/Server用户的界面都统一在浏览器上,浏览器易于使用、界面友好,不须再学习使用其它的软件,一劳永逸的解决了用户的使用问题。客户端消肿:Client/Server的客户端具有显示与处理数据的功能,对客户端的要求很高,是一个“胖”客户机。Browser/Server的客户端不再负责数据库的存取和复杂数据计算的等任务,只需要其进行显示,充分发挥了服务器的强大作用,这样就大大的降低了对客户端的要求,客户端变得非常“瘦”。 系统灵活:Client/Server系统的三部分模块中有一部分需改变就要关联到其它模块的变动,使系统极难升级。Browser/Server系统的三部分模块各自相对独立,其中一部分模块改变时其它模块不受影响,系统改进变得非常容易,且可以用不同厂家的产品来组成性能更佳的系统。保障系统的安全性:在Client/Server系统中由于客户机直接与数据库服务器进行连接,用户可以很轻易的改变服务器上的数据,无法保证系统的安全性。Browser/Server系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不再直接相连,客户机无法直接对数据库操纵,有效地防止用户的非法入侵。三层的Browser/Server体系结构具有许多传统Client/Server体系结构不具备的优点,而且又紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。由此我们选择B/S架构作为系统开发的体系结构。什么是C/S和B/S要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。(1)什么是C/S结构。C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。如我院使用的上海超兰公司“案件统计”管理软件就是典型的C/S体系结构管理软件。(2)什么是B/S结构。53 太原理工大学毕业设计(论文)用纸B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。目前我院内网(Intranet)、外网(Internet)和北京东方清大公司“案件、办公管理软件”就是B/S结构管理软件,干警在局域网各工作站通过WWW浏览器就能实现工作业务。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。(3)管理软件主流技术。管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系C/S和B/S之比较C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智C/S架构软件的优势与劣势(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。53 太原理工大学毕业设计(论文)用纸(3)C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。B/S架构软件的优势与劣势(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。53