需求分析(课堂PPT)
§3.1 问题框定
软件需求分析
马的遍历:马 开始于棋盘的中央 如图3-1所示。问题 是找到一系列的移 动步骤,使马走完 每个方框,而落入 任何一个方框仅一 次。
图3-1 马的遍历
2021/2/24
计算机与信息工程学院 赵黎强
5
天津城建大学
§3.1 问题框定
软件需求分析
书写软件需求最重要的步骤是框定问题:把问 题的特定部分,以及部分间特定的关系,放入一个特 定的形式中。问题框定方法应该使问题的细节(不管 如何复杂)适合一个简单连贯的框架,以便使人们能 够系统地分析他们而不会被问题所压倒。
2021/2/24
计算机与信息工程学院 赵黎强
15
天津城建大学
§ 3.1.1 域
软件需求分析
例子:为一个公共汽车从一地到另一地计 算路程编写需求。我们感兴趣的提议是什么?
2021/2/24
计算机与信息工程学院 赵黎强
16
天津城建大学
软件需求分析
§ 3.1.2 共享现象
分解成域是框定问题最重要的技巧。我们分解域有 两个主要原因。
2021/2/24
计算机与信息工程学院 赵黎强
14
天津城建大学
§ 3.1.1 域
软件需求分析
有关如何选择“什么去调用一个个体”和 “什么去调用一个断言”往往依赖于你感兴趣 断言和询问什么。并不是说每一个物理对象一 定是个体,而无形的东西像名称和号码等一定 是断言。唯一的规则是无论域的哪个部分都不 可能立刻成为两个个体,而且你必须已经知道 所有你想对个体下的断言。
2021/2/24
计算机与信息工程学院 赵黎强
13
天津城建大学
§ 3.1.1 域
软件需求分析
提议:断言和细节,即确定的实体拥有确定的属性或相 互之间具有的特定关系。提议来自于理解的表3-1中所 描述的信息。
属性和关系可以识别一个个体来为自己产生一个提 议,或者他们可以为断言这些个体进行服务。
一般软件项目,要知道的全部东西是描述每个域中 的东西,根据这些描述,必须解释全部词汇以及根据词 汇框定你的所有描述。
LOGO
第3章 需求确定
1
天津城建大学
教学目的及要求
软件需求分析
✓ 了解问题框定和问题框架的概念; ✓ 深刻理解域的概念建立和框架图的画法; ✓ 熟练掌握5个问题框架和多框架问题。
2021/2/24
计算机与信息工程学院 赵黎强
2
天津城建大学
教学内容
§ 3.1 问题框定 § 3.2 五个问题框架 § 3.3 多问题框架
4 15
12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
18
25
14
图3-2 马的遍历,重构
2021/2/24
计算机与信息工程学院 赵黎强
7
天津城建大学
§ 3.1.1 域
软件需求分析
问题域
取货
机器域
数据库方案
送货到目的地
接口
第一,如果我们明智地选择个体和断言,可以限制我们 所关注的范围。
第二,我们可以讨论贯穿于两个域中的因果关系,或域 之间的其他关系,为了使一个域能够实现一定的效果或 能够与其他域交流信息,它必须与其他域有重叠部分。
机器域包含一组不同的断言:一个子例程占据一定 的内存位置,一个子例程调用另一个等等。
2021/2/24
计算机与信息工程学院 赵黎强
10
天津城建大学
§ 3.1.1 域
软件需求分析
域也就是一组个体以及伴随它们的断言。个体不是 现在或过去已存在的个体;它们是软件必须能够应付的 潜在的个体。例如在卡车这个实例中,所有潜在的客户 是问题域的一部分。
表3-1 域信息 信息类型
域中存在的实体种类——例如:人、车、音乐作品、燃料、道路名称等 实体具有的属性种类——例如:颜色、状态、支付日期、账户上有多少钱等 实体之间的关系——例如:司机拥有一辆汽车、诉讼中的拉辨双方等 域中发生的事件类型——例如:轿车可以被卖掉、滚筒可以传动等 实体行为所遵循的因果法则——例如:当切仅当I/O端口0xf00的bit7为高时, 伺服电机 A启动,当伺服电机A启动时,滚筒RJ顺时钟传动
机器域中的个体是所有的子程序和数据结构,它们 组成了机器的程序,以及机器的输入/输出。
注意:个体的唯一准则是你总能区分每个个体——没有
一个个体同时是另一个个体。
2021/2/24
计算机与信息工程学院 赵黎强
9
天津城建大学
§ 3.1.1 域
软件需求分析
在每个域中也包含我们想讨论这些个体的每件事情, 想肯定或者否定一个或多个个体的每一件事,叫做断言。
2021/2/24
计算机与信息工程学院 赵黎强
12
天津城建大学
§ 3.1.1 域
软件需求分析
当框定问题时,你不需要知道哪个事件将 要发生,但必须知道事件所拥有的所有可能属 性以及它们之间重要的关系。一个事件的属性 就是参与在事件中的实体;或事件可能发生的 时间和继续的时间;所为事件间的关系就是之 前或之后这样的事情。
在马的遍历中,方块上的数字是潜在的压倒性细
节。虽然框架中包含了链图所有信息,让我们了解方
框与方框之间有一个适当的关系。如图3-2所示。
2021/2/24
计算机与信息工程学院 赵黎强
6
天津城建大学
§3.1 问题框定
软件需求分析
12
1
8
11 22 19 10
3
2
6
21
9
13
17
5
20
24
23 16 7
软件需求分析
2021/2/24
计算机与信息工程学院 赵黎强
3
天津城建大学
软件需求分析
§3.1 问题框定
§ 3.1.1 域 § 3.1.2 共享现象 § 3.1.3 连接域 § 3.1.4 现实域 § 3.1.5 框架图 § 3.1.6 从图到文档
2021/2/24
计算机与信息工程学院 赵黎强
4
天津城建大学
当定义一个域时,我们不需要知道域中现在或将来 要包含的所有实际个体;但我们要详细指ห้องสมุดไป่ตู้将要用于他 们的所有断言。
2021/2/24
计算机与信息工程学院 赵黎强
11
天津城建大学
§ 3.1.1 域
软件需求分析
域描述通常占据需求文档的大部分篇幅,甚至比需求列表还要多。为了解 域来设计和实现软件,必须根据问题类型提供一个或更多表3-1的需求列表。
需求
2021/2/24
打印报表
规格说明书 图3-3 分解成域 计算机与信息工程学院 赵黎强
子程序 程序
8
天津城建大学
§ 3.1.1 域
软件需求分析
从图中我们可以看出,每个域包含一组个体即我们 想要陈述的显著事情。
问题域的个体就是:卡车、城市、货物、司机、客 户和用户等等——客观世界的物理实体。用来定义需求。