软件开发问题框架:现实世界问题的结构化分析

软件开发问题框架:现实世界问题的结构化分析
作 者: Michael Jackson 金芝 金芝
出版社: 机械工业出版社
丛编项: 软件工程技术丛书 分析系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Michael Jackson,在软件开发界拥有40多年的从业经验,他创建了系统开发的JSD方法和程序设计的JSP方法。他因在这一领域的贡献获得了荣誉博士学位、Stevens奖、IEE成就奖、英国计算机协会的Lovelace奖章和ACM SIGSOFT奖。他经常受邀在国际会议上做关于该领域的报告,并著有4本书。现在他是一名独立咨询师和AT&TResearch公司的兼职研究员。

内容简介

《软件开发问题框架》分析了许多现实世界中的实例问题,讲述了如何在实际中识别和结构化问题。既给出了大问题也给出了小问题,展现了问题类的层次性本质,并讨论了每个问题的不同方面。《软件开发问题框架》适用于系统分析、系统规格说明以及软件和需求工程领域的教师、学生和从业者,以及对软件开发的概念和智能工具感兴趣的任何人。

图书目录

译者序

前言

致谢

第1章 关注于问题

1. 1 解决方案之前的问题

1. 2 计算机和世界

1. 3 初始的问题焦点

1. 4 问题不在接口上

1. 5 描述外部世界的挑战

1. 5. 1 计算机的魅力

1. 5. 2 "系统"的两个含义

1. 5. 3 "模型"的两个含义

1. 6 无缝开发

1. 7 一些解决方案

1. 8 本书的范围

第2章 定位问题并确定问题的边界

2. 1 上下文图

2. 1. 1 物理领域

2. 1. 2 共享现象的接口

2. 2 上下文图确定问题的边界

2. 2. 1 数据库领域

2. 2. 2 医生以及周期和范围领域

2. 2. 3 ICU病人领域

2. 3 真实的问题

2. 3. 1 客户

2. 3. 2 进入外部世界要多远

2. 4 领域接口

2. 4. 1 共享现象是抽象的

2. 4. 2 连接领域

2. 4. 3 忽略连接领域

2. 4. 4 当连接领域不能忽略时

2. 5 处理较大的上下文

2. 6 机器领域

2. 6. 1 什么处于机器中

2. 6. 2 当机器是问题领域时

第3章 问题和子问题

3. 1 问题图

3. 1. 1 一个简单的问题图

3. 1. 2 另一个简单的例子

3. 1. 3 简单问题

3. 1. 4 问题分析和问题图

3. 2 现实的问题

3. 2. 1 分解

3. 2. 2 问题结构化

3. 3 子问题示例

3. 3. 1 供暖显示

3. 3. 2 输入周期和范围

3. 3. 3 会员报表

3. 3. 4 火炉操作

第4章 基本问题类和框架

4. 1 问题类

4. 1. 1 问题框架

4. 1. 2 五种基本框架

4. 1. 3 问题框架如何互不相同

4. 2 关于现象和领域

4. 2. 1 个体

4. 2. 2 关系

4. 2. 3 因果现象和符号现象

4. 2. 4 领域类型

4. 3 问题框架

4. 3. 1 需求式行为框架

4. 3. 2 命令式行为框架

4. 3. 3 信息显示框架

4. 3. 4 简单工件框架

4. 3. 5 变换框架

4. 3. 6 变换限制

第5章 框架关注点和开发描述

5. 1 框架关注点

5. 2 需求式行为框架关注点

5. 2. 1 框架关注点

5. 2. 2 三个描述

5. 2. 3 为什么一个描述不够

5. 3 命令式行为框架关注点

5. 3. 1 违抗

5. 3. 2 框架关注点

5. 3. 3 合理的命令需求

5. 3. 4 可行的命令需求

5. 3. 5 门和马达领域特性

5. 3. 6 机器规格说明

5. 4 信息显示框架关注点

5. 4. 1 框架关注点

5. 4. 2 车辆和感应器领域特性

5. 5 简单工件框架关注点

5. 5. 1 框架关注点

5. 5. 2 晚会规划领域描述

5. 5. 3 用户命令

5. 5. 4 需求

5. 5. 5 晚会规划编辑规格说明

5. 6 变换框架关注点

5. 6. 1 输入领域特性

5. 6. 2 输出领域特性

5. 6. 3 需求

5. 6. 4 遍历

5. 6. 5 框架关注点

5. 6. 6 变换机器的效率

5. 7 两点注释

5. 7. 1 问题框架和开发方法

5. 7. 2 框架失配

第6章 框架风格和开发描述

6. 1 框架和风格

6. 1. 1 领域描述的范围

6. 1. 2 领域风格

6. 2 静态风格

6. 2. 1 物理的静态领域

6. 2. 2 结构化风格

6. 3 动态风格

6. 3. 1 动态领域的宽容性

6. 3. 2 抑制

6. 3. 3 离散现象和连续现象

6. 4 控制风格

6. 4. 1 行为状态

6. 4. 2 行为领域特征

6. 5 非形式化的风格

6. 5. 1 拘泥于形式的假设

6. 5. 2 指代

6. 5. 3 定义更方便的术语

6. 6 概念风格

6. 6. 1 概念作为实体

6. 6. 2 实体和需求进程

6. 6. 3 标记进程

第7章 模型领域和现实世界

7. 1 信息问题

7. 2 第一个例子

7. 2. 1 问题

7. 2. 2 从变量到模型

7. 2. 3 关于作为模型

7. 2. 4 更多的变量

7. 3 引入一个模型领域

7. 3. 1 模型和现实世界

7. 3. 2 现实世界领域特性

7. 3. 3 设计模型

7. 3. 4 维护和使用模型

7. 4 另一个模型例子

7. 4. 1 问题

7. 4. 2 一个不带模型的版本

7. 4. 3 一个更难的版本

7. 4. 4 一个朴素的线路模型

7. 4. 5 一个更实际的模型

7. 5 模型中的控制和定义

7. 5. 1 C3引起C1

7. 5. 2 C3根据C1来定义

7. 5. 3 C1引起C3

7. 6 一些模型关注点

第8章 变体框架

8. 1 框架和变体

8. 2 描述变体

8. 2. 1 问题图

8. 2. 2 描述领域

8. 2. 3 变换问题描述变体

8. 2. 4 信息问题描述变体

8. 3 操作者变体

8. 3. 1 信息问题操作者变体

8. 3. 2 命令式信息需求

8. 3. 3 组合基本框架和变体框架

8. 3. 4 修改默认行为

8. 3. 5 重载默认行为

8. 4 连接变体

8. 4. 1 带连接领域的需求式行为框架

8. 4. 2 因果远程领域

8. 4. 3 领域特性描述

8. 4. 4 组合变体

8. 4. 5 可叫牌远程领域和连接领域

8. 4. 6 作为连接领域的文档

8. 5 控制变体

8. 5. 1 一个变换问题

8. 5. 2 其他控制变体

第9章 特定的关注点

9. 1 框架关注点及其他

9. 2 溢出关注点

9. 2. 1 当机器太快了

9. 2. 2 针对溢出的策略

9. 3 初始化关注点

9. 3. 1 机器和外部世界的初始化

9. 3. 2 初始化和描述的跨度

9. 3. 3 操作指令和领域描述

9. 3. 4 通过机器的初始化

9. 3. 5 信息问题中的初始化

9. 4 可靠性关注点

9. 4. 1 评估可靠性关注点

9. 4. 2 分离可靠性关注点

9. 4. 3 通过分解解决可靠性

9. 4. 4 信息问题中的可靠性

9. 4. 5 诊断的困难

9. 5 身份关注点

9. 5. 1 身份关注点中的接口

9. 5. 2 一个身份模型

9. 5. 3 模型创建和维护

9. 6 完整性关注点

9. 6. 1 一种形式的完整性

9. 6. 2 描述的跨度

9. 6. 3 两个启发式

9. 6. 4 避免死锁

9. 6. 5 一般的观察

第10章 再论分解

10. 1 引言

10. 2 包路由器问题1

10. 2. 1 一个简单的分解

10. 2. 2 框架关注点

10. 3 包路由器问题2

10. 3. 1 静态模型中的预计算

10. 3. 2 身份关注点

10. 3. 3 一些可能的自动机

10. 3. 4 可靠性

10. 3. 5 初始化

10. 3. 6 完整性

10. 4 分解启发式

10. 4. 1 简单的启发式

10. 4. 2 不同的节奏

10. 4. 3 多于两种语气

10. 4. 4 复杂领域或需求

10. 4. 5 为用户或操作者建模

第11章 组合框架

11. 1 引言

11. 2 组合问题

11. 2. 1 公共领域

11. 2. 2 一个非交互的组合

11. 2. 3 共享显示领域

11. 2. 4 命令式行为和需求式行为

11. 2. 5 创建和使用词法领域

11. 3 组合关注点

11. 3. 1 可通约的描述

11. 3. 2 一致性

11. 3. 3 优先级

11. 3. 4 干扰

11. 3. 5 同步

第12章 增长式软件开发

12. 1 软件开发的不成熟性

12. 1. 1 软件质量

12. 1. 2 灵丹妙药综合症

12. 1. 3 成熟和熟练

12. 2 开发失败的风险

12. 3 浅层需求

12. 4 非功能需求

12. 5 外行的做法

12. 6 陷入复杂性中

12. 7 集中注意力

12. 8 合理看待问题框架

12. 8. 1 不是灵丹妙药

12. 8. 2 寻找更多的框架

12. 8. 3 从经验中学习

附录 表示法

术语表

参考文献