唯信机械行业MIS系统分析和设计

上传人:xins****2008 文档编号:48945984 上传时间:2022-01-16 格式:DOCX 页数:42 大小:768.54KB
收藏 版权申诉 举报 下载
唯信机械行业MIS系统分析和设计_第1页
第1页 / 共42页
唯信机械行业MIS系统分析和设计_第2页
第2页 / 共42页
唯信机械行业MIS系统分析和设计_第3页
第3页 / 共42页
资源描述:

《唯信机械行业MIS系统分析和设计》由会员分享,可在线阅读,更多相关《唯信机械行业MIS系统分析和设计(42页珍藏版)》请在装配图网上搜索。

1、本科毕业论文(科研训练、毕业设计)题 目:唯信机械行业MIS系统分析和设计 单位资料设置模块与进货管理模块姓 名:王建森学 院:软件学院系:专 业:软件工程年 级:03级学 号:03368035指导教师(校内):王备战 职称:副教授指导教师(校外): 职称:2005年 6月 3日唯信机械MIS系统的分析和设计 单位资料管理模块与进货管理模块摘要 本文以唯信机械行业MIS系统(英文:WININFO MIS)设计与开发为背景,介绍该系统的总体设计,单位资料管理与进货管理模块的详细设计。该系统是在分析目前机械行业日常流程与分析相关数据的基础上,结合管理信息系统开发的概念及系统开发的基本原理和方法,采

2、用Client/Server架构,并利用中间服务器对数据进行合理有效的处理,使用Delphi7.0进行设计,以MS SQL Server 2000网络数据库技术作为其程序开发的底层数据库,开发的一套管理信息系统。用户可以使用客户端程序在客户机上访问数据库,通过执行应用服务器端的应用程序,以满足不同权限的用户通过客户端进行数据查询和业务录入,从而实现同网实时管理,数据实时传输。关键字 应用服务器 客户端 多层 管理信息系统 控件Planning and designing of WININFO mechanical systemCompany datum management and stock

3、 management moduleAbstract This thesis introduces the general frame of the system, and specifies at company datum management module and stocking module, based on the design and programming of WININFO MIS. This system aims at analyzing general business flow and related data in machine industry, integ

4、rating with MIS concept and methods of software system development. With Delphi7.0 as development platform and Microsoft SQL server as database, the system is designed in three-tier client/server architecture, including user interface, application server and database management system. Users access

5、database with user system interface through a middle tier-application server. Users input and queue data by sending message to middle tier, and then, owing to the role of the user, the middle tier retrieves data. This provides a real-time management and transaction.Keywords Multi-tier application se

6、rver client MIS widget- 1 -目录第一章 引言- 1 -第二章 开发平台、技术介绍- 2 -2.1 Delphi7.0- 2 -2.1.1 Delphi7.0简介- 2 -2.1.2 Delphi7.0一些特性- 2 -2.2 Microsoft SQL Server 2000- 3 -2.2.1简介- 3 -2.2.2特性- 3 -2.3 分布式多层结构体系- 4 -第三章 系统总体设计及分析- 6 -3.1 需求分析- 6 -3.2 运行环境- 6 -3.2.1硬件设备- 6 -3.2.2支持软件- 6 -3.3 安全及可靠性设计- 7 -3.4 功能性需求分析-

7、7 -3.5 模块处理流程设计- 8 -3.6 数据库设计- 9 -3.6.1 表设计- 9 -3.6.2 存储过程- 9 -3.7 接口说明- 10 -第四章 本单位资料管理和进货管理的设计与实现- 11 -4.1系统整体模块设计- 11 -4.2模块详细设计与分析- 11 -4.2.1服务器端- 11 -4.2.1.1 应用服务器模式流程与配置- 11 -4.2.1.2远程模块的创建- 13 -4.2.2 客户端架构概述- 14 -4.2.3 本单位资料管理模块- 17 -4.2.3.1 子模块划分与数据流图- 17 -4.2.3.2 数据库设计- 18 -4.2.3.3 本单位资料模块详

8、细设计- 20 -4.2.4 进货管理模块- 23 -4.2.4.1 子模块划分与数据流图- 23 -4.2.4.2 数据库设计- 23 -4.2.4.3 子模块详细设计- 26 -第五章 技术难点、解决方案- 32 -5.1 关于scktsrvr.exe- 32 -5.2 关于存储过程中临时表- 32 -5.3 单据自动编号- 33 -第六章 结论- 34 -致谢语- 35 -参考文献- 36 - 1 -唯信机械MIS系统的分析与设计本单位资料设置模块与进货管理模块第一章 引言面临21世纪的机遇和挑战,如何高效运作获取新的经济增长点已成为企业关注的焦点。实现信息化是企业由“传统企业”转变为“

9、现代化企业”的根本途径。而要实现上述变革,就需要依靠高效率的、强有力的信息系统。企业只有实现了经营决策层、管理调度层、命令执行层的信息有机集成,才能及时调整管理策略,最大限度地满足市场需求,达到企业现代化集成管理的目的。而所谓MIS(管理信息系统-Management Information System)系统 ,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理

10、都将朝着高效、快速、无纸化的方向发展。唯信机械行业MIS系统将机械企业供应链(进、销、存)及财务管理溶为一体,以提升企业管理水平、减少运营成本、简化业务流程并实现企业效益最大化为目的,将物流、资金流与信息流以及人力资源结合在一起,从而对企业进行统一系统的管理,实现资源的优化配置。系统将管理与软件有机的结合起来,以简捷的操作、规范的流程、实用的功能、稳定的性能、鲜明的行业特点,帮助企业实现管理信息化。该系统通过业务单据、业务查询、财务处理、决策分析等功能模块为企业建立完善的经营管理平台,及严格的流程控制。通过商品多单位价格管理、进价及售价跟踪、销售价低于进价报警、库存上下限报警、客户信用额度控制

11、、多仓库管理、货位管理及决策分析等功能,为企业提供良好的信息管理渠道,最大程度的保障企业业务处理的流畅和安全,促进企业的高效运作。第二章 开发平台、技术介绍2.1 Delphi7.0 2.1.1 Delphi7.0简介Delphi 7是Borland公司推出基于Object Pascal语言的一种可视化集成开发工具,它提供了一个高度可视化的集成开发环境,也被称为IDE(Integrated Development Environment)。利用Delphi 7提供的集成开发环境可以快速、高效地开发出基于Windows环境的各类程序,与其他可视化的编程语言相比,Delphi提供的集成开发环境更具

12、效率和人性化,可以大大缩短程序的开发时间。Delphi是windows平台上最好的RAD(Rapid Application Development,快速应用开发)工具之一。它提供了一个完全可视化的开发环境,以直观的界面、简洁的语言、强大的功能和开放的系统为特色。它的出现,使得开发软件成为了一种乐趣。2.1.2 Delphi7.0一些特性1. 全面的开发平台在RAD开发工具当中,Delphi的能力恐怕是最为全面的。用Borland的话来说,它具有开发任何Windows程序的能力。由于其开放而优秀的控件体系,Delphi任何能力方面的不足都可以由其控件来增强。第三方厂商为Delphi提供了为数众

13、多的优秀控件,Delphi的能力得到了相当大的扩充。2. Delphi数据库应用程序的体系结构一个完整的数据库应用程序通常有以下几个部分组成:用户界面元素(数据控制控件)、数据源、数据集控件和数据库连接控件。大体上的遵循的结构都如图2-1所示。 数据集控件数据源控件连接控件用户界面(数据控制控件)数据库数据模块应用程序 图2-1 Delphi 数据库程序基本结构Delphi 7 有关数据库操作的可视化控件的功能相当强大,访问数据库的方有很多种:直接访问,如访问Paradox和DBASE数据库;通过ODBC访问,如访问Access、Foxpro等数据库;通过内嵌(Native)方式访问数据库,如

14、访问SQL Server、Oracle、DB2;通过Express方式直接访问数据库;通过ADO方式访问数据库等。而唯信机械MIS系统正是通过ADO方式访问数据库的。ADO(Active Data Object)是采用直接访问技术,是微软公司所推出的一套数据库访问规范。采用ADO的优点主要有3点:第一,速度快占用内存小,主要因为它直接使用操作系统的API函数;第二,它支持目前最为热门的Web应用开发;第三,它支持RDS(Remote Data Service),即通过客户端程序直接从远程服务器中把数据读取到客户端待客户端处理完这些数据后,再将修改后的数据返回远程服务器。2.2 Microsof

15、t SQL Server 2000 2.2.1简介Microsoft SQL Server 2000是基于客户端/服务器模式的新一代大型关系型数据库管理系统(DBMS,),它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性。2.2.2特性1. SQL Server 2000的体系结构SQL Server 2000是一个基于C/S模式的关系数据库管理系统,如图2-2所示。客户端应用程序提交SQL语句查询结果返回前台SQL Server 2000客户端服务器端图2-2 S

16、QL Server 2000 C/S模式结构示意图SQL Server采用C/S体系结构把所有的工作负荷分解为服务器上的任务和客户端任务。客户端应用程序负责商业逻辑和向用户提供数据,服务器负责对数据库的数据进行操作和管理。客户端(又称前台)应用程序包含显示与用户交互的界面,而对数据库中的数据进行处理描述成Transact-SQL语句(简称T-SQL语句),并将T-SQL语句送至服务器端(又称后台),后台的SQL Server执行该T-SQL语句后,产生查询结果,并将结果返回给客户端的应用程序。T-SQL是SQL Serve使用的一种数据库查询和编程语言,它除包含标准的SQL语句外,还增加了一些

17、非标准的SQL语句,使其功能更强大。使用T-SQL语言可建立、修改、查询和管理关系数据库。2. 存储过程在SQL Server中,可以定义子程序存放在数据库中,这样的子程序称为存储过程,存储过程是数据库对象之一。使用存储过程的优点如下:l 存储过程在服务器端运行,执行速度快。l 存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。l 确保数据库的安全。使用存储过程可以完成所有的数据库操作,并可通过编程方式控制上述操作对数据库信息访问的权限。l 自动完成需要预先执行的任务。存储过程可以在系统启动时候自动执行,而

18、不必在系统启动后再进行手工操作,大大方便了用户的使用,可以自动完成一些需要预先执行的任务。用户存储过程只能定义在当前数据库中,可以使用SQL命令语句或SQL Server的企业管理器创建存储过程2.3 分布式多层结构体系随着计算机的软、硬件及网络技术的发展,企业的需求也在不断地增长与变化。基于多层架构的分布式应用正在作为一种解决方案逐渐流行,MIDAS正是作为一种构造这种多层架构分布式应用系统而被推出的快速开发工具。MIDAS是多层分布式应用服务包(Multi-tier Distributed Application Services Suite)的缩写,是由Inprise公司开发的Windo

19、ws平台的中间件产品,它能够有效地利用DCOM、TCPIP、OLE Enterprise和CORBA技术。MIDAS提供了一套高级组件、服务和核心技术,可以简化跨平台(Windows、UNIX、Linux)、跨产品(Delphi、CBuilder、VC、VB等开发系统可以协调工作)的多级分布式应用系统的开发。使用MIDAS可以建立“瘦客户端应用程序服务器数据库系统”的多层分布应用程序。多层体系结构最大的优势可以概括为两点,一是集中化的商业逻辑,另一个是客户程序可以做的很“瘦”。目前较常见的是三层的体系结构,其中最关键的是应用服务器,它是三层体系结构中起承上启下的作用。如图2-3所示是三层数据库

20、应用程序的体系结构。操纵数据库信息的逻辑是处在中间层上,中间层集中管理支配数据库交互的逻辑,从而使不同的客户端应用程序能够使用同一数据,而且可以使客户应用程序很“瘦”,因为许多处理放在了中间层上面了。图2-3 三层数据库应用程序的体系结构三层是最简单的多层应用,它把应用程序分为:瘦客户端应用程序、应用程序服务器和远端数据库服务器。其中,客户端主要负责用户界面的处理;服务器端主要负责商业逻辑的处理,为客户端提供公共的数据服务,处理客户端与数据库间的数据流;远端数据库服务器提供关系数据的存取和维护。一般的三层体系结构如图2-4所示,包括三部分:l 客户应用程序(Client Application

21、),它存放在用户的计算机上,用于实现用户的接口;l 应用程序服务器(Application Server),提供公共的数据服务等,它存放在所有客户端可访问到的计算机上;l 远程数据库服务器(Remote DataBase Server),用来存储应用程序数据资料的关系数据库管理系统(RDBMS)。客户应用程序客户应用程序客户应用程序应用程序服务器远程数据库服务器图2-4 三层体系结构第三章 系统总体设计及分析3.1 需求分析本单位资料管理子模块包括职工资料设置,仓库信息设置,部门信息设置,职称信息设置四个部分。在设置职工资料的时候,应该先设置部门信息和职称信息。1. 职工资料设置的主要功能是:

22、负责录入公司员工的一些基本信息,如员工编号,姓名,生日,学历,所属部门,职称等信息。 2. 仓库信息设置的主要功能是:设置公司所拥有的仓库信息,名字代表仓库的所在地。用户可以查询仓库的具体信息。3. 部门信息设置的主要功能是:设置公司部门信息,管理可添加、删除公司的部门设置。用户可查看所有部门信息。4. 职称信息设置的主要功能是:设置公司职工的职称。进货管理子模块包括进货询价、进货报价、进货单、进货退货单。用户先通过进货询价,生成进货报价单,通过进货报价单向往来公司进货。1. 进货询价的主要功能是:向往来公司查询要进货商品的价格,运费等信息。2. 进货报价的主要功能是:根据进货询价单,对进货的

23、商品逐个进行报价。3. 进货单的主要功能是:对已经报价的商品生成一张进货单据。4. 进货退货的主要功能是:对不满意的商品进行退货。3.2 运行环境3.2.1硬件设备运行该软件所需要的设备及其规格,包括:1. 客户端要求:CPU为奔腾处理器3及以上,内存为64M及以上。2. 服务器要求:CPU为赛扬2G及以上,内存为256M及以上。3.2.2支持软件1. 客户端要求:系统为Windows98及以上2. 服务器要求:l 服务器操作系统:Windows98及以上。l 数据库:SQL Server 20003.3 安全及可靠性设计1. 安全设计我们在用户登录时进行判断,设计了一个安全机制,用以检验当前

24、用户是否登陆,未登陆则不可以使用该系统,以实现检验当前用户是否为合法用户。2. 权限设计为了进一步保证系统的安全和可靠性,我们设置了二种不同的用户权限,分别是管理员、一般用户。l 管理员用户可以操作该系统的所有功能。l 一般用户只可以对已经分配权限的模块进行操作。3.4 功能性需求分析表1 功能性需求分类描述表功能类别功能名称、标识符描述系统风格风格选择用户可选定所需风格资料管理本单位资料设置模块管理员可设置职工资料、部门信息、职称信息、单位仓库信息往来公司资料设置模块用户可设置行业类型、地区资料、客户信用度、客户公司资料信息商品资料设置模块用户可设置商品类别、计量单位、库存单位换算、商品库存

25、信息等业务管理进货管理模块用户可通过进货询价单进行进货报价,再通过进货报价单生成进货单,可进行进货退货管理销售管理模块用户可通过销售报价单生成销售单,可进行销售退货管理库存管理模块用户可通过进货单进行进货入库,通过进货退货单进行退货出库,可通过销售单进行销售出库,通过销售退货单进行退货入库,用户可查询现有库存系统管理帐户管理管理员可设置员工为系统用户,为用户分配权限,管理实时在线用户;用户可修改密码,查询在线历史记录消息管理用户可查看公告消息和个人信息系统维护3.5 模块处理流程设计图3-1系统程序逻辑流程3.6 数据库设计3.6.1 表设计表2 本单位资料子模块的数据库表表名 说明属性说明c

26、lerk_table定义职工编号、职工姓名、姓别、学历、职称、所属部门、生日、入职时间、联系电话等depot_table定义仓库编号、仓库名称、备注dep_table定义部门编号、部门名称、备注title_table定义职称编号、职称名称、备注表3 进货管理子模块的数据库表表名 说明属性说明stock_inquiry_table定义编号、询价时间、操作员、供应商、报价与否stock_inquiry_product_table定义询价单中商品的类别、单价、运费、数量等stock_quote_table定义报价单编号、对应的询价单编号、报价人、时间等stock_table定义进货单编号、对应的报价

27、单编号、进货人、审核人、是否审核、进货总价等stock_product_table定义询价单中商品的类别、单价、运费、数量等stock_return_table定义退货单编号、对应的进货单编号、退货人、审核人、 是还审核、退货总价等stock_return_product_table定义询价单中商品的类别、单价、运费、数量等3.6.2 存储过程由于本系统采用三层结构,对数据的查询、增加、修改等均采用存储过程来操作。对于数据库运算处理频繁或数据运算量较大的任务,用存储过程实现,可以提高系统整体的运行效率;此外,存储过程在数据库服务器端执行,只将执行结果返回到客户端。对于多层Client/Serv

28、er结构的数据库应用系统,一般采用将程序参数存放在后台数据库表中,可以更好的保持数据库系统中的数据一致性。3.7 接口说明我们定子功能间的接口模式为数据库模式。如一般用户向系统提交的进货单时是向stock_table表中插入;而进货单审核员通过查看该记录选择同意进货与否。第四章 本单位资料管理和进货管理的设计与实现4.1系统整体模块设计唯信机械行业MIS系统资料管理业务管理账务管理员工管理系统维护系统管理本单位资料设置往来公司资料设置商品资料设置进货管理销售管理库存管理账户管理消息管理 图4-1 系统模块划分4.2模块详细设计与分析4.2.1服务器端4.2.1.1 应用服务器模式流程与配置应用

29、程序服务器的数据库连接模式流程如图4-2所示。 图4-2 应用程序服务器数据连接模块流程图三层分布式体系结构的应用服务器,其基础是一个远程数据模块(Remote Data Module),它能够支持IAppServer接口。 客户端正是使用IAppServer接口与应用服务器上的供应器通信,从而进行各种数据操作。作为应用服务器,起到的功能是客户端与数据库服务器之间的衔接作用。用户可以通过输入IP动态连接数据库服务器,连接成功之后,可以实时查看客户端的连接情况。服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。建立一个应用服务器的关

30、键是动态连接数据库服务器以及使用一个远程数据模块,此外的工作和通常的数据库应用很类似。动态连接数据库服务器的实现。首先用Delphi新建一个应用程序(Application),系统会自动生成一个页面form,在窗体中添置一个ADO组件栏的ADOConnection控件(如图4-3),并进行一些必要的窗体设置后,窗体如图4-4所示:图4-3 ADOConnection控件图4-4 服务器窗体在这个应用服务器配置窗体中,需要输入数据库服务器主机名(或者IP地址)、数据库名、数据库用户名以及密码,这些配置信息将用来连接数据库服务器。如果连接成功,输入的配置信息将被写入到当前目录的DB.ini文件中,

31、下次程序启动时,可以通过连接按钮读取该文件的配置信息,就可以方便连接数据库了。4.2.1.2远程模块的创建Delphi共有四种远程数据模块,分别是远程数据模块(TRemoteDataModule)、事务数据模块(TMTSDataModule)、Corba数据模块(TCorbaDataModule)以及SOAP数据模块,TMTSDataModule用于建立MTS/COM+的应用服务器,Corba主要面向Corba客户端,SOAP主要支持于Web Service,由于本系统基于C/S架构,因此我们选用了最为普遍的TRemoteDataModule远程数据模块从Delphi的菜单中选择File>

32、;New>Other,出现New Items的对话框,单击Multitier页面,选择Remote Data Module选项,选择了一个TRemoteDataModule远程数据模块(如图4-5)图4-5 远程数据模块接下来是它的向导配置界面,需要指定Coclass名字、实例类型、线程模型,如图4-6所示:图4-6 向导配置在Coclass Name指定类名,程序将建立一个新的单元,它是TRemoteDataModule的派生,在此我们输入Engine。Instancing是指定实例的类型,我们选择默认的Multiple Instance,这样每个远程数据模块是单个客户端连接专有的,但

33、他们都共享同一进程空间。在Threading Model中,选择Apartment能够确保远程数据模块的任何实例在同一时间内只服务于一个请求,这样能够避免线程冲突。到此,应用服务器大体搭建完毕,运行程序,应用服务器将完成注册,此时系统将提供一个唯一的GUID值(如图4-7),供客户端连接验证。图4-7 GUID值4.2.2 客户端架构概述1. 连接服务器方式的选择在Two-Tier模式中,客户端程序是直接和数据库服务器的数据源相连的,而Multi-Tier模式,多个客户端连接的是应用程序服务器,它们之间是通过IAppServer接口进行通信的,而客户端则是通过一个连接组件得到这个接口。在Del

34、phi中,存在着多种连接组件,它们对应着不同的通信协议,对应于应用服务器上的不同种类的远程数据模块,客户端也需要不同的种类的连接组件,如表4所示:表4 连接组件比较组件协议连接到的远程数据模块TDCOMConnectionDCOMRemoteDataModule或者MTSDataModuleTSocketConnectionWindows Socket (TCP/IP)RemoteDataModule或者MTSDataModuleTWebConnectionHTTPRemoteDataModule或者MTSDataModuleTSoapConnectionSOAP (HTTP和XML)Soap

35、DataModuleTCorbaConnectionCORBA(IIOP)CorbaDataModule由于应用服务器所选用的远程数据模块是RemoteDataModule,并且系统基于C/S架构,因此所选用的连接组件将是TDCOMConnection或TSocketConnection。TDCOMConnection 提供了核心的NTLM的安全性和验证机制。在COM/DCOM里面我们可以很轻松地使用早联编(early-binding)、 回调机制(callback)和连结点机制(ConnectionPoints)。 但是它的不利因素就是配置客户端的DCOM和让DCOM透过防火墙(FireWa

36、ll)相当麻烦而相对于TDCOMConnection,TSocketConnection虽然不支持早联编(early-binding),但它无疑是最容易配置的连接方式,而且TSocketConnection只使用一个端口(默认211)来进行通讯,这样如果在拥有防火墙的系统中,管理员会更乐意接受。在安装中间层的机器上,只要运行SCKTSRVR.EXE(如图4-8)就可以和客户端建立Socket的连接了。(scktsrvr.exe存放于Delphi安装路径的Bin目录下)如图4-8 scktsrvr.exe2. 客户端架构的搭建使用File菜单下的New Application建立一个新应用程序。

37、将新建的form命名为e_main.pas,并在其中放置一个连接组件SocketConnection1 (TsocketConnection组件)如图4-9所示,其IP属性中本应指定应用程序服务器的IP地址,但由于要实现动态连接应用服务器,而且我们开发客户端程序的时候必须注册应用服务器,所以为了开发方便,使用的是同一台,因此这里的IP地址选择本机127.0.0.1。这样在ServerName属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建的名为server.Engine的远程数据模块),就可以定位应用服务器和IAppServer接口。同时在Port属性中取默认值211与scktsr

38、vr.exe对应。图4-9 TsocketConnection组件图4-10 SocketConnection1属性配置3. 动态连接应用服务器、用户登陆界面客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。我们将这个配置信息存储在windows系统的注册表中,(分支:HKEY_LOCAL_MACHINESOFTWARE唯信机械MIS系统),客户端启动时如果能够找到配置信息,便进行尝试连接,连接成功则进入用户账号登陆界面,如果连接失败,则弹出应用服务器配置

39、界面重新配置。为了适应这些界面的逻辑调度,我们决定把e_main.pas作为工程主页面(客户端一运行即在后台启动,但不显示),然后调用函数(ConnectAppServ)读取注册表进行连接,连接成功则显示账户的页面,连接失败则出现客户端配置界面如图4-11。 图4-11 客户端配置界面4.2.3 本单位资料管理模块4.2.3.1 子模块划分与数据流图根据系统功能,本单位将资料管理划分为几个模块,如图4-12所示。图4-12 本单位资料模块构架图本单位资料设置的数据流图(DFD图)如图4-13所示。图4-13 本单位资料数据流图4.2.3.2 数据库设计1. 基本表设计根据上述数据流图,本单位资

40、料管理中共包含4个数据库表,依次为职工资料信息表clerk_table保存公司职工的基本信息,仓库信息表depot_table用于设置公司仓库,部门信息表dep_table设置公司的部门种类,职称信息表title_table设置公司的职称类型。这里只列出表clerk_table的具体设计,如表5所示。表5 职工资料信息表clerk_table序号字段名类型长度精度小数位数默认值允许空主键说明0clerk_idvarchar50职工编号1clerk_namevarchar50职工姓名2clerk_sexvarchar4职工姓别3clerk_diplomavarchar50职工学历4clerk_d

41、ep_idvarchar50职工所在部门ID5clerk_title_idvarchar50职工职称ID6clerk_birthdaysmalldatetime4职工生日7clerk_workdaysmalldatetime4职工入职日期8clerk_phonevarchar50职工电话9clerk_emailvarchar50职工电子信箱10clerk_addressvarchar50职工居住地址11clerk_markvarchar300备注2. 存储过程创建由于本系统采用三层结构,对数据的查询、增加、修改等均采用存储过程来操作。对于数据库运算处理频繁或数据运算量较大的任务,用存储过程实现

42、,可以提高系统整体的运行效率;此外,存储过程在数据库服务器端执行,只将执行结果返回到客户端。而本单位资料管理中,涉及到的存储过程有职工资料信息的增加或修改update_clerk_info,仓库信息的增加或修改update_depot_info,部门信息的增加或修改update_dep_info,职称信息的增加或修改update_title_info。这里只给出update_clerk_info的具体程序,如下所示: / update_clerk_infoCREATE PROCEDURE update_clerk_info( t int, -判断插入还是修改 update_id int, -插

43、入的要修改的id数值 id varchar(50), name varchar(50), sex char(2), diploma char(10), vdep_id varchar(50), vdep_name varchar(50), vtitle_id varchar(50), vtitle_name varchar(50), birthday smalldatetime, workday smalldatetime, phone varchar(50), email varchar(50), address varchar(50), mark varchar(300) asif (t=

44、1)begin select vdep_id=dep_id from dep_table where dep_name=vdep_name; select vtitle_id=title_id from title_table where title_name=vtitle_name;update clerk_table set clerk_name=name,clerk_sex=sex, clerk_diploma=diploma, clerk_dep_id=vdep_id,clerk_title_id=vtitle_id, clerk_birthday=birthday,clerk_wor

45、kday=workday,clerk_phone=phone, clerk_email=email,clerk_address=address,clerk_mark=mark where clerk_id=id ;endif (t=2)begin select vdep_id=dep_id from dep_table where dep_name=vdep_name; select vtitle_id=title_id from title_table where title_name=vtitle_name;insert clerk_table values(id,name,sex,dip

46、loma,vdep_id,vtitle_id,birthday,workday,phone,email,address,mark); update auto_add_table set clerk_id= update_id where auto_id=1; endGO4.2.3.3 本单位资料模块详细设计本单位资料设置主要是让管理员管理职工资料、部门信息、仓库信息、职称信息。采用用户点击完,弹出具体页面让用户设置。1. “职工资料详细信息”子窗体设计完成后的“职工资料详细信息”子窗体如图4-14所示。图4-14 “职工资料详细信息” 子窗体该窗体用于查看所有职工的基本信息,在窗体里添加一个c

47、lientdataset1,其RemoteServer属性值为main.SocketConnection1(主窗体用于连接应用程序服务器server),ProviderName属性值为get_clerk_dsp(应用程序服务器server中用于连接数据库的存储过程的TDataSetProvider),通过设置数据库控件的以上属性,将Client端数据库控件与Server端远程数据模块中的数据库控件连接起来,这是多层数据库应用程序设计中最为关键的属性设置。当单击“增加”或“编辑”按钮后,弹出“职工资料录入”子窗体,如图4-15所示。当单击“删除”按钮后,弹出对话框确认是否删除,其中“删除”事件调

48、用server中的Appserver函数del_clerk(clerk_id,vdeled)。当单击“查找”按钮时,弹出如图4-16所示的窗体,可以选择要按哪个字段查找。图4-15 “职工资料录入”子窗体当单击“职工资料录入”子窗体中的“保存”按钮后,程序将首先取出编辑栏中的数据做为参数,通过Server端提供的接口函数update_clerk(vt,vupdate_id,vid,vname,vsex,vdiploma,vdep_name,vtitle_name,vbirthday,vworkday,vphone,vemail,vaddress,vmark,vsaved),传递到数据库中的存储

49、过程update_clerk_info中,执行并更新数据库Engine中的表clerk_table。图4-16 “职工资料查找”子窗体当单击“职工资料查找”子窗体中的“确定”按钮后,程序取出要查字段做为参数,通过Server端提供的接口函数find_clerk(itemnumber,contentstr,vfound),把参数传递到数据库中的存储过程find_clerk_info中,执行存储过程,并把找到的数据存放在一个临时表中。2. “仓库资料详细信息”子窗体由于该模块的具体设置跟“职工资料详细信息”子窗体很相似,故这里只简单重复介绍一下参数设置和内容。内容:编号自动生成,设置仓库名称及仓库

50、区简介作用:商品入库时,供用户选择。操作:可增加、编辑、删除、查找仓库资料。该模块通过TClientDataSet控件与后台数据库相连,RemoteServer属性设置为main.SocketConnection1,ProviderName属性值为get_depot_dsp。增加、修改通过调用server的接口函数update_depot,执行数据库中的存储过程update_depot_info。 删除通过调用server的接口函数delet_depot。查找通过调用server的接口函数find_depot,执行数据库中的存储过程find_depot_info。 3. “部门资料详细信息”子

51、窗体由于该模块的具体设置跟“职工资料详细信息”子窗体很相似,故这里只简单重复介绍一下参数设置和内容。内容:编号自动生成,设置部门名称及备注。作用:当公司增加职工时,可选择该职工所在的部门。操作:可增加、编辑、删除、查找部门资料。该模块通过TClientDataSet控件与后台数据库相连,RemoteServer属性设置为main.SocketConnection1,ProviderName属性值为get_dep_dsp。增加、修改通过调用server的接口函数update_dep,执行数据库中的存储过程update_dep_info。 删除通过调用server的接口函数delet_dep。查找

52、通过调用server的接口函数find_dep,执行数据库中的存储过程find_dep_info。 4. “职称资料详细信息”子窗体由于该模块的具体设置跟“职工资料详细信息”子窗体很相似,故这里只简单重复介绍一下参数设置,内容及操作。内容:编号自动生成,职称名称及备注。作用:当公司增加职工时,可选择该职工的职称。操作:可增加、编辑、删除、查找职称资料。该模块通过TClientDataSet控件与后台数据库相连,RemoteServer属性设置为main.SocketConnection1,ProviderName属性值为get_title_dsp。增加、修改通过调用server的接口函数upd

53、ate_title,执行数据库中的存储过程update_title_info。 删除通过调用server的接口函数delet_title。查找通过调用server的接口函数find_title,执行数据库中的存储过程find_title_info。 4.2.4 进货管理模块4.2.4.1 子模块划分与数据流图根据系统功能,本单位将资料管理划分为几个模块,如图4-17所示。图4-17 本单位资料模块构架图 本单位资料设置的数据流图(DFD图)如图4-18所示。图4-18 本单位资料数据流图4.2.4.2 数据库设计1. 基本表设计根据上述数据流图,进货管理模块中共包含7个数据库表,依次为进货询价

54、表stock_inquiry_table保存询价的基本信息,进货询价商品表stock_inquiry_product_table用于添加商品信息,进货报价表stock_quote_table保存报价的基本信息,进货单表stock_table对应该于进货报价单的基本信息,进货商品表stock_product_table对应于进货报价商品,进货退货表stock_return_table对应进货单生成退货信息,进货退货商品表stock_return_product_table保存退货商品的信息。这里只列出stock_inquiry_table(表6)和stock_inquiry_product_ta

55、ble(表7)两个表的具体设计。表6 进货询价表stock_inquiry_table序号字段名类型长度精度小数位数默认值允许空主键说明0stock_inquiry_idnvarchar50进货询价单编号1stock_inquiry_timesmalldatetime4询价时间2stock_inquiry_user_idnvarchar50询价人3stock_inquiry_company_idnvarchar50公司ID4quote_ifnotnvarchar50是否审核表7 进货询价商品表stock_inquiry_product_table序号字段名类型长度精度小数位数默认值允许空主键说

56、明0stock_inquiry_idnvarchar50进货询价单编号1stock_inquiry_product_idnvarchar50商品小类ID2stock_inquiry_product_numberint4商品数量3stock_inquiry_product_measurenvarchar50计量单位4unit_pricemoney4商品单价5carriagemoney4商品运费6totalmoney4总计7stock_inquiry_product_marknvarchar300备注2. 存储过程进货管理中,涉及到的存储过程有进货询价单增加或编辑update_stock_inqu

57、iry_info,进货询价商品编辑update_stock_inquiry_product_info,进货报价单增加或编辑update_stock_quote_info,进化报价商品编辑update_stock_quote_product_info,进货单增加或编辑update_stock_info,进货商品编辑update_stock_product_info,进货退货单增加或修改update_stock_return_info,进货退货商品编辑update_stock_return_product_info,进货单审核check_stock_info,进货退货审核check_stock_r

58、eturn_info。这里给出update_stock_info与update_stock_product_info的具体程序,如下所示:/update_stock_infocreate procedure update_stock_product_info( id varchar(50), vproductid varchar(50), vproductname varchar(50), unit_price money, carriage money, total money)asselect vproductid=product_small_id from product_small_table where product_small_name=vproductname;update temp_stock_product_table set unit_price=unit_price,carriage=carriage,total=total where stock_quote_id=id and stock_product_id=vproductid;GO/update_stock_product_infoCREATE procedure update_stock_info( t int, -判断插入还是修改 update_id

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!