系统详细设计
1 功能模块图
1.1 系统模块设计概述
模块化设计不仅是将一个系统划分成一些小的部件所构成的系统即可,同时要满足模块化组合原则、模块化可解性原则、模块化保护性原则、模块化连续性原则等。模块化的连续性完全取决于模块的信息隐蔽的能力。对于模块化保护性部分取决于信息隐蔽,如错误数据不传送到程序的全局变量中去。要实现完全的模块保护性,要求模块的实现包括例外处理部分。
一个模块化系统是指该系统由一系列松散耦合的模块组成。模块是一个适当尺寸能独立执行一个特定的功能的子程序。它应该具备下述3个性质:第一,对一个模块作某些改变,该变化影响不应超出该模块的边界。第二,从系统中消去该模块,将仅仅影响它执行的功能。第三,用一个具有相同接口和功能的新模块代替旧模块,将不改变原系统的功能,而可能影响的仅仅是系统的性能,如执行速度。上述3个性质可概括为模块的有界性、可插拔性和可互换性。
1.2 系统模块功能设计
根据需求分析,得出我们数据库教学网站的设计与实现系统的功能模块图见图1-1。
1-1 系统功能模块图
下面将这几个模块的功能做一下简单的介绍:
(1)学生注册登陆模块:
①. 用于参考学生考前在规定时间内注册自己的相关信息及参加考试的个人密码
②. 学生根据注册的学号及密码在规定时间内登陆网上考试系统参加考试
③. 学生可随时修改个人参加考试的密码。
(2)题库管理模块
①. 增加试题 ②. 查询试题
③. 修改试题
④. 删除试题
(3)在线考试模块
①. 自动组卷:根据教师的试题要求,自动生成测试试题;即参加考试学生登录网上考试系统后,系统根据任课老师的要求自动从题库中抽取试题,形成试卷;
②. 学生答题:学生在规定时间内进行网上答题,超时不提交答卷本试卷作废,但学生可重新抽题。系统给出时间提示,采用倒计时方式提醒考生考试时间,到最后三分种给考生提示。试卷提交后不可以再次重新抽题,或重新考试。
③. 系统自动评卷:学生提交试卷后,系统即时进行在线判卷,当场给出学生所得分数及成绩等级。
(4)成绩管理模块
①. 成绩查询:学生可以查询自己的成绩。
②. 成绩统计:以班级为单位对参考学生的成绩进行统计,统计出优秀、良好、中等、及格及不及格的学生人数,并计算出全班的平均成绩
③. 成绩单输出:按“考试成绩登记表”的格式输出学生成绩单,并可以打印。
(5)课件视频发布及下载模块
①. 课件视频发布:网上发布任课教师的电子讲义。
②. 数据库视频下载:提供数据库多媒体视频发布下载。
③. 课件及有关信息的维护。
(6)师生交流模块
①. 论坛:实现学生与老师的更进一步的交流,学生不懂的问题及时得到解答。
②. 作业提交系统:统计学生用Email提交作业的情况。
(7)系统维护模块
①. 注册维护:控制学生是否可以注册,用于规定学生的注册日期。
②. 登录维护:控制学生是否可以登录网上考试系统,用于规定学生的考试日期。 ③. 管理员维护:可更改管理员的用户名及密码。
④. 学生状态维护:可单独设置每个学生的状态(允许或禁止考试)及删除非法注册的学生。
⑤. 试卷生成参数维护:用于设置试题来源及相应分值
⑥. 代码维护:每年维护新一届学生的院系代码、专业代码、班级代码,对各类数据皆可进行增、查、删、改操作。
⑦. 通知栏信息维护:用于随时动态更改通知栏的信息。
⑧. 系统初始化:用于清空上次参考学生的信息库,为本次考试做准备,还可在系统初始运行时清空题库。
2 数据流程图
数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流程图具有以下两个特性:
(1)抽象性:表现在它完全舍去了具体的物质,只剩下资料的流动、加工处理与存储。
(2)概括性:表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。
数据流程图由以下四种基本元素组成,既外部实体、数据流、处理(功能)、资料存储,如图1-2所示。
数据的源点和终点数据处理数据存储数据流
图1-2 数据流程图所用符号
每个模块用数据流程图来表示数据的来源,以及数据之间的关系。系统的总体图见图1-3。 教师学生教师学生教师信息教学资料管理信息学生信息咨询信息教师信息学生信息教学信息0教学系统学生信息学习资料
图1-3 系统总体图
系统零级图见图1-4。
教师学生学生教师信息管理信息教学资料学生信息学生信息试题信息咨询信息学生信息学习资料教师信息管理信息学习资料学习资料学生信息学生信息试题信息试题信息试题信息学生信息学生信息教师信息学生信息学生信息教学资料论坛信息论坛信息学习资料4.0成绩管理7.0系统维护3.0题库管理6.0论坛和作业1.0学生信息处理5.0教学资料2.0网上考试
图1-4系统零级图
系统细节图见图1-5到图1-10。
学生信息注册信息登陆信息修改信息1.1学生注册1.2学生登陆1.3学生信息修改
图1-5 学生管理系统细节图 试题信息试卷试题答案学生成绩2.1自动组卷2.2学生答题2.3自动评卷
图1-6 考试系统细节图
试题信息教学资料试题信息试题信息试题信息试题信息3.1添加试题3.2查询试题3.3修改试题3.4删除试题
图1-7 题库管理细节图
学生信息学习成绩学生信息学生信息学生信息4.1成绩查询4.2成绩统计4.3成绩输出
图1-8 学生成绩管理细节图
教学资料学习资料学习资料学习资料5.1课件发布5.2数据库课件下载5.3课件及相关信息维护
图1-9 课件资料系统细节图 咨询信息教学资料论坛信息论坛信息6.1发表主题6.2参加讨论
图1-10 论坛细节图
教学信息管理信息管理信息管理信息教师信息学生信息管理信息教学信息管理信息试题信息7.1注册维护7.2登陆维护7.3教师维护7.4学生状态维护7.8系统初始化7.7公告版维护7.6代码维护7.5试卷生成参数维护
图1-11 系统维护系统细节图
3 数据库设计
人们在总结信息资源开发、管理和服务的各种手段时,认为最有效的是数据库技术。数据库的应用已越来越广泛。从小型的单项事务处理系统到大型复杂的信息系统大都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。目前,一个国家的数据库建设规模(指数据库的个数、种类)、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志之一。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库的设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。在数据库领域中,常常把使用数据库的各类系统统称为数据库应用系统。
从使用者的角度看,信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统。数据库是信息系统的核心和基础。它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需要的信息。一个信息系统的各部分能否紧密的结合在一起以及如何结合,关键在数据库。因此只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的信息系统。数据库设计是信息系统开发和建设的重要组成部分。大型数据库的设计和开发是一项庞大的工程,是涉及多学科的综合性技术。其开发周期长、耗资多、失败的风险也大。必须把软件工程的原理和方法应用到数据库建设中来。对于从事数据库设计的专业人员来讲,应该具备多方面的技术知识。应用领域的知识随着应用系统所属的领域不同而不同。数据库设计人员必须深入实际与用户密切结合,对应用环境、专业业务有具体深入的了解才能设计出符合具体领域要求的数据库应用系统。
本系统采用Microsoft Access 2000作为数据库开发工具,包含2个数据库,其中一个包含网上考试和学生信息的数据库,而把师生交流论坛信息单独作为一个数据库。
3.1 ER图设计
系统E-R图见图1-12,在本E-R图中,由于系统数据表比较多,每个表所包含的属性太多,无法在一个图中表示出来,所以具体的实体属性请参看数据表。具体数据库表的设计如下表1-1至表1-11所示。
概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。
有学生发表参加论坛主题讨论专业有学院有1N1N1N1NN上传1作业老师班级发表参加N11NN1
图 1-12 数据库E-R图
题库和试题参数库ER图见图1-13。 试题试题参数参照1N试题编号试题类型试题类别题目编号试题类型试题类别抽题量分数
图1-13 题库和试题参数库ER图
课件库ER图见图1-14。
Filecode课件FilenameContent
图1-14 课件ER图
公告板ER图见图1-15。
标题公告板日期内容
图1-15 公告板ER图
论坛讨论表ER见图1-16。 CreatedateLastnewdateNameEmailNumberWordsTitleid论坛讨论表Subject
图1-16 论坛讨论表ER图
论坛主题表ER见图1-17。
NewdateNameEmailSubjectWordsTitleid论坛主题表Detailid
图1-17 论坛主题表ER图
3.2 数据表设计
网上考试和学生信息的数据库中包含的表见表2-1至表2-9。
表2-1 试题表结构
序号 字段名 类型 长度 空 主键
1 编号 整型 5 Y
2 题型 字符型 8
3 类别 整型 1
4 题目 字符型 255 Y
5 A 字符型 255 Y
6 B 字符型 255 Y
7 C 字符型 255 Y
8 D 字符型 255 Y
9 E 字符型 255 Y
10 答案 字符型 50 Y