商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
软件工程:原理、方法与应用(第3版) [平装] | ![]() |
|
![]() |
软件工程:原理、方法与应用(第3版) [平装] | ![]() |
《软件工程:原理、方法与应用(第3版)》:从“应用”出发,兼顾“原理”与“方法”,在讲解方法时精选例题,以便读者理解;当升华到原理时提纲挈领,画龙点睛。
重点介绍面向对象的软件工程,同时对基于构件的软件工程进行简单的对比和介绍。
加强实践环节,以案例为先行和归宿。
加强对部分新技术的介绍,反映Web软件工程等新进展。
史济民,教授,毕业于上海交通大学电机工程系,在原成都科技大学历任教研室主任、副教授和教授,现为华东理工大学计算中心顾问、全国高校计算机基础教育研究会荣誉副会长。长期从事计算机软件的教学与研究。近20年来先后编写高校计算机教材近30种,发行逾300万册,有6种教材获得教育部或上海市普通高校优秀教材一、二等奖等奖励,其中《软件工程——原理、方法与应用》(第1、2版)在17年内发行量近30万册。
第1章 绪论
1.1 软件和软件危机
1.1.1 软件的定义
1.1.2 软件的特征
1.1.3 软件危机
1.2 软件工程学的范畴
1.2.1 软件开发方法学
1.2.2 软件工具
1.2.3 软件工程环境
1.2.4 软件工程管理
1.3 软件工程的发展
1.3.1 3种编程范型
1.3.2 3代软件工程
1.4 软件工程的应用
1.4.1 在各种规模软件开发中的应用
1.4.2 软件工程的成就与发展展望
1.5 软件工程的教学:本书导读
小结
习题
上篇 传统软件工程
第2章 软件生存周期与软件过程
2.1 软件生存周期
2.1.1 软件生存周期的主要活动
2.1.2 生存周期与软件过程的关系
2.2 传统的软件过程
2.2.1 瀑布模型
2.2.2 快速原型模型
2.3 软件演化模型
2.3.1 增量模型
2.3.2 螺旋模型
2.3.3 构件集成模型
2.4 形式化方法模型
2.4.1 转换模型
2.4.2 净室模型
2.5 统一过程和敏捷过程
2.5.1 统一过程
2.5.2 敏捷过程
2.5.3 极限编程
2.6 软件可行性研究
2.6.1 可行性研究的内容与步骤
2.6.2 软件风险分析
2.6.3 项目实施计划
小结
习题
第3章 结构化分析与设计
3.1 概述
3.1.1 结构化分析与设计的由来
3.1.2 SA模型的组成与描述
3.1.3 SD模型的组成与描述
3.2 结构化系统分析
3.2.1 画分层数据流图
3.2.2 确定数据定义与加工策略
3.2.3 需求分析的复审
3.3 结构化系统设计
3.3.1 SD概述
3.3.2 SD的步骤:从DFD图到SC图
3.3.3 变换映射
3.3.4 事务映射
3.3.5 优化初始SC图的指导规则
3.3.6 教材购销系统的总体结构
3.4 模块设计
3.4.1 目的与任务
3.4.2 模块设计的原则与方法
3.4.3 常用的表达工具
小结
习题
中篇 面向对象软件工程
第4章 面向对象与uML
4.1 面向对象概述
4.1.1 对象和类
4.1.2 面向对象的基本特征
4.1.3 面向对象开发的优点
4.2 uML简介
4.2.1 UML的组成
4.2.2 UML的特点
4.2.3 UML的应用
4.3 静态建模
4.3.1 用例图与用例模型
4.3.2 类图和对象图
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.6 UML工具
4.6.1 RationalRose
4.6.2 StarUML
小结
习题
第5章 需求工程与需求分析
5.1 软件需求工程
5.1.1 软件需求的定义
5.1.2 软件需求的特性
5.1.3 需求工程的由来
5.2 需求分析与建模
5.2.1 需求分析的步骤
5.2.2 需求分析是迭代过程
5.3 需求获取的常用方法
5.3.1 常规的需求获取方法
5.3.2 用快速原型法获取需求
5.4 需求模型
5.4.1 需求模型概述
5.4.2 面向对象的需求建模
5.5 软件需求描述
5.6 需求管理
5.6.1 需求管理的内容
5.6.2 需求变更控制
5.6.3 需求管理工具
5.7 需求建模示例
5.7.1 问题陈述
5.7.2 用例模型
5.7.3 补充规约
5.7.4 术语表
小结
习题
第6章 面向对象分析
6.1 软件分析概述
6.1.1 面向对象软件分析
6.1.2 面向对象分析模型
6.2 面向对象分析建模
6.2.1 识别与确定分析类
6.2.2 建立对象-行为模型
6.2.3 建立对象-关系模型
6.3 面向对象分析示例
6.3.1 注册
6.3.2 维护个人信息
6.3.3 维护购物车
6.3.4 生成订单
6.3.5 管理订单
小结
习题
第7章 面向对象设计
7.1 软件设计概述
7.1.1 软件设计的概念
7.1.2 软件设计的任务
7.1.3 模块化设计
7.2 面向对象设计建模
7.2.1 面向对象设计模型
7.2.2 面向对象设计的任务
7.2.3 模式的应用
7.3 系统架构设计
7.3.1 系统高层结构设计
7.3.2 确定设计元素
7.3.3 任务管理策略
7.3.4 分布式实现机制
7.3.5 数据存储设计
7.3.6 人机交互设计
7.4 系统元素设计
7.4.1 子系统设计
7.4.2 分包设计
7.4.3 类/对象设计
7.5 面向对象设计示例
7.5.1 关联关系的具体化
7.5.2 网上购物系统的架构设计
7.5.3 网上购物系统的类/对象设计
小结
习题
第8章 编码与测试
8.1 编码概述
8.1.1 编码的目的
8.1.2 编码的风格
8.2 编码语言与编码工具
8.2.1 编码语言的发展
8.2.2 常用的编程语言
8.2.3 编码语言的选择
8.2.4 编码工具
8.3 编码示例
8.3.1 注册功能编码实现
8.3.2 维护购物车功能编码实现
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.6 测试用例设计
8.6.1 黑盒测试用例设计
8.6.2 白盒测试用例设计
8.7 多模块程序的测试策略
8.7.1 测试的层次性
8.7.2 单元测试
8.7.3 集成测试
8.7.4 确认测试
8.7.5 系统测试
8.7.6 终止测试的标准
8.8 面向对象系统的测试
8.8.1 OO软件的测试策略
8.8.2 OO软件测试用例设计
小结
习题
下篇 软件工程的近期进展、管理与环境
第9章 软件维护
9.1 软件维护的种类
9.2 软件可维护性
9.3 软件维护的实施
9.4 软件维护的管理
9.5 软件配置管理
9.6 软件再工程
小结
习题
第10章 软件复用
10.1 软件复用的基本概念
10.1.1 软件复用的定义
10.1.2 软件复用的措施
10.1.3 软件复用的粒度
10.2 领域工程
10.2.1 横向复用和纵向复用
10.2.2 实施领域分析
10.2.3 开发可复用构件
10.2.4 建立可复用构件库
10.3 基于构件的软件开发
10.3.1 构件集成模型
10.3.2 应用系统工程
10.4 面向对象与软件复用
10.4.1 OO方法对软件复用的支持
10.4.2 复用技术对OO方法的支持
10.4.3 基于构件软件开发的现状与问题
小结
习题
第11章 软件工程管理
11.1 管理的目的与内容
11.2 软件估算模型
11.2.1 资源估算模型
11.2.2 COCOMO模型
11.3 软件成本估计
11.4 人员的分配与组织
11.5 项目进度安排
小结
习题
第12章 软件质量管理
12.1 从质量保证到质量认证
12.2 质量保证
……
第13章 软件工程环境
第14章 软件工程高级课题
附录 缩略语中英文对照表
主要参考文献
本书第2版自2002年12月首印,迄今已5年有半了。许多高等院校的计算机专业和软件学院相关专业采用该版书作为本科生“软件工程”课程的教材。为了更好地满足读者需要,我们决定编写第.3版,并确定了如下的编写方针:
一、继续保持“注重实践”的风格
软件工程具有很强的实践性,但早期的软件工程教材往往偏重于理论,介绍原理有余,联系应用不足。由于缺乏可供借鉴的示例,使读者在具体开发时常有不知从何处入手的感觉。本书取名《软件工程——原理、方法与应用》,就是希望从“应用”出发,兼顾“原理”与“方法”两个方面:讲解方法时精选例题,方便模仿:上升到原理时提纲挈领,画龙点睛。目的是让读者一方面掌握软件工程的常用方法及其具体操作,另一方面又提升到以原理为指导,不致被具体方法中繁琐的细节所淹没。从本书第1版起,编者就参照国际知名教材《软件工程:实践者的方法》(Pressman著)的做法,广举例题,注重实践,因而取得第1版连续发行12年近12万册,第2版在5年半中重印12次、累计发行14.1万册的好成绩。本版保持了上述风格,力求使之名副其实地成为理论结合实际、注重能力培养的实践型教材。
插图:
2.细化阶段
识别出剩余的大多数用例。对当前迭代的每个用例进行细化,分析用例的处理流程、状态细节以及可能发生的状态变化。细化流程时,可以使用程序框图和协作图,还可以使用活动图、类图分析用例对风险的处理。这一阶段主要应完成以下工作:
进行需求风险分析。考虑项目的目标是否偏离了用户的需求。为了解决需求风险要充分了解用户需求以及各需求的优先级,还应尽量列出所有的用例,并要建立领域的概念模型。
进行技术风险分析。通过建立原型等方法,考察所选的技术方案是否可行。
进行技能风险分析。考虑实施项目的人员素质能否胜任项目的要求。
进行政策风险分析。考虑政策性因素对项目的影响。
进行高层分析和设计,并作出结构性决策。
产生简要体系结构,包括用例列表、领域概念模型和技术平台等。在以后的阶段中对细化阶段所建立的体系结构不能进行过大的变动。
为构造阶段制定计划。
3.构造阶段识别出剩余的用例。
每一次迭代开发都是针对用例进行分析、设计、编码、测试和集成的过程,所得到的产品是满足项目需求的一个子集。由于细化阶段的软件设计已经完成,这样各项目组可以并行开发。
在代码完成后,要保证其符合标准和设计规则,并要进行质量检查。对于新出现的变化,要通过逆向工具把代码转换为模型,对模型进行修改,再重新生成代码,以保证软件与模型同步。
喜欢软件工程:原理、方法与应用(第3版) [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务