资源描述
课 程 设 计
课程名称
UML系统建模
题目名称
采购管理系统
专业班级
学生姓名
学 号
指导教师
二零一八年六月十五日
目录
一. 问题描述 1
二. 用例模型 1
1. 收集供应货物客商的信息 2
2. 制定原材料采购计划 3
3. 签订采购合同 3
4. 监督合同执行 4
三. 静态建模 5
1. 问题域的静态建模 5
2. 实体类的静态建模 5
3. 供货商供货的活动图 8
4. 采购方购买的活动图 8
5. 采购方付款验收的活动图 9
6. 商品检查活动图 9
四. 创建动态模型 10
1. 系统的通信图 10
2. 系统的顺序图 11
3. 系统的状态图 12
五. 设计总结 14
六. 参考文献 15
一. 问题描述
采购管理通过收集历年来接触到的供应商的基本信息建立数据库。可以对供应商信息进行增加、修改、删除和查询。每个供应商可以供货多种产品,每个产品也可以由多个供应商供货。根据销售管理部门提供的销售计划和库存管理部门提供的“原材料(或零部件)库存清单,来制定月、季度和全年的采购计划。采购计划上报主管经理批准后,分送库存管理部门准备存储空间,送财务管理部门准备流动资金。根据采购计划和库存管理提出的“超过库存预警线的生产原材料(零部件)清单组织原材料的采购,与供货商签订采购合同。合同签订后经主管经理签字生效,分送库存管理部门准备存储原材料(或零部件),送财务管理部门准备货款。
采购合同执行期间,定期检查合同履约情况。督促供货方及时发送货物,通知仓库一起对原材料进行验收入库,通知财务部门案合同及时交付货款。协同库存管理部门按采购合同规定的产品名称、规格、数量、来火时间,对采购的原材料进行验收、入库。财务管理部门按采购合同及已收到的原材料的数量支付货款给供应方。采购合同涉及的原材料案合同全部到齐并验收入库,货款也已经全部支付完毕,说明合同已经履约,执行完毕,设置履约标记,如果到期合同没有履约,应注明违约方及违约原因。
二. 用例模型
用例在用例模型中描述。“采购管理系统”的用例模型中有三个参与者,分别是“供应方”(Supplier)、“采购方”(Purchaser)和“管理者(Manager)”,三者都是系统的用户。采购方可以查询供应方的货物信息、制定采购计划、签定交易合同、监督合同的进展、货物验收、完成付款等。供应方可以对产品信息进行增加、修改、删除和查询、签定交易合同、监督合同的进展、完成收款、检查合同履约率等。管理者主要起督促的作用,监督发货、督促付款、协同验收货物,三方都通过系统平台输入信息或者命令与系统交互。如图1所示。
图1
1. 收集供应货物客商的信息
收集历年来接触到的供应商的基本信息建立数据库。可以对供应商信息进行增加、修改、删除和查询。每个供应商可以供货多种产品,每个产品也可以由多个供应商供货。
用例名: 收集信息
概述: 收集供应方客商的信息
参与者:采购管理部门
前置条件:需要进行采购
主序列:
步骤1:收集历年来接触到的供应商信息。
步骤2:根据收集到的信息建立数据库。
步骤3:如果信息无需进行改动。
步骤4:提交数据库。
可替换序列:
步骤1:如果信息需要增加,则用数据库管理软件进行信息插入。
步骤2:如果信息需要删除,则用数据库管理软件进行信息删除。
步骤3:如果信息需要修改,则用数据库管理软件进行信息修改。
后置条件:已了解供货商的信息。
2. 制定原材料采购计划
根据销售管理部门提供的销售计划和库存管理部门提供的“原材料(或零部件)库存清单,来制定月、季度和全年的采购计划。采购计划上报主管经理批准后,分送库存管理部门准备存储空间,送财务管理部门准备流动资金。
用例名: 制定计划
概述: 制定原材料采购计划
参与者:采购管理部门
前置条件:根据计划和清单需要进行采购
主序列:
步骤1:销售部和库存部准备清单。
步骤2:根据清单建立采购计划。
步骤3:按照采购计划进行采购。
可替换序列:
步骤2:如果库存正常,则不会进行建立计划。
后置条件:采购命令已下达。
3. 签订采购合同
根据采购计划和库存管理提出的“超过库存预警线的生产原材料(零部件)清单组织原材料的采购,与供货商签订采购合同。合同签订后经主管经理签字生效,分送库存管理部门准备存储原材料(或零部件),送财务管理部门准备货款。
用例名: 签合同
概述: 签订采购合同
参与者:采购管理部门、供货商
前置条件:采购方有计划买、供货商有货卖
主序列:
步骤1:采购管理部门根据采购清单购买相应货物。
步骤2:采购方确定合同。
步骤3:供货商确认合同。
可替换序列:
步骤2:如果不确定,则订单取消。
步骤3:如果不确定,则订单取消。
后置条件:合同签订。
4. 监督合同执行
采购合同执行期间,定期检查合同履约情况。督促供货方及时发送货物,通知仓库一起对原材料进行验收入库,通知财务部门案合同及时交付货物款项。协同库存管理部门按采购合同规定的产品名称、规格、数量、来火时间,对采购的原材料进行验收、入库。财务管理部门按采购合同及已收到的原材料的数量支付货款给供应方。采购合同涉及的原材料案合同全部到齐并验收入库,货款也已经全部支付完毕,说明合同已经履约,执行完毕,设置履约标记,如果到期合同没有履约,应注明违约方及违约原因。
用例名:审查
概述:监督合同执行
参与者:采购方、供货方
前置条件:采购合同执行期间
主序列:
步骤1:检查合同履约情况。
步骤2:如果供货方按合同履约,那么执行3。
步骤3:采购方通知仓库一起对商品进行验收入库。
步骤4:采购方按合同及时交付货款。
可替换序列:
步骤1:如果供货方没有按合同按时发送货物,那么督促供货方发货。
步骤2:如果供货方按没有按合同履约,那么按合同违约处理。
步骤3:如果按照合同上商品出问题,那么按合同违约处理。
步骤4:如果采购方没有付款,那么按照合同违约处理。
后置条件:供货方以按合同按时发货、采购方按时付款。
三. 静态建模
1. 问题域的静态建模
我们做的是采购管理系统,所以必定少不了一个能把采购方、供应方汇聚在一起的一个实体,也就是系统平台。供货方在购物平台上上货,进入被购买状态。
与此同时,采购方发现仓库没有货物了,所以才去购买,于是和合同、审计发生了关系。
图2
2. 实体类的静态建模
因为有两种用户,采购方和供货方,所以我创建两个对应的类。采购商 品肯定少不了商品类和合同类。
(1)供货商
类名:供货商
类的类型:该类用于辨别供货商用户的依据,供货商用户有自己的操作权 限,并把其操作存入数据库中。
功能:用上货、收款、验收。
属性:公司名、地址、xx、介绍、信誉、供货类型、邮编。
操作:修改商品信息()、增加商品信息()、删除商品信息()、查找商 品 信息(),确认合同()、验收合同()。
(2)采购商
类名:采购商
类的类型:该类用于辨别供采购用户的依据,采购商用户有自己的操作权 限,并把其操作存入数据库中。
功能:购买、付款、验收。
属性:公司名、地址、xx、邮编。
操作:查询商品()、下单购买()、确认合同()、验收合同()。
(3)商品
类名:商品
类的类型:该类用于存储商品信息。
功能:存储商品信息。
属性:商品名、数量、单位、价格、介绍、供货方信息。
操作:初始化商品()。
(4)合同
类名:合同
类的类型:该类用于管理购物。
功能:存储购物信息。
属性:商品名、采购方名称、供货方名称、单位、数量、单位、数量、发货 时间、到货时间、付款时间。
操作:初始化合同()。
(5)仓库
类名:仓库
类的类型:该类用于存储商品。
功能:存储商品、提供已储存货物的信息。
属性:货物名、货物量、货物信息介绍、商品本身
操作:当有货物不足时提醒采购方()。
(6)审查
类名:审计
类的类型:该类用于维护购物的进行。
功能:维护购物的进行。
属性:供货方、采购方、货物、仓库、合同
操作:判断时间、判断金额、判断数量、判断种类、合同确认。如类图2
图3:类图1
图3:类图2
3. 供货商供货的活动图
根据已经建立的用例图和业务需求确定对象类,及其属性和操作。通过 检查类的定义、分析问题的需求和运用该领域的知识来完善和确定类的属性, 根据系统功能要求和系统设计需要完善和确定类的操作。
图5
4. 采购方购买的活动图
图6
5. 采购方付款验收的活动图
图7
6. 商品检查活动图
图8
四. 创建动态模型
1. 系统的通信图
通信图是一种UML交互图,它从动态的视角描绘了一组对象是怎样通过对象间消息传递来进行相互交互。在通信图中,对象之间的消息发送序列是由消息序列的编号来描述。通信图中的消息序列应该和用例中描述的参与者和系统之间的交互顺序相对应。
图9:供货商信息录入通信图
图10:采购方计划通信图
图11:签订合同通信图
2. 系统的顺序图
对象之间的交互也可以用顺序图来表示,顺序图按时间顺序展示了对象之间的交互。一个顺序图展示了所有参与交互的对象以及塔门之间的消息来往顺序。顺序图也可以用来描述循环和迭代。
图11:供货商信息录入顺序图
图12:采购方计划顺序图
图13:签订合同顺序图
3. 系统的状态图
状态图是一个诶的对象所有可能的生命历程的模型。状态机图通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为,也可以用来描述用例、协作和方法的动态行为,它是展示状态与状态转换的图。
图14:供货商对商品信息操作的状态图
图15:采购方“购物”的状态图
五. 设计总结
统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。
对于建模过程中遇到的问题通过上网查资料,询问老师,和同学进行讨论,得到了比较满意的解决,避免了自己眼高手低,从实践中发现自己的不足,并及时改正。采用该方法优于传统的过程开发方式,能够对整个开发过程提供灵活、一致、易读的表达,在很大程度上降低了软件开发的风险性,提高了软件开发的质量。
更让我明白,UML的知识是十分丰富的,我现在的认识还不够,我将会在以后的学习中,不断提高自己的UML知识,更好地让UML为将来的编程设计服务。
六. 参考文献
[1]Alexander,C,1997,.The Timeless Way of Building.New York:Oxford University Press
[2]Atkinson,C.,J.Bayer,O.Laitenberger,et al 2002.ponent-Based Product LineEngineering with UML.Bost:Addision-Wesley
[3]Buschmann,F.,R.Meunier,H.Rohnert,et al.1996.Pattern-Oriented Software Architecture:A systemof Patterns New York:Wiley
[4]Coad,P.,and E.Yourdon.1991.Object-Oriented Analysis.Upper Saddle River,NJ:Prentice Hall.
[5]Gomaa,H.1986.”Sofrrware Development of Real Time Systems.”munications of the ACM 29(7):657-668.
[6]Kobryn,C.1999.”UML 2001: A Standardization Odyssey.”munications of the ACM42(10):29-37
[7]Orfali,R.,D.Harkey,and J.Edwards.1999.Essential Client/Server Survival Guide,3rd ed.New York:Wiley.
[8]Selic,B.,G.Gullekson,and P.Ward.1994.Real-Time Object-Oriented Modeling.New York:Wiley.5
展开阅读全文