软件工程——理论与实践(附微课视频第2版)

软件工程——理论与实践(附微课视频第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

软件工程教材:实用性强,理论实践结合,配备微课视频。

内容简介

内容提要

本书按照典型的软件开发过程来组织内容,旨在培养读者具备软件工程思想及实际软件开发的能力。本书共分为12章, 内容涉及软件与软件工程、软件过程、可行性研究与项目开发计划、结构化分析、结构化设计、面向对象方法与UML、面向对象分析、软件体系结构与设计模式、面向对象设计、软件实现、软件测试、软件维护与软件工程管理。本书理论与实践相结合,内容翔实,可操作性强。

本书是高等院校计算机科学、软件工程及相关专业“软件工程”课程的理想教材。

章节目录

扉页

版权页

目录

内容提要

前言

第1部分 软件工程概述

第1章 软件与软件工程

1.1 软件

1.1.1 软件的概念及特点

1.1.2 软件的分类

1.2 软件危机

1.2.1 软件危机的表现与原因

1.2.2 软件危机的启示

1.3 软件工程

1.3.1 软件工程的概念

1.3.2 软件工程研究的内容

1.3.3 软件工程的目标和原则

1.3.4 软件工程的知识体系

1.3.5 软件工程的发展

1.4 软件开发方法

1.5 软件工程工具

1.6 “小型网上书店系统”案例介绍

习题

第2章 软件过程

2.1 软件过程概述

2.2 软件生命周期

2.2.1 软件生命周期的概念

2.2.2 传统软件生命周期的各个阶段

2.3 软件开发模型

2.3.1 瀑布模型

2.3.2 快速原型模型

2.3.3 增量模型

2.3.4 螺旋模型

2.3.5 喷泉模型

2.3.6 基于组件的开发模型

2.3.7 统一软件开发过程模型

2.3.8 敏捷过程与极限编程

2.3.9 几种模型之间的关系

2.3.10 选择软件开发模型

2.4 软件开发模型实例

习题

第2部分 可行性研究与项目开发计划

第3章 可行性研究与项目开发计划

3.1 项目立项概述

3.2 可行性研究的任务

3.3 技术可行性

3.4 操作可行性

3.5 经济可行性

3.6 可行性研究的步骤

3.7 制订项目开发计划

3.8 可行性研究实例

3.9 案例:“小型网上书店系统”的软件开发计划书

习题

第3部分 结构化分析与设计

第4章 结构化分析

4.1 需求分析

4.1.1 需求分析的任务和原则

4.1.2 需求分析的步骤

4.1.3 需求管理

4.1.4 需求分析的常用方法

4.2 结构化分析概述

4.3 结构化分析的方法

4.3.1 功能建模

4.3.2 数据建模

4.3.3 行为建模

4.3.4 数据字典

4.3.5 加工规格说明

4.4 结构化分析的图形工具

4.4.1 层次方框图

4.4.2 Warnier图

4.4.3 IPO图

4.5 结构化分析实例

4.6 实验:利用Visio绘制“小型网上书店系统”的数据流图

4.6.1 “小型网上书店系统”的设计

4.6.2 数据流图的绘制

习题

第5章 结构化设计

5.1 软件设计的基本概念

5.1.1 软件设计的意义和目标

5.1.2 软件设计的原则

5.1.3 软件设计的分类

5.2 数据库结构设计

5.3 用户界面设计

5.3.1 设计驱动开发

5.3.2 目标用户群体

5.3.3 简洁与清晰

5.3.4 实现模型与心智模型

5.3.5 设计的规范性

5.3.6 设计的可用性和易用性

5.3.7 设计的一致性

5.3.8 设计的容错性

5.4 结构化软件设计概述

5.5 结构化设计与结构化分析的关系

5.6 体系结构设计

5.6.1 表示软件结构的图形工具

5.6.2 面向数据流的设计方法

5.6.3 面向数据结构的设计方法

5.7 接口设计

5.7.1 接口设计概述

5.7.2 界面设计

5.8 数据设计

5.9 过程设计

5.9.1 程序流程图

5.9.2 N-S图

5.9.3 PAD图

5.9.4 过程设计语言

5.10 结构化设计实例

5.11 实验:利用Visio绘制“小型网上书店系统”的结构图

习题

第4部分 面向对象分析与设计

第6章 面向对象方法与UML

6.1 面向对象的软件工程方法

6.1.1 面向对象的基本概念

6.1.2 面向对象的软件工程方法的特征与优势

6.1.3 面向对象的实施步骤

6.2 统一建模语言UML

6.2.1 UML简述

6.2.2 UML的特点

6.2.3 UML的应用范围

6.2.4 UML的图

6.2.5 UML“4+1”视图

6.3 静态建模机制

6.3.1 用例图

6.3.2 类图和对象图

6.3.3 包图

6.4 动态建模机制

6.4.1 顺序图

6.4.2 协作图

6.4.3 状态图

6.4.4 活动图

6.5 描述物理架构的机制

6.5.1 构件图

6.5.2 部署图

习题

第7章 面向对象分析

7.1 面向对象分析方法

7.1.1 面向对象分析的过程

7.1.2 面向对象分析的原则

7.2 面向对象建模

7.2.1 建立对象模型

7.2.2 建立动态模型

7.2.3 建立功能模型

7.2.4 3种模型之间的关系

7.3 面向对象分析实例

7.4 实验

7.4.1 利用Rose创建“小型网上书店系统”的用例模型

7.4.2 利用Rose绘制“小型网上书店系统”的类图

7.4.3 利用Rose绘制“小型网上书店系统”的对象图

7.4.4 利用Rose绘制“小型网上书店系统”的状态图

7.4.5 使用Rose绘制“小型网上书店系统”的顺序图

7.5 案例:“小型网上书店系统”的需求规格说明书

习题

第8章 软件体系结构与设计模式

8.1 软件体系结构的概念

8.1.1 什么是软件体系结构

8.1.2 软件体系结构建模

8.1.3 软件体系结构的分层模型

8.1.4 软件体系结构的作用

8.2 典型的软件体系结构风格

8.2.1 数据流风格

8.2.2 调用/返回风格

8.2.3 独立构件风格

8.2.4 虚拟机风格

8.2.5 仓库风格

8.3 软件质量属性

8.4 分布式系统结构

8.4.1 多处理器体系结构

8.4.2 客户机/服务器体系结构

8.4.3 分布式对象体系结构

8.4.4 对等端体系结构

8.4.5 代理

8.5 体系结构框架

8.5.1 模型-视图-控制器

8.5.2 模型-视图-表示器

8.5.3 J2EE体系结构框架

8.5.4 PCMEF框架

8.5.5 PCBMER框架

8.6 软件系统的设计模式

8.6.1 工厂模式

8.6.2 桥接模式

8.6.3 策略模式

8.6.4 其他模式

习题

第9章 面向对象设计

9.1 面向对象设计与结构化设计

9.2 面向对象设计与面向对象分析的关系

9.3 面向对象设计的过程与原则

9.3.1 面向对象设计的过程

9.3.2 面向对象设计的原则

9.4 面向对象设计的启发规则

9.5 系统设计

9.5.1 系统分解

9.5.2 问题域子系统的设计

9.5.3 人机交互子系统的设计

9.5.4 任务管理子系统的设计

9.5.5 数据管理子系统的设计

9.6 对象设计

9.6.1 设计类中的服务

9.6.2 设计类的关联

9.6.3 对象设计优化

9.7 面向对象设计实例

9.8 实验

9.8.1 利用Rose绘制“小型网上书店系统”的活动图

9.8.2 利用Rose绘制“小型网上书店系统”的协作图

9.8.3 利用Rose绘制“小型网上书店系统”的构件图

9.8.4 利用Rose绘制“小型网上书店系统”的部署图

9.9 案例:“小型网上书店系统”的软件设计说明书

习题

第5部分 软件实现与测试

第10章 软件实现

10.1 编程语言

10.1.1 编程语言的发展与分类

10.1.2 选择编程语言需考虑的因素

10.2 编程风格

10.3 面向对象实现

10.4 软件实现实例

10.5 利用Visual Studio实现“小型网上书店系统”的用户登录模块

10.6 案例:“小型网上书店系统”的部署文档

习题

第11章 软件测试

11.1 软件测试的基本概念

11.1.1 软件测试的原则

11.1.2 软件测试模型

11.2 软件测试的分类

11.3 测试用例

11.3.1 测试用例编写

11.3.2 测试用例设计

11.3.3 测试用例场景

11.4 软件测试方法

11.5 黑盒测试

11.5.1 等价类划分法

11.5.2 边界值分析法

11.5.3 错误推测法

11.5.4 因果图法

11.5.5 决策表法

11.5.6 场景法

11.5.7 黑盒测试方法选择

11.6 白盒测试

11.6.1 代码检查法

11.6.2 静态结构分析法

11.6.3 程序插桩技术

11.6.4 逻辑覆盖法

11.6.5 基本路径法

11.6.6 白盒测试方法选择

11.6.7 白盒测试与黑盒测试的比较

11.7 软件测试的一般步骤

11.8 单元测试

11.8.1 单元测试概述

11.8.2 单元测试的内容

11.8.3 单元测试的方法

11.9 集成测试

11.9.1 集成测试概述

11.9.2 集成测试分析

11.9.3 集成测试策略

11.10 系统测试

11.10.1 系统测试概述

11.10.2 系统测试的类型

11.11 验收测试

11.11.1 验收测试概述

11.11.2 验收测试的内容

11.11.3 α测试和β测试

11.12 回归测试

11.13 面向对象的软件测试

11.14 软件调试

11.14.1 调试过程

11.14.2 调试途径

11.15 软件测试实例

11.16 实验:利用Visual Studio对“小型网上书店系统”的用户登录模块进行单元测试

11.17 案例:“小型网上书店系统”的测试分析报告

习题

第6部分 软件维护与软件工程管理

第12章 软件维护与软件工程管理

12.1 软件维护

12.1.1 软件维护的过程

12.1.2 软件维护的分类

12.1.3 软件的可维护性

12.1.4 软件维护的副作用

12.1.5 软件再工程技术

12.2 软件估算

12.2.1 软件估算的概念

12.2.2 软件估算的方法

12.2.3 软件估算的原则与技巧

12.3 软件开发进度计划

12.3.1 Gantt图

12.3.2 PERT图

12.4 软件开发人员组织

12.4.1 民主制程序员组

12.4.2 主程序员组

12.4.3 现代程序员组

12.5 软件开发风险管理

12.5.1 软件开发风险

12.5.2 软件开发风险管理

12.6 软件质量保证

12.6.1 软件质量的基本概念

12.6.2 软件质量保证的措施

12.7 软件配置管理概述

12.7.1 软件配置管理术语

12.7.2 配置管理的过程

12.7.3 配置管理的角色划分

12.8 软件工程标准与软件文档

12.8.1 软件工程标准

12.8.2 软件文档

12.9 软件过程能力成熟度模型

12.10 软件项目管理

12.10.1 软件项目管理概述

12.10.2 软件项目管理与软件工程的关系

12.11 软件复用

12.12 实验:利用Project管理“小型网上书店系统”的开发过程

习题

参考文献

软件工程——理论与实践(附微课视频第2版)是2018年由人民邮电出版社出版,作者吕云翔。

得书感谢您对《软件工程——理论与实践(附微课视频第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
移动应用设计与开发(项目式)(微课版) 电子书
系统阐述移动App设计、开发、测试、发布的全流程。
软件工程专业英语 电子书
本书以计算机发展的新热点为主要内容,介绍了移动计算机、软件工程及其再工程、主存数据库、网络与安全、人工智能、大数据、移动互联网、物联网等知识。本书力求使得学习者在学习计算机专业英语的同时也能学到计算机发展的前沿知识,使得学习者的外语水平和专业知识共同得到提高,为今后的计算机职业生涯打下一个良好的基础。
代码中的软件工程 电子书
本书共五篇:第一篇介绍常用工具VSCode、Git和正则表达式;第二篇以C语言代码为例介绍工程化编程的基本方法,涵盖代码的风格和规范、模块化、可复用、可重入函数与线程安全等;第三篇介绍从需求分析到软件设计的基本建模方法——从需求分析开始,以UML为工具完成用例建模、业务领域建模、对象交互建模,最终形成设计方案;第四篇探讨软件的元素、结构、特性和描述方法,以及高质量软件的内涵等;第五篇回顾软件危机的
现代软件工程:如何高效构建软件 电子书
深入探讨软件工程的原则和方法。
微信小程序开发图解案例教程:附精讲视频 电子书
一本书快书入门微信小程序。