




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨学院本科毕业论文(设计)题目:学生学籍管理系统 院(系)软件学院专 业软件工程年 级姓 名学 号05033112指导教师职 称培训讲师工程师2009年6月15日毕业论文(设计)评语及成绩论文类型:软件开发型评语:指导教师(签字)年 月 日评语及评分成绩: 答辩委员会主席(签字)年 月 日院(系)学位评定委员会意见:签字:年 月 日学校学位评定委员会意见:签字:年 月 日目 录摘 要1abstract2前 言3第一章 概述41.1 信息技术的发展及其发展趋势41.2 信息技术面临的挑战51.3 开发学生学籍管理系统的意义5第二章 学生学籍管理系统开发平台与技术62.1 编程语言java62.1.1 java简介62.1.2 java主要特点62.2 jsp技术72.3 servlet技术82.3.1 servlet的生命周期82.3.2 java servlet api92.4 struts技术112.5 web技术132.6 javascript技术152.7 mysql数据库简介162.8 开发工具17第三章 系统的分析与总体设计183.1 系统分析183.1.1学生学籍系统的需求分析183.1.2系统功能分析193.2 系统设计原则203.3 系统设计233.3.1系统功能模块设计233.3.2系统流程设计243.4 数据库分析与设计253.4.1系统e-r图253.4.2数据库设计27第四章 详细设计与实现304.1 学生学籍管理系统首页的设计304.2 用户管理模块的设计324.3 课程管理模块的设计344.4 成绩管理模块的设计364.5 系统管理模块的设计37第五章 系统测试395.1 系统测试的目的和原则395.1.1 系统测试的目的395.1.2 系统测试的原则395.2 单元测试405.3 功能测试40第六章 结论44参考文献45附 录46后 记52哈尔滨学院本科毕业论文(设计)摘 要随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的基于网络的计算机应用基础设施。为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对学生学籍进行管理的软件是极其重要的、必要的。本系统为解决这一问题而开发,可以减少学籍管理工作的工作量、提高工作效率、节省资源,提高学校信息技术应用水平。论文概述了信息技术在教学中的应用,介绍了系统的开发背景、开发工具eclipse和myeclipse以及开发中使用的jsp、servlet、struts等web技术。详细阐述了需求分析及系统设计的过程,后者主要包括功能模块划分及数据库的设计。系统分为四大模块:用户管理模块、课程管理模块、成绩管理模块及系统管理模块。用户管理模块主要包括学生管理和教师管理两个子模块,学生管理负责维护学生信息,教师管理负责维护教师信息;课程管理模块负责维护课程信息;成绩管理模块负责维护成绩信息;系统管理模块负责维护数据字典的维护与扩展。最后,论文对系统测试进行了阐述。关键词:信息技术;学籍管理;struts;web技术abstractwith the rapid development of computer technology and network communication technology, many schools have a better web-based computer application infrastructure. in order to enhance the modernization of school management and scientific levels, to ensure information processing, it is important and necessary to develop a system for students status management. the system was developed to solve this problem. it can reduce the workload of school management and increase work efficiency and save resources. in short, it improves the level of information technology applications.the paper provides an overview of information technology in teaching applications, introduces the context of system development, development tools of eclipse and myeclipse, jsp, servlet, struts and other web technologies. it details the needs analysis and system design process which mainly include the division of functional modules and database design. the system is divided into four modules: user management module, course management module, score management module and system management module. user management module includes two sub-modules: the management of students and teachers. the students sub-module is responsible for the maintenance of student information management. the teachers sub-module is responsible for the maintenance of information management. the course management module is responsible for the maintenance information of course. the score management module is responsible for the maintenance information of score. the system management module is responsible for the maintenance and expansion of database dictionary. finally, the test on the system is described.key words: information technology; students status management; struts; web前 言学生学籍管理系统是一个教育单位信息化管理中不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户(即学生和管理者)提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式来管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低、数据处理快速等。这些优点能够极大地提高了学生学籍信息管理的效率,也是学生学籍管理科学化、正规化,与世界接轨的重要条件。因此,开发一套学生学籍管理软件成为很有必要的事情。本论文共分为6章来介绍。第一章 概述,主要是介绍信息管理的发展状况和发展趋势,还介绍了该系统的开发意义。第二章 开发系统的“准备材料”,主要是介绍开发该系统所涉及到的技术、开发工具、开发环境、所用服务器和数据库等。第三章 需求分析与总体设计部分,主要是分析学生学籍系统的功能需求和从总体上设计该系统。第四章 详细设计与实现部分,主要是详细描述该系统的功能及其代码实现。第五章 系统测试部分,主要是对该系统作详细的系统测试。第六章 结论部分,主要是对本论文的总结。第一章 概述1.1 信息技术的发展及其发展趋势人类社会己经踏入21世纪的门槛,蓦然回首:20世纪90年代以来,全球信息技术发展明显加快。由于芯片技术、电脑软件技术突飞猛进地提高,电脑功能正日趋强大。随着internet的出现,人们已经认识到,周围的一切正在发生异乎寻常的变化:“奔腾”赞歌唱遍各个角落;多媒体计算机迅速走进家庭;上网已成为人们日常生活的一部分;www浏览使你足不出户便知天下事:各种应用软件更是应有尽有。事实证明:网络的普及和应用大大推动了计算机应用的发展。从国防军事、交通运输、财政金融、科学教育等大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都采用了计算机网络管理。网络发展已经超越了国界,跨越了地域,使地球上的人们似乎生活在一个“地球村”里。在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核心。于是,基于web的数据库也就应运而生了。随着internet/intranet技术的发展,开发基于web的应用程序势在必行,数据库技术更是需要和web技术相结合,才有更为广阔的前景。asp作为微软推出的web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用,同时浏览器/服务器模式的数据库体系也正逐渐成为数据库结构的主流。它的发展趋势主要体现在以下几点:1微电子技术的加速发展导致芯片的运算能力及性能价格比继续按几何级数的规律增长,从而带动软件、通信、信息等技术的应用达到前所未有的发展水平。2信息的数字处理技术走向成熟,从而为大规模、多领域的信息产品制造和信息服务创造了有利条件。3软件技术的高速发展成倍地扩大了信息技术的应用范围和功能。4网络技术向高速、宽带和有线、无线相互融合方向发展。5随着数字化技术的发展,计算机、电信与媒体技术的融合已成为必然。6信息产业己成为世界经济的龙头产业,无论是发达国家,还是发展中国家,都把大力发展信息产业,加快推进信息化作为跨世纪发展的战略任务。1.2 信息技术面临的挑战信息技术与信息产业的发展水平,是衡量一个国家现代化水平和综合国力的重要际志。世界信息技术的飞速发展对我国信息产业既是难得的机遇,也是巨大的挑战。加速发展信息技术与信息产业,直接关系到我国社会主义现代化建设的进程,关系到我国21世纪的国际地位和竞争实力。目前,我国信息技术和信息产业与发达国家相比还有很大的差距。我国微电子产业的水平还不高,目前国内需求自给率不到20%,一些技术档次高的产品不能生产;软件产业还没有形成规模,自有知识产权的软件产品还不多,主要操作系统基本上还是采用外国公司产品;通信服务的整体水平还有待提高,l/4的行政村还不通电话;信息资掘的开发利用和信息服务还处于起步阶段。为了扭转我国信息技术相信息产业的落后局面,我们必绩在信息技术领域进一步加强技术创新,大力发展我国的信息产业。在世纪之交,党和国家站在跨世纪发展的高度上,作出了重大战略抉择,成立了信息产业部,井对电信体制进行了重大改革租调整,为进一步加快我国信息产业的发展创造了有利条件。1.3 开发学生学籍管理系统的意义21世纪以来,随着信息技术的高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用已经普及到经济和社会生活的各个领域。原本的旧的管理方法越来越不适应现在社会的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。在各大高校,用计算机管理学校的信息已经越来越普遍了,这样不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力。为此,用计算机来管理学校的信息,是非常必要的。另外,由于学生人数的剧增、学生信息变化快、需求频繁,学校对学生原来的学籍管理软件已经不能适应新的办学规模和对现代办学效率的需要,因此有必要编制新的学生学籍管理系统来提高学校的工作效率。第二章 学生学籍管理系统开发平台与技术2.1 编程语言java2.1.1 java简介java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。用java实现的hotjava浏览器(支持java applet)显示了java的魅力:跨平台、动态的web、internet计算。从此,java被广泛接受并推动了web的迅速发展,常用的浏览器现在均支持java applet。另一方面,java技术也不断更新。java平台由java虚拟机(java virtual machine)和java 应用编程接口(application programming interface、简称api)构成。java 应用编程接口为java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个java平台之后,java应用程序就可运行。现在java平台已经嵌入了几乎所有的操作系统。这样java程序可以只编译一次,就可以在各种系统中运行。java应用编程接口已经从1.1x版发展到1.2版。目前常用的java平台基于java1.4,最近版本为java1.7。java分为三个体系javase(java2 platform standard edition,java平台标准版),javaee(java 2 platform,enterprise edition,java平台企业版),javame(java 2 platform micro edition,java平台微型版)。2.1.2 java主要特点1java语言是简单的。java语言的语法与c语言和c+语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2java语言是一个面向对象的。java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。java语言全面支持动态绑定,而c+ 语言只对虚函数使用动态绑定。总之,java语言是一个纯的面向对象程序设计语言。3java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、 serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。4java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。 5java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。2.2 jsp技术为了快速方便地进行动态网站的开发,jsp在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。 1将内容的生成和显示进行分离 用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面,并使用jsp标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和javabeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和javabeans中,所以web管理人员和页面设计者,能够编辑和使用jsp页面,而不影响内容的生成。 2可重用组件 绝大多数jsp页面依赖于可重用的、跨平台的组件(javabeans或者enterprise javabeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3采用标识 web页面开发人员不会都是熟悉脚本语言的编程人员。jsp技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。标准的jsp标识能够访问和实例化javabeans组件,设置或者检索组件属性,下载applet,以及执行用其他方法更难于编码和耗时的功能。 4适应平台 几乎所有平台都支持java,jspjavabeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,jsp和javabeans甚至不用重新编译,因为java字节码都是标准的与平台无关的。 5数据库连接 java中连接数据库的技术是jdbc,java程序通过jdbc驱动程序与数据库相连,执行查询、提取数据等操作。sun公司还开发了jdbcodbc bridge,利用此技术java程序可以访问带有odbc驱动程序的数据库,目前大多数数据库系统都带有odbc驱动程序,所以java程序能访问诸如oracle、sybase、ms sql server和ms access等数据库。 此外,通过开发标识库,jsp技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。 jsp技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用java技术家族的一部分,以及java 2(企业版体系结构)的一个组成部分,jsp技术能够支持高度复杂的基于web的应用。 由于jsp页面的内置脚本语言是基于java的,而且所有的jsp页面都被编译成为java servlets,所以jsp页面具有java技术的所有好处,包括健壮的存储管理和安全性。作为java平台的一部分,jsp拥有java编程语言“一次编写,各处运行”的特点。2.3 servlet技术2.3.1 servlet的生命周期servlet的生命周期由servlet容器控制,由容器创建servlet实例。整个生命周期: 1实例化:加载servlet组件类,由容器创建servlet实例。 2初始化:执行init方法,初始化servlet实例。 servletconfig接口实现对象:向servlet传递配置信息,包含servlet初始化信息,以名-值对形式提供。servlet使用servletconfig接口与servlet容器通信。 通过getservletconfig方法获得当前servletconfig接口实现对象。 3服务:调用servlet组件genericservlet类的service方法处理客户请求;servletrequest接口和servletresponse接口的实现对象来处理请求和发送响应。如果url为get请求 则执行httpservlet类的doget方法;如果url为post请求则执行httpservlet类的dopost方法。 4释放:执行destory方法释放servlet实例资源。2.3.2 java servlet apihttp servlet 使用一个 html 表格来发送和接收数据。要创建一个 http servlet,请扩展 httpservlet 类, 该类是用专门的方法来处理 html 表格的 genericservlet 的一个子类。 html 表单是由 和 标记定义的。表单中典型地包含输入字段(如文本输入字段、复选框、单选按钮和选择列表)和用于提交数据的按钮。当提交信息时,它们还指定服务器应执行哪一个servlet(或其它的程序)。 httpservlet 类包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是继承的。1init() 方法在 servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 servlet 时装入 servlet。 无论有多少客户机访问 servlet,都不会重复执行 init() 。缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法来覆盖它,典型的是管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 gif 图像,改进 servlet 返回 gif 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init() 方法设置了 servlet 的初始化参数,并用它的 servletconfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。 2service() 方法service() 方法是 servlet 的核心。每当一个客户请求一个httpservlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个“请求”(servletrequest)对象和一个“响应”(servletresponse)对象作为参数。 在 httpservlet 中已存在 service() 方法。缺省的服务功能是调用与 http 请求的方法相应的 do 功能。例如, 如果 http 请求方法为 get,则缺省情况下就调用 doget() 。servlet 应该为 servlet 支持的 http 方法覆盖 do 功能。因为 httpservlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。3destroy() 方法destroy() 方法仅执行一次,即在服务器停止且卸装servlet 时执行该方法。典型的,将 servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。 当服务器卸装 servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个servlet 在运行service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。 4getservletconfig()方法getservletconfig()方法返回一个 servletconfig 对象,该对象用来返回初始化参数和servletcontext。servletcontext 接口提供有关servlet 的环境信息。5getservletinfo()方法当服务器调用sevlet 的service()、doget()和dopost()这三个方法时,均需要 “请求”和“响应”对象作为参数。“请求”对象提供有关请求的信息,而“响应”对象提供了一个将响应信息返回给浏览器的一个通信途径。javax.servlet 软件包中的相关类为servletresponse和servletrequest,而javax.servlet.http 软件包中的相关类为httpservletrequest 和 httpservletresponse。servlet 通过这些对象与服务器通信并最终与客户机通信。servlet 能通过调用“请求”对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。servlet 可以调用“响应”对象的方法发送响应,该响应是准备发回客户机的。2.4 struts技术2.4.1 struts工作原理struts框架是apache开源软件联盟()的一个开源项目jakarta struts framework。struts框架继承了mvc设计模式的特性,遵守了j2ee的servlet、jsp等技术规范,并且根据j2ee的特点做了相应的变化和扩展,是j2ee体系架构的一种轻量级实现。作为一款优秀的java web应用程序的开发框架,struts框架凭借其清晰性、灵活性,成为当前最为广泛应用的轻量级java web 开发框架。struts框架实现了mvc设计模式,其工作原理图如图2-1所示:图2-1 struts框架原理图1控制器的实现struts框架中采用了actionservlet和action类以及struts-config.xml配置文件作为控制器的实现。其中,struts-config.xml配置文件配置了不同用户请求及对应的具体业务逻辑组件来供actionservlet类查询。actionservlet类是中心servlet,负责处理所有的用户请求。当用户提出请求,actionservlet类最先对请求进行处理,它将根据struts-config.xml配置文件将用户请求映射到具体的action类;而当action类调用模型组件处理好用户请求,并返回了处理结果后,仍然由actionservlet类根据struts-config.xml配置文件将结果转发到视图提供给用户,或者转发另外一个action做进一步处理。action类实现了具体的业务逻辑,它接受用户的输入,然后调用具体的模型组件来完成用户请求。2视图的实现struts构架主要采用了jsp作为视图的实现,它提供了丰富的jsp标签库支持应用程序的开发,而且引入了actionform组件(实质为javabean)作为用户表单的封装来完成数据的传输。3模型的实现struts框架对模型即复杂的数据持久化层没有提供太多的支持,但是这也就是说开发人员有更多自由来选择合适量级的持久化技术,比如hibernate、ejb等等。struts框架实现了mvc设计模式,但是它是典型的表现层框架,对模型的实现是不足的,所以有必要引入其他架构加强对模型的实现。2.4.2 struts工作流程假设现在在有以下情景:用户正在浏览一个用struts的技术构建的网站主页,主页上有个登陆表单,用户填好登陆名和密码,单击登陆按钮,就激活了以下一系列过程:1用户的请求以http方式传输到服务器上,接受请求的是actionservlet.2actionservlet接收到请求后,会查找struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求操作应为登陆操作.如果没有,则返回一个用户请求无效的出错信息.3当actionservlet请求找到用户请求的action后,首先将用户输入的表单参数打包成一个actionfrom对象,这个actionfrom对象其实也就是一个javabean,里面包含两个字段,分别是用户名和密码.接着actionservlet再根据struts-config.xml中的配置信息决定是否要执行actionfrom对象中的validate方法.若validate方法执行有错,则返回.否则,继续下一步.4系统生成一个用户所请求的action的实例对象,将前面的actionfrom对象传递给它,运行它的execute()方法.这一步其实就是用户登陆的控制器,在执行exectue()方法时,可以调用后台模型验证登陆名和密码是否正确等信息.5execute()执行结束前会生成以和actionforward类型的对象并将之返回给actionservlet,该对象的作用是告诉actionfroward就代表跳转到一个登陆成功的页面.actionservlet将对之进行分析,其实就相当于接收到一个新的请求,重复25的过程,直到将某个界面返会给用户为止!2.5 web技术 2.5.1 web工作原理当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(uniform resource locator),或者通过超链接方式链接到那个网页或网络资源。这之后的工作首先是url的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个ip地址(ip address)。接下来的步骤是为所要访问的网页,向在那个ip地址工作的服务器发送一个http请求。在通常情况下,html文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。网络浏览器接下来的工作是把html、css和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。这些就构成了你所看到的“网页”。大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。这个网在因特网上被方便使用,就构成了最早在1990年代初蒂姆伯纳斯-李所说的万维网。2.5.2 web数据库系统体系结构传统的web数据库系统一般实现web数据库系统的连接和应用可采取两种方法,一种是在web服务器端提供中间件来连接web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态html页面,或执行用户查询,并将查询结果格式化成html页面。通过web服务器返回给web浏览器。最基本的中间件技术有通过网关接口cgi和应用程序接口api两种。1基于通用网关接口cgi从体系结构上来看,用户通过web浏览器输入查询信息,浏览器通过http协议向web服务器发出带有查询信息的请求,web服务器按照cgi协议激活外部cgi程序,由该程序向dbms发出sql请求并将结果转化为html后返回给web服务器。再由web服务器返回给web浏览器。这种结构体现了客户/服务器方式的三层模型,其中web服务器和cgi程序实际起到了html和sql转换的网关的作用。cgi的典型操作过程是:分析cgi数据;打开与dbms的连接;发送sql请求并得到结果;将结果转化为html;关闭dbms的连接;将html结果返回给web服务器。2基于服务器扩展的api服务器api一般作为一个dll提供,是驻留在www服务器中的程序代码,其扩展www服务器的功能与cgi相同。www开发人员不仅可以api解决cgi可以解决的一切问题,而且能够进一步解决基于不同www应用程序的特殊请求。各种api与其相应的www服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。用api开发的程序比用cgi开发的程序在性能上提高了很多,但开发api程序比开发cgi程序要复杂得多。api应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。目前主要的www api有microsoft公司的isapi、netscape公司的nsapi和oreily公司的wsapi等。使用ispai开发的程序性能要优于用cgi开发的程序,这主要是因为isapi应用程序是一些与www服务器软件处于同一地址空间的dll,因此所有的http服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的cgi程序语句要占用更少的系统时间。而nsapi同isapi一样,给www开发人员定制了netscape www服务器基本服务的功能。开发人员利用nsapi可以开发与www服务器的接口,以及与数据库服务器等外部资源的接口。3基于jdbc的web数据库技术jdbc是用于执行sql语句的java应用程序接口api,由java语言编写的类和接口组成。java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。jdbc是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送sql语句,同时jdbc是一个支持基本sql功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及api。所有这些工作都建立在x/open sql cli基础上。jdbc的主要任务是定义一个自然的java接口来与x/open cli中定义的抽象层和概念连接。jdbc的两种主要接口分别面向应用程序的开发人员的jdbc api和面向驱动程序低层的jdbc driver api。jdbc完成的工作是:建立与数据库的连接;发送sql语句;返回数据结果给web浏览器。2.5.3 web服务器tomcat简介tomcat是一个免费的开源的serlvet容器,它是apache基金会的jakarta项目中的一个核心项目,由apache,sun和其它一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总能在tomcat中得到体现。tomcat被javaworld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于java的跨平台特性,基于java的tomcat也具有跨平台性。tomcat也提供其它的一些特征,如与ssl集成到一块,实现安全传输。还有tomcat也提供jndi支持,这与那些j2ee应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如weblogic)与tomcat有何区别。应用服务器提供更多的j2ee特征,如ejb,jms,jaas等,同时也支持jsp和servlet.而tomcat则功能没有那么强大,它不提供ejb等支持。但如果与jboss(一个开源的应用服务器)集成到一块,则可以实现j2ee的全部功能。既然应用服务器具有tomcat的功能,那么tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用ejb等技术,jsp和servlet已经足够,这时如果用应用服务器就有些浪费了。而tomcat短小精悍,配置方便,开源免费,能满足我们的需求,这种情况下我们自然会选择tomcat。2.6 javascript技术 2.6.1 javascript定义javascript是一种由netscape的livescript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是netscape的浏览器navigator加入了javascript,提供了数据验证的基本功能。javascript 的正式名称是 ecmascript。这个标准由 ecma 组织发展和维护。ecma-262 是正式的 javascript 标准。这个标准基于 javascript (netscape) 和 jscript (microsoft)。netscape (navigator 2.0) 的 brendan eich 发明了这门语言,从 1996 年开始,已经出现在所有的 netscape 和 microsoft 浏览器中。ecma-262 的开发始于 1996 年,在 1997 年 7 月,ecma 会员大会采纳了它的首个版本。2.6.2 javascript库库,指得是可以方便应用到现有开发体系中的、现成的代码资源。库不仅为大部分日常的dom教本变成工作提供了快捷的解决方案,而且也提供了许多独特的工具。虽然库使用起来很方便,但它们也并非能解决你所有的问题。在使用库之前,一定要保证真正理解javascript的dom原理。这些库一般是一个(或多个)js文件,只要把他们导入你的网页就能使用了。常用的库有:jquery:javascript库中的新成员,提供css和xpath选择符查找元素,ajax,动画效果等dojo:一个巨大的库,包括的东西很多,dijit和dojox是dojo的扩展,几乎你想要的各种javascript程序都包括了。prototype:一个非常流行的库,使用了原型链向javascript中添加了很多不错的函数yui:yahoo!用户界面,非常使用,提供各种解决方案。2.7 mysql数据库简介mysql是目前比较流行的开放源码sql数据库管理系统,它是由mysql ab公司开发、发布并支持的。“开放源码”意味着任何人都能使用和改变软件。任何人都能从internet下载mysql软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。mysql服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。它最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境,很多著名网站也是基于mysql开发的,例如。尽管mysql始终在不断发展,但目前mysql服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性。我们有理由相信mysql会发展得更好,因此本系统的数据库采用mysql。2.8 开发工具eclipse是一种可扩展的开放源代码ide。2001年11月,ibm公司捐出价值4,000万美元的源代码组建了eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(ide)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(ide)克服目前的局限性,业界厂商合作创建了eclipse平台。eclipse允许在同一ide中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。 eclipse框架的这种灵活性来源于其扩展点。它们是在xml中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个java类的描述。任何eclipse插件定义的扩展点都能够被其它插件使用,反之,任何eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。 eclipse的最大特点是它能接受由java开发者自己编写的开放源代码插件,这类似于微软公司的visual studio和sun 微系统公司的netbeans平台。eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。这是一款非常受欢迎的java开发工具,在国内的用户越来越多,实际上使用它的java开发人员是最多的。因其用户广泛、免费开源、功能强大,本项目的开发工具使用eclipse。第三章 系统的分析与总体设计3.1 系统分析3.1.1学生学籍系统的需求分析在软件工程中,需求分析指的是在建立一个新的或改变一个现存的系统时描写新系统的目的、范围和定义时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。问题识别就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准,这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村新型合作经营体系建设协议
- 时间单位的换算说课课件
- 骆驼祥子人物分析:名著阅读与生活实践教案
- 一年级写景作文望雪250字(13篇)
- 人教版三年级下册期末考试数学试卷(含答案)2024-2025学年广东省汕头市潮南区
- 健康医疗信息服务平台建设合同
- 早教知识培训名称大全课件
- 写人作文大头男孩500字8篇
- 沧桑800字初三话题作文(15篇)
- 日记战胜困难500字13篇
- 装配钳工高级试题(附答案)
- 【数学】一元一次方程的应用(第2课时)课件 2024-2025学年北师大版七年级数学上册
- 劳务用工合同
- 215kWh工商业液冷储能电池一体柜用户手册
- 论文不涉密证明模板
- 安装空调水管合同协议书范文
- 福建省泉州市永春县2023-2024学年八年级下学期期末考试数学试卷(含答案)
- 广东省佛山市南海区2025届高三摸底考试数学试题
- 2024-2030年中国膏药市场风险评估与投资战略规划策略分析研究报告
- 系统解剖学全册配套完整课件
- 2024-2030年中国代理记账行业发展现状调研与数据监测分析研究报告
评论
0/150
提交评论