学生网上选课系统的设计与开发.doc_第1页
学生网上选课系统的设计与开发.doc_第2页
学生网上选课系统的设计与开发.doc_第3页
学生网上选课系统的设计与开发.doc_第4页
学生网上选课系统的设计与开发.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如需要整套毕业设计请联系QQ 1416916016全部内容包括论文,源代码,运行录像,软件使用说明书,开题报告,外文翻译,PPT,任务书,进度表等,内容完整质量保证。洋洋毕设工作室在各个高校诚聘代理,一般情况下这个机会会为您提供1500-2000元的利润。有意者联系QQ。第一章 绪论1.1 课题的来源及意义Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,教师学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教学管理软件应充分依托校园网,实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教学文件管理系统和全校信息系统打下良好的基础。学生网上选课系统是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。随着当今科学技术的飞速发展,尤其是计算机技术的出现,使得人类进入了信息化社会,利用计算机,可以代替人进行很多复杂劳动,从而节省大批的人力,可以大大提高工作效率,而且计算机有更高的准确性和更安全的保密措施。计算机技术凭着自己无与伦比的优越性,已经迅速成为各个领域不可或缺的工具。在各行各业中离不开数据处理,这正是计算机被广泛应用于数据库管理系统的环境。计算机的最大好处在于利用它能够进行数据管理。使用计算机进行数据控制,不仅提高了工作效率,而且大大的提高了其安全性。1.2 课题的内容学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生网上选课系统,可以提高教师,学生和学校的管理效率。我们的目标是用学生网上选课系统实现最快对全校选修课程发布以及新闻发布,使教师和学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。1.3课题的国内外现状Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,教师学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教学管理软件应充分依托校园网,实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教学文件管理系统和全校信息系统打下良好的基础。学生网上选课系统是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。 由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生网上选课系统,可以提高教师,学生和学校的管理效率。我们的目标是用学生网上选课系统实现最快对全校选修课程发布以及新闻发布,使教师和学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。 第二章 系统需求分析 2.1 需求分析 学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视。是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 本系统具体有以下功能:n 个人信息:包括学生和学生的个人资料n 课程计划:计划课程的开课时间,上课地点,上课老师等信息n 管理功能:课程发布,修改,删除。学生,老师用户的添加删除。新闻的发布和删除和修改n 教师用户:教师可以修改密码,查看课程和选修自己课程的学生列表以及查看新闻n 学生用户:选修课程,可以取消选择n 条件查询:用户可以查询自己所需的资料n 退出系统2.2可行性分析1.经济性系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。该系统可以容易实现学生,老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率,和周期。2.技术性随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便个高校管理。在这样一个社会背景下,基于Windows和SQL Server 2000 ,运用先进的JSP技术,采用B/S模式开发的学生网上选课系统,将学生、老师、管理员、有机地结合在一起,有效地提高管理水平和效率。随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。3操作性: 该系统操作方便,简单。2.3系统配置需求 (1)服务器配置硬件平台:CPU:P4 1.8GHz以上;内存:256MB以上。软件平台:操作系统:Windows 2000 Server;数据库:SQL Server 2000;开发工具包:JDK Version 1.4.2;JSP 服务器:Tomcat 5.0。 第3章 系统总体设计3.1 项目规划基于Windows操作系统和Microsoft SQL Server 2000数据库,建立一个B/S层结构的学生选课系统,使用JSP编程,实现学生的选课功能、以及教师查询上课信息。 网上选课系统从功能上划分一共有3个主模块,主要实现教师信息管理、学生信息管理、课程信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、上课时间、上课教师。管理员有权限去更改选课课程的信息。l 身份登入:学生,教师,管理员三中身份登入(权限不同)l 用户管理:管理员可以添加各种权限的用户,修改,和删除用户l 课程管理:可以对颁布的课程表进行添加,删除,修改l 新闻发布:管理员可以发布新闻并对其修改删除3.2 设计目标 建立一个学生网上选课系统,实现对课程的基本信息维护以及学生选课、教师上课信息。系统对学生角色提供个人信息管理、选课管理、管理学生本人已选课程。系统对教师提供查看自己所担任课程的课表和选该门课的学生信息。系统同时给管理员以下功能:查看所有专业、课程、学生、教师的信息并可以对它们进行管理(添加、编辑、删除)。以及实现新闻的发布并修改。提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。3.3 系统相关技术介绍3.3.1系统开发采用的技术方案B/ S模式信息技术的高速发展使网络计算模式不断更新。从单机时代的主机/终端模式、文件服务器时代的共享数据模式、客户机/服务器时代的Client/Server(客户机/服务器)模式,再到今天网络计算机时代的Browser/Server(浏览器/服务器)模式,计算模式发生了巨大变化。同时计算模式的不断进步使管理软件的架构发生了很大变化。系统综合还应用了B/S模式,即Browser/Server(浏览器/服务器)结构,是对C/S结构的一种改进。B/S模式的好处还有运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据,解决了地域的限制。而基于互联网应用系统都采用Browser/Server(浏览器/服务器)模式结构,在客户端中除Web浏览器外,要安装的软件便是一些插件和控件。这些插件被设计于服务器端,并通过网络下载到客户端,而控件则是第一次浏览下载并注册的。这是一种最小化的客户端安装及客户机模式,是目前客户服务器体系结构的发展方向。3.3.2 JSP技术介绍 JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。JSP技术在多个方面加速了动态Web页面的开发:一、将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。二、强调可重用的组件JSP 作为一个很好的动态网页开发语言得到了越来越广泛的使用,在各类JSP 应用程序当中,JSP+JavaBean 的组合成为了一种事实上最常见的JSP程序的标准。JavaBean 是描述Java 的软件组件模型,有点类似于 Microsoft的COM 组件概念。在Java 模型当中,通过JavaBean 可以无限扩充Java 程序的功能,通过JavaBean 的组件可以快速地生成新的应用程序。对于程序员来说,最好的一点就是 JavaBean可以实现代码的重复利用。 JavaBean 是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。如果我们有三个 JavaBean ,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个 Bean ,使用 HTML 表格将它们依次定位就可以了。利用跨平台运行的 JavaBean 组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。3.3.3 SQL 2000 SERVE 数据库介绍随着信息技术的发展,计算机处理数据的方式也发生着变化,文件管理系统数据库管理系统。Microsoft SQL Server2000是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。是一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。3.4 数据库分析设计3.4.1 数据库需求分析学生选课管理系统的要求是要准确快捷地管理学生的信息。学生隶属班级,学院;学生需要有课程,学分,成绩,而这些又都要靠教师或者管理人员来添加。由此总结出如下需求信息:n 用户分为管理员用户、教师用户和学生用户。n 一个学生有多门课,一门课对应多个学生。n 一个教师可以教授多门课程,一门课程可以有多个教授来教授。n 管理员可以发布新闻经过对上述系统功能的分析和需求总结,设计如下数据项:n 管理员信息:用户名、密码。n 学生信息: 学生ID、姓名、性别、班级、年龄、学院、所在系n 教师信息: 教师ID、姓名、性别、年龄n 课程信息: 课程ID、名称、上课时间、上课地点、学分、上课教师n 班级信息: 班级ID、名称、班主任n 新闻信息: 新闻ID、新闻标题、新闻内容3.4.2 数据库概念结构设计 由上面的数据项可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本系统设计的实体有:学生实体、教师实体、课程实体和班级实体。如图 3-1所示为实体间关系E-R图如图 3-2为学生信息实体E-R图如图 3-3为管理员信息实体E-R图如图 3-4为教师信息实体E-R图如图 3-5为课程信息实体E-R图学生院系NNN1NN教师教授课程图3-1 实体间关系E-R图学号姓名性别年龄学院所在系学生班级图3-2 学生信息E-R图系统用户密码用户名图3-3 管理员信息E-R图教工号姓名性别年龄学院教师密码图 3-4 教师信息E-R图课程号课程名上课时间学分时间上课地点课程上课教师上课教工号 图 3-5 课程信息实体E-R图 3.4.3 数据库表的设计和创建 根据以上分析和E-R图,系统数据库中各个表的设计结果如表3-1至表3-7 每个表格表示数据库中的一个表。用户表admin(如表3-1所示)记录管理员的用户名和密码。管理员可以添加各种权限的用户,修改,和删除用户。如表3-1表3-1 管理员表学生表student,用来记录学生信息。此记录的信息会详细地显示在学生登录后的页面上。此信息不允许学生自己更新。如表3-2表3-2 学生信息表教师表teacher用来记录教师信息。如表3-3表3-3 教师信息表 课程表 course 用来记录课程信息表。 如表3-4表3-4 课程信息表 选课表sc 记录学生选课信息。 如表3-5表3-5 选课信息表 新闻表 article 记录新闻信息 如表3-6表3-6 新闻信息表班级表 class记录班级信息如图3-7表3-7 班级信息表3.5 系统模块设计 本系统包括3个管理模块用户管理模块、课程管理模块、选课管理模块,用户模块分为3类用户,管理员、学生、老师。管理员实现课程管理、学生、教师管理、和新闻发布管理。本系统主要实现学生管理模块,而学生管理模块、课程管理模块、选课管理模块的与管理员和学生相关的主要模块。如图3-6和图3-7所表示是从管理员和学生用户的角度给出的模块功能。管理员登录系统管理用户管理课程管理选课管理新闻管理学生管理用户管理教师管理删除添加添加修改密码分配课程修改课程添加课程删除课程发布新闻修改新闻删除新闻 图3-6 管理员功能模块学生登录用户管理个人信息查询个人密码修改课程添加选修课程删除选课课程信息其他管理新闻浏览退出系统我的选课查看选课信息图3-7 学生用户功能模块图第四章 系统详细设计和实现4.1 主界面设计页面框架化。本系统界面采用框架结构,把页面头、左边导航、右边正文放在不同的框架里面,当用户在左边导航选择不同的功能菜单时,只是在右边正文区刷新内容,这样做使得页面结构清晰,便于用户操作。系统的首页面index.jsp在页面左边显示出三种身份登录的链接。便于不同用户清晰的看清登录的位置。不同身份的用户登录提交的用户名和密码提交到不同身份的数据库认证页面中。如学生用户登录提交到login.jsp。当验证通过时,跳到学生用户的页面。并把信息保存进session,以供其他页面判断用户是否已经登录。系统首页如图4-1所示。图4-1 系统首页面4.2 界面头尾设计为了界面实现面界面重用,系统把界面头和尾作成公用界面,这样其他页面引用入就可以了。本例头尾设计比较简单。将头尾设计为inc文件夹下的head.html和tail.html文件4.3 登录界面登录界面做的相对简单,对不同身份的用户提供不同的登录页面,最终提交不同的认证页面。当验证通过时,跳到用户使用页面。以下以学生身份登录为例,教师和管理员身份登录页面类似。如图4-2图4-2 登录页面4.4学生用户界面设计学生用户功能模块由四部分组成:个人信息、网上平台、系统公告和其他。n 个人信息:显示出用户的所有个人信息并提供密码修改功能n 网上平台:提供学生用户查看所有选课信息,用户可以查询自己想找的课程,通过课程名和上课时间两种方式查找。当用户点选课时,该课程就会添加到我的课表中,在数据库中选课表会添加一条记录。用户在我的课表中可以退选课程n 系统公告:用户可以浏览系统通知。n 其他功能:退出系统学生用户界面设计用框架实现。页面头放在上框架,功能导航放在左框架,具体功能放在右框架。学生功能设计所有页面都放在student的文件夹中,所以以下所提到的页面均在student文件夹中。设置学生界面框架结构主页index.htm。其中左框架中的功能导航页面为student_left.jsp,右框架中的功能页面为student_body.jsp。系统用session保存用户的学号。如图4-3图4-3 学生用户界面其中框架的代码为:学生选课系统4.4.1 个人信息模块功能模块设计 个人信息模块包括个人资料和修改密码两部分。个人资料显示学生的所有信息,包括学号、姓名、学院、系别、班级。密码修改部分:用户可以根据自己的需要修改密码,方便用户管理。如图4-4个人资料显示页面,4-5 密码修改页面。图4-4 个人资料显示页面图4-5 密码修改页面4.4.2 网上平台模块功能设计网上平台由两部分组成:选课信息和我的课表n 选课信息:学生用户查看所有选课信息,并提供用户模糊查询,使用户可以查询自己想找的课程,模糊查询通过课程名和上课时间两种方式查找。在课程列表中当用户点选课栏时,该课程就会添加到我的课表中,在数据库中选课表会添加一条记录。n 我的课表:学生选课后可以通过查看我的课表清楚的看到自己的选课情况,以及上课的时间、地点、学分等信息。当学生用户发现修要改动时可以选择退选项,取消选择。选课信息:courseInfo.jsp 我的课表:noticeList.jsp如图4-6 选课信息页面 4-7 我的课表页面图4-6 选课信息页面图4-7 我的课表显示页面图4-7中显示的选课项中,单击选课可选择该门功课,在课程信息页面中实现分页显示和模糊查询功能。图4-8中显示学生用户所选择的课程信息。在删除选项中,点击删除可以退选课程。代码如下: A:linkcolor: 006699;font-size:9pt;text-decoration:noneA:visitedcolor: #006699;font-size:9pt;text-decoration:noneA:hovercolor: #FF6600;font-size:9pt;text-decoration:underline!-function del(id) if (confirm(您确信要删除吗?) )top.location=del.jsp?id=+id我的课表取消选择课程名上课时间上课地点上课教师学分 a href=del.jsp?id=删除 4.4.3 系统公告用户可以浏览最近要文页面:news.jsp。如图4-8图4-8 浏览新闻页面点击新闻标题的链接可以跳到新闻的具体内容页面:article.Jsp如图4-9图4-9新闻内容页面4.4.4 其他功能模块设计用户退出系统时,用户点退出时,系统调用logout.jsp实现把用户信息从session中清除。代码如下:4.5 管理员用户界面设计管理员用户功能模块由四部分组成:用户管理、网上平台、系统公告和其他。n 用户管理:对学生、教师用户进行管理。实现添加、删除。同时查询学生和教师信息。管理员可以添加管理员用户。n 网上平台:管理员对课程进行管理,发布课程,以及修改和删除。对课程可以查询。n 系统公告:管理员对公告进行管理,对新闻进行发布,添加,修改。n 其他功能:退出系统管理员和学生用户界面都同样用框架实现,管理员功能设计所有页面都放在admin的文件夹中,所以以下所提到的页面均在admin文件夹中。设置管理员界面框架结构主页index.htm。其中左框架中的功能导航页面为admin_left.jsp,右框架中的功能页面为admin_body.jsp。4.5.1用户管理模块功能设计对学生、教师用户进行管理。根据需要添加、删除学生、教师用户。管理员可以查询学生和教师信息,同时根据需要管理员可以添加管理员用户。管理员同样可以修改密码。修改密码的实现和学生用户的相同 页面reset.jsp。管理员用户添加:addUser.jsp 添加学生信息:addstudent.jsp 查看学生信息:studentInfo.jsp查看教师信息:teacherInfo.jsp添加教师信息:addteacher.jsp如图4-10,图4-11图4-10 学生用户添加图4-11 学生信息查询上图点删除时可以删除该学生,管理员要根据需要进行删除。教师的添加和删除功能如同对学生的添加和删除。管理员要根据需要,可以删除该教师以及其信息。4.5.2 网上平台模块功能设计网上平台由两部分组成:查看选课信息和发布新课程n 查看选课信息:管理员用户查看所有选课信息,在查看时提供用户模糊查询,管理员可以根据需要查询要找的课程,模糊查询通过课程名方式查找。同时,管理员可以在课程列表中的修改选课信息栏和删除栏进行必要的改动,如修改课程信息或删除该课程。n 发布新课程:管理员可以根据教学大纲按时的发布课程,添加必要的选修课程,以供学生选课。具体页面显示如下。如图4-12图4-12 查看选课信息4.5.3 系统公告模块设计系统公告模块设计分为两部分:浏览新闻、发布新闻n 浏览新闻:管理员可以对新闻浏览,同时多新闻做必要的修改和删除n 发布新闻:按需要发布新闻,告诉学生和教师用户最近动态如图4-13到4-15图4-13 浏览新闻页面图4-14 新闻修改页面图4-15 新闻发布页面4.5.4 其他功能模块设计管理员退出同学生信息模块设计相同,调用logout.jsp实现把用户信息从session中清除。4.6 教师用户界面设计教师用户功能模块也由四部分组成:个人信息、网上平台、系统公告和其他。由于教师用户和学生用户功能模块很多类似,在下面只写出部分设计。n 个人信息:显示出用户的所有个人信息并提供密码修改功能n 网上平台:教师可以查看所有选择自己课程的学生信息,可以查询学生信息n 系统公告:用户可以浏览系统通知。n 其他功能:退出系统教师和学生用户、管理员用户界面都同样用框架实现,教师功能设计所有页面都放在teacher的文件夹中,所以以下所提到的页面均在teacher文件夹中。设置管理员界面框架结构主页index.htm。其中左框架中的功能导航页面为teacher_left.jsp,右框架中的功能页面为teacher_body.jsp。网上平台由两部分组成:查看学生信息和我的课表n 查看学生信息:教师可以查看所有选择自己课程的学生信息进行查看,以便于教师对学生的了解。教师可以根据实际情况查找某个学生,本系统提供了模糊查询,通过学生姓名进行查询。n 我的课表:教师可以查看自己的上课信息,便于教师用户了解自己的工作安排如图4-16图4-16 查看学生列表4.7 系统后台模块该系统用到JavaBean 通过调用JavaBean实现连数据库相关代码如下:package Bean;import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.jsp.*;import java.util.*;import javax.servlet.http.*;public class useBean2/ServletRequest request;/ServletResponse response;/JspWriter out;String Sd=sun.jdbc.odbc.JdbcOdbcDriver; /建立一个联接机String Sc=jdbc:odbc:xxx; /建立一个Odbc源Connection con=null; /Connection对象ResultSet rs=null; /建立一个记录集public void useBean() try Class.forName(Sd); /用classforname方法加载驱动程序类 catch(java.lang.ClassNotFoundException e) /当没有发现这个加载这个类的时候抛出的异常 System.err.println(e); /执行系统的错误打印 public ResultSet executeQuery(String sql) /可以执行添加删除等操作 try con=DriverManager.getConnection(Sc); Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); catch(SQLException er) System.err.println(er.getMessage(); return rs; public int executeUpdate(String sql) /数据库的更新操作 int result=0; try con=DriverManager.getConnection(Sc); Statement stmt=con.createStatement(); result=stmt.executeUpdate(sql); catch(SQLException ex) System.err.println(ex.getMessage(); return result; public void close() try if(con!=null) con.close(); catch(Exception e) System.out.print(e); try if(rs!=null) rs.close(); catch(Exception e) System.out.println(e); 第五章 系统调试与测试5.1程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2程序的测试5.2.1测试的重要性及目的(1)测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。 在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括: 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定; 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作; 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。 (2)测试的目的 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2 测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。5.2.3 测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 (1)单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2)集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 (3)确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论