《系统分析之路》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘寅虓编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2005
  • ISBN:7121011379
  • 页数:516 页
图书介绍:系统分析设计工作是软件开发组织开发优秀软件系统的重要的工作,需要拥有很强的理论基础和实际工作经验的人来做。本书即是结合笔者的工作实践和多年的研究,讲解系统分析设计的过程、思想和相关的理论、方法,以及操作方式。所有的理论和方法都进行了细致的解释,力求帮助读者正确理解,在头脑中建立良好的知识体系结构,而不仅仅是知道理论和方法。

绪言 1

本书的内容 1

本书如何使用 6

了解系统分析员 7

第1章 系统分析设计思想概述 29

1.1 软件分析方法的产生和发展 29

1.2 软件系统分析设计方法的基本概念 31

1.2.1 算法 32

1.2.2 数据结构 33

1.2.3 小结 38

1.3 系统分析的实现过程 38

1.3.1 信息处理的一般模式 39

1.3.2 信息处理的实际模式 41

1.4 系统分析和设计方法的内容和结构 41

1.4.1 系统分析和设计方法的内容 41

1.4.2 系统分析和设计方法的结构 44

1.4.3 系统分析和设计方法的学习方法 45

1.5 系统分析方法的比较 45

1.5.1 结构化程序设计(SA) 47

1.5.2 面向对象(OO) 48

1.5.3 泛型(GP) 48

1.5.4 以组件为基础的设计(CBD) 49

1.5.5 面向规则(RO) 50

1.5.6 面向数据组织(DO) 51

1.5.7 面向主题(面向数据应用) 51

1.5.8 面向服务(SO) 52

1.6 本章小结 53

第2章 基于变换:结构化设计和面向数据的设计 55

2.1 软件的结构化分析设计 55

2.1.1 结构化程序 56

2.1.2 结构化定理 56

2.1.3 结构化系统分析设计过程——自顶向下逐步求精 59

2.1.5 数据字典 61

2.1.4 面向数据流的设计方法 61

2.1.6 模块与模块化 63

2.2 面向数据的分析与设计 65

2.2.1 典型的基于数据的应用系统 66

2.2.2 面向数据设计的核心问题 69

2.2.3 其他可能的问题 75

2.3 本章小结 81

第3章 基于分解:面向对象的机制与思想 83

3.1 面向对象思想概述 84

3.1.1 OO思想的本质是什么 85

3.1.2 面向对象系统对其思想的支持机制 86

3.1.3 OO的支持机制的实现 87

31.4 OO的好处和如何发挥这些优势 88

3.2 什么是对象 89

3.2.1 对象概念的引入 89

3.2.2 对象的静态结构 93

3.2.4 对象的时间结构(生命周期) 94

3.2.3 对象的空间结构 94

3.2.5 对象的环境 95

3.2.6 面向对象的系统分析和设计方法的目标 95

3.2.7 对象的实际生存环境和实现方式 96

3.2.8 小结 96

3.3 类 96

3.3.1 类的结构(静态结构) 96

3.3.2 类的机制 98

3.3.3 类之间的相互关系 110

3.3.4 接口 119

3.3.5 异常 122

3.3.6 RTTI和反射 125

3.3.7 包 126

3.3.8 组件和控件 127

3.3.9 CBD设计开发 130

3.3.10 消息(事件) 131

3.4.1 信息持久化的数据库方式 132

3.4 对象持久化 132

3.4.2 信息持久化的XML方式 160

3.5 本章小结 165

第4章 UML的概念和使用 167

4.1 UML概述 167

4.1.1 UML是什么 168

4.1.2 产生背景 168

4.1.3 好处和使用方法 169

4.1.4 UML工具介绍和使用方式 171

4.1.5 什么人使用UML 173

4.1.6 UML的总体架构 173

4.1.7 UML的图和视图 174

4.1.8 UML图的关系和由来 177

4.1.9 UML的使用方式 178

4.2 用例图 179

4.2.1 用例和行为者的概念 180

4.2.3 用例的提取 182

4.2.2 行为者的确定 182

4.2.4 用例图 184

4.2.5 用例总结 185

4.2.6 实例 186

4.3 类图和对象图 192

4.3.1 基本标识 192

4.3.2 使用UML工具刻画类的结构 194

4.3.3 类之间的关系 195

4.3.4 包图 205

4.3.5 类图的作用 206

4.3.6 实例 207

4.4 顺序图 212

4.4.1 基本标识 212

4.4.2 作用 215

4.4.3 实例 215

4.5.1 基本标识 224

4.5 协作图 224

4.5.2 使用 227

4.6 状态图 227

4.6.1 主要标识符 228

4.6.2 实例 231

4.7 活动图 234

4.7.1 主要标识 235

4.7.2 实例 236

4.8 组件图 237

4.8.1 基本标识 237

4.8.2 组件图的作用 239

4.8.3 实例 239

4.9 物理图 240

4.9.1 基本标识 240

4.9.2 实例 242

4.10 UML2.0简介 243

4.11 本章小结 244

第5章 设计求精和设计模式 245

5.1 概述 246

5.1.1 使用面向对象思想的目标和设计模式 246

5.1.2 设计模式的概念 247

5.1.3 设计模式的原则 248

5.1.4 模式的运用 250

5.1.5 小结 251

5.2 创建型模式 251

5.2.1 抽象工厂(AbstractFactory) 252

5.2.2 生成器(Builder) 255

5.2.3 工厂方法(Factory Method) 256

5.2.4 原型(ProtoType) 258

5.2.5 单子(Singleton) 260

5.3 结构型模式 262

5.3.1 适配器(Adapter) 262

5.3.2 桥接(Bridge) 263

5.3.3 装饰(Decorator) 265

5.3.4 组合(Composite) 267

5.3.5 外观(Facade) 269

5.3.6 享元(FlyWeight) 270

5.3.7 代理(Proxy) 273

5.4 行为型模式 275

5.4.1 职责链(Chain OfResponsibility) 275

5.4.2 命令(Command) 276

5.4.3 解释器(InterPreter) 279

5.4.4 迭代器(Iterator) 280

5.4.5 中介者(Mediator) 281

5.4.6 备忘录(Memento) 283

5.4.7 状态(State) 284

5.4.8 观察者(Observer) 286

5.4.9 策略(Strategy) 289

5.4.10 访问者(Visitor) 291

5.4.11 模板(Template Method) 294

5.5 OO的其他开发模式与技巧 295

5.5.1 设计模式的提取 295

5.5.2 软件环境分析 296

5.5.3 Environment类 297

5.5.4 接口、抽象类、类的完整实现层次 298

5.5.5 RAD开发设计范式 298

5.6 模式的使用 303

5.6.1 模式使用的代价 303

5.6.2 逆模式化 306

5.7 本章小结 307

第6章 系统架构和系统模型 309

6.1 什么是系统架构、设计模型 310

6.1.1 设计模型是使用特定的观点、结构去看待分解问题 313

6.1.2 设计模型帮助提炼通用的功能模块 314

6.1.3 设计模型和信息模型与体系结构相关 314

6.1.5 实现技术对使用设计模型的影响 315

6.1.4 设计模型的关键是便于应用和模型之间的映射 315

6.2 ECC模型 316

6.2.1 模型的核心 318

6.2.2 实体类的设计 319

6.2.3 集合类的设计 319

6.2.4 控制类的设计 320

6.2.5 ECC模型小结 320

6.3 SLS模型 321

6.3.1 模型的介绍 321

6.3.2 核心问题 323

6.4 层次模型 324

6.4.1 模型介绍 324

6.4.2 应用系统逻辑的层次模型 325

6.4.3 应用系统的层次计算架构 329

6.5 统一消息模型(UM,描述式交互模型) 339

6.6 应激反射-自适应模型 344

6.7 企业模型 348

6.8 通用开发模型 352

6.9 本章小结 357

第7章 设计演进和设计优化 359

7.1 系统分析的策略 361

71.1 软件目标 363

7.1.2 常用的思考方法和思考过程 365

7.1.3 系统的思考方法小结 368

7.2 设计分析和设计价值评估 368

7.2.1 设计平衡 369

7.2.2 系统的分布与系统的特征分析 380

7.3 设计演进 385

7.3.1 系统优化 387

7.3.2 系统的简化 389

7.3.3 设计演进的实例 391

7.4 常见设计方法 405

7.4.1 设计质量 406

7.4.2 系统约束 409

7.4.3 系统的生存环境 414

7.4.4 系统集成 416

7.4.5 系统设计方法和系统观察视角 424

7.5 本章小结 429

第8章 需求捕获和分析 431

8.1 软件需求概述 432

8.1.1 什么是软件需求 433

8.1.2 软件需求的结构 434

8.1.3 需求的生命周期 437

8.1.4 软件需求对于企业的意义 438

8.2 需求工程 438

8.2.1 需求工程概述 439

8.2.2 系统的可行性研究 444

8.2.3 客户访谈 446

8.2.4 确定需求 448

8.2.5 确定系统的功能点 450

8.2.6 确定项目约束 451

8.2.7 流程分析与组织机构分析 452

8.2.8 确定软件的使用方式 452

8.2.9 生成系统的软件需求分析说明书 453

8.3 需求驱动开发 453

8.3.1 需求对软件开发的影响 453

8.3.2 功能点形态分析 455

8.3.3 需求驱动下的软件开发 456

8.4 本章小结 458

第9章 系统分析员的工作职责与软件开发流程 459

9.1 软件开发过程概述 459

9.1.1 软件的生命周期 460

9.1.2 软件开发过程模型 461

9.2 软件开发过程中的不同角色 469

9.3 系统分析员的工作职责 471

9.3.1 概述 471

9.3.3 参与设计软件项目开发计划 475

9.3.4 需求捕获和分析 475

9.3.2 参与进行可行性研究 475

9.3.5 系统分析:系统技术选型 476

9.3.6 系统分析:需求满足的技术形态分析 479

9.3.7 系统分析:确定和解决软件的难点 479

9.3.8 系统设计:软件架构设计 480

9.3.9 系统设计:系统功能流程设计 482

9.3.10 系统设计:概要设计 482

9.3.12 参与指定软件验收标准(一般包括测试用例) 483

9.3.11 系统设计:详细设计 483

9.3.13 简单的软件开发流程 484

9.3.14 软件项目总结 485

9.3.15 小结 486

9.4 软件开发的价值链和系统分析员的价值 487

9.5 理想的程序开发环境 490

9.5.1 支持软件开发过程 490

9.5.2 支持小组协作的软件开发 491

9.5.4 支持建模(UML图制作)与代码的同步 492

9.5.3 支持多个目标平台 492

9.5.5 支持数据建模(ERD制作、XML可视化定义编辑) 493

9.5.6 可视化的建模、需求捕获和确认 494

9.5.7 支持到目标环境的部署 494

9.5.8 其他的可能改变 495

9.5.9 小结 496

9.6 本章小结 496

第10章 后记 497

10.1 一般的问题分析思考方法 498

10.2 系统分析员的职业规划 500

10.3 系统分析员的知识更新和知识体系 506

10.4 尾声 511

附录A Java语言简介 513

A.1 Java语言的特点 513

A.2 Java语法简介 513

A.3 Java语言的优势简介 515

A.4 Java技术体系 516