高校教材管理系统
南 阳 理 工 学 院
本科生毕业设计(论文)
学院(系) : 软件学院
专 业: 网络工程
学 生:
指导教师:
完成日期 2012 年 04 月
南阳理工学院本科生毕业设计(论文)
高校教材管理系统的设计与实现
The Design And Realization of
The Teaching material management system
总 计:毕业设计(论文) 31页
表 格: 7个
图 片: 17个
南 阳 理 工 学 院 本 科 毕 业 设 计(论文)
高校教材管理系统的设计与实现
The Design And Realization of
The Teaching material management system
学 院(系) : 软件学院
专 业:
学 生 姓 名: 学 号: 网络工程
指导教师(职称) : 讲师
评 阅 教 师: 完 成 日 期:
南阳理工学院
Nanyang Institute of Technology 2012年04月06日
高校教材管理系统的设计与实现
网络工程
[摘 要] 学校作为教学信息资源的集散地,教材和用户领阅教材种类、数量繁多,
包含很多的信息数据的管理。现今,有很多的学校都是初步开始使用,甚至尚未使用计
算机进行教材信息管理。学校若采取手工方式对教材资料和教材发放情况进行人工管理
工作量会非常繁重。由于资料繁多,手工处理的工作量会非常的大,就会造成整体管理
效率严重低下,也不方便领书人对教材资料的查阅。因此,建立一套与选课相配套的教
材管理系统具有十分重要的意义,而且现有的条件、管理理念和技术水平已使之成为可
能。为了提高学校教材科日常的教材管理效率,本文针对通常的高校教材管理流程,设
计了一个高校教材管理系统,可以满足高校一般教材管理要求。
本论文是从本校的教材订、领的实际操作流程出发,针对学校教务管理中教材发放
手工管理的现状,经过详细的系统调查,为我校教务处开发出的一个实用教材订领管理
信息系统。本论文对教材管理信息系统进行了详细的分析和设计,而且还对系统的安全
性等内容进行了初步的考虑。本系统的前端开发工具是Dream weaver,利用PHP 语言,
后台数据库选用的是wamp5集成环境。
[关键词] 教材管理;信息系统;数据库;PHP ;wamp5
The Design And Realization of
The Teaching material management system
Net Engineering Major
Abstract: As a distribution resource,the school has numerous information and data
management.Nowadays,most schools are primary using or not using computer to manage
teaching information.However,much information and heavy workload will low the whole
management efficiency,and go against users to consult textbook information,if the school
takes a traditional way to manage textbook information and delivery.Therefore,it's a very
important significance to establish a set of teaching material management system that is
matching to the course selection,and existing conditions,management idea,and technology
level make it possible.
The text is based on the practical processes of our school's concluding and collaring text
book,developing a practical teaching material management system could meet the general
requirements of college teaching material management.Besides, the text carried out a detailed
analysis and design on the teaching material management system,and the safety of the system
The system front-end development tools,Dream weaver,using the PHP language, background
database optional wamp5 of an integrated environment.
Key words: T extbook management;information systems;database;PHP;wamp5
目 录
1. 绪论 . ...................................................................................................................................... 1
1.1 背景 . ............................................................................................................................. 1
1.2 信息管理系统 . ............................................................................................................. 1
1.3 目标分析 . ..................................................................................................................... 1
1.4 可行性分析 . ................................................................................................................. 2
1.4.1 经济可行性 . ....................................................................................................... 2
1.4.2 技术可行性 . ....................................................................................................... 2
1.4.3 应用可行性 . ....................................................................................................... 2
1.4.4 操作可行性分析 . ............................................................................................... 2
2. 开发环境介绍 . ...................................................................................................................... 3
2.1 WAMP5的简介 ............................................................................................................ 3
2.2 WAMP5的配置与使用 ................................................................................................ 3
2.3 PHP编程语言............................................................................................................... 4
2.4 Apache . .......................................................................................................................... 6
2.5 MySQL数据库 . ............................................................................................................ 6
2.6 Dreamweaver ................................................................................................................ 6
3. 需求分析 . .............................................................................................................................. 7
3.1 需求分析的基本任务 . ................................................................................................. 7
3.2 系统的性能需求 . ......................................................................................................... 8
3.2.1 精度 . ................................................................................................................... 8
3.2.2 时间特性要求 . ................................................................................................... 8
3.2.3 灵活性 . ............................................................................................................... 8
3.3 数据流程分析 . ............................................................................................................. 9
3.4 数据字典 . ................................................................................................................... 11
3.5 系统运行环境 . ........................................................................................................... 12
4. 系统总体设计 . .................................................................................................................... 13
4.1 系统的总体框架 . ....................................................................................................... 13
4.2 模块功能 . ................................................................................................................... 14
4.2.1 用户模块功能 . ................................................................................................. 15
4.2.2 管理员模块功能 . ............................................................................................. 16
4.3 数据库分析 . ............................................................................................................... 17
4.4 数据库设计 . ............................................................................................................... 17
5. 编码与实现 . ........................................................................................................................ 19
5.1 登陆界面 . ................................................................................................................... 19
5.2 管理员模块 . ............................................................................................................... 20
5.2.1 用户管理 . ......................................................................................................... 21
5.2.2 教材管理 . ......................................................................................................... 21
5.2.3 统计打印报表 . ................................................................................................. 22
5.3 部分程序代码 . ........................................................................................................... 23
6. 系统测试与运行 . ................................................................................................................ 25
结束语 . ..................................................................................................................................... 28
参考文献 . ................................................................................................................................. 30
致谢 . ......................................................................................................................................... 31
1. 绪论
1.1 背景
二十一世纪是信息高度交互和发展的时代,而计算机系统则在这个信息时代扮演着
一个极为重要的脚色,随着计算机技术的不断发展,计算机已经渗透到各个领域,高校
管理当然也不例外,所以教材管理的计算机化已刻不容缓。教材管理对于各个学校而言,
都是一项很复杂、烦琐的工作, 是高校教务管理中的一个重要环节, 由于大学专业设置
门类多,各专业每期开设课程的种类多,其业务不仅涉及出版部门,而且要面对全校各
系的授课教师,各班级的学生,教材科要管理的入出库教材种类非常多,涉及到的人员
广,工作量大,再者是近些年来,我国高等教育规模不断扩大,学校学生人数迅速增加,
使得教材管理工作更加繁重不堪。所以, 一套好的高校教材管理软件, 不但能够大大降低
工作人员的劳动强度, 而且还能提高学校的管理效率和教学水平。
学校教材管理主要是由教材计划制定、采购、入库、发放、记账、结算等一系列工
作所组成,该工作各院校都有专门机构负责该项工作,通常是教材科。由于学校中专业
设置门类多,各专业每期开设课程种类多,各个专业需要订购的课本也不一样,在每学
期开学的时候教材的发放便成为了一个繁重的任务。每期教材科管理的入出库教材种类
少则几百多则几千种,涉及教材册数少则几千多则几万,涉及人员广,工作量大,再者
特别是近年来,我国高等教育规模的不断扩大,学校学生人数迅速增加,使教材管理工
作更加繁重不堪。据调查,到目前为止,我国还有许多学校甚至是一些重点院校的教材
管理仍为手工管理方式,这种现状不但与现实学校教材管理的业务需求不相适应,并且
也与学校信息化建设的发展趋势不相适应,因此,学校教材管理人员目前迫切需要一套
方便、高效的计算机化的管理信息系统来代替他们繁琐、低效的传统手工管理方式,并
最终实现教材管理的全面自动化。
1.2 信息管理系统
教材管理系统属于信息管理系统中的一个具体信息管理类型,而所谓的管理信息系
统也就是我们常说的MIS (Management Information System )。它是“由人、计算机等
组成的能进行信息的收集、传送、储存、加工、维护和使用的系统。本系统为单机版运
行方式,对于硬件的要求比较小,能够在Windows 操作系统上运行。
1.3 目标分析
开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工
具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中
解脱出来以达到提高工作效率和质量的目的,最终实现教材管理的全面自动化为和现代
化。因此系统主要是实现教材管理信息的输入,包括入库、出库、需求信息的输入;教
材管理各种信息的查询、修改;教材采购报表的生成以及各系各部门的教材需求管理等。
1.4 可行性分析
1.4.1 经济可行性
在教材管理系统中,实现了对教材的物流、资金流和信息流的管理,即针对教材出
入库管理、教材库存管理、教材费的收取和使用、教材需求信息、学生个人需用教材信
息等进行管理。这些措施将为提高高等院校教材管理水平、提高工作效率、减少人为差
错提供良好的管理平台。
极低成本的数据处理、信息查询、信息录入等,可实现教材需求信息、订单管理、
教材费用处理、教材费查询、教材出入库管理、库存管理、教材发放等功能。从目前校
园网和教材管理系统的推广和运行情况来看,本系统不需增加过多的硬件投入和应用方
面的培训,因此,其经济成本是很低的。
1.4.2 技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足
开发者的需要等。本系统主要采用了PHP 和MySQL 进行相关的开发,MySQL 在WAMP 集成
环境了,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的
灵活性、安全性和易用性为数据库编程提供了良好的条件。
1.4.3 应用可行性
本系统主要是为了提高学校教材管理的效率而进行开发的,所以在各个方面能够得
到教材科和老师的支持和领导的认同。现有的管理制度和方法科学,规章制度齐全,原
始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。
1.4.4 操作可行性分析
工作人员一般都懂计算机,具有一定的计算机使用能力,会使用各种管理软件。因
为,一般对管理员的素质要求比较高,所以在新系统投入使用时,只要对员工进行少量
的培训,介绍系统的功能和使用方法就基本上能够使系统顺利的运行了。
2. 开发环境介绍
2.1 WAMP5的简介
WAMP5是在Windows 下的Apache+Mysql+ PHP的组合,一组常用来搭建动态网站或
者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了
越来越高的兼容度,共同组成了一个强大的Web 应用程序平台。
随着开源潮流的蓬勃发展,开放源代码的WAMP 已经与J2EE 和.Net 商业软件形成三
足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT 界
的关注。
WAMP 是基于Windows ,Apache ,MySQL 和PHP 的开放资源网络开发平台,PHP 是一
种有时候用Perl 或Python 可代替的编程语言。这个术语来自欧洲,在那里这些程序常
用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里
都符合开放源代码标准:Windows 是最广泛应用的系统;Apache 是最通用的网络服务器;
MySQL 是带有基于网络管理附加工具的关系数据库;PHP 是流行的对象脚本语言,它包
含了多数其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows 操作系
统下使用这些Linux 环境里的工具称为使用WAMP [7]。
2.2 WAMP5的配置与使用
目前有不少AMP (Apache\MySQL\PHP)的集成软件,可以让我们一次安装并设置好。
这对于不熟悉AMP 的用户来说,好处多多。
一、使用AMP 集成软件的优点:
(1)可避免由于缺乏AMP 的知识,而无法正确设置环境;
(2)可快速安装并设置好AMP 环境,让我们直接开始真正感兴趣的软件,如xoops ;
(3)可以方便的搭建测试环境,对于测试“是AMP 环境问题,还是XOOPS 造成的
问题”很有帮助,采用排除法即可。
二、WAMP5经验与技巧 :
(1)安装时的设置:可以自定义WWW 根目录的存放位置。
(2)对于中文用户来说,安装结束后,首先要设置的是,把MySQL 的数据库默认
编码改为UTF-8,这样可以排除很多中文乱码问题:在WAMP5菜单中选择打开
my(wamp).ini,设置其中的default-character-set=utf8, 然后重启WAMP5。
(3)数据库默认的密码是空的,可以在phpMyAdmin 中设置root 帐号的密码为
123456;当然修改之后,就要跟着修改phpMyAdmin 的配置文件config.inc.php ,否则
phpMyAdmin 就无法进入数据库:
$cfg['Servers'][$i]['user'] = 'root';/*用户名*/
$cfg['Servers'][$i]['password'] = '123456';/*密码*/
(4)如果需要mysql4.x + php4.x,可选用WAMP5 1.44版本以及插件PHP4.3.11;
(5)由于MySQL4.1之后版本对密码验证的方法发生了改动,如果在WAMP5中使用
php4.x ,那么就需要启用MySQL 的old password功能,否则无法登陆phpMyAdmin 。在
WAMP5菜单中选择MySQL/Mysql console,然后输入下列命令:
mysql> SET PASSWORD FOR
-> 'root'@'localhost' = OLD_PASSWORD('123456');
(6)时区问题:WAMP5默认时区是格林威治标准时间,这意味着WAMP5默认的服务
器时区是GMT ,但是作为国内用户来说,可以更改服务器默认时区,以对应北京时间。
打开WAMP5菜单中的php.ini ,在文档最后添加如下代码即可:
[Date]
Defines the default timezone used by the date functions
date.timezone = "Asia/Shanghai"
(7)WAMP5的端口。通常WAMP5的默认端口为80,若之前在系统上安装过
IIS(Internet Information Server的缩写,通常被叫做Internet 信息服务) ,那么可
能造成WAMP 的默认首页无法打开。此外,一些应用软件也会占用80端口,比如我们常
用的迅雷或者BT 这样的下载工具。这时,我们可以尝试更改端口,具体做法如下:
(1)用记事本打开Apache2\conf文件夹中的httpd.conf 文件.
(2)按ctrl+F组合键查找以下代码:
ServerName localhost:80
(3)将端口号80改为8080,之后重启wamp5。
以上操作之后在浏览器上输入地址访问页面时,需要添加端口号,如:
http://localhost:8080/.../进行访问页面[8]。
2.3 PHP 编程语言
PHP 独特的语法混合了 C、Java 、Perl 以及 PHP 自创新的语法。它可以比 CGI
或者Perl 更快速的执行动态网页。
用PHP 做出的动态页面与其他的编程语言相比,PHP 是将程序嵌入到HTML 文档中去
执行,执行效率比完全生成HTML 标记的CGI 要高许多;PHP 还可以执行编译后代码,编
译可以达到加密和优化代码运行,使代码运行更快。PHP 具有非常强大的功能,所有的
CGI 的功能PHP 都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是
PHP 可以用C 、C++进行程序的扩展。
PHP 的特性包括:
(1)开放的源代码:
所有的PHP 源代码事实上都可以得到。
(2)PHP 是免费的。
和其它技术相比,PHP 本身免费。
(3)PHP 的快捷性
程序开发快,运行快,技术本身学习快。嵌入于HTML :因为PHP 可以被嵌入于HTML
语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。
(4)跨平台性强:
由于PHP 是运行在服务器端的脚本, 可以运行在UNIX 、LINUX 、WINDOWS 下。
(5)效率高:
PHP 消耗相当少的系统资源。
(6)图像处理:
用PHP 动态创建图像
(7)面向对象:
在php4,php5 中,面向对象方面都有了很大的改进,现在php 完全可以用来开发大
型商业程序。
(8)专业专注:
PHP 支持脚本语言为主,同为类C 语言。
PHP 技术的工作原理
PHP 主要的功能是在Web 环境下,由客户端浏览器传递一些信息给Web 服务器,再
由Web 服器去启动所指定的程序码来完成特定的工作,工作原理如图2-1所示:
图2-1工作原理图
用户通过Web 客户端浏览器请求某个功能页面。Web 服务器接受这个请求,根据系
统的逻辑设计,将这个请求对应的PHP 文件读出,并交给PHP 处理程序。PHP 处理程序
解释这个文件,执行相应的处理过程,如数据库的访问与操作等。PHP 从数据库中取得
数据后,将按照文件的要求,形成一个标准HTML 页面。将生成的HTML 页面交给Web 服
务器。Web 客户端浏览器将该HTML 文件解释执行并显示出来。这样就完成了一次客户浏
览器端提出的某个PHP 请求。由于脚本在服务器上,而不是在客户浏览器端运行,传到
浏览器上的Web 页面是在服务器上生成的,所以服务器端脚本不易被复制,用户看不到
所要浏览页上的PHP 源代码,只能看到解释后的结果,这样就可以做到对源程序保密。
2.4 Apache
Apache 是因特网上使用很广泛的Web 服务器, 它通过httpd.conf 、access.conf 和
srm.conf 等三个文件来实现配置。其主要特征是:可以运行在所有计算机平台;支持最
新的HTTP 1.1协议;简单而强有力的基于文件的配置;支持通用网关接口CGI ;支持虚
拟主机;支持HTTP 认证;集成Perl 脚本编程语言;集成的代理服务器;具有可定制的
服务器日志;支持服务器端包含命令(SSI )支持安全Socket 层(SSL )用户会话过程
的跟踪能力;支持FastCGI ;支持JavaServlets [8]。
2.5 MySQL 数据库
MySQL 是基于SQL 的客户/服务器模式的关系数据库管理系统,它具有功能强大、
使用简单、管理方便、运行速度快、安全可靠性强、多线程、跨平台性、完全网络化、
稳定性等优点,特别适用于Web 站点或应用软件的数据库后端的开发工作[3]。另外,用
户可利用许多语言编写访问MySQL 数据库的程序。作为开放源代码运动的产物之,MySQL
关系数据库管理系统越来越受到人们的青睐,应用范围也越来越广。闻名遐迩的速度和
易用性使MySQL 特别适用于Web 站点或应用软件的数据库后端的开发工作。
2.6 Dreamweaver
Dreamweaver 是美国MACROMEDIA 公司开发的集网页制作和网站管理于一身的所见
即所得网页编辑器, 是一种可视化网页制作工具,利用它可以轻松地制作出跨越平台限
制和跨越浏览器限制的动态网页[2]。Dreamweaver 可以开发HTML 、XHTML 、ColdFusion 、
ASP 、ASP.NET 、JSP 或PHP 网站。通过平面设计工具以及代码提示、标签编辑器、可扩
展色彩代码、标签选择器、片段和代码检验这类编码特性来实现对代码和设计的管理。
新集成的工作空间可以与Macromedia Flash MX和Fireworks MX共享,其中包括了标
示签的文档窗口、可放到dock 中的画板组、可定制的工具条和集成的文件浏览。Dream
weaver 还包括有预建的布局和代码,其中有网站结构、表格、可访问的模板以及为客
户端交互应用而提供的JavaScript 。
Dreamweaver 是建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程
序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计
人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。从对基于 CSS
的设计提供领先的支持到手动编码功能,Dreamweaver 在一个集成和高效的环境中为专
业人员提供了所需的工具。开发人员可以将其选择的服务器技术与 Dreamweaver 配合
使用,建立将业主连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。Dreamweaver 允许开发人员设计Web 站点和为Internet 应用程序编写代码。Dreamweaver MX 组合了著名的可视排版工具Dreamweaver 、快速Web 应用程序开发工具Dreamweaver UltraDev 的功能和Home Site 的扩展代码编辑支持,形成了一个简单易用且功能强大的开发环境。Dreamweaver MX 为当前的Web 技术和标准提供完备而开放的解决方案,包括辅助功能和Web 服务。其主要特点是:
(1).方便的网站管理;
(2).无可比拟的控制能力;
(3).梦幻样版和XML ;
(4).网站全方位的呈现;
(5).便捷安全的数[2]。
3. 需求分析
3.1 需求分析的基本任务
需求分析的基本任务是准确回答“系统必须做什么? ”这个问题,也就是确定为了满足业主的需要系统必须做什么。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。需求分析阶段必须仔细分析系统的业务流程,对业务流程进行抽象,得到系统的数据流分析。数据流图是从数据流动和加工的角度描述了系统要处理的数据和对数据的处理,所以数据流图代表了系统的逻辑模型。数据流图只是抽象地描述了系统的概貌,还要用其它工具进行更详细的描述。ER 图是详细描述系统中的数据元素、数据流、数据存储、处理和数据概念模型的好工具。通过业务流程图、数据流图、ER 图等图形工具,可以准确、规范地描述系统的需求。
这一阶段首先进行系统分析,分析确定系统的规模和范围,确定软件的总体要求以及所需要的硬件和支撑软件,确定待开发软件与外界的接口,根据用户的情况确定软件对操作的要求,以及待开发软件总体上的约束和限制,完善项目计划。之后,这一阶段的大部分时间将被用来进行需求收集和分析。向教材征订企业了解情况,然后来确定软件系统的综合要求。分析软件系统的数据要求,导出系统的逻辑模型,修正项目开发计划。
需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析就是分析软件用户的需求是什么。
在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。
这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些是不准备实现的。同时,对于非功能性的需求例如性能、可用性等,亦需提及。需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。这部分必须说清楚设计的全貌如何,务必使人看后知道将实现的系统有什么特点和功能。在随后的文档部分,将解释设计是怎么来实现这些的。这一章主要是来说明采用结构化分析方法,生成数据流图、数据词典及征订逻辑说明。
3.2 系统的性能需求
开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出来以达到提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。因此系统主要是实现教材管理信息的输入包括入库、出库、需求信息的输入等。教材管理各种信息的查询、修改等。教材采购报表的生成以及各系各部门的教材需求管理等。在性能的要求中一般有精度、时间特性要求、灵活性这三种。
3.2.1 精度
数据传输过程中不能发生事务中断情况,如果是由于某些不可预料的因素,则保持数据的完整性。其中分为动态数据和静态数据的需求。
动态数据需求为:在正常情况下可以进行正常的工作,必需保证数据的安全性、稳定性和资源共享的合理性。
静态数值需求为:支持的终端数最少为1台PC 机,最多PC 机台数为不限制。
3.2.2 时间特性要求
响应时间为:响应时间与机器性能以及程序大小有关。
更新处理时间为:随着开发环境的不断完善,可以为系统提供更快的响应时间。 数据的转换和传送时间:及时性要求中等
3.2.3 灵活性
提供了可视化等多种操作方式,当数据结构发生变化时,教材征订管理系统几乎无需修改,即可正常运行,此外,它还能适用于多种运行环境及操作平台。
3.3 数据流程分析
数据流程分析,即把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。
现有的数据流程分析多是通过分层的数据流程图来实现。数据流图(Data Flow Diagram, 简称DFD 图)是用一些规定的图标和符号来描述数据在系统中的流动和处理情况。数据流图一般要采用自上而下逐步求精的结构化表示方法。软件系统归根结底是一个信息处理系统,其最基本的功能是感受输入信息,对输入的信息按照规定的方法归类、处理以及存储,转变为所需要的信息,最后通过输出系统向业主输出所需求的信息。其中最核心的部分就是信息(数据)处理,因此不同的数据也就决定了所需要的不同的处理方法和算法。数据流图也就是以图形的方式将系统中数据的传递、转化过程以直观的方式表述出来。
数据流图由四种基本的元素组成:数据流(Data Flow) 、处理(Process)、数据存储和数据源(数据终点) [9]。
(1)数据流(Data Flow) :为具有名称且有流向的数据,用标有名称的箭头表示。一个数据流可以是记录、组合项或基本项。
(2)处理(Process):表示对数据多进行的加工和变换,在图中用圆形表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据.
(3)数据存储:表示用文件方式或数据库形式所存储的数据,对其进行的存取分别以指向或离开数据存储的箭头表示。
(4)数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是与系统有关的外部事物或外部环境。
根据上面的分析我们可以对系统画出如图所示的顶层数据流图,如图3-1所示。
图3-1顶层数据流图
第1层数据流图是在顶层上的细分,从整体考虑网络资源共享系统出现的数据流动及流向, 如图3-2所示。
图3-2数据流动及流向
3.4 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。它的组成有:数据流;数据流分量,即数据元素;数据存储等等。 数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:数据库中所有模式对象的信息,如表、视图、簇、及索引等;分配多少空间,当前使用了多少空间等;列的缺省值;约束信息的完整性;用户的名字;用户及角色被授予的权限;用户访问或使用的审计信息等等其它产生的数据库信息。数据库数据字典是一组表和视图结构。数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL 语句访问数据库数据字典。
在数据库管理系统,数据字典是定义了数据库的基本的组织的文件。多数数据库管理系统使数据字典隐藏,防止用户偶然毁坏它的内容。数据字典不包含数据库中的任何实际数据。该系统中的数据字典的部分信息如下图3-3:
图3-3统中的数据字典
3.5 系统运行环境
本机开发运行的硬件环境是:
CPU: Intel(4300) CPU 2GHz
硬盘:320G
内存:2G
软件环境:Dreamweaver8
操作系统: Windows7 旗舰版
服务器:WAMP5
数据库: Mysql
但是此系统所用的开发软件和环境在一般的电脑硬件环境中都能正常使用,即
Windows 环境下的电脑一般条件配置都能满足运行要求。
4. 系统总体设计
经过前面的分析,我已经确定了系统的基本功能,下面就是我分析系统的总体框架,分析系统处理的实体对象,实体间的联系,从而得到系统各种实体和联系对应的数据表,最终设计出数据表。
在这一阶段将确定软件系统的结构,对全局数据结构进行设计,进行模块划分,确定每个模块的功能 接口以及模块间的调用关系。 采用与结构化方法衔接的结构化设计方法,生成结构图及概念设计说明书。
在设计过成中要坚持由粗到细的原则,互相结合的原则,定性分析和定量分析相结合的方法,分解和协调的方法和模型化方法。要系统考虑系统的一般性、关联性、整体性和层次性。分解协调的目的是为了创造更好的系统。系统分解是指将一个复杂的系统分解为若干个子系统,系统协调一是系统内协调,即根据系统的总结构、总功能、总任务和总目标的要求,使各个子系统之间互相协调配合,在各个子系统局部优化基础上,通过内部平衡的协调控制,实现系统的整体优化。屏蔽抽象是要求从简单的框架开始,隐含细节。一致性是指要有统一的规范、统一的标准、统一的文件模式。同时每个模块应当有一个统一命名的容易理解的名字。编码的过程中要注意由外向内,注意由大体到细节扩展。面向用户来说,概要设计是对于按钮按下后系统“怎么做”的简要说明。模块、组件的充分独立性、封闭性,同时考虑静态结构与动态运行。
该概要设计对教材征订管理模块作了全面细致的用户需求分析,明确所要开发的系统应具有的功能,性能及界面。它可是使系统开发的相关人员能清楚地了解用户的需求,并在此基础上进一步提出分析和完成后续设计与开发工作。
4.1 系统的总体框架
软件体系结构是开发软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,设计一个软件构架是用来满足不同客户需求的实际系统设
计方案的基础。换句话说,软件架构即为整个软件系统的各个模块之间的结构设计,是软件工程范畴的概念,就像设计一栋房子由几个什么样的板块组成一样。
在系统分析的基础上,系统设计根据问题域的数据流定义一组不同的“映射”,利用这些映射把数据流图转换成为软件结构,其基本思想是将系统设计成由相对独立、单一功能的模块组成的结构。完成系统的总体结构设计、数据设计、过程设计和界面设计。为实现由需求转化为源代码提供依据和框架。同时也为测试做准备。
针对教材管理系统,根据系统分析和需求分析,可以将系统大致分为六个模块:班级管理,入库管理,出库管理,用户管理,统计打印,教材管理。如下图4-1所示:
图4-1系统模块图
4.2 模块功能
为每个模块设计实现的细节将成为这个阶段的主要任务,还要对局部数据结构进行设计。采用结构化设计方法。采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。使得程序具有良好的结构,增强程序的可读性。生成程序流程图及详细设计说明书。详细设计时,如果不满意,需要回到概要设计中重新完善设计。
详细阅读需求分析,理解系统建设目标、业务现状、现有系统、客户需求的各功能说明。 分析数据流图,弄清数据流征订的过程; 根据数据流图决定数据处理问题的类型(变换型、事务型、其他型); 通过以上分析,推导出系统的初始结构图。 对初始结构图进行改进完善:所有的征订都要能对应到相应模块(模块的完整性在于他们完成了需求中的所有征订),消除完全相似或局部相似的重复功能(智者察同),理清模块间的层次、控制关系,减少高扇出结构,随着深度增大扇入,平衡模块大小。由对数据字典的修改补充完善,导出逻辑数据结构,导出每种数据结构上的操作,这些操作应当属于某个模块。确定系统包含哪些应用服务系统、客户端、数据库管理系统。确定每个
模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在数据库内部建立的对象。对每个筛选后的模块进行列表说明。对逻辑数据结构进行列表说明。根据结构化软件设计说明书结构对其他需要说明的问题进行补充说明,形成系统详细设计说明书。本软件用来存储和统计教材征订的情况。可以使使用者随时查询货物的库存量,以便于教材征订的进货和销售业务更加的方便、快速。还可以查询不同时间段内,不同种类的教材的利润。
4.2.1 用户模块功能
在用户模块中,普通用户的登录要受到系统的判断,判断是否是正确的帐号和密码,如果不是正确的帐号或者密码就不能进去系统,如果是正确的账号和密码就能进入系统。用户在进入系统后就能对自己的帐号的资料进行修改,其次就是对教材的征订和教材的退订活动。如下图4-2所示:
图4-2用户功能流程图
4.2.2 管理员模块功能
用户模块功能中首先是管理员模块的实现,管理员在一个管理系统中是一个很重要的角色。在管理员登录的时候首先是系统要判断是否是正确的管理员的帐号和密码,紧接着管理员在进入管理界面后就是对用户和教材的各种管理活动。如下图4-3所示:
图4-3管理员功能流程图
4.3 数据库分析
关于数据库设计,需求分析中获得业务对象模型,也就是现实中的实体。在分析阶段来对数据库进行设计,不过一定要注意任何实体的属性一般一定是要有根据的。 总体设计中必须体现出数据库设计的内容,然后在详细设计中完成。简单的理解就是,第一步,看你需要什么样的数据库。第二步, 设计数据库。
数据库设计(Database Design)是指根据用户的实际需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足不同用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
设计数据库之前(需求分析阶段),要理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。同时了解企业业务可以在以后的开发阶段节约大量的时间,更要重视输入输出。 至今,数据库设计的很多工作仍需要人工来做,除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。所以数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更征订程化、更加规范化和更加方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法。
在这次的教材管理系统的开发中,数据库的分析主要是考虑到要有学生表、管理员表、教材表、征订表、入库表的设计和添加。
4.4 数据库设计
教材管理系统数据库设计
在建立各个表的时候,按照实现做好的数据字典定义进行表的建立。对每个表的数据类型和字段的大小要有对应的规定。
以下是建立的学生表、管理员表、教材表、征订表、入库表的设计,数据类型和字段的选择符合实际的需要。
5. 编码与实现
5.1 登陆界面
在登陆界面的设计中主要运用了淡蓝色的颜色这样比较沉稳和正式的色调来作为基调。
普通用户(学生)登陆界面如下图5-1所示:
图5-1普通用户登录界面
管理员登陆界面如下图5-2所示:
图5-2管理员登陆界面
以上是登录界面的截图,从用户类型中可以选择用户的登录角色,主要分为:管理员和一般用户两个用户类型,各用户角色的操作有不同的规定,不可以交叉操作。但是,不同的用户类型都可以进行教材信息查询操作、用户的密码修改等;
5.2 管理员模块
管理员主页面如下图5-3所示:
图5-3管理员管理功能主页面
在管理员模块中,管理员拥有最大的权限。班级管理、用户管理、教材管理、出入库管理、统计打印等在这里都能进行操作。在管理员模块中,管理员能够管理班级的添加和删除;管理用户的添加和用户的资料修改一集删除;同时,超级管理员能添加和删除新的管理员帐号。
对于新到学校库房的教材,管理员首先通过教材管理进行教材的添加,把教材的信息输入系统,然后进行教材的入库。在教材管理页面管理员还能实时对教材进行信息的修改和删除。其次就是管理员针对用户征订教材的管理了。用户在征订教材后要等待管理员的处理,领书以后,管理员再进行处理,这样库存的教材就会减少了相应的本数。有时候用户在征订教材后又要退货,这样的话管理员要处理用户的退货情况,退货后书本自动又入库。
在教材费用打印模块中,管理员能选取某一段时间然后进行查询这段时间内各个教材的出库情况,然后还能对查询出来的结果进行打印。
5.2.1 用户管理
在用户管理中管理员可以对用户的信息进行管理,来添加用户信息、修改、删除、取消、保存。其中点击“添加”就可以进行添加用户信息的操作了,同时其他各个部分都有类似的操作。
在这个部分中间,可以查看用户的信息。首先在添加用户的信息的过程中要注意,点击“添加”按钮后,可以在相应的信息框中输入信息,这些信息必须符合数据的类型,否则在保存的过程中要出现错误,会保存失败。当输入完毕以后,点击“保存”按钮即可。如果需要修改一个用户的信息,需要在显示用户信息的表中选中,然后点击“修改”按钮,修改完毕后保存即可。如果需要删除其中一个用户的信息,只需要选中该用户的信息,然后点击保存即可。
添加用户如下图5-4所示:
图5-4添加用户图
5.2.2 教材管理
在教材管理页面中,管理员可以对教材进行添加、入库的操作。还能对已征订教材进行缴费处理,对已退订教材进行处理,对教材的统计和报表打印。
教材入库如下图5-5所示:
图5-5教材入库图
5.2.3 统计打印报表
在该模块中,管理员能对任意一段时期的已征订教材的名字、数量、总价、时间等报表进行打印以供教务处备档。
查询统计和打印如下图-所示:
图5-6查询打印图
5.3 部分程序代码
添加用户部分的代码摘要如下:
6. 系统测试与运行
测试是软件开发的最后一个阶段,也是办证软件质量的重要环节。测试的目的是发现程序错误,及时纠正错误。通常把一次程序执行时需要的测试数据,称为一个“测试用例”,每一个测试用例会产生一个相应的“测试结果”。如果它与“期望结果”不相符合,说明程序中存在错误,需要进一步改正。软件在运行过程中有可能会产生各种各样的问题,所以软件测试是保证软件质量的最重要的手段。软件测试的概念IEEE 定义为:使用人工或自动手段来运行或测定某个系统过程,其目的在于检验程序是否满足规定的需求或是比较预期结果与实际结果之间的差别。[10]
尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程中的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,所以更需要严格测试。因此,软件测试在面向对象编程里更具有其重要性。典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须要有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样便降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向以对程序的重要特点,继承使得代码的重用率提高,同时也使错误传播概率提高。多态性使得面向对象程序对外呈现出强大的处理能力。但同时却使得程序内“同一”函数的行为复杂化,这样,测试时不得不考虑不同类型具体执行的代码和产生的行为。
功能测试:测试是否满足开发要求,是否能够实现设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
强度测试及性能测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况,功能实现情况,如要求软件某一行为的大量重复、输入大量的数据、对数据库大量复杂性的查询等。测试软件的运行性能。这种测试常常要与强度测试结合进行,需要事先对被测试软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度 、记录的精度、响应的时限和恢复时限等等。例如:我们为了测试系统的安全机制,而采取不同权限级别的用户进行登录,结果验证了系统的安全性;当我们以具有系统管理员身体的用户名和密码登录系统时,会享受管理系统的一切权限,可以进行的有管理工作,包括添加新用户、修改用户资料、删除用户、修改数据库数据等;当以普通用户的身份登陆时候,只有一些有限的权限。
下面就是该系统的测试,首先进行的就是管理员登陆的测试,下面表中有几种事先准备的登录方法和预期的结果以及实际输出结果。
管理员登陆测试:
用户登录测试:若密码或者用户名错误的话,会出现错误提示如下图6-1所示:
图6-1密码错误提示图
下表是事先考虑准备的教材添加的准备和预期结果以及实际输出结果。
添加用户测试,若没有填写用户姓名或者帐号或者用户介绍则不能成功添加用户。如下图6-2所示:
图6-2添加用户信息不完整时错误提示图
结束语
经过这几个月的学习,我终于完成了我的毕业设计和这篇毕业论文。从一开始接到论文题目到系统的完成实现,再到论文文章的完成,每一步对我来说都是新的尝试与挑战,这也是我在大学期间完成的最大的程序项目。在这段毕业设计的时间里,我学到了很多的知识也有很多感受。从对php 等相关技术不太了解的状态和对它的操作和使用不太熟悉的情况下,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品慢慢完善起来,遇到不明白的问题就问我的导师和我的同学们,每一次的改进都是我学习的收获,每一次的试验成功都会让我兴奋好一段时间。从中我也充分认识到了它们给我生活带来的乐趣,在属于自己的学习时间里,尽情的学着编程方面的知识,努力提高着自己。
现在回头看看我的作品明显还不是很成熟,还有很多很多的不足之处,但是我可以自豪的说,这段时间我真的学到了很多,我真的付出了很多。当看着自己的程序,自己每天相伴的系统能够顺利的运行,真是感到莫大的幸福和欣慰。我相信这其中的酸甜苦辣最终都会化为甜美甘泉。
通过这次毕业设计让我对前面学过的许多课程有了更为深刻的理解,也是我对这四年所学的东西的一个综合的体现。这次设计让我感受颇深,让我真正体会到了整个过程中给我带来的辛苦与快乐。综合起来,主要体现在以下几个方面:
首先,急于求成的心情给我带来了很大的困难。以前我注重是编码过程,以为只要能把最后的功能实现了就可以了,所以一开始我就稍微理了一下思绪就动起手来编码,我原以为很快就能完成此次任务,可万万没想到,编了二三天,就陷入了泥潭,进退两难,但后来面临的问题就是只有重来,这无疑给了我很大的打击,这样的反复的让我进行了几次。后来我终于决定沉住气,吸取前面几次的经验教训,严格按照“管理信息系统”“软件开发工具”所提到开发管理信息系统所用的方法中都把系统规划和系统分析放在极为重要的位置。认真细致地对开发过程进行了分析和规划,逐渐弄清了整个系统的流程,把握整体布局,明确了系统的基本功能,做好业务流程图、数据流图的情况下,在设计好系统各主要部分,将一些细节问题考虑周全后才开始动手进行开发,使得后来的工作才得以顺利进行。
其次,在编程语言的熟悉程度也让我对整个开发过程受到了一定的阻碍。因为以前只独立编制过一些微型程序,而那些程序涉及面比较窄,实现的功能相当有限,从而要求对语言的熟悉程序不高,然而这次很多都不同,这次设计,不但难度大,而且还要求对一些算法比较熟悉,否则将延迟工作速度,必须停下来再去学习,后因时间问题,本系统还有一些不尽如意之处。
最后,在撰写毕业论文时也遇到了一些困难。由于这是我第一次写毕业论文,没有任何经验,对于论文的格式、要求和内容都一无所知,在查询了大量的教材后才有了模糊概念。所以在此篇毕业论文中不免会有些缺点。
总的来说,这次的毕业设计为我即将踏入社会之前提供了一次锻炼的舞台。正像辅导老师说的一样,她让我对几年来所学的专业课有了更为深刻的认识,使知识得到了融会贯通,得到了比以往学习任何一门课都大的提高和进步。对于我们来讲,我们每天都要学习,但这书本上的东西如果只是个理论,如果不把他应用于实践中,这门课可以对我们来说完全没有意义。经过开发这个系统,这不仅仅是一次毕业设计,不仅仅是学会了一门开发语言,更重要的是在学习的过程中,所有的问题要自己去面对,有问题也只有靠自已去解决,这们,在学习和解决这些困难的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,学到了许多书本以外的知识,这让我踏出这个校门给予自已最大的回报,同时我也相信会给我在以后的人生道路上带来很多的帮助。
这次毕业设计不能堪称完美,甚至来说还很不健全,但我会在以后的时间里去尽量的完善它,不断的对它进行升级和完善,解决系统可能会出现的问题。
参考文献
[1] 《软件工程》 闫菲 中国水利水电出版社 2001
[2] 《Dreamweaver 完美网页设计》胡菘 中国青年电子出版社 2005 [3] 《PHP4+MySQL完整自学方案》赵启志 中国铁道出版社 2001 [4] 《MySQL 网页数据库设计》 陈俊宏 人民邮电出版社 2000 [5] 《PHP4+MySQ网络开发技术》 仲进平 人民邮电出版社 2000 [6] 《数据库系统概论》 王珊 高等教育出版社 2002 [7] 《PHP 和Mysql Web开发》, 武欣, 机械工业出版社; [8] 《PHP 从入门到精通》,邹天思、孙鹏, 清华大学出版社; [9] 《PHP 函数参考大全》,明日科技,人民邮电出版社; [10] [11] [12]
《PHP 加MySQL 动态网站开发》,丁月光主编,清华大学出版社;
《深入浅出MySQL 数据库开发、优化与管理维护》,唐汉明、翟振兴、兰丽华,人民邮电《MySQL 性能调优与架构设计》,简朝阳,电子工业出版社;
出版社;
致谢
本文实在仝老师的悉心帮助下完成的,在此先对我的指导老师仝老师表示我深深的谢意。不知不觉几个月过去了,在这段毕业设计的过程中经历了很多的事情,断断续续的终于完成了我的毕业设计。这次毕业设计,应该说是我大学生涯中交上的最后一个作业了。借这次机会我要感谢长期以来一直给我帮助的老师、同学,你们的友谊是我人生中最珍贵的财富。在这几个月的毕业设计期间,我的毕业指导老师仝老师,一直以一位朋友的身份来对我的毕业设计进行指导和帮助,无论是在理论知识还是在实践中遇到问题她都能给予我很大的帮助和鼓励,使我在毕业设计期间专业知识得到不少的提高,这对我在以后的学习和工作都有巨大的帮助,因此,在此我要特别仝老师道声谢谢。
时光如梭,四年的大学生活就这样匆匆的过去了,但是这四年给我带来的不仅仅是学会了专业知识,而且还有为人处事的道理和做人做事的原则问题。在这里学到的一切将是我踏出校园后走向社会的资本。这里的所有人,不管是老师,同学,还是各个岗位的教职工,都是我人生中最值得回味的一部分回忆。
最后我要再次感谢老师和同学们在最后的这段时间里给我的支持和帮助,让我顺利的完成了毕业设计,再次表示衷心的感谢。