基于VC++的物资管理系统开发Word文档格式.docx

上传人:b****1 文档编号:3701382 上传时间:2023-05-02 格式:DOCX 页数:16 大小:152.96KB
下载 相关 举报
基于VC++的物资管理系统开发Word文档格式.docx_第1页
第1页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第2页
第2页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第3页
第3页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第4页
第4页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第5页
第5页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第6页
第6页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第7页
第7页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第8页
第8页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第9页
第9页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第10页
第10页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第11页
第11页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第12页
第12页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第13页
第13页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第14页
第14页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第15页
第15页 / 共16页
基于VC++的物资管理系统开发Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于VC++的物资管理系统开发Word文档格式.docx

《基于VC++的物资管理系统开发Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于VC++的物资管理系统开发Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

基于VC++的物资管理系统开发Word文档格式.docx

本设计主要的与众不同之处是实现了网络通信的功能,采用了服务器/客户端的通信结构,比之其余的设计作品又进了一大步。

1.2设计思想与要求

本物资管理系统用VisualC++设计前端应用程序,采用Access建立后台数据库。

Access是Office里面的一个组件,可用来制作小型的数据库。

在办公软件Office套件中,最为广大用户熟悉的是Word和Excel以及PowerPoint,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和小型管理系统等。

同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。

Access数据库管理系统是MicrosoftOffice套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。

Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单)、查询、报表和应用程序等。

Access数据库以文件形式保存,文件的扩展名是mdb[2]。

作为较为新品的VC++.NET2005拥有着比以前版本更为强大的功能,更方便的操作,更友好的界面,运行更稳定。

使用VC++可以直接调用最底层的win32API,直接操作系统的各项功能,这是VB,C++Builder,VFP等工具对API进行封装和限制所无法比拟的。

通过MFC这一较为底层的类库对API进行了简化操作,更为便捷的实现了Windows的各项功能[3]。

VC++功能强大,业界内有句话说得好,是“懒惰的程序员用Delphi,聪明的程序员用VB,真正的程序员用VC++”。

使用VC++必须注意每一细节,都需要做好规划,而其他的高级语言开发工具都进行了封装和对外屏蔽,掩盖了许多细节,使一般人都可进行开发。

而VC++要求开发者必须深刻了解系统的原理细节,没有扎实的理论功底是行不通的[4]。

设计要求方面,主要实现了各种物资的记账式管理。

对于各种物资的库存、使用、登记各方面逐一进行实现,实现客户端/服务器端网络通信,即服务器负责数据操作,而客户端负责提供用户交互界面,发出数据操作的请求,将操作与实现分割开来,这也是现今流行的设计思想。

1.3技术关键

本系统采用目前比较流行的ADO数据访问技术。

ADO[5](ActiveXDataObjects)称为ActiveX数据对象,是Microsoft公司开发数据库应用程序面向对象的新接口,它具有较强的功能、通用性好、效率高、占空间少等特点。

ADO是DAO/RDO的后继产物,它扩展了DAO和RDO所使用的对象模型,具有更加简单,更加灵活的操作性能。

另外还增加了一些用户以前没有接触到的特征。

随着信息网络化的发展,对数据库的访问宜采用ADO对象模型[6],以获得更好的性能,更大的灵活性。

ADO提供了轻量、高性能的数据访问接口,可通过ADO对象编程来访问各种数据库[7]。

1.3.1ADO数据访问技术

ADO包括的主要对象有:

⏹连接对象Connection。

连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。

⏹命令对象Command。

可以通过已建立的连接发出命令,对数据源进行指定的操作。

⏹参数对象Parameter。

表示与基于参数化查询或存储过程的Command对象相关联的参数。

⏹记录集对象Recordset。

查询命令可以将查询结果存储在本地,这些数据以“行”(记录)为单位,返回数据的集合被称为记录集。

⏹字段对象Field。

一个记录集行包含一个或多个字段。

如果将记录集看作二维网格,字段将排列起来构成列。

每一字段(列)都分别包含有名称、数据类型和值的属性。

⏹错误对象Error。

用于承载所产生错误的详细信息。

⏹属性对象Property。

表示由提供者定义的ADO对象的动态特性。

⏹流对象Stream。

可用于对数据流的字段或记录进行操作。

⏹集合对象Set。

包含其他特定类型的对象。

⏹事件Event。

有关某些操作即将或已经发生的通知[8]。

2.总体设计

总体设计规划分为多个模块完成,具体见图1。

 

物资管理系统

用户账户管理

数据操作模块

数据显示模块

管理员添加与删除

用户添加与删除

物资入库

物资出库

物资归还

新增物资

缺货登记

出库报表

借出报表

库存信息报表

缺货登记报表

入库报表

图1总体设计图

在后台建立了七张表格,分别为用于账户控制的管理员和用户的两张表、用于数据操作的物资、出库表、入库表、借出表和缺货登记表五张表,如图2。

图2七张表格

在前台的应用程序设计中,窗体一共包括八个界面,分别是:

登陆界面、主界面、入库界面、出库界面、归还界面、新增物资界面、缺货登记界面、报表界面。

3.软件设计

3.1总体方案

3.1.1开发工具

前台开发工具使用VisualC++.NET2005,后台数据库使用Access2007。

3.1.2软件架构

分为客户端和服务器端两部分,客户端通过操作生成命令字符串,通过网络传递到服务器端,然后由服务器端进行处理,对数据库文件进行操作。

而报表部分是由客户端发出请求,然后服务器端向客户端传递报表文件,客户端接收后再显示出来。

这样处理有一个好处是能够同步的对数据进行修改和显示,不会由于多次操作同时进行而造成混乱[9]。

3.1.3数据库封装

报表显示模块为了简化代码,提高代码通用性,所以对常用的操作做了一个封装,即将ADO这个COM组件进行了一个封装,设计成了一个基类,然后又从该类派生出几个子类分别对应所要显示的几个报表。

3.2程序流程

根据上述思想和设计,程序流程如图3所示:

在客户端用户先进入登陆界面进行登陆,登陆后进入主界面,在主界面中有其他的界面,用户可以根据自己的权限进入。

在服务器端随时接受客户端的请求并进行及时的反馈[10]。

开始

登录

失败

管理员

普通用户

成功

数据报表显示

服务器端

记录数据操作

读取账户类型

图3程序流程图

3.3模块说明

①客户端

登陆界面:

该界面是本系统运行后用户第一个看到的界面。

在该界面用户必须输入正确的用户名和密码才能进行登陆,而且只有输入正确的用户名和密码才可以进入登录本物资管理系统。

在登录时系统要打开数据库,然后根据当前输入的用户名在数据库中查找看有没有,如无则提示输入错误,如果有则对比输入的密码与数据库中存储的密码是否一致,若不一致提示错误,如一致则成功登录。

在登录时可选择为管理员登录或用户登录,其作用为分别连接不同的表,从而使两者的权限在登录后体现出来[11]。

设计该界面是为了增加系统的安全性。

因为随着Internet技术的快速发展,针对网络信息系统的恶意攻击变得越来越多样化和复杂化,计算机病毒也以一种自动化的方式,借助软件的缺陷来扩散、蔓延,并攻击计算机系统,据估计,目前约有58000多种已知病毒[12,13]。

要正确输入服务器IP地址,此地址用来连接服务器端,与服务器进行通信时需要。

界面如图4[14]。

图4登录界面

主界面:

主界面为登录后显示,如图5所示。

主要提供各项功能入口。

管理员具有全部功能,而普通用户只具有报表、退出系统和关于三项功能。

图5主界面

账户管理模块:

账户管理模块主要提供使用者即管理员添加和删除用户和管理员账户使用的。

管理员可在其下拉菜单中选择四项功能中的一项使用。

使用时只需输入正确的用户名和密码即可。

入库模块:

设计一个对话框,界面如图6。

入库的意思是指在现有的物资基础上添加数量。

入库模块功能主要为从下拉列表中选择已存在的物资号,已存在的物资号通过网络传输从服务器端的数据库表中逐个发送到客户端,然后在入库对话框初始化时逐个添加到下拉列表中,以供用户选择。

用户选择后,再在以下的文本框中填入详细的信息,然后点击确定,程序按一定的顺序将各个字段的信息发送到服务器端,由服务器端对这些信息进行处理。

注意不可不填,没有的话可以填写无,否则将引发语句错误,影响程序的正常运行。

图6入库界面

出库模块:

出库模块对话框界面如图7。

出库的作用是指将现有的物资从库存中发出去,即在库存中的数量减少。

其中物资号下拉列表中选择已存在的物资号的方法和过程同入库中的一样,其余的按要求填写即可,同样要注意不要有空余。

右下角的复选框的作用是当选中时表明需要归还,不仅在库存信息表中减少数量,还要在借出表中登记;

若未选,则同样在库存信息表中减少数量,同时要在出库表中登记,而不登记在借出表,即关联的表不同。

图7出库界面

归还模块:

归还模块界面如图8。

物资号的处理还是同上。

注意借用信息的的文本框是一个只读的文本框。

其作用是在选择了一个物资号时,将物资号发送至服务器端,然后在借出表查找出借用信息,然后再发送至客户端通过客户端显示在该只读文本框中。

除了该文本框不用填写,其余的均需进行填写,否则程序同样会出错。

图8归还界面

新增物资模块:

界面如图9。

该对话框比较简单,没有什么特殊之处。

作用是添加一样新物资。

它与入库所不同的是,入库是在已有的基础上增加数量,而新增物资是没有该物资,而新添加一项物资信息,即在库存信息表中增加一条新记录。

所有的字段均由用户自己指定。

同样不可有空余。

图9新增物资界面

缺货登记模块:

界面如图10。

该界面实际由两个功能融合而来。

第一个功能:

缺货登记,选中单选按钮“缺货登记”。

此时已供应量变为不可输入状态,用户只需填入其他信息,即可完成缺货登记。

服务器端根据这些信息写入缺货登记表,创建新的记录。

第二个功能:

供应登记,选中单选按钮“供应等级”。

此时需求量变为不可输入状态,用户填入其他信息即可,服务器端根据这些信息查找缺货登记表中对应项目,并比较数值,将相应条目的数量减少或删除该记录。

同样不可有填写空余。

图10缺货登记界面

报表模块:

报表模块中可以显示系统中开放的几个表格的内容。

采用了“MicrosoftFlexGridControl,version6.0(SP6)”的COM控件和一个列表框。

在对话框初始化时,向列表框中添加5个字符串,分别对应5个表格。

建立了一个基类CDataSet,从此类派生出5个表对应的记录集类,以便于数据的显示操作,其中封装了COM组件的接口操作。

通过列表框不同字符串之间的切换可以显示不同的表格。

表格所在的数据库文件是由对话框初始化时由服务器端下载下来的。

报表界面参照图11。

图11报表界面

②服务器端

服务器端比较简单,主要是接受客户端发出的请求,并比较对照,分类处理。

数据操作的请求一般是接受关键字符串,并组装成标准的SQL命令字符串并通过ADO对象执行。

报表的请求则是接受请求后发送数据文件,将文件传送至客户端再在本地打开执行。

登录请求则是对照比较文件中已存在的内容并返回结果。

账户请求则是接受字符串,并进行添加删除等工作[15]。

3.4安装包制作

安装包制作采用VisualC++.NET2005自带的制作程序。

封装成windowsinstaller即*.msi文件。

只需在工程中正确加入文件,并做好相关设置,然后生成即可。

参照图12。

图12安装包制作界面

4.运行环境与使用方法

4.1运行环境

(1) 硬件环境

●处理器:

Intel奔腾3或更高兼容CPU

●内存:

128M(建议256M以上)

●硬盘空间:

10M

(2) 软件环境

●操作系统:

WindowsNT或Windows2000/WindowsXP

4.2使用说明

本系统的用户按权限分为两种:

管理员、普通用户。

用户的可进行的操作和权限有关(具体详见模块说明)。

若想正常工作,需在客户端启动前启动服务器端,并在防火墙上加以放行。

(1)运行系统后,首先会看到登录窗体,对用户的身份进行认证。

系统默认内置了一个账号:

账户名:

admin密码:

admin,为管理员账户。

若为本地用户可在IP中填入回环地址127.0.0.1,若为远程用户需正确填入远程服务器IP地址。

用户如需添置其他账号可在登陆后操作。

(2)登录后可进行用户账户的添加删除,出库、入库、归还、新增物资、缺货登记、报表等操作(详见模块说明)。

(3)如需退出可点击菜单栏上的“退出”子菜单即可。

点击“关于”子菜单可查看版权信息。

总结

经过一段时间的努力,物资管理系统的雏形终于做了出来。

欣喜之余,还需总结经验教训。

通过本次软件设计的任务,我了解了做软件的艰辛,也积累了做软件的细节和经验,这些都是书本上无法学来的,这对自己无疑是一种提高。

由于使用VC++的MFC比较底层,许多功能的实现看似简单却一点也不易,工作量也更是比用VB或Delphi等软件大得多,所以也不免有遗憾。

比如软件的界面美化、网络通信的多线程提速、与实际使用的贴合度等等还有不少可以提高的部分。

这些都是以后可以努力的方向。

参考文献:

[1]GeorgeShepherd,DavidKruglinski著,潘爱民译.VisualC++.NET技术内幕(第六版)[M].北京:

清华大学出版社,2007.

[2]王伟.基于VB的家庭理财管理系统设计与实现[D].信阳:

信阳师范学院,2007.

[3]侯俊杰.深入浅出MFC[M].武汉:

华中科技大学出版社,2001.

[4]RandalE.Bryant,DavidO’Hallaron著,龚奕利,雷迎春译.深入理解计算机系统[M].北京:

中国电力出版社,2008.

[5]MWBlasgen,SystemR.AnArchitecturalOverview[J].IBMSystemsJournal,NO.1(February1981).

[6]ChiyAL,FuAW.EnhancementsonLocalOutliersDetection[J].InProceedingsoftheSeventhInternationalDatabaseEngineeringandApplicationSymposium,2003:

1~3.

[7]E.FCodd.“ARelationalModelOfDataforLargeSharedDataBanks.”[J].CommunicationsoftheACM13,NO.6(June1970).

[8]侯其锋,李晓华,李莎.VisualC++数据库通用模块与系统移植[M].北京:

清华大学出版社,2008.

[9]孙鑫,余安萍.VC++深入详解[M].北京:

电子工业出版社,2008.

[10]JohnsonM.Hart著,安娜,吴明军译.Windows系统编程(第三版)[M].北京:

机械工业出版社,2006.

[11]求是科技.VisualC++数据库通用模块及典型系统开发[M].北京:

人民邮电出版社,2009.

[12]Brucel.Managedvulnerabilityassessment(MVA)—Mprovesecuritybyunderstandingyourownvulnerabilities[J].NewworkSecurity,2002,(4):

8-9.

[13]SinhaS,HarroldMj.Analysisandtestingofprogramswithexception-handingconstructsIEEETrans[J].OnSoftwareEngineering,2000,26(9):

849~871.

[14]罗云彬.Windows环境下32位汇编语言程序设计(第二版)[M].北京:

电子工业出版社,2007.

[15]CharlesPetzold著.北京博彦科技发展有限公司译.Windows程序设计(第五版)[M].北京:

北京大学出版社,1996.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2