软件工程课程设计报告试卷管理系统_第1页
软件工程课程设计报告试卷管理系统_第2页
软件工程课程设计报告试卷管理系统_第3页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

1、.科 技 学 院课程设计报告( 2011- 2012年度第2学期)名 称:软件工程课程设计 院 系: 信息工程系 班 级: 软件09K2 学 号: 1 学生姓名: 何少华 指导教师: 宋雨 郭丰娟 设计周数: 2 成 绩:日期:2012年 6 月28. v.软件工程课程设计任务书一、目的、要求通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测

2、试的基本能力。二、主要内容要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目(内容参照计算机综合实践指导,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。三、进度计划序号设计(实验)内容完成时间备注1软件计划、软件需求分析、软件设计,制定出软件测试计划,软件测试用例第1周第1,2,3天要求上机前做好充分的文档准备2各模块录入、编码、编译及单元

3、测试第1周的第4、5天3联调及整体测试,第2周的第1、2天4验收,学生讲解、演示、回答问题第2周的第3天四、设计成果要求1至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强(可参考计算机综合实践指导中给出的要求及格式)、图表规范;2独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。五、考核方式(1)提交的文档规范,工作量大,文档逻辑性强、正确,按计算机综合实践指导标准考核(附软件工程课程设计实验报告评分表)占60%(2)系统验收、讲解、答辩占25%(3)考勤占15%学生姓名:指导教师:2012年6 月17日软件工程

4、课程设计实验报告评分表专业班级学号题目标准分数得分()标准分数得分()标准分数得分()报告规范,符合要求20报告较规范,基本符合要求17报告不规范,不符合要求1110169819157614541813321210工作量大,报告完整20工作量适中,报告较完整17工作量较小,报告不完整14191613181512文档逻辑性强、正确,语言流畅20文档逻辑性较强,无明显错误,文字表述较流畅16文档有逻辑性,有明显错误,语言表述不顺畅12111915109181487171365实验报告成绩评分教师签字1 需求分析所谓需求分析是软件工程数据库信息管理系统开发的很重要的一步,在软件工程中,需求分析指的是

5、在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能,下面重两个方面来说明试卷管理系统的需求分析。1.1 市场需求分析学校教务管理工作中一项重要的工作是考试管理工作,每学期从各科目考试,从组织出卷到试卷的印刷及试卷的管理等工作非常繁琐且工作量大,这种组织管理方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成有效的试题库,不利于充分发挥

6、历年来的优秀试题以及试卷的作用,给试题和试卷的管理带来很多问题和困难。鉴于这种情况,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,对试题和试卷的管理将变的高效和快捷,对提高工作效率,使试卷管理逐步走向正规化和自动化将起到十分重要的作用。它解决传统手动出卷的很多问题。例如:避免了不必要的重复劳动,节约了人力资源及时间;使用科学的衡量、评价及统一试卷难易度、试卷的质量的有效手段;大幅度降低了试卷出现错漏缺的机率,减少了不必要的麻烦。1.2 功能需求分析题库管理:根据用户需求,系统应该能够维持一个存有数千道以上试题的题库。系统应当允许教师在获得权限的情况下随时能够进行试题补充且试题的题型可

7、有多种多样试题难度、区分度也有不同。操作员能够按照自己的需要,随时可以对题库中已有的试题进行修改、删除,同时还可以查询和浏览试题。出卷管理:根据用户提出的要求,可以进行人工组卷。另外,从题库中抽取全部所需的试题之后,要求系统能够按照一般试卷的编排要求,将抽取的试题进行排版,并以标准的格式输出到Word文档中。同时,也应能够生成试卷的标准答案并输出到Word文档中。权限管理:系统管理员可以增加或删除操作人员并指定操作人员的权限,可对用户权限进行修改,从而保证系统在实施中的灵活性。该系统已基本满足教学需要,为实现教学改革,改变传统的出卷方式,实现教考分离起到了积极的促进作用。但程序仍还有诸多有待完

8、善的地方,程序并未充分优化。随着计算机技术的不断发展和普及,将会对教学工作提出更高的要求,该系统必须要不断地改进,从而使得教学工作更加合理和快捷。具体的功能实现l 试题库的建立和基本维护,包括试题的录入、删除、修改以及查看题库中试题的基本信息、试题所带图形的装入与维护。l 指定出题,包括试题的手工移入、移出等;l 自动出题,试卷组装,word编辑,包括选定试题类型后通过随机函数执行自动出题功能并输出到word进行编辑;l 系统管理,包括用户权限的设置和修改,增加和删除用户。1) 试题库管理试题管理的主要目的是维护题库中的试题及各项参数输出及题库查询。其中包括题库编辑、试题查询。题库编辑;其内容

9、包括创建题库,题库中试题的修改和增添、删除。试题查询:本模块的主要功能是按照用户设置的查询条件对试题进行快速查询。用户可以根据章节号、题型、难度、试题编号等信息来查询试题的内容及答案等信息。2) 试卷管理该模块可根据要求实现试卷的自动/人工出卷,自动生成的试卷试题由系统随机抽取,由于题库中的试题按照试题的类型分类,故随机抽出的试题难易适中,既可满足一般考试的要求又避免了人为因素,增强了试卷的可信度,尽管自动生成试卷符合规范化考试的要求,但为了满足不同用户的特殊需要,特设置了手工出卷的操作,这样就增加了系统的通用性与灵活性。此外,该模块还可根据用户的要求生成关于相应试卷的文档。3) 系统管理可增

10、加删除系统操作人员,并设定操作人员的权限。通过对用户进行权限管理范围设定,减轻操作内容,也可对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。同时用户也对密码进行修改,保证安全性。1.3 技术可行性分析现在计算机几乎是全国所有公司上班的必备物品,计算机以后和人们的生活工作息息相关了,在加上现在做WEB服务的软件也越来越成熟,为我能成功的租出这套系统提供很高的硬件环境及技术上的基础。本系统主要是使用JSP + Servlet+ sqlserver2008实现,Web服务器用tomcat。这些技术都是现在比较发展快而且很成熟的技术,所以也为我能更好更快的做出此系统提供了大量的现成的代码和

11、思想。1.4 性能分析所开发的系统集试题管理和试卷命题等功能为一体可以使教师便捷地对试卷库中的试题进行管理。按要求命题生成试卷以及对试卷质量做综合评价。使每套试卷都具有结构合理性和覆盖全面性。系统为教师和学生提供了一个功能强大的平台,通过这个平台,教师可以根据实际教学状况来组成相应的试题和试卷,学生可以对课程进行有效的复习。在实际应用中不仅可以减轻教师工作量,而且还为学生提供了一种新的学习途径。2各子系统的数据流程图2.1系统管理子系统图2-1 系统管理子系统的数据流程图2.2题库管理子系统图2-2 题库管理子系统的数据流程图23总的流程图3概要设计和逻辑设计3.1概要设计根据需求分析和数据流

12、图的结果:由于各个表之间是否具有索引关系,因此得到各E-R图以及关系模型:图3-1 用户的E-R 图图3-2 题库的E-R图图3-3 注册的E-R图. 图3-4 系统总的E-R 图3.2 逻辑设计根据总E-R图中的实体与实体之间的联系以及转换的一般原则,得到如下的关系模型:1. 用户表(用户名,用户密码,用户类型)2. 注册表(用户名,用户密码,用户证件号,用户类型)3.题库表(试题编号,试题科目,试题难度,试题类型,知识点,试题答案,)函数依赖关系分别为:1.图3-5 用户表的依赖关系图3-6 题库表的依赖关系4数据库设计数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。对数据库

13、的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型等。SQL server2008就是一种关系型数据库管理系统。根据概要设计和逻辑设计,数据库原理试卷库生成系统后台数据库有3张表组成,分别为用户表,注册表,题库表。4.1 用户表的设计用户表主要包含系统用户的基本信息:用户名、用户密码、用户类型。用户类型有三种,分别为学生,老师和管理员,不同的用户身份权限不一样。如系统管理员可以进入系统管理、题库管理、试卷管理和辅助功能,但学生只能进入系统管理的修改密码,试卷管理和辅助功能。考虑到char和varchar的类型的不同。Varc

14、har的字节数可变,而且char的字节数固定,如果输入的字符少于规定的字节数,会自动填充。因此,选择了varchar类型,这样比较容易判断用户名和密码是否正确。表4-1 用户表列名数据类型允许为空主键用户名Varchar(50)noyes用户密码Varchar(50)nono用户类型Varchar(50)nono4.2 题库表的设计题库表主要包含了题目的各项信息,如试题编号,试题难度,章节,类型,试题内容以及答案。考虑到在自动出卷的时候,要根据试题难度进行选题,所以试题难度的数据类型为varchar。试题内容和试题答案都可以插入图片,因此数据类型为image。试题编号设置为自动编号。试题类型主

15、要为五种,分别为选择题、填空题、简答题、设计题和综合题。试题难度分为难、中、易。试题分值一般规定为选择题和填空题为3分,后面类型的题目由系统管理员自行定义。表4-2 题库表的设计列名数据类型可否为空主键试题编号int(4)Noyes试题科目char(20)Nono试题难度Varchar(50)Nono试题类型char(10)Nono知识点Image(16)Nono试题答案Image(16)Nono4.3注册信息表的设计注册信息表主要是用来注册新用户的各项信息。它包含了用户名,用户密码,用户证件号,用户类型各项属性。且信息表号是采用自动编号。表4-3 注册信息表列名数据类型可否为空主键用户名Va

16、rchar(50)Noyes用户密码Varchar(50)Noyes用户类型Varchar(50)Nono用户证件号Varchar(50)Nono5.系统的详细设计和实现该系统设计主要包括五大模块,分别为登录模块、注册模块、主界面模块、系统管理模块、题库管理模块、在与各种数据库建立连接的时候,用到了通过编写DB类存储Web应用所用到常用据库操作的方法,供Web调用; 代码:import java.sql.*;public class DBConn Connection conn=null;Statement state=null;String sql=;String driverName =

17、.microsoft.sqlserver.jdbc.SQLServerDriver; /加载JDBC驱动String dbURL = jdbc:sqlserver:/localhost:1433; DatabaseName=PaperManagerDB; /连接服务器和数据库sampleString userName = sa; /默认用户名String userPwd = ; /密码public static Connection getConnection()Connection conn=null;Statement state=null;String driverName = .mic

18、rosoft.sqlserver.jdbc.SQLServerDriver; String dbURL = jdbc:sqlserver:/localhost:1433; DatabaseName=PaperManagerDB; String userName = sa; /默认用户名String userPwd = ; /密码try Class.forName(driverName); conn = DriverManager.getConnection(dbURL, userName, userPwd); /System.out.println(Connection Successful!

19、); /如果连接成功 控制台输出Connection Successful! catch (Exception e) e.printStackTrace(); return conn;public static void closeStatement(PreparedStatement pstate)tryif(pstate!=null)pstate.close();pstate=null;catch(SQLException e)e.printStackTrace();public static void closeConnection(Connection conn)tryif(conn

20、!=null&!conn.isClosed()conn.isClosed();catch(SQLException e)e.printStackTrace();public static void closeResultSet(ResultSet res)try if (res!=null) res.close();res=null; catch (SQLException e) e.printStackTrace();5.1 登录模块的设计登录模块主要是认证登录人的身份是否合法,登录权限也要进行认证。当用户名用户密码错误时会进行报错,当用户身份合法后会进行权限检查,根据权限开放或者限制其能使

21、用的功能。根据登录模块主要功能,可得流程图:图5-2 登录流程图登录模块: 接受用户输入,通过javascript判断输入的合法性,若合法,则提交到登录页的jsp处理,通过查询数据库,判断是否存在此用户,或存在,刚进入主功能页面,并保存登录信息,若不存在则显示:密码错误或用户名不正确。窗体的运行界面:图5-3 用户登录界面相关代码:function on_submit()if(form1.username.value=)alert(用户名不能为空,请输入用户名!);form1.username.focus();return false;if(form1.password.value=)aler

22、t(用户密码不能为空,请输入用户密码!);form1.password.focus();return false;5.2 主界面模块设计当输入密码验证成功后,就进入系统主程序界面,主程序界面主要实现如下功能:(1)选择主界面的菜单,调用相应程序,进行相应的系统操作。(2)显示用户名、权限、登录时间和设计主题。当系统管理员登录到主界面时,所有的菜单项显示为可用;以用户身份登录时候,系统管理下的用户管理以及题库管理不可用。主程序界面如下:图5-4 主界面窗体5.3注册模块的设计注册用户的流程图为:图5-5 修注册用户的流程图图5-6 注册用户的界面5.4用户管理模块的设计用户管理模块主要是系统管理

23、员对用户的管理,包括对用户的相关信息的修改和删除用户。一般用户不可用。相关流程图如下:图5-7 用户删除的流程图5.5查看试题查看试题主要是看试题的难度,知识点等等,相关流程图如下:图5-8 查看试题的流程图图5-9 查看试卷的界面5.6增加试题主要完成增加试题的功能,相关流程图如下:图5-10 增加试题的流程图图5-11 增加试题的界面5.7删除试题主要执行对试题的删除功能,相关流程图如下:图5-12 删除试题的流程图图5-13 删除试题的界面5.7试卷管理的模块试卷管理模块是整个试卷生成系统的核心。试卷生成主要是自动生成试卷。自动出卷是通过用户选择的生成试卷的条件,随机地选择试题,自动完成

24、试卷的生成。自动生成试卷最重要的是要掌握自动出卷的算法。算法概要:自动组卷得的过程是根据某些约束条件,在试题库中选择满足约束条件试题的过程。这些约束条件一般是指题型、难度、分值、考试所需章节等约束。这些约束条件如果看作是局部约束条件,那么试卷将达到各项指标的均衡,这样就形成了全局的约束条件。从这个意义上,计算机的自动组卷实际上就是一个约束满足的过程。在自动出卷过程中,笔者为了排除同一份试卷中出现重复试题。采取方法是将满足要求试题的试题编号保存到一个数组里面,下次随机抽取的时候,将试题编号与数组里面的进行比较,如果出现重复,重新进行抽题。如果不同,将该试题编号保存到数组。如此类推,只到完成抽题。

25、在该过程,为了防止死循环,笔者设置了循环次数,如果超过该次数,将显示没有满足该要求的试题。实现自动生成试卷的流程图:图5-14 自动出卷的流程图图5-15 自动出卷界面5.8 输出到word当生成试卷后,如果觉得字体或者内容存在问题,笔者可以进行修改。点击文件中,可以对试卷按照指定的地址以word文档的形式进行保存。图5-16输出到word界面6、软件测试6.1 软件功能测试以及方法介绍软件测试就是为了发现程序中的错误而执行的必要过程,它的目标是尽可能多的发现并排除软件中潜在的错误,最终把一个高质量的系统交给用户使用。测试任何软件产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试

26、来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照产品规格说明书的规定正常进行。前一个方法称为黑盒测试,后一种方法称为白盒测试。黑盒测试是把程序看成一个黑盒子,可以不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按产品规格说明书的规定正常运行。白盒测试可以把程序看成装在一个透明的白盒里,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否能按预定要求正常运行。6.2 本系统的测试在测试主要是通过快捷键F4运行,快捷键F7进行单步调试。在调试过程中,可以通过看里面参数的变化是否正确。本系统在开发

27、中出现的问题和调试方法如下:(1)在测试登录界面时,虽然笔者输入的用户名和密码都正确,但是仍然显示输入的用户名和密码错误。最后,发现后台的数据库的数据类型定义错误。笔者把用户名和用户密码定义为char类型,字符长度为20。而char类型是固定的,如果当输入的字符长度小于定义的长度,将会以空格填充。例如后台数据库中输入abc,在数据库中将会保存为“abc ”,因此当用户名输入为”abc”,进行字符串比较,就会显示不相等,因此就不能登录成功。后来,笔者将数据类型定义为varchar类型。Varchar类型存储时,只存入数据的实际值。定义的数据长度代表能够存入的数据的最大长度。(2)在测试试卷自动生成过程中,发现生成的试题存在重复,于是通过定义一个数组存放选中试题的试题编号,然后每次抽取

温馨提示

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

评论

0/150

提交评论