您好,欢迎访问三七文档
1第3章软件需求的用例建模方法邮购系统的业务过程陈述(工作流):公司的目标是为公司的所有注册会员提供高质量的邮购服务。任何个人或公司只要完成注册表单并将其发送到客户服务部门,成为会员。会员可以通过填写订购表单并将其发送给客服部门进行订购。客服部门验证会员资格,将订单转给销售部门。库存有货,销售部门处理订单,并将发货单存给库存部门。库存无货,销售部门向供应商发送购货单。购买的货物到后,入库,库存部门将货物交给该会员,财务部门将发票给会员。财务部门收到供应商的物品及发票,验证合格后,将货款打给供应商。回顾:邮购的业务过程分析客户客户服务部销售部门库存部门财务部门填写订货表单有库存处理订单下订单填写注册表单注册会员订货发送货物接受货物发送发货单接受发货单发出货款无库存邮购公司业务活动图回顾:邮购的业务过程分析下面要进行什么分析?软件需求?4回顾需求的活动用例图和用例的描述重点内容什么是用例?用例图包括哪些内容?用例的文字描述的步骤?53.1需求(requirement)与需求的活动需求就是要获得系统提供的所有服务,是“做什么”软件需求包括五个层次:业务需求用户需求功能和非功能需求环境、约束的需求接口的需求需求分析阶段的活动产出物会议纪要讨论纪要分析模型需求规格说明书审核通过的规格说明书图3-1需求分析阶段的活动需求管理需求获取需求分析与建模规格说明需求验证用例的概念在1986年由IvarJacobson正式提出之后被广泛接受,迅速发展,已成为OO、UML、RUP的标准规范和方法。3.2软件需求-用例建模技术在结构化的软件需求“系统做什么?”的问题中,增加三个词“foreachuser”,使问题变为“系统应该为每个用户做什么?”,系统对用户有什么价值。用例方法的思想:从用户的角度看,他们所关心的是系统所能提供的服务,用户使用系统完成不同的任务。通讯关联图3-2系统透视参与者系统外部,并与该系统发生交互的人或其他系统。系统基本事件流。用例3.2.1什么是用例问:一个自动饮料售货机的功能是什么?答:通过自动饮料售货机购买一听饮料(买饮料)。9参与者用例顾客买饮料收款员收款供应商提供饮料图3-3自动饮料售货机的用例图通信用例:站在用户角度定义软件系统的外部特征(1)用例:是系统执行的动作集合规格说明(2)用例的特征:特定的角色(particularactor)触发某些行为行为序列(sequencesofactions)系统执行(systemperforms)提供的服务可观测到的、有价值的结果(observableresultofvalue)。10用例分析技术用例图显示了系统的一组用例、用例的参与者及二者之间关系的图。3.2.2基本用例图(usecasediagram)的组成学生成绩管理员注册员图3-4简单大学用例图输入分数注册讨论班分发成绩单用例图的组成参与者(actor)用例系统边界(隐藏)参与者与用例的通信关联(communicationassociation)1)参与者(actor)人与系统进行交互时能够担任的不同角色为参与者(actor)。11参与者可以是人也可以是其他系统。参与者是系统的真正用户,但二者并不存在一对一的对应。参与者访问系统是有级别的,可由系统功能而定。确定参与者(actor)系统的主要客户是谁?系统从什么地方得到信息?该系统与其他系统交互信息是什么?在某一个预定时间,自动发生什么事情?特殊的参与者:系统时钟利用该参与者触发系统的一类定时操作。如定时检测系统、资源使用情况、定期生成统计报表等,这些操作并不是由外部的人或系统触发的。从逻辑上,这一参与者应该被理解成是系统外部的,由它来触发系统所提供的用例对话。系统时钟周期性任务触发图3-5特殊的参与者13在使用参与者为角色建模中是一种抽象,不为具体的人、机构、系统建模。注意图3-6对职位建模(不合理)张助教输入分数分发成绩单刘老师核对分数2)确定用例用例描述一个事件发生,产生动作步骤的集合。14(1)基于参与者的方法对每个参与者,识别出他们发起或参加的执行过程。(2)基于事件的方法#识别出系统必须响应的外部事件;#把事件与参与者和用例联系起来。以编制好的需求规格说明文档为基础例:ATM系统的用例参与者:银行客户用例:银行客户使用自动提款机来进行银行帐户的查询、提款和转帐交易银行客户取款转帐存款图3-7ATM系统的用例图查询维护人员维护系统周期性操作后台服务器还有哪些用例?还有哪些改进?ATM系统的改进用例图查询存、取款转帐周期性任务维护人员维护系统图3-8改进的ATM系统用例图系统时钟后台服务器银行客户系统的启动用例几乎所有的系统都包含一个系统启动用例。17出纳员购买商品登录启动退还商品管理用户其他顾客系统管理员管理员图3-9POST系统部分用例图这个用例有什么问题?18顾客购买商品退还商品商店图3-11以商店工作为系统边界顾客购买商品登录退还商品POST出纳员图3-10以POST工作为系统边界3)边界的选择定义系统的边界是为了识别出什么在系统之内,什么在系统之外,进而识别出什么是系统的职责。•典型的系统边界包括:硬件设备或硬件/软件边界一个组织中的部门或整个组织。3.2.3用例图上的其他关系在基本的用例图中,只需表述参与者和用例之间的通讯关系。此外,还可以描述:参与者与参与者之间的泛化关系(generalization)。用例和用例之间的泛化(generalization)关系,包含(include)关系,扩展(extend)关系。利用这些关系来调整、优化用例模型,抽取公共的信息,便于复用和维护。1)参与者之间的关系参与者之间的泛化(Generalization)关系actor2actor1普通用户常规操作管理操作配置操作系统维护员管理员客户电话登记客户上网登记客户用户常规操作管理操作配置操作系统维护员管理员图3-12参与者的泛化关系2)用例之间的关系(1)泛化(generalization)关系将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。子用例继承了父用例所有的结构、行为和关系。采购员采购物料采购钢材采购办公用品图3-13用例的泛化关系买票购买团体票子用例付费方式支付现金支付信用卡购买个人票父用例用例之间的关系:(2)包含(include)包含关系是:基用例指向被包含用例。include语义:基用例会用到被包含用例,被包含用例的事件流被插入到基用例的事件流中。银行客户查询取款转帐卡片验证includeincludeinclude图3-14用例的包含关系基用例被包含用例基用例不能独立存在,必须依赖于被包含用例。被包含用例一定要执行。许多用例的公共部分移到一个单独的被包含用例中。×include例,包含关系的几种可能性includeinclude图3-15包含关系的几种可能性includeincludeincludeincludeincludeinclude1234用例之间的关系:(3)扩展(extend)扩展关系是:扩展用例指向基用例(被扩展用例)。extend一个用例中有许多替代物或选择时,使用扩展关系,管理变更。呼叫转移银行客户extend打电话呼叫等待extend图3-16用例的扩展关系语义:基用例在某些特定情况下会用到扩展用例,扩展用例的事件流将被插入到基用例的事件流中。扩展用例(可变部分)基用例(不变部分)基用例能独立存在,不依赖于它的扩展用例。扩展用例可以不执行。例:用例之间的关系:扩展(extend)常规流:1拨号2建立通话链路3通话4挂机常规流:1如果应答方正忙,用铃声提示应答方并保持拨号呼叫常规流:1如果应答方无应答,进行呼叫转移打电话呼叫等待呼叫转移extendextend实际上相当于第一个用例的“备选流”extend扩展关系的几种可能性extendextend图3-17扩展关系的几种可能性extendextendextend1234extendextendextend27extend登记借书查询读者查询读书参加考试补考extendextendinclude创建新账户启动系统删除账户修改账户登记借书登记还书验证读者includeinclude例,标出下面用例图上的关系?图3-18有包含关系和扩展关系的用例图128includeincludeextend提供客户数据订货订货项目例:查询存款打印收据includeextend既是扩展用例也是被包含用例查询存款打印收据includeextend打印收据分开表示订货请求目录图3-18有包含关系和扩展关系的用例图229例:确定下面用例模型中的几种关系《extend》泛化《include》通信关联图3-19用例模型中的几种关系注册进大学注册讨论班在大学生中注册家庭成员在大学中注册国际学生注册员学生国际学生练习:举例说明用例的含包关系和扩展关系的区别。基用例3.2.4用例的文字描述NameoftheUseCase(用例的名字)Description(描述)Actor(s)(参与者)Flowofevents(事件流)Basicflow(常规流)Event1(事件)Event2……Alternateflow(备选流)Pre-conditions(前置条件)Post-conditions(后置条件)……用例=椭圆+名字?——NO!用例规约...用例模型参与者用例术语表在业务需求陈述的基础上:(1)建立初始的用例图。确定参与者确定用例建立参与者与用例的关联(2)进行用例的文字描述(3)细化用例进一步标明用例间的包含、扩展、泛化关系(4)对用例进行分组,用包图表示。3.2.5如何建立用例模型例1邮购系统客户通过填写会员注册表单并将发送给公司经审批成为会员。会员在一年内无活动,将会被删除。会员的个人信息改变后,应通知公司。会员填写销售表单并发送给公司,会员可以订购了。客户服务助理也可以通过电话方式处理订单。客户服务助理检查会员资格的有效性后可将订购信息输入到系统。库存握制员负责对库存量的监管及订货。若订单有问题,会员电话联系服务助理,并由助理追查销售订单。会员可在30天内退还次品,并取回货款。系统执行的每项任务都会记录相关员工的名字和ID。邮购系统用例级别的业务活动问题描述(1)寻找参与者和用例---建立初始的用例图检查订单状态下订单处理订单处理退货安排发货更新会员记录归档会员资料注册新会员订货接收货物发送货物库存控制员客户服务助理订单处理员为什么没有客户、公司?(2)描述用例---处理订单的用例描述用例名称处理订单参与者订单处理员描述订单处理员从系统中选择一个销售单,检查每一订单项有货的话,系统记录处理该销售单的订单处理员的姓名前提条件销售单保存在系统中后置条件销售单状态变为“已填”,该销售单持有相应的库存项事件流(1)订单处理员选择销售单,系统显示订单项及数量(2)订单处理员检查每项是否有库存(3)订单处理员为销售单提取库存项,系统将销售单状态修改为“已填”(2)描述用例---处理订单的用例描述用例名称处理订单可选流和例外流如果库存无某项,则订单项状态为“持有”。如果再订购量超过该会员的再订购限制,员工打印出“请求订金”给会员,该销售单被标为“订金待交”。当接收到订金或再订购总量没有超过会员的再订购限制,系统会将再订购请求交给库存控制员。当接收到库存项销售单时状态变为“已填”,系统通知订单处理员。(3)进一步细化用例图检查订单状态下订单处理订单处理退货安排发货更新会员记录归档会员资料注册新会员订货接收货物发送货物库存控制员客户服务助理订
本文标题:需求用例建模方法.
链接地址:https://www.777doc.com/doc-1959114 .html