架构层次的用例文档编写

为了能够实现架构设计,概要层次的用例可以帮助我们建立业务架构概念,利用概要
层次的用例集中精力考虑了系统大的关系,专注于子系统和功能块“黑盒”层面的状态与
行为,而有意的忽视了本身细节层面的内容,这在很多情况下是架构设计所需要的。但从
另一方面来讲,作为架构层面的需求分析,很多内容又需要从细节层面考虑,特别是各个
子系统和功能块之间交互行为的描述应该细致翔实,从这个范围来说,很多架构层面的需
求分析又属于用户层面,因为这才有可能构建一个初始的架构基线。


正是基于这样两个方面的考虑,我们需要把架构层面的一些行为以可实现方式,比较
详细地描述出来。这样一来,架构的用例文档编写就显得十分重要。这类文档的编写既要
描述某些“黑箱”行为,更需要专注于用例之间行为关系的详细分析。
假定我们需要设计一个软件配置管理工具系统,其中有一个并发服务框架(Concurrenc
Service Framework,CSF)子系统,文件资源串行存取用例存在于这个框架之中,为了建立
架构层面的用例,首先画出用例图结构如下。


该结构的目标是:为了确保服务客户处理文件最新版本的时候,不至于受到并发修改的
困扰,客户对象使用 CSF 来保护代码中的临界区域,免受因为多线程而导致的非安全存取。
作为框架设计必需的信息,用例中还列出了技术或数据的可变情况。
用例名: 资源的串行存取 用例层次
用例 ID: C-1 用户目标
主要参与者: 服务客户对象
范围: 并发服务框架(CSF)
主事件流: 1,服务客户请求资源锁给予它特殊的资源存取权。
2,资源锁把控制权返回给服务客户以使它能够使用资源。
3,服务客户使用资源。
4,服务客户通知资源锁它对资源的使用已经完成。
5,服务客户结束后,资源锁处理善后事宜。
扩展流: 2a,资源锁发现发现客户对资源已经具有存取权:
2a1,资源锁对请求实施资源锁转换策略(CS-1)。
2b,资源锁发现资源已经分配给他人使用:
2b1,资源锁实施兼容性策略(CS-2),使客户对资源也享有存取权。
2c,资源锁定的持续时间限制不为 0:
2c1,资源锁启动锁定计时器。
3a,在客户通知资源锁完成对资源的使用之前,锁定计时器计数时间到:
3a1,资源锁向客户进程发送一个异常信号。
3a2,失败!
4a,资源锁发现服务客户上的所计数器非 0:
4a1,资源锁减少请求的引用个数。
4a2,成功!
5a,资源锁发现资源当前未被使用:
5a1,资源锁实施存取选择策略(CS-3),给处于挂起状态的服务客户
赋予存取权。
5b,锁定计时器仍然在运行:
5b1,资源锁取消锁定计时器的运行。
技术和数据可变
列表:
1,特殊的存取请求可以是:
独占存取
共享存取
2c,资源锁的锁定超时时间可以通过以下因素指定:
服务客户
资源锁定政策
全局缺省值
用例名: 实施资源锁转换策略 用例层次
用例 ID: CS-1 子功能
主要参与者: 客户对象
范围: 并发服务框架(CSF):处理策略
主事件流: 1,资源锁验证请求的存取方式是独占存取。
2,资源锁验证服务客户已经具有共享存取权限。
3,资源锁验证没有服务客户等待更新其存取权限。
4,资源锁验证没有其他的服务客户在共享资源。
5,资源锁赋予服务客户对资源的独占存取权。
6,资源锁增加服务客户锁的个数。
扩展流: 1a,资源锁发现请求的存取方式是共享存取:
1a1,资源锁增加服务客户锁的个数。
1a2,成功!
2a,资源锁发现服务客户已经具有共享存取权限:
2a1,资源锁增加服务客户锁的个数。
2a2,成功!
3a,资源锁发现有另一个服务客户等待更新其存取权限:
3a1,通知服务客户不能赋予它所请求的存取权限。
3a2,失败!
4a,资源锁发现有另一个服务客户正在使用资源:
4a1,资源锁令服务客户服务等待获得资源存取权限(CS-4)
用例名: 实施存取兼容性策略 用例层次
用例 ID: CS-2 子功能
主要参与者: 服务客户对象
范围: 并发服务框架(CSF):处理策略
主事件流: 1,资源锁验证请求的存取方式是共享存取。
2,资源锁验证当前对资源的所有使用都是共享存取。
扩展流: 2a,资源锁发现请求的存取方式是独占存取:
2a1,资源锁令服务客户服务等待获得资源存取权限(CS-4)
(进程的执行由锁服务策略恢复)
2b, 资源锁发现资源正在被以独占方式使用:
2b1,资源锁令服务客户服务等待获得资源存取权限(CS-4)
可变情况: 1,兼容性准则可以改变。
用例名: 实施存取选择策略 用例层次
用例 ID: CS-3 子功能
主要参与者: 客户对象
范围: 并发服务框架(CSF):处理策略
主事件流: 语境目标:资源锁必须决定哪一个等待请求(如果有的话)应该获得服
注意:这个策略是一个可变点。
1,资源锁选择等待时间最长的请求。
2,资源锁将存取权限赋予被选中请求,途经是使其进程进入可运行状态
扩展流: 1a,资源锁发现没有处于等待的请求:
1a1,成功!
1b,资源锁发现有一个请求正等待从共享存取更新为独占存取:
1b1,资源锁选中这个等待更新的请求。
1c,资源锁选中一个请求共享存取的请求:
1c1,资源锁重复第一步,直到遇到一个独占请求。
可变情况: 1,选择顺序准则可以改变。
用例名: 令服务客户服务等待获得资源存取权限 用例层次
用例 ID: CS-4 子功能
主要参与者: 客户对象
范围: 并发服务框架(CSF):处理权限
主事件流: 1,资源锁将服务客户进程挂起。
2,服务客户等待直到再次被恢复运行。
3,服务客户进程被恢复运行。
扩展流: 1a,资源锁发现一个等待超时已被指定:
1a1,资源锁启动计时器。
2a,等待计时器时间到:
2a1,通知服务客户其请求的存取权限不能得到。
2a2,失败!
技术和数据可变
列表:
1a1,锁的等待超时时间可以通过下列因素指定:
服务客户
资源锁定策略
全局缺省值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值