https://www.bilibili.com/video/BV1Vw411J7JL/
演示视频:
4 总体设计
3.1 概述
本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。
模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:
(1).抽象
抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。
(2).信息隐蔽和局部化
信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。
局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。
信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。
(3).逐步求精的模块化概念
逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。
(4).模块独立性
模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。
在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚。
3.2 系统功能划分
经过对系统的需求分析,将整个系统分为两部分:学生考试子系统、教师管理子系统。
4.2.1 学生考试子系统功能划分
学生子系统完成学生的在线考试的功能,包括考试答题及交卷的功能。学生以学号及密码的身份进行登录,系统功能结构如图3-1。

图3-1 学生考试子系统模块图
4.2.2 教师操作子系统功能划分
教师操作子系统完成此系统的管理维护操作,主要包括学生管理模块,填空题维护操作,改错题维护操作,选择题维护操作,考试状态设定模块,考试时间设定模块,学生考卷管理模块。教师操作子系统的的功能结图如图3-2所示:

图 3-2 教师子系统模块
3.3 系统功能描述
4.3.1 学生考试子系统功能描述
1.学生在线答题
学生在线答题模块完成学生在线考试的功能,学生在答题可以选取填空题,改错题及选择题,分别逐题作题,全部答完后保存交卷,本模块是本系统的主要功能模块之一,学生以考号及密码进行登录,在规定的考试时间之内完成试题的作答。
2.学生交卷
学生交卷模块完成学生考试后的交卷功能,当学生作答完所有的题后,进行交卷,系统会把学生的考试的信息存入数据库中,并自动评卷,学生即可以看到自己所得的成绩。学生的基本信息是由管理员从后台添加的。
4.3.2 教师子系统功能描述
1.学生管理模块
学生管理模块完成学生信息的添加,删除,修改及查询的功能,教师可以输入学生相关信息,只有库中存在的信息对应的学生才可以参加考试。
2.填空题维护模块
题空题维护模块完成填空题题库的添加、删除及修改功能,教师在维护填空题题库时输入试题的相关信息,如问题,答案,难度,分数等。
3.改错题维护模块
改错题维护模块完成改错题的添加、删除及个改功能。
4.选择题维护模块
选择题维护模块完成选择题的添加、删除及修改功能。
5.考试状态设定模块
由于考试系统的特殊性,在未正式考试之前,即使学生能上网,也不能抽题考试,教师可以设定考试的状态,只有在特定的时间,教师把考试状态设成开启,学生才可以进行考试。
6.考试时间设定
考试时间设定模块完成考试时间的设定功能,本考试时间以分钟为单位,当学生登录并参加考试时,系统自动计时开始,如果在时间结束时学生还没有进行交卷,系统将保存并强行退出,不允许学生再答题。
7.学生考卷管理模块
学生考卷管理模块完成教师查看学生考试试卷的功能,系统自动算出学生总的得分。
3.4 数据库概念结构设计
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
E-R图是直观表示概念模型的工具,它有三个基本成分:
矩形框,表示实体类型(考虑问题的对象)。
菱形框,表示联系类型(实体间的联系)。
椭圆形框,表示实体的属性。
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统包括的实体有学生实体,教师实体,试题实体等。
4.4.1 各实体属性图如下所示:

图3-3学生实体属性图

图3-4 教师实体属性图

图3-5试题实体属性图
4.4.2 各实体之间的E-R图
图3-6学生和试题关系E-R图

图3-7教师和试题关系E-R图
4.4.3各实体之间的关系总E-R图


图3-14各实体总体E-R图
134

被折叠的 条评论
为什么被折叠?



