还剩54页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
库存管理系统-UML设计与实现目录基于UML的库存管理系统的设计与实现3摘要31问题的提出52本文工作和系统开发53系统功能简介6第一章库存系统业务用例建模
71.1库存系统业务流程分析
71.
1.1入库流程分析
71.2业务需求用例建模阶段
91.
2.1业务角色的查找及建立
91.
2.2业务用例查找与分析
91.
2.3业务用例图
111.
2.3业务活动图
111.3系统基本功能描述13第二章库存系统系统需求用例建模
142.1入库管理需求用例分析
142.
1.1确定系统角色
142.
1.2确定系统顶层用例
142.
1.3入库管理功能性分析
152.
1.4到站日报录入管理用例描述
162.
1.5码单管理用例描述
182.
1.6入库单管理用例描述
192.
1.7审核管理用例描述
222.2系统扩展功能需求用例分析
222.3系统整体功能描述24第三章业务领域分析与设计
253.1系统顺序图,状态图
253.2定义基本对象与类
303.3入库系统类图
323.4定义对象与类的属性与操作
323.5系统设计顺序图,入库类图
443.6系统扩展功能
453.7系统构架设计52第四章系统实现测试与配置
534.1系统实现的工具与技术
534.2系统实现方式图53第五章系统开发的思考
545.1数据库设计问题
545.2数据库访问设计问题55结束语56参考文献57摘要31问题的提出52本文工作和系统开发53系统功能简介6第一章库存系统业务用例建模
71.1库存系统业务流程分析
71.
1.1入库流程分析
71.2业务需求用例建模阶段
91.
2.1业务角色的查找及建立
91.
2.2业务用例查找与分析
91.
2.3业务用例图
111.
2.3业务活动图
111.3系统基本功能描述13第二章库存系统系统需求用例建模
142.1入库管理需求用例分析
142.
1.1确定系统角色
142.
1.2确定系统顶层用例
142.
1.3入库管理功能性分析
152.
1.4到站日报录入管理用例描述
162.
1.5码单管理用例描述
182.
1.6入库单管理用例描述
192.
1.7审核管理用例描述
222.2系统扩展功能需求用例分析
222.3系统整体功能描述24第三章业务领域分析与设计
253.1系统顺序图,状态图
253.2定义基本对象与类
303.3入库系统类图
323.4定义对象与类的属性与操作
323.5系统设计顺序图,入库类图
443.6系统扩展功能
453.7系统构架设计52第四章系统实现测试与配置
534.1系统实现的工具与技术
534.2系统实现方式图53第五章系统开发的思考
545.1数据库设计问题
545.2数据库访问设计问题55结束语56参考文献57基于UML的库存管理系统的设计与实现摘要面向对象技术是软件工程和过程工程领域中的重要技术,统一建模语言UML则是近几年国际上比较流行的面向对象的标准建模语言本文阐述了基于UML建模的库存管理信息系统的开发建模是开发优秀软件所有活动的核心部分,也是本文工作的重点所在在开发中我们考虑了RUP迭代式开发的优点并与本库存系统开发的特色相结合,提出了自己的一套UML的建模过程基于这个过程我们从系统分析,设计,实现与测试,运用UML建模思想与各种模型对库存系统进行了详细的描述关键字:面向对象,UML库存系统,系统开发引言1问题的提出传统的面向过程的库存管理信息系统的开发中存在不少的问题,传统的面向过程的开发方法,也即主要是基于功能分析或数据分析基础上的结构化方法这种开发方法下设计的系统在70或80年代早期还可以适应,但在越来越复杂的非数值计算类型的软件开发中,在广泛应用图形界面的交互式系统中,在控制要求非常突出的应用中,在需求经常变化的条件下,尤其是在库存系统这种数据流动性要求比较高的管理软件的开发,用传统的软件开发方法解决问题往往暴露出严重的不适应性,主要表现在以下几点1功能与数据分离的软件设计结构与人类的现实环境很不一样,和人的自然思维也就很不一致2系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难,因此这种结构无法适应迅速变化的技术和需求3在系统中模块之间的控制作用有重要影响时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错所以这种结构无法适应以控制关系为重要特性的系统要求4结构化方法开发出来的系统往往难以维护,因为所有的函数都必须知道数据结构5自顶向下功能分解的分析方法极大地限制了软件的可重用性,导致对同样对象的大量的重复性工作,大大降低了开发人员的生产率结构化开发方法暴露出来的问题促使了面向对象开发技术的形成与发展,而面向对象技术的发展促使了UML语言的产生2本文工作和系统开发本文首先对系统的功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用UML工具ROSE绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与库存管理系统紧密结合既体现了面向对象的软件开发思想,又包容了UML建模语言所特有的语言建模优势在编写中我们大量的使用UML语言所提供的各种建模图形来描述库存管理系统,例如描述用户需求的用例图,描述系统功能的动态的顺序图根据库存管理的特点,我们大胆的改进了一般的UML建模的分析过程,并在分析设计过程中采用更加适合库存系统的分析级类图与顺序图3系统功能简介系统的功能是系统能够做的事情,在本系统中,系统的功能有1系统应该能完成入库操作过程中的表与码单的录入;2系统应该能完成入库过程中的货物的审核,记费;3系统应该能进行有效的库存管理,例如盘点,移库等;4系统应该能对出库过程中的表与账单进行管理;5系统应该能对出库后的平帐,记录储存等进行管理;6系统用户能有效的进行权限,日志的管理;7系统用户可以查询报表,客户,货物等基本信息;8系统能记录下系统的使用日志;9任何人员要使用本系统必须拥有相应的权限;第一章库存系统业务用例建模
1.1库存系统业务流程分析
1.
1.1入库流程分析
1、货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资到站日报》,送至收货组;
2、收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》
3、客户《货物明细单》到达后,填写《入库单》核对《码单》、《货物明细单》,《入库单》,如出现差错,返客户《货物异常报告》
4、总经办审核记账后,生成《帐卡》、《入库收费单》,数据不再允许改动入库业务流程图如下#0;#0;#0;#0;����������#0;��������#0;����������#0;����#0;������������#0;����#0;����������#0;����������#0;������#0;��������#0;����������#0;����#0;������#0;����#0;#0;����#0;����#0;����#0;
1.
1.2出库流程分析1客户在入库时提供提货样单,用户持提货单至发货组,要求提货调度员核实提货单的合法性,填写《出库单》,显示相关业务号信息,如果有层次,则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾货提示然后向用户出具《出库收费单》,同时生成《派车单》,并派保管员准备发货2保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出库信息表》3用户缴费后,保管员开具出门证给用户4总经办审核记账后,生成保管收费单5一批货物全部出库后,保管员将《帐卡》、《提货单》、《码单》送至总经办核实平帐后,存档出库业务流程图如下#0;#0;#0;#0;����#0;����#0;������#0;��������#0;������#0;������������#0;������#0;������#0;��������#0;������#0;������#0;������#0;������#0;����#0;����������#0;����#0;������������#0;������#0;����#0;����������#0;������������#0;#0;����#0;
1.
1.3库存管理业务流程分析盘点流程1货舱部根据需要盘点的货物生成盘点帐存表,表中有生成盘点表的商品编码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息;2打印盘点单包括的项目有商品库位、所属部门、类别、商品编码、商品名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量;3盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处;4货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管检察录入数据的准确性后,审核生效;5生成盘点盈亏表6针对商品有盘盈和盘亏的商品进行记账凡是有盈亏的商品列出商品编码、名称、实盘数量、帐存数量、成本单价、盈亏金额盘点业务流程图如下#0;#0;#0;#0;#0;������#0;��������������#0;����������#0;������#0;����������#0;��������#0;������#0;����������/����#0;������#0;����������#0;����#0;��������#0;
1.2业务需求用例建模阶段
1.
2.1业务角色的查找及建立根据此库存管理的分析知,库存管理说涉及的业务角色有站台值班员,收货组,总经办,客户,保管员,货舱部,盘点员,调度员
1.
2.2业务用例查找与分析根据业务流程可以找到基本的业务用例有1站台值班员卸货审核清点货物货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资到站日报》,送至收货组2收货组验收入库货物分配库位收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》3收货组审核入库单据处理异常客户《货物明细单》到达后,填写《入库单》核对《码单》、《货物明细单》,《入库单》,如出现差错,返客户《货物异常报告》4总经办进行入库审核记账总经办审核记账后,生成《帐卡》、《入库收费单》,数据不再允许改动注客户提供提单的同时,提供一份提货样单5客户申请提货客户在入库时提供提货样单,用户持提货单至发货组,要求提货6调度员审核客户提货的合法性调度员核实提货单的合法性,填写《出库单》,显示相关业务号信息,如果有层次,则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾货提示然后向用户出具《出库收费单》,同时生成《派车单》,并派保管员准备发货7保管员组织发货处理保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出库信息表》8用户缴费后,保管员开具出门证给用户总经办进行出库审核记账总经办审核记账后,生成保管收费单总经办平帐处理一批货物全部出库后,保管员将《帐卡》、《提货单》、《码单》送至总经办核实平帐后,存档9货舱部生成盘点单据货舱部根据需要盘点的货物生成盘点帐存表,表中有生成盘点表的商品编码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息打印盘点单包括的项目有商品库位、所属部门、类别、商品编码、商品名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量10盘点员进行实地盘点盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处11货舱部进行盘点结果处理货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管检察录入数据的准确性后,审核生效12生成盘点盈亏表针对商品有盘盈和盘亏的商品进行记账凡是有盈亏的商品列出商品编码、名称、实盘数量、帐存数量、成本单价、盈亏金额13过户处理修改货物所属货主,同时修改相应信息(重复出库、入库流程)14移库处理修改移库货物原有和现有的库存位置
1.
2.3业务用例图
1.
2.3业务活动图入库过程出库过程盘点过程
1.3系统基本功能描述根据库存系统业务过程分析知系统的基本功能有入库管理,出库管理与库存管理三大模块,系统功能图如下第二章库存系统系统需求用例建模
2.1入库管理需求用例分析
2.
1.1确定系统角色一个角色可以是人、硬件设备、甚至另外一个系统对于一个系统而言,每种类型的用户表示为一个或几个角色,每个与该系统交互的外部系统也表示为一个或几个角色库存管理系统中,我们通过分析,可以找出这样一些角色客户,货物,入库管理人员,仓库,出库管理人员,库存管理人员,系统管理人员
2.
1.2确定系统顶层用例一般的uml的需求描述方法是用用例图来表达角色、用例及其之间的关系,用文字形式的事件流文档具体描述用例细节这种方法存在以下缺点一张用例图不能描述复杂系统全部需求;系统的业务种类多、功能繁杂,根本无法清晰地将系统的全部功能展开在一张用例图上,即使可以,用户看到纵横交错的各种关系,也只能望而生畏;用例图不适应描述系统的非功能要求;文字不便于说明复杂用例的流程涉及多个部门之间的交互协调,事件流文档中的文字难以清晰地表达地籍数据的复杂流程因此我们将采用建立多层次的用例图顶层用例图描述系统粗粒度的全部功能;下一层将没有表述清的粗粒度用例用更细粒度的子用例描述根据系统的业务过程分析与用户的需求分析,系统的顶层用例如表所示参与者用例说明入库管理人员入库管理,其中包括到站登记日报管理,入库单管理,码单管理,审核记账等库存管理人员库存的基本业务管理,包括盘点管理,过户管理,移库管理仓区的基本信息管理,包括仓区参数设置,库存分配,预警管理出库管理人员出库管理,有出库单管理,出库信息管理,出库审核管理,以及平帐等系统管理人员系统管理,报表管理,查询管理,基本资料管理等系统得顶层用例图如下
2.
1.3入库管理功能性分析根据业务描述,我们知道此模块应该要实现的功能大致如下1入库管理人员利用系统登记站台管理员送来的到站日报表信息;2入库管理人员能修改到站日报表信息;3入库管理人员能删除到站日报表信息;4入库管理人员根据到站日报填写,修改,删除码单;5入库管理人员根据货物明细单填写,修改,删除入库单;6入库管理人员审核《码单》、《货物明细单》,《入库单》如有差错,返回《货物异常报告》;如无差错生成《帐卡》、《入库收费单》入库管理的分层用例图如下
2.
1.4到站日报录入管理用例描述用例到站日报管理参与者入库管理人员,站台管理员目的记录货物的到站情况和到站货物的基本信息综述货物到达后,站台管理员组织卸货,大致清点品种、件数,编写《物资到站日报》,入库管理人员根据到站日报进行到站日报的录入修改等操作参与者的动作系统响应1)用例始于入库管理人员根据站台管理员提供的信息进行到站日报的管理2)入库管理人员选择登陆到本系统,并输入管理账号与密码3)系统确认账号与密码,并提示登陆成功进入系统4)入库管理人员根据系统的提示选择到站日报管理5)进入到站管理界面6)入库管理人员选择A登记到站日报B修改到站日报C删除到站日报7)记录这次完成的操作8)用例在所有操作完成后结束入库日报管理包括登记到站日报,修改到站日报,删除到站日报登记到站日报参与者的动作系统响应1)入库管理人员选择登记到站日报2)系统显示出登记日报的界面3)入库管理人员根据站台管理人员提供的信息输入要登记日报的基本信息4)入库管理人员选择登记完成5)系统接收日报的基本信息并放入数据库中6)系统提示登记到站日报完成修改到站日报参与者的动作系统响应1)入库管理人员选择要修改的到站日报2)系统显示出到站日报的信息3)入库管理人员确认要修改,并选择修改项4)系统进入日报修改界面5)入库管理人员修改完成6)系统接收日报的修改信息并再次给出提示信息7)入库管理人员确认8)系统提示修改到站日报完成删除到站日报参与者的动作系统响应1)入库管理人员选择要删除的到站日报2)系统显示出要删除的到站日报的信息3)入库管理人员确认要删除,并选择删除项4)系统接收日报的删除命令并给出提示信息5)入库管理人员确认6)系统提示删除到站日报完成
2.
1.5码单管理用例描述用例码单管理参与者入库管理人员目的根据到站日报生成码单,货物到达验收后产生,记录货物存放信息综述入库管理人员在货物入库后,录入实收的货物信息,记录详细的货物信息、存放位置信息(包括层数)参与者的动作系统响应1)用例始于入库管理人员根据货物的基本信息与存放信息对码单管理2)入库管理人员选择登陆到本系统,并输入管理帐号与密码3)系统确认帐号与密码,并提示登陆成功进入系统4)入库管理人员根据系统的提示选择到站码单管理5)进入码单管理界面6)入库管理人员选择A新建码单B修改码单C删除码单7)记录这次完成的操作8)用例在所有操作完成后结束码单管理包括新建码单,修改码单,删除码单新建码单参与者的动作系统响应1)入库管理人员选择新建码单2)系统显示出未处理的到站日报的界面3)入库管理人员根据到站日报号选择要生成码单的到站的货物4)系统给出到站的基本信息与码单的基本信息空位4)入库管理人员输入码单的基本信息5)系统接收新建码单的基本信息并放入数据库中6)系统提示新建码单完成修改码单参与者的动作系统响应1)入库管理人员选择要修改的码单2)系统显示出修改码单的信息3)入库管理人员确认要修改,并选择修改项4)系统进入码单修改界面5)入库管理人员修改完成6)系统接收码单的修改信息并再次给出提示信息7)入库管理人员确认8)系统提示修改码单完成删除码单参与者的动作系统响应1)入库管理人员选择要删除的码单2)系统显示出要删除的码单的信息3)入库管理人员确认要删除,并选择删除项4)系统接收码单的删除命令并给出提示信息5)入库管理人员确认6)系统提示删除码单完成
2.
1.6入库单管理用例描述用例入库单管理参与者入库管理人员目的入库管理人员根据客户提供的货物明细表填写入库单,录入入库单基本信息综述人工核对客户递交的货物明细表、码单,超出误差范围产生异常报告,如果无异常则正确录入入库单参与者的动作系统响应1)用例始于入库管理人员根据货物的明细表信息进行录入2)入库管理人员选择登陆到本系统,并输入管理帐号与密码3)系统确认帐号与密码,并提示登陆成功进入系统4)入库管理人员根据系统的提示选择入库单管理5)进入入库单管理界面6)入库管理人员选择A新建入库单B修改入库单C删除入库单7)记录这次完成的操作8)用例在所有操作完成后结束入库单管理包括新建入库单,修改入库单,删除入库单新建入库单参与者的动作系统响应1)入库管理人员选择新建入库单2)系统显示出新建入库单的查询界面3)入库管理人员根据客户提供的货物明细表进行查询4)系统给出查询结果5)入库管理人员要生成入库单的业务6)系统显示此笔业务的基本信息7)入库管理人员进行审核选择A生成入库单B进入异常处理8)记录这次完成的操作生成入库单1)入库管理人员输入入库单的基本信息并提交2)系统接收入库单的信息并给出提示信息3)输入完成入库单录入异常处理1)入库管理人员输入异常信息并提交2)系统接收入库单的异常信息3)处理完成修改入库单参与者的动作系统响应1)入库管理人员选择要修改的入库单2)系统显示出修改入库单的信息3)入库管理人员确认要修改,并选择修改项4)系统进入码单修改界面5)入库管理人员修改完成6)系统接收入库单的修改信息并再次给出提示信息7)入库管理人员确认8)系统提示修改入库单完成删除入库单参与者的动作系统响应1)入库管理人员选择要删除的入库单2)系统显示出要删除的入库单的信息3)入库管理人员确认要删除,并选择删除项4)系统接收入库单的删除命令并给出提示信息5)入库管理人员确认6)系统提示删除入库单完成
2.
1.7审核管理用例描述用例审核管理参与者入库管理人员目的审核录入是否正确,生成帐卡,入库收费单综述入库管理人员根据货物的基本信息以及入库信息对业务进行审核,如果合格则自动生成帐卡和入库收费单,如果不合格则此笔业务被致与不合格处理参与者的动作系统响应1)用例始于对货物的信息进行审核处理2)入库管理人员选择登陆到本系统,并输入管理帐号与密码3)系统确认帐号与密码,并提示登陆成功进入系统4)入库管理人员根据系统的提示选择到审核管理5)进入审核管理界面6)入库管理人员选择要审核业务7)给出此业务的具体信息8)入库管理人员进行人工审核并选择A审核合格B不合格9如果审核合格系统自动生成帐卡和入库收费单,如果不合格修改审核状态为不合格10)系统给出提示信息11)用例在所有操作完成后结束
2.2系统扩展功能需求用例分析
1、系统管理权限管理给操作员分配相应的权限日志管理保存每个操作员所进行的所有操作,并提供相关信息的查询数据备份将所有数据表信息定期保存在磁盘中,确保数据的安全性与可靠性数据恢复将备份文件恢复到数据库中
2、报表管理业务统计统计客户期间的入库业务量、出库业务量、库存货物信息(包括平帐与否)等库存统计统计库存状况(可以按客户、货物、器件、仓区组合统计)货物统计统计期间的进出存、大品种货物信息货位统计统计货位占有情况、分配情况盘点统计统计与盘点相关的信息
3、查询管理在库查询根据不同的查询条件,查询出库存货物的信息进货查询根据不同的查询条件,查询出货物入库的信息出货查询根据不同的查询条件,查询出出库货物的信息盘点查询根据不同的查询条件,查询出与盘点相关信息(如历史盘点数据、某货物的盘点信息、某客户的盘点信息等)货况查询根据不同的查询条件,查询出货物状况的信息基本资料查询根据不同的查询条件,查询出与基本资料相关信息
4、基本资料管理客户管理对客户基本信息进行增加、删除、修改操作货物管理对货物基本信息进行增加、删除、修改操作业务员管理对业务员基本信息进行增加、删除、修改操作其它基本资料管理对基本资料进行增加、删除、修改操作包括用户权限表、权限信息表、客户货主/用户信息表、货物表、仓库信息表、库区信息表、库位信息表、部门表、物资种类表、物资大类表、物资小类表、物资明细分类表、入库费率表、出库费率表、库存费率表、其他费率表、设备表、到货/出货方式表、业务类别表
5、仓区管理仓区参数设置设置仓区参数信息,提供对仓库、库区、库位的信息进行添加、删除、修改等操作库位分配示意图按平面图形式显示库位是否分配信息库存预警在超出或低于库存限度时给予报警计算机辅助分配进行库位分配时,计算机提供可分配的仓位
6、其他业务管理录入与编辑其它业务管理信息,具体包括机电物质信息、化工产品信息、攀金公司的物资信息、加工厂的物资信息、配送信息等
7、客户远程查询系统客户可根据不同的查询条件对自己的货物信息进行在库查询、进货查询、出货查询、货况查询
8、权限管理我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改权限管理对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作
2.3系统整体功能描述系统整体功能图如下第三章业务领域分析与设计
3.1系统顺序图,状态图权限管理对于系统来说十分重要,因为它关系到系统得安全性,因此在系统得开发与设计中,我们始终把系统的安全性放在十分重要的位置,因此我们在用顺序图分析的时候始终从系统用户未登陆状态来分析的,在后边系统详细设计时,我们会给出用户登录的顺序图;1新建到站日报2修改到站日报3删除到站日报4新建码单5修改码单入库信息6删除码单入库信息7新建入库单1.8修改入库单1.9删除入库单1.10审核处理
3.2定义基本对象与类入库管理子系统的对象分析实体对象货物,物资到站日报,码单入库信息表,仓库,货物明细单,入库单,货物异常报告,帐卡入库信息,入库收费单,客户信息,库区,库位,码单基本信息表,职工信息表,用户权限表,权限信息表,验收工具表,设备表,站台表,计量单位表,部门表,物资明晰分类表,业务类别表边界对象入库到站日报管理界面,入库码单管理界面,入库单管理界面,入库审核界面控制对象入库审核根据分析级的顺序图与系统的对象分析定义系统中涉及的类
(1)类客户KH
(2)类货物HW
(3)类仓库CK
(4)类库区KQ
(5)类库位KW
(6)类物资到站日报DZRB
(7)类码单基本信息MDJBXX
(8)类码单入库信息MDRKXX
(9)类保管员入库验收信息(BGYYSXX)
(10)类码单货物存放明细(MDHWCF)
(11)类入库单RKD
(12)类货物异常报告HWYCBG
(13)类帐卡入库信息ZKRKXX
(14)类入库收费单RKSFD
(15)类用户权限YHQX
(16)类权限信息QXXX
(17)类入库审核RKSH
(18)类职工信息ZGXX(19类物资存储类WZCCL
(20)类业务类别YWLB
(21)类物资明晰分类WZMXFL
(22)类部门BM
(23)类计量单位JLDW
(24)类站点ZD
(25)类验收工具YSGJ
(26)类设备SB
3.3入库系统类图
3.4定义对象与类的属性与操作
(1)类客户KH私有属性属性名含义属性类型khID客户号StringkhM客户名StringkhDZ客户地址StringlxDH联系电话StringStringz传真Stringxsqx销售权限Stringyyzh银行帐号StringBZ备注String公共方法方法名含义说明Query:BooleanAdd_KH:Boolean;查询
(2)类货物HW私有属性属性名含义属性类型khID客户号StringwzflID物资分类号StringhwID货物编号StringPM品名StringGGXH规格型号Stringsccj产地/生产厂家Stringghpp钢号/品牌StringDj等级Stringdc定尺Stringdccd定尺长度FloatdwZL单位重量FloatbzLX包装类型StringjsDW1记数单位1StringjsDW2记数单位2StringslZSXS数量折算系数Floatbcyq保存要求Stringkz克重Floatbzq保质期FloatBZ备注String公共方法方法名含义说明Add_HW:Boolean;增加新近货物信息Update_HW:Boolean;更新货物信息Del_HW:Boolean;删除货物信息Query_HWKHID:StringWZFlID:String:Boolean根据物资号与客户号查询货物基本信息Print_HW:Boolean;打印
(3)类仓库CK私有属性属性名含义属性类型ckID仓库编号StringckMC仓库名称StringckLX仓库类型StringckMJ仓库面积FloatckGS库区个数IntBZ备注String公有方法方法名含义说明Add_CK:Boolean;新建仓库Update_CK:Boolean;更新仓库信息Del_CK:Boolean;删除仓库Query_CKCKID:String:Boolean仓库查询Print_CK:Boolean;打印
(4)类库区KQ私有属性属性名含义属性类型kqID库区编号StringkqLX库区类型StringkqGS库位个数IntkqMJ库区面积FloatBZ备注String共有方法方法名含义说明Add_KQ:Boolean;新建库区Update_KQ:Boolean;更新库区信息Del_KQ:Boolean;删除库区Query_KQKQID:String:Boolean库区查询Print_KQ:Boolean;打印
(5)类库位KW私有属性属性名含义属性类型kwID库位编号StringkwMJ库位面积FloatZdl最低量FloatBZ备注String公有方法方法名含义说明Add_KW:Boolean;新建库位Update_KW:Boolean;更新库位信息Del_KW:Boolean;删除库位Query_KWKWID:String:Boolean库位查询Print_KW:Boolean;打印
(6)类物资到站日报DZRB私有属性:属性名含义属性类型dzrbID到站日报号IntdhSJ到货时间Datefz发站Stringch车号StringPM品名StringybSL预报数量FloatssSL实收数量FloatjlDW计量单位Stringxhdd卸货地点Stringqf铅封Stringztzby站台值班员StringclSF是否处理Stringdzry调装人员Stringdzsb调装设备Stringdzsjd调装时间段StringBZ备注String公共方法方法名含义说明Add_DZRBB:Boolean;增加物资到站日报信息Update_DZRBB:Boolean;更新物资到站日报信息Del_DZRBB:Boolean;删除物资到站日报信息Query_DZRBBdzrbID:String:Boolean根据到站日报编号查询物资到站日报信息setTrueintdzrbID Boolean设置到站日报的是否处理项为真ResultSetQuery_DZRB1Boolean查询未处理的到站日报Print_DZRBB:Boolean;打印
(7)类码单基本信息MDJBXX私有属性属性名含义属性类型ywID业务号StringkhID客户号StringkhMC客户名称StringdzrbID到站日报号IntdhSJ到货时间DateFz发站StringCh车号StringywLB业务类别StringXhdd卸货地点StringYsgj验收工具StringwzflID物资分类号StringhwID货物编号StringPM品名StringGGXH规格型号StringCd产地/生产厂家StringPp钢号/品牌StringDj等级StringDc定尺StringDccd定尺长度FloatdwZL单位重量FloatbzLX包装类型StringjsDW1记数单位1StringjsDW2记数单位2StringZsxs数量折算系数FloatKz克重FloatSby司磅员Stringysbgy验收保管员StringbgyRS保管员人数IntZdr制单人StringzdRQ制单日期DaterkclSF是否入库处理StringscRQ生产日期DateYsdy已收代运StringsfGH是否过户StringBZ备注String公有方法方法名含义说明Add_MDJBXX:Boolean;添加码单Update_MDJBXX:Boolean;更新码单信息Del_MDJBXX:Boolean;删除码单信息Query_MDJBXXywID:String:Boolean码单查询Print_MDJBXX:Boolean;打印
(8)类码单入库信息MDRKXX私有属性属性名含义属性类型ywID业务号StringkcwzID库存位置编号StringrkZL入库重量FloatrkSL1入库数量1FloatrkSL2入库数量2Float公共方法方法名含义说明Add_MDRKXXB:Boolean;增加码单入库信息表信息Update_MDRKXXB:Boolean;更新码单入库信息表信息Del_MDRKXXB:Boolean;删除码单入库信息表信息Query_MDRKXXBywIDString:int根据业务号查询物资到站日报信息Query_RkslywIDString:float根据ywID查询入库数量信息Print_MDRKXXB:Boolean;打印
(9)类保管员入库验收信息(BGYYSXX)字段名标题字段类型字段长度是否可为空举例及说明ywID业务号C12否200308010012zgID保管员C7否ZL重量N12,610类码单货物存放明细(MDHWCF)字段名标题字段类型字段长度是否可为空举例及说明ywID业务号C12否200308010012kcwzID库存位置编号C12否011102040612cc层次C2否sccd实测长度N9,3jZL净重N12,6ckSF是否出库C1
(11)类入库单RKD私有属性属性名含义属性类型ywID业务号StringkhID客户号StringkhMC客户名称StringhzrkdID货主入库单号StringywLB业务类别StringdhFS到货方式StringgsBM归属部门StringtxmID条形码StringabcFLABC分类StringwzflID物资分类号Stringzbs质量保证书号ChwID货物编号StringPM品名StringGGXH规格型号StringscRQ生产日期DatesbZL申报重量FloatssZL实收重量FloatsbSL1申报数量1FloatssSL1实收数量1FloatsbSL2申报数量2FloatssSL2实收数量2FloatFl费率FloattldDF铁路代垫费FloatddRQ到单日期Dateysbgy验收保管员StringShr审核人StringshZT审核状态StringshRQ审核日期DateZdr制单人StringsfGH是否过户StringBZ备注String公共方法方法名含义说明Add_RKD:Boolean;表中所有属性为参数添加Update_RKD:Boolean;更新Del_RKD:Boolean;删除Query_RKDkhIDString:Boolean根据客户号查询入库单setshStringywIDStringshZTStringshRQStringShr设置入库单的处理数据Print_RKD:Boolean;打印
(12)类货物异常报告HWYCBG私有属性属性名含义属性类型hwID货物编号StringkhID客户号Stringhwm货物名StringysyID验收员Stringycqk异常情况rq日期Date公共方法方法名含义说明Add_HWYCBG:Boolean;添加Update_HWYCBG:Boolean;更新Del_HWYCBG:Boolean;删除Query_HWYCBGhwIDString:Boolean根据货物编号查询Print_HWYCBG:Boolean;打印
(13)类帐卡入库信息ZKRKXX私有属性属性名含义属性类型zkID账卡号StringywID业务号Stringjzr记帐人StringpzSF是否平帐StringBZ备注String公共方法方法名含义说明Add_ZKRKXX:Boolean;添加Update_ZKRKXX:Boolean;更新Del_ZKRKXX:Boolean;删除Query_ZKRKXXzkID:StringywID:String:Boolean查询Print_ZKRKXX:Boolean;打印
(14)类入库收费单RKSFD收费单号sfdIDC品名PMC规格型号GGXHC客户名称khMCC货主入库单号hzrkdIDC发站FzC车号ChC实收重量ssZLR实收数量1ssSL1R入库费用rkFYR铁路代垫费tldDFR应收金额ysJER开单人KdrC备注BZC
(15)类用户权限YHQX私有属性属性名含义属性类型zgID职工编号StringzgXM姓名StringyhKL用户口令Stringqxxl权限序列StringBZ备注String公共方法方法名含义说明Add_YHQX:Boolean;添加Update_YHQX:Boolean;更新Del_YHQX:Boolean;删除CheckYHQXzgID:StringyhKL:Sring:Boolean;确认用户权限Print_YHQX:Boolean;打印
(16)类权限信息QXXX私有属性属性名含义属性类型qxID权限编号CqxM权限名CBZ备注C公共方法方法名含义说明Add_QXXX:Boolean;添加Update_QXXX:Boolean;更新Del_QXXX:Boolean;删除Query_QXXXqxID:String:Boolean;查询Print_QXXX:Boolean;打印
(17)类入库审核RKSH私有属性属性名含义属性类型md码单MDrkd入库单RKDhwycbg货物异常报告HWYCBGzk帐卡ZK公共方法方法名方法说明newrksfd:Boolean生成入库收费单newzkStringywIDStringzkIDStringjzrStringpzSFStringBZ:Boolean生成帐卡
(18)类职工信息ZGXX私有属性属性名含义属性类型zgID职工编号Stringxm姓名Stringxb性别Stringnl年龄Intjrgssj加入公司时间Datezw职位Stringgz工资Floatjc奖惩Stringbz备注String公共方法方法名含义说明Query:Boolean;查询19类物资存储类WZCCL私有属性属性名含义属性类型KCWZID库存位置编号String
(20)类业务类别YWLB私有属性属性名含义属性类型ywlbID业务类别编码StringywlbMC业务类别名称StringBZ备注String公共方法方法名含义说明Add_YWLB:Boolean;添加Update_YWLB:Boolean;更新Del_YWLB:Boolean;删除Query_YWLBywlbID:String:Boolean查询Print_YWLB:Boolean;打印
(21)类物资明晰分类WZMXFL私有属性属性名含义属性类型wzflID物资分类号StringmxlMC明细类名称StringBZ备注String公共方法方法名含义说明Add_WZMXFL:Boolean;添加Update_WZMXFL:Boolean;更新Del_WZMXFL:Boolean;删除Query_WZMXFLwzflID:String:Boolean;查询Print_WZMXFL:Boolean;打印
(22)类部门BM私有属性属性名含义属性类型bmID部门编号StringbmMC部门名称StringBZ备注String公共方法方法名含义说明Add_BM:Boolean;添加Update_BM:Boolean;更新Del_BM:Boolean;删除Query_BMbmID:String:Boolean;查询Print_BM:Boolean;打印
(23)类计量单位JLDW私有属性属性名含义属性类型jldwID计量单位编号Stringjldw计量单位String公共属性方法名含义说明Add_JLDW:Boolean;添加Update_JLDW:Boolean;更新Del_JLDW:Boolean;删除Query_JLDWjldwID:String:Boolean;查询Print_JLDW:Boolean;打印
(24)类站点ZD私有属性属性名含义属性类型zdID站点编号Stringzd站点String共有方法方法名含义说明Add_ZD:Boolean;增加站点Update_ZD:Boolean;更新站点信息Del_ZD:Boolean;删除站点Query_ZDZDID:String:Boolean站点查询Print_ZD:Boolean;打印
(25)类验收工具YSGJ私有属性属性名含义属性类型ysgjID验收工具编号StringYsgj验收工具String共有方法方法名含义说明Add_YSGJ:Boolean;增加验收工具Update_YSGJ:Boolean;更新验收工具信息Del_YSGJ:Boolean;删除验收工具Query_YSGJYSGJID:String:Boolean查询验收工具Print_YSGJ:Boolean;打印
(26)类设备SB私有属性属性名含义属性类型SbID设备编号StringClLX车辆类型StringEddw额定吨位FloatTfWZ停放位置StringCcID出厂序列号StringCd产地StringgmSJ购买时间DateJg价格FloatGsbm归属部门String最大承重数字型BZ备注String公有方法方法名含义说明Add_SB:Boolean;增加新设备Update_SB:Boolean;更新设备信息Del_SB:Boolean;设备报废Query_SBSBID:String:Boolean;查询设备Print_SB:Boolean;打印
3.5系统设计顺序图,入库类图新建入库单顺序图入库类
3.6系统扩展功能1权限管理我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制1)角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改2)权限管理对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作填加角色的顺序图删除角色的顺序图修改用户权限顺序图修改用户密码顺序图修改权限信息表2日志管理保存每个操作员所进行的所有操作,提供有权限的人进行查询的功能日志管理功能操作的顺序图如下3数据备份将所有数据表信息定期保存在磁盘中系统功能实现的顺序图如下4数据恢复用备份文件替换受损文件实现的顺序图如下5业务统计统计客户期间的入库业务量、出库业务量、货物信息等客户入库业务量统计顺序图客户出库业务量统计顺序图客户货物信息返回的货物信息数据项数据名称起日期止日期客户号客户名称货物编号hwID品名PM规格型号GGXH产地cd钢号pp等级dj定尺dc定尺长度dccd包装类型bzLXdwZL克重kz
3.7系统构架设计包是类或者文件的组合,在入库系统的开发中,我们定义了用户接口包,入库管理类包,数据存储包,以及在开发中涉及到的java包用户接口通过用户接口类,用户可以浏览系统中的数据、输入新的数据其操作是通过调用业务逻辑中的操作来完成的业务逻辑:主要包括应用系统的对象它们是对现实世界的模拟,定义了这些对象的行为以及它们为数据存取层提供了数据操作功能数据存取:提供服务给业务逻辑层中的类,以及类的定义入库子系统的设计架构第四章系统实现测试与配置
4.1系统实现的工具与技术本次系统地开发工具有Jbuilder9,Rose,SqlSever,以及Tomcat;Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器系统开发在Jbuilder9中开发JavaServletjsp页面,以Tomcat作为应用程序服务器,SQLServer作为数据库服务器
4.2系统实现方式图系统配置图系统组件图UML是用组件来表示代码物理模块的组件可以包括代码库和运行文件在生成代码之前,将每个文件映射相应组件在本系统中,使用的是Java开发每个类映射一个织件,表示这个类的.java文件生成代码时,Rose用组件信息创建相应的代码库文件本系统构造的组件图框架如下:第五章系统开发的思考
5.1数据库设计问题现在的开发环境越来越多的是面向对象的,而存储机制却是不同于此的关系型数据库,这两者之间存在着很大差异这种差异使系统的开发活动不能统一典型的情况是,越来越多的应用系统是三层甚至多层体系结构,在此情况下,用户接口层和业务逻辑层是用面向对象技术开发的,而数据库多数仍然是关系型的因此,在采用面向对象建模技术分析获得对象模型后,怎样得到关系型的数据库呢这也是我们本次系统开发中遇到的问题1属性类型映射成域UML中的属性类型AttributeType映射成数据库中的域Domain域的使用提高了设计的一致性,且优化了应用的移植性简单的域是非常容易实现的,仅仅需要替换相对应的数据类型和数据的尺寸同时,对于使用域的属性,可能要求为域的约束加入SQL的Check串例如,限定域的取值范围等枚举域EnumerationDomain限定了域允许取值的集合其实现通常有几种方法:定义SQL约束来限定取值;为每个枚举值定义标志;枚举表;对枚举值进行编码等在本系统地开发中,所有涉及到枚举型的数据象,我们都单独设置一表来表达,例如计量单位表中就是入库单等表中计量单位数据项的一枚举约束2类的属性映射至关系数据库表中的列属性可以直接映射为表中的零到多列通常,一个属性映射为表中的一列,但也有例外:
①对于非持久的属性可以不进行映射,有些属性置只做为中间值用于计算而不需保存在数据库中
②某些对象属性本身就是对象,客户中的地址属性如果较复杂可以映射为数据库表或多列此时,属性映射成多个字段反之,也可以将多个相似的简单属性映射为一列3类映射成表类到表的映射通常不是直接的只有非常简单的应用,类与表之间才会存在一一对应的关系
5.2数据库访问设计问题上面的实体对象映射到数据库表,主要是考虑UML的静态模型到数据库的映射,我们继续讨论动态模型在数据库设计中的实现,主要是数据库存取部分设计一般来说,数据库存取部分设计主要有以下几种策略:1每个对象或类自己负责数据库的访问工作.这种方法不需要专门的服务类,但是业务逻辑和数据操作逻辑都集中在业务类中,任务划分不清晰,业务类既要处理业务逻辑,又要处理数据操作,其中每一个的改动,都会影响到这个业务类2利用开发环境提供的机制许多开发环境提供了初级的访问关系数据库的机制,它们是很好的一个开始常用的方法包括Microsoft的ODBC机制开放数据库连接—ODBC和Java数据库连接JDBC,绝大多数面向对象的开发环境提供了封装这些标准方法之一的类库在本系统地开发中,我们用到了前者结束语本文从面向对象的思想出发,讨论了UML建模的语法结构和UML的建模思路与过程,并基于此对库存管理系统进行了分析,设计,以及最后的实现与测试,由于篇幅有限,本文重点介绍了系统的设计部分,对系统的实现与测试只是选择重点分析从整个论文的撰写和用例的开发中,我们对基于UML和统一过程的面向对象建模方法有了相当的认识在统一过程开发中,把一个较大的项目的功能分配到一个个用例上去实现,让开发过程变得比较轻松,更适合多个人共同开发;同时,通过开发阶段的限制和迭代的划分,使开发过程的透明度更高,目标更明确,整个项目开发的风险也降低了当然,由于时间关系,系统还有很多不完善的地方,系统地实现部分我们只实现了入库管理这一模块,并且对于系统高要求标准作的还不够,这也是我们日后努力的方向参考文献
[1]《信息系统开发方法教程》陈佳著清华大学出版社
1998.5
[2]《UML基础教程》张瑜清华大学出版社
2003.10
[3]《java与UML面向对象设计与编程》王柏电子工业出版社
2003.12
[4]《UML和模式应用》姚淑珍机械工业出版社
2002.6
[5]《深入javaservlets网络编程》谢志华西安电子科技大学出版社
2001.10
[6]《java面向对象编程指南》韩柯电子工业出版社
2001.11
[7]《SOFTWAREENGINEERING》ShariLavrencePfleeger高等教育出版社
2003.2
[8]《Jbuilder9》飞思科技产品研发中心电子工业出版社
2004.1
[9]《UML系统分析设计与应用案例》冀振燕人民邮电出版社仓储系统入库业务库存业务出库业务仓储系统功能其他业务管理入库管理出库管理库存管理系统管理查询管理基本资料管理仓区管理报表管理用户接口包业务逻辑包数据存取包应用包用户接口业务逻辑数据存取到站日报管理接口码单管理接口入库单管理接口入库审核管理接口查询处理新建处理修改处理删除处理审核处理clientcomputersevercomputerwan。