图书目录

目录

第1篇软件工程与软件过程

第1章软件工程概述/2

1.1软件工程学的背景和目的/2

1.1.1软件与软件的组成/2

1.1.2软件的特点/3

1.1.3软件的分类/3

1.1.4软件的历史与发展/4

1.1.5软件危机/5

1.1.6软件工程/7

1.2软件开发方法/7

1.3软件安全/8

1.3.1软件安全的概念/8

1.3.2软件安全的威胁/8

1.4案例——“图书管理系统”项目

提出/9

1.5实训——“学生管理系统”项目

提出/10

小结/11

习题/11

第2章过程和生命周期的建模/12

2.1过程的含义/12

2.2软件过程模型/12

2.2.1瀑布模型/13

2.2.2渐进式模型/15

2.2.3过程的迭代/16

2.2.4V模型/17

2.2.5原型化模型/17

2.2.6敏捷开发模型/18

2.3软件开发标准/22

2.3.1国内外标准概述/22

2.3.2软件工程标准的层次/23

2.4软件安全开发生命周期/24

2.4.1软件安全开发/25

2.4.2安全开发生命周期/25

2.5案例——“图书管理系统”软件

开发计划/26

2.6实训——“学生管理系统”软件

开发计划/28

小结/29

习题/29

第3章可行性研究/30

3.1问题定义与任务/30

3.2可行性研究的步骤/31

3.3系统流程图/33

3.4成本/效益分析/34

3.5案例——“图书管理系统”可行

性分析报告/37

3.6实训——“学生管理系统”可行性

分析报告/42

小结/44

习题/44

第2篇传统方法学

第4章需求分析基础/46

4.1需求分析和规格说明阶段的

基本概念/46

4.2初步需求获取技术/46

4.2.1访谈与调查问卷/47

4.2.2跟班作业/47

4.2.3组成联合小组/48

4.3需求建模/48

4.4需求规格说明与评审/49

4.4.1需求规格说明书的内容/49

4.4.2需求评审/52

4.5软件安全需求/53

4.5.1安全需求/53

4.5.2安全需求分析方法/53

4.6案例——“图书管理系统”需求

规格说明书/56

4.7实训——“学生管理系统”需求

规格说明书/59

小结/60

习题/60

第5章面向数据流的分析方法/62

5.1结构化分析概述/62

5.2数据流图/63

5.2.1数据流图的基本成分/63

5.2.2由外向里画数据流图/65

5.2.3分层数据流图/66

5.2.4由顶向下画分层数据流图/66

5.2.5数据流图的改进/68

5.3数据词典/70

5.3.1词典条目的各种类型/70

5.3.2词典条目的实例/73

5.4小说明/74

5.4.1加工的描述/74

5.4.2结构化语言/75

5.4.3判定表/76

5.4.4判定树/78

5.4.5词典的实现/78

5.5SA方法小结/78

5.6案例——“图书管理系统”

数据流图/79

5.7实训——“学生管理系统”

数据流图和数据词典/82

小结/83

习题/83

第6章软件设计基础/84

6.1软件设计概述/84

6.1.1软件设计的任务和步骤/84

6.1.2概要设计的基本概念/85

6.1.3详细设计的基本概念/85

6.2软件体系结构/87

6.2.1软件体系结构概述/87

6.2.2集中式体系结构/90

6.2.3基于网络的体系结构/93

6.3设计模式/96

6.3.1Factory Method(工厂方法)/96

6.3.2Abstract Factory(抽象工厂)/99

6.3.3Singleton(单例)/102

6.3.4Composite(组合)/104

6.3.5Proxy(代理)/109

6.3.6Iterator(迭代器)/111

6.3.7Observer(观察者)/114

6.4模块化设计/117

6.4.1模块概述/117

6.4.2模块间联系和模块内联系/119

6.5结构图的改进/123

6.5.1模块的大小/123

6.5.2扇出和扇入/124

6.5.3作用范围和控制范围/125

6.6详细设计的描述方式/126

6.6.1流程图/126

6.6.2盒图/127

6.6.3问题分析图/128

6.6.4IPO图/129

6.6.5过程设计语言/129

6.7案例——“图书管理系统”

结构图/131

6.8实训——“学生管理系统”

结构图/131

小结/132

习题/132

第7章面向数据流的设计方法/133

7.1基本概念和设计过程/133

7.2变换分析/134

7.3事务分析/136

7.4综合设计/136

7.5SD方法小结/137

7.6软件设计文档/137

7.6.1概要设计说明书/137

7.6.2详细设计说明书/140

7.7其他设计方法/141

7.8案例——“图书管理系统”概要

设计说明书/143

7.9实训——“学生管理系统”概要

设计说明书/147

小结/148

习题/149

第8章可信软件设计/150

8.1可信软件的特点/150

8.2安全设计原则/151

8.3容错设计/152

8.4软件故障树分析/153

8.5嵌入式和实时软件设计/156

小结/156

习题/156

第9章软件界面设计/157

9.1软件界面设计概述/157

9.1.1软件界面的定义与要素/157

9.1.2界面设计的目标/159

9.1.3界面设计的重要性/161

9.2界面设计的基本原则/163

9.2.1一致性原则/163

9.2.2可见性原则/164

9.2.3反馈原则/166

9.2.4简洁性原则/167

9.2.5容错性原则/169

9.2.6可学习性原则/170

9.3界面交互的分析与设计过程/172

9.4界面交互分析/180

9.4.1用户交互特征分析/180

9.4.2任务与行为路径分析/181

9.4.3信息流与操作流分析/182

9.4.4情境化与认知负荷分析/183

9.4.5交互分析模型与工具/184

9.5界面交互设计/185

9.5.1交互设计的核心要素/186

9.5.2交互设计的层次与模型/187

9.5.3典型交互模式与设计策略/188

9.6手机应用界面设计/189

9.6.1手机界面设计的特点与挑战/190

9.6.2手机界面设计的结构与布局/190

9.6.3手机交互设计要点/191

9.7界面设计的评估/191

9.7.1界面评估的意义/192

9.7.2界面评估的基本原则/192

9.7.3界面评估的方案/192

小结/194

习题/194

第10章软件实现/195

10.1程序设计语言/195

10.1.1语言类别/195

10.1.2语言选择/197

10.2软件重用/198

10.2.1软件重用的方法和主要

实现途径/198

10.2.2面向对象的软件重用技术/199

10.3开源软件/200

10.3.1开源社区/200

10.3.2开源软件的应用/200

10.3.3开源软件项目资源/204

10.3.4基于开源软件的软件开发/204

10.3.5开源社区中利用资源实践/205

10.4SP方法与编程/208

10.5程序内部文档/209

10.6编程风格/210

10.6.1编码原则/210

10.6.2程序设计风格/211

10.7程序的效率/215

10.8程序设计自动化/216

10.9安全编码/216

10.10案例——“图书管理系统”

详细设计说明书/218

10.11实训——“学生管理系统”

详细设计说明书/221

小结/222

习题/222

第11章软件检验和测试/223

11.1检验的基本概念/223

11.1.1概述/223

11.1.2软件检验手段/224

11.2软件评审/224

11.2.1评审过程/224

11.2.2评审条款/226

11.3测试的基本概念/227

11.4白盒法/228

11.4.1概述/228

11.4.2语句覆盖/229

11.4.3判定覆盖/229

11.4.4条件覆盖/230

11.4.5判定/条件覆盖/230

11.4.6条件组合覆盖/230

11.5黑盒法/231

11.5.1等价分类法/231

11.5.2边缘值分析法/233

11.5.3因果图法/234

11.5.4错误推测法/235

11.5.5综合策略/236

11.6测试步骤/236

11.7单元测试/237

11.7.1单元测试概述/237

11.7.2单元测试的方法/238

11.8联合测试/239

11.9有效性测试/241

11.10系统测试/241

11.11安全测试/242

11.11.1软件安全测试/242

11.11.2模糊测试/243

11.11.3渗透测试/244

11.12综合测试文档/245

11.13案例——“图书管理系统”

测试分析报告/247

11.14实训——“学生管理系统”

测试分析报告/249

小结/250

习题/251

第12章软件维护/252

12.1维护的基本概念/252

12.2维护的种类/253

12.3维护的步骤与方法/254

12.3.1维护步骤/254

12.3.2维护方法/255

12.4可维护性/256

12.4.1决定软件可维护性的因素/256

12.4.2可维护性复审/258

12.5维护工作的管理/258

12.5.1维护的管理和组织/258

12.5.2维护报告/259

12.6维护的副作用/260

12.7软件维护文档/261

12.8案例——“图书管理系统”

软件维护手册/264

12.9实训——“学生管理系统”

软件维护手册/268

小结/269

习题/269

第3篇面向对象方法学

第13章统一建模语言/272

13.1面向对象方法概述/272

13.1.1面向对象方法的特点/272

13.1.2面向对象的概念/272

13.2UML概述/274

13.2.1UML的特点/274

13.2.2UML的构成/275

13.2.3UML与RUP/275

13.3UML的视图/275

13.4UML的模型元素/276

13.4.1事物/276

13.4.2关系/277

13.5UML的模型图/277

13.5.1用例图/277

13.5.2类图/280

13.5.3对象图/283

13.5.4包图/284

13.5.5状态图/284

13.5.6活动图/285

13.5.7顺序图/286

13.5.8协作图/287

13.5.9组件图/287

13.5.10配置图/289

13.6UML的公共机制/289

13.6.1注释/289

13.6.2修饰/290

13.6.3规格说明/290

13.6.4通用划分/290

13.6.5扩展机制/290

小结/290

习题/291

第14章面向对象分析/292

14.1需求分析与用例建模/292

14.1.1用例建模概述/292

14.1.2确定系统的范围和边界/292

14.1.3确定系统的参与者/293

14.1.4确定系统的用例/293

14.1.5描述用例/294

14.1.6用例分类,确定用例之间

的关系/295

14.1.7定义用例图的层次结构/295

14.1.8软件需求分析规格说明书/296

14.2活动图建模/296

14.3系统分析与建模/297

14.3.1建立对象类静态模型/297

14.3.2建立对象类动态模型/300

14.3.3建立系统功能模型/300

14.3.4系统分析规格说明书/301

14.4面向对象分析案例/302

14.4.1需求分析与系统功能/302

14.4.2创建用例模型/302

14.4.3用例描述与活动图建模/305

14.4.4创建对象类静态模型/309

小结/312

习题/312

第15章面向对象设计/313

15.1面向对象设计方法/313

15.1.1面向对象设计概述/313

15.1.2系统分解/313

15.1.3系统设计规格说明书/314

15.2对象类动态模型建模/316

15.2.1交互模型建模/316

15.2.2状态模型建模/318

15.3系统体系结构建模/319

15.3.1软件系统体系结构模型/319

15.3.2硬件系统体系结构模型/319

15.3.3组件图建模/320

15.3.4配置图建模/322

15.4面向对象设计案例/323

15.4.1创建动态模型/323

15.4.2创建系统体系结构模型/329

小结/330

习题/331

第16章面向对象软件开发工具

Rational Rose/332

16.1Rational Rose简介/332

16.2Rational Rose的安装、启动

与退出/333

16.2.1Rational Rose安装前的

准备工作/333

16.2.2Rational Rose的安装/333

16.2.3Rational Rose的启动与

退出/337

16.3Rational Rose的界面操作/338

16.3.1如何创建新模型/338

16.3.2Rational Rose的主界面/339

16.3.3Rational Rose建模/343

16.4创建用例图/344

16.4.1打开用例图窗口/345

16.4.2用例图工具栏/345

16.4.3添加参与者与用例/346

16.4.4设置属性/346

16.4.5添加关系/347

16.5创建类图/347

16.5.1类图编辑窗口/348

16.5.2创建类/348

16.5.3建立类之间的关系/351

16.6创建包图/353

16.6.1创建包/353

16.6.2设置包的属性/353

16.6.3在包中添加元素/354

16.6.4添加包信息/354

16.6.5添加包之间的依赖关系/354

16.7创建状态图/355

16.7.1状态图编辑窗口/355

16.7.2状态图建模/356

16.8创建活动图/358

16.8.1活动图编辑窗口/358

16.8.2活动图建模/359

16.9创建顺序图/360

16.9.1顺序图编辑窗口/360

16.9.2顺序图建模/361

16.10创建协作图/364

16.10.1协作图编辑窗口/364

16.10.2协作图建模/365

16.11创建组件图/367

16.11.1组件图编辑窗口/367

16.11.2组件图建模/368

16.12创建配置图/371

16.12.1配置图编辑窗口/371

16.12.2配置图建模/372

16.13Rational Rose的双向工程/374

16.13.1双向工程概述/374

16.13.2正向工程——Java代码

生成/375

16.13.3逆向工程——Java模型

重建/379

16.14数据库设计建模/380

16.14.1设置DBMS/380

16.14.2创建数据库关系模式/381

16.14.3生成数据库代码/385

16.14.4数据库建模的逆向工程/388

小结/390

习题/390

第4篇软件项目组织与管理

第17章软件项目管理概述/392

17.1项目的定义/392

17.2软件项目/393

17.2.1软件项目失败的现象/393

17.2.2软件项目管理问题分析/394

17.2.3软件项目成功的标志/395

17.2.4软件项目需要科学化管理/396

17.3项目管理的定义/396

17.3.1项目管理的产生与发展/396

17.3.2项目管理在中国的发展/397

17.3.3项目管理定义与要素/397

17.3.4项目管理研究体系/398

17.4项目管理的高级话题/398

17.4.1大项目和大项目管理/398

17.4.2子项目/399

17.4.3项目、项目集、项目组合和

组织级项目之间的关系/399

小结/399

习题/400

第18章项目组织/401

18.1项目组织结构/401

18.2项目管理办公室/403

18.3项目经理/403

18.3.1项目经理的定义和职责/403

18.3.2项目经理应该具备的技能

和素质/404

18.3.3怎样做好项目经理/405

小结/406

习题/407

第19章项目立项管理/408

19.1项目建议书/408

19.2项目可行性研究/409

19.3项目评估与论证/412

19.3.1项目评估/412

19.3.2项目论证/413

19.4项目招投标/414

小结/414

习题/415

第20章项目过程管理/416

20.1项目管理过程组/416

20.2项目管理知识体系/417

20.3整体管理/418

20.3.1整体管理概况/418

20.3.2制定项目章程/419

20.3.3制订项目管理计划/425

20.3.4指导与管理项目执行工作/428

20.3.5监督和控制项目工作/430

20.3.6实施整体变更控制/432

20.3.7项目收尾/433

20.4范围管理/433

20.4.1范围管理概况/433

20.4.2范围管理过程/434

20.5进度管理/441

20.5.1进度管理概况/441

20.5.2进度管理过程/442

20.6成本管理/449

20.6.1成本管理概况/449

20.6.2成本管理过程/452

20.7质量管理/456

20.7.1质量管理概况/456

20.7.2质量管理过程/457

20.8人力资源管理/461

20.8.1人力资源管理概况/461

20.8.2人力资源管理过程/463

20.9沟通管理/468

20.9.1沟通管理概况/468

20.9.2沟通管理过程/470

20.10风险管理/472

20.10.1风险管理概况/472

20.10.2风险管理过程/474

20.11采购管理/479

20.11.1采购管理概况/479

20.11.2采购管理过程/481

20.12干系人管理/484

20.12.1干系人管理概况/484

20.12.2干系人识别/486

20.12.3项目干系人分析/488

20.12.4项目干系人管理计划

制订/490

20.12.5项目干系人管理的执行

与监控/491

小结/492

习题/493

第21章信息系统项目管理师资格考试/494

21.1考试介绍/494

21.2考试要求/494

21.3考试和报名时间/494

21.4考试科目/495

21.5报名方式/495

21.6信息系统项目管理师的职业

发展价值/496

21.7信息系统项目管理师核心知识

体系/497

21.7.1五大项目管理过程组/497

21.7.2十大核心知识领域/497

21.7.3信息系统专业技术基础/49821.8信息系统项目管理师考试备考

策略/499

21.8.1信息系统教材与大纲为本/499

21.8.2信息系统分阶段备考规划/499

21.8.3案例分析题答题技巧/499

小结/500

第22章软件项目管理案例/501

附录A软件项目管理过程案例文档/509

A.1项目计划书/509

A.2开发语言决策分析表/518

A.3工作量估算表/519

A.4需求跟踪矩阵检查单/519

A.5风险检查表/520

A.6变更申请单/523

A.7质量跟踪——评审缺陷/524

A.8集成测试用例/525

附录B软件工程标准化文档/527

B.1可行性分析(研究)报告/528

B.2软件开发计划/529

B.3软件需求规格说明/535

B.4软件测试报告/541

参考文献/543