办公用品管理系统的设计与实现_第1页
办公用品管理系统的设计与实现_第2页
办公用品管理系统的设计与实现_第3页
办公用品管理系统的设计与实现_第4页
办公用品管理系统的设计与实现_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、摘摘 要要 办公用品管理系统是办公自动化管理系统的重要组成部分,它可以对办公 用品的入库和领用进行规范化管理,进而提高工作效率,避免资源的浪费。 此系统根据单位的办公用品的购买,入库,领用流程而设计的,特别适用 于分批次购买,各部门领用的模式,具有完善的入库登记,领用登记,查询等 功能。这样就更可以合理规范对企事业单位办公用品的管理。 本论文将介绍办公用品管理系统的设计和开发过程。本系统采用 VISUAL C+作为开发工具,SQL SERVER 作为后台数据库,使用 ADO 数据库访问技 术,利用 IOCP 模型设计而成。此系统包含了办公共品的入库登记,领用登记 以及库存管理等几大模块组成,本

2、系统还具有强大的查询功能,具体有快速查 询,关键字查询以及按时间查询,本系统还可以根据库存量自动给出缺货通知 的功能。此系统的开发,采用计算机对企事业单位的办公用品进行管理,进一 步提高办公效益和现代化水平.帮助广大员工提高工作效率,实现办公用品信息 管理工作流程的系统化、规范化和自动化,避免企事业单位浪费严重的问题。 关键字关键字:办公用品管理系统,完成端口模型,ActiveX 数据对象访问技术 Abstract Office supplies management system is office automation management system, it can be an imp

3、ortant part of office supplies of warehousing and carries out standard management, and then according to enhance work efficiency, avoid the waste of resources. This system according to the unit of the purchase, storage of office supplies, recipients process and design, especially suitable for severa

4、l times the purchase, various departments recipients, with perfect inventory model according to register, inquires register, etc. Function. So the more can reasonable rules for enterprises and institutions of the office supplies management. This paper will introduce office supplies management system

5、 design and development process. This system USES VISUAL c + + as development tools, SQL SERVER as backend database, using ADO database access technology, using the IOCP model design and into. This system consists of the office storage products were registered, registration, and inventory management

6、, and other recipients of several major modules, the system also has a powerful query capabilities, specifically fast search, keyword search and by time, the system can also According to automatically give out stock notification feature. The development of this system, the use of computer enterprise

7、s to manage office supplies, to further improve office efficiency and modernization. to help improve the efficiency of the staff, office supplies to achieve the systematic process of information management, standardization and automation, enterprises and institutions to avoid Unit waste problem. Key

8、words: office supplies management system, IOCP model, ADO database access technology 目目 录录 摘摘 要要.I ABSTRACT.II 1 引言引言 1.1 课题来源.1 1.2 项目开发背景.1 1.3 项目开发的目标及意义.2 1.4 系统开发所用的技术.3 1.5 系统开发环境.3 2 系统分析系统分析 2.1 分析目标.4 2.2 功能需求分析.4 2.3 性能需求分析.4 2.3.1 简便性.5 2.3.2 方便查询.5 2.3.3 安全性.5 2.4 数据需求分析.6 3 系统概要设计系统概要设计

9、 3.1 系统功能架构设计.7 3.2 系统功能流程设计.7 3.3 系统数据库概念模型设计.8 3.4 系统功能界面设计.9 4 系统详细设计系统详细设计 4.1 算法流程.10 4.1.1 登录流程.10 4.1.2 入库流程.13 4.1.3 领用流程.14 4.1.4 生成缺货单流程.14 4.2 系统关系模型设计.15 4.2.1 办公用品信息表.15 4.2.2 办公用品缺货信息表.16 4.2.3 入库登记表.16 4.2.4 领用登记表.16 4.2.5 用户信息表.17 5 系统主要实现系统主要实现 5.1 环境安装与配置.18 5.1.1 SQL Server 安装.18

10、5.1.2 VISUAL C+6.0.18 5.2 服务器端设计.19 5.2.1 服务器的设计模型.19 5.3 客户端设计.21 5.3.1 登录.21 5.3.2 入库界面.22 5.3.3 领用界面.23 5.4 网络通信的设计.23 5.4.1 网络通信模型.23 5.4.2 网络通信中数据的安全传输.24 5.5 数据库连接的设计.26 6 系统主要功能测试系统主要功能测试 6.1 系统登录界面.27 6.2 入库管理界面.28 6.3 领用管理界面.28 6.4 查询界面设计.29 6.5 查询近期统计.30 6.6 服务器界面设计.31 致致 谢谢.34 参考文献参考文献.35

11、 独创性声明独创性声明.36 1 引言引言 本章主要阐述办公用品管理系统系统的研究背景、现状及发展方向,明确 指出了办公用品管理系统所面临的问题。 1.1 课题来源课题来源 随着社会经济的迅速发展和科学技术的全面进步、计算机事业的飞速发展, 将计算机这一信息处理器应用于办公用品的日常管理已是势必所然,而且这也 将为办公用品的管理带来前所未有的改变。它可以办公用品的入库领用进行规 范化管理,进而提高办公效率,避免资源的浪费。随着办公用品种类的不断丰 富,其管理的难度也越来越大,如何优化办公用品管理系统以其能满足不断变 化的办公环境已成为一个大众化的课题。 1.21.2 项目开发背景项目开发背景

12、自 1946 年人类第一台计算机(ENIAC)问世以来,50 多年过去了,计算 机的软硬件发展日新月异,突飞猛进。以个人电脑为例,硬件方面,以 CPU、 内存、硬盘为代表,CPU 已发展到当今的 P4 2.8GHZ,P和 P已淡出历史舞 台,成为昨日黄花;512M DDR 内存,120G 以上的 7200 转硬盘已成为标准配 置。如此高性能的配置,就是和 5 年之前相比,也不知高出了多少倍。软件方 面,已经从当初晦涩难懂的机器语言、汇编语言过渡到今天的第四代语言甚至 第五代语言,第四代语言(4GL)是完全非过程化的语言,这种语言只要求用 户指明将要干什么,而无需指明怎么干,如何做这一工作,则完

13、全交给软件模 块来自动处理,大大提高了软件的开发效率和软件质量,使软件开发人员从繁 重的脑力、体力劳动中解脱出来。 伴随着计算机软硬件技术的发展,计算机的技术和应用获得了突飞猛进的发 展,计算机已经在大致如下的领域得到广泛的应用: (1)科学计算:如在天文学、生物学、空气动力学、核物理学、地质勘探、 新材料的研制和天气预报等领域中。 (2)数据处理:与科学计算不同,数据处理涉及的数据量大,但计算方法较 简单。 (3)过程控制:实现自动化,智能化。 随着计算机的普及和发展,人们开始利用计算机解决越来越多的实际问题, 虽然现在软件的数量如雨后春笋,但依然不能满足用户的各种需要,尤其是用 于特定办公

14、用品管理方面的软件。办公用品管理系统是一个企事业单位管理不 可缺少的一部分,它的内容对企事业单位实行高效化、智能化、规范化的管理 非常重要,所以办公用品管理系统应该能够为用户提供充足的信息和快捷的查 询手段。一直以来人们使用传统人工的方式进行物品管理,这种管理方式存在 着许多缺点,如:效率低、保密性差、浪费严重,另外时间一长,将产生大量 的文件和数据,其中有些是冗余的或者针对同一目的的数据不相吻合,这对于 查找、更新和维护文件等管理工作带来了不少的困难。随着信息科学技术的不 断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已渗入人类 社会的各个领域并影响这些领域的发展,在现代社会中

15、发挥着越来越重要的作 用。 作为计算机应用的一部分,使用计算机系统对办公用品进行管理,具有手工 管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、 保密性好、寿命长、成本低,数据冗余量小、浪费减少等。这些优点能够极大 地提高办公管理的效率,也是企事业单位的科学化、正规化管理,与低碳生活 接轨的重要条件。因此,开发一套符合本地区企事业具体情况的办公用品管理 软件成为很有必要的事情1。 论文对系统进行了较为全面的业务需求分析,并进行有针对性的系统设计, 包括开发平台和工具选型、功能模块设计、数据库设计等,最后选用 Visual C+6.0 和 SQL SERVER 数据库进行了系

16、统实现,并进行了相应的系统测试和调 试。 1.31.3 项目开发的目标及意义项目开发的目标及意义 建立办公用品管理系统,采用计算机对企事业单位的办公用品进行管理, 进一步提高办公效益和现代化水平.帮助广大员工提高工作效率,实现办公用品 信息管理工作流程的系统化、规范化和自动化。 办公用品管理系统是为各个企事业单位做辅助设计服务的,是企事业不可 或缺的一个软件。本系统具有界面清晰、操作简易、存储数据安全性高等特点, 考虑到人们的一些操作习惯,提高了其的可操作性,完全能够满足企事业单位 的需求。这是一款针对中小企业设计的软件。有了它,您可以轻松管理您的数 据库,方便的进行办公用品管理,灵活的搜索和

17、查询功能使办公用品管理员完 全摆脱传统管理模式下经营者面对庞大的办公用品,不知道有哪些用品,缺哪 些物品,数量有多少等一系列问题2。 本系统提供的查询功能能够对办公用品进行分门别类的管理,办公用品的 库存量,对少于一定库存量的办公用品设置自动提醒功能并向供货商自动发出 缺货通知;本系统提供的统计功能能够统计出每月的各种办公用品的用量,根 据前几个月计算出平均用量,给出下个月的采购建议量,从而避免浪费;为了 使本系统更加灵活,本系统还设置了临时采购申请,若急需某种办公用品,但 库存又没有了,这时系统采用临时采购,解决当下需要,此项功能解决了系统 太过一板一眼的缺点。 1.41.4 系统开发所用的

18、技术系统开发所用的技术 ADO 数据库访问技术:ActiveX 数据对象(Active Data Object)是应用层 的编程接口,ActiveX 数据对象 ADO 封装并实现了 OLE DB 的所有功能,它通 过 OLE DB 提供了 COM 接口访问技术,可访问各种类型的数据源,既适合于 SQL Server、Oracle、Access 等数据库应用程序,也适合于 EXCEL 电子表格、 文本文件和邮件服务器3。特别在数据库操作是 ADO 的主要优势。 ADO 是独立于开发工具和开发语言的数据接口,它具有较强的功能、通用 性好、效率高、占用空间少等特点。随着数据库访问技术不断发展,对数据

19、库 的访问多采用 ADO 对象模型,是现在访问数据库的主流技术4。 IOCP 完成端口模型:IOCP(I/O completion port,I/O 完成端口)是应用程 序使用线程池处理异步 I/O 请求的一种机制。处理多个并发异步 I/O 请求时, 使用 I/O请求时创建线程更快更有效。I/O 完成端口最初的设计是应用程序 发出异步 I/O 请求,当这些请求完成时,设备驱动讲这些工作项目排序到完成 端口,这样,在完成端口上等待的线程池便可以处理这些完成 I/O。完成端口实 际上是一个 WINDOWS I/O 结构,它可以接受多种对象的句柄,如文件对象、 套接字对象等5。IOCP 完成端口是伸

20、缩性最好的一种 I/O 模型。 SQL 数据库编程语言:SQL 语句是对数据库高级操作的一种方式,它能被 数据库软件所识别并执行相应的操作,但它从某种意义上说,算不上一门语言。 就向你在操作系统的 DOS 命令下面输入一系列命令差不多6。它负责你的编程 语言和数据库之间的交流,而真正的编程语言不仅仅是数据库的访问,还有很 多对访问端的逻辑判断和交流等。而数据库只是负责数据的告诉处理,而数据 处理如果全部用编程来实现,太恐怖了,几乎不可能。而且还要为不同的数据 设计算法等,于是,数据库提供一个集成化的方法,把对数据的处理算法和类型 集成化到一个软件中7。人们之需要对它进行命令式的访问就可以得到相

21、应的 数据信息的操作,这都是通过其他语言调用 SQL 语句实现的,也就是说,SQL 只是业务端和数据端的接口命令,而不是一门完整的编程语言8。 1.5 系统开发环境系统开发环境 数据库服务器:SQL SERVER 2000 开发平台:windows2003/xp/98 2 系统分析系统分析 系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更 完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对各个现 行网上购物系统的分析,给个人网上购物系统的设计实现奠定了基础。 2.1 分析目标分析目标 系统分析是平台设计的重要环节,只有在分析完全的基础上,设计出来的 系统才能更完善的

22、运行。为了使我们的办公用品管理系统实现各个用户的需求, 使我们的系统在未来的扩展上能实现当时的需求,使我们的系统的总体价值得到 提升,分析是必不可少的。 2.2 功能需求分析功能需求分析 办公用品管理系统主要是采购员采购商品,经检验合格之后进行入库登记, 进入库存之后,各部门工作人员要领用办公用品是进行领用登记,企事业职员 可以在任何时候登陆此系统进行办公用品查询等操作。因此,此系统需要实现 的一些主要功能如下: 第一、采用身份认证进入本系统。用户注册登陆本系统,注册时系统有提 示是注册类型。不同类型的系统管理员拥有不同的权限,用户在用户名和密码 正确的情况下登陆本系统,不同权限登陆的用户的登

23、陆界面不一样,能够对系 统所做的操作也不一样,保证系统数据的安全性。 第二、强大完整的查询功能。用户可随时随地登陆此系统查看企事业单位 内部的库存情况。 第三、入库登记流程,采购员采购回来的商品检验合格之后就由入库管理 员对商品进行入库登记,登记好了之后商品入库。由于系统的入库管理员肯定 不止一位,系统在设置是对当天的记录需设置刷新功能。 第四、领用流程,各部门职员在查询到自己所需办公用品库存充足的情况 下可领用该办公用品。 第五、对本企事业单位一段时间内使用的办公用品进行统计,给出分析数 据,对以后企事业单位的采购有直接的指导作用。 第六、系统自动给出缺货通知,既通知给系统管理员也通知给供货

24、商。 第七、后台数据库使用本地数据库,保证系统数据的安全性。 2.3 性能需求分析性能需求分析 在企事业单位内部,办公用品的管理存在着多而且杂的问题。传统靠人工 管理主要存在工作单一但须多次重复,浪费大量人力,不方便查询,安全性得 不得到保证。 2.3.1 简便性简便性 目前我国中小型企业在办公用品管理这一块仍然采用的是原始的人工操作。 一个登记本一个领用本,日积月累,本子原来越多,信息也越来越乱,查找信 息起来也是越来越困难9。为解决这一问题,本系统在设计时就给出了入库登 记和领用登记,将信息录入本系统之后,企事业单位在运行过程中的相关数据 都保存在数据库中,不需要专门的人去进行信息的整理了

25、,大大提高了办公用 品在采购入库领用过程中的效率,避免了人力和财力的浪费。 2.3.2 方便查询方便查询 传统手工操作的办公用品管理过程中买一个一个的本子就是我们的信息库, 要查找到一个信息无异于大海捞针。但本系统提供了强大的查询功能:综合查 询、具体查询、快速查询。只需输入查询的关键字,即可在本系统中查询到你 所需办公用品的具体信息。 2.3.3 安全性安全性 在企事业单位内部办公用品相关资料存放上有时存在漏洞,资料容易遗失 或泄漏,给企事业单位带来损失10。本系统首先从软件方面阐述安全性的设置 问题。本系统层次图如下图 2.1 所示: (1)本系统设置了权限登陆。不同权限的人只能进行本权限

26、范围内的操作。 (2)数据库管理系统实时更新备份数据库,也会对数据库的内容进行备份, 防止意外情况下数据的恢复。 (3)为了防止在网络通信中系统的数据被窃取,本系统使用密文传输。 (4)本系统的层次设计上使一般用户不能对数据库进行直接的操作,保证 数据库数据的安全性。 图 2.1 系统层次 2.42.4 数据需求分析数据需求分析 这里包括整个系统中各个模块的数据或者是需要实现的功能的数据。如下 所示: 系统管理员:登陆姓名、password、管理员类型 商品信息:商品名称、商品编号(条形码)、商品单价、商品单位、商品 类别 商品缺货星系:商品名称、商品编号(条形码)、商品数量、缺货状态 入库信

27、息:入库时间、商品名称、商品编号(条形码)、商品单价、商品 单位、商品类别、商品数量、供货商、经办人、特殊说明 领用信息:领用时间、商品名称、商品编号(条形码)、商品单价、商品 单位、商品类别、领用数量、领用人、领用单位、特殊说明 以上数据是本系统在设计过程中主要运用到的数据。 3 系统概要设计系统概要设计 一个好信息管理系统架构能大大减少工作人员的工作,同时使测试工作更 容易进行。尤为重要的一点是,好的架构能极大地减轻重复开发所带来的成本 支出和减少开发人员的工作阻力。系统设计在开发系统中起着关键的作用。 3.1 系统功能架构设计系统功能架构设计 办公用品管理系统主要包含的功能模块有用户登录

28、、入库登记、领用登记、 库存管理、查询模块、信息统计。系统功能图如下图 3.1 所示: 办办公公用用品品管管理理系系统统 用用 户户 登登 录录 信信 息息 统统 计计 库库 存存 管管 理理 综综 合合 分分 析析 领领 用用 登登 记记 入入 库库 登登 记记 图 3.1 功能架构图 3.2 系统功能流程设计系统功能流程设计 办公用品管理系统主要包含了:用户登录系统,然后根据用户类型进入相 应的系统界面,进入系统之后就可以对系统进行相关操作。如图 3.2 所示: 登登录录 判判断断用用户户合合 法法性性及及类类别别 领领用用类类用用户户 主主界界面面 入入库库类类用用户户 主主界界面面 领

29、领用用登登记记 入入库库登登记记 查查询询 时时间间段段查查询询 商商品品名名查查询询 退退出出 非非法法用用户户 N 重重新新登登录录 Y/用用户户合合法法 库库存存管管理理 快快速速查查询询 图 3.2 业务流程图 3.33.3 系统数据库概念模型设计系统数据库概念模型设计 数据库的设计在信息系统的设计实现中至关重要11。E-R 图见图,这里 因为是一个简单的办公用品管理系统,用户类型决定对系统不同的操作权限。 商品信息和登记信息领用信息之间存在对应关系,又从商品信息中可以生成缺 货信息。如 3.3 所示: 入入库库信信息息领领用用信信息息 缺缺货货单单 生生成成 用用户户 商商品品信信息

30、息 入入库库 登登记记 领领用用 登登记记 对对应应 对对应应 1 n n1 1 n 发发放放 n 1 1 n 1 n 密密码码 用用户户类类型型 用用户户名名 商商品品名名称称 入入库库时时间间 商商品品编编号号 商商品品数数量量 商商品品单单位位 商商品品单单价价 商商品品类类别别 供供货货商商 经经办办人人 特特殊殊说说明明 商商品品名名称称 商商品品编编号号 商商品品单单价价 商商品品单单位位 商商品品类类别别 状状态态 生生成成时时间间 商商品品类类别别商商品品数数量量 商商品品名名称称 商商品品数数量量 商商品品类类别别 商商品品单单位位 商商品品单单价价 领领用用人人 商商品品编

31、编号号 商商品品名名称称 发发放放人人 领领用用时时间间 图 3.3 系统 E-R 图 3.43.4 系统功能界面设计系统功能界面设计 系统的功能界面是系统与用户进行交互的媒介,功能界面设计的成功与否 直接关系系统的发展前景12。本系统涉及与用户进行交互的功能界面有:用户 登录界面、入库登记界面、领用登记界面、库存管理界面、查询界面、数据统 计界面。为了使本系统与用户交流更加愉快,本系统的界面都添加了皮肤,系 统中总共提供了三种皮肤,用户可以根据自己的喜好进行切换。 4 系统详细设计系统详细设计 详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各 个层次中的每一个程序(每个模块或

32、子程序)的设计考虑,从而是软件在实际 开发过程中更加方便的实现各个模块的功能,在以后的系统扩展中实现良好的 系统伸缩性13。 4.1 算法流程算法流程 4.1.1 登录流程登录流程 系统开始运行之后,首先弹出的就是登录界面,只有成功登录之后才能进 入本系统。 首先,用户要有一个用户名和密码。信息管理网站需要很高的稳定性和安 全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保 密,将密码加密后再存入数据库,为了使用户使用时更为发你干快捷,在本机 上保存五个近期登录的用户名,处于系统安全性的考虑,密码不作保存。如图 4.1 所示: 登登陆陆入入口口 登登陆陆成成功功 用用户户名名

33、存存 在在 密密码码匹匹配配 用用户户类类型型 判判断断 获获取取用用户户名名和和密密 码码 将将用用户户名名半半寸寸 在在.ini配配置置文文件件 Y Y Y N N N 图 4.1 登录流程图 处理登录函数: void CLoginDlg:OnLogin(); void CLoginDlg:InitUserName() /首先判断 ini 文件是否存在,存在则读取用户名,不存在直接跳过 CFileStatus fileStat; if (CFile:GetStatus(users.ini, fileStat) USER_DATA UD_Node; CString str_section;

34、CString str_username; CString str_lasttime; char username20 = ; char lasttime20 = ; int sNum = GetNumsOfSection(); for (int i = 1; i sNum + 1; i+) str_section.Format(userinfo%d, i); GetPrivateProfileString(str_section, name, NULL, username, 20, .users.ini); GetPrivateProfileString(str_section, time,

35、 NULL, lasttime, 20, .users.ini); str_username.Format(%s, username); str_username.TrimRight(); str_lasttime.Format(%s, lasttime); str_lasttime.TrimRight(); UD_Node.str_name = str_username; UD_Node.str_time = str_lasttime; m_List_userdata.push_front(UD_Node); CString time5; int j = 0; for (iter = m_L

36、ist_userdata.begin(), j = 0; iter != m_List_userdata.end(), j str_time, iter-str_name); timej.TrimRight(); CString str_tmp; for (int k = 0; k sNum; k+) for (int m = 0; m sNum - k; m+) if (strcmp(timem.Left(14), timem + 1.Left(14) 0) str_tmp = timem; timem = timem + 1; timem + 1 = str_tmp; for (int n

37、 = 0; n AddString(timen.Right(timen.GetLength() - 14); (CComboBox *)GetDlgItem(IDC_COMBO1)-SetCurSel(0); 这个函数用来初始化保存在本地的最近 5 个登录过的用户名 4.1.2 入库流程入库流程 在该功能里,入库管理员进行办公用品的入库登记。办公用品在采购回来经 过质检之后就可以对办公用品进行入库登记了。管理员有权限对商品的各种信 息进行更改。如图 4.2 所示: 办办公公用用品品 质质检检 入入库库登登记记 进进入入仓仓库库 数数据据库库 Y N 图 4.2 入库流程图 处理入库函数: bo

38、ol OnButtonSureruku(); 4.1.3 领用流程领用流程 在此功能中,领用管理员对办公用品进行领用管理。领用人进入本系统查 询要领用办公用品的具体信息,然后进行领用登记,登记完了就可以到仓库领 用,领用管理员对领用登记信息进行管理。如图 4.3 所示: 办办公公用用品品 领领用用登登记记 查查询询 领领用用办办公公用用品品 数数据据库库 Y N 图 4.3 领用流程图 处理函数: void COutDlg:OnButtonSurely(); 4.1.4 生成缺货单流程生成缺货单流程 在该功能下,系统自动进行办公用品库存检查,当库存低于系统开始设置 的最小值时,系统自动生成缺货

39、通知单并将其发送给供货商,同时提醒系统管 理员。如图 4.4 所示: 库库存存信信息息 是是否否缺缺货货 缺缺货货清清单单 供供货货商商 系系统统管管理理员员数数据据库库 Y N 图 4.4 生成缺货单流程图 4.2 系统关系模型设计系统关系模型设计 对于一个信息管理系统而言,数据库的设计是不可缺少的。在前面对系统 分析和设计的介绍中,主要涉及了用户、办公用品等相关内容,所以这就就需 要创建用户信息表、办公用品信息表、办公用品缺货信息表、入库登记表、领 用登记表。 下面分别对这些表及其创建进行介绍。 4.2.1 办公用品信息表办公用品信息表 该表主要用来保存办公用品的名称、办公用品编号(条形码

40、)、办公用品 的单价、办公用品单位、办公用品类别等信息。该表中记录可以通过后台进行 添加、删除或者修改,更新的结果将实时在前台显示出来。它的具体说明如表 4.1 所示。 表 4.1 办公用品信息表 字段值类型长度允许空说明 NameChar50 商品名称 NoCodeChar13 商品编号(条 形码) PriceChar8 商品单价 UnitChar4商品单位 SortChar20商品类别 4.2.2 办公用品缺货信息表办公用品缺货信息表 该表主要用来保存办公用品名称,办公用品编号(条形码),办公用品数 量。它的具体说明如表 4.2 所示。 表 4.2 办公用品缺货信息表 字段值类型长度允许空

41、说明 NameChar50 商品名称 NoChar13 商品编号(条 形码) NumbersInt4 商品数量 Time 生成时间 StateChar10 缺货状态 4.2.3 入库登记表入库登记表 该表用来记录入库登记时,记录用品入库的详细信息。该表包括入库时间 (自动捕捉系统时间)、商品名称、商品编号(条形码)、商品单价、商品单 位、商品类别、商品数量、供货商、经办人、特殊说明。入库信息登记之后在 库存信息中同时更新,它的具体说明如表 4.3 所示: 表 4.3 入库登记表 字段值类型长度允许空说明 inTimeChar14 入库时间 NameChar50 商品名称 NoChar13 商品

42、编号(条 形码) PriceChar8 商品单价 UnitChar4 商品单位 SortChar20 商品类别 NumbersInt4 商品数量 SupplierChar50 供货商 TheNameChar10 经办人 RemarkChar100备注 4.2.4 领用登记表领用登记表 该表是在领用时记录领用的相关信息。该表主要包括领用时间(自动捕捉 系统时间)、商品名称、商品编号(条形码)、商品单价、商品单位、商品类 别、领用数量、领用人、领用单位。领用信息录入之后库存信息同时更新,它 的具体说明如表 4.4 所示: 表 4.4 领用登记表 字段值类型长度允许空说明 outTimeChar14

43、 领用时间 NameChar50 商品名称 NoChar13 商品编号(条 形码) PriceChar8 商品单价 UnitChar4 商品单位 SortChar20 商品类别 NumbersInt4 领用数量 TheNameChar10 领用人 DeptChar20 领用单位 RemarkChar100 备注 4.2.5 用户信息表用户信息表 该表用来保存用户的基本信息,包括身份唯一的用户名、密码、用户类 型等,它的具体实现如表 4.5 所示。 表 4.5 管理员信息表 NameCodeDomainData TypeLengthRemark 用户名Name12用户身份唯一 标识,主键 pas

44、swordpasswordA1010用户密码 用户类型Type12用户类型 5 系统主要实现系统主要实现 前面我们已经介绍了系统的分析与设计,完成了这部分工作,我们就要进 行技术的选择和环境的配置了,以方便我们完成系统的设计。 5.1 环境安装与配置环境安装与配置 5.1.1 SQL Server 安装安装 我用的是 SQLServer2000 个人版,对于企事业单位办公用品管理这种小的 信息系统的开发而言,2000 版已足够,安装的时候可能会出现文件操作挂起, 不能安装的问题。只要将以下两个从注册表中删除,就可以解决挂起问题: a、开始运行输入 regedit 回车 +HKEY_LOCAL_

45、MACHINE +SYSTEM +CurrentControlSet +Control +Session Manager 下的 FileRenameOperations 删掉 b、+HKEY_LOCAL_MACHINE +SOFTWARE +Microsoft +Windows +Current Version +Setup +ExceptionComponents 下的东西全部删掉接着基本都是用默认的选项,用 Windows 登录验证模式,一路 OK 到底就可以啦。打开企业管理器就可以对数 据库进行基本操作了14。 5.1.2 VISUAL C+6.0 本系统的开发语言我选择的是 Visua

46、l C+6.0,使用的是图形界面开发 MFC 开发技术。在安装 Visual C+6.0 的过程中会存在很多的问题,具体问题及解 决方案如下: 问题一: 安装到最后了,进度条都 100%完事了,但是却弹出一个对话框: “安装程序无法创建一个 DCOM 用户帐号来注册 E:Program FilesMicrosoft Visual StudioCommonToolsVSEnt98Vanalyzrvalec.exe 解决方法: (1)如果是 VC 卸载过,VC 在安装的时候会创建一个计算机内部用户, 名为:VUSER+你的主机名,全名为:VSA Server Account 描述为 Account

47、 forthe Visual Stdio Analyzer server components 在重装的时候右击我的电脑依次选 择,管理-本地用户和组-用户,在列表里找到那个内部用户删除就可以了. (2)还有一种可能就是你的用户权限不够。不足以创建内部帐户。可以尝 试换成 Administrator 试试 (3)据说这是 Visual Studio 的一个 BUG,只出现在 Windows 2000/XP 下。 若不使用 Visual Studio Analyzer,则 Custom-Enterprise Tools-不选择 Vistal Studio Analyzer 即可15。 问题二:安

48、装程序无法创建 DCOM 用户帐户以注册 valec.exe , 此第一条错误信息可能后跟着一条消息, 指出安装程序失败。 产生的原因是 VisualStudioAnalyzer, 它是 Visual Studio 6.0, EnterpriseEdition 中包含产品之一 无法创建本地用户帐户, 它需要因更改运行到用于 Windows 2000 中用户安全 策略。 解决方案 重新安装 Visual Studio 6.0 不 Visual Studio Analyzer EnterpriseEdition: (1) 使用自定义安装, Visual Studio 6.0 企业 - 自定义 页上

49、, 企业工具 , 依次 更改选项 。 (2) 在 Visual Studio 6.0 企业 - 企业工具 页, 选项 , 下进行确保 VisualStudioAnalyzer 复选框未选中。 (3)单击以选中与要安装, 所有其他 VisualStudio 组件, 然后单击 确定 。 (4) 单击 继续 , 然后按照指示操作16。 问题三:当您收到错误消息, 症状 部分中描述继续 Visual Studio 安装 向导。 安装报告失败。 要创建本地帐户, 它将作为运行 VisualStudioAnalyzer: (1) 是运行 Visual Studio 企业 Edition 6.0, 计算机上

50、创建本地用户。 有关如何创建本地用户, 请参阅 Windows 2000 帮助。 (2) 运行分布式 COM 配置 (dcomcnfg.exe)。 (3)在 应用程序 选项卡, 单击 MSVSA 本地事件集中器类 , 然后单击 属性 。 (4)在标识选项卡, 设置可匹配用户和密码在此过程的步骤 1 中创建此用 户17 。 5.2 服务器端设计服务器端设计 本系统采用的是 C/S 设计模式。服务器的作用就是保证客户端的各项事务 能够被服务器及时的监听到并作出及时的响应,保证系统的正常运行。 5.2.1 服务器的设计模型服务器的设计模型 在本系统中,服务器端设计了 4 条线程:监听线程和服务线程、

51、即时业务 线程和查询业务线程,并且监听线程启动后面的 3 条线程。 服务器开启之后,监听线程启动,当监听到有客户登录时,服务线程、即 时业务线程和查询业务线程同时开启,根据数据包中分离出来的数据判断业务 类型,并压入相应的业务链表中,等待相应的线程来响应事务。如图 5.1 所示: 服服务务器器开开启启 监监听听线线程程开开启启 是是否否有有 客客户户登登 录录 服服务务线线程程开开启启 判判断断事事务务 类类型型 即即时时业业务务查查询询业业务务 YN 图 5.1 服务器工作流程图 以下为服务器运行的具体实现: (1)监听线程实现的具体函数为 int CListenThread:RunServ

52、ice() (2)服务线程实现的具体函数为 int CIOServiceThread:RunService() (3)两个业务流程 及时业务线程 1 创建及时业务线程:m_JishiThread.CreateThread(m_hParentWnd); 处理以下请求: void Logout(SOCKET s); static void Lingyong(SOCKET s, char packet); static void RePassword(SOCKET s, char packet); static void Ruku(SOCKET s, char packet); void Login

53、(SOCKET s, char packet); 查询业务线程 2 创建查询业务线程:m_SearchThread.CreateThread(); 处理以下请求: static void SearchMonth(SOCKET s, char packet, int lyOrrk); static void SearchWeek(SOCKET s, char packet, int lyOrrk); static void SearchOuttime(SOCKET s, CString str_key); static void SearchIntime(SOCKET s, CString st

54、r_key); static void SearchRational(SOCKET s); static void SearchAll(SOCKET s); static void NotEnough(SOCKET s, char packet); static void QuickSearch_outgoods(SOCKET s, CString str_tmp, CString str_key); static void QuickSearch_ingoods(SOCKET s, CString str_tmp, CString str_key); static void QuickSea

55、rch_goodsinfo(SOCKET s, CString str_tmp, CString str_key); static void QuickSearch(SOCKET s, char packet); 5.3 客户端设计客户端设计 考虑到客户分为领用和入库两类类型,在成功输入用户名和密码后根据当 前登录的用户的类型显示不同的用户界面。 当客户端每产生一笔记录时,必须将数据提交给服务器,服务器处理后返 回处理结果给客户端,根据返回结果来判断是否处理成功,并给出相应的提示。 5.3.1 登录登录 只有正确输入密码并成功连接至服务器才能进入用户界面。 在登录界面,为了方便用户输入,系统自

56、动保存最近登录过的 5 位用户的 用户名,并根据登录时间来排序。 在用户输入用户名和密码后,服务器将返回该用户的类型,客户端判断后 调用不同的用户界面。判断用户类型实现代码如下: if (atoi(utype) =3)/ 入库管理员 endDialog(TURE); CofficeDlg dlg_rk; Dlg_rk.DoModal(); else if(atoi(utype)=2)/ 领用管理员 endDialog(TURE); CofficeDlg dlg_rk; Dlg_rk.DoModal(); else MessageBox(“当前用户不存在或者权限不足n 请联系管理员”,“提示”

57、); m_pass.Empty(); updateData(false); (CComboBox*)GetDlgItem(IDC_COMBO1)-Setfocus(); 5.3.2 入库界面入库界面 在此界面,入库管理员可以很方便的进行各种工作,查询、入库登记、修 改密码、查看库存量等。 在状态栏,很直观的显示时间和当前登录用户及类型。如图 5.2 所示: 图 5.2 领用管理员登录状态 操作界面如图 5.3 所示: 图 5.3 领用操作界面 5.3.3 领用界面领用界面 此界面类同 5.3.2 中的入库界面,提供功能类似,相当于做了定制。 状态栏界面如图 5.4 所示: 图 5.4 领用管理

58、员登录状态 操作界面如图 5.5 所示: 图 5.5 领用操作界面 5.4 网络通信的设计网络通信的设计 5.4.1 网络通信模型网络通信模型 在网络通信上采用 IOCP 模型来实现网络上服务器与客户机之间通信问题, 当服务器启动时,监听线程同时创立并完成端口,当连接完成之后,投递 WSARecv 请求,创建服务线程,当服务线程取得客户机发来的通信包后进行分 析,根据业务代号将数据包投递到相对应的队列当中去,服务器对相对应的事 务进行处理 18。 具体实现如下图 5.6 所示: 图 5.6 线程图 5.4.2 网络通信中数据的安全传输网络通信中数据的安全传输 在信息管理设计中,最重要的一点就是

59、数据的安全性。本系统中的数据在 传输之前进行加密处理,在数据包加密传输成功之后,在接收端进行解密。具 体加密算法为: 数据包主要有五部分组成:数据长度、业务类型、业务代码、数据、校验 和。如图 5.7 图 5.8 所示: 长长度度业业务务类类型型 业业务务代代码码数数据据校校验验和和 图 5.7 数据包组成图 图 5.8 一个具体的数据包 数据的解密过程与加密是一个相反的过程,当取得数据包之后,首先验证 校验和,校验和验证正确之后,依次分析数据长度、业务类型、业务代码,分 析之后根据业务代码表将只包含数据的数据包投递到相对应的队列中等待服务 器的处理。 加密解密的主要算法实现如下所示: (1)

60、加密过程(以登录为例) sprintf(sendbuff,%-4s%-4s%-4s%-10s%-10s%- 8s,40,1,0001,m_username,m_pass,); g_En_Decrypts.EncryptData(sendbuff,40); g_Getchecksum.Get_CheckSum(sendbuff,40,newsum); g_cs.SendString(sendbuff, 40); 根据如上代码,首先是对数据按照图 5-3 进行封装,然后调用 EncryptData()进 行加密,紧接着,调用 Get_CheckSum()将校验和加进去,覆盖最后的 8 位(即 最后

温馨提示

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

评论

0/150

提交评论