2.3系统需求
系统联为一体,界面整齐、美观,操作简单、方便。另外,支持按权限对系统进行操作,即不同类型的用户拥有相异的权限对题库执行不同的操作。主要是在首页通过两种不同的方式进入相异的操作界面,以确保整个数据库中数据的安全性及完整性。其主要特点体现在以下三个方面:
(1) 自主设计数据库 (2) 自主调用数据库 (3) 自主管理数据库
自主设计数据库是指用户能够根据自己的需要创建新科目数据库(即系统实现了自动建表的功能),让数据库真正成为用户自己的数据库。不过,只要库中已存在该科目名称及表名,则不予重建,这样就保证了数据的统一性;自主调用数据库即允许用户能自由地从数据库中抽取试题组成试卷,试卷中有几道大题和小题以及是否提供查看答案均由用户自行设置并选题。通常来说,一份高质量的试卷,需要用户反复推敲、比较和琢磨,用户就象进超市买东西一样能方便地把看中的取出来,也可反悔把不需要的退回去,并且在形成一份完整的试卷之前,允许任意调整该试题的次序。在组卷时,还可以多份试卷选取同一试题或同一知识点的试题,但严禁一套试卷中出现知识点相同(似)且难度一致的试题。不过,其最大的缺陷在于目前只实现了试卷中的客观题部分,即包括判断、单选和多选题。而且,还没有实现客观题部分和真正的多媒体试卷;自主管理数据库指一般用户具有添加、修改和检索数据的权力,实现数据库的可扩充性和开放性。而管理员则另具有删除数据的权力,从而达到了系统数据统一性和一致性的目的
第三章系统分析与总体设计
3.1在线考试系统可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、操作的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题能否解决。如果是正确的就加以肯定。要达到这个目的就必须分析几种方法和可能解决的弊端,从而判断原定的系统目标和规模是否实现,系统完成后所能带来的价值是否大于开发这个系统的投资价值。因此,可行性研究实质上是要进行一次大的压缩简化了系统分析和设计的过程。
在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干中可供选择的主要方法。对每种方法都应该仔细研究它的可
行性,一般来说,至少应该达到下面的三个可行性:
1.经济可行性 主要用于进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。
2.技术可行性 最难决断和最关键的问题。根据用户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。 3.操作可行性 系统的操作方式在用户范围内是否可以使用。
分析员应该为每个可行的解决方法制定一个粗略的实现进度。当然,可行性研究最根本的任务是对以后的行动方针提出建议。如果方法不可行的话,分析员应该停止这项开发工程,以避免时间、资源、人力和经费的浪费;如果问题值得解决的话,分析员根据问题的实际情况推荐一个好的解决方案来解决。
可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只是预期工程总成本的5%-10%。 3.1.1 经济可行性
主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。 3.1.2 技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
1.软件方面 网络化考试需要的各种软件环境都已具备,数据库服务器方面则有SQL Server 2000,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。
2.硬件方面 科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。 3.1.3 操作可行性
目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化在线考试系统提供了坚实的基础。
自从人类社会进入九十年代后,随着计算机技术的飞速发展,各种应用软件
已日益为人们所接受。管理形式的计算机网络化是社会发展的必然趋势,各种智能化的软件层出不究,而向二十一世纪智能网络的挑战,减少了原来人工操作的费时费力的状况,并且可以避免人为的经济犯罪,管理层容易做出及时的决策。本系统用户平台直接面向普通用户,界面简单、明了,采用可视化界面,普通用户只需用鼠标就可以完成相应的数据操作;少量的数据输入是由管理员完成的。对于初次使用此系统的用户,不需要过于复杂的培训和学习就可以掌握系统的操作流程。由此可见,开发此软件在操作上是可行的。
3.2功能设计
从功能描述的内容可以看到,本实例可以实现6个完整的功能。我们根据这些功能,设计出系统的功能模块,如图1所示。
试题库系统 角色权限管理添加试题试题管理出题管理用户注册填空管理 3.3 数据库设计
首先创建一个数据库,用来保存本系统的所有数据。
SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的SQL接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句
的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。 SQL语言包含4个部分:
※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 ※ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
※ 数据查询语言(DQL),例如:SELECT语句。
※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
3.4 数据库逻辑设计
数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。转换过程中常见规则有: (1)一个实体型转换为一个关系模式;
(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;
(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;
(4)一个多对多的关系转换成一个关系模式。
3.5数据库物理实现
经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。每个表与逻辑设计中一种的关系模式相对