还剩63页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
基于UML的仓储管理系统的设计与实现TOC\o1-3\h\z\u目录引言5第一章面向对象的UML建模
71.1面向对象的基本思想
71.2面向对象的软件建模
71.3UML建模语言简介
91.4RUP过程指导与本系统分析设计过程10第二章仓储系统业务用例建模
132.1仓储系统业务流程分析
132.
1.1入库流程分析
132.2业务需求用例建模阶段
152.
2.1业务角色的查找及建立
152.
2.3业务用例图
182.
2.3业务活动图
182.3系统基本功能描述20第三章仓储系统系统需求用例建模
213.1入库管理需求用例分析
213.
1.1确定系统角色
213.
1.2确定系统顶层用例
213.
1.3入库管理功能性分析
223.
1.4到站日报录入管理用例描述
233.
1.5码单管理用例描述
253.
1.6入库单管理用例描述
273.
1.7审核管理用例描述
293.2系统扩展功能需求用例分析
303.3系统整体功能描述32第四章业务领域分析与设计
334.1系统顺序图,状态图
334.2定义基本对象与类
404.3入库系统类图
414.4定义对象与类的属性与操作
414.5系统设计顺序图,入库类图
534.6系统扩展功能
554.7系统构架设计63第五章系统实现测试与配置
645.1系统实现的工具与技术
645.2系统实现方式图
655.3系统测试与系统实现界面66第六章系统开发的思考
686.1数据库设计问题
686.2数据库访问设计问题69结束语70参考文献71致谢72基于UML的仓储管理系统的设计与实现摘要面向对象技术是软件工程和过程工程领域中的重要技术,统一建模语言UML则是近几年国际上比较流行的面向对象的标准建模语言本文阐述了基于UML建模的仓储管理信息系统的开发建模是开发优秀软件所有活动的核心部分,也是本文工作的重点所在在开发中我们考虑了RUP迭代式开发的优点并与本仓储系统开发的特色相结合,提出了自己的一套UML的建模过程基于这个过程我们从系统分析,设计,实现与测试,运用UML建模思想与各种模型对仓储系统进行了详细的描述关键字:面向对象,UML仓储系统,系统开发Abstract00isanimportanttechnologyforsoftwareengineeringandprocessingengineeringandtheUnifiedModelingLanguageUMLisainternationalpopular00modelinglanguageinrecentyears.ThisarticleexpatiatethedevelopmentofstoragesystembasedonUML.Modelingisthekeyportionforanexcellentsoftwaredevelopmentandmodelingisalsothekeyworkforthearticle.wedevelopannewprocessofModelingbasedonthecombineoftheRUPdevelopingandthestoragesystem.Keywords:00UMLRUPstoragesystemsystemdevelopment引言1问题的提出随着企业业务以及外部环境的变化,四川物资储运公司原开发的信息系统已不能满足新业务、新环境以及客户对信息查询的要求,迫切需要开发一套新的系统以替代原有系统,并实现原有流程的优化,把一些原来未纳入系统管理的功能纳入到新的系统中来,并为转变到第三方物流和与电子商务接轨作好准备传统的面向过程的仓储管理信息系统的开发中存在不少的问题,传统的面向过程的开发方法,也即主要是基于功能分析或数据分析基础上的结构化方法这种开发方法下设计的系统在70或80年代早期还可以适应,但在越来越复杂的非数值计算类型的软件开发中,在广泛应用图形界面的交互式系统中,在控制要求非常突出的应用中,在需求经常变化的条件下,尤其是在仓储系统这种数据流动性要求比较高的管理软件的开发,用传统的软件开发方法解决问题往往暴露出严重的不适应性,主要表现在以下几点1功能与数据分离的软件设计结构与人类的现实环境很不一样,和人的自然思维也就很不一致2系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难,因此这种结构无法适应迅速变化的技术和需求3在系统中模块之间的控制作用有重要影响时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错所以这种结构无法适应以控制关系为重要特性的系统要求4结构化方法开发出来的系统往往难以维护,因为所有的函数都必须知道数据结构5自顶向下功能分解的分析方法极大地限制了软件的可重用性,导致对同样对象的大量的重复性工作,大大降低了开发人员的生产率结构化开发方法暴露出来的问题促使了面向对象开发技术的形成与发展,而面向对象技术的发展促使了UML语言的产生2UML的产生自20世纪70年代面向对象技术出现以后,面向对象技术在计算机界得到了广泛的应用,并成为当前软件领域的主流技术为了解决复杂系统的开发,各种面向对象的软件工程方法被不断推出从1995年起,著名的软件工程学家GradyBoochIvarJacobsonJinRumbaugh携手合作共同努力,综合了他们各自的面向对象的分析和设计方法,并加以扩充和改进,汲取其他同类方法的优点,提出了UML统一建模语言UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言它溶入了软件工程领域的新思想、新方法和新技术它可以对复杂软件系统的各种成分进行可视化,进行说明和构造系统模型,以及建立软件文档目前,随着UML的提出与应用的成功,面向对象方法已趋于成熟,大有取代结构化方法的趋势其中,基于UML的面向对象的系统分析与设计方法解决了传统结构化方法中问题空间和解决空间在结构上不一致的问题,避免了从分析、设计到软件模块结构间的多次转换过程,同时又有效地结束了以前方法和模型语言之间不合理的差异,统一了许多信息系统的开发过程和内部概念,使信息系统开发变得简单、高效、合理,已成为当前进行信息系统开发的主流分析和设计方法3本文工作和系统开发本文首先对公司的业务与用户的需求进行了分析,然后对系统的功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用UML工具ROSE绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与仓储管理系统紧密结合既体现了面向对象的软件开发思想,又包容了UML建模语言所特有的语言建模优势在编写中我们大量的使用UML语言所提供的各种建模图形来描述仓储管理系统,例如描述用户需求的用例图,描述系统功能的动态的顺序图根据仓储管理的特点,我们大胆的改进了一般的UML建模的分析过程,并在分析设计过程中采用更加适合仓储系统的分析级类图与顺序图因为系统开发的难度比较大,系统分析工作是我与我的合作者洪少藩同学共同完成的,而系统设计任务是我们分工完成的,我完成了入库管理与系统其他功能的设计,洪少藩完成了出库和库存的系统设计工作,由于时间关系我们在实现阶段只完成了入库管理这一模块4系统功能简介系统的功能是系统能够做的事情,在本系统中,系统的功能有1系统应该能完成入库操作过程中的表与码单的录入;2系统应该能完成入库过程中的货物的审核,记费;3系统应该能进行有效的库存管理,例如盘点,移库等;4系统应该能对出库过程中的表与帐单进行管理;5系统应该能对出库后的平帐,记录储存等进行管理;6系统用户能有效的进行权限,日志的管理;7系统用户可以查询报表,客户,货物等基本信息;8系统能记录下系统的使用日志;9任何人员要使用本系统必须拥有相应的权限;第一章面向对象的UML建模
1.1面向对象的基本思想面向对象方法是当今软件开发的主流方法,它的基本思想是从现实世界客观存在的事物或者说对象出发来构建系统,并且在构建系统时尽可能运用人类的自然思维方式软件开发是对问题求解的过程,从哲学中认识论的角度看整个软件的开发可以归结为两个主要的活动:人们对所要解决问题及其相关事物的认识和基于这种认识所进行的描述认识指通过人的思维正确认识和理解系统所要处理的问题域中客观存在事物和所要解决问题:弄清事物的属性、行为和彼此的关系,找出解决问题的方法描述指用一种语言说明人们对问题域中事物和问题及其解决方法的认识
1.2面向对象的软件建模建模是人们在实际应用中常用而且具有重要作用的一种技术例如,人们在建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计图,并可能要建造一个实际模型进行风洞实验;在画一幅油画之前,先要用铅笔勾勒出画的轮廓同样的,软件开发人员在实际开发一个复杂的项目之前,也应该先建立系统的模型对软件系统进行建模的目的在于:
1.理解应用领域中的知识,捕获用户的需求对系统进行分析的过程就是开发者不断学习用户领域知识的过程要想建立一个正确的模型,首要的问题就是理解用户领域的知识当开发者能建立出一个用户满意的模型时,说明他已经理解了用户领域中的知识,至少是抓住了与将要建立的系统本质有关的知识
2.与用户沟通用户往往不是计算机专家,而开发者往往也不熟悉用户的领域二者的沟通就有一定的难度通过建立一个双方都能理解的模型有利于这种沟通,可以使项目投资者、分析人员、设计人员、程序员等达成一致,从而为建立正确的软件系统打下良好的基础
3.进行系统设计在编写代码以前,软件系统的模型可以帮助软件开发人员方便的研究软件的多科构架和设计方案,从中找出最适合的解决方案,简化实现通过研究一个大型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较利用模型可以研究多种设计案,所花费的成本只是实现其中一种方案所花费的成本
4.使实现细节和需求分开软件系统的模型可以从多个角度来描述系统:有些侧重于系统的外部行为和系统中与现实世界对应的有关信息;有一些则侧重于描述系统中的类以及类的内部操作通过模型,可以将实现细节和需求分开
5.设计出有用的实际产品.通过建模,可以得到这样一些实际产品:类的声明,数据库结构,配置草案,或者还有初始的用户界面等,这些产品可以直接应用在后边的阶段中
6.通过模型可以建立系统的文档软件系统用视图来组织信息:静态结构视图,状态机视图,交互视图,反映需求的用例视图等通过这些视图可以组织、查找、检查以及编辑大型系统的有关信息
7.利于我们理解复杂系统对大型复杂的系统直接理解往往有困难,通过建立模型,对系统进行抽象,抓住系统的主要方面,这样有利于理解系统面向对象建模方法主要从面向对象程序设计领域发展而来,它通过对象对问题域进行完整的映射,对象包括了事物的数据特征和行为特征:它用结构和连接如实反映问题域中事物间的关系,比如分类、组装等;它通过封装、继承、消息通信等原则使问题域的复杂性得到控制所以,面向对象建模方法是对问题域的完整和直接的映射,在模拟现实世界方面具有天然的优势面向对象方法支持软件开发中从分析到设计以至实现的各个阶段,且各个阶段均采用一套概念和表达手段,它们之间没有“鸿沟”的存在,几乎不需要什么转化面向对象方法还支持和鼓励复用,不仅包括实现的复用,还包括分析、设计等建模成果的复用
1.3UML建模语言简介面向对象的分析与设计方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物它不仅统一了BoochRumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言UML语言具有以下特点1UML已经成为面向对象建模语言的标准从理论角度讲,UML是三位很有影响的面向对象方法大师以及许多大公司井同努力的成果,BoochRumbaugh和Jacobson各自提出的方法及有关著作拥有不少用户和读者,而UML是他们以往研究的继续在定义模型元素语义的基础上定义建模语言,使UML在理论上比较健全,具有表达力强、清晰和一致的特点,UML定义的各种图和各种建模元素是来自多种00方法的研究成果汇集2UML缺乏过程指导UML并不是十全十美的东西,最重要的一点是,它只是一种建模语言而非建模方法.3UML过于复杂UML在具有丰富的表达力的同时,其复杂性也是惊人的UML的开发者称:只要UML中20%的内容就可以表达实际应用中80%的系统但UML中并没有给出哪些内容是必要的,哪些是可选的这给用户的使用带来了不小的麻烦UML的模型主要是通过一系列相关的图来表达,在UML中共定义了9种图,它们分别从不同的侧面来描述系统,下图为在UML中定义的视图与图主要的域视图图主要概念结构静态视图类图类,关联,泛化,依赖关系,实现,接口用例视图用例图用例,参与者,关联,扩展,包含,泛化实现视图构件图构件,接口,依赖关系,实现培植视图配置图节点,构件,依赖关系,位置动态状态机视图状态视图状态,事件,转换,动作活动视图活动图状态,活动,完成转换,分叉,结合交互视图顺序图交互,对象,消息,激活协作图协作,交互,协作角色,消息模型管理模型管理视图类图包,子系统,模型
1.4RUP过程指导与本系统分析设计过程UML是一种建模语言而不是一种方法,UML的表示法和规则能够用来为系统进行面向对象建模,但并没有指定应用UML的过程和方法1998年正式颁布的RUPRationalUnifiedProcess是UML设计者们共同定义的一个软件开发的公共过程框架统一过程主要包括四个阶段:开始阶段、细化阶段、构建阶段和移交阶段结合仓储系统得特点和RUP分析过程,我们对本仓储系统的开发过程以及在开发过程中用到的建模图形如下1进行业务流程建模通过使用UML的活动图与用例图描述企业的业务流程来理解领域知识,建立业务用例图;在建模之前我们对仓储系统的业务过程辅助业务流程图来分析,这也是我们在本次系统开发中的一创新点2进行系统功能建模寻找用例及其之间的关系用例图,通过详细描述用例来捕获系统的功能需求,同时辅助活动图,并建立系统用例图,这是整个开发过程的基础;3进行领域建模寻找对象与类,主要是使用类图表现领域中各业务类之间的静态关系,并用交互图、顺序图等具体描述类之间的交互以及对象的状态变化主要涉及以下活动并不一定是顺序的:1分析用例以及业务领域2发现对象,为对象分类,确定对象之间的交互3确定类之间的关系4定义类的属性和操作5分析对象的状态变化4进行系统设计,在系统分析的基础上进行:系统架构的设计进行高层的系统决策、确定基本的软件结构,并对应用系统进行划分;对象进一步设计对领域模型中的业务类进行精化、调整,增添界面类、控制类等用于实现的类数据模型设计考虑解决持久对象到数据库的映射问题,设计数据模型以及数据存取访问部分设计系统设计得到的模型是精化和调整后的类图、交互图等,同时还有对象持久设计得到的数据模型5实现实现的依据是设计过程中得到的静态视图类图、对象图、动态视图顺序图、状态图、协作图、活动图;同时可以将类映射为组件,进而使用CASE工具的框架代码自动生成的功能;同时通过实现图组件图、配置图来描述系统的物理视图6单元测试,集成与系统测试测试实现的部分是否满足用例的功能要求;另外,类图、组件图、协作图等也可以用来进行测试第二章仓储系统业务用例建模
2.1仓储系统业务流程分析
2.
1.1入库流程分析
1、货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资到站日报》,送至收货组;
2、收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》
3、客户《货物明细单》到达后,填写《入库单》核对《码单》、《货物明细单》,《入库单》,如出现差错,返客户《货物异常报告》
4、总经办审核记帐后,生成《帐卡》、《入库收费单》,数据不再允许改动入库业务流程图如下
2.
1.2出库库流程分析1客户在入库时提供提货样单,用户持提货单至发货组,要求提货调度员核实提货单的合法性,填写《出库单》,显示相关业务号信息,如果有层次,则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾货提示然后向用户出具《出库收费单》,同时生成《派车单》,并派保管员准备发货2保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出库信息表》3用户缴费后,保管员开具出门证给用户4总经办审核记帐后,生成保管收费单5一批货物全部出库后,保管员将《帐卡》、《提货单》、《码单》送至总经办核实平帐后,存档出库业务流程图如下
2.
1.3库存管理业务流程分析盘点流程1货舱部根据需要盘点的货物生成盘点帐存表,表中有生成盘点表的商品编码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息;2打印盘点单包括的项目有商品库位、所属部门、类别、商品编码、商品名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量;3盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处;4货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管检察录入数据的准确性后,审核生效;5生成盘点盈亏表6针对商品有盘盈和盘亏的商品进行记帐凡是有盈亏的商品列出商品编码、名称、实盘数量、帐存数量、成本单价、盈亏金额盘点业务流程图如下
2.2业务需求用例建模阶段
2.
2.1业务角色的查找及建立根据此仓储管理的分析知,仓储管理说涉及的业务角色有站台值班员,收货组,总经办,客户,保管员,货舱部,盘点员,调度员
2.
2.2业务用例查找与分析根据业务流程可以找到基本的业务用例有1站台值班员卸货审核清点货物货物到达后,站台值班员组织卸货,大致清点品种、件数,编写《物资到站日报》,送至收货组2收货组验收入库货物分配库位收货组根据《物资到站日报表》核对验收货物,分配库位,填写《码单》3收货组审核入库单据处理异常客户《货物明细单》到达后,填写《入库单》核对《码单》、《货物明细单》,《入库单》,如出现差错,返客户《货物异常报告》4总经办进行入库审核记帐总经办审核记帐后,生成《帐卡》、《入库收费单》,数据不再允许改动注客户提供提单的同时,提供一份提货样单5客户申请提货客户在入库时提供提货样单,用户持提货单至发货组,要求提货6调度员审核客户提货的合法性调度员核实提货单的合法性,填写《出库单》,显示相关业务号信息,如果有层次,则显示层次信息,并修改层次信息;如果是一个业务号的尾货则给出尾货提示然后向用户出具《出库收费单》,同时生成《派车单》,并派保管员准备发货7保管员组织发货处理保管员持《派车单》组织货物装运,记录实出货物信息,填写《码单出库信息表》8用户缴费后,保管员开具出门证给用户总经办进行出库审核记帐总经办审核记帐后,生成保管收费单总经办平帐处理一批货物全部出库后,保管员将《帐卡》、《提货单》、《码单》送至总经办核实平帐后,存档9货舱部生成盘点单据货舱部根据需要盘点的货物生成盘点帐存表,表中有生成盘点表的商品编码、商品名称、所属部门、库位、经营方式、库存数量及盘点日期等相关信息打印盘点单包括的项目有商品库位、所属部门、类别、商品编码、商品名称、经营方式、实盘数量及盘点日期,这里不输出商品的帐存数量10盘点员进行实地盘点盘点员手持盘点单,进行实地盘点,将数量填入盘点单中实盘数量处11货舱部进行盘点结果处理货舱部在微机中调出对应的盘点帐存表,将实盘的数量录入进去,经主管检察录入数据的准确性后,审核生效12生成盘点盈亏表针对商品有盘盈和盘亏的商品进行记帐凡是有盈亏的商品列出商品编码、名称、实盘数量、帐存数量、成本单价、盈亏金额13过户处理修改货物所属货主,同时修改相应信息(重复出库、入库流程)14移库处理修改移库货物原有和现有的库存位置
2.
2.3业务用例图
2.
2.3业务活动图入库过程出库过程盘点过程
2.3系统基本功能描述根据仓储系统业务过程分析知系统的基本功能有入库管理,出库管理与库存管理三大模块,系统功能图如下第三章仓储系统系统需求用例建模
3.1入库管理需求用例分析
3.
1.1确定系统角色一个角色可以是人、硬件设备、甚至另外一个系统对于一个系统而言,每种类型的用户表示为一个或几个角色,每个与该系统交互的外部系统也表示为一个或几个角色仓储管理系统中,我们通过分析,可以找出这样一些角色客户,货物,入库管理人员,仓库,出库管理人员,库存管理人员,系统管理人员
3.
1.2确定系统顶层用例一般的uml的需求描述方法是用用例图来表达角色、用例及其之间的关系,用文字形式的事件流文档具体描述用例细节这种方法存在以下缺点一张用例图不能描述复杂系统全部需求;系统的业务种类多、功能繁杂,根本无法清晰地将系统的全部功能展开在一张用例图上,即使可以,用户看到纵横交错的各种关系,也只能望而生畏;用例图不适应描述系统的非功能要求;文字不便于说明复杂用例的流程涉及多个部门之间的交互协调,事件流文档中的文字难以清晰地表达地籍数据的复杂流程因此我们将采用建立多层次的用例图顶层用例图描述系统粗粒度的全部功能;下一层将没有表述清的粗粒度用例用更细粒度的子用例描述根据系统的业务过程分析与用户的需求分析,系统的顶层用例如表所示参与者用例说明入库管理人员入库管理,其中包括到站登记日报管理,入库单管理,码单管理,审核记帐等库存管理人员库存的基本业务管理,包括盘点管理,过户管理,移库管理仓区的基本信息管理,包括仓区参数设置,库存分配,预警管理出库管理人员出库管理,有出库单管理,出库信息管理,出库审核管理,以及平帐等系统管理人员系统管理,报表管理,查询管理,基本资料管理等系统得顶层用例图如下
3.
1.3入库管理功能性分析根据业务描述,我们知道此模块应该要实现的功能大致如下1入库管理人员利用系统登记站台管理员送来的到站日报表信息;2入库管理人员能修改到站日报表信息;3入库管理人员能删除到站日报表信息;4入库管理人员根据到站日报填写,修改,删除码单;5入库管理人员根据货物明细单填写,修改,删除入库单;6入库管理人员审核《码单》、《货物明细单》,《入库单》如有差错,返回《货物异常报告》;如无差错生成《帐卡》、《入库收费单》入库管理的分层用例图如下
3.
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)系统提示删除到站日报完成
3.
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)系统提示删除码单完成
3.
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)系统提示删除入库单完成
3.
1.7审核管理用例描述用例审核管理参与者入库管理人员目的审核录入是否正确,生成帐卡,入库收费单综述入库管理人员根据货物的基本信息以及入库信息对业务进行审核,如果合格则自动生成帐卡和入库收费单,如果不合格则此笔业务被致与不合格处理参与者的动作系统响应1)用例始于对货物的信息进行审核处理2)入库管理人员选择登陆到本系统,并输入管理帐号与密码3)系统确认帐号与密码,并提示登陆成功进入系统4)入库管理人员根据系统的提示选择到审核管理5)进入审核管理界面6)入库管理人员选择要审核业务7)给出此业务的具体信息8)入库管理人员进行人工审核并选择A审核合格B不合格9如果审核合格系统自动生成帐卡和入库收费单,如果不合格修改审核状态为不合格10)系统给出提示信息11)用例在所有操作完成后结束
3.2系统扩展功能需求用例分析
1、系统管理权限管理给操作员分配相应的权限日志管理保存每个操作员所进行的所有操作,并提供相关信息的查询数据备份将所有数据表信息定期保存在磁盘中,确保数据的安全性与可靠性数据恢复将备份文件恢复到数据库中
2、报表管理业务统计统计客户期间的入库业务量、出库业务量、库存货物信息(包括平帐与否)等库存统计统计库存状况(可以按客户、货物、器件、仓区组合统计)货物统计统计期间的进出存、大品种货物信息货位统计统计货位占有情况、分配情况盘点统计统计与盘点相关的信息
3、查询管理在库查询根据不同的查询条件,查询出库存货物的信息进货查询根据不同的查询条件,查询出货物入库的信息出货查询根据不同的查询条件,查询出出库货物的信息盘点查询根据不同的查询条件,查询出与盘点相关信息(如历史盘点数据、某货物的盘点信息、某客户的盘点信息等)货况查询根据不同的查询条件,查询出货物状况的信息基本资料查询根据不同的查询条件,查询出与基本资料相关信息
4、基本资料管理客户管理对客户基本信息进行增加、删除、修改操作货物管理对货物基本信息进行增加、删除、修改操作业务员管理对业务员基本信息进行增加、删除、修改操作其它基本资料管理对基本资料进行增加、删除、修改操作包括用户权限表、权限信息表、客户货主/用户信息表、货物表、仓库信息表、库区信息表、库位信息表、部门表、物资种类表、物资大类表、物资小类表、物资明细分类表、入库费率表、出库费率表、仓储费率表、其他费率表、设备表、到货/出货方式表、业务类别表
5、仓区管理仓区参数设置设置仓区参数信息,提供对仓库、库区、库位的信息进行添加、删除、修改等操作库位分配示意图按平面图形式显示库位是否分配信息库存预警在超出或低于库存限度时给予报警计算机辅助分配进行库位分配时,计算机提供可分配的仓位
6、其他业务管理录入与编辑其它业务管理信息,具体包括机电物质信息、化工产品信息、攀金公司的物资信息、加工厂的物资信息、配送信息等
7、客户远程查询系统客户可根据不同的查询条件对自己的货物信息进行在库查询、进货查询、出货查询、货况查询
8、权限管理我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改权限管理对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作
3.3系统整体功能描述系统整体功能图如下第四章业务领域分析与设计
4.1系统顺序图,状态图权限管理对于系统来说十分重要,因为它关系到系统得安全性,因此在系统得开发与设计中,我们始终把系统的安全性放在十分重要的位置,因此我们在用顺序图分析的时候始终从系统用户未登陆状态来分析的,在后边系统详细设计时,我们会给出用户登录的顺序图;1新建到站日报2修改到站日报3删除到站日报4新建码单5修改码单入库信息6删除码单入库信息7新建入库单1.8修改入库单1.9删除入库单1.10审核处理
4.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
4.3入库系统类图
4.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;打印
4.5系统设计顺序图,入库类图新建入库单顺序图入库类
4.6系统扩展功能1权限管理我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制1)角色管理
(1)角色填加
(2)角色删除
(3)角色权限修改
(4)角色密码修改2)权限管理对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作填加角色的顺序图删除角色的顺序图修改用户权限顺序图修改用户密码顺序图修改权限信息表2日志管理保存每个操作员所进行的所有操作,提供有权限的人进行查询的功能日志管理功能操作的顺序图如下3数据备份将所有数据表信息定期保存在磁盘中系统功能实现的顺序图如下4数据恢复用备份文件替换受损文件实现的顺序图如下5业务统计统计客户期间的入库业务量、出库业务量、货物信息等客户入库业务量统计顺序图客户出库业务量统计顺序图客户货物信息返回的货物信息数据项数据名称起日期止日期客户号客户名称货物编号hwID品名PM规格型号GGXH产地cd钢号pp等级dj定尺dc定尺长度dccd包装类型bzLXdwZL克重kz
4.7系统构架设计包是类或者文件的组合,在入库系统的开发中,我们定义了用户接口包,入库管理类包,数据存储包,以及在开发中涉及到的java包用户接口通过用户接口类,用户可以浏览系统中的数据、输入新的数据其操作是通过调用业务逻辑中的操作来完成的业务逻辑:主要包括应用系统的对象它们是对现实世界的模拟,定义了这些对象的行为以及它们为数据存取层提供了数据操作功能数据存取:提供服务给业务逻辑层中的类,以及类的定义入库子系统的设计架构第五章系统实现测试与配置
5.1系统实现的工具与技术本次系统地开发工具有Jbuilder9,Rose,SqlSever,以及Tomcat;Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器系统开发在Jbuilder9中开发JavaServletjsp页面,以Tomcat作为应用程序服务器,SQLServer作为数据库服务器
5.2系统实现方式图系统配置图系统组件图UML是用组件来表示代码物理模块的组件可以包括代码库和运行文件在生成代码之前,将每个文件映射相应组件在本系统中,使用的是Java开发每个类映射一个织件,表示这个类的.java文件生成代码时,Rose用组件信息创建相应的代码库文件本系统构造的组件图框架如下:
5.3系统测试与系统实现界面系统的测试以用例图,类图,顺序图,为依据,测试实现的部分是否满足用例的功能要求系统实现界面1入库管理新建入库单界面2入库管理修改入库单界面3入库审核界面第六章系统开发的思考
6.1数据库设计问题现在的开发环境越来越多的是面向对象的,而存储机制却是不同于此的关系型数据库,这两者之间存在着很大差异这种差异使系统的开发活动不能统一典型的情况是,越来越多的应用系统是三层甚至多层体系结构,在此情况下,用户接口层和业务逻辑层是用面向对象技术开发的,而数据库多数仍然是关系型的因此,在采用面向对象建模技术分析获得对象模型后,怎样得到关系型的数据库呢这也是我们本次系统开发中遇到的问题1属性类型映射成域UML中的属性类型AttributeType映射成数据库中的域Domain域的使用提高了设计的一致性,且优化了应用的移植性简单的域是非常容易实现的,仅仅需要替换相对应的数据类型和数据的尺寸同时,对于使用域的属性,可能要求为域的约束加入SQL的Check串例如,限定域的取值范围等枚举域EnumerationDomain限定了域允许取值的集合其实现通常有几种方法:定义SQL约束来限定取值;为每个枚举值定义标志;枚举表;对枚举值进行编码等在本系统地开发中,所有涉及到枚举型的数据象,我们都单独设置一表来表达,例如计量单位表中就是入库单等表中计量单位数据项的一枚举约束2类的属性映射至关系数据库表中的列属性可以直接映射为表中的零到多列通常,一个属性映射为表中的一列,但也有例外:
①对于非持久的属性可以不进行映射,有些属性置只做为中间值用于计算而不需保存在数据库中
②某些对象属性本身就是对象,客户中的地址属性如果较复杂可以映射为数据库表或多列此时,属性映射成多个字段反之,也可以将多个相似的简单属性映射为一列3类映射成表类到表的映射通常不是直接的只有非常简单的应用,类与表之间才会存在一一对应的关系
6.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仓储系统过程语言思想PAGE1。