基于UML的仓储管理系统的设计与实现
因为系统开发的难度比较大,系统分析工作是我与我的合作者洪少藩同学共同完成的,而系统设计任务是我们分工完成的,我完成了入库管理与系统其他功能的设计,洪少藩完成了出库和库存的系统设计工作,由于时间关系我们在实现阶段只完成了入库管理这一模块。
4 系统功能简介:
系统的功能是系统能够做的事情,在本系统中,系统的功能有: 1 系统应该能完成入库操作过程中的表与码单的录入; 2 系统应该能完成入库过程中的货物的审核,记费; 3 系统应该能进行有效的库存管理,例如盘点,移库等; 4 系统应该能对出库过程中的表与帐单进行管理; 5 系统应该能对出库后的平帐,记录储存等进行管理; 6 系统用户能有效的进行权限,日志的管理; 7 系统用户可以查询报表,客户,货物等基本信息; 8 系统能记录下系统的使用日志;
9 任何人员要使用本系统必须拥有相应的权限;
6
基于UML的仓储管理系统的设计与实现
第一章 面向对象的UML建模
1.1面向对象的基本思想
面向对象方法是当今软件开发的主流方法,它的基本思想是从现实世界客观存在的事物或者说对象出发来构建系统,并且在构建系统时尽可能运用人类的自然思维方式。
软件开发是对问题求解的过程,从哲学中认识论的角度看整个软件的开发可以归结为两个主要的活动:人们对所要解决问题及其相关事物的认识和基于这种认识所进行的描述。认识指通过人的思维正确认识和理解系统所要处理的问题域中客观存在事物和所要解决问题:弄清事物的属性、行为和彼此的关系,找出解决问题的方法。描述指用一种语言说明人们对问题域中事物和问题及其解决方法的认识。
1.2面向对象的软件建模
建模是人们在实际应用中常用而且具有重要作用的一种技术。例如,人们在建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计图,并可能要建造一个实际模型进行风洞实验;在画一幅油画之前,先要用铅笔勾勒出画的轮廓。同样的,软件开发人员在实际开发一个复杂的项目之前,也应该先建立系统的模型。
对软件系统进行建模的目的在于:
1.理解应用领域中的知识,捕获用户的需求。
对系统进行分析的过程就是开发者不断学习用户领域知识的过程。要想建立一个正确的模型,首要的问题就是理解用户领域的知识。当开发者能建立出一个用户满意的模型时,说明他已经理解了用户领域中的知识,至少是抓住了与将要建立的系统本质有关的知识。
2.与用户沟通。
用户往往不是计算机专家,而开发者往往也不熟悉用户的领域。二者的沟通就有一定的难度。通过建立一个双方都能理解的模型有利于这种沟通,可以使项目投资者、分析人员、设计人员、程序员等达成一致,从而为建立正确的软件系统打下良好的基础。
3.进行系统设计。
在编写代码以前,软件系统的模型可以帮助软件开发人员方便的研究软件的多科构架和设计方案,从中找出最适合的解决方案,简化实现。通过研究一个大
7
基于UML的仓储管理系统的设计与实现
型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较。利用模型可以研究多种设计案,所花费的成本只是实现其中一种方案所花费的成本。
4.使实现细节和需求分开。
软件系统的模型可以从多个角度来描述系统:有些侧重于系统的外部行为和系统中与现实世界对应的有关信息;有一些则侧重于描述系统中的类以及类的内部操作。通过模型,可以将实现细节和需求分开。
5.设计出有用的实际产品.
通过建模,可以得到这样一些实际产品:类的声明,数据库结构,配置草案,或者还有初始的用户界面等,这些产品可以直接应用在后边的阶段中。
6.通过模型可以建立系统的文档。
软件系统用视图来组织信息:静态结构视图,状态机视图,交互视图,反映需求的用例视图等。通过这些视图可以组织、查找、检查以及编辑大型系统的有关信息。
7.利于我们理解复杂系统。
对大型复杂的系统直接理解往往有困难,通过建立模型,对系统进行抽象,抓住系统的主要方面,这样有利于理解系统。
面向对象建模方法主要从面向对象程序设计领域发展而来,它通过对象对问题域进行完整的映射,对象包括了事物的数据特征和行为特征:它用结构和连接如实反映问题域中事物间的关系,比如分类、组装等;它通过封装、继承、消息通信等原则使问题域的复杂性得到控制。所以,面向对象建模方法是对问题域的完整和直接的映射,在模拟现实世界方面具有天然的优势。
面向对象方法支持软件开发中从分析到设计以至实现的各个阶段,且各个阶段均采用一套概念和表达手段,它们之间没有“鸿沟”的存在,几乎不需要什么转化。面向对象方法还支持和鼓励复用,不仅包括实现的复用,还包括分析、设计等建模成果的复用。
1.3 UML建模语言简介
面向对象的分析与设计方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch, Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。
UML语言具有以下特点:
1 UML已经成为面向对象建模语言的标准
从理论角度讲,UML是三位很有影响的面向对象方法大师以及许多大公司井同努力的成果,Booch, Rumbaugh和Jacobson各自提出的方法及有关著作拥有
8
基于UML的仓储管理系统的设计与实现
不少用户和读者,而UML是他们以往研究的继续。在定义模型元素语义的基础上定义建模语言,使UML在理论上比较健全,具有表达力强、清晰和一致的特点,UML定义的各种图和各种建模元素是来自多种00方法的研究成果汇集。
2 UML缺乏过程指导
UML并不是十全十美的东西,最重要的一点是,它只是一种建模语言而非建模方法.
3 UML过于复杂
UML在具有丰富的表达力的同时,其复杂性也是惊人的。UML的开发者称:只要UML中20%的内容就可以表达实际应用中80%的系统。但UML中并没有给出哪些内容是必要的,哪些是可选的。这给用户的使用带来了不小的麻烦。
UML的模型主要是通过一系列相关的图来表达,在UML中共定义了9种图,它们分别从不同的侧面来描述系统,下图为在UML中定义的视图与图:
主要的域 结构 视图 静态视图 用例视图 实现视图 培植视图 动态 状态机视图 活动视图 交互视图 图 类图 用例图 构件图 配置图 主要概念 类,关联,泛化,依赖关系,实现,接口 用例,参与者,关联,扩展,包含,泛化 构件,接口,依赖关系,实现 节点,构件,依赖关系,位置 状态视图 状态,事件,转换,动作 活动图 顺序图 协作图 状态,活动,完成转换,分叉,结合 交互,对象,消息,激活 协作,交互,协作角色,消息 包,子系统,模型 模型管理 模型管理视图 类图 1.4 RUP过程指导与本系统分析设计过程
UML是一种建模语言而不是一种方法,UML的表示法和规则能够用来为系统进行面向对象建模,但并没有指定应用UML的过程和方法。1998年正式颁布的RUP(Rational Unified Process)是UML设计者们共同定义的一个软件开发的公共过程框架。
统一过程主要包括四个阶段:开始阶段、细化阶段、构建阶段和移交阶段。 结合仓储系统得特点和RUP分析过程,我们对本仓储系统的开发过程以及在开发过程中用到的建模图形如下:
9
基于UML的仓储管理系统的设计与实现
业务建模 表示 业务用例 活动图 描述 用例图 流程图 需求分析 表示 系统用例 描述 系统描述 用例图 类图 领域分析 表示 实例化 对象图 增补 用户接口包 特化 状态图 活动图 顺序图 细化 调整 系统设计 表示 业务逻辑包 数据存储包 应用包 类图 编码依据 实现 状态图 协作图 顺序图 活动图 用例图 实现目标 用例图 测试依据 测试依据 测试与配置 顺序图 类图 配置 配置图 注: 箭头表示模型和各种活动之间的描述关系; 虚线表示各种活动之间的可溯性
10