文档库 最新最全的文档下载
当前位置:文档库 › 软件工程课程设计范例

软件工程课程设计范例

软件工程课程设计范例
软件工程课程设计范例

《软件工程》课程设计题目 C语言在线考试系统的设计与实现

学生姓名

学号

院系计算机与软件学院

专业

指导教师文学志

二O年月日

目录

1.绪论................................... 错误!未定义书签。语言在线考试系统概述..................... 错误!未定义书签。语言在线考试系统的可行性分析............. 错误!未定义书签。

经济可行性错误!未定义书签。

技术可行性错误!未定义书签。

社会可行性错误!未定义书签。

2.相关技术介绍........................... 错误!未定义书签。体系结构................................. 错误!未定义书签。 Server Pages ............................ 错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

Web服务器 .............................. 错误!未定义书签。

3. 系统的需求分析......................... 错误!未定义书签。.系统的功能需求.......................... 错误!未定义书签。.系统的模块划分.......................... 错误!未定义书签。

4. 系统的设计............................. 错误!未定义书签。.系统的概要设计.......................... 错误!未定义书签。系统的总体结构........................... 错误!未定义书签。系统数据库设计........................... 错误!未定义书签。.系统主要模块的详细设计.................. 错误!未定义书签。

试题管理模块设计......................... 错误!未定义书签。考试管理模块设计......................... 错误!未定义书签。在线考试模块设计......................... 错误!未定义书签。答卷自动评分模块设计..................... 错误!未定义书签。

5.系统主要模块的实现..................... 错误!未定义书签。.创建项目................................ 错误!未定义书签。开发环境的搭建........................... 错误!未定义书签。系统的整体框架........................... 错误!未定义书签。.试题管理模块的实现...................... 错误!未定义书签。创建持久化类和数据库访问相关类........... 错误!未定义书签。创建Struts相关类........................ 错误!未定义书签。创建表示层JSP文件....................... 错误!未定义书签。.考试管理模块的实现...................... 错误!未定义书签。初始种群的生成........................... 错误!未定义书签。适应度值的计算........................... 错误!未定义书签。选择(Select)........................... 错误!未定义书签。交叉(Crossover)........................ 错误!未定义书签。变异(Mutation)......................... 错误!未定义书签。.在线考试模块的实现...................... 错误!未定义书签。倒计时子模块的实现....................... 错误!未定义书签。故障延时子模块的实现..................... 错误!未定义书签。.答卷自动评分模块的实现.................. 错误!未定义书签。

6. 系统的测试............................. 错误!未定义书签。.系统的测试环境.......................... 错误!未定义书签。.系统的测试用例设计...................... 错误!未定义书签。.系统的测试结果.......................... 错误!未定义书签。.系统的测试分析.......................... 错误!未定义书签。结束语................................... 错误!未定义书签。参考文献................................. 错误!未定义书签。致谢................................... 错误!未定义书签。

C语言在线考试系统的设计与实现

张三

南京信息工程大学计算机与软件学院,南京 210044

摘要:随着计算机技术、Internet 技术的迅猛发展,在线考试模式以其跨地域性、随时性和用户广泛性的特点,成为

推动教育现代化的重要手段,已经成为对学生练习、考试、评价和分析教学效果的重要工具。本文研究利用三层浏览器(B/S/S)体系结构,即Web浏览器/Web服务器/数据库服务器结构来实现C语言科目的在线考试系统。该系统实现了试

题库的管理、自动组卷和答卷的自动评分等功能,满足了广大教师和考生的需求。该系统的实现以Java语言及其相关技

术为基础,构建于MySQL数据库系统以及Tomcat Web服务器之上。该系统的实现表明,在线考试系统能够提高试题库管理、考试组织和阅卷的效率,并同时保证考试的公正和公平。因此,其他科目的考试也可以开发相应的在线考试系统。

关键词:在线考试系统;B/S/S体系结构;Java;MySQL;自动组卷

1.绪论

本章对C语言在线考试系统进行了概要性的介绍,并在经济、技术、社会三个方面对该系统开发的可行性进行了分析,以说明该系统的开发是可行的,可以立即开始研制工作。

1.1.C语言在线考试系统概述

随着计算机技术、Internet 技术的迅猛发展,绝大部分高校都已接入互联网并建成了校园网,硬件设施也日趋完善。以互联网为基础的在线考试模式,以其跨地域性、随时性和用户广泛性的特点,成为推动教育现代化的重要手段,已经成为对学生练习、考试、评价和分析教学效果的重要工具[1]。

C语言在线考试系统利用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合,实现了C语言科目考试的无纸化、自动化、网络化。第一,本系统能够帮助教师方便地实现试题的管理,包括试题的录入、查询、修改、删除。第二,本系统实现了自动组卷功能,能够根据出题要求自动生成C语言考试试卷,供考生在线作答。第三,考生在使用本系统进行在线考试时,系统将提供倒计时功能,使考生能够随时了解考试的剩余时间。第四,本系统在考试时间截止之后将自动完成交卷,以保证考试严肃公正地进行。第五,在答卷提交之后,本系统将对答卷进行自动评分并保存结果,以便考生查询考试成绩。

1.2.C语言在线考试系统的可行性分析

项目的可行性一般从三个方面进行分析,即经济可行性、技术可行性、社会可行性。经济可行性分析即进行开发成本的估算以及效益的评估,确定开发的项目是否值得投资开发;技术可行性分析是指对要开发的项目的功能、性能和限制条件进行分析,确定现有的资源条件下,技术风险有多大,项目是否能实现;社会可行性分析是指研究要开发的项目是否存在侵犯、妨碍等责任问题,要开发的项目的运行方式在用户

组织内是否行得通,现有管理制度、人员素质和操作方式是否可行[2]。本节从这三个方面对C语言在线考试系统的可行性进行分析,以便后续工作的展开。

1.2.1.经济可行性

C语言在线考试系统的开发成本包括开发该系统的人力的费用以及用于购买部署该系统并充当服务器的计算机的费用。开发该系统估计需要四个开发人员一周的工作量,如果每人每月的工资为2000元,则开发该系统的人力费用约为2000元。为了部署该系统,需要购买一台带有较大容量磁盘的高性能计算机,费用估计在1万元。因此,开发该系统的成本总计为万元。

在未使用该系统之前,为了进行C语言考试,必须支出相应的人力费用进行出卷、组织考试和批阅试卷,这部分费用约为每年4000元。此外,由于传统考试模式需要用纸,每年需要约3500元的纸张费用。因此,若维护系统每年需花费500元,使用C语言在线考试系统每年可节省约万元。

根据以上的估计开发费用和节省的费用,在假设年利率i等于12%的前提下,可以计算得到投资的回收期为年(如表1-1所示),即在使用C语言在线考试系统年以后用户可以收回全部投资。因此,开发C 语言在线考试系统在经济上是可行的。

表1-1 C语言在线考试系统的成本/效益分析

1.2.2.技术可行性

(1)对所建议的系统的简要描述

C语言在线考试系统利用数据库对试题信息进行高效、便捷的管理,实现试题的录入、查询、修改和删除。同时,系统提供了自动组卷功能、倒计时功能、试卷提交功能、试卷评分功能,实现了考试的无纸

化、自动化、网络化,并体现了考试的公正、严肃。

(2)与现有系统比较的优越性

C语言在线考试系统利用数据库对试题进行管理,使得对大量试题的管理高效、方便地进行,而传统考试模式下的试题管理低效耗时,在试题达到一定数量之后,管理起来十分不便,需要耗费大量的时间和精力。由于试题存放于计算机硬盘中,并采用在线考试这种无纸化的考试模式,与传统考试模式相比,不仅节省了试题的存放空间,更是节约了大量的纸张(试卷和答题册),更加环保、节约。同时,该系统的自动组卷和评分功能使得出卷和评分过程自动化,与传统的手工出卷评分相比,节省了大量的劳力,使得广大教师可以从繁重的出卷、评分工作中解脱出来,从而把更多的时间和精力用于教学和科研。此外,系统的试卷提交功能在考试时间截止时,自动完成试卷的提交,阻止考生继续答题,使得考试的公正性和严肃性较传统考试更好得体现。最后,该系统提供的倒计时功能,使得考生在考试过程中更合理地安排时间,有助于考生取得好成绩。

(3)采用建议系统可能带来的影响

采用C语言在线考试系统之后,试题的管理效率,组织考试和评卷的效率将大为提高,有利于在短时间内实现对考生的C语言学习情况的检验。同时,本系统将节约大量的纸资源,节省组织考试的开支。教师将从繁重的出题、组织监督考试、评分的工作中解脱出来,把更多的时间和精力用于教学和科研。

采用C语言在线考试系统之后,要求教师适应新型的试题管理模式,需要教师掌握该系统的使用。对考生而言,要求他们适应新型考试模式,同样,也需要他们熟悉系统的使用。

(4)所建议技术可行性分析

C语言在线考试系统是一个基于B/S/S体系结构的网络应用系统,开发这类系统的技术已经比较成熟,比如JSP技术、ASP技术等等。同时,考虑到开发人员对这类系统以及相关的技术比较熟悉且开发期较为充裕,预计可以再规定期限内完成开发。

1.2.3.社会可行性

(1)法律方面的可行性

C语言在线考试系统的研制和开发的过程,将在严格遵守国家各项法律法规的基础上进行,将不会侵犯他人、集体和国家的利益。同时,在系统的开发过程中,将严格遵守与客户签订的合同的各项条款。

(2)使用方面的可行性

C语言在线考试系统的研制和开发将充分考虑到用户的业务往来、管理流程和人员素质等,从而能满足使用要求。

2.相关技术介绍

C语言在线考试系统的开发采用了三层浏览器(B/S/S)体系结构,即Web浏览器/Web服务器/数据库服务器结构[7]。本文中采用了Java语言及相关技术JSP、Struts和Hibernate实现该系统,并以Tomcat 作为Web服务器,以MySQL作为数据库服务器。本章是对这些技术和服务器的介绍。

2.1.B/S/S体系结构

将Web技术的B/S结构与数据库系统的三层C/S/S体系结构结合,产生了Web浏览器/Web服务器/数据库服务器结构,如图2-1所示。B/S/S体系结构是指在TCP/IP的支持下,以HTTP为传输协议,客户通过浏览器访问Web服务器和与Web服务器相连的后台数据库的体系结构,它由Web浏览器、Web服务器、中间件和数据库服务器组成。在B/S/S结构中,各组成部分之间通过Internet(或Intranet)相连,遵守HTTP协议,浏览器通过发送请求和服务器端建立连接,从而实现以整个Internet为背景的数据存储和访问。

图2-1 Web数据库系统的三层B/S/S体系结构

B/S/S结构中的表示层有Web浏览器,它向网络上的Web服务器提出服务请求,接收Web服务器返回的页面并显示给用户;事务逻辑层有Web服务器,它接受用户的请求并判断请求的类型。如果请求的是一般静态页面,就直接在Web服务器的文件系统中找到页面并返回;否则执行相应的应用程序,比如对数据库进行更新、查询等,随后获得数据库操作的结果,将结果动态生成页面,返回给表示层的客户端;数据层则有数据库服务器,实现数据的存储、维护、访问和更新,它接受Web服务器的数据操作请求,并把运行结果返回给Web服务器。

B/S/S结构具有以下特点:

第一,基于TCP/IP开放式网络标准协议,完全实现了跨平台访问计算机及其网络上的各种资源,具有很强的系统独立性和平台无关性。

第二,软件维护开销大大降低,只需开发维护服务器应用程序,无需开发客户端程序,规范和统一了客户端程序的标准——Web浏览器,从而统一了用户界面。

第三,充分发挥了数据库管理系统(DBMS)高效的数据存储和数据管理能力,实现了更大程度和更大范围的数据库资源共享。

B/S/S结构代表了当前数据库应用软件技术发展的趋势,是目前开发Web数据库应用系统普遍采用的数据库系统体系结构。它的优点使它成为构建高效安全Web数据库应用系统首选的体系结构[7]。

2.2.Java Server Pages

Java Server Pages简称JSP[12],是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java 程序段(scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

与前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下几个方面有了重大突破:

第一,通过JSP的扩展标签库和JavaBeans功能,网站逻辑和网站界面可以完美地分离。

第二,使用 Enterprise JavaBeans,可以轻松地在JSP开发的Web中实现事务、安全、会话等等企业级应用所需要的功能。

第三,JDBC 提供了不同的数据库产品无关的数据库连接方式,更重要的是,数据库连接池提供了一种比普通的数据库连接方式效率高得多的连接方式。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都是在服务器端进行,网络上传送给客户端仅是得到的结果,对客户浏览器的要求最低,可以实现无plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP具有以下的优点[6]:

第一,将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装标识在JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响动态内容的生成。在服务器端,JSP引擎JSP标识和小脚本,生成所请求的动态内容并且将结果以HTML(或XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

第二,可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EJB组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

第三,用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

2.3.Struts

Struts 是Apache 软件基金组织Jakarta 项目的一个子项目,Struts 的前身是Craig R. McClanahan 编写的JSP Model2 架构。

Struts 在英文中是"支架、支撑"的意思,这表明了Struts 在Web 应用开发中的巨大作用,采用Struts 可以更好地遵循MVC 模式。此外, Struts 提供了一套完备的规范,以及基础类库,可以充分利用

JSP/Servlet 的优点,减轻程序员的工作量,具有很强的可扩展性。Struts的作者Craig 参与了JSP规范制定以及Tomcat4的开发,同时还领导制定了J2EE平台的Web层架构的规范。受此影响,Struts框架一经推出,立即引起了Java 开发者的广泛兴趣,并在全世界推广开来,最终成为世界上应用最广泛的MVC 框架[9]。

2.4.Hibernate

当前的软件开发语言已经全面转向面向对象,而数据库系统仍停留在关系数据库阶段。面对复杂的企业环境,同时使用面向对象语言和关系数据库是相当麻烦的,不但中间的过渡难以理解,而且其开发周期也相当长。

Hibernate 是一个面向Java 环境的对象/关系数据库映射工具。对象/关系数据库映射( Object/Relational Mapping) 表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去[10]。

Hibernate 的目标是:释放开发者通常的数据持久化相关的编程任务的95% 。对于以数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate 可能不是最好的解决方案。但对于那些基于Java 的中间件应用中,设计采用面向对象的业务模型和商业逻辑时,Hibernate 是最有用的。不管怎样, Hibernate能消除那些针对特定数据库厂商的SQL代码,并且把结果集由表格式的形式转换成值对象的形式。Hibernate不仅管理Java类到数据库表的映射(包括Java 数据类型到SQL 数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用SQL和JDBC处理数据的时间。

2.5.MySQL

MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB 是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。

MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL指得是结构化查询语言。SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISO SQL标准定义的。SQL标准自1986年以来不断演化发展,有数种版本。

MySQL软件是一种开放源码软件。开放源码意味着任何人都能使用和改变软件。任何人都能从Internet 下载MySQL软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。

MySQL数据库服务器具有快速、可靠和易于使用的特点。MySQL服务器还有一套实用的特性集合,这些特性是通过与用户的密切合作而开发的。在MySQL的基准测试主页上,给出了MySQL服务器和其他数据库管理器。

MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以

来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使得MySQL十分适合于访问Internet上的数据库。

MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。MySQL数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。还能以嵌入式多线程库的形式提供MySQL服务器,你可以将其链接到你的应用程序,从而获得更小、更快、和更易管理的产品[4]。

2.6.Tomcat Web服务器

Tomcat服务器是一个免费的开放源代码的Web应用服务器。它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成[11]。由于有了Sun 的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 和JSP 规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

3.系统的需求分析

在系统的可行性分析完成以后,并确定系统可以立即投入设计和研制时,下一步要做的工作便是系统的需求分析,即通过各种途径(访谈、调查问卷、实地考察等)了解并明确用户对所要开发的系统各方面的需求,包括功能上的要求、性能上的要求、操作方便性的要求等等。本章对C语言在线考试系统进行了需求分析,主要是根据用户对系统功能方面的要求,明确了系统所要实现的各个功能的相关细节,并在此基础上对系统进行了模块划分,为后续的系统的设计打下基础。

3.1.系统的功能需求

根据用户对系统功能方面的实际要求,C语言在线考试系统的主要功能包括:用户登录验证功能、用户管理功能、试题管理功能(试题的录入、查询、修改、删除)、考试管理功能、自动组卷功能、倒计时功能、试卷提交功能、故障延时功能和答卷自动评分功能。本节详细地说明了用户对这些功能的需求。

(1)用户登录验证功能

用户在登录C语言在线考试系统时必须进行身份验证,只有通过了身份验证,才能进入并使用该系统。系统的用户应分成三大类,即管理员、教师和考生。用户在登录时,系统应提供用户类别的选择,以区别不同用户的登录;用户在选择好登录身份之后,系统应该要求用户提供用户名和密码,以进行登录验证。系统应该为管理员(有若干位)预置登录的用户名和密码,并允许管理员修改用户名和密码。在系统提供给教师和考生使用前,管理员负责向系统中提前录入教师和考生的一些相关信息,比如教师的编号、考生的学号以及各自的身份证号等等,这些信息可用来作为这两类用户首次登录时的验证信息。用户首次登录之后,系统应该要求用户修改登录信息,特别是登录密码,以防止他人冒用。此外,为了防止恶意软件进行系统攻击,每个用户登录之前都要以图片的形式产生一组随机验证码[8],用户必须输入正确的验证码才能进入系统。

(2)用户管理功能

C语言在线考试系统应该对用户进行有效的管理。系统的用户分成了三类,即管理员、教师和考生。管理员具有系统操作的最高权限,负责添加教师和考生用户,并查看其用户信息(不包括密码)。管理员的初始用户名和密码是内置的,管理员可以修改自己的用户名和密码,并添加和修改其他相关信息。对于教师用户来说,用户信息应至少包括登录的用户名和密码,初始时可以选择教师的教师编号作为用户名,身份证号作为密码,之后可以修改。教师可以添加和修改自身相关的其他信息,并查看考试结果(包括相关分析)。对于考生来说,用户信息应至少包括用户名、密码,初始时,用户名为考生的学号,密码为考生的身份证号,之后可以修改。考生可以添加和修改自身的相关其他信息,并查看考试成绩。

(3)试题管理功能

C语言在线考试系统需要实现试题的管理功能,即组建一个试题库,以便对大量的C语言试题进行高效、便捷的管理。该功能包括:试题的录入,即使得教师能够方便地将C语言试题及其参考答案录入系统的试题库。试题录入子功能应该根据教师录入的试题的类型(选择题、填空题、程序设计题)对试题进行分类管理;试题的查询,即使得教师能够根据试题的某些关键字方便地查询试题,以便检查和修改试题。试题的查询子功能同样应该对不同的题型进行分类查询,以提高查询的效率;试题的修改,即使教师能够对已经录入系统的试题及其参考答案进行不限次数的修改,以便提高试题本身或参考答案的准确性;试题的删除,即使教师能够删除已经录入系统的试题(连同参考答案),以便更新试题库。

(4)考试管理功能

考试管理功能,即系统提供管理员对考试信息以及考试公告的管理功能。具体来说,系统管理员用户可以安排考试、编辑考试信息、利用自动组卷功能生成试卷投入考试使用;系统管理员可以发布、编辑考试公告。而教师和考生用户则只能浏览考试公告。

(5)自动组卷功能

自动组卷功能,即系统能够自动生成C语言试卷,供考生作答。自动组卷功能应该根据管理员的要求组卷,即管理员可以设置试卷所包括的题型,各类题型的分值和题数,各类型的试题在试卷上的先后顺序

以及考试的时间限制。自动组卷功能应该按照管理员设置的出卷要求按照某种算法从试题库中选择相应的试题,保证每个试题都有机会出现在试卷上,并且每次组卷试卷相同的概率尽可能小。

(6)倒计时功能

倒计时功能,即在考生进行测试的界面上提供倒计时,以便考生随时了解考试的剩余时间。倒计时功能应该根据教师设置的考试的时间限制准确地进行,保证考试的公平性。倒计时功能应该在考试结束前10分钟时给出相应的提示,提醒考生抓紧时间作答。此外,该功能出现在界面上的位置应该合理,显示的大小适中,不至于分散考生的注意力,产生负面效果。

(7)试卷提交功能

试卷提交功能包括两种情况,一种情况是考生在考试时间截止之前就已经完成答题,应允许考生提交试卷;另一种情况是考生在规定的考试时间内没能完成答题,此时,系统将自动完试卷的提交,以避免考生继续答题,破坏考试的公平性。对于提前完成考试并欲提交试卷的考生,试卷提交功能在正式提交试卷之前,应该给出确认提示,保证考生不是由于误操作而提交试卷。自动提交试卷的情况则应该与倒计时功能相一致,确保倒计时到零时自动提交试卷并切换主界面到考试结束界面。

(8)故障延时功能

故障延时功能,即当某个考生的电脑发生故障,例如死机时,监考人员可以暂停该考生的答题倒计时。当故障排除之后,考生可重新登录系统,进入考试,此时考生的考试剩余时间同故障发生时相同,即考生的考试时间被延迟。

(9)答卷自动评分功能

答卷自动评分功能完成考生答卷的批阅和评分工作,得出考生的成绩。由于C语言考试试题一般包括选择题、填空题和程序设计题,所以系统应能够自动完成这三类试题的批阅和评分。对于程序设计题,应能将考生的程序保存下来,批量编译、运行,得出结果以判断程序是否正确。

3.2.系统的模块划分

根据系统的功能需求,将C语言在线考试系统分成六大模块进行设计:(1)用户登录验证模块;(2)用户管理模块;(3)试题管理模块;(4)考试管理模块;(5)在线考试模块;(6)答卷自动评分模块。各个模块及子模块的划分和功能说明如表3-1所示:

表3-1 C语言在线考试系统的模块划分

续表3-1

4.系统的设计

在C语言在线考试系统的需求分析和模块划分完成的基础上,本章论述了该系统的概要设计和主要模块的详细设计。

4.1.系统的概要设计

本节对C语言在线考试系统进行概要设计,给出了系统的总体结构图和数据库的设计。

4.1.1.系统的总体结构

根据上一章需求分析中的系统模块划分,对C语言在线考试系统进行总体设计,得到系统的总体结构图如图4-1所示(各模块的功能说明见上一章表3-1):

图 4-1 系统的总体结构图

4.1.2.系统数据库设计

本节根据系统各模块的功能和模块间的相互关系,对系统的数据库设计进行论述,包括了数据库的需求分析、概念结构设计、逻辑设计和表设计。

(1)数据库的需求分析

C语言在线考试系统实现了用户管理、试题管理、在线考试、试卷评分等功能,这些功能所涉及到的数据库的需求说明如下:

为实现用户的管理,必须在数据库中保存用户的信息,由于用户分成管理员、教师和考生三类,数据库中应建立对应的管理员表、教师表和考生表。此外,为了方便管理同一考场的考生,数据库中应建立考生组表。

为实现试题的管理,数据库中应建立试题表以保存试题信息。

为实现考试的管理,数据库中应建立试卷表保存自动组卷功能生成的试卷;应建立考试信息表和考试公告表,保存考试信息和考试公告。

为实现在线考试和试卷评分,数据库中应建立答题表存放考生的答题结果。此外,应建立考生的成绩表用于保存考生的成绩和相关的考试信息。

对于系统E-R图中的m:n关系(即多对多关系),也应建立相应的表。

(2)数据库的概念结构设计

根据C 语言在线考试系统的数据库需求分析进行概念结构设计,画出系统的实体-联系图,即E-R 图[3]

(图4-2)以及实体图(图4-3~图4-18)。

图4-2 C 语言在线考试系统数据库概念结构设计(E-R 图)

图4-3 管理员实体图

图4-4 教师实体图

管理员

考生组

教师

试题

答题卡

成绩单

试卷

考试

考试公告

考生

教师管理

考生组管理

考试管理

属于

答题

组卷

试题管理

自动阅卷

指导

查看

1

m

p

m

m

q

n

1

m

1

m n

n

n

m

n

n

1

p

1

1 m

n

公告管理

m 使用

1 属于

包含

1

p

m

教师

密码

用户名

编号

真实姓名

院系

管理员

密码 用户名

编号 真实姓名

图4-5 考生实体图

图4-6 试题实体图

图4-7 考试实体图

图4-8 考试公告实体图

图4-9 试卷实体图

考试

编号

监考人编号

考场

描述

考试日期

考生组编号

试卷编号

总分

考试时长

考试公告

编号

公告内容

浏览次数

公告标题

作者

试卷

编号

是否使用

生成时间

管理员编号

试题

分值

难度

试题描述 参考答案

类型 编号

密码

用户名

编号

真实姓名

考生组编号

所在院系

图4-10 考生组实体图

图4-11 答题卡实体图

图4-12 考生成绩单实体图

图4-13 公告管理实体图

考生成绩单

考生编号

考生成绩

考试编号

是否暂停考试

考试剩余时间

编号

是否交卷

管理员编号

操作日期

操作 公告编号 公告管理

编号

管理员编号

操作日期

操作

考生组编号

考生组管理

编号

答题卡

编号

考生答案

考试编号 得分

考生编号

试题类型

试题编号

是否批阅

编号

组名

教师编号

备注

图4-14 考生组管理实体图

图4-15 教师管理实体图

图4-16 试题管理实体图

图4-17 考试管理实体图

图4-18组卷实体图

(3)数据库的逻辑设计及表设计

根据系统的总体概念设计模型、E-R 图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型[5]

,如表4-1~表4-17所示:

表4-1 管理员表 (admin 表)

管理员编号

操作日期

操作 考试编号 考试管理

编号

试卷编号

组卷

编号

试题编号

管理员编号

操作日期

操作

教师编号

教师管理

编号

教师编号

操作日期

操作

试题编号

试题管理

编号

续表4-1

表4-2 教师表(teacher 表)

表4-3 考生表(student 表)

表4-4 试题表(question 表)

表4-5考试表(exam表)

软件综合课程设计报告模板

(课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。) 计算机软件综合 课程设计报告 学院、系:吉林大学珠海学院计算机科学与技术系 专业名称:2015级软件工程专业课程设计科目:计算机软件综合课程设计 题目:******* 系统 学生姓名:(小组所有成员的学号、姓名) 指导教师: 完成时间:2017年9月—2018年1月

目录 1引言 (4) 1.1编写目的 (4) 1.2背景说明 (4) 2 需求分析 (4) 2.1系统总体目标 (4) 2.2 系统功能 (4) 2.3数据需求 (4) 2.3数据流图 (5) 3 数据库概念结构设计 (5) 3.1系统E-R模型 (5) 3.2模块E-R模型 (5) 4 数据库逻辑结构设计 (5) 4.1 逻辑结构设计 (5) 4.2物理结构设计 (6) 5 安全性设计 (6) 5.1 身份验证模式 (6) 5.2 登陆管理 (6) 5.3 权限管理 (6) 6 源代码及其实现 (7)

5.1 系统开发技术 (7) 5.2 模块1设计及其实现 (7) 5.3 模块2设计及其实现 (7) 7 总结 (7) 6.1 课程设计心得体会 (7) 6.2 建议 (7) 8 参考文献 (7)

题目(三号,黑体,居中) 说明:一组只写一份报告,即下面内容,自己也可以根据实际情况进行调整和补充。 每个人写一份《课程设计成绩评定表》附在后面。 1引言 1.1编写目的 1.2背景说明 1.系统名称:公交查询系统 2.该项目的提出者:************ 3.开发者:********** ********* 4.运行该软件的单位:公交公司及广大乘客 2需求分析 2.1系统总体目标 2.2 系统功能 详细阐述系统的用户类型及其所属主要功能 2.3数据需求 根据系统功能整理出出系统中和数据相关的信息,要列出数据的详细信息。

软件工程课程设计报告人事管理系统

软件工程课程设计报告人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号 2358069 指导教师姜青山 年 6 月 18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要经

过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。经过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,而且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 当前市面上流行的人事管理系统不少。可是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并经过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程课程设计任务书(模板及参考)

编号: 大连理工大学本科生课程设计任务书 课程名称:软件工程课程设计 指导教师: 项目名称:粒子群主题网站 小组名称: 组长姓名: 上课时间:2009年7月13 日- 7月25 日 大连理工大学软件学院 20 年月日

1 设计目的 软件工程课程设计是在学生系统的学习了《软件工程》课程后,综合运用所学的知识,设计开发一个小型的实际系统。 要求学生运用软件工程的思想,严格按照软件生命周期各个阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。通过对具体系统的设计和开发,使得学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法开发和维护软件。 2 设计要求 (1)选用迭代式开发的过程模型,运用软件工程的方法,规范地完成规模小、功能较为简单 的软件开发,包括需求分析、设计、编码和测试。 (2)学生5人组成一个项目小组,一人为组长,其他人为组员,组内成员分工明确、团结协 作、相互配合,共同完成选题的设计。 (3)课程设计时间为2周。 (4)开发平台.NET3.5,语言(C# \ ASP),数据库设计工具Powerdesigner;数据库系统MS SQL Server 2005 (5)具体指标: 1)可以选择结构化分析/设计(SA/SD)或面向对象方法(OOA/D) 2) 结构化分析/设计(SA/SD) a)需求分析:分析系统的静态功能和动态行为 每一位小组成员能够描绘分配的子功能需求 每一位小组成员完成分配子功能的数据流图DFD,要求绘制到3级DFD3 小组负责人组织完成系统的DFD3 b)设计:完成系统的功能模块设计 每一位小组成员根据需求的DFD3图,完成分配的子功能模块设计,用HIPO 图表征。 每一位小组成员设计分配的子功能模块的接口 每一位小组成员能够完成分配的子功能程序流程的逻辑设计 小组负责人组织完成系统的总体结构集成 c)软件实现: 每一位小组成员完成分配的子功能界面的设计 每一位小组成员完成分配的子功能代码编写 小组负责人在.NET框架下,组织完成系统的实施 d)软件测试: 每一位小组成员完成分配的子功能的单元测试 小组负责人负责组织系统的测试用例,不少于20个,完成测试工作 3)面向对象方法(OOA/D):以UML为主 a)需求分析:分析系统的静态功能和动态行为

软件工程课程设计报告——人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号20082358069 指导教师姜青山 2010 年6 月18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要

通过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 目前市面上流行的人事管理系统不少。但是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程大作业+暑期软件工程课程设计模板1

《 题 目: 线性表的设计和实现 专业年级: 2014级计算科学与技术专业 指导教师: 李四 年 月 日

中国石油大学胜利学院《软件工程》课程大作业 摘 要 数据结构算法设计和演示(C++)树和查找是在面向对象思想和技术的指导下,采用面向对象的编程语言( C++)和面向对象的编程工具(Borland C++ Builder 6.0)开发 出来的小型应用程序。它的功能主要是将数据结构中链表、栈、队列、树、查找、图和排序部分的典型算法和数据结构用面向对象的方法封装成类,并通过类的对外接口和对象之间的消息传递来实现这些算法,同时利用C++ Builder 6.0中丰富的控件资源中帮助理解、辅助教学和自我学习的作用。 关键词:毕业设计;格式;规范

ABSTRACT Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Keywords :Xxxx;Xxxx;Xxxx

目 录 错误!未定义书签。 2.2.2 三级标题名 .................................................................. 错误!未定义书签。 2.3 线性链表 ................................................................................................................... 3 第三章 设计的主体内容 (3) 3.1 系统结构的设计 ....................................................................................................... 5 3.2 交互界面的设计和实现 ........................................................................................... 5 3.3 线性表的00P 序设计 ............................................................. 错误!未定义书签。 3.3.1 线性表的顺序存储的实现 .......................................... 错误!未定义书签。 第四章 结果分析与讨论 ...................................................................................................... 6 第五章 结论 ........................................................................................................................ 15 参考文献 ................................................................................................................................ 18 致 谢 ................................................................................................................................ 19 附 录 .. (20) 附录A 名词术语及缩略词 (20)

软件工程课程设计报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

课程设计模板

山西大学商务学院 《软件工程课程设计》报告 题目:基于手机的智能家居控制系统的设计与实现班级:??嵌入式?班 组长: 组员姓名:

说明 一、设计题目:基于手机的智能家居控制系统的设计与实现 二、小组成员及任务分配情况 姓名学号任务分配 软件工程课程总体设计报告、???? 系统可行性分析文档、???? 系统需求分析文档、???? 系统详细设计文档、???? 系统测试文档、????

目录 1. 开发目的和意义 (3) 1.1 开发背景和意义 (3) 1.2 完成情况 (3) 2. 开发相关技术及方法 (2) 2.1 开发环境 (2) 2.2 相关技术及方法 (2) 3. 系统分析 (3) 3.1 可行性分析 (3) 3.2 需求分析 (3) 3.2.1 性能需求 (3) 3.2.2 功能分析 (3) 3.2.3 行为模型 (4) 4. 系统设计 (6) 4.1 总体设计 (6) 4.2 详细设计 (6) 4.2.1 用户登录控制模块的设计 (6) 4.2.2 网络管理模块的设计 (7) 4.2.3 温度控制模块的设计 (7) 4.3 数据库设计 (8) 4.3.1 概念结构设计 (8) 4.3.2 逻辑结构设计 (8) 4.3.3 数据表设计 (8) 5. 系统实现 (10) 5.1 用户注册界面 (10) 5.2 用户登录界面 (10) 5.3 手机端远程桌面控制实现界面 (10) 6. 系统测试 (11) 6.1 测试方法 (11) 6.2 测试用例及结果 (11) 6.3 测试记录和结果反馈 (11) 7.实践总结 (13) 7.1 小结 (13) 7.2 实践感想 (13) 附录1 系统可行性分析文档 (15) 附录2 系统需求分析文档 (20) 附录3 系统详细设计文档 (24)

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

软件综合课程设计教学大纲

珠海学院课程教学大纲 课程名称:计算机软件综合课程设计 适用专业: 2015级软件工程专业 课程类别:专业基础课 制订时间:2017年6月 计算机科学与技术系制

目录 1 《计算机软件综合课程设计》教学大纲 2 《计算机软件综合课程设计》(模板) 3 《计算机软件综合课程设计》成绩评定表

《计算机软件综合课程设计》教学大纲 一、课程设计基本信息 课程代码: 课程名称:计算机综合应用课程设计 课程学时:32学时 课程学分:2.0 适用对象:计算机科学与技术专业、软件工程专业 先修课程:高级语言程序设计、数据结构、操作系统、数据库原理与应用 二、课程设计目的和任务 本课程设计是检验计算机专业的学生在大学主干课程完成之后,为了加深和巩固学生对前两年所学理论和应用知识的理解,同时提高学生综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。 通过本环节学生能够充分把前两年学到的知识综合应用到实际的编程实践中,可以进一步巩固所学到的理论。通过实现一个中等规模的应用软件,提高利用计算机系统解决实际问题的能力,为顺利毕业、进入社会打好基础;通过对程序的规范编写,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。 三、课程设计方式 1、课程设计题目的选定 采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。要求不多于4个人一个小组,不得重复,所涉及数据库的基本表至少在5张表以上,在尽量满足数据库设计原则的前提下,允许适当冗余以提高检索的速度。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。 2、课程设计任务的完成

软件工程课程设计报告书

第一章概述 1.1系统名称 学生宿舍管理系统 1.2开发及运行环境 CPU Intel? Core(TM)i5-4210M 存4GB 硬盘空间30M以上 输入设备键盘鼠标 操作系统windows 8.0 数据库windows sql server 2005 1.3软件开发计划 2017.12.01-2017.12.04 软件需求分析 2017.12.05-2017.12.09 系统结构设计 2017.12.10-2017.12.15 软件编码及数据 库设计实现 2017.12.16-2017-12.20 软件测试 2017.12.21 软件交付

第二章需求分析 目前,各学校的宿舍管理主要依赖于人工管理,学生宿舍相关的各种信息可以通过宿舍管理系统来集中统一管理,方便的宿舍管理员对宿舍的管理,更有利于宿舍安全以及同学们的健康成长。 2.1 任务概述 宿舍管理系统为了方便管理,尽可能的实现操作简单,易学易用,主要实现以下功能: 1)系统要求用户必须输入正确的用户名和密码才能进入系统; 2)系统应该提供学生住宿情况的基本登记; 3)系统应提供人员来访登记及结束访问的详细登记; 4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记; 5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询; 6)系统应提供增加、删除、修改用户的功能; 7)增加学生离校的物品管理制度 2.2 宿舍管理系统一层数据流图及数据字典 2.2.1 一层数据流图

图1-1 学生宿舍管理系统一层数据流图 2.2.2 数据字典 以下是图1-1数据流图的数据字典本数据字典主要定义数据4方面容: 名字:数据元素的名字,作为在数据流图中的标识符, 描述:对名字所代表的数据功能和含义加以描述 定义:对名字所代表的实际构成加以解释 位置:表示数据流的来源 名字:管理员 描述:对宿舍管理系统进行操作的人员

《软件工程综合课程设计》评分标准(参考)

《软件工程综合课程设计》评分标准(参考) 说明:按照学校发布的课程设计评分页中的8个评分项,根据《软件工程综合课程设计》实际,分解学校评分项为若干评分子项,并按评分等级记分(见下表),力求做到课程设计评分的精细化、一致行和可比性。各子项分数合计成各项分数,各项分数合计成本次课程设计成绩。 评分等级与记分对照表 1、课程设计中的创造性成果(10分) 1)课题具有国内或国际领先(4分) 2)具有自主创新的算法或应用最新的研究成果(专利)(3分) 3)使用最新的开发工具、技术平台和运行环境(3分) 2、学生掌握课程内容的程度(20分) 1)提供了较好的涵盖了需求、可行性和概要设计等的方案(5分) 2)在设计和实现中应用了软件工程的原理或方法(5分) 3)技术路线(开发工具、运行环境等)合理可行(5分) 4)提供了可行的测试计划(5分) 3、课程设计完成情况(20分) 1)按模板格式和内容提交完整的课程设计文档(5分) 2)提供了较完整的数据字典(数据库表)(4分)

3)完成了系统主要功能的UI设计或实现(4分)4)提供了较完整的测试用例(4分) 4)按时提交课程设计文档(3分) 4、课程设计动手能力(15分) 1)数据库表设计合理满足需求(5分) 2)UI设计一致美观、程序代码清晰规范(5分) 3)考虑系统出错与异常情况(5分) 5、文字表达(5分) 1)阐述问题准确完整(3分) 2)文档文字通顺流畅(2分) 6、学习态度(5分) 1)态度端正、认真负责(3分) 2)及时响应指导老师的通知和任务安排(2分)7、规范要求(15分) 1)文档段落格式规范一致(3分) 2)标题和正文字体大小一致(3分) 3)图形和表格格式规范(4分) 8、课程设计论文的质量(10分) 1)文档摘要和目录完整准确(2分) 2)参考文献完整正确且被引用(2分) 3)段落和层次结构合理、处理逻辑清晰(3分)4)表述准确、内容通畅、结论正确(3分)

软件工程课程设计实验报告

重庆邮电大学 软 件 工 程 课程设计实验报告 ——网上选课系统 姓名:雷雷 学号:08500329 专业:计算机科学与技术班级:0410801 指导老师:邹洋 教室:S331-A 时间:2011-5-30~2011-6-3

一、实验题目:网上选课系统 主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。 二、实验目的 软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。 三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类 图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。 5.进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图, 建立完整的系统数据库的逻辑模型。 6.完成对系统的建模实现。 7.进行检查,并提交设计报告。 四、实验内容 1、系统的需求分析 学生选课系统主要满足来自两方面的需求,这两个方面分别是学生用户和管理员用户,也即是两类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)管理员用户的功能需求较为复杂,包括对学生信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。 本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

软件工程课程设计样本

软件工程课程设计 学校:大连交通大学 专业:软件工程 班级:072班 姓名: 学号:0701030216

目录 1总体设计 (1) 1.1本系统的主要功能描述 (1) 1.2系统包含的类及类之间的关系 (1) 1.3 Java源文件及其功能 (2) 2 详细设计 (2) 2.1主类ChangeAnimalWindow (2) 2.2类Animal (3) 2.3类 HandleMouse (4) 2.4类 AutoMoveAnimal (4) 2.5类Point (5) 3功能测试及运行效果 (6) 3.1 系统初始界面 (6) 3.2 自动演示后界面 (6) 3.3游戏成功预览界面 (7) 3.4英雄榜界面 (7) 参考文献 (7) 附录软件源程序 (8)

1总体设计 1.1本系统的主要功能描述 在科技飞速发展、知识日新月异的今天,很多人已经离不开电脑了,包括玩一些休闲小游戏,一个功能齐全的动物换位小游戏应该是很受人们喜爱的。通过图形技术,实现图片的导入。通过消息响应机制,使程序可以响应用户的鼠标操作,进行动物换位游戏的操作。 对于本系统,我们需要实现以下一些基本功能: (1) 要实现人机交互,用户可以通过鼠标来操作动物位置。 (2)在游戏成功时会出现成功提示。 (3)用户在玩游戏的时候可以在游戏界面上选择音乐播放。 (4)用户可以选择插入任意已存储的图片。 (5)具有英雄榜功能,可以查看自己的成绩。 (6)具有帮助功能,可以查看游戏规则,和不懂得选项。 1.2系统包含的类及类之间的关系 本系统共包括9个Java源文件。类之间的关系如图1-1所示。 图1-1

软件工程课程设计必备指导书

《软件工程》课程设计指导书 福建农林大学 计算机与信息学院 2010年12月

软件工程课程设计指导书 一、软件工程课程设计指导书适用范围 (3) 二、课程设计基本目的 (4) 三、课程设计选题方案及备选题目 (5) 四、可采用技术简介 (5) 五、课程设计过程与具体要求 (5) 六、角色分工 (8) 七、课程设计交付说明 (10) 八、主要参考文献与网址 (10) 附录A:软件工程课程设计报告格式 (13)

一、软件工程课程设计指导书适用范围 所属课程:软件工程 所属专业:计算机科学与技术、软件工程等 领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等 参考学时:2周或以上 适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生 先修课要求:程序设计、操作系统、数据库等

二、课程设计基本目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。 2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java 开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。 3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。 4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。 5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

软件工程课程设计报告

软件工程课程设计报告题目:校园小商品交易系统 一、实验题目 (2) 二、实验目的 (2) 三、实验要求 (3) 四、实验内容 (3) 五、系统设计文档 (4) 5.1需求分析 (4) 5.1.1对系统综合要求 (4)

5.1.2系统的数据要求 (4) 5.2总体设计 (5) 5.2.1系统总体用例图 (5) 5.2.2商品管理用例图 (5) 5.2.3用户信息用例图 (6) 5.2.4商品交易用例图 (6) 5.3详细设计 (6) 5.3.1系统类图以及类之间关系图 (6) 5.3.2由需求分析阶段以及类之间关系的设计分析可以得到系统 对应事件流 (7) 5.3.3系统数据库表 (11) 5.3.4系统组件图 (11) 5.3.5系统部署图 (12) 六、心得体会 (13) 一、实验题目 校园小商品交易系统 二、实验目的 通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。熟练掌握软件工程面向对象建模的总体方法。

三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)。 5.完成对系统的建模。 6.周五上机检查,并提交设计报告。 7.集中上机时间不能迟到、早退。 8.请自觉维护实验室清洁,爱护实验设备。 四、实验内容 运用UML统一建模语言建立一个校园小商品交易系统。开发软件为ROSE,最后转换为VB代码。该系统主要的基本要求和功能如下: 包含三类用户:管理员、商品发布者、普通用户、访客。 (1)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (2)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (3)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 (4)向访客提供以下功能:商品浏览、查找、获知商家联系方式。

软件工程大作业+暑期软件工程课程设计模板1

软件工程大作业+暑期软件工程课程设计模板1 创始人宋晓标简化,初晓,以“软件工程”课程作业为中心 题目:加粗,小二。主题:线性表格的设计与实现 宋芳,3号,粗体,学生姓名,学生编号,系,专业等级,和讲师要求相同。学生姓名:张三诺。:XXXX年级:XXXX年月日 注:1。在封面上打印一张纸;中文和英文摘要印在一张纸上。内容、文本、参考资料、确认书和附录都是独立正面打印的!2.如果某些专业对格式有特殊要求,教学机构(系)可自行决定。黑体,五号,中间。中国石油大学胜利学院软件工程专业作业 摘要 空行3号,加粗,居中,中间有4个空格。数据结构算法设计与演示(C++)树和搜索是在面向对象思想和技术的指导下,利用面向对象编程语言(C++)和面向对象编程工具(Borland C++ Builder 6.0)开发的一个小型应用程序。它的功能主要是用面向对象的方法将数据结构中链表、栈、队列、树、搜索、图和排序部分的典型算法和数据结构封装成类,并通过类的外部接口和对象之间的消息传递来实现这些算法。同时,利用C++ Builder 6.0中丰富的控制资源和系统资源,动态演示算法实现过程的过程和特点,从而在数据结构教学中起到帮助理解、辅助教学和自主学习的作用。 空行长度不超过4个字符,宋体行距为1.5行,每段第一行缩进2个字符(字母和数字采用新罗马字体)。所有页面的上、下、左、右页边距都是2.6。关键词:毕业设计;格式;规格

小号4号,歌曲风格,首行缩进2个字符,关键字加粗,在关键字和内容之间使用冒号“:”,并使用分号“;”关键词结束后,没有标点符号,1.5行间距,两端对齐,3-5个关键词。中文摘要一般不超过300字。注:中文摘要和英文摘要不是为软件工程课程作业而写的。暑期课程设计需要完成中国石油大学胜利学院“软件工程”课程的主要任务。“摘要”使用数字三,时代新罗马,中间,粗体;标题和正文之间有一条空行。摘要 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。 空行是xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx 正文使用小数字4“新罗马时代”,行距为1.5倍,第一行缩进2个字符。关键词:XxxxXxxxXxxx “关键词”和正文之间有一行。它小于4和新罗马时代。它是粗体,行距为1.5倍,第一行缩进2个字符。关键字用分号分隔。如果需要换行符,新行将与第一个关键字的第一个字母对齐。英文摘要通常不超过250个单词。中国石油大学胜利学院软件工程专业作业 数字3,粗体,居中,中间有4个空格,文本和文本之间的行距为1.5倍。清空两个方块。内容 在数字后面空一个空格。 第一章引

软件工程课程设计报告完整版

软件工程课程设计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件工程课程设计报告 旅游信息管理系统 姓名: 学号: 专业:软件工程 班级: 14软件工程1班 指导教师: 目录 4. 1系统结构图 4. 2系统登陆流程图 (7) 4. 3系统E-R图 (8)

1.课程设计概述 系统目的 该系统主要建立一个完整的旅游网站,突出旅游特点,有美观的界面设计。主要功能: 1.用户可以对各景点相关交通方式管理与查询、酒店预订、各个景点路程与旅游方式的设计与查询、对个景点所需费用查询。 2.有一定数量旅游景点相关信息可供处理。方便游客了解景区各种相关信息,同时有利与景区管理部门的管理,加强双边的沟通与协作,以提高和改善管理水平,使游客通过对网站的浏览可以对景点有比较真实和丰富的了解,对景点本身做一个比较好的宣传和推广。 系统根据实际情况收集的资料为背景,网站中包括各个景区的基本情况介绍如:交通情况,门票价格和风景图片欣赏等,用户登陆后,都可以浏览站中的所有信息,同时可以通过系统来查询所需要的各种信息,并且可以订购门票和预约酒店以及车辆等。 管理人员登陆系统后,将各种烦琐的管理工作通过网站来管理,用最少的人力和物力提高管理水平,方便发布各种旅游信息,处理游客所遇到的各种问题,及时了解游客对旅游管理部门的意见,通过数据分析可以了解游客的基本情况和不同时期游客的变化情况,提前做出必要的准备工作。 管理人员通过系统处理各个事务,使前台的用户操作方便简单,突出旅游特点,具有美观的界面设计,保证网站安全稳定的运行。 系统任务 旅游网站管理系统主要是用于旅游管理部门和旅游公司,对旅游信息的进行发布和修改以及加强游客进行交流。 本系统是根据旅游行业的这种现状,提出解决问题的一个可行性方法:采用现代化统一的计算机网络系统,实现了旅游管理的网络化,各类信息有序地进行存储,同时采用了权限认证的方式,只有经过了系统权限认证之后,方可

相关文档