1、济南大学毕业设计摘 要产品图档管理系统是在PDM(产品数据管理)的基础上开发出来的,能有效管理以电子形式存在的图纸和文档,是解决企业图纸存放和管理问题、改进管理模式、提高工作效率、实现企业信息集成的有力工具。基于系统的开发的特点,主要是操作各种图档,以达到有效的管理及使用,故在此选择PowerBuilder 9.0及Microsoft SQL Server 2005等软件来进行系统的开发。Powerbuilder 9.0用于构建主体框架及简单脚本编程、Visual C+ 6.0用于主要编程以实现系统需求的各种要求、Microsoft SQL Server 2005建立后台数据库、采用OLE技术
2、和档案浏览工具进行图档管理。系统通过与后台数据库相连接,期望达到录入图档,阅览图档,对图档进行简单修改和批注等功能。最后,通过系统开发实现了以上功能。关键词:PDM;图档管理;系统框架;信息集成ABSTRACTProducts Document Management System is developed on the basis of the PDM (product data management), which can effectively manage drawings and documents exist in electronic form。It is a powerful t
3、ool to solve business drawing storage and management issues, improve the management model to improve efficiency, enterprise information integration。Based on the characteristics of the system development, operating a variety of image file, in order to achieve effective management and use of the Power
4、Builder 9.0and the Microsoft SQL Server 2005, and other software development system。Powerbuilder 9.0 is used to build the main framework and a simple scripting、Visual C + + 6.0 in order to achieve the various requirements of the system requirements for the main programming 、Microsoft SQL Server 2005
5、, create back-end database、Using OLE technology and file browsing tool for Document Management。System through the connected with the back-end database is expected to achieve entry drawing, reading drawing, drawing a simple modification and annotation functions。Finally, the system development to achi
6、eve the above functions。Key words:PDM;Document Management;System framework;Information Integration目 录摘要. .IABSTRACT.II1 前言.11.1 选题背景.11.2 PDM简介.11.3 产品图档管理系统.12 关于开发工具.22.1 PB的介绍.22.1.1 PB的概述.22.1.2PB特点.22.2 数据库概述.32.2.1 SQLServer2005的概述.32.2.2 SQLServer2005特点.33 产品图档管理系统分析与方案提出.43.1 系统初步调差分析.43.1.1
7、 应用系统的必要性.43.1.2产品图档管理系统特点及注意事项 .43.2 系统开发方案的提出.43.2.1 图档管理对象.43.2.2面向对象定义 .53.2.3 对象关联关系.53.2.4 系统框架.63.2.5 图档浏览批注.73.2.6 系统实现.74 产品图档管理系统设计.84.1 系统框架建立.84.1.1 创建应用.84.1.2 登录窗口设计.84.1.3 管理窗口设计.94.1.4 用户新增窗口设计.94.1.5 用户修改窗口设计.104.1.6 主窗口设计.114.1.7 浏览图纸窗口设计.114.1.8 新增图纸窗口设计.124.1.9 修改图纸窗口设计.134.1.10
8、申请打印窗口设计.134.1.11 批准打印窗口设计.144.1.12 各窗口部分程序.144.2 SQL Server 2005的创建与连接.194.2.1 SQLServer2005与PB连接.194.2.2 数据库SQLServer2005中表格的建立.195 结论.22参考文献.23致谢.24附录. . . . .25- 23 -1 前言1.1 选题背景计算机辅助设计软件在企业的推广应用,大大提高了设计效率,同时产生了大量的图纸和相关技术文档。如何有效组织与管理以电子形式存在的图纸和文档,成为企业首要考虑的问题。目前,企业对这些图纸和文档进行管理仅仅是静态的、档案意义上的管理,更重要的
9、是面向设计过程的、动态的图档管理,包括共享环境下的图档组织结构定义和管理、图档的安全性、一致性和版本管理、图档内容的快速浏览、快速索引和查询等方面。PDM是解决上述问题的关键技术,是以产品对象为核心的信息管理思想及相应的技术,并将这种能够集成管理与产品相关信息及过程的技术分为三个层次,即图纸文档的电子化管理、部门间的数据管理、企业间的数据管理。PDM技术作为先进的管理思想成为研究的热点。随着Web技术和数据库技术的不断发展,大多数PDM软件采用了先进的WEB浏览与客户/服务器结构来处理分布式事务。图档管理系统作为PDM系统的主要组成部分,主要包括图档对象的存储管理及基本操作管理,是解决企业图纸
10、存放和管理问题、改进管理模式,提高工作效率的有力工具。因此,研究适合中小企业的图档管理技术具有重要的实用价值。1.2 PDM(产品数据管理系统)简介PDM的中文名称为产品数据管理(Product Data Management)。PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的技术。1.3 产品图档管理系统 产品图档管理系统开发主要是基于原有的PDM的图档管理技术,增加了对电子图纸有序管理、系统存放、浏览查阅、简单批改等功能。原有的数据管理系统大多是只能显示产品的组成、材料、重量、数量等一些基本信息,几
11、乎很少能对电子图纸进行有效的管理。但是,本系统的开发将实现以上所有对电子图纸管理的功能。研究结果:通过产品图档管理系统的开发,可以将企业图纸得以有序的整理储存,更方便查找借阅,系统与数据库相连接可以实现在线修改删除功能,权限设置可方便管理员对图纸的录入与维护。有效的使用信息技术,加强企业数据的交流,加快企业产品的设计,以及企业数据的有效管理,在现在所处的激烈竞争中取得市场。2关于开发工具的概述2.1 PB(PowerBuilder)的介绍2.1.1 PB的概述PB(PowerBuilder)是著名的数据库应用开发工具生产厂商Sybase Inc.的子公司PowerSoft于1991年6月推出的
12、数据库应用开发工具,经历了多次升级换代,我们这次开发用的是PB9.0。PowerBuilder采用面向对象技术、图形化的开发环境和第四代(4GL)编程语言,可以使应用程序的开发效率更高,成本更低,质量更好,功能更强。PB除了能够设计传统的高性能、基于客户机服务器(Client/Server)体系结构的应用系统外,也能够方便的构建和实现分布式系统,还可以开发基于Internet的应用系统。PowerBuilder完全按照客户机服务器体系结构设计,它在客户机中,作为数据库应用程序的开发工具而存在。由于PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,因此利用PowerB
13、uilder,可以方便、快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用系统。PowerBuilder支持应用系统同时访问多种数据库,这既包括诸如Oracle、Sybase和SQL Sever之类的大型数据库,也包括小至于FoxPro之类的支持ODBC接口的数据库。2.1.2 PB特点(1)专业的客户机服务器开发工具。(2)面向对象的编程。(3)支持多种关系数据库管理系统。(4)支持多种平台的开发环境。(5)功能强大、使用方便的数据窗口对象。(6)丰富的数据表现风格。(7)灵活快捷的数据转移方法。(8)操作方便的可视化集成环境。(9)编程方法简单。(10)对Web的完整支持。(1
14、1)增强的分布式计算能力。2.2 数据库的概述2.2.1 SQL Server 2005的概述SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 。SQL Server 2005不仅可以有效地执行大规模联机事务处理,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。以上所有要求都满足系统设计要求,所以本次开发我们选择
15、SQL Server 2005.2.2.2 SQL Server 2005特点(1)相对MySQL Oracle Sybase DB2,SQL Server性价比最好。(2)和.net集成比较好,很合适用于Windows应用的后台数据库。(3)MS SQL Server 2005安全性得到了很大增强。(4)管理和开发入手都比较方便。3 产品图档管理系统分析与方案提出3.1 系统初步调查分析3.1.1应用系统的必要性(1)随着社会的发展,科技越来越发达,企业之间的竞争已不仅仅在于产品,合理有序的管理制度才是企业在激烈的市场竞争环境站稳脚步的基石。因此,各种管理系统应运而生。现在市场上的大多数管理
16、系统是产品、人事、库存等方面的,而相对在电子图档方面的管理系统少之又少,尤其是关于机械的企业,大量的纸质图纸还采用着陈旧的管理办法,科技在进步,公司对电子图纸需求量提高。因此本系统的开发是有必要的。(2)产品图档管理系统主要针对于电子图档,使其进行统一的储存与管理,解决了企业图纸及文档混乱问题,节省了设计时间,提高了生产效率。3.1.2产品图档管理系统特点及注意事项(1)产品数据管理系统主要针对于产品电子图档,拥有图档信息录入、图档信息修改于批注、图档信息申请打印等功能。系统与数据库相连接将图档简单信息储存其中,按需要进行调用。(2)产品数据管理系统设置了普通员工和管理员两种登陆身份,并设有权
17、限管理,普通员工只能进行浏览图纸和信息等基本操作,管理员负责注册员工信息和系统代码维护,工程师可以对图纸信息进行简单的批阅和修改。3.2 系统开发方案的提出通过对相关产品信息进行了大量的资料查询,最终确立方案。3.2.1图档管理对象图纸和文档是产品数据的载体,是产品数据管理的对象,其具体表现为各种形式化的电子化文档,即计算机文件。其种类繁多,主要包括: 需求文档:包括合同、设计任务书、需求分析和设计说明书等; 设计文档:包括静态数据和动态数据。静态数据是供工程设计过程选用或供分析使用,如标准规范;动态数据是设计过程中生成的,如电子图形等;工艺文档:指CAPP系统在工艺设计过程中所使用和产生的数
18、据; 专用文档: 特定行业专用数据,如电气原理图。 图档存在的形式主要有由CAD软件产生的图形文件;描述产品或部件、零件性能的文本文件;数据文件,如有限元分析结果、NC代码、试验测试报告等;多媒体文件;渲染的照片以及产品演示等。3.2.2面向对象定义 对象(Item)是对产品、零部件和定义、组成等的抽象描述,采用面向对象方法描述如下: Item ItemID 对象标识 ItemName 对象名 Qty 数量 Remark 备注 数据集是图档数据及其属性的集合,以文件和表格两种方式存在。用面向对象的方法描述如下:DocItem ProductID 产品名称;tudangID 图纸编号;suosh
19、uleibie 文档类型:工艺,零件,说明等;Designer 设计者;ArchDate 图纸存档时间;Status 状态 3.2.3对象关联关系图档管理的对象包括产品结构树上的结点和数据集,它们之间存在如图3-1所示的关联关系。通过数据定义模块来定义图档属性(如DocItem类),然后与图档文件或数据表存放到数据库中;在产品结构树结点已存在(如property)的基础上,对其增加对象定义(如CItem),将数据集与结点通过文档连接功能建立联系,并存入数据库。 数据定义数据库图档属性 关联表 图档图档目录图形文件文本文件数据文件表格文件 产品数据产品属性表产品关系表 图3-1 对象关系3.2.
20、4 系统框架图档管理的目标能够使全部用户,包括项目负责人、设计人员、工艺人员以及授权的供应商等都能按要求存取数据,实现信息共享与集成。在数据库与文件目录的支持下,图档管理系统框架如图3-2所示。主要包括以下功能:(1)图档统一储存和借阅;(2)提供检索查询、浏览图纸和简单批注方式,以便迅速的找到相应的文档;(3)可以申请打印并生成打印报表;图3-2 图档管理系统框架3.2.5 图档浏览批注本次设计主要以实现AutoCAD制作的dwg格式图纸为实例,通过浏览批注工具,用户可以方便的对图档进行移动、缩放而不必使用创建此文档的特定编辑环境。通用的浏览工具至少要提供对常用的图形文件和办公软件文件格式的
21、支持,如AutoCAD的dwg、dxf、dws浏览工具选择volo view浏览器。实现过程如下:(1)首先安装volo view插件。(2)在窗口中插入OLE时,选择volo view控件。(3)对控件进行编程。3.2.6 系统实现用Microsoft SQL Server2005数据库实现图档信息的存放,采用PowerBuilder创建整个系统的框架 ,最终开发出基于图档管理系统,该系统作为PDM系统的重要组成部分,可实现图档的归档借阅、浏览批注、检索查询等功能,并实现了与CAD软件的集成。预期效果图如下:图3-3 图档管理系统实例4 产品图档管理系统设计4.1 系统框架建立产品图档管理系
22、统的框架是在PB中完成的,以下皆为PB中操作过程。4.1.1 创建应用创建应用有如下两个步骤:(1)创建新的工作空间。选择到新建的目录为D:beyeshejiPDM,输入文件名为“PDM”。(2)创建新的应用。选择到新建的目录为D:beyeshejiPDM,输入文件名为“PDM”。4.1.2 登陆窗口设计(1)创建一个新的窗口对象并取名w_denglu。(2)在窗口中插入三个静态文本控件(StaticText),分别取名为st_1、st_2、st_3,并在Text选项中分别输入“登录名”“密码”“欢迎使用图档管理系统”。(3)在窗口中插入两个单行编辑框(SingleLineEdit),分别取名
23、为sle_id、sle_password,并将Text选项清空。(4)在窗口中插入两个单选按钮(RadioButon),分别取名为rb_1、rb_2,并在Text选项中分别输入“管理员”“员工”,在rb_2选项框中勾选Checked选项。(5)在窗口中插入两个命令按钮(CommanButton),分别取名为cb_1、cb_2,并在Text选项中分别输入“确定”“取消”。窗口预览图如下:图4-1 登录窗口4.1.3 管理窗口设计(1)创建一个新的窗口对象并取名w_guanli。(2)在窗口中插入一个静态文本控件(StaticText),取名为st_1,并在Text选项中分别输入“欢迎使用管理员系
24、统”。(3)在窗口中插入四个命令按钮(CommanButton),分别取名为cb_1、cb_2、cb_3、cb_4,并在Text选项中分别输入“新增”“修改”“删除”“返回”。(4)在窗口中插入一个数据窗口控件,取名为dw_1。(5)新建一个下拉菜单(Menu),取名m_renshi, 插入两个菜单按钮(MenuItem),分别取名“人事信息”“代码维护”,使m_renshi与窗口w_guanli关联。(6)新建一个数据窗口,取名dw_renshi,并使其与数据窗口控件dw_1关联。窗口预览图如下图4-2 管理窗口4.1.4 用户新增窗口设计(1)创建一个新的窗口对象并取名w_zhuce。(2
25、)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_zhuce,并与数据窗口控件dw_1关联。 窗口预览图如下:图4-3 用户新增窗口4.1.5 用户修改窗口设计(1)创建一个新的窗口对象并取名w_zhucexg。(2)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_zhucexg,并与数据窗口控件dw_1关联。 窗口预览图如下:图4-4 用户修改窗口4.1.6 主窗口设计(1)创建一个新的窗口对象并取名w_main。(2)在窗口中插入两个静态文本控件(StaticText),分别取名为st_1、st_2、,并在Text选项中分别输入“
26、图纸编号”“图纸名称”。(3)在窗口中插入两个单行编辑框(SingleLineEdit),分别取名为sle_1、sle_2,并将Text选项清空。(4)在窗口中插入四个命令按钮(CommanButton),分别取名为cb_1、cb_2、cb_3、cb_4,并在Text选项中分别输入“查询”“打印申请”“删除”“返回”。(5)新建两个数据窗口,分别取名dw_01,dw_03。(6)在窗口中插入两个数据窗口控件,分别取名为dw_mingxi、dw_1,使其分别与数据窗口dw_01、dw_03关联。(7)在窗口中插入ole控件volo view。(8)新建一个下拉菜单,并取名m_tudang,插入三
27、个菜单按钮,分别取名“文件”“基础数据”“帮助”。窗口预览图如下:图4-5 主窗口4.1.7 浏览图纸窗口设计(1)创建一个新的窗口对象并取名w_tuzhi。(2)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_tuzhiliulan,并与数据窗口控件dw_1关联。 窗口预览图如下: 图4-6 录入图纸窗口4.1.8 新增图纸窗口设计(1)创建一个新的窗口对象并取名w_lurutuzhi。(2)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_tuxinzeng,并与数据窗口控件dw_1关联。 窗口预览图如下:图4-7 新增图纸窗口4.
28、1.9 修改图纸窗口设计(1)创建一个新的窗口对象并取名w_xiugaituzhi。(2)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_tuxiugai,并与数据窗口控件dw_1关联。 窗口预览图如下:图4-8修改图纸窗口4.1.10 申请打印窗口设计(1)创建一个新的窗口对象并取名w_shenqing。(2)在窗口插入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_shenqing,并与数据窗口控件dw_1关联。窗口预览图如下:图4-9申请打印窗口4.1.11 批准打印窗口设计(1)创建一个新的窗口对象并取名w_pizhun。(2)在窗口插
29、入一个数据窗口控件,并取名dw_1。(3)创建一个数据窗口,取名dw_pizhun,并与数据窗口控件dw_1关联。窗口预览图如下:图4-10 批准打印窗口4.1.12 各窗口部分程序如下(1)登录窗口w_denglu中sle_id的程序:string ls_userIDint li_isexistif key=keyenter! thenif isnull(sle_id.text)or len(trim(sle_id.text)=0 thenmessagebox(系统提示,请输入用户编号)else ls_userID=trim(sle_id.text) select count(*)into
30、:li_isexist from pbtudangmg where id=:ls_userID; if li_isexist=0 thenmessagebox(错误,该用户编号不存在!) else sle_password.setfocus()return end if end if(2)登录窗口w_denglu中sle_password程序:if key=keyenter! then cb_1.TriggerEvent(clicked!)(3)登录窗口w_denglu中cb_1程序:string ls_userID,ls_password,ls_userpass,ls_postls_pass
31、word=trim(sle_password.text)ls_userID=trim(sle_ID.text)select password,dengji into :ls_userpass,:ls_post from pbtudangmg whereid=:ls_userID;if (ls_password=ls_userpass and rb_2.checked=true and ls_post=user ) thenopen(w_main) close(parent)elseif (ls_password=ls_userpass and rb_1.checked=true and ls_
32、post=manage) thenopen(w_guanli)close(parent)else messagebox(错误,密码或服务端选择不正确)sle_password.selecttext(1,len(sle_password.text)returnend if(4) 登录窗口w_denglu中cb_2程序:close(parent)(5) 管理窗口w_guanli的open事件程序:dw_1.settransobject(sqlca)dw_1.retrieve()(6) 管理窗口w_guanli中cb_2程序:int rownorowno=dw_1.getrow()str_rensh
33、i strinstrin.state=editstrin.rowvalue=dw_1.getitemstring(rowno,id)openwithparm(w_zhucexg,strin)(7) 管理窗口w_guanli中cb_3程序:if(1=messagebox(提示,您确认删除这条记录吗?,Question!,okcancel!,2)thendw_1.deleterow(0)if (dw_1.update()=1) thencommit using sqlca;else rollback using sqlca;returnend ifend if(8) 管理窗口w_guanli中cb
34、_4程序:open(w_denglu)close(parent)(9) 用户新增窗口w_zhuce中cb_1程序:if (dw_1.update()=1) thencommit using sqlca;close(parent)else rollback using sqlca;returnend if(10) 用户新增窗口w_zhuce的open事件程序:dw_1.settransobject(sqlca)dw_1.retrieve()string maxid1,maxid2,maxid0,maxid10int countidlong maxid3select count(id) into
35、:countid from pbtudangmg;if countid1 thendw_1.insertrow(0)dw_1.setfocus()dw_1.scrolltorow(dw_1.rowcount()if dw_1.rowcount()2 thenmaxid2=jd100001dw_1.setitem(dw_1.rowcount(),1,maxid2)elsemaxid10=dw_1.getitemstring(dw_1.rowcount()-1,1)maxid3=long(mid(maxid1,3,6)+1maxid2=jd+string(maxid2)dw_1.setitem(d
36、w_1.rowcount(),1,maxid2)end ifelseselect max(id) into :maxid1 from pbtudangmg;if dw_1.rowcount()=maxid0 then maxid10=maxid1if maxid1maxid0 then maxid10=maxid0end ifmaxid3=long(mid(maxid10,3,6)+1maxid2=jd+string(maxid3)dw_1.insertrow(0)dw_1.setfocus()dw_1.scrolltorow(dw_1.rowcount()dw_1.setitem(dw_1.
37、rowcount(),1,maxid2)end if(11)主窗口w_main中cb_1程序:string ls_id,ls_name ,ls_filter1,ls_filter2,ls_filterls_id = trim(sle_1.text)ls_name = trim(sle_2.text)ls_filter = 1=1if (ls_id )or isnull(ls_id) thenls_filter1 = (tudangid like +ls_id+%)elsels_filter1 = (1=1)end ifif (ls_name = ) or isnull(ls_name) the
38、nls_filter2 = (1=1)elsels_filter2 = (productid like %+ls_name+%)end ifls_filter = ls_filter1 +and + ls_filter2 dw_1.setfilter( ls_filter)dw_1.filter( )dw_1.settransobject(sqlca)dw_1.retrieve()4.2 SQL Server 2005的创建与连接产品图档管理系统的开发中SQL Server 2005主要用于对图档信息的储存,系统中PB与数据库SQL Server 2005相连接实现对图档信息的调用与存入。SQ
39、L Server 2005主要以表格的形式将图纸的基本信息储存,图档管理系统的用户及权限等也以表格形式存入数据库SQL Server 2005中,以便在系统操作中调用。4.2.1 SQL Server 2005与PB连接(1)在电脑上安装数据库SQL Server 2005,并设置登录名为sa,登录密码为liming。(2)单机PB数据库画板,选择连接的数据库类型MSS Microsoft SQL Server,新建一个名为DB_TUDANG的数据库,右击新建的数据库选择最后一项属性选单,填写如果其与表上出现“对号”标志,就代表数据库创建连接成功。再配置数据源,在数据库画板上选择ODB ODB
40、C,新建一个数据源tudang右击选择连接,如果在tudang图标上出现“对号”就代表PB与数据库SQL Server 2005配置成功并已连接。(3)以上工作做完之后,在PB中双击点开pdm一项,打开其open事件并编入程序。具体程序如下:SQLca.DBMS=ODBCSQLCA.AutoCommit=falseSQLCA.dbparm=connectstring=DSN=tudang;uid=sa;pwd=limingconnect using sqlca;if sqlca.SQLcode0 thenmessagebox(错误,数据库连接失败+sqlca.sqlerrtext)returnen