第三章 范围
1、范围(scope)一词用来描述项目开发人员负责的设计工作的边界,以便与应由其他人负责的设计工作或已经完成的设计工作相区别
2、与被讨论系统的功能范围和设计范围相关的主题都可以使用“内/外”列表,内/外表示在项目内还是在项目外。
主 题 |
内 |
外 |
以任意形式开发票 |
|
外 |
产生请求报告(请求可能由卖主、分部或人发起) |
内 |
|
将请求合并成一个PO |
内 |
|
部分发货,延迟发货,错误发货 |
内 |
|
所有新的系统服务,软件 |
内 |
|
系统中的任何非软件部分 |
|
外 |
识别任何可用的已存在软件 |
内 |
|
申请 |
内 |
|
表3-1“内/外”列表
3、功能范围是指系统要提供的服务,她最终应被用例所捕获。
4、执行者-目标列表列举了系统支持的所有用户目标,展示了系统功能方面的内容。
执行者 |
任务级目标 |
优先级 |
任何人 |
检查请求 |
1 |
授权者 |
改变权限 |
2 |
购买者 |
改变卖主契约 |
3 |
请求者 |
发起请求 |
1 |
|
改变请求 |
1 |
表3-2 执行者-目标列表示例
5、用例简述是对用例行为所作的一个包含2~6句话的描述,它仅提及了最重要的活动和失败情况。可以将用例简述做成一个表格,或作为执行者-目标列表的扩充,或在初稿中直接将其作为用例体的一部分。
6、设计范围是系统的区域,是开发人员负责设计和讨论的系统的集合,包括硬件系统和软件系统;它是集合的边界。
7、功能范围由执行者-目标列表和用例就可以充分的进行定义,而设计范围则是每个用例中都关心的一个主题,通常只写“范围”(scope)一词时,指的是“设计范围”(design scope)。
8、业务用例把企业作为其(设计)范围,书上用建筑房屋作为其图标;系统用例将计算机系统作为其范围,书上用一个盒子作为其图标;构件用例是关于被设计系统的子系统或构件的描述,书上用一个螺钉作为其图标。
9、用例总是在一个设计范围内进行编写。通常,可以找到一个更广的设计范围,而主执行者仍然处于范围之外。如果不断扩大该范围,可以找到一个临界点,一旦越过这个临界点,主执行者就会被包含在范围之内。这个临界点就是最外层范围(outermost scope)。最外层范围有时是企业,有时是部门,有时仅仅是计算机。
10、提倡编写最外层用例是因为,编写这样的用例花费的时间很少,并能为用例集提供极好的语境信息。最外层用例显示了系统最终如何使其最外部用户收益;同时还为浏览系统的行为提供了一个内容列表。
总结 这章的内容虽然不长,但值得摘抄的地方很多,首先要弄清楚功能范围,这样可以把一些不是项目负责的功能剔除掉,然后对项目内的每条功能建两个用例,一个是针对系统被设计系统,另一个是针对比被设计系统更广的范围。
第四章 项目相关人员和执行者
1、项目相关人员是指契约的参与者。执行者是指任何具有行为的事物,执行者可能是一个人、一个公司组织、一个计算机程序或计算机系统——硬件、软件或软硬件兼备的系统。
2、请从一下方面入手来寻找执行者:
系统的项目相关人员(stakeholder)
用例的主执行者(primary actor)
被设计系统(system under design, SuD)本身
用例的辅助执行者(supporting actor)
内部执行者(internal actor)——所讨论的系统(SuD)内的构件
3、项目相关人员是对用例的行为具有特定利益的人和物。每个主执行者都是一个项目相关人员,但是一些项目相关人员尽管有权关心系统的行为,却从来不与系统进行直接交互,例如:系统拥有者,公司的董事会和调控主体。这种未直接出现的项目相关人员也可以叫做沉默的执行者,加强对这些人的注意可以大大提高用例的质量,他们的利益在系统执行的检查和确认中、创建的日志中、以及在系统执行的动作中得以体现。
4、用例的主执行者是请求系统提供一项服务的项目相关人员,他经常(但不是一直)是触发用例的执行者。有两种情况他不是用例的激发者:(1)当一个公司职员或电话线员代表他人激发用例时;(2)当用例由时间触发。
5、主执行者在需求收集工作刚开始时和系统将要发布之前一段时间内是重要的;而在这两个时间点之间的那段时间里,他们是相当不重要的。
(1)在用例编写开始时,列举出主执行者有助于在短时间内对系统在整体上有一个全局的把握。通过对主执行者进行集中讨论,能建立起一个运作情况的大致框架。
(2)在用例编写和设计过程中,主执行者就开始变得无关紧要了,随着项目的不断推进,用例编写者将发现一个用例可能会被多种类型的执行者所使用
6、执行者(actor)一词暗示了动作中的个体(individual),有时,在一个用例中,它指一个个体;有时,它指担当某个给定角色的一类个体的通称。
书中特别提到UML中执行者泛化可以很好的解决执行者分层次的问题,但要注意不要把泛化的意思弄反。
7、用例中的辅助执行者是指为被设计系统提供服务的外部执行者,一个执行者可以在一个用例中是主执行者,而在另一个用例中是辅助执行者。
8、被讨论系统本身也是一个特殊的执行者,但它不是任何用例的主执行者或辅助执行者。
总结 :这一章阐述了项目相关人员和执行者的概念,项目相关人员是执行者的一个子集,特征是和利益有关系,因为领导的意志可以决定项目的成败,而领导属于项目相关人员,应该特别“关照”;而主执行者又是项目相关人员的一个子集,特点就是经常是用例的激发者。