vbjava: 是不是use case 是给系统架构师和系统分析员沟通用的,而不是给用户看的,即便在use case workshop。
barbeque: 不是,Use Case 模型是用户眼中的Architecture. 当然Use Case 可以为后续的开发活动提供诸多便利,它将需求按照用户的目标以高内聚、低耦合的方式组织在一起

higoals: 那么如何组织用户的需求呢?我脑袋中老去不掉未来可能的设计方案啊
barbeque: 用户的想法需要被有条理的捕获出来,而不是随机的捕获,然后在用设计人员的思路组织

gallenliu: 有人说:最清楚的需求文档就是user manual,你是否同意?
barbeque: 清楚的需求文档有助于快速地建立user manual。需求的内容应该是user manual 内容的超集

myzoucp18: 请问做需求时,是不是可以将性能方面的问题放在一边?
barbeque: 不是,性能需求是非功能需求的重要组成部分,尽管和应用逻辑没有直接的关系,但不等于不重要

evpu: 啊?!用户自己去直接修改需求?这个动作是发生在需求还没确定的时候,是吗?这样的话,就是说以用户的观念
(思路,条理)来组织,设计需求的结构和细节,是吗?
barbeque: 用户有能力自己修改需求的内容,隐含的意思是:用户完全理解我们写出来的东西

higoals: 在需求调研中,用户和我,谁应该是主导角色?
barbeque: 有两种情况:如果是软件适应稳定的业务模式,必须由用户主导;如果软件起到改变业务模式的作用,
很可能是代表领域专家意见的人员主导

evpu: 我觉得,use case 就一个小人一个圈,再加一个箭头,其实还是要靠大量的文档,最大的用处还是在于圈定范围,是不是?
barbeque: Use Case 就是以文字为主体的功能需求描述方式,同时也是一种捕获方式Use Case 图可以看作为UseCase 需求的“主页”

perl5: 想请教您如何把握界面原型在软件需求中的位置?
barbeque: 界面原型在软件需求中的作用很大:建立用户界面原型的主旨是在启动实质开发活动之前揭示和检验拟建系统的功能与可用性,在大规模投入资源之前,提供一个确认拟建系统正确性的机会。

Charity_Zhou: 有必要对用户进行UML 的培训吗?
barbeque: 不懂UML 的用户完全可以帮助你得到高质量的Use Case 模型

vbjava: 采用以文字为主体的use case 表达方式是不是说明uml 在ooa 方面还不够成熟呢?
barbeque: 作Use Case 并不是做OOA。(它也不是OO范畴的)

vagawind: 但是use case 是OOA 很好的表达形式,对吗?
barbeque: 不对,OOA 是用OO 的方式将需求转述出来,其要素是所谓的分析类.Use Case 中的内容是用自然语言表述的需求,是OOA 的理想依据.

rareren: 怎样把一个或多个功能作为一个UseCase(如Insert,update ,delect 分开还是做为一个维护)
barbeque: Use Case 是某类用户的目标,达到一个目标可能会有多种可能的场景,每个场景中有若干个动作(交互). 通常的误区是将动作或者场景当作Use Case. 注意Use Case 中的Case 和Test Case 中的Case 是有区别
ltxd: 能不能详细说明一下用例这间的三种关系的区别
barbeque: 比如你上楼,你也许必须要走楼梯(include),当然你有可能在中途去一下洗手间(extend).(记录主体行为,而不是旁支末节)

txiaofeng: use case 是否存在最初原型和分析模型这两种概念?
barbeque: Use Case 是面向用户的,主要是记录应用场景,还没有到分析的时候.

ltxd: 在做某些大型系统时,是否可以考虑顶层的use case 只做几个, 然后针对每个顶层的use case 再进行细化, 对它又再建use case model, 这样形成层次关系, 保证单个平面单个区域上的use case 不要太多呢?
barbeque: 不是. 有些文献中建议在不同层面应用Use Case 的概念,但并不意味这不同层面的Use Case 之间存在细化的关系. 不同层面主要是指用户对系统理解的不同概括程度.

casual_wen: 那么经过需求分析阶段,应当产生哪些文档呢
barbeque: 不同的规范有不同的文档体系,如果是参照RUP,主要有"前景","Use Case 规约(组)",界面原型,补充规约,词汇表

ltxd: 那这么说use case 就应该存在一个特定的粒度大小问题了, 即可以概括地说一般一个USE CASE 映射到多少个分析类?,多少个设计类, 能否给出一个数字, 我现在就是把握不好USE CASE 粒度的大小, 谢谢!
barbeque: Use Case 通常不能一蹴而就,开始先得到Use Case 规约的骨干内容:基本事件序列的步骤和备选事件序列的名称. 横向比较Use Case, 此时有些明显过大或者过小的USe Case 可以进一步分解或者合并,当然不能影响用户对其基本内容的理解.                                                                                                                        powerpeople: 用例规约中的,基本流和备选应该怎么理解啊?
barbeque: 你做100 次同一目标的事情,80 次的情形类似,它就是基本事件序列.
txiaofeng: use case 的分解与合并依据什么?
barbeque: Use Case 的内容更易于理解和管理.

powerpeople: 请问,我一个仓库管理系统中,增加出库单和修改出库单是不是应该分为两个use-case 啊
barbeque: Use Case 的划分主要是和用户直接讨论,你的问题不能脱离特定的上下文.

ltxd: jacbson 的use case 的定义是否只是针对所谓的concrete use case 的(而不是被included, extended 和被inherited
的?)
barbeque: abstract use case 已经不是具有基本含义的Use case...在应用USe Case 方法捕获需求时,建议不使用UseCase 之间的关系. 这种关系是当Use Case 模型已经相对完备之后用于优化Use Case 模型本身的, 对用户理解需求并没有显著的积极贡献
casual_wen: 但是如果use case 之间不建立关系的话,use case 是不是太简单了呢?
barbeque: 简单正是该方法的价值

powerpeople: 前置条件和后置条件怎么理解啊?
barbeque: 后置条件的翻译容易引起误解, 建议理解为"结束状态"
powerpeople: 比如说,我增加了一条信息,然后需要刷新界面,这算不算是“结束状态”啊
barbeque: 也许"界面被刷新"和"界面维持不变"更类似于"结束状态"
rareren: 不过我有点搞不明白一个Use-Case 到底什么时候开始?如一个查询功能从打开查找条件编辑界面之前说起呢?还是之后说起?
barbeque: 从用户需要做的第一个动作开始

rareren: 其实我觉得难处就是在于对不同的Use-case 用户需要做的第一个动作到底是什么?也就是use-Case 怎样划分的问题吧?不知是不是这样?
barbeque: 不是,Use Case 的划分的关键是用户最终要什么结果...
perl5: “从用户需要做的第一个动作开始”,那不是每次都要从系统登录开始?
barbeque: 通常可以从logon 之后的动作开始,因为logon 是每类人做每类事的必经之路,它通常被当作前置条件,并且logon 单独作为一个Use Case. 几乎成为惯例..(logon作为一个单独用例,并作为其它用例的前置条件)

Charity_Zhou: Jacobson 在software reuse 一书中强调UC 是可复用的,关键是要寻找变点和变体。但在ROSE 中无法体现变点以及变体
barbeque: 广义上,Use Case 可以复用主要指其内容及组织形式可复用. 并不是强调Use Case 被其它的Use Case 复用(尽管可以),因为这并不能体现出对Actor 的价值.

powerpeople: 怎么理解子系统啊?子系统和包有没有什么关系啊?
barbeque: 包就是一种一般的组织方式, 子系统强调行为特征(其内容通常组织在包中).

wy666666: 我觉得因为OO 就是分析、设计的技术,这与业务建模、需求是没有什么关系的。业务建模、需求完全可以用非OO 的技术来实现,经过讨论,甚至发现根本不必用计算机去实现都是有可能的OO 并不是业务建模、需求的必要条件。您认为呢?
barbeque: 对。不过,OO 是可以用于业务建模的...:)

文摘:《尤克滨:简单正是用例的价值》《非程序员》第19期(2002-11)相关推荐

  1. 简单的言语介绍一下什么是程序员

    平日里总会遇到类似的情况: 情况1: 吃瓜群众:"听说你是程序员,能不能告诉阿姨,程序员是做什么的?" 程序员:"程序员就是写代码的咯~" 吃瓜群众:" ...

  2. 玩客云退出链克计划后还是会下载缓存垃圾,程序员教你如何彻底绝育玩客云老母鸡

    最近买了一块硬盘,打算插到我的玩客云上面存放共享文件,我的玩客云是已经退出链克计划的机器.但是- 硬盘插上玩客云后,虽然退出链克计划了,但玩客云app上面还是有个设置共享空间的页面啊,默认还是有共享空 ...

  3. 有python基础学习java简单吗_【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

  4. 太简单!日常小动作让你摆脱程序员职业病

    无论是去健身房健身还是在家里,对于程序员来说,这都需要花费大把的时间,而程序员最长的一段时间就是待在公司,如果再具体一点,那就是办公室的椅子上,如果只能利用碎片化的时间进行锻炼,那下面这些小方法或许可 ...

  5. 阿里某员工:存够一百万不想再做程序员,回老家过简单生活

    热文导读|   点击标题阅读 互联网寒冬下,程序员如何突围提升自己? 腾讯新开源一吊炸天神器-零反射全动态Android插件框架正式开源 Flutter:究竟是大势所趋还是昙花一现? 作为互联网界堪称 ...

  6. JAVA程序员笔记(第二阶段:前端)第4篇——定位、太极图、经典轮播图一、简单transfrom变换效果

    定位: 绝对定位Absolution: 元素会脱离文档流,定位是相对于离它最近的且不是static定位的父元素而言,若该元素没有设置宽度,则宽度由元素里面的内容决定,且宽度不会影响父元素,定位为abs ...

  7. 尤克里里怎么样_尤克里里入门简单教程

    相比吉他的六弦,尤克里里只有四弦,这就在学习上要轻松不少.但是,即使是四弦,也有尤克里里的指法图.在学习尤克里里之前,一定要知道的尤克里里四弦对应的四音.尤克里里第四到第一弦的空弦对应的是GCEA四个 ...

  8. 如何利用Guitar Pro制作简单的尤克里里弹唱曲谱(一)

    众所周知,Guitar Pro是一款非常优质的吉他谱制作软件,很多音乐大神都爱使用它.即便你是个不懂吉他乐理的小白也能够通过短暂的摸索很好地上手这款吉他谱制作软件. 由于Guitar Pro强大的功能 ...

  9. 细数简单好学的乐器之尤克里里,女生自学乐器选择它最适合!

    近些年,尤克里里在国内迅速大火,网络平台上涌现出了许多的尤克里里弹唱视频.这些演奏者不论男女老少,弹奏尤克里里时无一例外地显露出了非凡的魅力,受到了很多粉丝朋友的喜爱.看到表演尤克里里,有些乐器小白可 ...

最新文章

  1. 第三次Scream冲刺
  2. 男子在大街上捡到一U盘,竟有英国女王在伦敦机场的路线图
  3. 全球首个AI设计药物进入人体试验阶段
  4. STM32-中断优先级
  5. 2013 2016 年期末考试
  6. linux Telnet远程登录
  7. 对于一个ul列表,单击弹出每个li对应的索引
  8. 【Java】计算一组同学一门课程的平均成绩、最高成绩和最低成绩
  9. java连本地mysql注意事项_java数据库连接及注意事项
  10. 隔离存取空间IsolatedStorage【WP7学习札记之十】
  11. 【纪念】我的大学同学名单
  12. 身份证前六位对应代码
  13. 时钟同步显示屏(NTP时间显示屏)子母钟系统介绍
  14. javascript输入正三角倒三角
  15. 自定义刻度尺进度条总结
  16. 一体机性能服务器图片介绍,浪潮发布AI一体机 整体性能较普通服务器提升10倍以上...
  17. 一文搞懂「微信支付 Api-v3」接口规则所有知识点
  18. Docker 生产环境之安全性 - 适用于 Docker 的 AppArmor 安全配置文件
  19. 759页14万字智慧大楼弱电智能化规划设计方案
  20. 写给MatheMagician读者的新年来信2

热门文章

  1. 计算机硬盘的分区和格式化,格式化分区
  2. [Flash]Loading制作
  3. 联网系统中Cisco交换机的注意事项
  4. MP-BGP EVPN方式部署Vxlan分布式网关
  5. 有奖征文活动:从 RTC 到 RTE,从音视频到「实时万象」!
  6. python字典输入学生信息_用Python创建一个学生字典并可以查询其中信息
  7. 【无标题】期货-股票分仓系统分析
  8. 重磅发布:2022软科世界一流学科排名
  9. 解决width: 100%;再设置margin问题
  10. [python学习笔记]loc与iloc函数的用法及区别