院毕业论文
第三章 系统设计
在前面进行了一系列的系统调查和系统分析以后,接下来的工作便是系统设计了。这是软件工程中第二个关键的阶段。它是根据前面的几个阶段的结果,在已获准的系统分析报告基础上进行系统设计。
系统设计阶段是开发系统的重要阶段。这个阶段。我们需要把前面阶段收集来的信息进行整理(特别是用户的需求分析),找出我们需要的信息,定下系统开发过程中我们需要实现的功能。这个其实比较有难度的同时比较重要的。数据库如何能设计的尽可能全面而又合理、模块之间的联系程度、前后台的依赖关系如何反映,是在这一阶段感触最深的三个方面。数据库是所有信息的集合,好的数据库设计可以大大减少数据冗余度,如果数据冗余度太大,将占用很对系统资源,给服务器带来沉重的负担。还有数据库的设计也要充分考虑到前台代码执行的效率,不能仅仅是为了设计数据库设计而设计,这会可能导致在编写代码时遇到诸多不便,这一点还需我在以后的工作中好好研究。
在系统设计阶段,每个模块应该尽可能的独立,这样可以减少模块间的调用关系和数据交换关系。每个模块的功能最好能让其尽可能的单一,这样易于以后系统的修改,可以大大的减少相关的操作。在做系统的时候,发现自己原先设计下来的模块不合理,难以满足用户的需求或则是难以实现这个功能,那就必须把这个模块推翻了,如果这个模块又设计到其他的模块,那这个对系统的改动是巨大的。这就要求我们尽早确定系统的核心模块,减少改动。
由于此系统较大原定由两人完成,但因为某些原因,只剩我一人,因此我主要关注前台系统的开发。对于一些必须由后台系统反馈信息列表的前台模块必须清楚区分、详细界定。这也是本系统开发中较为遗憾的地方。
3.1、系统功能结构设计 系统的功能模块如下图所示:
网络考试系统完整功能结构,如图1所示。
6
院毕业论文
3.2 模块简介
网络考试系统是一个功能完善的网络应用程序,由前台学生登录考试、学生注册、找回密码和后台管理二部分组成。
◆ 前台功能模块
前台页面窗口主要包括登陆前台和后台的主页、选择考试课程、课程相关的套题、准备考试、开始考试、查询考试成绩和退出系统。
◆ 学生注册功能模块
学生注册页面只是单一的学生资料注册窗口。
◆ 密码找回功能模块
密码找回页面也只是单一的密码找回窗口。
◆ 后台功能模块
后台页面窗口主要包括系统管理员资料查询、添加、修改、删除,注册学生资料查询、删除,专业信息查询、添加、修改、删除,课程信息查询、添加、修改、删除,套题信息查询、添加、修改、删除,考生成绩查询、删除,考试题目查询、修改、删除,添加试题及退出系统管理等功能。
7
院毕业论文
3.3. 数据库的设计
数据表结构
以下是我做网络在线考试系统的一些数据表 这些表的内容包括管理员权限、学生注册、课程编辑、专业编辑,试题添加、考试结果等 已经标注每个语句的含义
表1 tb_Administrator的结构
列名 ID Name PWD JoinTime 数据类型 bigint varchar varchar datatime 长度 8 50 50 8 主键否 是 否 否 否 功能描述 系统管理员编号 管理员名称 管理员密码 加入时间 表2 tb_Lesson的结构 列名 ID Name ofrofession JoinTime 数据类型 bigint varchar bigint datatime 8 60 8 8 长度 主键否 是 否 否 否 功能描述 课程编号 课程名称 所属专业编号 加入时间 表3tb_Profession的结构
列名 ID Name JoinTime 数据类型 bigint varchar datatime 8 200 8 长度 主键否 是 否 否 功能描述 专业编号 专业名称 加入时间 表4t b_Questions的结构
列名 Id que_subject que_type 数据类型 bigint varchar char 8 50 10 长度 主键否 是 否 否 功能描述 试题编号 试题主题 试题类型 8
院毕业论文
que_joindate que_lessonid que_professionid que_taotiid optionA optionB optionC optionD que_answer note datetime int int bigint varchar varchar varchar varchar char varchar 8 4 4 8 50 50 50 50 10 50 否 否 否 否 否 否 否 否 否 否 试题加入时间 所属课程号 所属专业号 所属套题编号 选项A 选项B 选项C 选项D 试题答案 注释 表5tb_Student的结构
列名 ID Name PWD Sex JoinTime question answer profession IPAddress 数据类型 varchar varchar varchar varchar datetime varchar varchar bigint char 50 20 20 2 8 50 50 8 30 长度 主键否 是 否 否 否 否 否 否 否 否 功能描述 学生证号 学生姓名 学生密码 性别 加入时间 密码问题 密码答案 所选专业号 IP地址 表6tb_Student的结构
列名 res_id stu_id which_lesson taotiid taotiname res_single 数据类型 bigint varchar varchar bigint varchar int 8 50 50 8 50 4 长度 主键否 是 否 否 否 否 否 功能描述 试题结果编号 所属学生编号 所属课程名称 所属套题编号 所属套题名称 单选成绩 9
院毕业论文
res_more res_total res_subdate int int datetime 4 4 8 否 否 否 多选成绩 总成绩 成绩提交时间 表7tb_TaoTi t的结构
列名 ID Name LessonID JoinTime 数据类型 bigint varchar bigint datetime 8 50 8 8 长度 主键否 是 否 否 否 功能描述 套题编号 套题名称 所属课程编号 加入时间
10