学生选课系统《软件工程》课程设计很详细的!_第1页
学生选课系统《软件工程》课程设计很详细的!_第2页
学生选课系统《软件工程》课程设计很详细的!_第3页
学生选课系统《软件工程》课程设计很详细的!_第4页
学生选课系统《软件工程》课程设计很详细的!_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、详细版!目 录一、问题定义51.1问题的定义51.2 系统要解决的问题5二、可行性研究621 引言621.1目的62.12背景及功能62.13 参考资料62.2 可行性研究的前提62.2.1 要求62.2.2 目标72.2.3 条件、假定和限制72.2.4 进行可行性研究的方法72.3 所建议的系统72.3.1 对所建议系统的说明72.3.2 处理流程和数据流程82.3.3 工作负荷92.3.4技术条件方面的可行性92.4 社会因素方面的可行性102.4.1 法律方面的可行性102.4.2 使用方面的可行性102.5 经济可行性102.6 结论10三、项目开发计划113.1 引言113.1.1

2、 编写目的113.1.2 背景113.1.3 参考资料113.2 项目概述113.2.1 工作内容113.2.2 产品123.2.4 完成项目的最迟期限133.2.5 关键问题及支持的系统条件133.3 支持条件13四、需求分析144.1 系统需求144.2. 功能需求144.3业务流程图14五、 概要设计165.1 基本设计概念和处理流程165.2. 系统层次模块图165.3. 系统层次模块图165.4. 模块设计17六、数据库设计196.1 引言196.1.1 编写目的196.1.2 背景196.1.3 定义196.1.4 参考资料206.2 外部设计216.2.1 标识符和状态216.2

3、.2 使用它的程序216.2.3 约定216.2.4 专门指导216.2.5 支持软件216.3 结构设计226.4 运用设计266.4.1 数据字典设计266.4.2 安全保密设计27七、详细设计277.1 引言277.1.1 编写目的277.1.2 背景287.1.3定义287.1.4 参考资料28八、测试报告288.1 引言288.1.1 编写目的288.1.2 定义298.1.3 参考资料298.2 测试概要298.3 测试结果及发现328.3.1 测试具体实施328.4 对软件功能的结论338.4.1 用户登录模块338.5 分析摘要338.5.1 能力338.5.2 评价348.6

4、 测试资源消耗34九、用户手册349.1 引言349.1.1 编写目的349.1.2 定义349.1.3 参考资料349.2 用途359.2.1 功能359.2.2 性能359.2.3 安全保密36十、附录3810.1 数据库的封装代码db.java3810.2 选课系统登陆界面代码login.java3910.3 选课系统学生选课界面代码student.java4310.4 学生选课情况查询代码query.java4710.5 学生用户登录密码的修改代码modify.java5010.6 教师查询学生选课的情况代码teacher.java5310.7 超级管理员查询学生选课的情况代码admi

5、nistrator.java55一、问题定义 1.1问题的定义学生选课系统:也称学生课程选修制,即允许学生对学校所开设的课程有一定的选择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。对于习惯了中小学课程(所有的课程由学校统一安排,而且科目从小学到高中有连续性)的大学新生来说,大学的课程多得令他们眼花缭乱,课程分类也比较复杂,因此选课对他们而言还是一件新鲜而陌生的事物。但大学的学习与选课有莫大的关系,必须了解它,才能掌握主动权。而要了解选课制,首先要对大学的课程设置有所认识。1.2 系统要解决的问题建立一个小型的学生选课系统,用户(学号,姓名,年龄,性别,系别,班级,出

6、生年月)可以注册成为会员,注册的用户可以选择要选修的课程,也可以查询已选修的课程(包含课程名、任课教师和上课时间,学分)等,老师(姓名,职位,所教课程)可以查看该门课程的选课人数及上课时间,管理员可以查看所有学生的选课情况,查看各门课程的任课老师的信息,查看各门课程选课人数,查看注册用户信息。二、可行性研究21 引言21.1目的 本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施

7、方案的理由。2.12背景及功能 a、系统的名称为学生选课系统(java实现); b、项目的任务提出者是本次课程设计辅导老师;开发者包括: 何南平,徐小聪。2.13 参考资料 1 张海藩.软件工程导论(第5 版)m.清华大学出版社,2008 年2 月. 2 窦万峰.软件工程方法与实践.机械工业出版社,2009 年5 月. 3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月. 4 陈勇孝.java程序设计实用教程,2008年6月. 5 王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.2.2 可行性研究的前提2.2.1 要求a、功能:1) 普通用户:登录系统前用户可以查看

8、用户选课的情况;用户可以注册;查找忘记的密码;查看自己选课的一些相关信息。b、性能:查询效率尽可能做到精准,信息维护做到简单易用,不需要对用户进行培训;c、完成期限:到本学期的第21 周。2.2.2 目标系统应该尽量做到以下的目标:a、人力与设备费用的减少;b、采用现代程序设计技术;c、数据的处理速度提高;d、管理信息服务的改进;e、人员利用率尽可能提高;f、结果应能清除地审查。2.2.3 条件、假定和限制 本系统的条件、假定和所受到的限制有以下几方面:a、所开发系统的运行寿命的最小值为3 年;b、硬件、软件、运行环境和开发环境方面的条件和限制:由于是个人电脑,所以硬件设施可能在性能上比较差;

9、软件全部是免费的,功能可能会受到相应的限制;对windows xp比较熟悉,所以开发主要是在这个平台上进行的;c、可利用的信息和资源:没有相应的软件项目开发的经验,所以能力还是有限,收集的资料来源有限,故对信息的了解不够全面;d、系统投入使用的最晚时间:本学期第22 周。2.2.4 进行可行性研究的方法 根据课本里面的相关知识、图书馆所借的书以及平时所积累的一些经验,综合本系统所要达到的目标进行分析而得到。2.3 所建议的系统2.3.1 对所建议系统的说明 本系统是运用java制作的一个小型学生选课系统系统,包括用户注册,选课查询。实现这个系统将用到以下几种技术:1) java主要是用来处理各

10、种业务;2) 数据库系统技术。2.3.2 处理流程和数据流程系统的处理流程图见下图所示: 学生登录及选课情况:选课修改密码查询已选课程登录学生 教师登录及查看信息:教师登录修改密码查询学生选课 管理员登录及管理信息:修改密码查看所有选的所有课程查看学生选课情况 2.3.3 工作负荷现有系统所承担的工作及工作量:1)系统功能:(1) 登录、注册,修改密码等功能.(2) 选课功能(3) 查询功能2)由于现有开发的系统比较小,只涉及小量的数据,所以工作量小。2.3.4技术条件方面的可行性a、在当前的限制条件下,该系统的功能目标是能够达到预期的效果的;b、开发人员的数量:2 人;均接受过相关知识的培训

11、,以前也做过一定规模的系统,具有一定经验;c、在规定的期限内,本系统的开发可以实现。2.4 社会因素方面的可行性2.4.1 法律方面的可行性本系统纯属于团队的开发所成,不会因为版权的问题造成纠纷。不作为商业用途,只应用于学习交流。2.4.2 使用方面的可行性本系统一经制作完成,可以在windows系统中运行,加之本系统操作上面不存在技术性,所以可以达到易操作性。2.5 经济可行性 本系统纯粹作为技术开发交流,所有程序及文档均为免费。并不作为商业用途。2.6 结论本系统可以立即开始进行实施;并尽可能做到提前完成;从人力资源上面来看,可以充分利用各人的擅长来开发本系统;从开发成本上面来看,将支出成

12、本降到最低;所以推荐此方案最佳。三、项目开发计划3.1 引言3.1.1 编写目的项目开发计划为项目负责人提供一个框架,使之能合理地估算项目开发所需的资源、经费和开发进度,并控制软件开发过程按此计划进行。它为项目的启动、实施以及结束提供了基础。它指定了关于具体项目目标、项目结构、任务、里程碑、人员、成本、设备、性能以及问题的解决方案等方面的指导原则。该文档明确开发时间、规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。3.1.2 背景说明:1、待开发的软件系统的名称:学生选课系统;2、该系统将以前做的个人博客进一步扩大和完善。3.1.3

13、参考资料1 张海藩.软件工程导论第5 版m.清华大学出版社,2008 年2 月.2 窦万峰.软件工程方法与实践.机械工业出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.4 陈勇孝.java程序设计实用教程,2008年6月.5 王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.3.2 项目概述3.2.1 工作内容 本项目的内容包括技术和非技术两大部分:技术上需要进行数据库开发和java技术的基本使用。非技术部分包括:人力资源的充分利用。3.2.2 产品 程序 移交给最终用户的内容包括完整的数据库系统,用户手册及相关的代码、

14、文档、说明及范例。 文件移交用户的每种文件的名称及内容要点:a、定义:明确要解决的问题是:可以实现用户(学号,姓名,年龄,性别,系别,班级,出生年月)可以注册成为会员,注册的用户可以选择要选修的课程,也可以查询已选修的课程(包含课程名、任课教师和上课时间)等,老师(姓名,职位,所教课程)可以查看该门课程的选课人数及上课时间,管理员可以查看所有学生的选课情况,查看各门课程的任课老师的信息,查看各门课程选课人数,查看注册用户信息。b、可行性研究报告:要解决的关键问题是“对于上一个阶段所确定的问题有行得通的解决办法”;c、需求分析报告:准确地确定“为了解决这个问题,目标系统应该做什么

15、?”,主要是确定目标系统必须具备哪些功能;d、概要设计报告:概括的说就是“应该怎么实现目标系统”,主要任务是设计程序的体系结构;e、详细设计报告:设计出程序的详细规格说明;f、编码及单元测试文档:写出正确的容易理解、容易维护的程序模块;g、综合测试文档:利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求;h、软件维护文档:通过各种必要的维护活动使系统持久地满足用户的需要。 服务a、用户方面:可以登录、注册、查询等;b、系统方面:

16、查看注册用户信息、管理系统的各种信息、查看系统的信息。c、老师方面:查看学生选课情况、 3.2.3 验收标准用户可对照需求分析中的“需求规定”一栏对系统进行详细的评定、验收(详见学生选课需求分析)或参考项目提供的其他功能/性能指标。3.2.4 完成项目的最迟期限按计划,本项目将于本学期第22周完成。在此前提下,开发人员保留对开发时间进度进行局部调整的权利。3.2.5 关键问题及支持的系统条件本项目用到了java程序设计和数据库系统技术应用等开源的框架,所以对学生选课系统的功能的实现可能欠缺。3.3 支持条件a、运行该软件系统所需要的硬设备包括服务器和客户机,要求满足(最低配置):1) 1g h

17、z 以上处理器,内存不少于256m。2) 3g 以上空余硬盘空间。3) 客户机为普通电脑。 b、本系统是运用java制作的一个小型学生选课系统系统,包括用户注册,选课查询。实现这个系统将用到以下几种技术:1) java主要是用来处理各种业务;2) 数据库系统技术(采用mysql数据库实现该系统)。四、需求分析4.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。4.2. 功能需求通过系统功能分析,针对一般的网上选课系统,总结出如下的需

18、求信息:(1) 学生的需求:网上选课、选课情况查询包括该门课程的老师信息,上课时间以及该门课程的学分,修改密码等;(2) 本系统主要实现学生信息管理和选课查询。学生信息包括学号,姓名,年龄,性别,系别,班级,出生年月;课程信息包括课程名,上课时间,成绩,学分,学时数;老师信息包括姓名,职位,所教课程;管理员信息包括用户名和密码,能够查询所有学生的选课情况及信息;4.3业务流程图 学生登录及选课情况:选课修改密码查询已选课程登录学生 教师登录及查看信息:教师登录修改密码查询学生选课 管理员登录及管理信息:修改密码查看所有选的所有课程查看学生选课情况登录管理员 五、 概要设计5.1 基本设计概念和

19、处理流程互联网技术的飞速发展,java等设计工具的方便实用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。系统基本的流程是:用户登录主界面选择各项子系统(选课)老师登录 主界面选择各项子系统(查看学生选课情况)管理员登录主界面选择各项子系统(管理学生选课)5.2. 系统层次模块图 学生选课系统登陆/注册选课查询数据库的设计5.3. 系统层次模块图5.4. 模块设计(1) 用户注册模块:填写用户名、密码、确认密码(2) 用户登录模块:填写已注册的用户名称,填写正确的密码,进入主控制页面。(3) 用户选课模块:从所有课程中选择自己要选修的课程。 (4) 用户查询模块:可以进行查看所选

20、课程的操作。六、数据库设计6.1 引言6.1.1 编写目的 通过对学生选课系统的研究,根据可行性分析的方案和项目成员的讨论,以及需求说明书,编制数据库设计说明书。本报告通过对学生选课系统的需求分析,明确了系统中功能需求,业务流程和性能要求以及与有关系统的接口关系,从而确定了数据库的设计方向和基本信息的构建,数据库系统设计是软件系统设计中最重要的一部分之一,数据库系统主要是对学生选课系统中所涉及到的数据进行管理和操作。它是对系统的实现和审评的根据之一。这份数据库说明书是为了说明本小组项目的数据库的相关信息,以供本小组其他成员在使用到数据库时更顺利,以及为了更好的进行数据库设计。本报告的阅读范围:

21、项目组的项目管理、软件开发和系统测试人员、指导老师等。6.1.2 背景a、待开发的数据库主要是为学生选课系统来服务的。故该数据库名为selectcourse,软件系统名字为学生选课系统;b、本项目的任务开发者何南平,徐小聪。6.1.3 定义 文件中用到的专门术语的定义和外文的首字母组词的原词组如下:a、b/s:b/s(browser/server)结构即浏览器和服务器结构。它是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成

22、所谓三层3-tier结构。相对于c/s结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,b/s结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在在服务器端,因此,b/s结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(tco)。b/s结构系统的产生为系统面对无限未知用户提供了可能。当然,与c/s结构相比,b/s结构也存在着系统运行速度较慢,访问系统的用户不可控的弱点;b、dbms:英文全程:database management sy

23、stem ,翻译为中文就是“数据库管理系统”,是位于用户和操作系统之间的一层数据库管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。它的主要功能包括一下几个方面:1.数据定义功能。2.数据组织,存储和管理;3.数据操作功能。4.数据库的事物管理和运行管理。5.数据库的建立和维护功能。6.其他功能;c、sql语言:sql(structured query language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。sql是高级的非过程化编程语言,允许用户在高层数据结构上工作。

24、它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的sql语言作为数据输入与管理的sql接口。它以记录集合作为操作对象,所有sql语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条sql语句的输出作为另一条sql语句的输入,所以sql语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个sql语句就可以达到目的,这也意味着用sql语言可以写出非常复杂的语句;d、sql注入:所谓sql注入,就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符

25、串,最终达到欺骗服务器执行恶意的sql命令,比如先前的很多影视网站泄露vip会员密码大多就是通过web表单递交查询字符暴出的,这类表单特别容易受到sql注入式攻击;注入大致方法1)先猜表名and (select count(*) from 表名)02)猜列名and (select count(列名) from 表名)03)或者也可以这样and exists (select * from 表名)and exists (select 列名from 表名)返回正确的,那么写的表名或列名就是正确。6.1.4 参考资料1 张海藩.软件工程导论第5 版m.清华大学出版社,2008 年2 月.2 窦万峰.软

26、件工程方法与实践.机械工业出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.4 王珊萨师煊.数据库系统概论(第四版) .高等教育出版,2008 年06 月.5 邓子云.jsp网络编程从基础到实践.电子工业出版社,2005 年09 月.6.2 外部设计6.2.1 标识符和状态数据库软件:mysql系统要求建立的数据库名称:sc6.2.2 使用它的程序可能使用的该系统的应用程序包括:a、网上学生选课;b、网上测试软件系统。6.2.3 约定 陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定

27、和用于标识库内各个文卷、记录、数据项的命名约定等。6.2.4 专门指导 系统使用hibernate实现与数据库的接口,该接口基于hibernate方法生成的class文件对数据库的建立和控制,是应用程序与数据库的桥梁。最终是对class文件操作来实现对数据库的管理(一般是一个数据表对应一个class文件)。6.2.5 支持软件 mysql提供了核心的引擎,为支持本系统的数据库bbs需要使用到mysql的几个组件,包括:a、图形管理工具mysql administrator 和mysql query browser;b、mysql-front。提供了解决mysql中插入中文乱码的问题;c、nav

28、icat lite for mysql。可以用来快速建立数据库,可拖拉式的mysql插件。6.3 结构设计6.4 运用设计6.4.1 数据字典设计数据项名:username说明: 用户登入名别名: 无数据类型:varchar长度: 3-10位置:用户信息表数据项名:password说明: 用户登入密码别名: 无数据类型:varchar长度: 3-10位置:用户信息表数据项名:name说明: 用户登入名别名: 无数据类型:varchar长度: 3-10位置:用户信息表数据项名:dept说明: 用户所在学院别名: 无数据类型:varchar长度: 3-10位置:用户信息表数据项名:banji说明:

29、 用户所在班级别名: 无数据类型:varchar长度: 3-10位置:用户信息表数据项名:lessons说明: 用户所选课程别名: 无数据类型:varchar长度: 3-10位置:用户信息表6.4.2 安全保密设计 一个系统,它的安全性是很重要的,尤其是数据库的安全性能,每当用户发出存取数据库的操作请求后,dbms查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。为了让某些合法的用户得到一定的权限,数据库管理员可以授权给让他们。在一些敏感的数据上面采用了md5算法进行加密,比如用户的登入密码,就算是数据泄漏,用户也不知道怎么登录系统。七、详细设

30、计7.1 引言7.1.1 编写目的 学生选课系统系统详细设计是设计的重要阶段,这个阶段的主要任务是在bbs系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译

31、、转化为用某种程序设计语言书写的程序。7.1.2 背景说明:a、待开发的数据库主要是为学生选课系统来服务的。故该数据库名为selectcourse,软件系统名字是学生选课系统;b、本项目的任务提出者:何南平,徐小聪。7.1.3定义 jvm:java virtual machine(java 虚拟机),它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。java 虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。7.1.4 参考资料1 张海藩.软件工程导论第5 版m.清华大学出版社,2008 年2 月.2 窦万峰.软件工程方法与实践.机械工业

32、出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.八、测试报告8.1 引言8.1.1 编写目的 本册试报告为学生选课查询系统项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求。本规范规定一组软件测试文件。测试是软件生存周期中一个独立的、关键的阶段,也是保证软件质量的重要手段。为了提高检测出错误的几率,使测试能有计划地、有条不紊地进行地进行,就必须要编制测试文件。而标准化的测试文件就如同一种通用的参照体系,可达到便于交流的目的。文件中所规定的内容可以作为对测试过程完备性的对照检查表,故采用这些文件将会提高测试过程的每个阶段

33、的能见度,极大地提高测试工作的可管理性。8.1.2 定义a、白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。b、黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情

34、况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。8.1.3 参考资料1 张海藩.软件工程导论(第5 版)m.清华大学出版社,2008 年2 月.2 窦万峰.软件工程方法与实践.机械工业出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.4 陈勇孝.java程序设计实用教程,2008年6月.5 王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.8.2 测试概要下表是测试本系统的模

35、块计划,见表8-1 所示:测试人员测试时间测试模块徐小聪、何南平2011/07/032011/7/11 学生登录模块徐小聪、何南平2011/07/032011/7/11老师登录模块徐小聪、何南平2011/07/032011/7/11管理员登录模块徐小聪、何南平2011/07/032011/7/11学生选课模块徐小聪、何南平2011/07/032011/7/11学生查询模块徐小聪、何南平2011/07/032011/7/11学生修改密码模块徐小聪、何南平2011/07/032011/7/11教师查看选课信息徐小聪、何南平2011/07/032011/7/11管理员查询课程选课情况徐小聪、何南平2

36、011/07/032011/7/11查看所有学生的选课信息表8-1 测试本系统的模块计划 1)学生登录时a. 用户名和密码都为空b.学生用户名和密码有一个为空c.学生用户名和密码不匹配 2)教师登录时a. 用户名和密码都为空b.学生用户名和密码有一个为空c.学生用户名和密码不匹配 3)管理员登录时a. 用户名和密码都为空b.b.学生用户名和密码有一个为空c.学生用户名和密码不匹配 4)学生修改密码时a. 用户名、原密码、新密码都至少有一个为空b.新密码两次输入不同c.学生用户名和密码不匹配d.修改密码成功8.3 测试结果及发现8.3.1 测试具体实施a、用户登录模块测试。该算法用例表见表8-2

37、 所示。下图是用户登录流程图:8.4 对软件功能的结论8.4.1 用户登录模块 这个模块可以防止用户未输入用户名,未输入密码的时候登入到权限以外的系统。8.5 分析摘要8.5.1 能力经测试证实了的本软件的能力。在测试的所有模块当中,大部分书满足用户的需求,但是不排除一些不好的方面。已经可以出处理用户所要求的,符合需求说明书中的要求。8.5.2 评价通过上面的综合测试,本系统实现的功能和性能大部分是和用户所提出的一致,有些甚至做的很完善,符合需求说明书中的全部要求。可以交付给用户使用。8.6 测试资源消耗本次测试活动花费的时间:10 天;总人员:2 人本次测试设计的测试用例还不够完全,影响软件

38、测试的完备性,建议改进。九、用户手册9.1 引言9.1.1 编写目的本手册主要对学生选课系统进行详细描述和讲解,让用户可以顺利的使用本系统以及更好的管理本系统。9.1.2 定义md5:message digest algorithm md5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。9.1.3 参考资料1 张海藩.软件工程导论(第5版)m.清华大学出版社,2008年2月.2 窦万峰.软件工程方法与实践.机械工业出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.4 陈勇孝.java程序设计实用教程,2

39、008年6月.5 王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.9.2 用途9.2.1 功能此系统的功能层次图如图9-1 所示:9.2.2 性能 时间特性本软件由于数据库较小,相应时间、更新处理时间、数据传送、转换时间、计算时间等都非常迅速,如下:a、响应时间:响应时间为5 秒内;b、更新处理时间:由系统运行状态决定;c、数据的转换和传输时间:能够在5 秒钟内完成。 灵活性对于信息的查找,本软件提供了模糊查询的方法,这样最大的满足用户的要求,方便用户的使用。9.2.3 安全保密一个系统,它的安全性是很重要的,尤其是数据库的安全性能,每当用户发出存

40、取数据库的操作请求后,dbms查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。为了让某些合法的用户得到一定的权限,数据库管理员可以授权给让他们。在一些敏感的数据上面采用了md5算法进行加密,比如用户的登入密码,就算是数据泄漏,用户也不知道怎么登录系统。十、附录10.1 数据库的封装代码db.javaimport java.sql.*;public class db public static connection getconn() connection conn = null;try class.forname(com.mysql.jdbc

41、.driver);conn = drivermanager.getconnection(jdbc:mysql:/localhost/sc, root, root); catch (classnotfoundexception e) e.printstacktrace(); catch (sqlexception e) e.printstacktrace(); return conn;public static statement getstate(connection conn) statement stmt = null;try if(conn != null) stmt = conn.cr

42、eatestatement(); catch (sqlexception e) e.printstacktrace(); return stmt;public static resultset getresultset(statement stmt, string sql) resultset rs = null;tryrs = stmt.executequery(sql); catch(sqlexception e) e.printstacktrace();return rs;public static void close(connection conn) try if(conn !=nu

43、ll)conn.close();conn = null; catch (sqlexception e) e.printstacktrace();public static void close(statement stmt) try if(stmt !=null)stmt.close();stmt = null; catch (sqlexception e) e.printstacktrace();public static void close(resultset rs) try if(rs !=null)rs.close();rs = null; catch (sqlexception e

44、) e.printstacktrace();10.2 选课系统登陆界面代码login.javaimport java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class login extends frame implements actionlistener label usename, password, l1;textfield tf1, tf2;checkbox ck1, ck2, ck3;button b1, b2;checkboxgroup group;string st

45、r;public void setstr(string str) this.str = str;connection conn = null;statement stmt = null;resultset rs = null;public void lauchframe() this.settitle(学生选课登录);setlayout(null);usename = new label(用户名称 :);password = new label(用户密码 :);tf1 = new textfield();tf2 = new textfield();l1 = new label(学生选课系统-登

46、录/login);str = tf1.gettext();group = new checkboxgroup();ck1 = new checkbox(管理员,false , group);ck2 = new checkbox(学生, true, group);ck3 = new checkbox(教师, false, group);b1 = new button(确定);b2 = new button(重置);add(usename);add(password);add(l1);add(tf1);add(tf2);add(ck1);add(ck2);add(ck3);add(b1);add(

47、b2);l1.setbounds(new rectangle(350, 150, 200, 50);usename.setbounds(new rectangle(300, 200, 60, 50);password.setbounds(new rectangle(300, 250, 60, 50);tf1.setbounds(new rectangle(370, 210, 200, 25);tf2.setbounds(new rectangle(370, 260, 200, 25);ck1.setbounds(new rectangle(350, 280, 50, 50);ck2.setbo

48、unds(new rectangle(410, 280, 50, 50);ck3.setbounds(new rectangle(470, 280, 50, 50);b1.setbounds(new rectangle(320, 330, 40, 25);b2.setbounds(new rectangle(400, 330, 40, 25);b1.addactionlistener(this);b2.addactionlistener(this);tf2.setechochar(*);setbounds(100,50,800,700);setvisible(true);setresizabl

49、e(false);this.addwindowlistener(new windowadapter() overridepublic void windowclosing(windowevent e) system.exit(0););public void actionperformed(actionevent e) if (e.getsource() = b1 & ck2.getstate() / 确定if (tf1.gettext().equals() | tf2.gettext().equals() joptionpane.showmessagedialog(null, 学生用户名和密码输入不能为空!); else conn = db.getconn();stmt = db.getstate(conn);string sql = select * from login;rs = db.getresultset(stmt, sql);boolean check = false;try while (rs.next() string username = rs.getstring(1); / 获

温馨提示

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

评论

0/150

提交评论