《UML与软件建模》实验1用例建模
[实验日期][实验目的]
·掌握客户需求分析的方法和步骤·了解以用例驱动的软件开发方法·识别并编写用例
·掌握用Rose进行用例建模的具体方法和步骤[实验内容]
要求学生根据周围的实际情况,自选一个小型应用项目,分析业务需求,识别并编写用例、绘制用例图以理
解系统需求。亦可采用教师指定的“企业综合信息管理系统”中的“进销存管理子系统”(参见“项目背景及简要分析.pdf”)。[实验原理和步骤]建模原理:
(1)需求获取。以任务和客户为中心,通过会议、面谈等手段对客户需求进行调研,获得系统目标、范围和功能要求的初步说明。
(2)用例分析。确定用例,同时采用分层思想,对用例的层次级别进行划分(高层用例、子系统级、用户目标级)(3)用例描述。分层绘制用例图,撰写用例的文字描述(采用单栏格式)。步骤:
(1)需求获取。自选题目,与相关客户、领域专家等反复商讨,获得系统目标、范围和功能要求的初步说明。(也可采用教师指定的题目:“企业综合信息管理系统”中的“进销存管理子系统”,但要仔细研读“企业现状”、“系统目标、范围和功能要求”等文字说明)。(2)用例分析。确定系统范围和边界、确定参与者、确定用例。(3)用例描述。分层绘制用例图、描述用例。
画图原理:
采用Rose软件进行用例建模必须建立在完好的系统用例分析基础之上.只有做好系统用例分析,系统用例建模才能这到预期的效果。步骤:
(1)分层绘制用例图,每层采用“包”进行管理。
(2)以“企业综合信息管理系统”->“进销存管理”子系统->“销售管理”->“合同管理”->“收款单处理”为主线,完成附录2中的操作过程(亦可选择“企业综合信息管理系统”->“进销存管理”子系统->“库存管理”->“原材料出库”->“领料单处理”主线)[实验结果]
《学生填写》
采用ROSE绘制的“企业综合信息管理系统”的1级用例图,以及其中的“进销存管理”用例的文字描述。《学生填写》
采用ROSE绘制的针对“进销存管理”用例的2级用例图,以及其中的“库存管理”用例的文字描述。《学生填写》
采用ROSE绘制的针对“库存管理”用例的3级用例图,以及其中的“原材料出库”用例的文字描述。《学生填写》
采用ROSE绘制的针对“原材料出库”用例的4级用例图,以及其中的“处理领料单”用例的文字描述。
年
月
日
[实验总结]
①对重点实验结果进行分析;
②实验中的问题和提高:对自己的分析或设计进行评价,指出合理和不足之处,提出改进的方案。③收获与体会:用例分级的要点,绘制用例图的要点。附录1:实验报告格式封面:
2008-2009(1)《软件建模原理》实验报告
实验一:用例建模
学院:班级:姓名:学号:内容:
实验一:用例建模
[实验日期]年月[实验目的][实验内容]
[实验原理和步骤][实验结果][实验总结]
附录2:用例建模的ROSE操作
以“企业综合信息管理系统”->“进销存管理”子系统->“销售管理”->“合同管理”->“收款单处理”为例。运行Rose程序|“NeW”选项|Cancel(不选语言)|
日
右键单击“untitled”|“Save”|在“文件名”编辑框中输入“企业综合信息管理系统之进销存管理子系统”|“保存”按钮
单击浏览器中用例视图“UseCaseView”文件夹中的“Main”选项,弹出用例图主窗口。我们打算在主窗口绘制“企业综合信息管理系统”的顶层用例图。
单击用例模型图工具栏的执行者“Actor”图符,然后在用例图窗口的适当地方单击鼠标左键以添加执行者:“经理”、“税务局”、“银行”、“企业员工”和“客户”。
单击用例模型图工具栏的执行者“Usecase”图符,然后在用例图窗口的适当地方单击鼠标左键以添加系统的下层用例:“经理查询”、“管理财务”、“调度生产”、“综合支持”、“管理进销存”。《这里之所以不写“生产调度管理”,只是想尽可能以用户为中心考察其面临的任务,从而间接表达系统功能,因此尽量采用动宾词组。》
添加执行者与用例之间的关系并命名:一般采用单向关联《实线箭头》《注意,课程设计书上错写成UndirectionalAssociation,应该是Uni***》或无方向关联。《建议用单向关联(实线箭头)》
企业员工可以“操作”所有用例,如果关联都命名为“操作”,将出现重名警告。其实,关联的全称应该包含被关联的两个事物,如“企业员工操作调度生产用例”。(也可以参考被关联的用例名称中的动词,如“调度”。)
添加用例之间的关系:用例之间的关系有:一般关联关系(用上述无方向实线箭头或单向实线箭头);包含关系、扩展关系(都是一种依赖,所以用依赖线【虚线箭头】);泛化关系(空心三角实线箭头)
对于依赖关系,如果能确定是包含(include)或扩展(entend),则需要修改关联的版型(Stereotyp)。绝大多数“模型属性”都可以通过右击图标,选OpenSpecification打开属性设置对话框进行修改,如name、type、Stereotype等,但涉及到字体、颜色等“非模型属性”除外。右击上述依赖线,选OpenSpecification,可以选择版型。对于自定义版型,可以在选择框中直接输入,如输入“依赖”(其实虚线箭头就是依赖,没有必要特别说明,以下便如此。)
注意蓝色线条标出的依赖关系是理解系统的一条主线。
设置执行者属性(也可以在添加执行者时就修改):一般情况,系统执行者(比如税务局、银行应该是一个外部系统,而不是人的角色)不采用Icon(小人)显示方式,而采用Label显示方式,可通过右键选Options|StereotypeDisplay|Label
可以在文档窗口为每个模型元素加入注释。
设置用例属性(也可以在添加用例时就修改):双击用例(或右击选OpenSpecification),可以修改其name、Stereotype,rank,Document等。因为是顶级用例图,其中的用例级别均为1。
通用的注释窗并不适合书写用例的文字描述,因此在此写出用例的word文档名称。与已完成的用例文档的连接可以在File标签中insertfile。
可以双击文件名查看已写好的用例。
下面开始为1级用例图中的每个用例画2级用例图。每个1级用例建一个包。
下面针对“管理进销存”用例(uc05000000)进行分解,建一张新的用例图,命名为“管理进销存”。打开此用例图进行绘制。
其中“管理销售”用例的级别是2,编号是05010000,对应的文字描述在“uc05010000管理销售.doc”。doc内容参考下图:
进一步分解“管理销售”用例(uc05010000),画3级用例图。参考下图:
再分解“管理销售合同”用例(uc05010300)《用例编号我是从上至下,从左到右排列,故编号是03,与书上不同》。参考下图:
并写出其中“增加新合同”和“收款单处理”用例的文字描述。
用例编号:05010303(共有4层用例图结构,采用8位编码,每层用2位数字)
用例名:收款单处理
执行者:人执行者:销售合同管理员、客户、公司经理,
系统执行者:“财务管理”子系统、“仓库管理子系统”、“生产调度管理”子系统。
目的:对于已签订生效的销售合同,财务管理部门负责收取客户货款,并开具收款单。“收款单处理”用例要做的工作是:核查收款单并从仓库提取客户订购的产品,核查并发货给客户。类型:主要的、基本的级别:4级
典型事件描述:
1.核对“收款单”:以批处理方式对财务部门传送过来的收款单(客户的付款证明),根据收款单上的合同编号自动找到对应的销售合同,将收到的货款金额填写到合同中;
2.核对“货物清单”:系统根据客户付款金额和合同上标明的货物种类、数量和单价,与仓库库存货物清单进行核对。
3.如果仓库中有合同规定数量的货物,从仓库提取客户订购的产品,核查并发货给客户。转到5执行。4.如果仓库中现存的货物少于合同规定的数量,应向“生产调度部门”发送“产品生产申请单”,要求立即组织生产。当所要的产品生产出来并入库后,转到步骤2执行。5.将发送货物的数量填写到相应销售合同中。6.退出系统。
与其他用例的关联:该用例有异步的多进程操作,涉及到“生产调度部门”和“仓库管理部门”的用例。异常事件流处理:
1.过程描述1中如果出现“收款单”找不到相应的“执行期采购合同”(合同编号不能匹配)时,显示警告提示用户。并将该“收款单”作出标记退回“财务部门”。