科技
类型
可以朗读
语音朗读
262千字
字数
2022-11-01
发行日期
展开全部
主编推荐语
本书系统介绍软件工程的基本概念、原理、方法,以及可以用于软件开发实践的各种技能。
内容简介
全书共13章, 内容涉及软件工程概述、软件过程、敏捷软件开发、可行性研究与项目开发计划、结构化分析、结构化设计、面向对象方法与UML、面向对象分析、软件体系结构与设计模式、面向对象设计、软件实现、软件测试、软件维护与软件工程管理。
本书适合作为高等院校计算机科学、软件工程及相关专业“软件工程”课程的教材。
目录
- 版权信息
- 第2版前言
- 第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.4.1 基本的软件开发方法
- 1.4.2 开源软件开发方法
- 1.4.3 群体化软件开发方法
- 1.5 软件工程工具
- 1.6 软件工程人员的职业道德
- 1.7 软件学院“‘墨韵’读书会图书共享平台”案例介绍
- 习题
- 第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.4 软件过程实例
- 习题
- 第3章 敏捷软件开发
- 3.1 敏捷软件开发方法
- 3.2 Scrum
- 3.2.1 Scrum概述
- 3.2.2 Sprint
- 3.2.3 每日站会
- 3.2.4 用户故事
- 3.2.5 Backlog
- 3.2.6 结对编程
- 3.3 看板
- 3.3.1 看板概述
- 3.3.2 看板与Scrum的区别
- 3.4 极限编程
- 3.4.1 XP的4个价值观
- 3.4.2 XP的12个核心实践
- 3.5 CI/CD
- 3.5.1 CI/CD概述
- 3.5.2 CI/CD管道
- 3.5.3 CI/CD的优势
- 3.6 DevOps
- 3.6.1 DevOps生命周期
- 3.6.2 DevOps文化
- 3.6.3 DevOps工具
- 3.7 敏捷软件开发、CI/CD和DevOps
- 3.8 敏捷软件开发实例
- 习题
- 第4章 可行性研究与项目开发计划
- 4.1 项目立项概述
- 4.2 可行性研究的任务
- 4.2.1 技术可行性
- 4.2.2 操作可行性
- 4.2.3 经济可行性
- 4.3 可行性研究的步骤
- 4.4 可行性研究实例
- 4.5 制订项目开发计划
- 习题
- 第5章 结构化分析
- 5.1 需求分析
- 5.1.1 需求分析的任务和原则
- 5.1.2 需求分析的步骤
- 5.1.3 需求管理
- 5.1.4 需求分析的常用方法
- 5.1.5 原型设计
- 5.2 结构化分析概述
- 5.3 结构化分析的方法
- 5.3.1 功能建模
- 5.3.2 数据建模
- 5.3.3 行为建模
- 5.3.4 数据字典
- 5.3.5 加工规格说明
- 5.4 结构化分析的图形工具
- 5.4.1 层次方框图
- 5.4.2 Warnier图
- 5.4.3 IPO图
- 5.5 结构化分析实例
- 习题
- 第6章 结构化设计
- 6.1 软件设计的基本概念
- 6.1.1 软件设计的意义和目标
- 6.1.2 软件设计的原则
- 6.1.3 软件设计的分类
- 6.2 数据库结构设计
- 6.3 用户界面设计
- 6.3.1 设计驱动开发
- 6.3.2 目标用户群体
- 6.3.3 简洁与清晰
- 6.3.4 实现模型与心智模型
- 6.3.5 设计的规范性
- 6.3.6 设计的可用性和易用性
- 6.3.7 设计的一致性
- 6.3.8 设计的容错性
- 6.4 结构化软件设计概述
- 6.5 结构化设计与结构化分析的关系
- 6.6 体系结构设计
- 6.6.1 表示软件结构的图形工具
- 6.6.2 面向数据流的设计方法
- 6.6.3 面向数据结构的设计方法
- 6.7 接口设计
- 6.7.1 接口设计概述
- 6.7.2 界面设计
- 6.7.3 UX设计与UI设计的区别
- 6.8 数据设计
- 6.9 过程设计
- 6.9.1 程序流程图
- 6.9.2 N-S图
- 6.9.3 PAD图
- 6.9.4 过程设计语言
- 6.10 软件设计评审
- 6.11 结构化设计实例
- 习题
- 第7章 面向对象方法与UML
- 7.1 面向对象的软件工程方法
- 7.1.1 面向对象的基本概念
- 7.1.2 面向对象的软件工程方法的特征与优势
- 7.1.3 面向对象的实施步骤
- 7.2 统一建模语言
- 7.2.1 UML简述
- 7.2.2 UML的应用范围
- 7.2.3 UML的图
- 7.2.4 UML“4+1”视图
- 7.3 静态建模机制
- 7.3.1 用例图
- 7.3.2 类图和对象图
- 7.3.3 包图
- 7.4 动态建模机制
- 7.4.1 顺序图
- 7.4.2 协作图
- 7.4.3 状态图
- 7.4.4 活动图
- 7.5 描述物理架构的机制
- 7.5.1 构件图
- 7.5.2 部署图
- 7.6 面向对象方法与UML实例
- 习题
- 第8章 面向对象分析
- 8.1 面向对象分析方法
- 8.1.1 面向对象分析过程
- 8.1.2 面向对象分析原则
- 8.2 面向对象建模
- 8.2.1 建立对象模型
- 8.2.2 建立动态模型
- 8.2.3 建立功能模型
- 8.2.4 3种模型之间的关系
- 8.3 面向对象分析实例
- 习题
- 第9章 软件体系结构与设计模式
- 9.1 软件体系结构概述
- 9.1.1 软件体系结构的概念
- 9.1.2 软件体系结构建模
- 9.1.3 软件体系结构的分层模型
- 9.1.4 软件体系结构的作用
- 9.2 典型的软件体系结构风格
- 9.2.1 数据流风格
- 9.2.2 调用∕返回风格
- 9.2.3 独立构件风格
- 9.2.4 虚拟机风格
- 9.2.5 仓库风格
- 9.3 软件质量属性
- 9.4 分布式系统结构
- 9.4.1 多处理器体系结构
- 9.4.2 客户机/服务器体系结构
- 9.4.3 分布式对象体系结构
- 9.4.4 对等端体系结构
- 9.4.5 代理
- 9.5 体系结构框架
- 9.5.1 模型-视图-控制器
- 9.5.2 模型-视图-表示器
- 9.5.3 J2EE体系结构框架
- 9.5.4 PCMEF框架
- 9.5.5 PCBMER框架
- 9.6 软件系统的设计模式
- 9.6.1 工厂模式
- 9.6.2 桥接模式
- 9.6.3 策略模式
- 9.6.4 其他模式
- 9.7 软件体系结构与设计模式实例
- 习题
- 第10章 面向对象设计
- 10.1 面向对象设计与结构化设计
- 10.2 面向对象设计与面向对象分析的关系
- 10.3 面向对象设计的过程与原则
- 10.3.1 面向对象设计的过程
- 10.3.2 面向对象设计的原则
- 10.4 面向对象设计的启发规则
- 10.5 系统设计
- 10.5.1 系统分解
- 10.5.2 问题域子系统的设计
- 10.5.3 人机交互子系统的设计
- 10.5.4 任务管理子系统的设计
- 10.5.5 数据管理子系统的设计
- 10.6 对象设计
- 10.6.1 设计类中的服务
- 10.6.2 设计类的关联
- 10.6.3 对象设计优化
- 10.7 面向对象设计实例
- 习题
- 第11章 软件实现
- 11.1 编程语言
- 11.1.1 编程语言的发展与分类
- 11.1.2 选择编程语言需考虑的因素
- 11.2 编程风格与规范
- 11.3 面向对象实现
- 11.4 代码重用
- 11.5 分析和评价代码的质量
- 11.6 软件实现实例
- 11.7 案例实践:使用WebStorm和PyCharm实现软件学院“‘墨韵’读书会图书共享平台”的“用户登录”模块
- 习题
- 第12章 软件测试
- 12.1 软件测试的基本概念
- 12.1.1 软件测试的原则
- 12.1.2 软件测试模型
- 12.2 软件测试的分类
- 12.3 测试用例
- 12.4 软件测试方法
- 12.5 黑盒测试
- 12.5.1 等价类划分法
- 12.5.2 边界值分析法
- 12.5.3 错误推测法
- 12.5.4 因果图法
- 12.5.5 决策表法
- 12.5.6 场景法
- 12.5.7 黑盒测试方法的选择
- 12.6 白盒测试
- 12.6.1 代码检查法
- 12.6.2 静态结构分析法
- 12.6.3 程序插桩技术
- 12.6.4 逻辑覆盖法
- 12.6.5 基本路径法
- 12.6.6 白盒测试方法的选择
- 12.6.7 白盒测试与黑盒测试的比较
- 12.7 软件测试的一般步骤
- 12.8 单元测试
- 12.8.1 单元测试概述
- 12.8.2 单元测试内容
- 12.8.3 单元测试方法
- 12.9 集成测试
- 12.9.1 集成测试概述
- 12.9.2 集成测试分析
- 12.9.3 集成测试策略
- 12.10 系统测试
- 12.10.1 系统测试概述
- 12.10.2 系统测试类型
- 12.11 验收测试
- 12.11.1 验收测试概述
- 12.11.2 验收测试内容
- 12.11.3 α测试和β测试
- 12.12 回归测试
- 12.13 面向对象的软件测试
- 12.14 自动化测试
- 12.14.1 手工测试与自动化测试
- 12.14.2 自动化测试的优缺点
- 12.14.3 自动化测试工具
- 12.15 软件调试
- 12.16 软件测试实例
- 12.17 案例实践:使用PyCharm对软件学院“‘墨韵’读书会图书共享平台”的“用户登录”模块进行单元测试
- 习题
- 第13章 软件维护与软件工程管理
- 13.1 软件维护
- 13.1.1 软件部署与软件交付
- 13.1.2 软件维护的过程
- 13.1.3 软件维护的分类
- 13.1.4 软件的可维护性
- 13.1.5 软件维护的副作用
- 13.1.6 自动化运维
- 13.1.7 软件再工程——重构、正向工程、逆向工程
- 13.2 软件估算
- 13.2.1 软件估算的概念
- 13.2.2 软件估算的方法
- 13.2.3 软件估算的原则与技巧
- 13.3 软件开发进度计划
- 13.3.1 Gantt图
- 13.3.2 PERT图
- 13.4 软件开发人员组织
- 13.4.1 民主制程序员组
- 13.4.2 主程序员组
- 13.4.3 现代程序员组
- 13.5 软件开发风险及其管理
- 13.5.1 软件开发风险
- 13.5.2 软件开发风险管理
- 13.6 软件质量保证
- 13.6.1 软件质量的基本概念
- 13.6.2 软件质量保证的措施
- 13.7 软件配置管理
- 13.7.1 软件配置管理术语
- 13.7.2 配置管理的过程
- 13.7.3 配置管理的角色划分
- 13.8 软件工程标准与软件文档
- 13.8.1 软件工程标准
- 13.8.2 软件文档
- 13.9 软件过程能力成熟度模型
- 13.10 软件项目管理
- 13.10.1 软件项目管理概述
- 13.10.2 软件项目管理与软件工程的关系
- 习题
- 参考文献
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。