书籍详情

软件工程:实践者的研究方法

软件工程:实践者的研究方法

作者:(美)RoyerS.Pressman著;黄柏素,梅宏译;黄柏素译

出版社:机械工业出版社

出版时间:1999-10-01

ISBN:9787111072829

定价:¥48.00

购买这本书可以去
内容简介
  本书以丰富的信息资源、广泛的角度深刻地论述了软件工程的方方面面,内容包括软件工程的相关语境、管理软件项目的方法、各种软件工程的方法论、面向对象的方法、客户/服务器软件工程、CASE等。本书内容新颖、见解独到,适合大学计算机专业高年级学生、研究生学习,也适合软件工程开发者、组织者、管理者参考。
作者简介
  作者简介RogerS.Pressman是软件工程领域国际知名的咨询专家和作者。他以优等成绩从Connecticut大学获得学士学位,从Bridgeport大学获得硕士学位,从Connecticut大学获得工学博士学位。已有超过25年的产业经验。主要从事工程产品软件和系统软件的开发技术工作和管理工作。作为产业的实践者和管理者,Pressman博士主要从事的是航空航天应用中高级工程和制造的CAD/CAM系统的开发,他也从事科学及系统程序设计方面的工作。除了他的产业经验之外,Pressman博士还是Bridgeport大学计算机工程系的兼职副教授和该大学的计算机辅助设计和制造中心的主任。Pressman博士是R.S.Pressman&Associates,Inc公司的总裁,这是一家专门从事软件工程方法和培训的咨询公司。他是公司主要的咨询专家,专门负责帮助其他公司建立有效的软件工程方法。他开发了RSP&A软件工程评估方法,该方法采用独特的数量和质量分析混合的方式,帮助客户评估他们软件工程实践的当前状况。除了给500多个客户提供咨询服务外,R.S.Pressman&Associates,Inc公司还提供大量的软件工程培训及过程改善服务。公司开发了一个艺术式的录像课程“EssentialSoftwareEngineering”,它全面地讲述了产业界关于这一主题的内容。另一个产品“ProcessAdvisor”是指导企业软件工程改进的自测系统。Pressman博士还在产业期刊上发表了许多技术论文,是企业期刊的特约撰稿人并出版了6本书。除了本书外,还有:“MakingSoftwareEngineeringHappen(PrenticeHall出版公司出版)”,这是第一本涉及到改善软件工程实施过程中的主要管理问题的书籍;“SoftwareShock(DorsetHouse出版公司出版)”,该书叙述了软件及其对商业和社会的影响;“AManager'sGuidetoSoftwareEngineering(McGraw-Hill出版公司出版)”,该书使用独特的Q&A方式表示了创立和理解技术的管理指南。Pressman博士是杂志AmericanProgrammer(美国程序员)和IEEESoftware(IEEE软件)的编委,是IEEESoftware的Manager(管理员)专栏的编辑。他还是ACM、IEEE、TauBetaPi、PhiKappaPhi、EtaKappaNu和PiTauSigma的会员。
目录
     目 录
   作者简介
   译者简介
   前言
   第一部分 产品和过程
    第1章 产品
    1.1 软件的发展
    1.1.1产业的观点
    1.1.2老化的软件工厂
    1.1.3软件的竞争
    1.2软件
    1.2.1软件特征
    1.2.2软件构件
    1.2.3软件应用
    1.3软件:地平线上的危机
    1.4软件神话
    1.5小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第2章 过程
    2.1软件工程——一种层次化技术
    2.1.1过程、方法和工具
    2.1.2 软件工程的一般视图
    2.2软件过程
    2.3软件过程模型
    2.4线性顺序模型
    2.5原型模型
    2.6RAD模型
    2.7演化软件过程模型
    2.7.1增量模型
    2.7.2螺旋模型
    2.7.3构件组装模型
    2.7.4并发开发模型
    2.8形式化方法模型
    2.9第四代技术
    2.10过程技术
    2.11产品和过程
    2.12小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
   第二部分 软件项目的管理
    第3章 项目管理的概念
    3.1管理的范围
    3.1.1人员
    3.1.2问题
    3.1.3过程
    3.2人员
    3.2.1项目参与者
    3.2.2项目负责人
    3.2.3软件项目组
    3.2.4协调和通信问题
    3.3问题
    3.3.1软件范围
    3.3.2问题分解
    3.4过程
    3.4.1合并问题和过程
    3.4.2过程分解
    3.5项目
    3.6小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第4章 软件过程和项目的度量
    4.1测度、度量和指标
    4.2过程和项目领域中的度量
    4.2.1过程度量和软件过程改进
    4.2.2项目度量
    4.3软件测量
    4.3.1面向规模的度量
    4.3.2面向功能的度量
    4.3.3扩展的功能点度量
    4.4调和不同的度量方法
    4.5软件质量度量
    4.5.1概述影响质量的因素
    4.5.2测量质量
    4.5.3缺陷排除效率
    4.6在软件过程中集成度量
    4.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第5章 软件项目计划
    5.1对估算的观察
    5.2项目计划目标
    5.3软件范围
    5.3.1获取定义软件范围所需的信息
    5.3.2一个范围定义的例子
    5.4 资源
    5.4.1人力资源
    5.4.2可复用软件资源
    5.4.3环境资源
    5.5软件项目估算
    5.6分解技术
    5.6.1软件规模估算
    5.6.2基于问题的估算
    5.6.3一个基于LOC估算的例子
    5.6.4一个基于FP估算的例子
    5.6.5基于过程的估算
    5.6.6一个基于过程估算的例子
    5.7经验估算模型
    5.7.1估算模型的结构
    5.7.2COCOMO模型
    5.7.3软件方程式
    5.8自行开发或购买的决策
    5.8.1创建决策树
    5.8.2外购
    5.9自动估算工具
    5.10小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第6章 风险管理
    6.1被动和主动的风险策略
    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.4.1建立风险表
    6.4.2评估风险影响
    6.4.3风险评估
    6.5风险缓解、监控和管理
    6.6安全性风险和危险
    6.7RMMM计划
    6.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第7章 项目进度安排及跟踪
    7.1基本概念
    7.1.1关于“延迟”的评注
    7.1.2 基本原则
    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解释TSS值并选择任务集合
    7.4选择软件工程任务
    7.5主要任务的求精
    7.6定义任务网络
    7.7进度安排
    7.7.1时间表
    7.7.2跟踪进度
    7.8项目计划
    7.9小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第8章 软件质量保证
    8.1质量概念
    8.1.1质量
    8.1.2质量控制
    8.1.3质量保证
    8.1.4 质量的成本
    8.2质量运动
    8.3软件质量保证
    8.3.1背景
    8.3.2SQA活动
    8.4软件复审
    8.4.1软件缺陷对成本的影响
    8.4.2缺陷的放大和消除
    8.5正式技术复审
    8.5.1复审会议
    8.5.2复审报告和记录保存
    8.5.3复审指南
    8.6SQA的形式化方法
    8.7统计质量保证
    8.8软件可靠性
    8.8.1可靠性和可用性的度量
    8.8.2软件的安全和危险的分析
    8.9SQA计划
    8.10ISO9000质量标准
    8.10.1ISO对质量保证系统的方法
    8.10.2ISO9001标准
    8.11小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第9章 软件配置管理
    9.1软件配置管理
    9.1.1基线
    9.1.2软件配置项
    9.2SCM过程
    9.3软件配置中对象的标识
    9.4版本控制
    9.5变化控制
    9.6配置审计
    9.7状态报告
    9.8SCM标准
    9.9小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
   第三部分 传统软件工程方法
    第10章 系统工程
    10.1基于计算机的系统
    10.2系统工程层次结构
    10.2.1系统建模
    10.2.2信息工程:概述
    10.2.3产品工程:概述
    10.3信息工程
    10.4信息策略计划
    10.4.1企业建模
    10.4.2业务级数据建模
    10.5业务域分析
    10.5.1处理建模
    10.5.2信息流建模
    10.6产品工程
    10.6.1系统分析
    10.6.2说明客户需要
    10.6.3可行性研究
    10.6.4经济分析
    10.6.5技术分析
    10.7系统体系结构建模
    10.8系统建模和仿真
    10.9系统规约
    10.10小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第11章 分析概念和原则
    11.1需求分析
    11.2通信技术
    11.2.1过程的启动
    11.2.2便利的应用规约技术
    11.2.3质量功能部署
    11.3分析原则
    11.3.1信息域
    11.3.2建模
    11.3.3划分
    11.3.4基本视图和实现视图
    11.4软件原型
    11.4.1选择原型方法
    11.4.2原型方法和工具
    11.5规约
    11.5.1规约原则
    11.5.2表示
    11.5.3软件需求规约
    11.6规约复审
    11.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第12章 分析建模
    12.1简史
    12.2分析模型的元素
    12.3数据建模
    12.3.1数据对象、属性和关系
    12.3.2基数和形态
    12.3.3实体—关系图
    12.4功能建模和信息流
    12.4.1数据流图
    12.4.2针对实时系统的扩展
    12.4.3Ward和Mellor扩展
    12.4.4Hatley和Pirbhai扩展
    12.5行为建模
    12.6结构化分析的技巧
    12.6.1创建实体—关系图
    12.6.2创建数据流模型
    12.6.3创建控制流模型
    12.6.4控制规约
    12.6.5加工规约
    12.7数据字典
    12.8其他传统分析方法概述
    12.8.1数据结构化系统开发
    12.8.2Jackson系统开发
    12.8.3SADT
    12.9小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第13章 设计概念和原则
    13.1软件设计和软件工程
    13.2设计过程
    13.2.1设计和软件质量
    13.2.2软件设计的演化
    13.3设计原则
    13.4设计概念
    13.4.1抽象
    13.4.2求精
    13.4.3模块化
    13.4.4软件体系结构
    13.4.5控制层次
    13.4.6结构划分
    13.4.7数据结构
    13.4.8软件过程
    13.4.9信息隐蔽
    13.5有效的模块设计
    13.5.1功能独立性
    13.5.2内聚
    13.5.3耦合
    13.6针对有效模块化的设计启发
    13.7设计模型
    13.8设计文档
    13.9小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第14章 设计方法
    14.1数据设计
    14.2体系结构设计
    14.2.1贡献者
    14.2.2应用域
    14.3体系结构设计过程
    14.3.1变换流
    14.3.2事务流
    14.4 变换映射
    14.4.1一个实例
    14.4.2设计步骤
    14.5事务映射
    14.5.1一个实例
    14.5.2 设计步骤
    14.6 设计的后处理
    14.7体系结构设计优化
    14.8接口设计
    14.8.1内部和外部接口设计
    14.8.2用户界面设计
    14.9人机界面设计
    14.9.1界面设计模型
    14.9.2任务分析和建模
    14.9.3设计问题
    14.9.4实现工具
    14.9.5设计评估
    14.10界面设计指南
    14.10.1一般交互
    14.10.2信息显示
    14.10.3数据输入
    14.11过程设计
    14.11.1结构化程序设计
    14.11.2图形设计符号
    14.11.3表格设计符号
    14.11.4程序设计语言
    14.11.5一个PDL实例
    14.12小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第15章 实时系统的设计
    15.1系统考虑
    15.2实时系统
    15.2.1集成和性能问题
    15.2.2中断处理
    15.2.3实时数据库
    15.2.4实时操作系统
    15.2.5实时语言
    15.2.6任务同步和通信
    15.3实时系统的分析和仿真
    15.3.1实时系统分析的数学工具
    15.3.2仿真和建模技术
    15.4实时设计
    15.5小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第16章 软件测试技术
    16.1软件测试基础
    16.1.1测试目标
    16.1.2测试原则
    16.1.3可测试性
    16.2测试用例设计
    16.3白盒测试
    16.4基本路径测试
    16.4.1流图符号
    16.4.2环形复杂性
    16.4.3导出测试用例
    16.4.4图矩阵
    16.5控制结构测试
    16.5.1条件测试
    16.5.2数据流测试
    16.5.3循环测试
    16.6黑盒测试
    16.6.1基于图的测试方法
    16.6.2等价划分
    16.6.3边界值分析
    16.6.4比较测试
    16.7针对专门环境和应用的测试
    16.7.1GUI测试
    16.7.2客户/服务器体系结构的测试
    16.7.3测试文档和帮助设施
    16.7.4实时系统测试
    16.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第17章 软件测试策略
    17.1软件测试的策略途径
    17.1.1验证和确认
    17.1.2软件测试的组织
    17.1.3一种软件测试策略
    17.1.4测试完成的标准
    17.2策略问题
    17.3单元测试
    17.3.1单元测试考虑
    17.3.2单元测试规程
    17.4集成测试
    17.4.1自顶向下集成
    17.4.2自底向上集成
    17.4.3回归测试
    17.4.4关于集成测试的讨论
    17.4.5集成测试文档
    17.5确认测试
    17.5.1确认测试的标准
    17.5.2配置复审
    17.5.3Alpha和Beta测试
    17.6系统测试
    17.6.1恢复测试
    17.6.2安全测试
    17.6.3压力测试
    17.6.4性能测试
    17.7调试的技巧
    17.7.1调试过程
    17.7.2心理考虑
    17.7.3调试方法
    17.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第18章 软件的技术度量
    18.1软件质量
    18.1.1McCall的质量因素
    18.1.2FURPS
    18.1.3到量化视图的变迁
    18.2软件技术度量框架
    18.2.1技术度量的挑战
    18.2.2测度原则
    18.2.3有效软件度量的属性
    18.3分析模型的度量
    18.3.1基于功能的度量
    18.3.2“撞击值”度量
    18.3.3规约质量的度量
    18.4设计模型的度量
    18.4.1高层设计度量
    18.4.2构件级设计度量
    18.4.3界面设计度量
    18.5源代码度量
    18.6对测试的度量
    18.7对维护的度量
    18.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
   第四部分 面向对象的软件工程
    第19章 面向对象的概念和原则
    19.1面向对象的范型
    19.2面向对象概念
    19.2.1类和对象
    19.2.2属性
    19.2.3操作方法和服务
    19.2.4消息
    19.2.5封装、继承和多态
    19.3标识对象模型的元素
    19.3.1标识类和对象
    19.3.2表示属性
    19.3.3定义操作
    19.3.4完成对象定义
    19.4面向对象软件项目的管理
    19.4.1OO的公共过程框架
    19.4.2面向对象项目的度量和估算
    19.4.3一种OO估算和进度安排方法
    19.4.4面向对象项目的跟踪过程
    19.5小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第20章 面向对象分析
    20.1面向对象的分析
    20.1.1传统方法和OO方法
    20.1.2OOA概述
    20.2领域分析
    20.2.1复用和领域分析
    20.2.2 领域分析过程
    20.300分析模型的类属成分
    20.4OOA过程
    20.4.1使用实例
    20.4.2类—责任—协作者建模
    20.4.3定义结构和层次
    20.4.4定义主题和子系统
    20.5对象—关系模型
    20.6对象—行为模型
    20.6.1用使用实例标识事件
    20.6.2状态表示
    20.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第21章 面向对象设计
    21.1面向对象系统的设计
    21.1.1传统方法和OO方法
    21.1.2设计问题
    21.1.3OOD概述
    21.2OO设计模型的类属成分
    21.3系统设计过程
    21.3.1划分分析模型
    21.3.2并发性和子系统分配
    21.3.3任务管理构件
    21.3.4数据管理构件
    21.3.5资源管理构件
    21.3.6人机界面构件
    21.3.7子系统间通信
    21.4对象设计过程
    21.4.1对象描述
    21.4.2设计算法和数据结构
    21.4.3程序构件和接口
    21.5设计模式
    21.5.1描述设计模式
    21.5.2 在设计中使用设计模式
    21.6面向对象编程
    21.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第22章 面向对象测试
    22.1扩大测试的视角
    22.2测试OOA和OOD模型
    22.2.1OOA和OOD模型的正确性
    22.2.2OOA和OOD模型的一致性
    22.3面向对象的测试策略
    22.3.1在OO语境中的单元测试
    22.3.2在OO语境中的集成测试
    22.3.3在OO语境中的有效性测试
    22.4OO软件的测试用例设计
    22.4.1OO概念的测试用例设计的含义
    22.4.2传统测试用例设计方法的可用性
    22.4.3基于故障的测试
    22.4.4OO编程对测试的影响
    22.4.5测试用例和类层次
    22.4.6基于场景的测试设计
    22.4.7测试表层结构和深层结构
    22.5在类级别上可用的测试方法
    22.5.1对OO类的随机测试
    22.5.2在类级别上的划分测试
    22.6类间测试用例设计
    22.6.1多个类测试
    22.6.2从行为模型导出的测试
    22.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第23章 面向对象系统的技术度量
    23.1面向对象度量的目的
    23.2区别性的特征
    23.2.1局部化
    23.2.2封装
    23.2.3信息隐蔽
    23.2.4继承
    23.2.5抽象
    23.3对OO设计模型的度量
    23.4面向类的度量
    23.4.1CK度量套件
    23.4.2Lorenz和Kidd建议的度量
    23.5面向操作的度量
    23.6对面向对象测试的度量
    23.7对面向对象项目的度量
    23.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
   第五部分 软件工程高级课题
    第24章 形式化方法
    24.1基本概念
    24.1.1少量的形式化方法的不足
    24.1.2软件开发中的数学
    24.1.3形式化方法概念
    24.2数学预备知识
    24.2.1集合和构造性规约
    24.2.2集合运算符
    24.2.3逻辑运算符
    24.2.4序列
    24.3应用数学符号描述形式规约
    24.4形式化规约语言
    24.5用Z表示一个软件构件的例子
    24.6形式化方法的十条戒律
    24.7形式化方法——未来之路
    24.8小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第25章 净室软件工程
    25.1净室方法
    25.1.1净室策略
    25.1.2什么使得净室独特?
    25.2功能规约
    25.2.1黑盒规约
    25.2.2状态盒规约
    25.2.3清晰盒规约
    25.3设计求精和验证的优点
    25.3.1设计求精和验证
    25.3.2设计验证的优点
    25.4净室测试
    25.4.1统计的使用测试
    25.4.2认证
    25.5小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第26章 软件复用
    26.1管理问题
    26.1.1复用的障碍
    26.1.2硬件类比
    26.1.3建立复用途径的一些建议
    26.2复用过程
    26.2.1可复用的软件制品
    26.2.2一个过程模型
    26.3领域工程
    26.3.1领域分析过程
    26.3.2领域特征
    26.3.3结构建模和结构点
    26.4建造可复用构件
    26.4.1为了复用的分析和设计
    26.4.2构造方法
    26.4.3基于构件的开发
    26.5分类和检索构件
    26.5.1描述可复用构件
    26.5.2复用环境
    26.6软件复用经济学
    26.6.1对质量、生产率和成本的影响
    26.6.2使用结构点的成本分析
    26.6.3复用度量
    26.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第27章 再工程
    27.1业务过程再工程
    27.1.1业务过程
    27.1.2业务过程再工程的原则
    27.1.3BPR模型
    27.1.4几句警告
    27.2软件再工程
    27.2.1软件维护
    27.2.2软件再工程过程模型
    27.3逆向工程
    27.3.1理解处理的逆向工程
    27.3.2理解数据的逆向工程
    27.3.3用户界面的逆向工程
    27.4重构
    27.4.1代码重构
    27.4.2数据重构
    27.5正向工程
    27.5.1向客户/服务器体系结构的正向工程
    27.5.2向面向对象体系结构的正向工程
    27.5.3用户界面的正向工程
    27.6再工程经济学
    27.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第28章 客户/服务器软件工程
    28.1客户/服务器系统的结构
    28.1.1C/S系统的软件构件
    28.1.2软件构件的分布
    28.1.3分布应用构件的指南
    28.1.4连接C/S软件构件
    28.1.5中间件和对象请求代理体系结构
    28.2对C/S系统的软件工程
    28.3分析建模问题
    28.4对C/S系统的设计
    28.4.1传统设计方法
    28.4.2数据库设计
    28.4.3某设计方法的概述
    28.4.4加工设计的迭代
    28.5测试问题
    28.5.1整体C/S测试策略
    28.5.2C/S测试策略
    28.6小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第29章 计算机辅助软件工程
    29.1什么是CASE?
    29.2构造CASE的积木块
    29.3CASE工具分类
    29.4集成化CASE环境
    29.5集成体系结构
    29.6CASE中心库
    29.6.1在I-CASE中中心库的角色
    29.6.2特征和内容
    29.7小结
    参考文献
    思考题
    推荐阅读文献及其他信息源
    第30章 未来之路
    30.1软件的重要性——再论
    30.2变化的范围
    30.3人及他们建造系统的方式
    30.4“新”的软件过程
    30.5表示信息的新模式
    30.6技术作为推动力
    30.7结束语
    参考文献
    思考题
    推荐阅读文献及其他信息源
   
猜您喜欢

读书导航