新書推薦:
《
深度学习详解
》
售價:NT$
519.0
《
李白传(20世纪文史学家李长之经典传记)
》
售價:NT$
207.0
《
津轻:日本无赖派文学代表太宰治自传性随笔集
》
售價:NT$
302.0
《
河流之齿
》
售價:NT$
270.0
《
新经济史革命:计量学派与新制度学派
》
售價:NT$
406.0
《
盗墓笔记之秦岭神树4
》
售價:NT$
259.0
《
战胜人格障碍
》
售價:NT$
302.0
《
逃不开的科技创新战争
》
售價:NT$
467.0
|
內容簡介: |
赵文耘和彭鑫和张刚和沈立炜编著的《软件工程 --方法与实践》系统性地介绍软件工程的基本概念、 软件开发过程以及需求工程、软件设计、软件构 造、软件测试、软件维护等基本的软件工程技术。此 外,本书还介绍基于构件的软件开发方 法、软件产品线开发方法、模型驱动的体系结构等新 的软件开发方法。本书突出软件工程方 法的工程实践,以大量的实践案例和示例贯穿各部分 内容,同时基于软件构造工具、软件测 试工具、软件维护工具等介绍相应的工程实践。
本书第1章对软件工程的基本概念、软件开发的 根本性困难以及软件工程知识领域进行 概述。第2章介绍软件过程。第3章至第7章按照软件 开发的基本过程分别介绍需求工程、 软件设计、软件构造、软件测试和软件维护5个技术 领域。第8章和第9章则分别介绍软件 复用与构件技术和软件产品线。最后,第10章介绍几 种软件开发新技术(面向方面的编程、 面向特征的编程、模型驱动的体系结构)。
本书可以为软件工程领域的研究者了解相关方面 的研究状况及开展相关研究工作打下 基础,同时为项目经理、架构师等高级工程技术人员 掌握软件开发过程管理、软件设计和构 造技术等方面的前沿技术和最佳实践提供帮助。
|
關於作者: |
赵文耘 复日大学计算机科学技术学院教授、博士生导师、教学名师。复旦大学软件工程一级学科学术带头人,软件工程博士后流动站站长。中国计算机学会软件工程专委会副主任,中国软件行业协会软件工程分会副理事长。长期从事软件工程的教学和研究工作。“七五”、“八五”、“九五”期间参加杨芙清院士主持的国家重点科技攻关课题“大型软件开发环境——青鸟系统”的研究,为复旦大学所承担的各子专题的主要开发人员及负责人,同时还负责国家863项目6项、国家自然科学基金项目l项、上海市科委项目3项以及多项应用软件的研究和开发。获国家科技进步二等奖、电子工业部科技进步特等奖、上海市科技进步二等奖等多项国家级、省部级奖励。
彭鑫,博士,复旦大学软件学院副教授、博士生导师。现为中国计算机学会高级会员、软件工程专业委员会委员、上海市计算机学会青年工作委员会委员。2001年毕业于复旦大学计算机科学与工程系,获学士学位。2006年复旦大学计算机软件与理论专业研究生毕业,获博士学位。2010年晋升为副教授,2013年入选复旦大学“卓学计划”。主要研究方向包括软件维护与演化、软件产品线、白适应软件、移动计算与云计算等。至今已在国际会议及国内外期刊上发表论文40余篇,并担任了ICSR,SEKE,ICSM等国际会议的程序委员会委员。研究工作获得第27届软件维护国际会议最佳论文奖。
张刚,博士、高级工程师,上海理工大学光电信息与计算机工程学院教师、硕士生导师。研究方向为软件工程,包括软件开发方法、软件体系结构、软件维护等,在国际会议上发表多篇论文。2013年毕业于复旦大学计算机科学技术学院,获博士学位。此前在上海贝尔任职12年,历任软件工程师、高级工程师、软件开发经理、主任工程师和顾问工程师等职,曾长期担任全球第一款全IP千兆接入产品ISAM7302的总体软件架构师。自2009年起担任公司战略与转型部门技术教练,成功引领了多个产品和团队的敏捷转型。2013年被贝尔实验室授予“杰出工程师”称号。
沈立炜,博士,复旦大学软件学院讲师。2009年毕业于复旦大学计算机科学技术学院,获博士学位,博士期间曾前往美国北卡罗莱纳大学夏洛特分校进行学术访问。目前主要从事软件工程方面的教学与科研工作,研究方向包括软件体系结构、软件产品线及自适应软件等。参加多项国家863项目与自然科学基金项目的研究,在国内外相关领域学术会议和期刊上发表论文10余篇。
|
目錄:
|
第1章 软件工程概述
1.1 软件工程基本概念
1.2 软件开发的根本性困难
1.3 软件工程知识领域
1.4 各章 内容简介
1.4.1 软件过程
1.4.2 需求工程
1.4.3 软件设计
1.4.4 软件构造
1.4.5 软件测试
1.4.6 软件维护
1.4.7 软件复用与构件技术
1.4.8 软件产品线
1.4.9 软件开发新技术
本章参考文献
第2章 软件过程
2.1 概述
2.1.1 基本概念
2.1.2 ISO/IEC12207软件生存周期过程
2.1.3 软件过程模型
2.2 统一软件开发过程
2.2.1 迭代和增量的过程框架
2.2.2 用况驱动,以构架为中心
2.2.3 核心工作流
2.3 敏捷和精益方法
2.3.1 概述
2.3.2 敏捷方法的价值观和原则
2.3.3 精益思想
2.3.4 敏捷和精益实践简介
2.4 软件能力成熟度和过程改进
2.4.1 软件过程改进
2.4.2 能力成熟度模型集成
本章参考文献
第3章 软件需求工程
3.1 需求工程概述
3.1.1 软件需求
3.1.2 现状与挑战
3.1.3 需求制品
3.1.4 需求工程过程及活动
3.2 系统与上下文分析
3.2.1 软件密集型系统
3.2.2 从系统需求到软件需求
3.2.3 系统上下文
3.2.4 问题框架方法
3.3 需求制品
3.3.1 目标
3.3.2 场景
3.3.3 面向方案的需求
3.4 需求工程活动
3.4.1 需求获取
3.4.2 需求分析
3.4.3 文档化
3.4.4 需求确认
3.5 需求管理
3.5.1 需求追踪管理
3.5.2 需求优先级管理
3.5.3 需求变更管理
本章参考文献
第4章 软件设计
4.1 软件设计概述
4.1.1 软件设计的目标
4.1.2 软件设计的相关概念
4.1.3 软件设计的设计原则
4.1.4 软件设计的过程模型
4.2 模型和视图
4.2.1 模型
4.2.2 视图
4.2.3 UML建模语言
4.3 质量属性
4.3.1 质量属性和设计
4.3.2 ISO/IEC25010
4.3.3 质量属性效用树
4.4 软件体系结构设计
4.4.1 软件体系结构的定义
4.4.2 软件体系结构视图
4.4.3 风格、模式和框架
4.4.4 软件体系结构模式
4.5 设计评审
4.5.1 设计评审目标
4.5.2 设计评审原则
4.5.3 体系结构评估方法
本章参考文献
第5章 软件构造
5.1 软件构造的概述
5.2 构造阶段的设计
5.2.1 抽象数据类型
5.2.2 类和接口
5.2.3 依赖
5.2.4 契约式设计
5.3 编码
5.3.1 语言
5.3.2 编程规范
5.3.3 错误处理
5.4 单元测试
5.4.1 基本概念
5.4.2 自动化单元测试框架
5.4.3 依赖和测试替身
5.4.4 测试先行
5.4.5 测试驱动开发
5.5 集成
5.5.1 “大爆炸”集成和增量集成
5.5.2 持续集成
5.6 软件构造工具
5.6.1 版本管理系统
5.6.2 编译和调试工具
5.6.3 集成开发环境
本章参考文献
第6章 软件测试
6.1 软件测试概述
6.1.1 软件测试的价值
6.1.2 软件测试的概念
6.1.3 典型的软件测试级别
6.1.4 软件测试的原则
6.2 软件测试过程
6.2.1 软件测试过程模型
6.2.2 软件测试标准
6.3 软件测试技术
6.3.1 黑盒测试
6.3.2 白盒测试
6.3.3 组合测试
6.3.4 变异测试
6.3.5 静态测试
6.4 软件测试类型
6.4.1 单元测试
6.4.2 集成测试
6.4.3 系统测试
6.4.4 验收测试
6.4.5 回归测试
6.5 软件测试工具
6.5.1 静态代码分析工具
6.5.2 系统测试工具
6.6 面向对象软件的测试
6.6.1 面向对象软件测试的难点
6.6.2 面向对象软件的测试方法
本章参考文献
第7章 软件维护
7.1 软件维护概述
7.1.1 软件维护类型
7.1.2 软件的可维护性
7.1.3 软件维护过程
7.1.4 软件再工程
7.1.5 软件维护技术
7.2 软件分析
7.2.1 静态分析
7.2.2 动态分析
7.2.3 开发历史分析
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.4.5 软件可视化
7.5 软件重构
7.5.1 代码的坏味道
7.5.2 基本的软件重构类型
7.5.3 重构的原则
7.6 软件维护工具
7.6.1 缺陷跟踪管理工具
7.6.2 任务管理工具
7.6.3 特征定位工具
7.6.4 克隆分析工具
7.6.5 逆向分析工具
7.6.6 代码分析和度量工具
本章参考文献
第8章 软件复用与构件技术
8.1 软件复用基础
8.1.1 软件复用分类
8.1.2 软件复用的发展、现状与挑战
8.1.3 软件复用经济学
8.2 软件复用过程
8.2.1 软件复用的一般过程
8.2.2 复用过程标准IEEE1517
8.2.3 软件复用成熟度模型
8.3 软件复用技术
8.3.1 生成式复用
8.3.2 组装式复用
8.3.3 面向对象技术中的软件复用
8.4 基于构件的软件开发
8.4.1 软件构件的定义
8.4.2 软件构件模型
8.4.3 构件组装技术
8.4.4 商用成品构件
8.4.5 构件管理
8.4.6 构件化对企业的影响
8.5 基于框架与中间件的复用
8.5.1 框架技术
8.5.2 中间件技术
本章参考文献
第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.3 领域工程
9.3.1 领域需求工程
9.3.2 领域设计
9.3.3 领域实现
9.4 应用系统工程
9.4.1 应用系统需求工程
9.4.2 应用系统设计
9.4.3 应用系统实现
9.5 软件产品线管理
9.5.1 软件产品线管理中的特殊问题
9.5.2 软件产品线组织管理
9.5.3 软件产品线技术管理
本章参考文献
第10章 软件开发新技术
10.1 面向方面的编程
10.1.1 AOP概述
10.1.2 AOP与OOP的关系
10.1.3 AOP的实现框架与工具
10.1.4 AspectJ简介及其应用实例
10.1.5 SprngAOP简介及其应用实例
10.1.6 JBossAOP简介及其应用实例
10.2 面向特征的编程
10.2.1 FOP概述
10.2.2 FOP语言模型
10.2.3 FeatureIDE
10.3 模型驱动的体系结构
10.3.1 MDA概述
10.3.2 MDA模型体系
10.3.3 基于MDA的软件开发过程
10.3.4 MDA应用实例
本章参考文献
|
|