统一软件开发过程之2:用例文本书写

什么是用例?
   通俗的讲用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标.(RUP中定义为:"一组用例的实例,其中每个实例都是系统执行的一系列活动,这些活动产生了对某个参与者而言可观察的返回植.")

用例文本都包含那些部分?
   包含如下13个部分
    用例名称:以动词开始
    范围:要设计的系统
    级别:"用户目标"或者是"子功能"
    只要参与者:调用系统,使之交付服务
    涉众及其关注点:关注该用例的人,及其需要
    前置条件:值得告诉读者的,开始前必须为真的条件
    成功保证:值得告知读者的,成功完成必须满足的条件
    主成功场景:典型的,无条件的,理性方式的成功场景
    扩展:成功或失败的替代场景
    特殊需求:相关的非功能需求
    技术和数据变元表:不同的I/O方法和数据格式
    发生频率:影响对实现的调查,测试和时间安排
    杂项:例如未解决问题
   其中
    1:及其关注点列表:该列表看上去要重要和实用的多,它建议并界定了系统必须要做的工作.拿超市收银软件为例
     >收银员:希望能够准确,快速的输入,而且没有支付错误,因为如果少收货款将从其薪水中扣除.
     >售货员:希望自动更新销售提成
    2:条件:传达编写者认为应该引起读者警惕的那些值得注意的假设
    3:保证:给出用例成功结束后必须为真的事物,包括主成功场景及其替代路径.例如:
     >前置条件:收银员必须经过确认和认证
     >成功保证:存储销售信息.准确计算税金.更新帐务和库存信息.记录提成.生成票据.
    4:主成功场景(基本流程)
      也被成为理想路径,它描述了满足涉众关注点的典型成功路径。要注意它通常不包含任何条件和分支。虽然包含条件和分支并不是错误,但是,保持一定的连贯性,并且将所有条件处理都推延至扩展部分,这种具有争议的做法更易于理解和扩展。
    5:扩展
      扩展是重要的,并且通常占据了文本大部分篇幅。扩展部分描述了其他所有场景和分支,包括成功和失败路径。由于扩展是主场景的分支因此能够一对应的步骤1...N对其进行标示。例如:
     扩展:
      3A:无效商品ID
        1.系统提示错误并拒绝输入该表示
      3B:....
     扩展由两部分组成:条件和处理
     准则:尽可能使用系统或参与者能够检测到的条件(第一种)如:
      5A:系统检测到与外部税务计算系统服务的通信中断
      5A:外部税务计算系统工作不正常
     扩展可以针对一个步骤也可以针对一系列(全部).(3-6A)(*A)
     扩展点非常复杂的时候可以使用单独的用例来表达该扩展.
     用例产生分支以执行其他用例(下划线予以表示)
    6:特殊需求
     与用例相关的非功能性需求,质量属性或约束.其中包含需要考虑的和必须包含在内的质量属性(如性能,可靠性和可用性)和设计约束(通常对应于I/O设备)例如:
     特殊需求:
     >90%的信用卡授权响应小于30秒
     >在步骤2中能够加入可插拔的业务规则
    7:技术和数据变元表
     变元是关于必须如何实现系统的.例如
     1A"可码扫描器或键盘输入商品ID
     2B:信用卡帐户信息可以使用读卡器或键盘输入
     3A:....
   

posted @ 2007-11-13 11:51  李占卫  阅读(2644)  评论(7编辑  收藏  举报