(完整版)仓库管理系统毕业课程设计
- 格式:doc
- 大小:1.02 MB
- 文档页数:72
仓库管理系统一、课程设计的内1、学习与实践数据库应用程序开发流程;2、学习使用某一种数据库服务,学会数据库应用程序编程,安装配置系统开发环境;3、设计和实现仓库管理系统;4、撰写课程设计报告。
二、课程设计的要求与数据系统应该实现以下功能:(1) 进、出库管理。
对进、出库信息进行记录。
(2) 查询功能。
仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
(3) 部门资料管理与库存报表生成。
资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。
报表主要分类为:日报表,月报表,销售报表,入库报表等等。
(4) 由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(5) 许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
数据自己自行编造测试。
论文要求结构严谨、格式规范,内容正确、文字通顺。
三、课程设计应完成的工作该系统主要分为三大功能:管理员功能、信息安全功能、一般用户功能、报表生成。
(1) 管理员功能:产品入库登记、确认入库信息、删除库内信息、借出信息登记、产品分类管理、添加人员、删除人员、查询库内信息。
(2) 信息安全功能:人员权限区分、事件记录、数据警告、数据备份、数据恢复;(3) 一般用户功能:查询库内信息、查询出库信息、查询入库信息、修改本用户密码;(4) 报表生成:库存信息报表生成。
五、应收集的资料及主要参考文献[1] MySQL 5.1参考手册 5.1zhintroduction. der Lans 著许杰星李强等译机械工业出版社 2008.1[6] 学习MySQL(影印版) Seyed M.M."Saied" Tabagbogbi & Hugb E.Williams 著南京:东南大学出版社 2007.6[7] C++Builder程序员成长攻略蒙祖强龚涛等编著北京:中国水利水电出版社2007.1目录一、相关技术介绍 (7)1.1 MySQL (7)1.2 Borland C++Builder集成开发环境 (8)1.3 MyDAC组件库 (8)2.4.1 安全性要求 (15)2.4.2 完整性要求 (16)6.2.1 静态备份 (44)6.2.2 动态备份 (44)6.2.3 恢复备份 (44)6.4 关键代码 (48)参考文献: (54)相关技术介绍1.1 MySQLMySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL的特性:1)使用C和C++编写,用众多不同的编译器进行了测试,能够工作在众多不同的平台上。
2)使用GNU Automake、Autoconf和Libtool进行移植。
3)提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。
4)采用核心线程的完全多线程如果有多个CPU,它能方便地使用这些CPU。
5)提供了事务性和非事务性存储引擎。
6)使用了极快的“B树”磁盘表(MyISAM)和索引压缩。
7)添加另一个存储引擎相对简单。
如果打算为内部数据库添加一个SQL接口,该特性十分有用。
8)极快的基于线程的内存分配系统。
9)通过使用优化的“单扫描多连接”,能实现极快的连接。
10)存储器中的哈希表用作临时表。
11)SQL函数是使用高度优化的类库实现的,运行很快。
通常,在完成查询初始化后,不存在存储器分配。
12)采用Purify(商业内存溢出检测器)以及GPL工具Valgrind测试了MySQL代码。
13)服务器可作为单独程序运行在客户端服务器联网环境下。
它也可作为库提供,可嵌入(链接)到独立的应用程序中。
这类应用程序可单独使用,也能在网络环境下使用。
简言之,MYSQL具有功能强,使用简单,管理方便,运行速度快,可靠性高,安全保密等特点。
1.2 Borland C++Builder集成开发环境Borland C++ Builder(以下简称BCB)是Borland公司(现更名为Inprise)继Delphi之后推出的又一个优秀的可视化编程环境,它在32位Windows环境下为我们提供了一种极具吸引力的快速Windows应用程序开发系统(RAD)。
它基于最流行的面向对象程序设计语言C++,采用领先的数据库技术,并结合使用了图形用户界面(GUI)的许多先进特性和设计思想。
VCL是可视化组件库的简称,它是一个面向对象的函数库,完全支持所有面向对象编程的标准概念如继承、多态和封装等。
C++ Builder的集成开发环境提供了120多个VCL组件,使开发人员不需太多编码,就能够实现很多复杂的功能,体现了软件的“重用性”原则。
C++ Builder的用户界面也非常友好,易于使用,并且采用了停驻式(docking)工具条,可以自由组合集成开发环境窗口和工具条的排放方式。
在编码过程中,还可以使用CodeExplorer技术对源代码进行管理。
CodeCompletion技术使编译器能够自动列出VCL组件的可用属性和方法供程序员选择,而不必手工输入冗长的代码。
C++Builder含有20多个数据感知控件。
在许多情况下,甚至不须要编写任何程序代码,便可以开发一个复杂的应用程序。
C++Builder还提供了强大的Borland数据库引擎,这是一种非常成熟的数据库连接技术,它提供了3种访问数据库的方式:一是可以直接存取dBase、FoxPro、Paradox等文件型数据库生成的DB、DBF文件;二是提供了标准的ODBC接口;三是提供了高效的SQL Links数据库驱动程序,允许直接存取Oracle、Informix、SyBase、MSSQLServer、DB2和InterBase。
此外,C++Builder还提供了一组ADO控件,使C++Builder编程人员不用依靠BDE来创建应用程序,可直接使用ADO存取数据。
C++Builder率先引入了多层数据库应用模型,通过C++Builder提供的多层分布式应用服务(MIDAS)可以轻松开发出高可靠性、高效率、高负载的分布式数据处理系统。
此外,还可以通过ActiveForm或InterBaseExpress为多层数据库应用程序创建基于Web的客户端,这样用户通过普通的浏览器就可以与远程数据库系统进行交互。
在C++cBuilder 6中,MIDAS更名为DataSnap、DataSnap强化了MIDAS原有的功能,并改善了MIDAS的执行效率,更方便使用。
1.3 MyDAC组件库MyDAC,全称为MySQL Data Access Components (MySQL数据访问组件),支持Borland Delphi,C++ Builder 和Kylix。
它提供访问MySQL数据库的一种方式,可以代替标准的Borland Database Engine (BDE)或dbExpress。
MyDAC能够通过MySQL client或MySQL network protocol工作。
假如直接使用MySQL protocol协议MyDAC不需要client library,仅需要TCPIP protocol。
这个特征允许编译真正的瘦客户数据库应用。
在基于MySQL的clientserver应用中使用BDE或dbExpress有些不足,许多情况下BDE和dbExpress不能够使用服务器的特殊特征,还有BDE必须容忍过多的资源使用,限制一个应用程序的分发和管理。
使用BDE:[MySQL] <-> [ODBC] <-> [BDE] <-> [Application]通过MySQL接口:[MySQL] <-> [Client library] <-> [Application]使用MySQL网络协议:[MySQL] <-> [Application]二、需求分析2.1 功能需求及用户需求2.1.1 功能需求该系统主要分为三大功能:管理员功能、信息安全功能、一般用户功能、报表生成。
(1) 管理员功能:产品入库登记、确认入库信息、删除库内信息、借出信息登记、产品分类管理、添加人员、删除人员、查询库内信息。
(2) 信息安全功能:人员权限区分、事件记录、数据警告、计划备份、即时备份、数据恢复;(3) 一般用户功能:查询库内信息、查询出库信息、查询入库信息、修改本用户密码;(4) 报表生成:库存信息报表生成。
2.1.2 用户需求根据用户需求,该系统应该实现以下功能:(1) 进、出库管理。
对进、出库信息进行记录。
(2) 查询功能。
仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
(3) 部门资料管理与库存报表生成。
资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。
报表主要分类为:日报表,月报表,销售报表,入库报表等等。
(4) 由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(5) 许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
2.2 系统流图2.3 数据描述2.3.1 数据字典2.3.1.1 基本数据项及数据结构●零部件信息。
包括的数据项有零件号、零件名称、规格、单价、描述。
●仓库信息。
包括的数据项有仓库号、已用库存、库存总量、负责人、电话号码。
●供应商信息。
包括的数据项有编号、供应商、电话号码、地址。
部门信息。
包括的数据项有部门号、名称、电话。
2.3.1.2 数据流条目2.3.1.3 数据存储条目2.3.1.4 加工条目2.3.2 数据流图1)本系统的顶层数据流图2)细化后的数据流图3)货物入库信息管理细化4)货物出库信息管理细化2.4 安全性和完整性要求2.4.1 安全性要求系统安全性要求至少达到TCSEC(TDI)的C1级。
即只提供了非常初级的自主安全保护。
能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。
实行用户标识与鉴别,具有数据备份和日志审计功能。
2.4.2 完整性要求每个关系中都至少要有一个主键,并且都有一个聚集索引(Clustered Index)。