《数据结构课程设计》
- 格式:doc
- 大小:1.20 MB
- 文档页数:12
中国石油大学(北京)远程教育学院
期末考试
《数据结构课程设计》
学习中心:_______ 姓名:________ 学号:_______
关于课程考试违规作弊的说明
1、提交文件中涉嫌抄袭内容(包括抄袭网上、书籍、报刊杂志及其他已有论文),带有明显外校标记,不符合学院要求或学生本人情况,或存在查明出处的内容或其他可疑字样者,判为抄袭,成绩为“0”。
2、两人或两人以上答题内容或用语有50%以上相同者判为雷同,成绩为“0”。
3、所提交试卷或材料没有对老师题目进行作答或提交内容与该课程要求完全不相干者,认定为“白卷”或“错卷”,成绩为“0”。
1.课程设计题目
从下面两道题目中任选一题完成。
1.1 高校考试报名系统
高校考试报名给教务管理部门增加了很大的工作量,报名数据手工录入既费时又会不可避免地出现错误,同时也给不少学生以可乘之机。本项目是对考试报名管理的简单模拟,用菜单选择方式完成下列功能:
(1)输入考生信息,每条考生信息由准考证号(五位数字组成)、姓名、性别、年龄、报考科目等信息组成;
(2)输出考生信息;
(3)查询考生信息;
(4)添加考生信息;
(5)修改考生信息;
(6)删除考生信息;
(7)对考试信息按照准考证号进行排序。
要求:界面友好,每步给出适当的操作提示,并且系统具有一定的容错能力。
2.1需求分析
高校考试报名给教务管理部门增加了很大的工作量,传统考试报名都是非常繁琐,复杂的,而且容易出错,再加上对考生信息的统计和查询也是相当困难,且容易出现信息方面的统计错误,所以本次课题《高校考试报名系统》就是为了提高报名效率,减少报考人员的工作量,降低信息的错误率,提高工作人员后期查询和统计的效率;
高校考试报名系统是考生自己注册登录之后填写报名信息,报名考生能看到自己的报名信息,而管理员用户可以看到所有用户的报名信息;管理员权限还具有导出所有报名信息的功能;
系统架构为BS(浏览器/服务器)架构,即安装维护一台服务器,客户端采用浏览器即可访问登录,B/S三层体系结构也很好的将系统做一个区分,有利于后期的维护和升级;
系统开发相关技术:软件开发语言: Java ,运行环境:window xp 及以上版本,服务器:Tomcat ,数据库Mysql ;
2.2概要设计
高考考试报名系统主要分为3大块,主要有用户的注册登录模块、报名信息的增删改查、报名信息的导出;系统支持姓名和准考证号的模糊查询,具有一定的容错能力;普通考生用户权限只能看到添加考生信息和考生信息列表的菜单;其他的只有管理员权限才可以看到;
模块的划分如下图所示:
图1 系统模块示意图2.3详细设计
1. 主架构设计
系统使用mvc 三层架构设计,如下图所示:
2、下面是MVC的dao层、service层和controller层
2.1、dao层
dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。
2.2、service层
service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类。这样我们就可以在应用中调用service接口来进行业务处理。service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。
2.3、controller层
controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。
2.4、view层
view层与控制层结合比较紧密,需要二者结合起来协同开发。view层主要负责前台jsp页面的显示。
2.5、它们之间的关系:
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
controller控制层:
/**
* 新增和修改报名信息
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
StudentService instance = StudentService.getInstance();
String modifysid = request.getParameter("modifysid");
if(null != modifysid) {
int sid = Integer.valueOf(modifysid);
instance.deleteStudent(sid);
instance.addStudent(request);
String url = request.getContextPath() + "/StudentServlet?find=1";
response.sendRedirect(url);
return;
}
boolean flag = instance.addStudent(request);
if(flag == true) {