图书介绍

软件详细设计教程PDF|Epub|txt|kindle电子书版本网盘下载

软件详细设计教程
  • 樊海玮,吕进,杜瑾等编著 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:9787560624846
  • 出版时间:2010
  • 标注页数:388页
  • 文件大小:24MB
  • 文件页数:400页
  • 主题词:软件设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件详细设计教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 软件工程概述1

1.1 软件1

1.1.1 软件的定义1

1.1.2 软件的特性2

1.1.3 软件的发展3

1.2 软件危机4

1.3 软件工程6

1.3.1 软件工程的概念6

1.3.2 软件工程的三要素6

1.3.3 软件质量的特性7

1.3.4 软件工程方法7

1.4 软件工程知识体系(SWEBOK)8

1.4.1 SWEBOK项目介绍8

1.4.2 SWEBOK的组成9

1.4.3 软件工程与其他相关学科的关系13

1.5 软件过程13

1.5.1 软件过程的概念14

1.5.2 软件过程模型17

1.6 软件项目管理基础24

1.7 小结28

第2章 软件体系结构29

2.1 软件体系结构的产生与发展29

2.1.1 软件体系结构的定义30

2.1.2 软件体系结构的发展史31

2.1.3 软件体系结构的研究现状31

2.1.4 软件体系结构的影响33

2.1.5 软件体系结构的发展方向33

2.2 软件体系结构建模34

2.2.1 “4+1”视图模型34

2.2.2 软件体系结构的核心模型40

2.2.3 软件体系结构的生命周期模型41

2.3 基于体系结构的描述44

2.3.1 软件体系结构的描述方法44

2.3.2 软件体系结构的描述框架标准46

2.3.3 软件体系结构的描述语言47

2.4 基于体系结构的软件设计51

2.4.1 基于体系结构的设计模式51

2.4.2 基于体系结构的设计方法58

2.4.3 体系结构的设计与演化68

2.5 小结71

第3章 统一建模语言UML基础73

3.1 UML概述73

3.1.1 UML的发展历程73

3.1.2 UML的内容74

3.1.3 UML的特点75

3.1.4 UML的应用领域75

3.2 通用模型元素76

3.2.1 模型元素76

3.2.2 约束77

3.2.3 依赖关系77

3.2.4 细化78

3.2.5 注释78

3.3 用例模型79

3.3.1 用例图79

3.3.2 画用例图80

3.3.3 用例图的示例81

3.4 静态模型82

3.4.1 类图82

3.4.2 对象图86

3.4.3 包图87

3.5 动态模型88

3.5.1 状态图88

3.5.2 活动图91

3.5.3 顺序图94

3.5.4 协作图96

3.6 实现模型97

3.6.1 构件图98

3.6.2 配置图99

3.7 从UML 1.x到UML 2.0100

3.7.1 UML 2.0提案需求100

3.7.2 被采纳的UML 2.0提案101

3.7.3 UML 2.0概况101

3.7.4 进步与不足105

3.8 小结106

第4章 软件需求工程107

4.1 软件需求概述107

4.1.1 业务需求108

4.1.2 用户需求109

4.1.3 功能需求和非功能需求110

4.1.4 系统需求111

4.2 需求工程过程111

4.2.1 需求获取111

4.2.2 需求分析112

4.2.3 需求规格说明113

4.2.4 需求验证116

4.2.5 需求管理118

4.3 需求获取技术120

4.3.1 面谈120

4.3.2 需求专题讨论会122

4.3.3 观察用户工作流程123

4.3.4 原型化方法123

4.3.5 基于用例的方法124

4.4 可行性研究124

4.4.1 意义124

4.4.2 可行性研究的内容125

4.4.3 可行性研究报告127

4.5 需求建模128

4.5.1 需求建模方法128

4.5.2 实体—关系图129

45.3 数据流图131

4.5.4 状态转换图136

4.5.5 数据字典138

4.6 小结139

第5章 软件设计工程141

5.1 软件工程中的设计141

5.2 设计过程和设计质量143

5.3 设计概念145

5.3.1 抽象145

5.3.2 体系结构145

5.3.3 模式145

5.3.4 模块化146

5.3.5 信息隐蔽147

5.3.6 功能独立147

5.3.7 求精148

5.3.8 重构148

5.3.9 设计类148

5.4 设计模型149

5.4.1 数据设计元素150

5.4.2 体系结构设计元素150

5.4.3 接口设计元素150

5.4.4 构件级设计元素152

5.4.5 部署级设计元素152

5.5 基于模式的软件设计153

5.5.1 描述设计模式153

5.5.2 在设计中使用模式154

5.5.3 框架154

5.6 小结154

第6章 软件总体设计156

6.1 软件设计的重要性156

6.2 设计过程157

6.3 软件总体设计158

6.4 设计基本原理160

6.4.1 抽象160

6.4.2 细化161

6.4.3 模块化161

6.4.4 软件体系结构162

6.4.5 程序结构163

6.4.6 数据结构164

6.4.7 软件过程165

6.5 体系结构设计167

6.5.1 软件结构图167

6.5.2 模块的大小168

6.5.3 扇出和扇入与深度和宽度169

6.5.4 模块的耦合170

6.5.5 模块的内聚171

6.5.6 结构设计的一般准则174

6.5.7 模块的作用域与控制域175

6.6 结构化设计176

6.6.1 数据流的类型176

6.6.2 过程步骤177

6.6.3 变换分析设计178

6.6.4 事务分析设计180

6.6.5 混合流设计181

6.6.6 结构化设计方法应用示例182

6.6.7 设计的后期处理183

6.7 软件结构优化184

6.7.1 软件结构设计优化准则184

6.7.2 软件结构的HIPO图185

6.8 小结186

第7章 结构化软件详细设计187

7.1 细节设计的任务与方法187

7.1.1 细节设计的基本任务187

7.1.2 细节设计方法188

7.2 设计表示法189

7.2.1 结构化语言189

7.2.2 判定表190

7.2.3 判定树191

7.3 结构化程序设计191

7.3.1 程序流程图191

7.3.2 三种基本控制结构192

7.3.3 常用符号194

7.4 结构化定理195

7.4.1 程序函数195

7.4.2 基本定理196

7.4.3 过程设计语言197

7.5 面向数据结构的设计201

7.5.1 Jackson图201

7.5.2 纲要逻辑203

7.5.3 Jackson方法203

7.5.4 JSP应用204

7.5.5 JSD方法207

7.6 小结212

第8章 面向对象软件详细设计213

8.1 面向对象简介213

8.1.1 面向对象的概念213

8.1.2 面向对象方法的历史及现状215

8.2 面向对象的相关概念215

8.2.1 对象216

8.2.2 类217

8.2.3 对象图218

8.2.4 属性218

8.2.5 服务(操作或方法)219

8.2.6 封装219

8.2.7 继承220

8.2.8 多重继承223

8.2.9 消息225

8.2.10 结构与连接226

8.2.11 多态性228

8.2.12 永久对象228

8.2.13 主动对象229

8.2.14 对象类的表示方法230

8.3 链接与关联230

8.3.1 一般概念230

8.3.2 重数231

8.3.3 关联的重要性231

8.3.4 三元关联232

8.3.5 关联的候选关键字232

8.3.6 异或关联233

8.3.7 资格关联233

8.3.8 链接属性233

8.3.9 将关联模型化为类233

8.3.10 角色名234

8.3.11 排序235

8.3.12 资格符235

8.4 聚合235

8.4.1 聚合与关联236

8.4.2 聚合与概括236

8.4.3 递归聚合237

8.4.4 操作的传播237

8.4.5 物理聚合与分类聚合238

8.4.6 物理聚合的语义扩展238

8.4.7 分类聚合的语义扩展239

8.5 概括239

8.5.1 一般概念239

8.5.2 重写特征239

8.5.3 抽象类和具体类240

8.5.4 概括与其他对象建模结构240

8.6 构造分组241

8.6.1 模块241

8.6.2 表241

8.7 小结241

第9章 面向对象分析242

9.1 分析过程242

9.1.1 概述242

9.1.2 三个子模型与五个层次243

9.2 需求陈述244

9.2.1 书写要点244

9.2.2 例子245

9.3 建立对象模型246

9.3.1 确定类与对象246

9.3.2 确定关联248

9.3.3 划分主题251

9.3.4 确定属性252

9.3.5 识别继承关系253

9.3.6 反复修改254

9.4 建立动态模型256

9.4.1 编写脚本256

9.4.2 设想用户界面257

9.4.3 画事件跟踪图258

9.4.4 画状态图260

9.4.5 审查动态模型262

9.5 建立功能模型262

9.5.1 画出基本系统模型图262

9.5.2 画出功能级数据流图263

9.5.3 描述处理框功能263

9.6 定义服务264

9.6.1 常规行为264

9.6.2 从事件导出的操作264

9.6.3 与数据流图中处理框对应的操作264

9.6.4 利用继承减少冗余操作265

9.7 面向对象分析实例265

9.7.1 需求陈述265

9.7.2 建立对象模型265

9.7.3 建立动态模型267

9.7.4 建立功能模型268

9.7.5 进一步完善269

9.8 小结270

第10章 面向对象设计271

10.1 面向对象设计的准则271

10.1.1 模块化272

10.1.2 抽象272

10.1.3 信息隐藏272

10.1.4 弱耦合272

10.1.5 强内聚273

10.1.6 可重用273

10.2 启发规则273

10.2.1 设计结果应该清晰易懂274

10.2.2 一般—特殊结构的深度应适当274

10.2.3 设计简单的类274

10.2.4 使用简单的协议274

10.2.5 使用简单的服务275

10.2.6 把设计变动减至最小275

10.3 系统分解275

10.3.1 子系统之间的两种交互方式276

10.3.2 组织系统的两种方案276

10.3.3 设计系统的拓扑结构277

10.4 设计问题域子系统277

10.4.1 调整需求278

10.4.2 重用已有的类278

10.4.3 把问题域类组合在一起278

10.4.4 增添一般化类以建立协议279

10.4.5 ATM系统之例279

10.5 设计人机交互子系统279

10.5.1 设计人机交互界面的准则280

10.5.2 设计人机交互子系统的策略280

10.6 设计任务管理子系统281

10.6.1 分析并发性282

10.6.2 设计任务管理子系统282

10.7 设计数据管理子系统283

10.7.1 选择数据存储管理模式283

10.7.2 设计数据管理子系统284

10.7.3 例子286

10.8 设计类中的服务286

10.8.1 确定类中应有的服务286

10.8.2 设计实现服务的方法287

10.9 设计关联288

10.9.1 关联的遍历288

10.9.2 实现单向关联288

10.9.3 实现双向关联289

10.9.4 关联对象的实现方法289

10.10 设计优化289

10.10.1 确定优先级289

10.10.2 提高效率的几项技术290

10.10.3 调整继承关系291

10.11 面向对象分析与设计实例293

10.11.1 面向对象分析293

10.11.2 面向对象设计295

10.12 小结300

第11章 编码设计与规范301

11.1 程序设计语言301

11.1.1 程序设计语言的基本概念301

11.1.2 程序设计语言的发展及种类303

11.1.3 程序设计语言的基本成分308

11.1.4 程序设计语言的要素312

11.1.5 编程语言的选择314

11.1.6 面向对象语言的优点316

11.1.7 面向对象语言的技术特点317

11.2 编码规范319

11.2.1 源程序文档化320

11.2.2 数据说明325

11.2.3 语句结构326

11.2.4 输入/输出328

11.3 编码风格329

11.3.1 提高可重用性330

11.3.2 提高可扩充性331

11.3.3 提高健壮性332

11.4 程序效率332

11.4.1 程序效率的原则333

11.4.2 算法对效率的影响333

11.4.3 存储器效率335

11.4.4 输入/输出效率335

11.5 编程安全336

11.5.1 冗余程序设计336

11.5.2 防错性程序设计337

11.6 小结338

第12章 软件测试339

12.1 软件测试概述339

12.1.1 软件测试的定义339

12.1.2 软件测试的基本策略340

12.1.3 软件测试的基本原则342

12.1.4 软件测试与软件开发各阶段的关系343

12.1.5 测试文档344

12.2 软件测试过程346

12.2.1 单元测试346

12.2.2 集成测试348

12.2.3 系统测试352

12.2.4 验收测试360

12.3 测试技术365

12.3.1 软件测试的目标365

12.3.2 黑盒测试和白盒测试365

12.3.3 逻辑覆盖367

12.3.4 关于控制结构测试的一些讨论368

12.3.5 基本路径测试370

12.3.6 等价类划分373

12.3.7 边界值分析374

12.3.8 因果图374

12.3.9 错误推测法375

12.4 测试用例设计375

12.5 测试计划376

12.6 面向对象软件测试379

12.6.1 测试策略379

12.6.2 设计测试用例380

12.7 小结383

参考文献385

热门推荐