《软件工程仓库管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程仓库管理系统课程设计.docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录目 录第1章 绪论11.1 系统开发的背景和意义11.2 国内外研究发展现状11.2.1 面向对象技术的发展与现状11.2.2 UML的建模语言21.2.3 UML的应用领域31.2.4 超市仓库管理发展与现状41.3主要工作5第2章 业务建模62.1 RUP软件开发过程62.2 业务术语表92.3 组织机构图102.4 主业务用例图10第3章 分析与设计123.1 业务流程调查123.1.1 超市仓库管理信息系统业务流程调查123.1.2 岗位职责123.2 业务用例分析123.2.1 入库管理用例图:133.2.2出库管理用例图143.2.3 入库管理活动图153.2.4 出库管理活动
2、图163.3 业务类图173.3.1 超市仓库管理系统业务类图173.3.2 超市仓库管理信息系统业务类描述183.3.3 数据库详细设计18第4章 系统实现204.1 顺序图204.1.1 仓库入库顺序图204.1.2 出库顺序图214.2 协作图224.3 活动图234.4 系统构件图244.5 部署图254.5.1 网络结构图264.5.2 系统部署图264.6 界面设计274.6.1 本系统用户界面程序设计遵循的原则274.6.2 输入输出设计27结 论29参考文献3029第1章 绪论第1章 绪论1.1 系统开发的背景和意义随着经济的迅速发展,库存在企业中的地位越来越重要,库存资产占企
3、业资产总额的20%-40%左右。若能通过库存管理使库存节约即使很小的百分比,对企业来讲,其经济效益也是十分可观的,市场竞争的日益激烈,降低库存成本己经成为企业的“第三利润源泉”。随着经济全球化的发展,企业作为供应链的节点,库存也是一个重要的供应链驱动要素,库存的改变会在很大程度上影响供应链整体的赢利水平和响应能力,因此库存的研究在供应链中具有十分重要的作用和意义。本文在其他学者研究的基础上,提出了基于协同供应链的库存管理,利用聚类分析,主成分分析分类,多元统计分析建立安全库存模型,并利用数据对该模型进行仿真分析,以证其有效性。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品
4、信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。1.2 国内外研究发展现状1.2.1 面向对象技术的发展与现状面向对象是将计算过程看作为分类过程,加状态变换过程,即将系统逐步分为相互关联的多
5、个对象,并建立这些对象的联系,以引发状态转换,最终完成计算,它模拟了人类认识问题的较高、较广层次的过程,即分类过程。函数和逻辑方法则更适合于模拟人的逻辑思维,处于人类认识问题的较高层次过程,它们的结合才是完美的。当今的应用软件应该具有更大的灵活性、集成的透明性,以及使用上的方便性,而日益增强的计算能力及面向对象的新技术开发,使这些应用软件的功能不断扩展,面向对象的软件好处便呈现在应用软件的用户面前,无论是对软件的剪裁还是扩充、修改都可以更快更容易的进行。面向对象技术及分析方法为实际问题建立了一个可用的软件实现模型,对象提供了一种描述信息的机制,它是一种独特的方法抽象层次较高,思维方法和传统方法
6、不同,目前处于发展阶段已日趋成熟,而且已被应用于由软件、硬件构成的各种应用领域。面向对象与人工智能语言、面向对象数据库:优势在于数据库管理提供更适合于自然思维方式的数据库管理风格和数据模型对象,OOP以其概念和机制支持了软件的可重用性、软插件为软件可重用性终于明显的支持。面向对象与并行处理:从并行角度看,面向对象概念具有以下特征固有并发性,对象是相对独立的,知道如何工作的实体。消息发送是启动对象工作的唯一途径,各个对象的工作可以相互独立,因此具有天然的并发性;显式并发性,在一个面向对象系统中可以为某些对象明确定义并发方法;数据流与控制的统一,对象操作的启动是由其它对象发送消息来控制的,消息的发
7、送又总是携带某些对象的,因此,控制信息和数据信息是一起到来的,从而统一了数据流和控制流的思想;动态连接,即对象的功能是消息传送时确定的,提高了程序设计的灵活性;局部存储与分布式计算,每个对灸通过数据抽象和数据隐蔽将其内容和状态置于自身独立的存储结构中,对象的处理也是自治的,整个系统的运算和处理是分布的。面向对象软件工程(OOSE):从软件生存周期的伪度出发,研究面向对象概念在软件的规格化、分析、设计、编码、测试等阶段应用。面向对象还可广泛用于各种应用系统、CAD/CAM/CAE,动态模拟,CASE和人机界面等方面。总而言之,由于面向对象技术从软件的可修改性、可移植性、可重用性、可靠性、兼容性等
8、方面致力于改善软件产品的质量,缩短软件研制的同期,所以这种方法是有强大的生命力,已成为现今计算机软件发展的重要技术,有着非常光明的前途。1.2.2 UML的建模语言 软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言(UML:Unified Modeling Language)的出现。在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。采用UML作为我国统一的建模语言是完全必要的:首先,过去数十种面向对象的建模语言都是相互独立的,而UML可以消除一些
9、潜在的不必要的差异,以免用户混淆;其次,通过统一语义和符号表示,能够稳定我国的面向对象技术市场,使项目根植于一个成熟的标准建模语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵活程度。统一建模语言(UML)是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言。 首先,也是最重要的一点,统一建模语言融合了Booch、OMT和OOSE方法中的概念,它是可以被上述及其他方法的使用者广泛采用的一门简单、一致、通用的建模语言。 其次,统一建模语言扩展了现有方法的应用范围。特别值得一提的是,UML的开发者们把并行分布式系统的建模作为UML的设计目标,也就是说,UML具有处理这类
10、问题的能力。 第三,统一建模语言是标准的建模语言,而不是一个标准的开发流程。虽然UML的应用必然以系统的开发流程为背景,但根据我们的经验,不同的组织,不同的应用领域需要不同的开发过程。举个例子来说,开发错综复杂的软件是非常有趣的工作,但开发这种软件与构造严格实时的航空电子系统是大不一样的,后者是性命攸关的大事。因此首先把精力集中在设计通用的元模型上(统一不同方法的语义),其次是建立通用的表示法(提供对这些语义的形象化的表达)。虽然UML的开发者们将继续倡导从用例驱动到体系结构为中心最后反复改进、不断添加的软件开发过程,但实际上设计标准的开发流程并不是非常必要的。1.2.3 UML的应用领域UM
11、L的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互
12、间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。编程(构造)是一个独立的阶段
13、,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为,验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的
14、系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。1.2.4 超市仓库管理发展与现状在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,
15、管理人员对及时传递资料的要求始终得不到满足。苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.3主要工作主要有几个阶段的任务,如下:1绪论(系统开发背景、国内外技术现、开发计划)2业务建模 3系统开发的过程文档(
16、需求、分析、设计) 4系统实现 5结论本文首先对公司的业务与用户的需求进行了分析,然后对系统的功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用UML工具ROSE绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处。本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与仓储管理系统紧密结合。既体现了面向对象的软件开发思想 ,又包容了UML建模语言所特有的语言建模优势。在编写中我们大量的使用UML语言所提供的各种建模图形来描述
17、仓储管理系统,例如描述用户需求的用例图,描述系统功能的动态的顺序图。根据仓储管理的特点,我们大胆的改进了一般的UML建模的分析过程,并在分析设计过程中采用更加适合仓储系统的分析级类图与顺序图。第2章 业务建模第2章 业务建模首先,UML融合了Booch、OMT和OOSE方法中的基本概念,这些概念与其它面向对象技术中的基本概念大多相同,UML因而成为使用者乐于采用的简单一致的建模语言;其次,UML不仅是上述方法的简单汇合,而且在这些方法的基础上几经修改完成,它扩展了已有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用以系统的开发过程为背景,但针对不同组织和不同
18、应用领域,需要采取不同的开发过程。作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。UML描述了一个系统的静态结构和动态行为。UML将系统描述为一些离散的相互作用的
19、对象并最终为外部用户提供一定功能的模型结构。静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。UML还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解成易于处理的块结构,并理解和控制各个包间的依赖关系,在复杂的开发环境中管理模型单元。它还包括用于显示系统实现和组织运行的组件。2.1 RUP软件开发过程UML是一种建模语言而不是一种方法,UML的表示法和规则能够用来为系统进行面向对象建模,但并没有指定应用UML的过程和方法。1998年正式颁布的R
20、UP(Rational Unified Process)是UML设计者们共同定义的一个软件开发的公共过程框架。统一过程主要包括四个阶段:开始阶段、细化阶段、构建阶段和移交阶段。结合仓储系统得特点和RUP分析过程,我们对本仓储系统的开发过程以及在开发过程中用到的建模图形如图2-1所示。 配置 测试依据 测试依据 实现目标 编码依据 细化 调整 增补业务建模需求分析领域分析系统设计实现测试与配置描述业务用例活动图表示描述系统用例系统描述表示特化状态图活动图顺序图 实例化表示用户接口包业务逻辑包数据存储包应用包表示类图协作图顺序图状态图活动图用例图用例图顺序图类图注: 箭头表示模型和各种活动之间的描
21、述关系; 虚线表示各种活动之间的可溯性对象图配置图用例图流程图用例图类图图2-1建模图形1 进行业务流程建模通过使用UML的活动图与用例图描述企业的业务流程来理解领域知识,建立业务用例图;在建模之前我们对仓储系统的业务过程辅助业务流程图来分析,这也是我们在本次系统开发中的一创新点。2 进行系统功能建模寻找用例及其之间的关系(用例图),通过详细描述用例来捕获系统的功能需求,同时辅助活动图,并建立系统用例图,这是整个开发过程的基础;3 进行领域建模寻找对象与类,主要是使用类图表现领域中各业务类之间的静态关系,并用交互图、顺序图等具体描述类之间的交互以及对象的状态变化。主要涉及以下活动(并不一定是顺
22、序的):1 分析用例以及业务领域2 发现对象,为对象分类,确定对象之间的交互3 确定类之间的关系4 定义类的属性和操作5 分析对象的状态变化4 进行系统设计,在系统分析的基础上进行:系统架构的设计进行高层的系统决策、确定基本的软件结构,并对应用系统进行划分;对象进一步设计对领域模型中的业务类进行精化、调整,增添界面类、控制类等用于实现的类。数据模型设计考虑解决持久对象到数据库的映射问题,设计数据模型以及数据存取访问部分设计。系统设计 得到的模型是精化和调整后的类图、交互图等,同时还有对象持久设计得到的数据模型。5 实现实现的依据是设计过程中得到的静态视图(类图、对象图)、动态视图(顺序图、状态
23、图、协作图、活动图);同时可以将类映射为组件,进而使用CASE工具的框架代码自动生成的功能;同时通过实现图(组件图、配置图)来描述系统的物理视图。6 单元测试,集成与系统测试测试实现的部分是否满足用例的功能要求;另外,类图、组件图、协作图等也可以用来进行测试。 2.2 业务术语表软件构架:在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构,通信、同步和数据访问的协议,设计元素的功能分配,物理分布,设计元素的组成,定标与性能,备选设计的选择。逻辑视图:包括最重要的设计类、从这些设计类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式。
24、它还包括一些用例实现。它是设计模型的子集。实施视图:包括实施模型及其从模块到包和层的组织形式的概览。同时还描述了将逻辑视图中的包和类向实施视图中的包和模块分配的情况。它是实施模型的子集。 进程视图:包括所涉及任务(进程和线程)的描述,它们的交互和配置,以及将设计对象和类向任务的分配情况。只有在系统具有很高程度的并行时,才需要该视图。在Rational Unified Process中,它是设计模型的子集。 配置视图:包括对最典型的平台配置的各种物理节点的描述以及将任务(来自进程视图)向物理节点分配的情况。只有在分布式系统中才需要该视图。它是部署模型的一个子集。用例图:用例图是包括参与者、由系统
25、边界(一个矩形)封闭的一组用例、参与者和用例之间的关联、用例间的关系以及参与者的泛化的图。用例图表示了来自用例模型(用例,参与者)的元素。活动图:活动图是状态机的一个特殊例子,在该状态机中所有的或大部分的状态都是活动状态或动作状态,所有或大部分的转换由源状态中活动的完成所触发。活动图表示一个程序或工作流。活动图是模型中的完整单元。类图:类图是静态视图的图形表达方式,表示声明的(静态的)模型元素,如类、类型及其内容及相互关系。类图可以表示包的视图,包含嵌套包的符号。协作图:协作图是表示角色间交互的视图,即,协作中的实例及其链接。与顺序图不同,协作图表示了角色之间的关系。另一方面,协作图也不将时间
26、作为单独的维来表示,所以必须使用顺序号来判断消息的顺序以及并行线程。2.3 组织机构图仓库库存管理机构组织机构图描述了内部组织结构,工作人员之间的上下级关系。超市组织机构图如图2-2所示。图2-2超市组织机构图 2.4 主业务用例图在下一章将会对高仓库管理系统的主业务用例进行细化,有关本用例图的描述在此略。主用例图如图 2-3所示。图2-3主用例图第3章 分析与设计第3章 分析与设计系统分析与设计过程首先根据业务用例和业务活动图进行聚类,聚类活动在系统分析时开始。聚类活动是个连续的过程,需要不断地进行丰富和完善,需要按照面向对象设计的思想,划分出子系统类,并为类添加应该具有的方法或属性,以及这
27、些方法或属性的可见性,这些可以通过设计类图来描述。系统设计的任务就是要依据系统分析文档资料,采用正确的方法,确定系统功能模块在计算机内应该用那些程序组成,它们之间用什么方式连接在一起,以构成一个最好的系统结构。3.1 业务流程调查3.1.1 超市仓库管理信息系统业务流程调查根据分析,本系统业务流程主要包括如下内容:l 顾客发订单给销售部门l 销售部门经过订单检查,把不合格的订单反馈给客户l 对合格的订单,通过核对库存记录,缺货订单通过缺货统计,向采购部门发出缺货通知,并登记缺货记录;对于可供货订单,登记客户档案,开出备货单,通知仓库备货。l 保存订单数据,并进行销售统计。3.1.2 岗位职责1
28、.部门经理:进行入库出库的货物进行决策。以及对报表进行签字。2.入库管理员:对货物进行登记如数量单价等进行核对,各种信息的查询修改等。3.库存管理员:对货物进行盘点,对货物所在货架进行登记,货物的信息增加,删除,修改等,进行生成报表。4.出库管理员:对货物进行登记如数量单价等进行核对,各种信息的查询修改等。制作报表。3.2 业务用例分析用例视图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。用例模型的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。用例建模的主要目标是:1. 将需求模型变为可视化
29、模型,并最终得到用户确认;2. 给出清晰、一致的关于系统做什么的描述,确定系统的功能要求;3. 提供从功能需求到系统分析、设计、实现各阶段的度量标准;4. 为最终系统测试提供基准,据此验证系统是否达到功能要求。3.2.1 入库管理用例图:用例名:报表管理角色:入库管理员目的: 防止有错误的信息。描述:对报表进行修改,删除,查询等用例名:入库单管理角色:入库管理员目的:进行货物归类统一管理描述:管理员根据销售方面的情况计划的需要的货物用例名:入库审核角色:入库管理员目的:防止有错误的货物进入仓库描述:生成单价和生成收费单仓库管理员在工作的最开始阶段负责接收供应商给出的货物供应单,接收货物后填写入
30、库单,给采购人员确认信息,为采购人员打印相关报表,使用业务用例刻画了业务活动中的各个角色以及它们在业务活动中的关系。如图3-1所示。 图3-1入库管理用例图3.2.2出库管理用例图用例名:报表管理角色:出库管理员目的: 防止有错误的信息。描述:对报表进行修改,删除,查询等用例名:出库单管理角色:出库管理员目的:进行货物归类统一管理描述:管理员根据销售方面的情况计划的需要的货物用例名:出库审核角色:出库管理员目的:防止有错误的货物出仓库描述:生成单价和生成收费单仓库管理员接收提货单后填写出库单,给销售人员确认性息。对于价格较高的货物需要高层领导签字确认出库,活动方可进行。仓库管理系统在得到提货单
31、确认后,更改系统中的信息,如系统库位和货物剩余量。出库管理的用例图如图3-2所示。图3-2出库管理的用例图3.2.3 入库管理活动图 活动图是系统一系列状态的综合体现,它描述了系统中各种活动执行的顺序,活动图是系统一系列状态的综合体现,它描述了系统中各种活动执行的顺序,刻画了一个系统中所要进行的各项活动的执行流程。根据上文中绘制的顺序图以及合作图,对两图中相互交互的对象进行分析可以得出系统中各部分主要的活动如下 在用例的基础上,需要对每一个业务活动进行详细描述。UML中的活动图用于描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动和工作流程情况。活动图实际上就是用来为用例的
32、事件流建模的工具。下面用活动图来对入库管理系统的主要活动进行描述。图3-3描述了入库管理活动图。图中共有3条泳道,它们分别是:供应商,操作员,管理员。图3-3入库管理的活动图3.2.4 出库管理活动图图3-4描述了仓库管理系统的出库管理活动图。图中共有2条泳道,它们分别是:管理员操作员。图3-4出库管理的活动图3.3 业务类图3.3.1 超市仓库管理系统业务类图类是应用领域或应用解决方案中概念的描述。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。静态视图用类图来实现,正因为它以类为中心,所以称其为类图。在类图中类用矩形框来表示,它的属性和操作分别列在分格中。如不需要表达详
33、细信息时,分格可以省略。一个类可能出现在好几个图中。同一个类的属性和操作可只在一种图中列出,在其他图中可省略。关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。超市仓库管理系统的域模型图如图3-5所示图3-5 超市仓库管理系统业务类图3.3.2 超市仓库管理信息系统业务类描述类名:供货商功能:记录供货商的情况属性:企业编号、企业名称、企业地址、企业电话类名:入库单功能:记录要进库的货物属性:入库单编号、物料名称、物料编号、数量、单价类名:出库单功能:记录要出库的货物属性:出库单编号、物料名称、物料编号、数量、单价类名:库位描述功能:记录仓库的位置属性:库位编码、物料编码
34、、容积编码、备注类名:盘点功能:记录库存的位置属性:货架编码、物料编码、盘点日期、现有存量、盘点数量3.3.3 数据库详细设计数据库管理系统的使用上系统将采用 SQL Server 2000, 系统主要需要维护3张数据表: 表3-1入库信息表字段名类型长度描述StockIDVarchar 10入库编号MerchIDVarchar10入库商品编号MerchNumInt6入库数量MerchPriceVarchar3单额TotalPriceVarchar6总额StockDateDatetime8入库日期PlanDateDatetime8计划进货日期StockStateVarchar4入库状态表3-2
35、 出库信息表字段名类型长度描述CkIDVarchar 10出库编号CkIDVarchar10出库商品编号CkNumInt6出库数量MerchPriceVarchar3单额TotalPriceVarchar6总额CkDateDatetime8出库日期CkDateDatetime8出库日期CkStateVarchar4出库状态表3-3供货商表字段名类型长度描述ProvideIDVARCHAR10企业编号ProvideNameVARCHAR20企业名称ProvideAddressVARCHAR80企业地址ProvidePhoneVARCHAR15企业电话第4章 系统实现第4章 系统实现根据聚类分析结
36、果和业务流程中的活动图可以设计和完成用例的实现,可以用顺序图、协作图和活动图来表示。下面详细描述整个系统实现过程。4.1 顺序图顺序图表示了对象之间传送消息的时间顺序。每一个类元角色用一条生命线来表示,即用垂直线代表整个交互过程中对象的生命期。生命线之间的箭头连线代表消息。顺序图可以用来进行一个场景说明即一个事务的历史过程。顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,
37、角色用一条虚线表示;当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。顺序图的图形元素组成成分:对象、生存线、消息和激活期。1. 对象:时序图中所包含的每个对象用一个对象框表示,对象名需要带下划线。2. 生存线:对象框下画垂直的虚线,称为该对象的生存线,表示对象的生存时间。3. 激活期:对象生存线上的一个长方形框,表示该对象的激活时间段,即活动期。4. 消息:在时序图中,对象之间的消息发送和接收用两个对象生存线之间的消息箭头线表示,用来指出该对象执行期间的时序。在本论文中选用顺序图对系统进行动态建模。4.1.
38、1 仓库入库顺序图对象之间传送消息的时间顺序系统入库管理顺序图如图4-1所示。图4-1系统入库管理顺序图4.1.2 出库顺序图超市仓库管理出库顺序图如图4-2所示。图4-2 超市仓库管理出库顺序图4.2 协作图协作图和顺序图都可以表示各对象间的交互关系,但它们的侧重点不同。顺序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的。协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。在实际中可以根据需要选用这两种图。一个协作图描述了系统中为实现某些服务所涉及的对象扮演的角色及其相互之间的交互。协作图着重于有协作关系的对象之间的交互和链接(指对象实例之间
39、的物理或概念上的链接,一个链接是某关联的一个实例)。它可用于图示系统中的操作执行、用例执行或一个简单的交互场景。协作图描述了对象及其之间的链接,还描述了链接的对象之间如何发送消息。仓库管理的入库协作图如图4-3 所示。图4-3仓库管理的入库协作图超市仓库管理的出库协作图如图4-4 所示。 图4-4超市仓库管理的出库协作图4.3 活动图在UML中,活动图是系统动态行为建模的图形工具之一,用来表示完成一个操作所需要的活动,或者是一个用例实例(场景)的活动。活动图实际上也是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。活动图特别适合描述动作流和并发处理行为。活动图是描述对象间互
40、动关系的另一种方法。1. 动作状态动作状态表达不可中断的动作或操作的执行,用于对实例中原子性(不可分割)动作或算法的执行步骤建立模型。2. 活动状态活动状态拥有一组不可中断的动作或操作,表达一个非原字的运行。也可以说,一个活动状态是由一系列动作状态组成。活动状态的图标中可以只标明活动名称。也可以详细描述其入口动作和出口动作等。3. 动作流是一个实例的不同动作状态之间的联系,说明状态之间的控制流。4. 泳道泳道代表对象对活动的责任。一张活动图可划分成若干个矩形区,每个矩形区为一个泳道,泳道名放在矩形区的顶端。把这些泳道指定给对象,这些对象必须履行该泳道包括的活动。泳道是把指定对象和活动相联系的办
41、法之一,它明确表明对象进行了哪些活动。通常根据责任把活动组织到不同的泳道中,它能清楚地表明动作在哪执行(在那个对象中),或者表明一个组织的哪部分工作(一个动作)被执行。5. 活动图中的对象活动图中的对象用对象符号(矩形框)表示,它可作为活动的输入或输出(用虚线箭线连接),也可展示一个对象受一个特定动作的影响(用动作和对象之间的虚箭线表示)。在活动图中,虚箭线也称为对象流,对象流表示动作状态或活动状态与对象之间的关联。通过活动图中的对象流,可以清楚地描述各项动作状态与不同对象之间的关系,方便系统的分析与设计。根据聚类分析结果和业务流程中的活动图可以设计和完成用例。用例的实现可以用顺序图和活动图来
42、表示。这里用顺序图做了详细分析,因此不在用活动图表示。4.4 系统构件图构件图描述构件及其之间的相互依赖,构件是逻辑体系结构(类、对象、它们间的关系和协作)中定义的概念和功能在物理体系结构中的视线,它通常是开发环境中的实现性文件。构件图主要用于建立系统的静态实现视图模型,通过构件之间的依赖(虚箭线)关系描述系统软件的组织结构,展示系统中的不同物理构件及其之间的联系。在UML中对一个系统的构件和构件图建模就是在物理结构上建模。每一个构件图只是系统静态视图的某一个图形表示,描述系统的某一个侧面。也就是说,任何一个构件图都不必面面俱到,试图全面地描述系统的整个面貌,系统中所有的构件图合起来才能描述系
43、统的完整静态视图。超市仓库管理系统构件图如图4-5所示。图4-5超市仓库管理系统构件图4.5 部署图一个系统包括软件和硬件两方面,经过开发的软件系统的构件和重用模块必须部署在某些硬件上予以执行。部署视图表示运行时的计算资源(如计算机及它们之间的连接)的物理布置。这些运行资源被称作节点。在运行时,节点包含构件和对象。构件和对象的分配可以是静态的,它们也可以在节点间迁移。如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。节点是某些计算资源的物理对象,包括计算机、外部设备等。节点可被看作类型,也可看作实例。节点与节点之间是通过物理连接发生关联,以便从硬件方面保证系统各节
44、点之间的协同运行。建立部署图的步骤如下:1确定节点:根据硬件设备和软件体系结构的功能要求统一考虑系统的节点。2确定驻留构件:根据软件体系结构和系统功能要求分配到相应构件驻留到节点上。3注明节点性质:用UML标准或自定义的构造模型描述节点的性质。4确定联系:用关联连接描述节点之间的联系;可在关联线上标明使用的通信协议或网络类型。5绘制部署图:形成结构清晰具有层次的部署图。4.5.1 网络结构图网络结构图如图4-6所示图4-6 网络结构图4.5.2 系统部署图系统部署图如图4-7所示。图4-7系统部署图超市仓库管理系统的部署图描述如下:节点该系统使用的硬件设备:普通PC机和移动PC机作为终端设备,
45、1台数据库服务器(采用SQL Server 2000),1台应用程序服务器,和多台Web服务器。节点属性该系统各节点计算机的性能指标:戴尔658:CPU速度为2.0GHz,内存容量为2GB,自带硬盘容量为300GB;戴尔658:CPU速度为2.5GHz,内存容量为4GB,自带硬盘容量为500GB。节点之间联系客户机节点是简单通信联系,采用TCP/IP通信协议;客户通过Internet网与Web服务器相连接,利用浏览器进行查询;外出员工通过Internet网对系统进行浏览访问。4.6 界面设计4.6.1 本系统用户界面程序设计遵循的原则1.一致性原则:系统所有窗口的设计,采用统一的字体字号、统一的色调、统一的提示词,新弹出的对话框在统一的位置,按钮也在窗口的相同位置。2.功能的统一:对一些常用功能,如添加、修改、删除、查看等,这些功能都有相同的使用方法。4.6.2 输入输出设计业务人员负责系统的各项输入工作,采用人机交互的方式,直接从键盘录入。输入设计要求:用户在输入数据的时候要严格遵守格式要求。输出项目:各类打印报表。输出设备:
限制150内