《面向对象的系统分析与设计 UML版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Robert V.Stumpf,(美)Lavette C.Teague著;梁金昆译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302113114
  • 页数:407 页
图书介绍:本书用UML描述了系统分析与设计的建模和结构化。

第一部分 信息系统开发导论 3

第1章 导论 3

1.1 成功处理复杂性 3

目录 3

1.2 系统是什么 4

1.2.1 系统结构 5

1.2.2 系统的层次结构 8

1.2.3 系统边界 9

1.3 建模与表示 10

1.3.1 系统模型的必要性 10

1.3.2 优秀模型的特征 10

1.3.3 表示 11

1.3.4 符号 12

1.3.5 生成系统模型 12

1.4 信息系统的各项功能 13

1.4.1 通信 13

1.3.6 分析与综合:互补的方法 13

1.3.7 系统模型的限制 13

1.4.2 存储 14

1.4.3 转换 14

1.5 信息处理系统 14

1.6 描述计算机信息系统 15

1.6.1 手动和自动系统 15

1.6.2 重点内容 16

1.6.3 系统的基本描述与实现描述 16

1.7 商业计算机信息系统 17

1.7.1 用系统观点看待业务 18

1.7.2 信息:业务运作和管理的关键 20

1.7.3 解决问题与制定决策 20

1.7.4 战略信息系统 21

小结 22

关键术语 23

复习题 23

练习与讨论题 24

第2章 信息系统的开发过程 28

2.1 软件开发的RUP——概览 29

2.2 RUP的核心措施 31

2.2.1 业务建模(组织的再观察和再工程) 31

2.2.2 需求(定义用户需求) 31

2.2.3 设计(设计系统) 33

2.2.6 部署(将软件集成至用户组织中) 34

2.2.7 配置与变更管理(管理演化中的系统的工件) 34

2.2.8 项目管理(管理开发过程) 34

2.2.5 测试(开发并施行系统测试) 34

2.2.4 实现(编写软件) 34

2.2.9 环境(利用各种过程和工具来支持开发过程) 35

2.3 RUP的各个阶段 36

2.3.1 初始阶段(制作业务案例) 36

2.3.2 细化阶段(定义系统体系结构) 38

2.3.3 构造阶段(构造系统) 39

2.3.4 交付(与用户组织的集成) 39

2.4 九项措施对各阶段的贡献 42

2.5 迭代式、增量式的系统开发 42

时间定量化 43

2.6 系统分析与设计的参与方 43

2.6.1 用户的类型 45

2.6.2 用户的角色、功能和职责 46

2.6.3 分析人员的角色、功能和职责 47

2.6.4 用户和分析人员在设计期间的角色 48

2.6.6 设计人员的角色、功能和职责 49

2.6.5 用户与分析人员——协同作用 49

2.6.7 程序员的角色、功能和职责 50

2.6.8 质量保证人员的角色、功能和职责 51

2.7 系统变更的引入 51

2.8 可行性 52

2.8.1 需解决的问题 52

2.8.2 可行性的分类 53

2.8.3 经济可行性分析 54

2.8.4 计算经济可行性 54

2.8.5 假设与敏感度分析 57

2.8.6 估算可行性分析 57

小结 58

关键术语 59

复习题 60

练习和讨论题 60

3.2 系统分析的目的 64

3.1 确定用户需求 64

第二部分 面向对象系统分析 64

第3章 系统分析:业务事件分析 64

3.2.1 主要目的 65

3.2.2 次要目的 65

3.3 系统需求陈述的特征 66

3.4 系统分析过程 66

3.4.1 分析过程的特征 66

3.4.2 系统分析与统一过程 67

3.5 面向对象系统分析过程 67

3.6 面向对象分析:过程中的模型 67

统一建模语言 68

3.7 面向对象分析技术 69

3.8 面向对象系统的事件分析 69

3.9.2 识别事件 70

3.9 事件分析中的概念与定义 70

3.9.1 事件 70

3.10 业务事件分析 71

3.10.1 事件流 72

3.10.2 数据流 72

3.11 描述业务事件 73

3.11.1 描述定时业务事件 73

3.11.2 描述外部业务事件 74

3.12 确定参与者 74

3.13 确定系统的输入和输出 74

3.14 事件分析示例 75

3.14.1 背景:公立大学注册系统 75

3.14.2 公立大学注册系统的事件模型 75

3.15.1 建立基本事件模型——忽略实现技术 77

3.15.2 对系统的完整响应建模 77

3.15 事件分析提示 77

3.15.3 隔离各个单独事件 78

小结 78

关键术语 79

复习题 79

练习和讨论题 79

案例研究 81

第4章 基本用例与系统时序图 88

4.1 统一建模语言(UML) 88

4.2 继续面向对象的分析过程 89

步骤2、3和4的概述 89

4.3 面向对象系统的用例 90

4.3.1 用例 90

4.3.2 事件和用例 90

4.3.3 标识参与者 91

4.4.1 用例图 92

4.4 用例模型 92

4.3.5 参与者类型 92

4.3.4 公立大学注册系统中的参与者 92

4.4.2 标识系统边界 94

4.4.3 时序和内部事件的发起者 95

4.4.4 将用例打包到系统或子系统中 95

4.5 用例描述 96

4.5.1 高级用例叙述 97

4.5.2 扩展用例叙述 97

4.5.3 指示用例叙述中的例外、可选项以及错误处理 100

4.5.4 用例间的关联 101

4.5.5 用例场景 105

4.5.6 评估用例叙述的质量 105

4.5.7 用例模型的缺点 106

4.6 为公立大学系统完成用例叙述 106

4.7 系统时序图 107

4.8 定义系统输入和输出 110

4.8.1 指定传入消息(系统输入)的结构 110

4.8.2 指定传入消息(系统输入)的内容 111

4.8.3 指定传出消息(系统输出) 112

4.9 系统输入和系统操作 114

4.10 创建系统时序图 114

小结 114

关键术语 115

复习题 115

练习和讨论题 116

案例研究 117

第5章 域模型与系统操作约定 119

5.1 域模型 119

5.2 概念 120

5.2.1 发现概念 121

5.2.2 在域模型中包含概念的准则 122

5.3 属性 123

5.3.1 概念、属性与值 123

5.3.2 发现属性 124

5.3.3 在域模型中包含属性的准则 125

5.4 关联 125

5.4.1 多样性 127

5.4.2 发现关联 129

5.4.3 在域模型中包含关联的准则 129

5.4.4 总体—部分关联 130

5.4.5 总体—部分关联的分类 131

5.5 一般到特殊的层次结构 132

5.6 一般化对比聚合 134

5.8.1 事件1:各系提交班级计划(用例:提交各系班级计划) 135

5.8 公立大学注册系统的域模型 135

5.7 关联概念 135

5.8.2 事件2:到生成大学班级计划的时间了(用例:生成大学班级计划) 136

5.8.3 事件3:学生注册班级(用例:注册班级) 136

5.8.4 事件4:生成大学班级花名册(用例:生成班级花名册) 136

5.9 检验域模型 137

5.10 约定 138

5.10.1 系统操作和系统操作约定 138

5.10.2 创建系统操作约定 139

小结 140

关键术语 141

复习题 142

练习和讨论题 142

案例研究 143

第三部分 面向对象的系统设计 146

第6章 系统设计导论 146

6.1.1 设计是什么 147

6.1 设计的原理和环境 147

6.1.2 设计的一个定义——过程和产品 150

6.1.3 为什么进行设计 150

6.1.4 设计的目标 152

6.1.5 优秀设计的重点 153

6.1.6 设计方法 153

6.1.7 设计阶段 154

6.1.8 生成设计解决方案的策略 155

6.1.9 简化设计决策的策略 156

6.1.10 对设计进行评价的策略 157

6.1.11 设计的权衡 158

6.1.12 权衡设计的框架 159

6.1.13 停止寻找不同方案的策略 159

6.1.15 将模式作为一种设计技术 160

6.1.14 修正后的一般设计方法 160

6.1.16 设计和美学 161

6.2 建模与表示 161

6.2.1 模型的目的和使用 162

6.2.2 建模技术 162

6.2.3 评价模型 163

小结 164

关键术语 165

复习题 165

练习和讨论题 166

第7章 信息系统设计 168

7.1 面向对象的系统——简史 168

7.2 系统设计与系统开发过程的关系 169

7.2.1 Rational统一过程 169

7.3 系统设计的参与方 171

7.3.1 设计人员的角色和功能 171

7.2.3 设计活动 171

7.2.2 系统设计的范围 171

7.3.2 用户和分析人员在设计期间的角色 172

7.3.3 程序员在设计期间的角色 172

7.4 分析到设计的迁移 172

7.4.1 面向对象分析到面向对象设计的迁移 173

7.4.2 回顾:设计人员如何观察分析 173

7.4.3 迁移中的技术关注点与管理关注点 174

7.5 计算机信息系统设计 175

7.5.1 计算机信息系统设计的目标 176

7.5.2 系统设计规范 176

7.6 信息系统及其结构 177

7.6.1 系统类型及其特征 177

7.6.2 批处理系统、交互式系统与实时系统 178

7.6.3 分层的系统体系结构——三层模型 180

7.7.2 真实信息处理系统的技术 181

7.7.1 广义的硬件组件:处理器、渠道和容器 181

7.7 信息处理系统的基本技术 181

7.8 分布式系统 183

7.8.1 客户/服务器系统 183

7.8.2 通信网络 183

7.8.3 远程通信软件 185

7.9 系统实现的其他组件 185

7.9.1 应用软件 185

7.9.2 系统软件环境 186

7.9.3 数据库环境 187

7.9.4 用户界面 187

7.10 系统开发中的设计活动 188

设计与系统环境和测试的关系 190

7.11 设计系统结构 191

7.11.1 设计整体系统结构 192

7.11.2 进一步划分系统(可选) 194

7.13.1 定义候选系统结构 196

7.12 设计用户界面和数据库 196

7.13 公共大学——系统候选方案 196

7.13.2 将系统划分成批处理部分和联机部分 198

小结 199

关键术语 201

复习题 201

练习和讨论题 201

案例研究 203

第8章 程序设计——交互图 204

8.1 基本概念:对象、类和消息 204

8.1.1 对象 205

8.1.2 类 205

8.1.3 消息 206

8.2.1 职责 208

8.2.2 方法和操作 208

8.2 面向对象程序设计 208

8.3 面向对象分析和设计的模型 209

8.4 面向对象软件设计模式 210

8.4.1 Facade模式 211

8.4.2 创建者模式 211

8.4.3 专家模式 211

8.4.4 Singleton模式 211

8.5 面向对象程序设计模型 211

8.5.1 交互图 212

8.5.2 设计类图 213

8.6 面向对象程序设计过程 213

8.6.1 第1步:为每个在分析过程中确定的系统操作生成交互图 213

8.6.2 第2步:生成表示交互图中操作的设计类图 214

8.6.3 第3步:为每项操作规定签名和算法 214

8.6.7 第7步:将类放置到包中 215

8.6.6 第6步:为存储层定义接口 215

8.6.5 第5步:为表示层定义接口 215

8.6.4 第4步:设计图形用户界面4 215

8.7 协作图 216

8.8 创建协作图 217

8.9 公立大学:面向对象程序设计 218

8.10 应用层中对象的交互图 218

8.10.1 第1步:Submit Department Class Schedule用例的协作图 218

8.10.2 enterDepartmentClassSchedule的协作图 219

8.10.3 enterSection的协作图 223

8.10.4 enterSectionEntries的协作图 227

8.10.5 第1步:学生注册班级事件的协作图 228

8.10.6 enterStudentIdentifier的协作图 228

8.10.7 requestSection的协作图 231

8.10.8 endSectionRequests的协作图 233

8.11 创建设计顺序图 234

小结 235

关键术语 237

复习题 238

练习和讨论题 238

案例研究 240

第9章 程序设计——设计类图 241

9.1 设计类图的组件 241

9.1.1 类、属性和操作 241

9.1.2 关联与限定关联 241

9.1.3 可见性 242

9.2 创建设计类图 244

9.2.1 步骤2.1:确定类及其行为 244

9.2.2 步骤2.2:向类图中添加继承 245

9.2.3 步骤2.3:向类图中添加关联 246

9.2.4 步骤2.4:创建一个带有限定关联的最终类图 246

9.3.1 步骤2.1:确定类及其行为 247

9.3 创建设计类图——公立大学注册系统 247

9.3.2 步骤2.2:向类图中添加继承 249

9.3.3 步骤2.3:向类图中添加关联 249

9.3.4 步骤2.4:创建一个带有限定关联的最终类图 252

9.4 评估面向对象设计的质量 254

9.4.1 内聚 254

9.4.2 耦合 254

9.4.3 Demeter法则 255

9.5 指定签名、对象与数据类型 257

9.5.1 定义 257

9.5.2 选择数据类型 258

9.5.3 指定属性和操作 259

9.6 公立大学注册系统的签名 261

9.7 错误诊断与报告 265

小结 266

复习题 267

关键术语 267

练习和讨论题 268

案例研究 268

第10章 设计数据库接口 270

10.1 持久对象的需要 271

10.1.1 系统持久性 271

10.1.2 系统关闭 272

10.2 数据库与数据库管理系统数据库结构 272

10.3 建立数据库的接口 273

10.3.1 对象和关联上的操作 273

10.3.2 系统启动过程中需要的操作 274

10.3.3 系统关闭过程中需要的操作 274

10.3.4 由于系统崩溃所需要的操作 274

10.3.5 接口设计问题 275

从对象模型中提取数据库需求 277

10.4 定义支持持久性的数据库 277

10.5 定义关系型数据库表 279

10.6 再次讨论公立大学系统候选方案 283

10.6.1 将系统划分为批量和在线部分 283

10.6.2 将批处理部分划分为作业 285

10.6.3 划分数据库 285

10.6.4 选择最佳的系统结构 285

小结 285

关键术语 287

复习题 287

练习和讨论题 288

案例研究 289

第11章 设计用户界面——设计原则 290

11.1 用户界面简史 291

11.2 交互式系统 291

11.2.1 交互式系统的一般性描述 292

11.2.2 基本交互模式 293

11.3 理解用户 293

11.3.1 用户的特征 294

11.3.2 生物工程学的重要性 295

11.3.3 评估用户界面时的人力因素 296

11.4 理解硬件 296

11.4.1 输入设备 296

11.4.2 输出设备 298

11.5 理解软件 299

11.6 交互风格 299

11.6.1 直接操纵 300

11.6.2 菜单选择 301

11.6.3 填写表单 301

11.6.4 命令语言 301

11.7.1 语义:含义 302

11.6.5 自然语言 302

11.7 与计算机的交流:语言的类比 302

11.7.2 语法:形式 303

11.7.3 基元 303

11.8 交互的设计步骤 303

11.8.1 设计用户模型(概念性设计) 304

11.8.2 设计界面功能(语义设计) 304

11.8.3 设计对话序列(句法设计) 304

11.8.4 设计硬件绑定 305

11.8.5 定义会话协议 305

11.8.6 设计用户环境 305

11.9 交互设计的方针 305

11.9.1 简单而一致的交互序列 306

11.9.2 明确展现恰当的选项 306

11.9.3 向用户提供恰当的反馈 306

11.10 组织报表和交互式显示 307

11.9.4 允许用户优雅地恢复错误 307

11.9.5 帮助用户学习系统 307

11.11 用户界面中的窗口 308

11.11.1 窗口的类型 308

11.11.2 报表和显示屏的组件 310

11.11.3 交互显示屏中窗口的组件 311

11.11.4 报表和显示屏设计的约束 313

11.12 用网页作为用户界面 315

11.13 视觉设计原则 315

11.13.1 视觉组织的Gestalt原则 315

11.13.2 视觉结构与数据结构的对应 317

11.13.3 布局和任务绩效 318

11.14 复杂性的度量 318

11.15.1 颜色是什么 320

11.15.2 彩色显示器的缺点 320

11.15 颜色的运用 320

11.15.3 在显示设备上高效运用颜色的方针23 321

11.15.4 颜色选择建议 323

小结 323

关键术语 325

复习题 325

练习和讨论题 326

案例研究 329

第12章 设计用户界面——设计表示层 330

12.1 人机对话模型的需求 331

12.1.1 一般需求 331

12.1.2 建模的特征 331

12.2 状态转换图 332

12.2.1 一个状态转换图示例 333

12.2.3 状态转换图的约定 334

12.2.2 状态转换图的组件 334

12.2.4 分解状态转换图 335

12.3 利用状态转换图建模人机对话 336

12.3.1 问题与解答 336

12.3.2 与自动柜员机的对话 336

12.3.3 窗口导航图 342

12.4 模拟 344

12.5 确定图形用户界面的设计 344

12.6 测试用户界面设计 345

12.6.1 评估准则 345

12.6.2 可用性测试 345

12.7 设计面向表示层的界面 346

12.7.1 “模型—视图分离”模式 346

12.7.2 “模型—视图分离”的优势 347

12.7.3 公立大学注册系统中的“模型—视图分离”——示例 347

关键术语 348

小结 348

练习和讨论题 349

案例研究 351

第四部分 支持面向对象的分析与设计过程 354

第13章 信息的收集、管理与报送 354

13.1 信息的收集 354

13.1.1 收集哪些信息 355

13.1.2 信息来源 355

13.1.3 信息收集的方法和技术 355

13.1.4 联合应用开发(JAD) 358

13.1.5 信息的评估 360

13.2 信息的管理 361

13.2.1 信息管理的手动方法 361

13.3.1 交流模式 362

13.3 信息的报送 362

13.2.2 信息管理的自动化辅助 362

13.3.2 交流的原则 363

小结 365

关键术语 366

复习题和讨论题 366

第14章 管理面向对象的系统开发 368

14.1 软件开发项目为什么会失败 369

14.2 项目管理的目标 369

14.3 风险分析 370

14.3.1 与用户相关的风险 370

14.3.2 与开发团队相关的风险 370

14.3.3 与项目本身相关的风险 371

14.4 管理用户经验 371

14.5 项目策略 371

14.6.1 网络规划模型 372

14.6 项目的规划与调度 372

14.6.2 甘特图 375

14.7 面向对象系统开发的项目管理 375

14.7.1 对象技术如何支撑着软件开发中的最佳实践 376

14.7.2 UP中的项目规划 377

14.7.3 UP中与管理相关的措施 377

14.8 项目的评估、度量与控制 378

14.8.1 评估者的角色和职责 379

14.8.2 项目团队的角色和职责 379

14.9 对象的重用 379

14.9.1 对象类的领域 380

14.9.2 获得可重用的对象 380

14.10 原型化 380

14.10.2 原型的类型 381

14.10.3 分析期间为什么要原型化? 381

14.10.1 什么是原型化? 381

14.10.4 被原型化的需求如何影响着设计 382

14.10.5 设计期间为什么要原型? 382

14.10.6 原型化策略 383

14.10.7 原型化工具 383

14.10.8 原型化的缺陷 384

14.10.9 最后建议 385

14.11 定制软件开发的候选方案 386

14.11.1 打包软件 386

14.11.2 可定制或可配置的软件 387

小结 387

关键术语 388

复习题 388

练习和讨论题 389

附录 UML符号与面向对象分析工件 391

术语表 397