用例图

用例图
用例图

顾客

顾客用户2.1 用例建模技术

2.1.1 参与者和用例

参与者(actor )是系统外部与系统有交互的任何事物,是为了完成一个事件而与系统交互的外部实体。参与者主要用于描述系统的边界。例如,向银行提交贷款申请的顾客;通过因特网访问预订系统查询座位情况的旅行社,等等。在UML 中,参与者经常用人形符号表示,或者用类的构造型《actor 》表示,如图2-3所示。

图2-3 参与者的UML 表示符号

参与者并不一定是系统的用户。它们可能是外部系统、外部机构、外部设备和其它与系统有交互的任何外部实体。图2-4展示参与者是外部系统的例子。

图2-4参与者是外部系统的例子

当参与者是人时,它是指一个与系统有交互的用户所扮演的角色。一个参与者并不是指一个特定的人或一个特定的实体。例如,参与者“顾客”是对顾客的概念建模,而不是对张三这个特定的顾客建模。

一个用例并不仅局限于一个参与者; 参与某用例的参与者可能是多个。然而,一个用例况必须向至少一个参与者提供可度量的价值。参与某用例的多个参与者各有不同的角色和职责:一些负责接收用例提供的价值,一些则负责向用例提供服务,其它则负责触发或初始化用例。Ivar Jacobson[1992]将参与者划为两类:主要的和次要的。主要参与者(primary actor)是从系统获得可度量价值的用户。主要参与者的需求驱动了用例所表示的行为或功能。如果他们的需求或角色发生了变化,那么系统将必须有重大的修改。次要参与者(secondary actor)在用例中提供服务,并且不能脱离主要参与者而存在。在图2-4所示的例子中,顾客是主要参与者,而客户关系系统则是次要参与者。

顾客<>顾客 客户关系管理系统 (已有) 网上商店系统(要开发) 问卷调查系统 (已有)

图2-5 抽象参与者的例子

一些参与者只扮演概念上的角色,而另一些则更具体。如图2-5所示,顾客共享用户的属性。用户是“父角色”,顾客是“子角色”。这两种角色之间的关系是一种继承关系,UML 中称为泛化(generalization)。在对参与者建模时,泛化用于表示两个实体之间的共同点和不同点。抽象参与者(abstract actor)代表两个或更多的参与者之间的共享的或共同的行为。

以下问题有助于寻找参与者:

●谁或什么将启动与系统相关的事件?

●谁或什么与系统交互将有助于系统对某个事件做出响应。

●系统需要与其它遗留系统交互吗?

●是否有要与系统交互的硬件或软件设备?

●如果系统中发生了一个事件,是否需要通知某个外部实体? 系统是否需要与外部实

体交互以帮助自己完成任务?

用例(use case)是系统为特定的参与者提供的一个功能,它描述了参与者是如何使用系统来实现其目标。正式地,用例是对一组动作序列(其中包括变体)的描述,系统执行这些动作序列来为参与者产生一个可观察的结果值。在UML中,用例用椭圆表示,如图2-4所示。

用例对参与者提供可观察的结果值。因此,用例总是描述系统与至少一个参与者的交互。用例和参与者之间的关系称为关联(association)。这种关联表示某个参与者与某个用例之间的通信,所以又称通信关联(communicates association),如图2-4所示。

列举目标可帮助我们确定用例的粒度大小。每个产生可观察价值的目标对应一个用例。例如,贷款处理系统的目标可能包括如下内容:

●申请贷款。申请者提交申请贷款所需的信息。信息的完整性由系统检查。

●检查贷款的状态。申请者在申请被接收的过程中可以向系统查询贷款的状态变化。

●提交附加的贷款信息。如果贷款请求需要附加的信息,例如对信用纪录中的某个问

题的解释,申请者必须提供该信息以使贷款处理过程继续。

●接收贷款。当贷款被批准,申请者必须同意贷款发出的所有条件。

相应的用例如图2-6所示

图2-6 贷款处理系统用例图

用例捕获被开发的系统(或子系统、类或接口)想要实现的行为,而不是说明这些行为是怎样实现的。从外部角度的行为说明(what)与从内部角度的行为实现(who)相分离是

place order

order management

非常重要的。从外部角度说明系统行为光靠一个椭圆符号是远远不够的,可以通过用足够清晰的、外部人员很容易理解的文字来说明一个用例的行为,并记录在用例详述(use case specification )文档中。另外,用例描述的是一组动作系列,其中每个特定的动作系列称为脚本(scenario )。用例与脚本的关系类似于类和对象的关系,脚本是用例的实例。(用例详述和脚本在2.3.4节详细介绍)。从内部角度说明行为如何被实现是分析和设计阶段的工作,

在UML 中被建模为一个协作(collaboration )

,如图2-7所示,它描述了实现用例的一组分析或设计元素这个群体,包括静态结构方面(可用UML 类图描述)和动态行为方面(可用UML 交互图表示)。

图2-7 用例与协作

如果想分解多个用例中涉及的公共行为或分解某个用例的变体行为,可通过描述用例之

间的包含(include )

、扩展(extend )和泛化(generalization )关系来组织用例,如图2-8所示。这些关系在下节详细介绍。

图2-8 用例之间的包含、扩展和泛化关系

2.1.2 用例图和活动图

UML 中的用例图(Use Case Diagram )是七种UML 行为图中的一种,它概要地展示了系统的外部环境(一组参与者)、系统对外提供的功能(一组用例)以及它们之间关系,是一种描述系统功能性需求或系统语境的概览视图。 图2-9是用例图的一个例子。

Credit Authorization Serv ice

图2-9 用例图的例子

用例图的基本元素主要有主题(subject )、一组参与者、一组用例以及它们之间的关系。主题可以是系统、子系统、类或接口。如图2-9所示,主题表示为一个矩形,其中包含一组表示用例的椭圆,主题的名字标在矩形内。参与者放在矩形外面。

用例图是一种呈现某个主题在语境中如何被使用的外部视图,它通常用于对主题的语境建模或对主题的需求建模。对主题的语境建模所强调的是围绕在主题周围的参与者,说明了该主题有哪些参与者以及它们所扮演的角色的含义;对主题的需求建模强调说明这个主题应该做什么(从主题外部的视点来看),即该主题在它的周边环境的语境中所提供的外部可见服务。在这种方式下,主题被看作是一个黑盒子,通过用例图可以观察到主题外部有什么,主题对那些外部反应,但却看不到主题内部是如何工作的。

参与者之间的关系主要是泛化(如图2-5所示),参与者与用例之间的关系主要是通信关联(如图2-4所示),用例之间的关系主要有包含、扩展和泛化(如图2-8所示)。

用例之间的包含(include )关系表示基用例在它内部说明的某一位置上显式地合并了被包含用例的行为,基用例不能独立执行,它依赖于被包含用例的行为。被包含用例描述了从多个用例中提取的可复用的公共行为,它从不孤立存在,但它可以独立执行。包含关系的UML 符号是构造型为《include 》的依赖关系,从基用例指向被包含用例。如果想分解多个用例中涉及的公共行为,就可以用包含关系来组织用例。如图2-10所示,处理订单(process order )用例在客户选用信用卡支付时需要合并处理信用卡支付(Handle Credit Payment )这一被包含用例的行为。处理信用卡支付这个被包含用例捕获了一种基础服务,它可能在多

图2-10 包含关系的例子

用例之间的扩展(extend )关系表示基用例在它内部说明的某个条件下隐式地合并了扩

展用例的行为。基用例可以独立执行,但是在一定的条件下,它的行为可以被另一种情况所扩展(或称延伸)。基用例只能在它的某些确定的点上被扩展,这种点称为扩展点(extend point)。扩展用例是不能单独执行的,它可以看作是基用例行为的补充。扩展关系的UML 符号是构造型为《extend》的依赖关系,从扩展用例指向基用例。如果想分解某个用例的变体行为,就可以用扩展关系来组织用例。如图2-11所示,处理订单(process order)用例在说明处理客户支付的行为时,在客户是VIP并使用了优惠券的条件下,处理优惠券支付(Handle Gift Certificate Payment)这个扩展用例就捕获了这种变体行为。一般情况下,这种变体行为没必要分解,也可以在基用例中说明。但如果不想修改基用例,或者不断修改基用例,添加无数新的扩展和条件步骤可能会导致基用例难以维护,就可以采用扩展用例来说明这种补充情况。扩展关系也可用于将可选的行为从必须的行为中分离出来。

图2-11 扩展关系的例子

用例之间的泛化(generalization)关系类似于类之间的泛化关系,子用例继承父用例的行为和含义,子用例可以增加或覆盖父用例的行为,子用例可以出现在父用例出现的任何位置。如图2-8所示,验证用户身份(Validate User)用例有两个特殊的子用例验证密码(Check Password)用例和虹膜扫描(Retinal Scan)用例,它们都有父用例的行为,可以出现在父用例出现的任何地方,还添加了自己的行为。但是,由于在子用例的用例详述文档中很难区分和管理从父用例继承来的行为和自己添加的行为,所以用例之间的泛化关系在建模实践中很少用。

2.1.3用例详述

用例模型(use case model)是表述用例和参与者所需的图及其描述的集合。除了用例本身之外,用例模型还包括必要的文字、术语表、图和其他用来详细说明用例的文档。用例详述(use case specification)就是这样的文档,它以外部人员很容易理解的文字来说明一个用例的行为。

一个完整的用例模型并不是一次完成的。每一个用例一般都要随着对系统需求认识的深入,有一个不断精化的过程。随着对问题了解的深入,用例详述不断地添加细节。因此,用例详述可大致分为初始用例详述、基本用例详述和详细用例详述,如图`2-24所示。

初始用例详述基本用例详述详细用例详述

图2-24 初始用例详述、基本用例详述和详细用例详述

●初始用例详述:在需求分析开始阶段开发的用例详述,主要确定和粗略地描述由

参与者初始化的系统行为。它们提供了对系统的一个概念上的描述。

●基本用例详述:基本用例详述通过更详细地记录用例行为来扩展初始用例详述。

基本用例着重于“理想化”的行为和用例路径,避免为异常和选项建立文档。

●详细用例详描述:在基本用例详述中添加一些行为的细节,例如条件逻辑和备选

流程等。

初始用例详述应该为读者提供一个对该用例的完整的、高层的理解。下面是撰写概念层次的用例详述的指南,模板和例子分别如图2-25和图2-26所示。

●总结促成该用例的业务目标。

●描述用例的目的。

●总结用例中的主要行为(用例的范围)。

●文字不要超过几个句子或者一个段落。

●用现在时和主动语态描述。

图2-25初始用例详述模板

图2-26初始用例详述“提交贷款申请”示例

初始的用例图和详述提供了用例及其与系统的关系的高层文档。用例详述的第二个级别称为基本用例详述,它在用例的事件流范围内确定发生在参与者与系统之间的具体行为和交互。在基本用例中表达的需求包括以下方面:

●用例执行时在参与者和系统之间发生的具体的交互。

●在一个用例中系统的具体职责。

●在一个用例中参与者的具体职责。

为了发现这些细节,每个初始用例详述可进一步细化为一系列动作,这些动作系列构成事件流(flow of events)。事件流是对这些动作系列及其顺序的一个描述,当某事件触发该用例时,这些动作序列按照这些顺序发生。这个流一直流到使系统处于某特定状态的“终点”或后置条件。除了事件流,一个基本用例详述还包括与用例相关的补充信息。

图2-27 基本用例详述模板

●前置条件和后置条件

前置条件(Preconditions)描述了某用例执行前系统所处的状态,即为了使该用例能被

执行所必须满足的条件。

后置条件(Postconditions)描述了作为用例完成的结果系统所处的状况,即用例执行完后系统所处的状态。

前置条件和后置条件可以帮助定义用例的范围,例如事件流何时开始何时结束。了解用例职责的范围和用例完成的含意是重要的。

前置条件和后置条件有助于确定用例间的依赖关系。用例并不是独立的,一些用例依赖于其它用例,一个用例结束时系统所处的状态是其它用例执行的前提。某用例所依赖的其它用例是什么?该用例结束时系统处于什么状态?该用例如何配合整个用例模型?这些问题只有在了解全局情况后,才能得到解答。例如,在贷款系统中,“评估贷款”用例发生的前提条件是用例“验证贷款证明”所描述的功能必须存在。而“提交贷款申请”用例结束时系统所处状态,即已确认贷款申请并准备验证贷款证明,则是“验证贷款证明”用例发生的前提条件。

前置条件和后置条件都应以用户可理解的词汇在某个抽象层次上描述。描述这两个条件的详细程度应和用例一样。如果用例在高层,那么前置条件和后置条件也应在高层;如果用例描述了详细的行为,那么前置条件和后置条件也应该详细。例如,如果一个用例在其事件流中涉及贷款申请,那么前置条件和后置条件也应在相同的抽象层次上描述;如果该贷款申请被确认了,那么后置条件可以这样写:“贷款申请被批准”。

前置条件和后置条件仅与系统的状态而不是外部环境有关。例如,在一个描述图书管理员将书借给借阅者的用例中,一个正确的后置条件可能是“该书已被借出”,而“读者可以自由地带着该书离开图书馆”则不够正确。

以下是一些对前置条件和后置条件的指导原则:

?前置条件和后置条件应以可验证和可测试的方式来记录。

?前置条件必须反映用例执行前系统需要处于的状态。

?前置条件和后置条件必须用现在时态记录。

?给多个前置条件和后置条件分别编号。

?可以用对象模型来补充前置条件和后置条件中的系统状态描述。

●事件流

事件流是基本用例详述的实质内容。基本用例详述中的事件流描述了那些在参与者和用例之间的对话期间发生的基本活动(例如,行为和交互)。事件流以一系列步骤或者自由格式的文字记录了这些事件发生的顺序。事件流的步骤应该以用户术语而不是以调用函数名或技术语言来描述。

用例事件流可以以多种形式出现:自由格式的文字、可能包含条件和循环逻辑的有数字标记的步骤。有三种流行的文字表示方法:

?散文方法。将达到用例所描述的目标的所有可能路径(成功的和不成功的)以

自由格式的文字简单地记录下来。散文方法的优点是快速,它不强求如步骤格

式那样严格的次序或顺序。

?步骤方法。在步骤方法中,事件流是以有序的步骤表的方式来描述的。每个步

骤连续编号并提供下一步骤的简短描述,它比散文方法少些冗余,对软件开发

者更有吸引力。

?状态方法。有些领域用状态模型来描述更为自然。状态方法以状态名来标记事

件流中的每个段落,段落描述了从一个状态转向新的状态的过程。UML状态

机可用于补充用例。对于在用例中有许多非线性路径的领域-例如通信系统,

状态方法更为合适。

对用例事件流的描述可以采用所谓黑盒用例描述的外部视图方法,也可以采用所谓白盒用例描述的内部视图方法,或者是两种方法相结合。

?在外部视图方法中,一般只有那些外部参与者直接可见的活动才在用例中描

述。系统是一个与参与者有交互的“黑盒”,并没有描述系统为提供或支持交

互所做的事情。例如,ATM系统的用例事件流仅描述客户与ATM的交互,其

重点集中于客户的需求(诸如取钱和存钱的请求),而支持该交互所需的内部

行为(诸如事务日志、关于透支限制的业务规则等)则很少被记录。

?内部视图方法在用例中包含了系统内部行为的细节(即白盒)。这些行为是一

些需求(“what”而不是“how”),它们可能是系统与外部参与者交互的结果,

或者是对交互的支持。例如,ATM系统的用例事件流深入描述系统内部当客

户取现金时将发生的事情:检查账号的余额,从账号中扣除所取的现金数目,

记录取钱的细节(诸如时间、数量、地点),等等。

?按黑盒和白盒活动将事件流分列:如果要开发内部行为但又要把它们与用例职

责区分开来,可以采用另一种双列的用例事件流格式。这种格式既可以描述用

图2-28 按黑盒和白盒活动将事件流分列

?协作案例方法[Mattingly 1998]:用例只提供关于系统交互的的黑盒视图,而响

应具体交互所触发的内部行为则用所谓的协作案例(不要和UML中定义的协

作混淆)分开来描述。协作案例与用例描述相类似,用于文档化内部系统交互

(白盒细节)。协作案例一般与一个或多个用例发生联系,协作案例名在用例

事件流中指明,如图2-29所示。

图2-29 基本用例和协作案例

撰写基本用例详述事件流的指导原则有以下几点:

?用数字或黑点标记活动。如果在事件流中活动有一个自然的顺序,那么用数字

标记它们。如果有子活动,就用低一级的数字,例如2.1、2.2等。如果没有明

显的顺序或者几个步骤可能同时发生,就用黑点或相同的数字标记。每个活动

的描述可以从一句话到几小段不等。

?尽量使事件流易于理解。基本用例应该描绘一个故事,尽量使用完整的,描述

性的句子来表达所发生的动作。为便于理解整个流程,应使用主动语态。“申

请者填写完贷款申请表并把它提交给银行”比“贷款申请被提交了”更易于

理解而且提供了更好的语境。

?不要过多地陷入细节。不要在这个时候记录系统的每个细节,应使每个用例的

详细程度保持在大致相同的水平上。更多的细节将在细化用例和对象建模时被

文档化。

?目前,要避免文档化异常或条件逻辑,除非它们对理解用例行为来说是必须的。

异常、备选和扩展将由备选、扩展关系以及用例实例来处理。对事件流建模时,

不要忘记用例的后置条件或最终结果。

?注意事件流的长度。为了便于维护事件流和管理它的复杂度,事件流最好不超

过一两页。处理用例长度的原则是每个用例都应该展现一个完整的情节。也就

是说,它应该代表初始化它的参与者的目的,并且应该使系统处于稳定的状态。

?用例必须是明确的。用例事件流就象一出戏,参与者必须通过阅读手稿(用例)

来演戏。每个阅读它的人都可以知道它所展现的是什么。用例应该撰写到这种

程度,客户可以把它们作为合同并在上面签字。用例应该撰写成有助于设计和

实现测试。

●用例优先级

在大的开发工作中,如果需要控制和监控有关系统和范围的迭代或增量开发,那么建立用例间的优先级是必需的。用例的优先级记录了相对于其它用例的开发优先级。用例优先级可以用诸如直接数字标记或把用例按优先级(比如高、中、低)分组等技术来描述。

●备选事件流和异常

尽管在基本用例详述中不对异常和备选事件流进行细化,但可以开始发现并列出用例中的主要的备选事件流和异常,用描述性的名称和简短的描述把它们记下来。

●假设

在用例开发过程中可能会有一些对在用例模板中预先定义的域都不适合的信息出现。模板中的假设域可以用来记录这些重要且杂乱的用例问题,比如以下几方面:

?关于用例范围的假设

?对由外部服务器得到的信息的期望。

?与用例有关的开发问题,比如,开发用例所需的工作级别、时间匡算等。

●问题

在开发用例时会发现一些问题。有些问题可能要在以后的分析和设计阶段才会有头绪。不要忽略它们,把它们简要地记录下来以便在合适的时候解决。

●来源

用来开发用例的信息的来源是什么?它来自需求研讨会、与客户的面谈或是培训手册?把每个特定的信息来源记录清楚,对需求管理来说,可跟踪性(Traceability)是一个关键。

图2-30 “提交贷款申请”基本用例详述

基本用例详述主要描述用例的基本事件流。用例详述的第三个级别称为详细用例详述,它重点在于:

●描述备选流,列出在用例中出现备选情况或异常时的事件流;

●在事件流中直接用条件逻辑来记录事件流中出现的异常和备选过程。

一般在用例执行时会有许多可能的变化、备选以及异常出现。例如,如果用户信用不好时采取什么行为?客户从ATM取钱时,如果帐号中没有足够的钱,该怎么办?由于这些备选和变化可能表示重要的功能,必须仔细考虑它们的含意,并把它们作为用例描述的一部分记录下来。记录备选的方法之一是使用备选流描述,它记录了在基本事件流中出现备选和变化时将会发生的行为。

一个备选可能包括这样一些事情:诸如基于用户输入的不同处理选项,用例事件流中发生的判断行为,或者导致不同行为执行结果的异常条件等。

备选流可以在基本用例描述中快速简单地记录。或者,如果细节代表了重要的需求,可以把它们写在分开的描述模板中。但是,备选流描述是用例的一部分,不是单独的用例。图2-31是一个备选流描述的示例模板。

图2-32是“拒绝贷款申请”备选流描述的例子

图2-32 备选流描述:拒绝贷款申请

不是所有的备选或异常都要用单独的备选流描述来表示。在许多情况下,把它们记录在基本用例详述的备选流部分就可以了。

条件逻辑可以作为一种备选流,条件逻辑直接可以加到事件流文本以表示不同可能的结果。例如,决定贷款申请者的帐户情况时。图2-33中,在“评估贷款申请”用例中增加了条件逻辑以反映如果客户没有良好信用时的备选过程和异常。

当事件流是线性的-含有很少或没有循环和条件逻辑-用文字就足以捕获和表示用例信息。但是,如果用例事件流中有复杂的逻辑,条件和循环反复有时会变得难以理解。在这种情况下,可以考虑使用UML活动图作为一种对用例事件流建模的替代方法。活动图提供了对整个用例的事件流的可视化表示,在表示用例事件流中的条件、同步和循环逻辑时尤其

有用,对验证复杂的事件流也很有好处。

图2-34是用于用例的简单活动图。活动图的初始状态与用例中的前置条件对应,终止状态与用例中的后置条件对应。每个用例事件流的动作都被表示为一个活动,并有一个短小的名字标明它的用途。

图2-34 用于用例的简单活动图

图2-35表示了用于“提交贷款申请”用例的活动图

用例前置条件 (开始状态) 用例活动间的转移 开始

图2-35 “提交贷款申请”用例的活动图

从用例详述出发可以创建一套测试案例或测试套件(test suit),每一个测试案例代表用例的一个脚本。下面以“评估贷款申请”用例为例子,分析如何从用例详述来创建功能性测试案例或脚本。

用例中的一些步骤代表决策点,在这些点上系统需要从参与者那里得到更多的信息。先给用例详述中的这些步骤编号,如图2-36所示。步骤旁的“A”表示该步骤需要执行来自参与者的反馈;“S”表示系统正执行那个动作。“E”表示该步骤是一个异常情况而不是正常过程的一部分。

一旦步骤被编号,就可以创建一棵树来描述用例所遍历的路径,如图2-37所示。

“评估贷款请求”用例显示了遍历系统的四条路经:

A1—S2—A3—A4—S5

A1—S2—A3—AE1

A1—S2—A3—AE2

A1—S2—A3—AE3

在这些路径中,第一条通向成功的结果,而另三条则通向不成功的结果。可以创建四个测试案例,每个测试案例测试一条路径。通向成功结果的测试案例称为积极测试案例(positive test case),其它三条称为消极测试案例(negative test case)。

图2-36“评估贷款申请”用例

图2-37 遍历“评估贷款申请”用例的路径图

2.1.4用例建模过程

用例建模不是一个线性的过程。随着用例建模工作的进行,用例有一个被发现、细化、重新考虑,重新完成和修改的过程。图2-38是一个用例建模过程框架。

图2-38 一个用例建模过程框架

用例建模过程中主要包括以下活动组:

●准备用例建模并确定建模方法。

?建立系统词汇的术语表。

?进行涉众分析;选择团队成员并且识别所涉及的客户和用户。

?选择及定制一个用例过程框架。

?选择用例建模标准、模板和工具。对粒度、语态和风格达成一致。

?确定培训和顾问的需求。

●进行初始用例建模

?创建初始用例模型图以及/或者语境图

?识别主要参与者。

?发现用例(初始用例详述描述)

?开始识别/精化候选的业务(领域)对象。

●扩展用例模型

?开发基本用例详述。

?迭代地细化基本用例详述并确定包含、扩展和泛化关系。

?将用例映射到对象模型。

?开发实例脚本。

●组织用例

?开发业务功能包。

?识别用例依赖流。

?根据涉众的观点组织用例。

?重构用例模型。

●持续进行的用例管理

?让用户确认用例模型。

?定义并执行测试案例。

?跟踪持续进行的用例建模进展。

?根据涉众的反馈更新并且定制框架。

图书馆管理系统用例图、活动图、类图、时序图

图书馆管理系统 一.图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。 能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。 能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 提供较为完善的差错控制与友好的用户界面,尽量避免误操作。 2、系统功能需求分析 (1) 读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、 借书数量、借书期限、备注等。 (2) 书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、 类别、关键词、备注。 (3) 借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处 理和书籍丢失后的处理。

(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理 满足以上需求的系统主要包含有一下几个子系统 (1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。 (2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。 (3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。 (4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。 (5)帮助功能子系统。 二、系统动态建模 1、用例图、

用例图描述

学生: 用户登录 ID 1 用例名称:用户登录 参与者:学生 用例描述:大概过程:学生在系统上登录需要输入用户名、密码,系统确认身份。 输出结果:在系统的登陆界面区域确定身份后,登录界面转换登 录成功。 前置条件:系统已启动到登录界面,学生在进行其余操作之前必要完成的步骤。 后置条件:用户登录成功后系统显示信息查看的结果界面,用户登录成功后,进入到学生相应界面。 正常流程:1.学生在用户名输入框里输入用户名 2.在密码框里输入密码 3.用户按登录后,系统验证学生输入的有效性。 4.有效则进入系统的主界面。无效则提示相应错误给用户。 5.用例终止 异常事件流:显示错误信息,提示无效身份登录,认证无法通过登陆失败。 分支流程:在按“登录”按钮之前,学生可以随按“关闭”按钮。 特殊需求:要求用户密码安全。 签到 ID: 2 用例名称:签到 参与者:学生 用例描述:大概过程:学生在系统上选择签到按钮。 输出结果:在系统确定身份后,签到成功。

前置条件:在此用例开始之前,学生必须登录到系统中。 后置条件:如果用例执行成功,可以实现学生客户端的功能。 正常流程: 1.学生成功登陆客户端 2.点击签到按钮,此用例启动。 3.显示“签到成功”信息。 特殊需求:学生一次只允许签到一个用户。 发送文件 ID: 3 用例名称:发送文件 参与者:学生 用例描述:产生的原因:学生需要将所完成的功课提交老师批阅。 大概过程:学生完成作业后,按“提交按钮”发送给老师。 输出结果:系统提示文件送达成功或者失败。 前置条件:学生必须提供上传信息资源请求。 后置条件:学生可以快速提交作业,老师及时发现问题,可通过群聊方式纠正学生出现的问题。 正常流程: 1.学生提交上传文件信息请求 2.界面转换至上传文件界面 3.学生将所传文件内容进行上传 4.进行提交 5.系统提示成功与否信息 异常流程: 1.用户取消上传请求,系统回到界面。 2.文件上传失败,系统提示再次上传。 特殊需求:上传文件不宜过大。

门户网站用例图与用例描述

1:总体用例 图 2:留言管 理 2-1:回复留言 用例描述: 用例名称:回复留 言用例标识号: 2-1

参与者:管理员简要说明:管理员对用户提交到系统的留言,进行浏览和回复。前置条件: 管理员已经登管理系统基本事件流:1.管理员鼠标点击“浏览留言”按钮,发出留言审核请求;2.系统提供系统中存储的留言,分页显示留言内容; 3. 管理员选择一条留言标题,点击浏览留言详细信息;4.管 理员可以在选择要回复的留言; 5. 管理员点击提交回复留言 6.用例终止;其他事件流A1:在按“提交”按钮之前,管理员随时可以按“返回”按钮,返回到浏览页面 异常事件流:1.提示错误信息,管理员确认;2.返回到留言管理页面。 后置条件:系统中的留言得到回复 注释:无 2-2:删除留言 用例描述: 用例名称:删除留言用例标识号:2-2 参与者:管理员简要说明:管理员对用户提交到系统的留言,进行浏览和删除前置条件: 管理员已经登管理系统基本事件流:1.管理员鼠标点击“浏览留言”按钮,发出浏览留言请求;2.系统提供系统中存储的经审核的留言,分页显示留言; 3. 管理员查看留言,点击删除按钮删除留言后重新列出留言; 7.用例终止;其他事件流A1: 在按“提交”按钮之前,管理员随时可以按“返回”按钮,返回到浏览

异常事件流:1.提示错误信息,管理员确认;2.返回到留言管理页面。 后置条件:系统中的留言被删除。 注释:无 3:管理帖子 3-1 回复帖子 用例描述: 用例名称:回复帖子用例标识号:3-1 参与者:管理员简要说明:管理员对用户提交到系统的帖子,进行浏览和回复帖子。前置条件:管理员已经登管理系统基本事件流:1.管理员鼠标点击“浏览帖子”按钮,发出帖子浏览请求;2.系统提供系统中存储的帖子,分页显示帖子内容; 3.管理员可以在选择要帖子的留言; 4. 管理员点击提交回复帖子5.用例终止;其他事件流A1: 在按“提交”按钮之前,管理员随时可以按“返回”按钮,返回到浏览异常事件流:1.提示错误信息,管理员确认;2.返回到帖子管理页面。 后置条件:系统中的帖子批准状态被修改。 注释:无

用例图画法

说明:rose中创建边界类的方法: 1.右击logic view,选择“new”--“package”。新建一个文件夹“边界类”。 2.右击“边界类”文件夹,选择“new”--“class”。新建类。 3.为新建的类定义类名,然后右击该类选择“Open Specification”,或者直接双击该类。 4.在打开的窗口中,在“Stereotype”中选择“boundary”,标识该类为边界类。

5.如果是定义控制类,就设置Stereotype的值为control,如果是定义实体类,就设置Stereotype的值为entity。 2.顺序图 图1 UC02选择课程用例的顺序图 文档中蓝色及红色文字及图片,是与rose操作有关的介绍。在整理文档是务必要删除。 说明:顺序图的画法: 1.在Logic View下新建文件夹命名为“顺序图”。 2.右击“顺序图”文件夹,选择new--Sequence Diagram

3.将新建的顺序图使用“用例编号和名称”命名。 4.双击打开该顺序图。 5.根据用例描述,确定参与用例的参与者、边界类、控制类以及使用到的实体类,并将上述对象从左侧模型树中找到,鼠标左键点中,拖到右侧主图版中。注意顺序图中各对象的顺序从左到右为参与者、边界类、控制类以及实体类。 比如“UC03 退选课程”的参与对象如下: 5.根据用例描述中的主事件流,开始画顺序图中的消息。 UC03 退选课程主事件流如下: 1)学生查看已选课程。 在图中,先在中间工具栏上单击Object Message,然后将鼠标移至画图板。单击“学生”后不要松开左键,向“WithdrawalForm”拖动,到达该对象后松开左键,就建立了学生到界面对象的一条消息。 右击该消息,选择“new operation”

用例图和用例模型

用例图和用例模型 用例图用来描述用户的需求,它从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。 用例图概述 UML用例图是软件产品外部特性描述的视图,它从用户的角度而不是开发者的角度来描述软件产品的需求,分析软件产品所需的功能和行为。用例图主要描述了系统需要实现的功能,而忽略系统是如何实现这些功能的。 用例模型由用例图组成,它是系统用例图的集合,是对系统从宏观角度的确定描述。用例模型主要用于需求分析阶段,该模型是系统开发者和系统使用者反复讨论的结果,表明了系统开发者和系统使用者对需求规格达成的共识。 首先,用例模型描述了待开发系统的功能需求;其次,用例模型将系统看作黑盒,仅从外部执行者的角度来理解系统; 再次,用例模型驱动了需求分析之后各阶段的开发工作,影响到开发工作的各个阶段和UML的各个模型。 一、用例图元素 用例图主要用于定义系统的功能需求,它描述了系统的参与者与系统提供的用例之间的关系。用例图由以下几种元素组成: 执行者、用例、关系、用例描述 (1)执行者 执行者(Actor)是系统的外部用户,它是与系统相关联的人或其它系统,可以是普通用户、外部硬件、其他系统。

在进行用例图绘制时,首先要找出系统的执行者。一般可以从以下几个方面来考虑怎样找到系统的执行者: ?谁使用系统的功能。 ?谁向系统提供必要的信息。 ?谁从系统获取信息。 ?谁维护、管理系统工作。 ?系统需要使用哪些外部资源。 ?需要与系统交互的其它系统有哪些。 ?其他对系统产生的结果感兴趣的人或事物。 (2)用例 用例是指系统中的一个功能单元,也可以将用例理解为系统功能的分解。 用例的表示方法如下: (3)关系 (1)关联 在用例图中,用例和执行者之间的关系用一条连接二者带箭头的连线表示,如图所示,该连线称为关联。它表示了一个执行者和一个用例之间的关系。 在用例图中,关联关系只用在执行者和用例之间,用例和用例之间不会存在关联关系。关联关系采用的是单箭头的连线,表示在该关联中执行者是主动的,是执行者启动的用例。如下图所示。

图书管理系统用例图

图书管理系统UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。 3.掌握建模工具的使用。 二、实验内容 根据以下需求设计一个图书馆管理系统的用例图模型,包括:用例图和主要用例的描述文档。 基本功能要求: 图书管理:新书登记,图书查询,图书注销; 借阅管理:借书,还书,查询今日到期读者; 读者管理:增加读者、删除读者、查询读者、读者类别管理(可以设置不同

类的读者,并使不同类读者对应不同类的图书流通参数,如可借册数,可借天数,可续借次数,可续借天数等); 报表管理:包括图书借阅统计报表,被注销图书统计报表等;报表可以有多种格式可供选择;可以把报表输出到文件中,可以预览报表、打印报表等。 系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),数据管理(提供数据修改、备份、恢复等多种数据维护工具),系统运行日志,系统设置等功能。 三、实验思想 (1)分析系统需求; (2)确定系统参与者:读者、图书管理员、图书管理系统; (3)确定系统用例; 四、实验结果 借阅人用例图:

图书系统管理员用例图: 图书管理员用例图:

1.用例名称:登录 用例描述:根据用户输入的用户名和密码判断用户的身份,赋予相应的权限。前置条件:无 后置条件:根据用户所有的权限进入相应的操作界面。 基本操作流程: 1输入用户名 2输入密码 2校验密码是否正确。 3根据用户身份进入相应的操作界面。 可选流程:如果密码不正确,提示重新输入密码; 如果用户名不正确,提示没有此用户。

图书馆管理系统用例图活动图类图时序图

图书馆管理系统 一、图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标就是实现内部图书借阅管理的系统化、规范化与自动化。 能够对图书进行注册登记,也就就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。 能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 提供较为完善的差错控制与友好的用户界面,尽量避免误操作。 2、系统功能需求分析 (1) 读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。 (2) 书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、 类别、关键词、备注。 (3) 借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理与 书籍丢失后的处理。 (4)系统管理:包括用户权限管理,数据管理与自动借还书机的管理

满足以上需求的系统主要包含有一下几个子系统 (1)基本业务功能子系统:该系统中主要包含了借书还书与预订等功能。 (2)基本数据录入功能子系统:该子系统主要包含有书籍信息与读者信息录入功能。 (3)信息查询子系统:包含了多功能的查询书籍信息与读者信息。 (4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能与预订信息管理功能。 (5)帮助功能子系统。 二、系统动态建模 1、用例图、

实验一用例图设计参考解答

实验一用例图设计参考 解答 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

实验1 1. 一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别用来收钱和找钱。现在为这个系统设计一个用例图。 找零钱 自动售货机系统用例图 2.现有一个产品销售系统,其总体需求如下: 系统允许管理员生成存货清单报告。 管理员可以更新存货清单。 销售员记录正常的销售情况。 交易可以使用信用卡或支票,系统需要对其进行验证。 每次交易后都需要更新存货清单。分析其总体需求,并绘制出其用例图。

产品销售系统用例图 3 某酒店要开发一个酒店住宿管理系统,该酒店可对外开放500个双人间和50个单人间,房间费用视情况按季节由管理人员进行调整,但周一到周五半价(周末全价)折扣不变。只有在该系统进行了注册的人员才能登录该系统进行酒店住宿预定。对于顾客的请求,该系统能根据请求入住时间预定指定档次的房间信息,记录该顾客姓名、地址、联系电话、有效证件号、房间类型和预定的天数,并计算出总费用。预定的同时顾客按规定要提交10%定金。六个小时之内酒店允许顾客取消预定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况的清单。顾客离开时,可以到总台办理结帐。结帐方式可采用两种方式,一种是现金结帐,另一种是银行卡结帐,银行卡结帐将通过与银联POS机来完成。

POS 4.登录一个网上酒店管理系统,根据其客人预订房间流程,描述系统的“预订房间”用例。 当客人登陆网上酒店管理系统,系统显示需要选择的服务,客人选择预订房间,系统判断客人预订的房间是否还有剩余,如果没有剩余,询问顾客是不是要继续选择预订其他的房间,顾客如果选择是,则重新进去预订房间的用例,如果客人选择不继续预订房间的话,系统询问客人是否要选择退出,客人退出,如果客人要预订的房间有剩余,系统询问顾客是不是要确定预订这个房间,顾客选择是,然后系统询问顾客的详细的信息,系统记录信息,然后回到系统询问顾客是否需要其他的服务,顾客选择退出,系统注销用户的登录信息。

用例图含义及画法

用例图的含义及画法 用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。 当用例视图在外部用户出现以前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互部分被称作用例。用例使用系统与一个或者多个参与者之间的一系列消息来描述系统中的交互。 用例图包含六个元素,分别是:参与者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。 用例图可一个包含注释和约束,还可一个包含包,用于将模型中的元素组合成更大的模块。有时,可以将用例的实例引入到图中。用例图模型如下所示,参与者用人形图标来标识,用例用椭圆来表示,连线表示它们之间的关系。 一.参与者(Actor) 1.参与者的概念 参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。参与着由参与用例时所担当的角色来表示。在UML中,参与者用名字写在下面的人形图标表示。 每个参与者可以参与一个或多个用例。它通过交换信息与用例发生交互(因此也与用例所在的系统或类发生了交互),而参与者的内部实现与用例是不相关的,可以用一组定义其状态的属性充分的描述参与者。

图书管理系统用例图

图书管理系统 UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。 3.掌握建模工具的使用。 二、实验内容 根据以下需求设计一个图书馆管理系统的用例图模型,包括:用例图和主要用例的描述文档。 基本功能要求: 图书管理:新书登记,图书查询,图书注销; 借阅管理:借书,还书,查询今日到期读者; 读者管理:增加读者、删除读者、查询读者、读者类别管理(可以设置不同类的读者,并使不同类读者对应不同类的图书流通参数,如可借册数,可借天数,可续借次数,可续借天数等); 报表管理:包括图书借阅统计报表,被注销图书统计报表等;报表可以有多种格式可供选择;可以把报表输出到文件中,可以预览报表、打印报表等。 系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),数据管理(提供数据修改、备份、恢复等多种数据维护工具),系统运行日志,系统设置等功能。 三、实验思想 (1)分析系统需求; (2)确定系统参与者:读者、图书管理员、图书管理系统; (3)确定系统用例;

四、实验结果 借阅人用例图: 图书系统管理员用例图:

图书管理员用例图: 1.用例名称:登录 用例描述:根据用户输入的用户名和密码判断用户的身份,赋予相应的权限。前置条件:无 后置条件:根据用户所有的权限进入相应的操作界面。 基本操作流程: 1输入用户名 2输入密码 2校验密码是否正确。 3根据用户身份进入相应的操作界面。 可选流程:如果密码不正确,提示重新输入密码; 如果用户名不正确,提示没有此用户。 2.用例名称:查询图书 用例描述:由读者进行操作,查询图书馆中有没有需要图书,如果有,显示该图书编号、书名、作者、出版日期、当前借阅状态等信息。 前置条件:以顾客身份登录 后置条件:无 基本流程: 1 以读者身份登录。 2输入图书的名称或作者名称。

用例图的简单描述

Use Case View Summary 这段文字是翻译自Mark Priestley《Practical Object-Oriented Design with UML》的,算是对用例图作个总结,增加我自己的理解和记忆,也希望对大家有所帮助。 ●用例视图(use case view)包括actors 和用例(use cases)。Actors描 述了用户在和系统交互的过程中可以扮演的角色。用例描述了系统提供 给actors的功能。 ●用例定义了用户和系统之间的某种特定类型事务。某个特定类型的交互, 或者说用例的实例可以在场景(scenarios)中描述。UML并没有给出用例 和场景的正式定义。 ●场景可以被定义为陈述了用例所描述的基本的事件发生过程,并且陈述了 可能发生的异常情况。 ●用例图(use case diagram)画出了参与在系统中的actors和用况。一个 actor和一个用况之间存在关联说明这个actor参与这个用况其中。 ●用例和用例之间, actor和actor之间可以存在一般化关系(类似于类 class之间的超类、继承),就是说某个用例或actor是另外一个的特殊 情况。 ●用例之间还存在这“包含(include)”关系,就是说一个用例可以包含另 外一个。类似于函数调用,这为用例的重用提供了一种机制。 ●用例之间的另外一种关系“扩展(extend)”运行一个用例提供可选的功能。 通过定义扩展点和何时执行何种功能来定义这种关系。这些信息在用例 图中是可选的。 ●一个用例或者场景的实现描述了足够实现这个用例(或场景)功能的,可 交互对象的结构。 ●序列图(sequence diagram)和协作图(collaboration diagram)画出参 与在一个交互中的对象和他们之间互相发送的消息,可以描述一个用例 的实现。 译文就到此为止了,我想大概的就我的理解说明一下,以防止大家看的摸不着北。 Use case view是由需求到最终实现的第一步,目标系统需要有那些潜在或者明显的功能,有那些目标用户,这些东西画出来后use case这一步还远没有完成,接下来应该对要实现的功能进一步分析,那些用例其实是一种,用例之间有那些关系,如上面列出的一般化关系,扩展关系等等。当然这对actor也适用。单单用例图有时候太简单,不足以描述某个用例的详细情况,这是场景就必不可少了,用文字来描述这个用例的情况,正常流程,以及可能发生的异常情况,非常有用。当然也可以做进一步的分析,开始画每一个用例的序列图和协作图。 本文来自:https://www.360docs.net/doc/6817660316.html,/doc/15354.htm

用例图和用例描述设计实例

用例图和用例描述设计实例 作者:ephyer 发表时间: 2004-09-09 18:01:35 更新时间: 2004-09-09 18:01:35 浏览:1954次 主题:电脑技 术 评论:0篇 地址:202.19 7.75.* :::栏目::: ? T hinkin g in jav a 学习 笔记 ? J A VA 基 础知识 ? U ML ? 软 件设计 师 ? 其 他类别 这里用我开发的一个家教网站来简单的分析用例图的画法和用例描述的 写法。这个网站我用UML 完整的分析一下,以下我提取了用例图和用例描述 的部分。这个家教网站分为前台客户系统和后台管理系统。 前台客户系统的用例图如下: 后台管理系统用例图如下: 对于用例描述,篇幅有限,我在这里只列了后台管理系统中的网站公告发布这个用例的描述。如下:

用例名称:用户登录 用例标识号:01 参与者:管理员、普通用户 简要说明: 参与者输入用户名、密码以及验证码,系统进行验证后,合法者登录系统,否则提供拒绝登录系统。 前置条件: 参与者已经打开系统的登录页面(login.jsp) 基本事件流: 1.参与者在用户名输入框里输入用户名 2.在密码框里输入密码 3.密码框下方显示验证码,验证码由4位数字构成,用户按原样输入验证码。 4.用户按登录后,系统验证参与者输入的有效性。 5.有效则进入系统的主界面。无效则提示相应错误给用户。 6.用例终止 其他事件流A1: 在按“登录”按钮之前,参与者可以随按“取消(或关闭)”按钮。 异常事件流: 1.提示错误信息,参与人确认 后置条件:进入的主界面main.jsp ,装载相应的数据 注释:(可选:记住用户)

需求中如何画用例图

需求中如何画用例图 UML用例图 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。 用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。 共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。 1、包含(include) 包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。 包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一段算法封装成一个子过程,然后再从主程序中调用这一子过程。 例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

高校毕业设计用例图

高校毕业设计用例图学生用例图: 学生 课题选择 我的课题 我的任务书 开题材料 论文提交 网上答疑 通知公告 退选 ?扩展? 我的开题材 料 ?包括? 提交开题材 料 ?包括? 修改个人信 息 个人信息管 理 ?扩展? 下载专区 我的论文 ?扩展? 答疑提交 ?包括? 教师回复 ?包括? 我的提问 ?包括?

教师用例图:

教师 课题申报 全院课题 发布任务书 选题管理 通知公告 网上答疑 开题报告 本组学生信 息 下载专区 归档材料 论文接收 个人信息管 理 我的课题 ?扩展? 被选课题 ?包括? 未选课题 ?包括? 我的任务书 ?扩展? 回复答疑 ?包括? 我的回复 ?包括? 学生提问 ?包括? 上传归档材 料 ?包括? 我的归档材 料 ?包括? 修改个人信 息 ?扩展? 管理员部分用例图1:

管理员 课题审核 课题导入 课题删除通知公告 教师信息管 理 选题管理 学生信息管 理 教师申报课 题 ?包括??包括? ?包括? 发布公告 ?包括? 查看公告 ?包括? 未选课题信 息 ?包括? 已选课题信 息 ?包括? 未选学生信 息 ?包括? 已选学生信 息 ?包括? 所有课题信 息 ?包括? 导出所有课 题 ?包括? 新建学生信 息 ?包括? 删除学生信 息 ?包括? 删除教师信 息 ?包括? 新建教师信 息 ?包括? 管理员部分用例图2:

管理员 数据库维护 个人信息管理基础数据维护 学生信息导入 教师信息导入 账户管理 下载专区 归档材料 个人信息修改 ?扩展? 时间设置?包括? 专业设置 ?包括?学院设置 ?包括? 数据库还原 ?包括? 数据库备份 ?包括?教师密码重置 ?包括? 学生密码重置 ?包括? 文件下载 ?包括? 文件管理?包括? 文件上传 ?包括? 下载学生信息模板?扩展? 下载教师信息模板 ?扩展? 实验小结:

图书馆管理系统用例图活动图类图时序图样本

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 图书馆管理系统 一.图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。 能够对图书进行注册登记, 也就是将图书的基本信息( 如: 书的编号、书名、作者、价格等) 预先存入数据库中, 供以后检索。 能够对借阅人进行注册登记, 包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如: 以书名、作者、出版社、出版时间( 确切的时间、时间段、某一时间之前、某一时间之后) 等信息进行图书检索, 并能反映出图书的借阅情况; 以借阅人编号对借阅人信息进行检索; 以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能, 对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理, 按照不同的工作职能提供不同的功能授权。

提供较为完善的差错控制与友好的用户界面, 尽量避免误操作。 2、系统功能需求分析 (1) 读者管理: 读者信息的制定、输入、修改、查询, 包 括种类、性别、借书数量、借书期限、备注等。 (2) 书籍管理: 书籍基本信息制定、输入、修改、查询, 包括书籍编号、类别、关键词、备注。 (3) 借阅管理: 包括借书, 还书, 预订书籍, 续借, 查询 书籍, 过期处理和书籍丢失后的处理。 (4)系统管理: 包括用户权限管理, 数据管理和自动借还书 机的管理 满足以上需求的系统主要包含有一下几个子系统 ( 1) 基本业务功能子系统: 该系统中主要包含了借书还书和预订等功能。 ( 2) 基本数据录入功能子系统: 该子系统主要包含有书籍信息和读者信息录入功能。 ( 3) 信息查询子系统: 包含了多功能的查询书籍信息和读者信息。 ( 4) 数据库管理功能子系统: 主要包含了借阅信息管理功能, 书籍信息管理功能和预订信息管理功能。 ( 5) 帮助功能子系统。

3章:用例图习题

3章:用例图习题

第3章用例图习题 一、简答题 1. 什么叫参与者,参与者有哪些基本特性? 答:参与者也被称为活动者,是与系统发生交互的外部实体。参与者的特性有:1)参与者位于系统的外部,不属于系统的内容;2)参与者与系统发生交互关系,交互关系主要有:使用系统,启动系统,获取系统信息或给系统提供信息;3)参与者和系统之间存在交互信息的接口,系统提供接口让参与者使用系统,或者系统通过参与者的接口与参与者进行交互。 2. 用例有哪些特性? 答:概括起来,用例有以下特性: 1)用例描述用户对系统的期望,被用于软件需求建模,一个用例对应于软件能够为参与者提供的一项服务。 2)用例反映参与者与系统一次完整的交互过程。这个交互过程总是要耗费一段时间,并 1

执行一定的流程。流程的执行是参与者与系统的一段互动过程,在这个过程中有输入到系统的信息,以及系统反馈给参与者的信息。 3)用例的执行过程是系统为参与者的一次服务过程,这个服务就体现为系统提供给参与者的功能。一个用例执行的完成,需要有确定的评价结果,这个结果表现为系统提供给参与者的一项完整的功能。 4)用例是软件设计和测试的依据。 3. 用例之间有哪几种关系? 答:泛化关系,包含关系,扩展关系。 4. 用例叙述应该包括哪些基本内容? 答:包括:用例编号,用例名,参与者,前置条件,事件流,后置条件。 二、填空题 1. 用例图的要素包括(参与者)、用例和(关系)。 2.参与者的英名名称是(actor),参与者 2

也被称为(活动者)。 3.参与者的类型可以是(人)、设备、(外部系统)和时间。 4.用例的英名名称是(usecase),也被称为(用案)和(用况)。 5.用例之间的关系有(泛化)、包含和(扩展)。 6.执行用例之前系统所处的状态被称为(前置条件),(事件流)被称为用例执行的流程。 三、选择题 1.下面不属于用例图作用的是(C) A:展现软件的功能 B:展现软件使用者和软件功能的关系 C:展现软件的特性 D:展现软件功能相互之间的关系 2.下面(B)不属于用例图的要素 A:参与者 B:包含 3

软件设计过程中画用例图的步骤

用例图 用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。 用例图包含六个元素,分别是:参与者 (Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系 (Generalization)。 一.参与者(Actor) 确定参与者 在获取用例前首先要确定系统的参与者,开发人员可以通过回答以下的问题来寻找系统的参与者。 (1)谁将使用该系统的主要功能。 (2)谁将需要该系统的支持以完成其工作。 (3)谁将需要维护、管理该系统,以及保持该系统处于工作状态。 (4)系统需要处理哪些硬件设备。 (5)与该系统那个交互的是什么系统。 (6)谁或什么系统对本系统产生的结果感兴趣。 二、用例(Use Case) 识别用例 用例图对整个系统建模过程非常重要,在绘制系统用例图前,还有许多工作要做。系统分析者必须分析系统的参与者和用例,他们分别描述了“谁来做”和“做什么”这两个问题。识别用例最好的方法就是从分析系统的参与者开始,考虑每一个参与者是如何使用系统的。使用这种策略的过程中可能会发现新的参与者,这对完善整个系统的建模有很大的帮助。用例建模的过程是一个迭代和逐步精华的过程,系统分析者首先从用例的名称开始,然后添加用例的细节信息。这些信息由简短的描述组成,它们被精华成完整的规格说明。 在识别用例的过程中,通过回答以下几个问题,系统分析者可以获得帮助。 (1)特定参与者希望系统提供什么功能。 (2)系统是否存储和检索信息,如果是,由哪个参与者触发。 (3)当系统改变状态时,是否通知参与者。 (4)是否存在影响系统的外部事件。 (5)哪个参与者通知系统这些事件。 三、用例间的关系 1.关联关系(Association)

网上商城概要设计说明书,时序图,状态图,用例图

北大青鸟网上商城系统 概要设计说明书 第一部分:引言 编写目的 本说明是北大青鸟网上商城电子商务系统案例研究项目软件产品的总体设计和实现说明,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据,同时该文档将作为产品实现、特性要求和控制的依据。 软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查,同时为下一步的详细设计说明提供框架。 背景 A、软件系统的名称:北大青鸟网上商城系统 B、任务提出者:北大青鸟九月J2EE班级第三小组 开发者:北大青鸟九月J2EE班级第三小组 实现完成的系统将作为线销售系统使用,所应用的网络为Internet网络。 C、本系统将是一个独立的系统,目前所产生的输出都是独立的。 本系统将使用Oracle9i作为数据库存储系统. 定义

参考资料 相关的文件包括: A、内部文件《北大青鸟网上商城电子商务系统案例研究项目》; B、北大青鸟网上商城电子商务系统案例研究项目分析会议备忘录; C、《北大青鸟网上商城电子商务系统案例研究项目可行性分析》;参考资料: A、北大青鸟Aptech Y2《基于软件开发项目的毕业设计》; B、国家标准《软件需求说明书(GB856T——88)》; C、亚马逊网站的软件需求说明; 合同: A、《北大青鸟网上商城电子商务系统案例研究项目合同- 2》;

第二部分:总体设计 需求规定 需求规定的详细内容,请参考独立的文档《北大青鸟网上商城项目需求说明》.运行环境 、硬件设备要求: 客户程序硬件要求: 具有Pentium III 处理器且满足以下要求的计算机: 最低64 MB 内存 最小GB 硬盘 鼠标 键盘 服务器硬件需求: 具有Pentium III 处理器且满足以下要求的计算机: 最低512MB 内存 最小8 GB 硬盘 鼠标 键盘 、支持程序 客户程序软件: Windows 98/NT /2000或更高版本 数据库服务器软件: Windows NT / 2000 Server 或更高版本 Oracle9i/SQL Server 2000/My Sql/Access

用例图设计

实验一:用例图设计 一、实验目的 1. 了解USE CASE图的基本用法; 2. 掌握UML中用例图的建立方法; 3. 掌握用例的描述方法。 二、实验仪器设备、材料 1.设备:计算机。 2.地点:机房。 三、实验要求: 1.某学校网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界面,可以查询课程、选课。对上述需求用用例图建模,并写出相应角色的脚本。 学生打开选课系统; 系统提示输入用户名和密码; 学生输入用户名和密码; 系统验证;-验证失败,返回登陆界面; 进入选课界面; 系统显示可选课程; 学生点击所选课程; 选课成功;-系统提示该课程不可选;

2.在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,绘制用例图,该审稿系统功能描述如下: (1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。(2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。 (3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。 (4)会议委员会主席是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。其中关闭审稿过程 须包括罗列录用和(或)拒绝的稿件。

人事管理系统用例图类图活动图

Fox-ERP人事管理系统(二) -----毕业设计(论文) 指导老师 专业计算机应用与维护 组长 班级 组员 成都电子机械高等专科学校 2007年5月10日 目录

1 3 5 2.1.1用例图6 2.1.2类图 2.1.3活动图 10 3.1关键技术之一 3.2关键技术之二 3.3关键技术之三 4.1数据库设计 4.2人事管理系统的数据模型图 5.1.3第二期工程的后续工作 1:修改密码代码 2:找回密码代码 二、员工就职 3:津贴/扣款维护 1:就职单维护代码 2:教育训练员工文件维护 3:教育训练课程名单 4:教育训练上课员工名单 2:考绩资料维护 4:奖惩资料维护 七、用户注册 1:设置用户 2:用户注册

第一章系统功能 1.1 需求分析 软件工程中包含需求、设计、编码和测试四个阶段,其中需求分析是软件工程中第一个也是很重要的一个阶段,需求分析的基本任务就是准确地回答“系统必须做什么”这个问题,而它的主要任务就是绘制关联图、创建开发原型、分析可行性、确定需求优先级、为需求建立模型、编写数据字典、应用质量功能调配。需求分析从总体上看是说明项目应该具有什么样的功能,而不考虑实现这些功能的具体技术。 ERP系统包括22个子系统,人事管理系统是其中的一个子系统,要理解人事管理系统,就必须了解系统与哪个子系统相关联,以及它具有怎样的功能。人事管理系统将人事档案的手工管理变成计算机管理,充分发挥计算机的快捷、准确、高效、方便的特点,极大地提高了各种效率和工作质量。 在实际项目的开发中,需求分析是客户提出的,现在的企业资源计划的软件要有物流、资金流、信息流,并且要以资金流为中心,ERP则是一个较完善的软件,也是具有管理理论的信息系统。同时ERP具有较强的通用性,大多数企业都需要具备的一些基本功能成为ERP 的需求。 系统的需求分为物理需求、结构需求、逻辑需求。例如人事管理系统的需求如下所示:一.物理需求 物理需求的任务很明确,就是确定人事系统的物理服务器的最终架构和软硬件环境。根据人事管理系统的基本要求,物理需求应包括如下几个方面: (1)支持可分布式部署的服务器群组 支持分布式的服务器组是优秀的网络应用程序必须提供的一个物理功能,因为大型的网络应用程序不可能将所有的应用和操作运行于同一台服务器。支持分布式的服务器群组有利于降低服务器负荷,使服务器的功能更加具有针对性。 (2)支持.NET的服务器操作平台 这是必需要满足的需求。https://www.360docs.net/doc/6817660316.html,应用程序不可能脱离.NET Framework的支持,因此WEB服务器必须支持.NET. (3)仅限于Microsoft SQL Server 的数据库管理系统 支持多种数据库类型是一个不错的构想,但是人事管理系统主要体现的是https://www.360docs.net/doc/6817660316.html, 以及https://www.360docs.net/doc/6817660316.html,中的数据操作新特性,而在https://www.360docs.net/doc/6817660316.html,中的针对于Microsoft SQL Server提供了很多的具体方法和对象。为了介绍和展现https://www.360docs.net/doc/6817660316.html, 中的对象和方法,人事管理系统采用了Microsoft SQL Server 2000 作为系统的数据库管理系统。 (4)必须用到的软件支持 人事管理系统要使用Visual Studio 2003, 类图、用例图、活动图要使用CASE工具,在PD10.0的环境下做。 二、结构需求 (1)系统的可维护性和可扩展性强 大多数的人事系统在实际应用中都需要不断地添加功能模块,人事管理系统也一样,在二次开发和实际应用中要根据项目的具体情况添加一些功能模块。因此项目在设计之初就要考虑到,当前的架构对系统的扩展工作会不会形成障碍。 使用人事管理系统层次的设计概念能够增强系统的维护性和扩展性,基于层的设计模式允许开发者以三层甚至多层的模式开发人事应用程序,将登录、注册、自定义基本资料表等单元分离开,每一层都有针对性,层是以一组序列分布在系统数据和用户之间的,不相连的层在业务上没有耦合,每一层都是继承和调用上一层中的对象和方法。 这种模式使得系统的功能分布更加合理化。例如扩展一部分付款方式,首先要在付款方式层中建立相应的方式,然后才是在前台显示层中建立新的页面控件。 (2)系统的功能模块通用性强 由于人事管理系统是作为一个示例和应用程序框架被设计和开发的,因此其功能模块简单地说,人事管理系统需要提供员工就职中最基本的对象和这些对象的基本属性,只有这样才能使基于人事管理系统的二次开发具有更大的扩展性。例如多公司运作只执行最基本的功能,至于一些具体应用方式的特殊属性,并不应出现在系统中。 模块化的构建同时也意味着模块之间尽量降低偶合度,这样做的好处是使得更改模块

uml实验一用例图设计

统一建模语言及工具实验指导书 安徽师范大学数学计算机科学学院

实验一:用例图设计 一、实验目的 1. 了解USE CASE图的基本用法; 2.掌握UML中用例图的建立方法; 3. 掌握用例的描述方法。 二、实验仪器设备、材料 1.设备:计算机。 2.地点:机房。 三、实验要求: 1. 一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别用来收钱和找钱。现在为这个系统设计一个用例图。 2.现有一个产品销售系统,其总体需求如下: 系统允许管理员生成存货清单报告。 管理员可以更新存货清单。 销售员记录正常的销售情况。 交易可以使用信用卡或支票,系统需要对其进行验证。 每次交易后都需要更新存货清单。 分析其总体需求,并绘制出其用例图。 3.在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,绘制用例图,该审稿系统功能描述如下: (1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。 (2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。 (3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。 (4)会议委员会主席是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。其中关闭审

相关文档
最新文档