还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
1.事务概述事务是用户定义的一组操作序列的集合,是数据恢复和并发控制的根本单位数据库系统在执行事务时,要么执行事务中全部操作,要么一个操作都不执行事务可以是一条SQL语句、一组SQL语句、也可以是一组操作序列甚至整个操作系统在应用程序中,事务的开始与结束可以由用户显示地控制如果用户没有显示地定义事务,则由DBMS自动地按照缺省方式划分事务在SQL中,显示定义事务的语句有如下3条
①BEGIN TRANSACTION该语句显示地定义一个事务的开始在应用程序中的某处嵌入此语句,就表示一个新的事务已经开始
②COMMIT该语句显示地提交一个事务,并表示该事务已正常结束所谓提交事务,就是将该事务的所有更新操作结果永久地保存到磁盘上的物理数据库中去此语句用于事务的正常结束情况
③ROLLBACK该语句显示地回滚一个事务,且表示事务因执行失败而结束所谓回滚事务,就是撤消该事务对数据库的所有更新操作,使数据库恢复到该事务开始时的状态因此,此语句用于事务执行失败时的结束情况由以上可知,用户若要显示地定义事务,必须以BEGIN TRANSACTION开始,而以COMMIT或ROLLBACK结束
2.事务的特性ACID特性事务具有四个特性,即原子性、一致性、隔离性和持续性,又常简称为ACID特性
①原子性Atomicity即一个事务是不可分割的数据逻辑工作单位,事务中包括的所有操作要么都做,要么都不做
②一致性Consistency事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一致性状态指数据库中只包含成功事务提交的结果不一致状态指数据库中包含失败事务的结果
③隔离性Isolation一个事务的执行不能被其他事务干扰一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰
④持续性Durability持续性也称永久性Permanence一个事务一旦提交,它对数据库中数据的改变就应该是永久性的接下来的其他操作不会对其执行结果有任何影响保证事务ACID特性是事务处理的任务,破坏事务ACID特性的因素多个事务并行运行时,不同事务的操作交叉执行事务在运行过程中被强行停止
3.4CS模式的介绍CS ClientServer,即客户效劳模式又称C/S结构,是软件系统体系结构的一种,建立在局域网的基础上C/S模式简单地讲就是基于企业内部网络的应用系统与B/SBrowser/Server,浏览器/效劳器模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用CS模式是一种两层结构的系统第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库效劳器CS模式主要由客户应用程序、效劳器管理程序和中间件三个局部组成首先,交互性强是CS固有的一个优点在CS中,客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换其次,CS模式提供了更平安的存取模式由于CS配备的是点对点的结构模式,采用适用于局域网、平安性可以得到可靠的保证而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其平安性只能靠数据效劳器上管理密码的数据库来保证由于CS在逻辑结构上比BS少一层,对于相同的任务,CS完成的速度总比BS快,使得C/S更利于处理大量数据由于客户端实现与效劳器的直接相连,没有中间环节,因此响应速度快同时由于开发是针对性的,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求典型的C/S模式应用系统网络结构如下列图Server服务器图
3.1典型的C/S模式应用系统网络结构图第4章系统分析设计
4.1系统定义
4.
1.1整个系统的定义整个系统是对软件公司的合同(销售合同、采购合同)、物品(商品、资产)、资金、基础数据(客户信息、员工信息等)进行管理,来实现工程的一元化管理从而加强部门和工程的财务核算、加快资金流转与资金使用效率、加强库存物品的入出库管理、加强公司固定资产管理,最终提高企业的管理效率使用此系统,管理员或社员首先要用自己的账号来进行登陆(登陆后可以修改自己的资料),然后依据自己所具有的权限来进行跟业务有关的操作整个系统分合同管理、仓库管理、资产管理、收款管理、付款管理、业务对象管理六大模块
4.
1.2仓库模块的定义仓库模块是对软件公司的物品(商品和资产)进行管理,从而加强企业的物品管理,到达人工管理所不能到达的效果首先担当者凭入(出)库申报表向仓库管理员办理物品入(出)库手续,仓库管理员检查物品的采购手续(出库手续)是否符合规定,无相应合同管理编号者不得入(出)库,符合条件予以入(出)库除此之外,仓库管理员还可以根据库存盘点情况调整库存数量,并根据实际情况对库存信息进行修改、删除等操作,依工作需要查询库存信息或打印入出库物品清单、销售库存清单、资产库存清单、调整信息清单对一定的操作,系统将发送邮件给相应的人员,这样邮件就可以作为履历来记录操作
4.2需求分析
4.
2.1功能需求
(1).入库管理
①物品根本信息的入库、入库信息的修改和删除;
②入库信息一览可对入库信息进行查询、排序、分组、计算等操作;
③打印入库信息打印入库信息一览或打印入库信息查询结果
(2).出库管理:
①对入库物品进行出库登录、出库信息的修改和删除;
②出库信息一览可对出库信息进行查询、排序、分组、计算等操作;
③打印出库信息打印出库信息一览或打印出库信息查询结果
(3).盘点调整
①根据库存盘点情况调整库存数量;
②根据需要打印差异和调整数据清单或打印盘点调整信息查询结果
(4).库存管理
①销售库存和资产库存一览;
②打印销售库存和资产库存信息打印销售库存和资产库存一览或打印销售库存和资产库存信息查询结果
(5).报表导出以上各种信息报表导出为EXCEL格式,文件名为信息名称加时间,时间格式为年月日
(6).数据查询可条件组合查询入库信息、出库信息、盘点调整信息、销售库存信息、资产库存信息
(7).数据刷新点击刷新按钮刷新当前显示信息一览,从而防止数据在别处被其它用户修改所造成的错误操作
(8).邮件发送入库、出库的添加和修改时发送邮件给相应的人员
4.
2.2出错处理
1.对用户的数据添加、修改、删除的成功与失败都要进行信息提示
2.登录失败、数据库连接失败等错误信息要进行显示
3.进行删除操作时,对不能删除的数据进行信息提示4总体设计
4.
3.1系统的层次图软件公司资金资产管理系统可以分为六个模块合同管理、仓库管理、资产管理、收款管理、付款管理、业务对象管理整个系统的层次图HC图如下列图所示主要对仓库管理模块进行层次分析,以灰色标注
4.
3.2仓库模块数据流图图
4.2仓库模块数据流图
4.
3.3开发标准规约编码标准可读性要强,其它标准见表
4.「
4.31表
4.1变量命名标准接头字变量类型备注S StringIIntegerB BooleanQryTADOQueryDs TDataSource2表
4.2过程名和函数名命名标准接头字类型备注Pro过程procedurefuc函数function3表
4.3控件命名标准接头字控件类型备注Lb TLabel静态的TLabel不要求此标准Edt TdxEditDedtTdxDateEditBtn TBitBtnChkTCheckBoxI mgTImagePgc TPageControlTbsTTabSheetDx TdxMemoRdgTRadioGroupCbo TdxPickEditSbTSpeedButtonClb TCoolBarTibTdxSideBar和TToolBarTlbb TToolButtonQryTADOQueryGrid TdxDBGridMmTMainMenuFram Tfram功能扩展的控件注窗体命名以frm开头4注释注释局部每行以〃开始,如注释的局部比较长有多行时,用{}把注释局部括起来
4.
3.4数据库设计
1.数据库的选择数据库选择SQL Server
20002.数据库表的设计本课题中设计的数据库名称可以动态定义主要数据表见表
4.4-
4.7o
①表
4.4仓库物品入库表表名为SalelnWarehouse数据库表字段名表字段名数据类型字段含义入库编号GoodsID N10,0主键,流水号合同管理编号BargainID N8,0外键,合同信息表中的合同管理编号物品名称GoodsName C50物品种类GoodsType C16入库数量Quantity N8,2单位Unit C8物品购置单价UnitPrice N10,2币种Currency Nl,0人民币对价ChineseMoney N10,2入库日期InDate date入库依赖者InMan C20外键,用户表中的用户ID备注Memo memo创立用户ID CreateUserlDN10外键,用户表中的用户ID创立时间CreateDate date最后修改用户ID LastModiUserlDN10外键,用户表中的用户ID最后修改时间LastModiDate date删除标记DelFlg Nl,00:没删除1:已经删除
②表
4.5销售物品出库表(表名为SaleOutWarehouse)数据库表字段名表字段名数据类型字段含义出库编号OutID N10,0主键,流水号入库编号GoodsID N10,0外键,仓库物品入库表中的物品编号合同管理编号BargainlD N8,0外键,合同信息表中的合同管理编号物品名称GoodsName C50物品种类GoodsType C16出库数量Quantity N8,2物品销售单价UnitPrice N10,2币种Currency Nl,0人民币对价ChineseMoney N10,2出库日期OutDate date出库依赖者OutMan C20外键,用户表中的用户ID出库类型OutFlag Nl,00:销售出库1:出库到资产备注Memo memo创立用户ID CreateUserlDN10外键,用户表中的用户H)创立时间CreateDate date最后修改用户ID LastModiUserlDN10外键,用户表中的用户ID最后修改时间LastModiDate date删除标记DelFlg Nl,00:没删除1:已经删除
③表
4.6盘点调整表(表名为CkeckAdjust)数据库表字段名表字段名数据类型字段含义盘点调整编号AdjustID N10,0主键,流水号入库管理编号GoodsID N10,0外键,仓库物品入库表中的物品编号资产管理编号AssetID N10,0外键,资产信息表中的资产管理编号物品名称GoodsName C50调整数量AdjustNum N8,2正负数调整日期AdjustDate date类别Type Cl0销售1资产理由Memo memo确认人ConfirmMan N10外键,用户表中的用户ID创立用户CreateLogon N10,0外键,用户表中用户的编号code创立时间CreateDate date最后修改用户LastModiLogon N10,0外键,用户表中用户的编号code最后修改时间LastModiDate date删除标记DelFlg Nl,00:没删除1:已经删飨
④表
4.7资产信息表表名为Assetinfo表字段名数据库表字段名数据类型字段含义资产管理编号AssetID N10,0主键,流水号合同管理编号Bargain IIN8,0外键,合同信息表中的合同管理编号物品编号GoodsID N10,0外键,仓库物品入库表中的物品编号资产名称AssetName C50资产型号AssetType C⑵资产数量AssetNum N8,2单位Unit C8附属资产管理编号MainAssetID N10,0资产属性记述AssetPro memo资产使用者AssetUser N10,0外键,用户表中的用户ID资产登录日期RegisterDate date资产购入价格BuyPrice N10,20:销售出库1:出库到资产币种Currency Nl,0购入人民币对价BuyChMoney N10,0资产购入日BuyDate date资产折旧期间DepreDate N10,0折旧月份数资产现价格NowPrice N10,2现人民币对价NowChMoney N10,2资产报废口RepayDate date资产区分AssetFlg Nl0:老资产1:新购资产资产状态AssetStat Nl0:资产在库状态1:资产使用状态备注Memo Memo创立用户ID CreateUserlDN10外键,用户表中的用户ID创立时间CreateDate date最后修改用户ID LastModiUserlDN10外键,用户表中的用户ID最后修改时间LastModiDate date删除标记DelFlg Nl,00:没删除1:已经删除注其它表参见系统文档
4.4详细设计
4.
4.1仓库模块主要业务分析
1.系统登陆,进入仓库管理模块用户输入账号和用户密码,如果用户账号与密码匹配则进入系统主菜单界面系统再判断用户是否拥有仓库管理相关权限,如果有,则用户可点击进入仓库管理模块;否则,用户不能进入仓库管理模块进入仓库管理模块后,系统再根据用户权限来判断用户可进行的相关操作,来进行界面的设置比方用户不能进行入库操作,则入库登录按钮为灰色不可用
2.入库信息维护
①物品根本信息的入库登录添加根本的入库信息,如采购合同编号、物品名称、物品型号等,添加物品根本信息时采购合同管理编号不能为空且一定要存在这个合同,不能选择物品已经全部入库的合同,最终入库状态选中时修改合同的物品状态为最终状态
②入库信息的修改点击相应入库管理信息一览里的入库信息,传递数据给入库修改界面并弹出修改界面,修改界面和入库登录界面共用
③入库信息的删除没有真正删除,只是修改标志位;删除前要确认是否真的要删除;确认后,有以下情况之一则不能删除,并给出提示,a.有相关联的出库信息b.有相关联的盘点调整信息c.已经最终入库的;除这些情况以下,则可删除删除后,根据情况修改合同的物品状态
④入库信息一览默认以入库编号递增排序,可进行查询、排序、分组、计算等操作
⑤入库信息查询可按入库日期、合同管理编号、入库委托人、物品编号等进行查询
⑥打印入库信息打印入库信息一览或打印入库信息查询结果
3.出库信息维护
①物品根本信息的出库登录点击相应入库管理信息一览里的入库信息,传递数据给出库登录界面并弹出出库登录界面,销售合同管理编号由用户进行选择或输入,出库合同与入库合同不能相同,所选的合同的物品为最终出库时不能出库,出库数量不能大于剩余数量,最终出库状态选中时修改合同的物品状态为最终状态
②入库信息的修改点击相应出库管理信息一览的出库信息,传递数据给出库修改界面并弹出修改界面,修改界面和出库登录界面共用,修改后的出库数量不能大于原来的出库数量加剩余数量
③入库信息的删除没有真正删除,只是修改标志位;删除前要确认是否真的要删除;确认后,有以下情况之一则不能删除,并给出提示,a.为资产出库b.已经最终出库,除这些情况以下,则可删除删除后,根据情况修改合同的物品状态
④入库信息一览可对入库信息进行查询、排序、分组、计算等操作
⑤打印入库信息打印入库信息一览或打印入库信息查询结果
⑥出库信息一览默认以出库编号递增排序,可对信息进行查询、排序、分组、计算等操作
⑦出库信息查询查询可按出库日期、合同管理编号、出库委托人、物品编号等进行查询
⑧打印出库信息打印出库信息一览或打印出库信息查询结果
4.库存信息计算
①销售库存的计算销售库存是指还没出库完的物品加上调整的数量
②资产库存的计算在库、未报销、未删除的资产减去调整的数量
4.
4.2仓库管理主界面说明工具栏按钮包括入库登录、出库登录、修改、删除、盘点调整、刷新、查询、导出、关闭按钮,点击这些按钮可完成相应的功能删除和修改对入库和出库是公用的,根据数据显示框架的当前活动页及数据情况来设置按钮的可见性根据权限设置按钮的可用性数据显示框架用来显示入库管理信息、出库管理信息、销售库存信息、资产库存信息、调整信息,默认显示入库管理信息在最前面(即活动页默认为入库管理信息)主界面如下列图(窗体名为frmWarehouse,单元文件名为WarehouseFrm)图
4.3仓库管理主界面
4.
4.3入库信息登录和修改界面登录和修改共用一个界面点击工具栏的入库登录按钮或当数据显示框架的当前活动页为入库管理信息时点击工具栏的修改按钮时,弹出该界面说明入库编号不可输入,为自动编号,修改时可显示数据,但不可修改采购合同编号可输入也可由控件选择,控件为功能扩展控件入库依赖者和所属仓库由控件选择,控件为功能扩展控件焦点设置由用户操作方便出发,焦点顺序从左到右,再从上到下入库日期弹出界面时,默认自动显示当前日期入库信息登录和修改界面如下列图(窗体名为frmlnWarehouse,单元文件名为InWarehouseFrm)图4J入库信息登录和修改界面
4.
4.4出库信息登录和修改界面登录和修改共用一个界面点击工具栏的出库登录按钮或当数据显示框架的当前活动页为出库管理信息时点击工具栏的修改按钮时,弹出该界面说明初始数据点击入库信息一览的某条入库信息,传递相应数据给出库界面出库编号不可输入,为自动编号,修改时可显示数据销售合同编号可输入也可由控件选择,控件为功能扩展控件出库依赖者和所属仓库由控件选择,控件为功能扩展控件焦点设置由用户操作方便出发,焦点顺序从左到右,再从上到下出库日期弹出界面时,默认自动显示当前日期出库信息登录和修改界面如下列图(窗体名为fnnOutWarehouse,单元文件名为OutWarehouseFnn)图
4.
4.
4.5盘点调整信息登录界面说明调整类型选择资产调整只能输入资产编号,清空入库编号;选择销售调整则只能输入入库编号,清空资产编号入库编号入库编号有输入,则通过物品ID获得并显示物品名称调整日期弹出界面时,默认自动显示当前日期盘点调整信息登录界面如下列图(窗体名为frmCkeckAdjust,单元文件名为CheckAdjustFrm)图
4.6盘点调整信息登录界面
4.
4.6查询界面说明查询内容可查询入库管理信息、出库管理信息、销售库存信息、资产库存信息、调整信息查询方法先选择字段名称、操作符,输入参数,然后选择逻辑符,最后添加条件,可进行多个条件组合查询,也可替换、去除或删除条件字段名称根据数据显示框架当前活动页显示相关字段查询界面如下列图(窗体名为frmFilter,单元文件名为FilterFnn)图
4.7查询界面
4.
4.7报表导出说明导出内容根据数据显示框架的当前活动页判断导出的数据为入库管理信息、出库管理信息、销售库存信息、资产库存信息还是调整信息也可导出查询结果导出格式EXCEL形式入库编号采购合、物品47Cell58Wat69Watc710Syme810Wine1311DELI912Wine1012Wine1112Offio1212Offio1414Orac1515Offio1615Symantec
10.0for
10.0forWorksta_______________.同16Norton2005英文.Norton2005导出文件名信息名称加日期图
4.8报表导出示意图J e由入库登录|由出库登录|修改|删除|图盘点调整刷新」回导出关闭|
4.
4.8数据的绑定入库管理|出库管理销售库存I洱敕疼一个TADOQDuraegracyolum控nh件eade、rhe一reto个groupTbyDtal taSource控件、一个TdxDBGrid控件第三方控件ExpressQuantumGrid之一价展构成数据绑定的体系结构如下列图所示¥¥6¥7¥4¥2图
4.9数据绑定体系结构图¥1三者的关联如下取入库管理信息为例dsInWarehouse:=TDataSource.Createnil;¥1¥2dsInWarehouse.DataSet:=qrylnWarehouse;¥2gridlnWarehouse.DataSource:=dsInWarehouse;200612006-1-2510个说明TADOQueu和TdxDBGrid之间通过字段名一一对应TADOQuery里的不一定都是从数据库里读取的,还可以200612006-1-25个1通过计算字段
4.
4.9计算字段
1.为什么要计算字段当我们要在界面上显示一个中文名,比方想显示币种的中文字样、入库依赖者的名字,而我们在数据库表中实际存的却是一个数字,比方在数据库表中用0表示人民币,1表示日元,2表示美元;入库依赖者这一字段只是用户表中的一个ID,想要显示用户名就必须与用户表连接起来在这个时候,想显示中文名,就要有一个较好的解决方案
2.解决方案及实施采用计算记录集TADOQue^的字段的方法来解决数字型字段的中文显示问题字段计算后,在TdxDBGrid里关联计算后的字段,这样显示的就是中文了第5章系统实现的一些相关技术与相关代码
5.1事务处理
1.事务开始gConn.BeginTrans;〃开始事务
2.事务的滚回进入事务处理后,如果有EXIT的,则要滚回事务;异常时,也要滚回事务if gConn.InTransaction then〃在事务中,则滚回事务gConn.RollbackTrans;
3.事务的提交数据全部处理完后,提交事务if gConn.InTransaction then〃提交事务gConn.CommitTrans;⑷.例子try{gConn.BeginTrans;〃开始事务gConn.executeQuerySQL;〃进入事务处理后,如果有EXIT的,则要滚回事务if条件beginif gConn.InTransaction thengConn.RollbackTrans;exit;endgConn.executeUpdateSQL;gConn.CommitTrans;〃事务提交}catchException ex{ex.printStackTrace;try gConn.RollbackTrans;〃异常,滚回事务}catchException e{e.printStackTrace;
5.2工具栏按钮可见性的设置
1.可见性设置的依据根据数据显示框架的当前活动页及数据情况来设置工具栏按钮的可见性比方活动页在出库管理信息一览的时候,出库登录按钮不可见;活动页无数据时,相应的修改、删除及导出按钮都不可见;活动页在销售库存信息、资产库存信息、调整信息之一时,出库登录按钮、修改及删除按钮都不可见等
2.调用方法在活动页为入库管理信息和出库管理信息时,在需要设置工具栏按钮可见性的地方,传递一个整型数字,调用proSetToolbarVisible来进行设置在其它三个活动页,则直接设置proSetToolbarVisible方法如下//〃设置工具条可见性〃参数iType整数procedure TfrmWarehouse.proSetToolbarVisibleiType:Integer;begincase iTypeof0:〃入库管理begin//修改tlbbModify.Visible:=False;〃删除tlbbDel.Visible:=False;〃查询tlbbSearchBlank.Visible:=False;tlbbSearch.Visible:=False;〃导出tlbbDataOut.Visible:=False;end;1〃出库管理begin〃修改tlbbModify.Visible:=True;〃删除tlbbDel.Visible:=True;〃查询tlbbSearch.Visible:=True;〃导出tlbbDataOut.Visible:=True;end;end;end;提示在刷新时设置工具条可见性以活动页为入库管理信息为人例,调用形式如下if qrylnWarehouse.Eof thenproSetToolbarVisible0else proSetToolbarVisible1;
5.3库存的计算这里只举销售库存的计算这个例子资产库存的见附录,销售库存是指还没出库完的物品加上调整的数量因为要检索多个数据表,故将其放在视图里,这样就不需要直接查询数据库而只需查询视图即可,大大加快了数据的加载速度销售视图库存的SQL语句如下视图名称为ASSELECT C.GoodsID,C.BargainlD,C.GoodsName,C.GoodsType,DATEPART year,C.InDateAS InYear,DATEPARTmonth,C.InDate ASInMonth,C.InDate,C.DiffQuantity+ISNULLD.AdjustNum,0AS DiffQuantity,C.Unit,C.UnitPrice,FROMSELECT A.GoodsID,A.BargainlD,A.GoodsName,A.GoodsType,A.InDate,FROM AimuUser.SalelnWarehouse A LEFT OUTER JOINSELECT GoodsID,SUMQuantity ASOutQuantityWHERE DelFlg=0WHERE A.DelFlg=0C LEFTOUTER JOINSELECTGoodsID,isnullSUMAdjustNum,0AS AdjustNumWHEREType=0WHERE C.DiffQuantity+ISNULLD.AdjustNum,
005.4功能扩展控件
1.用户名控件修改时显示员工名调用proSetUser过程,由当前员工ID得到员工的名字保存登录和修改调用fucGetCurUserlD函数,由当前员工名字得到员工ID控件双击调用基类中的tvUserDblClick过程,加载用户列表
2.仓库名控件修改时显示仓库名调用proSetWarehouse过程,由当前仓库ID得到仓库的名字保存登录和修改调用fucGetCurWarehouselD函数,由当前仓库名字得到仓库ID
3.合同编号控件修改时显示合同编号将TdxDBGrid的合同编号传给合同选择控件里的cboSelBargain控件保存登录和修改取的是cboSelBargain里的数据
5.5字段计算
1.方法在TADOQuery的OnCalcFields事件里触发计算字段的过程⑵.例子比方当要在界面上显示币种的中文字样时,我们用这样的代码来实现这里举入库管理信息一览的币种显示为例子在qrylnWarehouse即TADOQuery控件的OnCalcFields事件里case DataSet.FieldByName CCurrency,.Aslnteger of0:beginDataSet.FieldByName CcCurrency,.AsString:=,人民币’;end;beginDataSet.FieldByNameC cCurrency,.AsString:=,日元’;end;beginDataSet.FieldByNamecCurrency,.AsString:二美元;end;
3.解释这里的Currency为实际的字段,而cCurrency为计算后的字段,也就是Cuirency为
0、
1、2的值时,相对应的中文字样就分别为人民币、日元、美元这样我们在gridlnWarehouse即TdxDBGrid控件里关联的就是cCurrency而不是Currency,那么最后在界面上显示的自然就是中文了属性设置如下列图所示gridlnWarehouse里的字段是和qrylnWarehouse里的字段对应的Object Inspectorfralarehouse.qrylnYar ehouseXEditing gridlnYarehous eqrylnWarehouseCurrency:T Smal▼|1BandsColumnsSummaryQuantityPropertiesEventsUnit gridlnWarehouseGoodslD Add...Alignment taRighUustifyAUnitPrice gridlnWarehouseBargainlDCurrencygridlnWarehouseG oodsNameAutoGenerateVarNoneDeletecCurrencygridlnWarehouseGoodsTypeConstraintErrorfChineseMoneygridlnWarehouselnYear gridlCustomConstraInDateInMan Changetype...nWarehouselnM onthgridlDefaultExpress MemonWarehouselnDategridlDisplay FormatInYearInMonth nWarehouseQuantitygridlMove UpclnMannWarehousellnit gridlDisplayLabel CurrencyWarehousenWarehousePricegridlMove DownDisplayWidth10cWarehousenWarehousell nitPriceEditFormatiridl nWarehouseCurrencAddAll Fields...FieldKind fkDatagridlnWarehouseChineseMoneygridlnWarehouselnM angridlFieldNameCurrenci RestoreDefaultsnWarehouseWarehousegridlImportedConstrnWarehouseMemoIndexKeyFieldsRestoreWidthsGoodsID图
5.1属性及字段相关设置图可以看到,在qrylnWarehouse字段里有Currency和cCurrency,cCurrency就是计算出来的字段在gridlnWarehouse里的gridlnWarehouseCurrecncy里关联的是Currency,显示的时候已经是计算后的cCurrency To本文从实际问题出发,详细阐述了仓库管理模块的设计与实现过程在研究管理信息系统、Delphi开发技术、第三方控件ExpressQuantumGrid、数据库技术、事务处理、CS模式等的基础上,再结合问题的定义进行分析,提出了整体的设计思想,最后结合实际实现了仓库管理模块的开发通过本课题的研究与学习,本人了解掌握了Delphi,数据库等相关技术,拓宽了知识领域,提高了知识水平,更重要的是了解并实践了软件开发的整个流程参考文献
[1]中国软件评测中心,计算机信息系统集成工程管理基础[加.北京电子工业出版社,2004-7
[2]Ralph M.Stair、George W.Reynolds,Principles ofInformation Systems,A ManagerialApproach SixthEdition[M].北京:机械工业出版社,2003-5
[3]梯云、李一军,管理信息系统[M].北京高等教育出版社,2000-7
[4]薛德黔等,软件工程[M].北京科学出版社,2005-10
[5]黄德才,数据库原理及其应用[M].北京科学出版社,2002-8167-170
[6]Konrad King,SQL编程实用大全精华版[M].北京中国水电水利出版社,2005
[7]伍俊良,Borland Delphi应用与开发教程M.北京:机械工业出版社,2004-5
[8]暴风雪科技,Delphi数据库开发与应用[M].上海上海科学普及出版社,2004-7
[9]温尚清、易向东,谢在鹏等,Delp温案例开发[M].北京:中国水利水电出版社,2005-3
[10]王志伟、黄超,Delphi企业经营管理系统开发实例导航[M].北京人民邮电出版社,2003-12致谢经过几个月的努力,毕业设计已经结束了,也取得了一定的成绩,这是大家团结努力的结果在此首先感谢沈国华指导老师、张伟指导老师的关心、指导和教诲在他们的指导下,我学到了很多理论与实践的知识,这是我成长路上的一笔巨大的财富,感谢他们的耐心指导同时,感谢李刚指导老师在毕业设计中对我的指导和帮助其次,感谢实习公司(埃慕计算机技术有限公司)的领导为我提供了一个很好的学习环境与实践时机;感谢实习公司的前辈们在平时的指导与帮助;同时也感谢所有关心帮助过我的老师、同学和朋友们,感谢你们对我的支持最后,感谢四年来教授过我课程以及给过我教导的各位老师,感谢你们对我在知识上的教育和思想上的正确引导
(1).资产视图库存的SQL语句(视图名称为)ASSELECT A.AssetID,A.BargainlD,A.AssetName,A.AssetType,A.AssetFlg,DATEPART year,A.RegisterDate ASRegisterYear,DATEPART month,A.RegisterDate ASRegisterMonth,A.RegisterDate,ISNULLA.AssetNum,0-ISNULLB.AdjustNum,0ASSurplusNum,A.Unit,A.BuyPrice,A.Currency,A.BuyChMoney,A.CreateUserlD,FROMSELECT AssetID,BargainlD,AssetName,AssetType,AssetFlg,RegisterDate,AssetNum,Unit,BuyPrice,Currency,BuyChMoney,CreateUserlD,Warehouse,AssetProWHERE RepayDateIS NULLAND AssetStat=0AND DelFlg=0ALEFTOUTERJOINSELECT AssetID,IsNullSUMAdjustNum,0AS AdjustNumWHEREType=1WHERE ISNULLA.AssetNum,0-ISNULLB.AdjustNum,00
1.1课题的目的与意义在当今经济全球化、竞争白热化和信息技术应用飞速开展的时代,计算机应用已经渗透到日常工作的许多方面,无论是其自身还是所发挥的作用,计算机都标志着一种高科技、高效率和高水平随着信息技术的飞速开展,管理信息系统Management InformationSystems,简称MIS在现代社会已深入到各行各业运用管理信息系统,能够确保企业在规模不断扩大和业务迅速开展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续开展在软件公司资金资产管理系统中,仓库管理是非常重要的,它是一个企业不可缺少的局部,它的内容对于企业的决策者和管理者来说都至关重要但一直以来人们使用传统的人工方式进行库存管理,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难另外,为及时结清每笔业务,盘点库存和货物流动情况,仓库管理人员要花费大量人力物力和时间来作数据记录统计工作随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一局部,使用计算机对仓库信息进行管理,具有着手工管理所无法比拟的优点例如检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、本钱低、便于打印等这些优点能够极大地提高库存管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件因此,开发一个系统对仓库信息进行管理将是非常有必要的事情,它能够在一定程序上减轻企业管理者的日常管理工作,更能加强企业的核心竞争力,最终给企业带来更好的经济效益
1.2课题的背景描述本课题的背景是一家从事软件开发的企业该企业目前还没有类似的管理系统,对企业的一些业务还处于人工管理阶段,这给企业管理者及员工的工作都带来了一定的不便目前该企业还存在如下的一些问题没有实现一元化工程管理,工程信息合同等滞留在各部门内部;工程资金在使用,流转过程中的监控措施不力,应收账款大量堆积;库存物品信息没有及时反应到财务与账面数据销核;固定资产登录,管理与使用情况不明等情况为了给企业管理者及员工的工作带来方便,提高企业的工作效益,提出了本课题的设计,本课题的主要目的是为了解决该企业所提出的这些问题
1.3开发工具开发工具选择:Delphi5Enterprise版、SQL Server2000ExpressQuantumGridoDelphi是Borland公司推出的面向对象的可视化编程工具,它拥有功能强大的集成开发环境和世界上速度极快的编译器,并且兼具VC++强大功能和VB易学易用的特点ExpressQuantumGrid控件是Delphi开发环境下最好的网格和数据输入VCL组件之一,它包含的40多种编辑组件可以用在Grid中利用它,能够为客户创立可视化的完美界面和显示难以置信的特征及灵活性,而这些仅需要编写很少的代码
1.4课题来源本课题来自湖州埃慕计算机技术有限公司选题第2章管理信息系统介绍管理信息系统
2.
1.1概述管理信息系统ManagementInformationSystem,简称MIS是一个由管理人员和计算机组成的用以进行信息的收集、传输、加工、存储、维护和使用的系统它是一门综合了管理科学,系统理论,计算机科学的系统性边缘科学一个优秀的MIS是获得利益的关键它能利用信息辅助企业进行决策、控制企业行为,帮助企业实现规划目标管理信息系统的物理组成如下1计算机硬件系统包括主机、外部存储器、输入输出设备等2计算机软件系统包括系统软件和应用软件两大局部3通信系统包括线路等通信设施和与计算机网络、数据通信有关的软件等4工作人员包括系统分析员、程序设计员、维护人员、管理员、操作人员等
3.
1.2管理信息系统的开展管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据及相应的模型,对未来的开展进行预测;能从全局目标出发,对企业的管理决策活动予以辅助从工业兴旺国家来看,管理信息系统的开展经历了以下几个阶段第一阶段1953年至1965年单项数据处理阶段,也称电子数据处理EDP阶段这是电子计算机在管理领域应用的起步阶段第二阶段1965年至1970年综合数据处理阶段,也称事务处理系统TPS阶段这个阶段的处理方式已开展为面向终端的联机实时处理第三阶段1970年至今管理信息系统MIS阶段这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统
4.2管理信息系统中的仓库管理
2.
2.1库存简介库存是企业在经营过程中为销售或生产耗用而储藏的资产,包括库存中、加工中和在途的各种原材料、燃料、包装物、产成品以及发出商品等企业为了保证生产经营过程的连续性,必须有方案地购入、耗用和销售存货存货流转过程中,原材料和产成品占了相当大的比例库存Inventory的本钱在企业总本钱当中占了相当大的比例,因此作为企业物流的关键问题之一,库存的管理和控制在企业运作中扮演了重要的角色从市场营销的角度来看,存货作为企业物流的重要成分,其本钱降低的潜力比任何市场营销环节都大得多,如企业物流本钱占营销本钱的50%,其中存货费用大约要占35%,而物流本钱又会占产品全部本钱的30%-50%在美国,直接劳动本钱缺乏生产本钱的10%,并且还在不断下降,全部生产过程只有5%的时间用于加工制造,余下的95%时间都用于储存和运输物流战略要以尽可能低的金融资产维持存货存货管理的根本目的是,要在对顾客承当义务的同时实现最大限度的流通量
3.
2.2仓库管理的功能1防止断档缩短从接受定单到送达货物的时间,以保证优质效劳,同时又要防止脱销2保证适当的库存量,节约库存费用3降低物流本钱用适当的时间间隔补充与需求量相适应的合理的货物量以降低物流本钱,消除或防止销售波动的影响4保证生产的方案性、平稳性以消除或防止销售波动的影响5展示功能6储藏功能第3章开发工具与相关开发技术介绍
3.1Delphi5概述
3.
1.1Delphi介绍Delphi这个名字源于古希腊的城市名它集中了第三代语言的优点以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖Delphi的出现打破了可视化编程领域一统天下的局面并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序它还是真正的面向对象的编程语言PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板许多人当时都认为Pascal是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境
4.
1.2Delphi的特性Delphi具有以下的特性基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术但最重要的还是Object Pascal语言,它才是一切的根本Object Pascal语言是在Pascal语言的基础上开展起来的,简单易学
5.
1.3Delphi5Enterprise版10大特点
1.支持XML标准,在Web上快速提交商业信息Delphi简化了数据分布、优化了数据交换过程对XML的支持,使开发人员快速构建的系统具有弹性和可扩展性,以适应Internet电子商务带来的新技术浪潮2,利用InternetExpress构建高速Internet应用Delphi5使开发人员能够用DHTML和XML开发超“薄”ultra-thin客户端,并在Internet上快速分发标准Web特征的客户端应用程序InternetExpress包括Web ClientPage向导、MIDAS PageProducer和WebBroker,用于构建分布式DHTML和XML应用程序以适应众多客户端和大量数据的需要
3.支持ADO利用Microsoft的ActiveX DataObject ADO和OLE DB技术,Delphi5能够快速访问关系型和非关系型数据库,其中包括电子邮件和文件系统开发人员可以对Internet信息进行直接访问,帮助用户更好地进行商业决策TeamSource增强了整个开发队伍的工作效率
4.Delphi5使整个开发团队能够更协调、更快速地工作TeamSource革新了管理源代码的方法TeamSource建立在已有的源代码管理和版本管理之上,并通过一个高效的工作流模式对其功能进行扩展,简化了大型、分散的开发团队的源代码管理
5.MIDAS扩展Internet应用提交适应大交易量及多用户数的应用系统建立Internet应用可以简化对Internet或Intranet上众多的浏览器客户端或Windows客户端的管理MIDAS支持所有的分布式计算标准,如CORBA、COM和MTS,并能将原有系统与电子商务和Internet应用平滑地集成在一起
6.InterBase Express构建卓越的关键应用系统Delphi5使Delphi和InterBase更紧密地结合,即将高效率、高性能的开发工具与快速、低维护量和优化配置的中小型关系型数据库等技术融于一体利用InterBase Express组件,VARs、Sis和ISVs能够快速地交付和分发高效的应用系统
7.Borland TranslationSuite将Delphi5应用程序快速地本地化在可视化地开发不同地域的应用程序的同时,Delphi还可以管理资源文件的转换,并将转换信息保存在一个库repository,加速了国际化开发
8.利用Delphi的专业IDE构建强大、巩固的应用程序Delphi的可视化开发环境使开发人员只要在面板上选择相应组件就能够快速建立应用程序和开发原型Delphi5最新Project Browsing和Data Moduleview帮助程序员更好地理解代码和数据,从而大大提高开发效率To DoList功能和新增开发向导,如Control panelWizard,加快了程序编写速度
9.Visual ComponentLibrary增强面向对象开发的威力开发人员可以创立、定制和重用自己的组件,也可以从Delphi的Visual ComponentLibrary中的200多个组件里选择适用的组件用最新的Frames功能开发者能够可视化地为商业逻辑创立组件开发人员能够开放地访问VCL源代码,包括新增的Decision Cube组件和附加的Property Editors,以及为支持MS Office而提供的最新Automation组件Delphi基于组件技术大大简化了许多复杂的开发任务
10.进一步增强的调试功能使复杂的工程更快地适应市场需求用Delphi5对相当复杂的工程进行纠错和改错也会变得十分简单Delphi进一步增强的调试功能使开发人员可以更好地理解和掌握程序代码,其中包括Breakpoint ToolTipsActions、Groups FPU/MMx View以及对Drag和Drop的支持,等等
3.2第三方控件ExpressQuantumGrid介绍
3.
2.1ExpressQuantumGrid简介ExpressQuantumGrid是Delphi和C++Builder开发环境下最好的网格和数据输入VCL组件之一,它包含的40多种编辑组件可以用在Grid中同时ExpressQuantumGrid支持多种数据源,装入数据速度快,基于结构的数据查看利用它,你能够为你的客户可创立视化地完美界面和显示难以置信的特征及灵活性,而这些仅需要编写很少的代码
3.
2.2ExpressQuantumGrid的主要特点运行时自动选择列利用QuantumGrid你的最终用户通过直观的拖放能够容易的自定义列在屏幕上可视,就如MSOutlook一样;自动数据分组不需要写任何代码,只要设置属性并且你按照你的方法就能够使它拥有极其强大的数据查看当在分组模式,ExpressQuantumGrid在Read-Only状态不显示信息分组在所有网格级都可提供,并且它低内存消耗地快速执行;对无限数量的自动列排序不写一行代码就能够对一列或多列排序,并且速度快;多数据模式允许你从传统的数据源(数据库模式)绑定数据;或从从非数据库源(非绑定模式);以及从自定义数据结构;最快速的数据装入利用先进的ExpressData-Controller,你能够在一眨眼的时间装入100,000行数据并且同样快速地分组/排序;基于结构的查看通过不同视图(网格,卡片)能够显示QuantumGrid中的每一级视图能够快速的变换;主从关系Developer Express是第一个提供Master/Detail网格集成数据分组的VCL组件厂商,利用ExpressQuantumGrid,你能够在标签或卡片中显示主从信息;带条子的列当屏幕实时状态很重要时,你能够用带有条子的列最大化最终用户的可视化列数你甚至能够用简单方便地在列标题头显示图像;背景图支持如果需要网格背景图像,这个可以轻松的实现;运行时调整行大小允许用户容易的在设计时或运行时调整行的高度;内建数据导航包括一个工业级数据导航器,可单独使用或集成为Grid容器的一局部;对所有分组节点的即时运行时概括不需要写任何一行代码,你能够概括信息并排除使用传统的报表编写器写复杂的条状报表;即时运行时概括页脚不需要写任何一行代码,你能够创立引人注目的网格并且允许你的应用成为数据分析引擎;内建MS Excel风格数据过滤利用QuantumGrid,不需要写任何一行代码你就能够快速的增加列数据过滤;固定条子和列容易地固定条子和列到QuantumGrid的左端和右端;高级风格控制风格控制网格可视元件的显示(头,组面板,奇/偶/详细行,页脚等),利用风格属性页技术,你能够容易地管理每个网格元件的相关风格实际上通过风格仓库,你能够集中控制所有网格和编辑器的显示;易用的设计时接口ExpressQuantumGrid提供高级设计特征,它允许你实际地控制每一个网格的外形而不需写任何一行代码,因此你可以关注应用程序的逻辑而不是网格设置;标准和扩展的多项选择择支持CTRL和SHIFT按键;完全拖放支持,智能滚动条;输出到XML、MS Excel、HTML、Text;超过40种强大且创新的数据编辑器,可作为单独或放到单元变量;每个网格列的多个编辑器类型通过多网格编辑器支持,你能够在同一个网格列显示多个编辑器;本地化支持ExpressQuantumGrid包括高级本地化支持,经简单的处理调用允许你修改资源文件字符串
1.3数据库技术
3.
3.1数据库简介数据库是某个研究领域、研究对象所涉及的数据的综合它不仅反映数据本身的内容,而且反映数据之间的联系数据库研究的对象是数据及其存储管理
4.
3.2SQL语言简介SQL全称是“结构化查询语言Structured QueryLanguage,z,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用如今无论是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言
5.
3.3SQL语言的组成Structured QueryLanguage包含4个局部1数据查询语言DQL-Data QueryLanguage SELECT2数据操纵语言DQL-Data ManipulationLanguage INSERT,UPDATE,DELETE3数据定义语言DQL-Data DefinitionLanguage CREATE,ALTER,DROP4数据控制语言DQL-Data ControlLanguage COMMITWORK,ROLLBACK WORK
3.
3.4SQL语言的优点
1.非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集所有SQL语句接受集合作为输入,返回集合作为输出SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入SQL不要求用户指定对数据的存放方法这种特性使用户更易集中精力于要得到的结果所有SQL语句使用查询优化器,它是RDBMS的一局部,由它决定对指定数据存取的最快速度的手段查询优化器知道存在什么索引,哪儿使用适宜,而用户从不需要知道表是否有索引,表有什么类型的索引
2.统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户根本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握SQL为许多任务提供了命令,包括查询数据;在表中插入、修改和删除记录;建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中
3.是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个所有用SQL编写的程序都是可以移植的。
个人认证
优秀文档
获得点赞 0