1、 用况是对一组动作序列(业务过程)的描述,用况是对一组动作序列(业务过程)的描述,系统执行这些动作将产生一个对特定的参与者有价系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。值而且可观察的结果。1.用况(用况(use case)(1)用况的图形符号 在图形上,一个用况用一个椭圆表示。在图形上,一个用况用一个椭圆表示。取款4.1 用况用况(2)用况的名称)用况的名称 每一个用况都必须有一个区别于其他用况的名每一个用况都必须有一个区别于其他用况的名称。用况名称(称。用况名称(namename)是一个字符串。在实际应用)是一个字符串。在实际应用中,中,用况的名称是简短的主动语态的动词
2、词组用况的名称是简短的主动语态的动词词组,用,用来描述被建模的系统的某些行为。来描述被建模的系统的某些行为。Place order Sensors:Calibrate locationValidate user简单名路径名 单独的名称称为简单名,在用况名前加上它所属单独的名称称为简单名,在用况名前加上它所属的包的名称,称为路径名。的包的名称,称为路径名。(3)用况与参与者)用况与参与者 一个参与者表示用况的使用者在与这些用况进一个参与者表示用况的使用者在与这些用况进行交互时所扮演的角色的一个紧密的集合。行交互时所扮演的角色的一个紧密的集合。参与者所代表的角色有:人、硬件设备,或甚参与者所代表的
3、角色有:人、硬件设备,或甚至是另一个系统至是另一个系统。例如:如果你在银行工作,你可能是一个贷款员,如果你在该银行有存款,那么你同时也扮演一名顾客的角色。所以,一个参与者的一个实例代表以一种特定的方式与系统进行单独的交互。注意:尽管在模型中使用参与者,但参与者实际上注意:尽管在模型中使用参与者,但参与者实际上并不是系统的一部分。并不是系统的一部分。参与者的图形符号是人形图符参与者的图形符号是人形图符Customer 可以定义参与者的一般种类(比如可以定义参与者的一般种类(比如CustomerCustomer)并通过泛化关系将其特殊化(比如并通过泛化关系将其特殊化(比如Commercial Co
4、mmercial CustomerCustomer)。)。CustomerCommercial Customer(4)用况与事件流)用况与事件流 可以通过足够清晰的、外部人员容易理解的文可以通过足够清晰的、外部人员容易理解的文字描述字描述一个一个或或一些一些事件流来说明一个用况的行为。事件流来说明一个用况的行为。事件流中应该包含用况何时开始、何时结束,事件流中应该包含用况何时开始、何时结束,用况何时和参与者交互,什么对象被交换,以及该用况何时和参与者交互,什么对象被交换,以及该行为的行为的基本流基本流和和可选择流可选择流。例:在例:在ATM系统中,可以采用下面的主事件流和异常系统中,可以采用下
5、面的主事件流和异常事件流来描述用况事件流来描述用况Validate User的行为:的行为:异常事件流异常事件流1:顾客可以在任何时间通过按:顾客可以在任何时间通过按“取消取消”按钮按钮取消一个事务,这样该用况重新开始。顾客的帐户未取消一个事务,这样该用况重新开始。顾客的帐户未发生改变。发生改变。异常事件流异常事件流2:顾客可以在确认之前的任何时刻消除:顾客可以在确认之前的任何时刻消除PIN号,并重新输入一个新的号,并重新输入一个新的PIN号。号。异常事件流异常事件流3:如果顾客输入一个无效的:如果顾客输入一个无效的PIN号,用况号,用况重新开始;如果连续重新开始;如果连续3次输入无效的次输入
6、无效的PIN号,系统将取号,系统将取消整个事务,并在消整个事务,并在60秒内阻止该顾客与秒内阻止该顾客与ATM交易。交易。主事件流:在系统提示顾客输入主事件流:在系统提示顾客输入PIN编号时编号时用况开始用况开始。顾客通过按键输入顾客通过按键输入PIN编号;顾客按编号;顾客按“输入输入”按钮确认按钮确认登录;系统校验该登录;系统校验该PIN号是否有效。如果有效,系统号是否有效。如果有效,系统承认这次登录,该承认这次登录,该用况结束用况结束。2.组织用况组织用况 用况之间存在用况之间存在用况之间存在用况之间存在泛化关系泛化关系泛化关系泛化关系、包含关系包含关系包含关系包含关系和和和和延伸关系延伸
7、关系延伸关系延伸关系,我们可以利用这些关系来组织用况。我们可以利用这些关系来组织用况。我们可以利用这些关系来组织用况。我们可以利用这些关系来组织用况。1)用况之间的泛化关系用况之间的泛化关系 用况之间的泛化关系就像类之间的泛化关系,用况之间的泛化关系就像类之间的泛化关系,子(特殊)用况继承父(一般)用况的行为和含义;子(特殊)用况继承父(一般)用况的行为和含义;子用况还可以增加或覆盖父用况的行为;子用况可子用况还可以增加或覆盖父用况的行为;子用况可以出现在父用况出现的任何位置。以出现在父用况出现的任何位置。例:例:ATM系统中的系统中的Validate User用况,根据校验设备用况,根据校验
8、设备的不同可以特例化为以下二个特殊用况:的不同可以特例化为以下二个特殊用况:Check Password用况和用况和Retinal Scan用况。用况。Validate UserCheck PasswordRetinal Scan这二个特殊用况都有这二个特殊用况都有Validate User的行为,并且还添的行为,并且还添加了各自的行为:加了各自的行为:Check Password用况检查文本密码;用况检查文本密码;Retinal Scan用况检查用户唯一的视网膜模式。用况检查用户唯一的视网膜模式。2)用况之间的包含关系用况之间的包含关系 用况之间的包含关系表示用况之间的包含关系表示用况之间的
9、包含关系表示用况之间的包含关系表示基础用况基础用况基础用况基础用况在它在它在它在它内部说内部说内部说内部说明明明明的某个位置上的某个位置上的某个位置上的某个位置上显式地显式地显式地显式地合并了另一个用况的行为。合并了另一个用况的行为。合并了另一个用况的行为。合并了另一个用况的行为。被包含的用况从不孤立存在,仅作为某些包含它被包含的用况从不孤立存在,仅作为某些包含它的更大的基础用况的一部分出现。可以想象为,的更大的基础用况的一部分出现。可以想象为,它向它向它向它向基础用况提供行为基础用况提供行为基础用况提供行为基础用况提供行为。可以将包含关系表示成一个构造型的可以将包含关系表示成一个构造型的in
10、cludeinclude依赖依赖关系(基础用况依赖于被包含的用况)。关系(基础用况依赖于被包含的用况)。例:例:Place Order(发出订单)用况和(发出订单)用况和Track Order(获取和校验订单号)与(获取和校验订单号)与Validate User用况存在包含用况存在包含关系。关系。Place OrderPlace OrderTrack OrderTrack OrderValidate Validate UserUser3)用况之间的延伸关系用况之间的延伸关系 用况之间的延伸关系表示基础用况用况之间的延伸关系表示基础用况在由延伸用在由延伸用况间接地说明的一个位置上况间接地说明的一
11、个位置上隐式地合并了另一个用隐式地合并了另一个用况的行为。况的行为。基础用况可以单独存在,但在一定条件下,基础用况可以单独存在,但在一定条件下,它它的行为可以被另一个用况的行为延伸的行为可以被另一个用况的行为延伸。该基础该基础该基础该基础用况只是在一个被称为它的用况只是在一个被称为它的延伸点延伸点的确的确定位置上被延伸。定位置上被延伸。可以将延伸关系理解为延伸用况把行为放入基可以将延伸关系理解为延伸用况把行为放入基可以将延伸关系理解为延伸用况把行为放入基可以将延伸关系理解为延伸用况把行为放入基础用况中础用况中础用况中础用况中。可以将延伸关系表示成一个构造型为可以将延伸关系表示成一个构造型为ex
12、tendextend的的依赖关系。依赖关系。例:例:Place Order(发出订单)用况和(发出订单)用况和Place rush Order(发出急需单号)用况之间存在延伸关系。(发出急需单号)用况之间存在延伸关系。延伸关系用于对可能被用户看作是可选系统行延伸关系用于对可能被用户看作是可选系统行延伸关系用于对可能被用户看作是可选系统行延伸关系用于对可能被用户看作是可选系统行为的用况的一部分建模(为的用况的一部分建模(为的用况的一部分建模(为的用况的一部分建模(Place rush OrderPlace rush Order是可选是可选是可选是可选的)。的)。的)。的)。Place Order
13、Place OrderExtension pointExtension pointSet prioritySet priorityPlace rushPlace rushOrderOrder(set priority)延伸点 通过这种方式,可以把可选行为从必须行为中通过这种方式,可以把可选行为从必须行为中分离出来。分离出来。实例应用:一个零售系统将实例应用:一个零售系统将与订货的顾客进行交互与订货的顾客进行交互,然后,系统将然后,系统将装运订货装运订货、并、并通告顾客付帐通告顾客付帐。可以通过将。可以通过将这些元素的行为声明为用况来对系统的行为建模。这些元素的行为声明为用况来对系统的行为建模。
14、所声明的用况包括:所声明的用况包括:Place order、Track order、Ship order和和Bill customer。用况模型如下图所示:用况模型如下图所示:Place OrderPlace OrderTrack OrderTrack OrderValidate Validate CustomerCustomerShip OrderShip OrderExtension pointExtension pointMaterials readyMaterials readyBill CustomerBill CustomerShip partialShip partialOrde
15、rOrder3.识别用况识别用况 识别用况也称为发现用况。识别用况也称为发现用况。识别用况也称为发现用况。识别用况也称为发现用况。(1 1)基本方法概述)基本方法概述)基本方法概述)基本方法概述 可以通过考察用户如何使用系统完成他们的工作来可以通过考察用户如何使用系统完成他们的工作来发现用况,也即通过发现用况,也即通过捕获功能性需求捕获功能性需求来发现用况。来发现用况。每个能对用户增值的系统使用方式就是一个候选用况。每个能对用户增值的系统使用方式就是一个候选用况。对这些候选用况进行详细说明、改变、划分为更小的用对这些候选用况进行详细说明、改变、划分为更小的用况或相反地结合成更加完整的用况。况或
16、相反地结合成更加完整的用况。当以客户、用户和开发人员都能理解的方式正确地捕获当以客户、用户和开发人员都能理解的方式正确地捕获了全部的功能性需求,用况模型便基本完成了。了全部的功能性需求,用况模型便基本完成了。从非功能性需求中发现用况的附加成分。从非功能性需求中发现用况的附加成分。从非功能性需求中发现用况的附加成分。从非功能性需求中发现用况的附加成分。用况除了描述功能需求之外,还可以说明某些用况除了描述功能需求之外,还可以说明某些用况除了描述功能需求之外,还可以说明某些用况除了描述功能需求之外,还可以说明某些非功能性需求,例如对某个用况非功能性需求,例如对某个用况非功能性需求,例如对某个用况非功
17、能性需求,例如对某个用况特定的性能特定的性能特定的性能特定的性能、可用可用可用可用性性性性、准确度准确度准确度准确度和和和和安全性安全性安全性安全性等的需求。这些都有必要作为等的需求。这些都有必要作为等的需求。这些都有必要作为等的需求。这些都有必要作为用况的附加成分,附加到相应的用况中。用况的附加成分,附加到相应的用况中。用况的附加成分,附加到相应的用况中。用况的附加成分,附加到相应的用况中。银行储户从指定取款数量到得到相应的货币的响银行储户从指定取款数量到得到相应的货币的响应时间在所有用况实例的应时间在所有用况实例的95%中应该小于中应该小于30秒。秒。例如:对于例如:对于“取款取款”这一用
18、况而言,应该附这一用况而言,应该附加下面的性能要求:加下面的性能要求:(2 2)实用的识别用况的方法和步骤)实用的识别用况的方法和步骤)实用的识别用况的方法和步骤)实用的识别用况的方法和步骤 比较实用的识别方法有以下两种:比较实用的识别方法有以下两种:比较实用的识别方法有以下两种:比较实用的识别方法有以下两种:基于参与者的方法基于参与者的方法基于事件的方法基于事件的方法p 基于参与者的方法基于参与者的方法a.a.识别出识别出识别出识别出与系统或组织有关的与系统或组织有关的与系统或组织有关的与系统或组织有关的参与者参与者参与者参与者。b.b.对每个参与者,识别出他们发起或参加的执行过对每个参与者
19、,识别出他们发起或参加的执行过对每个参与者,识别出他们发起或参加的执行过对每个参与者,识别出他们发起或参加的执行过 程,这些执行过程就是候选用况。程,这些执行过程就是候选用况。程,这些执行过程就是候选用况。程,这些执行过程就是候选用况。p 基于事件的方法基于事件的方法a.a.识别出系统必须响应的外部事件。识别出系统必须响应的外部事件。识别出系统必须响应的外部事件。识别出系统必须响应的外部事件。b.b.把事件与参与者及用况联系起来。把事件与参与者及用况联系起来。把事件与参与者及用况联系起来。把事件与参与者及用况联系起来。例:找出销售点终端系统的可能的参与者及他们发起例:找出销售点终端系统的可能的
20、参与者及他们发起或参加的活动。或参加的活动。参与者参与者发起或参加的活动发起或参加的活动出纳员出纳员登录、用现金结算登录、用现金结算顾客顾客购买商品、退还商品购买商品、退还商品 系统的所有参与者和用况以及用况之间的关系系统的所有参与者和用况以及用况之间的关系系统的所有参与者和用况以及用况之间的关系系统的所有参与者和用况以及用况之间的关系(依赖、延伸、泛化等)构成用况模型。(依赖、延伸、泛化等)构成用况模型。(依赖、延伸、泛化等)构成用况模型。(依赖、延伸、泛化等)构成用况模型。4.2 用况模型和用况图用况模型和用况图取款存款在不同帐户间转帐银行储户参与者参与者“银行储户银行储户”使用使用ATM
21、从帐户中从帐户中取款,或存款到帐取款,或存款到帐户中,或在不同的户中,或在不同的帐户之间转帐。上帐户之间转帐。上述行为可以由三个述行为可以由三个用况与用况与“银行储户银行储户”这个参与者之间的这个参与者之间的交互来表示。交互来表示。1.1.用况模型用况模型 用况模型用来与用户和客户在用况模型用来与用户和客户在用况模型用来与用户和客户在用况模型用来与用户和客户在“系统应该做什么系统应该做什么系统应该做什么系统应该做什么”方面达成共识。也即方面达成共识。也即方面达成共识。也即方面达成共识。也即用况模型表示功能性需求用况模型表示功能性需求用况模型表示功能性需求用况模型表示功能性需求。可以认为用况模型
22、是所有可能使用系统(用况)的可以认为用况模型是所有可能使用系统(用况)的可以认为用况模型是所有可能使用系统(用况)的可以认为用况模型是所有可能使用系统(用况)的方式的完整的规格说明,它可以用作与客户签定合方式的完整的规格说明,它可以用作与客户签定合方式的完整的规格说明,它可以用作与客户签定合方式的完整的规格说明,它可以用作与客户签定合同的一部分。同的一部分。同的一部分。同的一部分。用况模型用用况图来表示。用况模型用用况图来表示。用况模型用用况图来表示。用况模型用用况图来表示。2.2.用况图用况图 术语:用况图(用况图(用况图(用况图(use case diagramuse case diagr
23、am)是显示一组)是显示一组)是显示一组)是显示一组用况、参与者以及它们之间关系的图用况、参与者以及它们之间关系的图用况、参与者以及它们之间关系的图用况、参与者以及它们之间关系的图。1)公共特性)公共特性 用况图只是图的一种特殊类型,它具有与所有用况图只是图的一种特殊类型,它具有与所有用况图只是图的一种特殊类型,它具有与所有用况图只是图的一种特殊类型,它具有与所有UMLUML图一样的公共特征,即一个名称以及投影到模图一样的公共特征,即一个名称以及投影到模图一样的公共特征,即一个名称以及投影到模图一样的公共特征,即一个名称以及投影到模型上的图形化的内容。型上的图形化的内容。型上的图形化的内容。型
24、上的图形化的内容。2)内容)内容 用况图通常包括:用况图通常包括:用况图通常包括:用况图通常包括:用况用况用况用况参与者参与者参与者参与者依赖(包含、延伸)、泛化及关联关系依赖(包含、延伸)、泛化及关联关系依赖(包含、延伸)、泛化及关联关系依赖(包含、延伸)、泛化及关联关系注解和约束。注解和约束。注解和约束。注解和约束。3)一般应用)一般应用 用况图用于对系统的静态用况图用于对系统的静态用况图用于对系统的静态用况图用于对系统的静态用况视图用况视图用况视图用况视图建模。该视建模。该视建模。该视建模。该视图主要支持对系统行为的描述图主要支持对系统行为的描述图主要支持对系统行为的描述图主要支持对系统
25、行为的描述 ,即描述该系统在它,即描述该系统在它,即描述该系统在它,即描述该系统在它的周边环境的语境中所提供的外部可见服务。的周边环境的语境中所提供的外部可见服务。的周边环境的语境中所提供的外部可见服务。的周边环境的语境中所提供的外部可见服务。具体而言,对系统的静态具体而言,对系统的静态具体而言,对系统的静态具体而言,对系统的静态用况视图用况视图用况视图用况视图建模时,一建模时,一建模时,一建模时,一般会以对般会以对般会以对般会以对系统的语境建模系统的语境建模系统的语境建模系统的语境建模和和和和对系统需求建模对系统需求建模对系统需求建模对系统需求建模两种方两种方两种方两种方式来使用用况图。式来
26、使用用况图。式来使用用况图。式来使用用况图。(1 1)对系统的语境建模)对系统的语境建模)对系统的语境建模)对系统的语境建模 系统的语境系统的语境系统的语境系统的语境:给定一个系统,会有一些事物存在于给定一个系统,会有一些事物存在于给定一个系统,会有一些事物存在于给定一个系统,会有一些事物存在于系统的内部,一些事物存在于系统的外部,系统的内部,一些事物存在于系统的外部,系统的内部,一些事物存在于系统的外部,系统的内部,一些事物存在于系统的外部,所有存所有存所有存所有存在于系统外部并与系统进行交互的事物(参与者)在于系统外部并与系统进行交互的事物(参与者)在于系统外部并与系统进行交互的事物(参与
27、者)在于系统外部并与系统进行交互的事物(参与者)构成了系统的语境构成了系统的语境构成了系统的语境构成了系统的语境。语境定义了系统存在的环境语境定义了系统存在的环境语境定义了系统存在的环境语境定义了系统存在的环境。对系统的语境建模,包括围绕整个系统画一条线,并对系统的语境建模,包括围绕整个系统画一条线,并对系统的语境建模,包括围绕整个系统画一条线,并对系统的语境建模,包括围绕整个系统画一条线,并声明有哪些参与者位于系统之外并与系统进行交互。声明有哪些参与者位于系统之外并与系统进行交互。声明有哪些参与者位于系统之外并与系统进行交互。声明有哪些参与者位于系统之外并与系统进行交互。PerformCar
28、d transactionProcessCustomer billManageCustomer accountCustomerCredit Card validation SystemReconciletransactionIndividualCustomerCorporateCustomerRetail institutionSponsoring financial institution 上图上图上图上图(右图)显示了一(右图)显示了一(右图)显示了一(右图)显示了一个信用卡验证系统的语境,个信用卡验证系统的语境,个信用卡验证系统的语境,个信用卡验证系统的语境,它强调围绕在系统周围的参它强
29、调围绕在系统周围的参它强调围绕在系统周围的参它强调围绕在系统周围的参与者,这些参与者分为两类:与者,这些参与者分为两类:与者,这些参与者分为两类:与者,这些参与者分为两类:人和其他事物。人和其他事物。人和其他事物。人和其他事物。在该语境中,还有代表机构的参与者(出现在模型在该语境中,还有代表机构的参与者(出现在模型在该语境中,还有代表机构的参与者(出现在模型在该语境中,还有代表机构的参与者(出现在模型的右边),如零售机构(顾客通过该机构刷卡,购的右边),如零售机构(顾客通过该机构刷卡,购的右边),如零售机构(顾客通过该机构刷卡,购的右边),如零售机构(顾客通过该机构刷卡,购买商品或获得服务)、
30、主办金融机构(负责信用卡买商品或获得服务)、主办金融机构(负责信用卡买商品或获得服务)、主办金融机构(负责信用卡买商品或获得服务)、主办金融机构(负责信用卡帐户的结帐服务)。在现实世界中,这两个参与者帐户的结帐服务)。在现实世界中,这两个参与者帐户的结帐服务)。在现实世界中,这两个参与者帐户的结帐服务)。在现实世界中,这两个参与者不是人,而可能是一个不是人,而可能是一个不是人,而可能是一个不是人,而可能是一个软件密集型系统软件密集型系统软件密集型系统软件密集型系统。出现在模型左边的的参与者是顾客,分为个人顾客出现在模型左边的的参与者是顾客,分为个人顾客出现在模型左边的的参与者是顾客,分为个人顾
31、客出现在模型左边的的参与者是顾客,分为个人顾客和团体顾客(存在泛化关系)。这些参与者是人与和团体顾客(存在泛化关系)。这些参与者是人与和团体顾客(存在泛化关系)。这些参与者是人与和团体顾客(存在泛化关系)。这些参与者是人与系统交互时所扮演的角色。系统交互时所扮演的角色。系统交互时所扮演的角色。系统交互时所扮演的角色。(2)对系统语境建模所要遵循的策略(步骤)对系统语境建模所要遵循的策略(步骤)用以下几组事物来用以下几组事物来用以下几组事物来用以下几组事物来识别识别识别识别系统周围的参与者:系统周围的参与者:系统周围的参与者:系统周围的参与者:需要从系统中得到帮助以完成其任务的组;需要从系统中得
32、到帮助以完成其任务的组;执行系统的功能时所必须的组;执行系统的功能时所必须的组;与外部硬件或其他软件系统进行交互的组;与外部硬件或其他软件系统进行交互的组;为了管理和维护而执行某些辅助功能的组。为了管理和维护而执行某些辅助功能的组。(2)对系统语境建模所要遵循的策略(步骤)对系统语境建模所要遵循的策略(步骤)在需要加深理解的地方,为每个参与者提供一个构在需要加深理解的地方,为每个参与者提供一个构在需要加深理解的地方,为每个参与者提供一个构在需要加深理解的地方,为每个参与者提供一个构造型。造型。造型。造型。将这些参与者放入用况图中,并说明从每个参与者将这些参与者放入用况图中,并说明从每个参与者将
33、这些参与者放入用况图中,并说明从每个参与者将这些参与者放入用况图中,并说明从每个参与者到系统的用况之间的到系统的用况之间的到系统的用况之间的到系统的用况之间的通信路径通信路径通信路径通信路径。利用泛化关系将相类似的参与者组织成一般利用泛化关系将相类似的参与者组织成一般利用泛化关系将相类似的参与者组织成一般利用泛化关系将相类似的参与者组织成一般/特殊的特殊的特殊的特殊的结构层次。结构层次。结构层次。结构层次。(2)对系统语境建模所要遵循的策略(续)对系统语境建模所要遵循的策略(续)(3 3)对系统的需求建模)对系统的需求建模)对系统的需求建模)对系统的需求建模需求是一个系统的设计特性、特征或行为
34、。当陈述需求是一个系统的设计特性、特征或行为。当陈述需求是一个系统的设计特性、特征或行为。当陈述需求是一个系统的设计特性、特征或行为。当陈述一个系统的需求时,就相当于陈述建立在系统外部一个系统的需求时,就相当于陈述建立在系统外部一个系统的需求时,就相当于陈述建立在系统外部一个系统的需求时,就相当于陈述建立在系统外部的事物和系统之间的一份的事物和系统之间的一份的事物和系统之间的一份的事物和系统之间的一份契约契约契约契约,契约上声明了期望,契约上声明了期望,契约上声明了期望,契约上声明了期望系统做什么。系统做什么。系统做什么。系统做什么。用况图说明了系统所能提供的行为。因此用况图使我用况图说明了系
35、统所能提供的行为。因此用况图使我用况图说明了系统所能提供的行为。因此用况图使我用况图说明了系统所能提供的行为。因此用况图使我们能够将系统看作一个黑盒子,仅仅们能够将系统看作一个黑盒子,仅仅们能够将系统看作一个黑盒子,仅仅们能够将系统看作一个黑盒子,仅仅只能观察系统外只能观察系统外只能观察系统外只能观察系统外部有什么部有什么部有什么部有什么,系统怎样与那些外部事物相互作用系统怎样与那些外部事物相互作用系统怎样与那些外部事物相互作用系统怎样与那些外部事物相互作用,但却,但却,但却,但却看不到系统内部是如何工作的看不到系统内部是如何工作的看不到系统内部是如何工作的看不到系统内部是如何工作的。对一个系
36、统的需求建模,主要是说明这个系统应该对一个系统的需求建模,主要是说明这个系统应该对一个系统的需求建模,主要是说明这个系统应该对一个系统的需求建模,主要是说明这个系统应该做什么(从系统外部的一个视点出发),而不考虑做什么(从系统外部的一个视点出发),而不考虑做什么(从系统外部的一个视点出发),而不考虑做什么(从系统外部的一个视点出发),而不考虑系统应该怎样做系统应该怎样做系统应该怎样做系统应该怎样做。下图是对信用卡验证系统语境模型(用况图)的扩充,下图是对信用卡验证系统语境模型(用况图)的扩充,下图是对信用卡验证系统语境模型(用况图)的扩充,下图是对信用卡验证系统语境模型(用况图)的扩充,它加入
37、了一些用况,这些用况对于一般顾客虽然不可见,但它加入了一些用况,这些用况对于一般顾客虽然不可见,但它加入了一些用况,这些用况对于一般顾客虽然不可见,但它加入了一些用况,这些用况对于一般顾客虽然不可见,但仍是系统的基本行为。仍是系统的基本行为。仍是系统的基本行为。仍是系统的基本行为。PerformCard transactionProcessCustomer billManageCustomer accountCredit Card validation SystemReconciletransactionCustomerRetail institutionSponsoring financia
38、l institutionReport on Report on account statusaccount statusDetect card fraudDetect card fraudManage Manage network outagenetwork outage新增的用况的重要性:新增的用况的重要性:新增的用况的重要性:新增的用况的重要性:Detect card fraudDetect card fraud(检测信用卡的真伪)对于零售(检测信用卡的真伪)对于零售销售机构和主办金融机构都是很重要的行为。销售机构和主办金融机构都是很重要的行为。Report on account sta
39、tus(报告帐户的状态)是系(报告帐户的状态)是系统语境中不同机构所需的另一个行为。统语境中不同机构所需的另一个行为。Manage Network outageManage Network outage表示的是为保证系统的可靠表示的是为保证系统的可靠表示的是为保证系统的可靠表示的是为保证系统的可靠性和不间断操作所需的辅助行为。性和不间断操作所需的辅助行为。性和不间断操作所需的辅助行为。性和不间断操作所需的辅助行为。(4)对系统需求建模所要遵循的策略(步骤)对系统需求建模所要遵循的策略(步骤)通过识别系统周围的参与者来建立系统的语境。通过识别系统周围的参与者来建立系统的语境。对于每个参与者,考虑
40、它期望的行为或需要系统提对于每个参与者,考虑它期望的行为或需要系统提供的行为。供的行为。分解公共行为,放入到新的用况中,以供其他的用分解公共行为,放入到新的用况中,以供其他的用况使用;分解异常行为,放入新的用况中以延伸较况使用;分解异常行为,放入新的用况中以延伸较为主要的控制流。为主要的控制流。在用况图中对这些用况、参与者以及它们之间的关在用况图中对这些用况、参与者以及它们之间的关系建模。系建模。用陈述非功能需求的注解修饰这些用况;可能还要用陈述非功能需求的注解修饰这些用况;可能还要把其中的一些附加到整个系统。把其中的一些附加到整个系统。学生利用校园卡刷卡报到,注册代学生利用校园卡刷卡报到,注
41、册代理通过理通过“一卡通刷卡报到接口一卡通刷卡报到接口”获取报到信息、通过获取报到信息、通过“财务缴费接口财务缴费接口”获取学生缴费信息、通过共享数据获取学生缴费信息、通过共享数据库获取学生的学籍信息、处分信息,实施自动注册,库获取学生的学籍信息、处分信息,实施自动注册,当当“已按时报到已按时报到”、“已按要求缴费或已获准缓交学已按要求缴费或已获准缓交学费费”,“上一学年未受开除学籍处分或退学处理上一学年未受开除学籍处分或退学处理”等等三个条件同时满足,则予以注册,否则暂不予以注册。三个条件同时满足,则予以注册,否则暂不予以注册。4.2 用况模型和用况图(续)用况模型和用况图(续)3.3.用况
42、模型设计实例用况模型设计实例学生注册系统用况模型学生注册系统用况模型学生注册系统用况模型学生注册系统用况模型(1 1)注册)注册业务需求概述业务需求概述 学生注册的主要业务包括:学生注册的主要业务包括:报到与注册报到与注册、缓缴费缓缴费、缓注册的申请与审批缓注册的申请与审批、报到报到、注册情况的查询与统计注册情况的查询与统计。n 报到与注册报到与注册(1 1)注册)注册业务需求概述(续)业务需求概述(续)n 缓缴费、缓注册的申请与审批缓缴费、缓注册的申请与审批 学生可以在网上申请缓交学费,此申请必须经过学生可以在网上申请缓交学费,此申请必须经过所在院(系)审核及财务处审批。因特殊情况无法及所在
43、院(系)审核及财务处审批。因特殊情况无法及时到校的学生可以在网上申请缓注册,此申请必须经时到校的学生可以在网上申请缓注册,此申请必须经过所在院(系)审核及教务处审批。过所在院(系)审核及教务处审批。n 报到、注册情况的查询与统计报到、注册情况的查询与统计 教务处、财务处、学生处及有关校领导可以及时教务处、财务处、学生处及有关校领导可以及时了解全校学生的报到、注册情况,并获得所需的各种了解全校学生的报到、注册情况,并获得所需的各种统计数据(报到率、注册率、缴费率、欠费情况、申统计数据(报到率、注册率、缴费率、欠费情况、申请缓缴费情况等)。请缓缴费情况等)。(1 1)注册)注册业务需求概述(续)业
44、务需求概述(续)n 报到、注册情况的查询与统计(续)报到、注册情况的查询与统计(续)各院(系)可以及时了解本院(系)学生的报到、各院(系)可以及时了解本院(系)学生的报到、注册情况,并获得所需的各种统计数据(报到率、注注册情况,并获得所需的各种统计数据(报到率、注册率、缴费率、欠费情况、申请缓缴费情况等)。册率、缴费率、欠费情况、申请缓缴费情况等)。(2 2)注册系统功能)注册系统功能概述概述 由上述业务需求可以提炼出该系统的主要功能如由上述业务需求可以提炼出该系统的主要功能如下:下:报到、自动注册、缓缴费申请与审批(工作流)、报到、自动注册、缓缴费申请与审批(工作流)、缓注册申请与审批(工作
45、流)、报到情况查询与统计、缓注册申请与审批(工作流)、报到情况查询与统计、注册情况查询与统计、系统维护。注册情况查询与统计、系统维护。(3 3)用况模型设计(顶层)简介)用况模型设计(顶层)简介n 参与者参与者 学生、相关职能部门的管理人员(教务处、学生学生、相关职能部门的管理人员(教务处、学生处、财务处、院(系)、校领导。处、财务处、院(系)、校领导。相关业务系统、学籍管理系统、学工管理系统、相关业务系统、学籍管理系统、学工管理系统、财务系统(缴费接口)、共享数据库接口、一卡通财务系统(缴费接口)、共享数据库接口、一卡通接口。接口。n 高层用况高层用况报到、自动注册、缓缴费申请、缓缴费审批、
46、缓注报到、自动注册、缓缴费申请、缓缴费审批、缓注册申请、缓注册审批、报到情况查询与统计、注册册申请、缓注册审批、报到情况查询与统计、注册情况查询与统计、系统维护。情况查询与统计、系统维护。报到报到自动注册自动注册报道情况查询报道情况查询与统计与统计注册情况查询注册情况查询与统计与统计缓缴费申请缓缴费申请缓注册申请缓注册申请缓缴费审批缓缴费审批缓注册审批缓注册审批系统维护系统维护学生管理人员校领导系统维护人员一卡通接口财务系统接口共享数据库接口学籍管理系统学工管理系统 4.3 为什么使用用况为什么使用用况 最好的用况是能够为使用该系统的业务提供最最好的用况是能够为使用该系统的业务提供最最好的用况
47、是能够为使用该系统的业务提供最最好的用况是能够为使用该系统的业务提供最大的价值大的价值大的价值大的价值。用况具有益处并且被普遍采用的原因很多,其用况具有益处并且被普遍采用的原因很多,其用况具有益处并且被普遍采用的原因很多,其用况具有益处并且被普遍采用的原因很多,其中两个主要原因是:中两个主要原因是:中两个主要原因是:中两个主要原因是:(1)提供了一种捕获与描述功能需求的系统的、直接提供了一种捕获与描述功能需求的系统的、直接的方法。的方法。(2)用况可以驱动整个开发过程,因为大部分活动,用况可以驱动整个开发过程,因为大部分活动,如分析、设计和测试都是从用况开始执行的。设计和如分析、设计和测试都是
48、从用况开始执行的。设计和测试可根据用况进行规划和协调。测试可根据用况进行规划和协调。(1)用况用于捕获和描述软件系统的需求用况用于捕获和描述软件系统的需求 需求捕获有需求捕获有需求捕获有需求捕获有两个目标两个目标两个目标两个目标:发现真正的需求发现真正的需求发现真正的需求发现真正的需求并并并并以适以适以适以适合于用户、客户和开发人员的方式加以表示合于用户、客户和开发人员的方式加以表示合于用户、客户和开发人员的方式加以表示合于用户、客户和开发人员的方式加以表示。第一个目标(真正的需求),是指在实现时可以给第一个目标(真正的需求),是指在实现时可以给第一个目标(真正的需求),是指在实现时可以给第一
49、个目标(真正的需求),是指在实现时可以给用户带来预期价值的需求。用户带来预期价值的需求。用户带来预期价值的需求。用户带来预期价值的需求。目标二(以适合于用户、客户和开发人员的方式加目标二(以适合于用户、客户和开发人员的方式加目标二(以适合于用户、客户和开发人员的方式加目标二(以适合于用户、客户和开发人员的方式加以表示),是指对需求的最后描述必须能够让用户以表示),是指对需求的最后描述必须能够让用户以表示),是指对需求的最后描述必须能够让用户以表示),是指对需求的最后描述必须能够让用户和客户理解。这是需求工作流的主要难点之一。和客户理解。这是需求工作流的主要难点之一。和客户理解。这是需求工作流的
50、主要难点之一。和客户理解。这是需求工作流的主要难点之一。在在在在寻找和确定类、子系统和接口寻找和确定类、子系统和接口寻找和确定类、子系统和接口寻找和确定类、子系统和接口时,在时,在时,在时,在寻找并确定寻找并确定寻找并确定寻找并确定测试用例测试用例测试用例测试用例时,在时,在时,在时,在规划开发迭代和系统集成规划开发迭代和系统集成规划开发迭代和系统集成规划开发迭代和系统集成时,均可时,均可时,均可时,均可以将用况作为主要输入。以将用况作为主要输入。以将用况作为主要输入。以将用况作为主要输入。(2)驱动整个开发过程)驱动整个开发过程 用况不只是捕获需求的工具,它还能够驱动整用况不只是捕获需求的工