教材管理系统毕业论文.pdf_第1页
教材管理系统毕业论文.pdf_第2页
教材管理系统毕业论文.pdf_第3页
教材管理系统毕业论文.pdf_第4页
教材管理系统毕业论文.pdf_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011201120112011届毕业设计说明书届毕业设计说明书届毕业设计说明书届毕业设计说明书 教材管理系统设计与实现 系 、 部: 计算机与信息科学系 学生姓名:李亚的 指导教师:罗庆云职称教授 专业:计算机科学与技术 班级:计本 0701 班 完成时间:2011 年 5 月 摘要 教材管理是教学管理中的组成部分,教材管理模式是在学年制基础上以班级为单位进 行处理的。高校的教材管理在学生规模日益增大、教材日益多样化、学生个人之间教材差 异越来越大的现实面前已呈现出无法应对的局面。因此,建立一套与选课相配套的教材管 理模式和管理系统具有十分重要的意义和实际应用的迫切性,而且现有的条件、管理理念 和技术水平已使之成为可能。 开发该教材管理系统是为了更好地管理学校的各类教材,便于教材管理人员订书、领 书、查询教材资料及其库存情况。使教材信息管理工作系统化、规范化、自动化,从而达 到提高教材管理效率的目的。本系统是结合实际的需求分析,采用 Qt 作为开发工具而开 发出来的单机版教材管理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全 的要求出发,具有如下功能:教材信息的入库、教材信息的修改、查询、统计和打印等功 能,基本上能为高等学校各部门了解教材信息提供一定的决策支持。 关键词:教材管理;信息系统;数据库;C+ ABSTRACT Itis allkinds of teaching materials for managing the school better to write this teaching material administrative system,itisconvenient for teaching material administrativestaffto staple together,get the book,inquire about the teachingmaterial materials and stock situation. Systematize information managementofthe teaching material,standardizing,automation,thus achieve thegoalof improving efficiency of managementofthe teaching material.The developing instrument that this system adoptsisC+.The administrativestaffmust log in the capacity of administrator,the security of the security system.Overalltask of system to make teaching material administrativestaff canlight to finish to teaching material task of management swift. Help to improve the efficiency of management.Support the environment operated:Microsoft WindowXP. Keywordsmanagement of the teaching materia; inquiry management of the teaching materia; c+ 目录 1 概述.1 1.1 选题背景1 1.2 系统开发的意义1 1.3 文献综述1 2 系统规划与分析.2 2.1 系统现状与目标分析2 2.1.1 系统现状2 2.1.2 目标分析2 2.2 需求分析2 2.2.1 功能需求2 2.2.2 性能需求3 2.2.3 环境需求4 2.3 可行性分析4 2.3.1 社会可行性4 2.3.2 技术可行性4 3 系统设计6 3.1 总体结构设计6 3.2 系统设计7 3.2.1 界面分析7 3.2.2 系统框架设计7 3.3 输入输出设计16 3.3.2 输入设计16 3.3.3 输出设计16 4 数据库设计17 4.1 数据库知识17 4.1.1 数据库的概括17 4.1.2 SQL 语言18 4.2 数据库实现19 4.2.1E-R 图分析19 4.2.2 表与字段分析.21 4.3 连接数据库23 5 系统测试.25 5.1 测试项目25 5.2 测试举例26 致谢.28 参考文献.29 附录.30 1 1 概述 1.1 选题背景 教材管理对各个学校而言,都是一项复杂、烦琐的工作, 是高校教务管理中的一个重要 环节, 由于大学专业设置门类多,各专业每期开设课程种类多,其业务不仅涉及出版部门, 而且要面对全校各系的授课教师,各班级的学生,教材科涉及管理的入出库教材种类非常 多,涉及人员广,工作量大,再者是近年来,我国高等教育规模的不断扩大,学校学生人 数迅速增加,使教材管理工作更加繁重不堪。因此,一套好的教材管理软件,不但能大大降 低工作人员的劳动强度,还能提高学校的管理效率和教学水平。 1.2 系统开发的意义 教材是进行教学的基本工具,是体现教学内容和教学方法的知识载体,也是深化教学 改革、全面推进素质教育、培养新型人才的重要保证。随着高校教学改革的全面推进,涉 及更多的选修课以及学分制的实施,每学期教材科涉及管理的出、入库教材种类繁多、数 量较大对教材管理提出了更高的要求。面对这些变化的形式,教材管理如何为教学提供优 质、高效、快捷的服务,提高工作效率,已经成为高校教材管理中的重要问题。教材管理 工作的“手工”时代已经不复存在,取而代之的是高速发展的电子信息时代,教材管理平 台应该充分依托校园网,实现教材信息的集中管理、分散操作、信息共享,使传统的教务 管理向着数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的学校信息 系统打下良好的基础。教材管理系统可以实现预订教材、教材收费、领取教材、教材计划、 订单、库存的自动管理,可以提高工作效率,避免出错。 1.3 文献综述 随着高校信息建设的逐步深入,我国的校园信息技术教育经过了三次浪潮、三个阶段 的发展, 目前正面临一个前所未有、 迅猛发展的大好局面。 2002 年 9 月, 教育部发布了 教 育管理信息化标准 ,标志着我国教育管理信息化建设开始朝标准化、规范化的方向发展。 在校园管理信息化的进程中,除了校园办公自动化以外,一套完善优秀的教材管理系统已 经成为校园管理高效、实用的重要体现。教材管理系统希望通过实现教材信息的入库、教 材信息的修改、查询、统计等各管理环节的自动化,来减轻管理员的工作量,减少人为失 误,并提高教材信息的准确性。总之,传统的校教材管理模式使管理存在信息不畅、效率 低下、操作不规范等一系列问题,而高效的教材管理信息系统很大程度上缓解了这方面的 问题和压力,为学校实现了真正的信息化管理。 2 2 系统规划与分析 2.1 系统现状与目标分析 2.1.1 系统现状 由于高校的学科种类和数量不断增加, 学院的规格不断扩大, 学生的数量大幅上升, 加上选修,限选科目的开展使得每一位学生的课表都可能不同。这些变化已经突现出个性 化的特点,在需教材尽管一些主干课程相同,但已有相当一部分管理上实现了针对学生个 人的管理。在这种形势下,每位学生每学期出现了差异。一个班的学生在购买教材时首先 以班级为单位到教材管理部门将绝大部分学生都要使用的教材先买回来,再由每个学生分 别到教材管理部门购买其它教材;或者是一个班首先统计所需的每一种教材的名称和数量 以及订购的同学姓名,然后统一到教材管理部门购买回来再分别发放。在这种范围加大的 学年学分管理模式下,原有的教材管理系统,尽管在一定程度上可适应这些变化,但问题 也越来越突出。 2.1.2 目标分析 开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具, 用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出 来以达到提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。因此系统主 要是实现教材管理信息的输入包括入库、出库、需求信息的输入等。教材管理各种信息的 查询、修改等。教材采购报表的生成以及各系各部门的教材需求管理等。 2.2 需求分析 2.2.1 功能需求 (1) 基本功能需求 本设计要实现的是高校教材管理系统,在设计该系统时,应尽可能的贴近用户,便于用 户操作使用。系统在实现上应该具有如下功能: 1. 实现对高校教材的自动化管理,对教材入库、教材发放等信息进行增删改查。 2. 对工作人员信息和学生信息的添加、删除、修改和查看功能,进行集中的管理。 3. 信息的搜索查询,对一些常用的信息,如教材订购信息,学生交费信息进行搜索查 询,并列出详细搜索信息。 4. 报表打印及预览功能,系统的某些信息应当能以报表形式打印出来。 (2) 详细功能需求 本系统有三类用户:管理员 admin、教材室、系部用户。管理员权限最大,拥有本系 统的所有权限。教材室和系部用户权限基本相同,都只具有以下权限:教学计划的审核权 3 限、查看审核完毕后的教学计划的权限、查看各自收到的同志的权限。 1教学计划 教学计划包括录入教学计划、系部审核和教材室审核。教学计划的录入能够初步确定 下一个学期的教学所需要的教材,然后转交系部和教材室进行进一步的审核,对信息进行 一些必要的增删改查操作,以完善教学计划;审核完毕后就是最终的教学计划单,且可以 根据需要打印出来。 2计划统计 计划统计提供按系统计和按学期统计两种统计方式,以确定院校所需各种教材的数 量。统计完成后生成订单,并可以导入 Excel,以方便更好地管理。 3教材订购 在完成教学计划和计划统计后就进入教材订购阶段。该部分功能包括确定供应商、订 单查询和订单汇总。院校可以根据教材统计情况选择适合的教材供应商,形成最终的教材 订购清单;并提供了订单查询功能,可以详细地查看各年级各系的教材订购情况。 4教材管理 教材管理包括教材验收、查看入库教材和查看未到期教材。这些功能提供给用户教材 到货情况的确切统计信息,并可以导出报表,以方便教材管理人员的工作。 5学生交费 学生交费记录是学生领取教材的唯一凭证,该模块包括学生交费登记、学生交费查询 和费用汇总三个功能。学生交费登记能够记录学生的详细交费信息,然后可以按专业班级 查询学生的基本信息和各次的交费情况,费用汇总则显示了学生的全部交费总和、使用总 和和剩余费用,以便于退还学费或者补交学费。 6教材发放 教材发放是系统的另一个主要功能块,它包括领书登记、领书记录和领书查询。领书 登记和领书记录用来记录学生教材领取情况,最后可以使用领书查询功能查询学生的教材 领取情况。 7发布通知 该模块包括撰写通知和查看通知两个部分,对于教材室想要发布的一些信息,如通知 领取教材等,可以使用撰写通知功能,可以包括信息发布者、有效期、接受用户和通知内 容;而其他各部门可以通过查看通知窗体来查看通知内容。 (3)用户界面需求 对于一个软件有一个友好的用户界面是很重要的。应提供简单、层次关系明了、清晰 的操作界面,以最大限度为用户的操作提供方便。如多使用快捷按扭等。 2.2.2 性能需求 (1)数据管理能力要求 在程序中将分配 1GB 大小的空间,可存储大约 1000 万条记录。 4 (2)故障处理要求 对于输入信息错误或无法满足要求时产生的错误需判断输入数据的正确性,判断错误 类型,再生成相应的错误提示语句,送到输出模块。 2.2.3 环境需求 本系统使用开发语言 C+ ,采用 Oracle 数据库。采用 C/S 数据库访问模式。有用户 权限来限制普通用户功能。 (1)设备 1. 至少具有奔腾 3800,128M 内存配置的计算机。 2. 硬盘空盘大于 2G,最少 32MB 的 RAM 存储器。 (2)支持软件 操作系统:Mircrosoft Windows XP 开发工具:Qt 数据库:oracle 9i 连接数据库:ODBC 2.3 可行性分析 2.3.1 社会可行性 C/S 模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行 数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对 数据进行操作。C/S 模式具有专业化程度高、开发手段灵活、运行速度快等特点,但受到 维护成本大、适应性弱等问题的影响。C/S 模式是早期电子政务开发中主要应用的模式, 同时一些专业的 MIS 软件也经常使用这种模式。C/S 模式系统几乎可以适应任何的操作平 台,开发技术也多种多样,大部分计算机语言都能开发出 C/S 模式的应用系统。 2.3.2 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开 发者的需要等。本系统采用了 Qt 开发环境和 oracle 数据库进行相关的开发。 Qt 是诺基亚开发的一个跨平台的 C+图形用户界面应用程序框架, 它提供给应用程序 开发者建立艺术级的图形用户界面所需的所用功能。Qt 是完全面向对象的,很容易扩展, 并且允许真正地组件编程。自从 1996 年早些时候,Qt 进入商业领域,它已经成为全世界 范围内数千种成功的应用程序的基础。 Qt 也是流行的 Linux 桌面环境 KDE 的基础。 基本 上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL是同类型的东西,但 Qt 具有优良的跨平台特性、面向对象 、 丰富的 API、大量的开发文档等优点。而且良好封装机制使得 Qt 的模块化程度非常高, 可重用性较好, 对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安 全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。它还包括多达了 5 250 个以上的 C+ 类,提供基于模板的 collections, serialization, file, I/Odevice, directory management, date/time 类。 Oracle 数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互 的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各 种操作数据的活动。 Oracle 数据库有如下几个强大的特性: (1)支持多用户、大事务量的事务处理 (2)数据安全性和完整性的有效控制 (3)支持分布式数据处理 (4)可移植性很强。 Oracle 体系庞大,对于初学者来说,大体上要明白定位思想:Oracle 大体上分两大 块,一块是应用开发,一块是系统管理。开发主要是写存储过程、触发器什么的,还 有就是用 Oracle 的 Develop 工具做 form。有点类似于程序员,需要有较强的逻辑思维和创 造能力。管理则需要对 Oracle 数据库的原理有深刻的认识,有全局操纵的能力和紧密的思 维,责任较大,因为一个小的失误就会丢失整个数据库。 2.3.3 经济可行性 在教材管理系统中,实现对教材的物流、资金流和信息流的管理,即针对教材出入库 管理、教材库存管理、教材费的收取和使用、教材需求信息、学生个人需用教材信息等进 行管理。这些措施将为提高高等院校教材管理水平、提高工作效率、减少人为差错提供良 好的管理平台。极低成本的数据处理、信息查询、信息录入等,可实现教材需求信息、订 单管理、教材费用处理、教材费查询、教材出入库管理、库存管理、教材发放等功能。从 目前校园网和教材管理系统的推广和运行情况来看,本系统不需增加过多的硬件投入和应 用方面的培训,因此,其经济成本是很低的。 6 3 系统设计 3.1 总体结构设计 本系统是以教材管理业务为原型设计开发的,教材科的日常业务大体上有如下几项: 1.教学计划的修改和查询。教学计划包括录入教学计划、系部审核和教材室审核。教 学计划通过审查后,录入由管理员完成。 2. 教材订购。教材的预订工作基本上是由系部教师用户来完成。教材室将教材征订通 知下发到各系,各系从中选订所开课程的教材,填写教学计划,汇总到教材室。教材管理 员负责教材订购。 3. 教材发放。按预订数量发放专业和年级用书。通常是以班级为单位进行领书,管理 员负责教材出入库情况。 4. 查询。这项工作包括四项内容,其一是预订查询及时了解各系教材的订购情况; 再 就是入库查询及时掌握入库情况;第三是库存查询情况;第四是帐务查询,主要记录教材 领取和交费的详细情况。 5. 打印与报表。主要用于订书、购书、发书清单的打印。 6. 系统管理主要包括用户管理、和密码的更改,学生信息管理和数据库的维护。 7. 选项和系统帮助能使用户快速得到帮助。 根据上述对教材管理业务流程的调查分析,并根据模块划分原则,将新系统划分为如 图 1 所示的功能模块结构: 图 1功能模块结构 教材管理系统 教材信息管理 教学计划 订单管理 用户管理 库存管理 费用计算 7 订单管理模块用于各系教材计划的预定、修改及查询。其中在数据查询中,管理人员 可按教材号、名称、出版社等多种方式进行查询。教材计划者可以是管理员也可以是教师 用户,通过审核后可以生成教学计划。 库存模块有出库和入库两部分。教材入库主要是进行入库教材的数据录入,并可以按 教材的代码、名称来查询入库教材的有关使用情况。对于出版社而言,有时候学校订购的 教材数目比较大,很难将所有货物一次发出,可能分几次发货,每次到货,管理员只需要 添加相应的入库数量,系统即会自动修改入库教材的金额,并自动在备注中添加该次入库 相关信息已备查用。出库模块主要是出库管理,包括班级领用,教师领书等几个模块。 另外还有教材信息、用户管理、费用计算以及教学计划几个模块。 3.2 系统设计 3.2.1 界面分析 系统可分为八个模块,分别用来实现登录、生成教学计划、计划统计、教材订购、教 材管理、学生交费、教材发放和发布通知的功能。 为设计出符合一般标准又具有特色的界面, 开发时要遵循以下开发原则: 1.保证界面设计风格具有一致性。每个界面都会用统一的颜色作为背景色。 2.界面设计时,控件的摆放要协调和匀称。 3.常用操作(如教材管理、查询、打印等)建立快捷方式,方便日常操作。 4.提供信息反馈,对一些不常见和至关重要的操作,系统应该能反馈信息。 5.提供错误处理信息,在出现错误时,系统应能检测出错误并提供错误处理的功能; 错误出现后,系统的状态不发生变化,或者系统要提供错误恢复的向导。 6.为了方便管理员的管理应设置工具栏和状态栏。 系统的总体设计,预订需要设计几个具有主要功能的窗体,其中系统主要功能界面是 最主要的,是设计的重点。该界面上包括了系统的功能查询以及触发其他单项功能界面的 快捷方式,如教材管理、查询、打印与报表等。 3.2.2 系统框架设计 教材管理系统的架构分为窗体和模块两个部分,在窗体的部分有以下几个窗体,他们 的作用分别是: “aboutdlg.ui”是关于窗口,是对本系统的说明; “adduserdlg.ui”是新增用户窗口,可以添加,删除和修改用户权限; “altpswdlg.ui”是修改密码窗口,用户可以修改自己密码; “login.ui”是登录窗口,启动系统时显示窗口; “mainwindow.ui” 是系统主窗口,拥有菜单栏、工具栏、状态栏,用户可选择操作; “stupaymgdlg.ui”是学生交费窗口,主要用于学生交费; “sysparsetdlg.ui”是系统参数设置窗口,用于设置参数; 8 “tmgrantdlg.ui”是教材发放窗口, 在这个窗体中可以发放教材, 实现学生领书功能; “tmmgdlg.ui”是教材管理窗口,该窗口实现教材入库添加,出库、未到期的教材信 息查询。 “torddlg.ui” 是教材订购窗口,在这个窗体中实现教材订购功能; “tplandlg.ui”是教学计划窗口,该窗口实现教材计划添加、修改、删除。 “tplanstatdlg.ui”是教学计划统计窗口,该窗口可统计按系部、学期统计教材计划。 系统窗体架构说明见图所示。 图 2系统窗体架构图 (1)登录界面设计 登录窗体是用户进入系统的唯一途径,只有用户名和密码准确无误才能登录。在本系 统中设置了用户权限,不同的用户具有不同的功能。输入正确的用户名、类别和密码,点 击确定能进入系统主窗口界面进行相应是操作,否则提示错误,继续显示登录界面。其流 程图见图 4 图 3 登录界面图 9 登录界面如上图 3 所示,用户名为主码,默认密码是 123456,三类用户分别是管理员、 教 师和教材室,登录时可以选择记住密码 图 4登录界面流程图 窗体代码主要实现了访问数据库连接用户信息表,检查用户名、密码、权限其程序如 下: 1.“登录”按钮代码设计 /*点击登录*/ voidlogin:on_okButton_clicked() userId = ui-useridComB-currentText(); QString userSort = ui-usersortComB-currentText(); QString userPsw = ui-pswLineEdt-text(); if(userId =“) ui-msgLabe-setText(tr(“用户名为空!“); return; 输入用户名 判断用户及类别 输入类别 输入密码 判断密码 进入操作界面 存在 不存在 Y N 10 if(userSort = “) ui-msgLabe-setText(tr(“类别为空!“); return; if(userPsw = “) ui-msgLabe-setText(tr(“密码为空!“); return; int ret= 1;/checkUser(userId,userPsw,userSort); if(ret= -1) ui-msgLabe-setText(tr(“用户名或类别有误!“); return; else if(ret= 0) ui-msgLabe-setText(tr(“密码错误!“); return; else if( ret= 1) MainWindow *mw = new MainWindow(userSort); this-close(); mw-show(); 2.“取消”按钮代码设计 /*点击取消*/ voidlogin:on_exitButton_clicked() 11 this-close(); (2)主窗体界面设计 主窗体界面是显示系统主要操作功能的面板,在系统主窗体的状态栏中,可以显示当 前的操作员、当前系统的日期时间、程序制作人员等信息,还可以通过菜单的列表或窗体 中的按钮来控制其他功能子窗体,并且为不同权限的操作员赋予不同的操作界面。 成功登录后,进入的系统的主窗体,在主窗体中有两组按钮,第一组是管理端选择按 钮,通过点击相应的按钮可以显示不同的下拉框,这些下拉框分别对应不同操作员可进行 的操作选项。管理员用户可以通过登录管理按钮进入用户管理设置窗体,而一般用户则通 过设置按钮进入修改自己登录密码。第二组按钮是对各个表的操作按钮。管理员用户成功 进入系统主窗体运行结果见图所示: 图 5 主窗体界面图 主窗体的主要代码设计: 1. 菜单栏单击事件的实现代码 voidMainWindow:setUserView() if(userSort = tr(“管理员“) return; 12 else if( userSort =tr(“教材室“) ui-actionTMMg-setDisabled(true); ui-actionTPlan-setDisabled(true); ui-actionTMOrd-setDisabled(true); ui-actionRelInf-setDisabled(true); ui-actionAttrMg-setDisabled(true); ui-actionPlanStat-setDisabled(true); ui-toolBarT-setVisible(false); ui-toolBarK-setVisible(false); else if( userSort =tr(“教师“) ui-actionTMMg-setDisabled(true); ui-actionAttrMg-setDisabled(true); ui-actionStuPay-setDisabled(true); ui-actionTMGrant-setDisabled(true); ui-actionTMOrd-setDisabled(true); ui-toolBarS-setVisible(false); ui-toolBarK-setVisible(false); 界面显示函数见附录。 2. 状态栏的实现代码 voidMainWindow:createStatusBars() labelTitle = new QLabel(); labelTitle-setMinimumSize(300,20); labelTitle-setFrameShape(QFrame:WinPanel); labelTitle-setFrameShadow(QFrame:Sunken); labelTitle-setText(tr(“欢迎使用湖南工学院教材管理系统!“); adminLabel = new QLabel(); adminLabel-setMinimumSize(150,20); adminLabel-setFrameShape(QFrame:WinPanel); adminLabel-setFrameShadow(QFrame:Sunken); 13 adminLabel-setText(tr(“当前操作员:“)+userSort);/ dateLabel = new QLabel(); dateLabel-setMinimumSize(150,20); dateLabel-setFrameShape(QFrame:WinPanel); dateLabel-setFrameShadow(QFrame:Sunken); QDate date =QDate:currentDate(); dateLabel-setText(tr(“当前系统时间:“)+date.toString(“yyyy-MM-dd“); ui-statusbar-addWidget(labelTitle,0); ui-statusbar-addWidget(adminLabel,0); ui-statusbar-addWidget(dateLabel,0); (3)教学计划模块 管理员与教师用户进入教学计划界面可以进行教材信息的修改,删除和录入,点击审 核修改按钮,弹出窗口提示修改成功。点击导入 Excel 按钮,则将表格存入 QT 动态文件 夹中。运行结果如图所示: 图 6教学计划界面图 14 图 7计划统计界面 (4)学生交费模块 学生交费界面用于查询,登记录入学生交费情况。界面如图所示: 图 8学生交费界面图 (5)教材发放 教材发放界面可进行领书查询和领书信息填写,星号和数量为必填项目,点击确定出 库按钮,必填项为空则弹出警告窗口。领书信息填写正确的运行结果如图所示: 15 图 9教材发放界面图 (6)教材订购 教材订购界面用于订单填写和预订教材,教材编号项是教学计划中录入的教材编号, 用户选择已计划的教材编号,系统将自动填写订单内容,运行结果如图所示: 图 10 教材订购界面图 (7)教材管理界面 教材管理界面用于查询教材出入库情况和未到教材情况,如图所示: 16 图 11教材管理界面图 3.3 输入输出设计 3.3.2 输入设计 教材管理系统能够完成教材基本信息的录入以及各种详细信息等,体现了教材管理的 最新发展。根据学院,班级,课程输入相应的教材,采取较为灵活的组织方式输入。在输 入界面内,通过选择,填写等方式来实现信息的输入,数据库文件即教材信息数据库,由 手工写入的教材信息组成, 使数据库的输入工作简洁直观, 可方便完成以后的数据的保存、 编辑和打印等工作。 在教材管理系统中,设置有下拉列表框供用户选择教材名,选定后单击按钮即可实现 数据的录入。 3.3.3 输出设计 常用输出设备有显示终端、打印机、磁带机、绘图仪、多媒体设备等,常见输出介质 有纸张、磁盘、磁带、光盘、多媒体介质等。 该教材管理系统可以通过条件查询,满足各种需要,生成上报的报表和统计的表单, 打印等方式实现数据的输出。信息系统的输出方式有屏幕显示输出、打印机打印输出、文 件输出、绘图输出等,最为广泛使用的输出方式是屏幕显示和打印机打印。通常在功能选 择、查询、检索信息时,采用屏幕输出方式。本教材管理系统使用的是屏幕显示输出以及 打印机打印输出方式。管理员可以需求将报表打印出来。 17 4 数据库设计 4.1 数据库知识 4.1.1 数据库的概括 数据库是依照某种数据模型组织起来并存放二级内存中的数据集合。这种数据集合具 有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独 立于使用它的应用程序,对数据的增、删、改和检索有由统一软件进行管理和控制。数据 库是数据管理的高级阶段,它是由文件管理系统发展起来的。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度: (1)物理资料层。它是数据库的最内层,是物理存储设备上实际存储的数据集合。 这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位元串、字 符和字组成。 (2)数据概念层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个 数据的逻辑定义及数据间的逻辑联系,是存储记录的集合。它所涉及的是数据库所有对象 的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 (3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使 用的数据集合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。 数据库具有以下主要特点: (1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用 户可以用各种方式通过接口使用数据库,并提供数据共享。 (2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免 了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了资料的一致性。 (3)数据的独立性。数据的独立性包括数据库中数据的逻辑结构和应用程序相互独 立,也包括数据物理结构的变化不影响数据的逻辑结构。 (4)实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同 一用户在不同处理之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据 模型表示各种数据的组织以及数据间的联系。 数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括: (1)安全性控制:以防止数据丢失、错误更新和越权使用; (2)完整性控制:保证数据的正确性、有效性和兼容性; (3)并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之 间的不正常交互作用; (4)故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复 18 故障,从而防止数据被破坏。 4.1.2 SQL 语言 用户对数据库的使用是通过数据库管理系统提供的语言来实现的。不同的数据库管理 系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言 SQL。SQL 的全称是 Structured Query Language,即结构化查询语言。SQL 语句可以从关 系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986 年 ANSI 采用 SQL 语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL 语言使用方便、功能丰富、简洁易学,是操作数据库的标准语言,得到广泛的应用。SQL 语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL 语言允 许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL 语言不要求用户指定数 据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计 者在关系表上定义了索引,系统会自动利用索引进行快速检索,用户不需知道表上是否有 索引或者什么类型的索引等细节。SQL 语言之所以能够为用户和业界所接受,成为国际标 准,是因为它是一个综合的、通用的、功能极强的语言,它集数据查询、数据操纵、数据 定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。其主要特点包括: (1)综合统一 主要功能是通过数据库支持的数据语言来实现的。非关系模型(层次模型,网状模型) 的数据语言一般分为模式数据定义语言(schema data definition language,简称模式 DDL), 外模式数据定义语言与数据存储有关的描述语言以及数据操纵语言,分别于定义模式,外 模式,内模式和进行数据的存取与处置。当用户数据库投入运行后,如果需要修改模式, 必须停止现有数据库的运行,转储数据,修改模式并编译后再重装数据库,因此很麻烦。 (2)高度非过程化 非关系数据模型的数据操纵语言是面向过程的语言,有其完成某项请求,必须指定存 取路径。而用 SQL 语言进行数据操作,用户只需提出做什么,而不必指明怎么做,因此用 户无需了解存取路径, 存取路径的选择以及 SQL 语言的操作过程均由系统自动完成。 这不 但大大减轻了用户负担,而且有利于提高数据独立性。 (3)面向集合的操作方式 费关系数据模型采用的是面向记录的操作方式,任何一个操作对象都是一条记录。例 如,查询所有平均成绩在 80 分以上的学生姓名,用户必须说明完成该请示的具体处理过 程, 即如何用循环结构按照某条路径一条一条地把满足条件的学生记录读出来。而 SQL 语 言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入,删除,更新操作 的对象也可以是元组的集合。 (4)语言简洁,易学易用 SQL 语言功能极强,但由于设计巧妙,语言十分简洁,完成数据定义,数据操纵,数 据控制的核心功能只用了 9 个动词:CREATE、DROP、SELECT、INSERT、UPDATA、 19 DELETE、GRANT、REVOKE、ALTER,而且 SQL 语言语法简单,接近英语口语,因此容 易学习,容易使用。 4.2 数据库实现 数据库分析是数据库管理信息系统开发周期中的一个重要阶段,是数据库应用程序开 发的基础,数据库分析工作的好坏直接影响着数据库应用系统的质量。数据库分析可分两 个步骤,一是概念模型的分析,即 E-R 图的分析;二是逻辑模型的分析,即表与字段的分 析。 4.2.1E-R 图分析 (1)用户 E-R 图 图 12用户 E-R 图 (2)教材实体 E-R 图 图 13教材 E-R 图 用户 用户名 类别 密码 教材 教材编号 教材名 出版社 价格作者 20 (3)教材仓库 E-R 图 图 14教材仓库 E-R 图 (4)教材管理系统的实体类图 图 15 教材管理系统实体类图 教材仓库 教材编号 未到教材 入库 出库 21 4.2.2 表与字段分析 基于以上功能分析,系统总共包含 8 个表:教材入库表、出库表、教材计划表、订单 信息表、学生交费信息、教材发放信息、通知列表、用户表 ,数据表设计如下: 表 1 教材入库表 字段数据类型长度是否为主键 book_idnumber10是 gradevarchar210否 termvarchar210否 suppliervarchar220否 coursenumber10否 book_namenumber10否 publishvarchar220否 order_numnumber6否 isOrderint否 arrive_numnumber6否 unarrive_numnumber6否 book_pricenumber6,2否 remarkvarchar240否 表 2 教材出库表 字段数据类型长度是否为主键 stu_idNUMBER10是 book_idNUMBER10否 sdeptVARCHAR24否 gradeVARCHAR210否 classVARCHAR210否 book_nameVARCHAR220否 book_priceNUMBER6,2否 book_numINT否 usingfeeNUMBER6,2否 remarkVARCHAR240否 22 表 3 教材计划表 字段数据类型长度是否为主键 plan_idNUMBER10是 book_idNUMBER10是 courseVARCHAR220否 book_nameVARCHAR240否 authorVARCHAR220否 publishVARCHAR220否 book_numNUMBER10否 book_priceNUMBER6,2否 remarkVARCHAR240否 表 4 订单信息表 字段数据类型长度是否为主键 book_idNUMBER10是 gradeVARCHAR220否 termVARCHAR220否 book_nameVARCHAR220否 authorVARCHAR220否 publishVARCHAR220否 book_priceNUMBER6,2否 book_numNUMBER10否 supplierVARCHAR220否 isOrderINT否 表 5 学生交费信息表 字段数据类型长度是否为主键 系名文本20否 年级数字4否 班级文本20是 合计交费货币10否 使用合计货币10否 剩余合计货币10否 备注备注否 23 表 6 教材发放信息表 字段数据类型长度是否为主键 系名文本20否 年级数字4否 班级文本20否 教材名称文本20否 单价货币4否 册数数字4是 本次使用合计货币4否 备注备注否 表 7 通知列表 字段数据类型长度是否为主键 ID数字10否 有效期至日期/时间否 作者文本10否 通知内容文本50是 接受用户文本20否 表 8 用户信息表 字段数据类型长度是否为主键 userid文本20是 password文本20否 usersort文本10否 4.3 连接数据库 常用的数据库访问技术主要是开放式数据库连接(Openning database connection)即 ODBC。 ODBC 技术为访问不同的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为 访问数据的标准。这一接口提供了一个共同的接口:一个应用程序可以通过共同的一组代 码访问不同的 SQL 数据库管理系统。开发人员可以添加数据库驱动程序, 将应用程序与用 户所选的DBMS联系起来。 驱动程序管理器提供应用程序与数据库之间的中间链接。 ODBC 接口包含一系列功能,由每个 DBMS 的驱动程序实现。当应用程序改变它的 DBMS 时, 开发人员只使用新的 DBMS 驱动程序,并且应用程序可以无需修改代码照常运行。 添加一个 ADOConnection,然后选择它的属性里面的 ConnectionString,进去之后选择 生成(Build) ,根据需要连接的数据库选择相应的驱动,下一步之后选择数据库,确定保 24 存。选择属性里面的 Connect 设置为 True 就已经建立与数据库之间的连接了。 然后选择一个数据集空间(ADOTable、ADOQuery) ,设置好 Connection 属性为刚刚 建立好的ADOConnection,设置 Table 或 SQL 属性之后就可以设置 Active 属性为 True 来 取得表中的数据了。 再添加一个 Datasource 控件,设置 DataSet 为刚刚添加的 ADOTable 或 ADOQuery 最 后可以添加数据显示控件了, 如DBGrid, 只要设置它的Datasource为刚才建立的Datasource 控件即可。 ODBC 结构如下图所示: 图 16ODBC 结构图 25 5 系统测试 软件测试是对软件规格说明、设计规格说明和编码的最终审核。软件测试的目的是以 最少的人力、物力和时间投入,尽可能多地找出软件中潜在的各种错误和缺陷。测试的结 果为软件可靠性分析提供了依据。由于程序中隐藏的缺陷只在特定的环境下才有可靠显 露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正 确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系 统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应 该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计 划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各 类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随不同阶段 而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模 块作为测试对象的。 5.1 测试项目 (1)单元测试: 单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接 口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对 照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查 源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程 序员完成,也称程序调试。 (2)组合测试 组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测 试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试, 而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划 的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系 统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加, 给评审员进行演示。 (3)确认测试 确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质 上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全 部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作 是由一个独立的组织进行,而且测试要从用户的角度出发。 (4)系统测试 26 系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以 及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系 统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。 系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当 尽量避免系统测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论