软件需求分析知识点(一)

准备需求分析的考试

核心工作流

组织要解决什么问题?——业务建模

为了解决组织的问题,新系统应提供什么功能和性能?——需求

为了提供功能,系统内部应该有什么样的核心机制?——分析

为了满足性能,系统的核心机制如何选定技术实现?——设计

需求目标是提升销售设计的目标降低成本

需求分析-核心工作流

UML

UML的统一

开发人员喜欢画“草图”,是以形式的粗陋,遮掩内容的粗陋。

过程改进(战术)需要技能(技术)的支撑,所以需要UML作为技能(技术)。

UML的14种图

用例图

描述结构的:类图、对象图、组件图、部署图、包图、组合结构图

描述行为的:序列图、通信图、状态图、活动图、交互概述图、时间图

总则图

愿景

愿景是在老大看来,引进这个系统的目的。

愿景必须来自老大。

愿景必须指出度量的指标。

愿景描述的例子:

  • 减少采集数据所花费的时间
  • 提高制作动画的速度
  • 缩短订单的处理周期

不是愿景的描述(通常是解决方案或功能而不是愿景):

  • 建立一个CRM系统
  • 提供在线订机票功能
  • 能够进行风险评估

愿景-vs-功能

业务建模

选定愿景要改进的业务组织

组织可以是正式的也可以是非正式的。

某通信公司要做TL9000的贯标工作,需要开发一个系统来管理贯标事物,如果要做业务建模,研究对象选什么组织比较合适?——贯标工作组

要做一个帮助中小企业发布信息的网站,想通过业务建模来获取需求,如何选择适当的组织来研究?——中小企业

要做一个助威设备,让李宇春歌迷更好地支持李宇春,如何选择适当的组织来研究?——玉米

业务用例图和业务序列图

从外部看:价值的集合——业务用例图。

从内部看:系统的集合——业务序列图。

业务执行者:在组织之外和组织交互的人群或组织。

业务工人:在组织内部和组织交互的人。

业务实体:在组织内部和组织交互的非人实体。

业务工人和业务实体可以相互取代责任。

业务用例描述的是组织为业务执行者提供哪些价值。

用活动图和序列图来详述业务用例。

  • 活动图往往只表现动作。
  • 序列图强迫思考背后的目的。

在业务序列图中

  • 消息的名字——责任和目的。A请求B做某事。
业务序列图-消息的名字
  • 消息的方向——责任委托,不是数据流动。
业务序列图-消息的方向

业务流程的改进点

  • 改善信息流转
  • 封装复杂的逻辑

阿布思考法:先不考虑资源的限制,得出完美方案。然后根据现有资源去模仿山寨。

需求

系统用例图

系统执行者

  • 在系统外,与系统作有意义交互的系统
  • 代表了功能需求
  • 与重要无关

什么时候Windows算执行者?调用驱动程序的时候。

特别的外系统:时间

“非人”执行者会越来越多

用例的独特优势:演员与观众分开。系统执行者是演员,涉众是观众。

主执行者和辅执行者

系统执行者-主辅

用例是能卖的价值:对于ATM机,登录不是用例,取款和查询余额才是用例。

用例多大(粒度)——期望、契约、承诺

业务序列图帮助理清责任。多少个箭头就有多少个用例。

研究对象改变,用例也随之而变。

最常犯“粒度”错误:把步骤当作用例。

需求是不“复用”的,“复用”的是设计。

书写用例文档

总原则:如果涉众不能理解和验证,它就不是需求(如果删掉它,会不会有涉众的正当权益受侵害?)

同样的目标,不同的涉众利益,会有不同的过程。

用例要平衡涉众之间的利益。

涉众经常来自于当事人、上游、下游、操作对象的主人……

交互四步曲:请求、验证、改变、回应。

用例书写应该可理解可验证(说人话)

  • 错:系统建立连接,打开连接,执行SQL语句,从“零件”表查询……
  • 对:系统按照查询条件搜索零件

什么时候需求里可以出现SQL字样?做DB工具的时候;老大要求实现的手段的时候。

书写的时候主语只能是执行者或系统。

书写的时候不要涉及界面组件。像这些是不对的:会员从下拉框中选择类别;会员在相应的文本框中输入查询条件,会员点击确定按钮。在写路径步骤的时候,要问一下自己“不这样行吗”?

补充约束可以直接放在用例中,也可以单独集中到另外的文档,从用例文档指向。

  • 字段列表
  • 业务规则
  • 非功能需求:可用性、可靠性、性能、可支持性
  • 设计约束

识别用例的关系

  • 扩展:分离扩展路径。扩展路径是一定会必须执行的。通常是一个用例有多个扩展路径。

  • 包含:提供公共步骤集合,便于复用。被包含的步骤不一定被执行。通常是多个用例包含一个可以复用的步骤

  • 泛化:统一业务目的的不同技术实现

参考

潘加宇老师的讲义

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Back to Top