热搜:南怀瑾 |证严上人

分类浏览



软件工程:方法与实践
作者:
赵文耘 彭鑫 张刚 沈立炜 著
定价:
59 元
页数:
372页
ISBN:
978-7-309-11010-4/T.525
字数:
561千字
开本:
16 开
装帧:
平装
出版日期:
2014年12月       
本类其他相关图书

内容提要


       本书系统性地介绍软件工程的基本概念、软件开发过程以及需求工程、软件设计、软件构造、软件测试、软件维护等基本的软件工程技术。此外,本书还介绍基于构件的软件开发方法、软件产品线开发方法、模型驱动的体系结构等新的软件开发方法。本书突出软件工程方法的工程实践,以大量的实践案例和示例贯穿各部分内容,同时基于软件构造工具、软件测试工具、软件维护工具等介绍相应的工程实践。
       本书第1章对软件工程的基本概念、软件开发的根本性困难以及软件工程知识领域进行概述。第2章介绍软件过程。第3章至第7章按照软件开发的基本过程分别介绍需求工程、软件设计、软件构造、软件测试和软件维护5个技术领域。第8章和第9章则分别介绍软件复用与构件技术和软件产品线。最后,第10章介绍几种软件开发新技术(面向方面的编程、面向特征的编程、模型驱动的体系结构)。
       本书可以为软件工程领域的研究者了解相关方面的研究状况并开展相关研究工作打下基础,同时为项目经理、架构师等高级工程技术人员掌握软件开发过程管理、软件设计和构造技术等方面的前沿技术和最佳实践提供帮助。
      

作者简介


       赵文耘,复旦大学软件学院教授、博士生导师。1984年毕业于复旦大学计算机科学系,1989年获得硕士学位。从1984年开始在复旦大学任教至今,曾任复旦大学档案馆副馆长、复旦大学校园网管理服务中心主任,现任复旦大学软件工程实验室主任、软件工程一级学科学术带头人、软件工程博士后流动站站长。学术兼职包括中国计算机学会软件工程专业委员会副主任、中国软件行业协会软件工程分会副理事长。研究方向为软件工程、软件开发工具及其环境、企业应用集成(EAI)。自1989年到2000年一直参加国家科技攻关项目“大型软件开发环境青鸟系统”的研制和开发,为复旦大学所承担的各子专题的主要开发人员或子专题负责人,该系统获1998年国家科技进步二等奖、1996年电子工业部科技进步特等奖和1996年三部委联合颁发的荣誉证书。2001年至今参加的863项目“基于Intemet以构件库为核心的软件开发平台”和“上海构件库及其应用研究”分别获得2006年国家科技进步二等奖和2005年上海市科技进步二等奖。主持上海市精品课程“软件工程”,获得复旦大学教学名师称号,负责的“软件工程课程教学与实践”获2009年上海市教学成果奖二等奖。
      
       彭鑫,博士,复旦大学软件学院副教授、博士生导师。现为中国计算机学会高级会员、软件工程专业委员会委员、上海市计算机学会青年工作委员会委员。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.2ISO/IEC 12207软件生存周期过程
       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.3UML建模语言
       4.3质量属性
       4.3.1质量属性和设计
       4.3.2ISO/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复用过程标准IEEE 1517
       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.1AOP概述
       10.1.2AOP与OOP的关系
       10.1.3AOP的实现框架与工具
       10.1.4AspectJ简介及其应用实例
       10.1.5Spring AOP简介及其应用实例
       10.1.6JBoss AOP简介及其应用实例
       10.2面向特征的编程
       10.2.1FOP概述
       10.2.2FOP语言模型
       10.2.3FeatureIDE
       10.3模型驱动的体系结构
       10.3.1MDA概述
       10.3.2MDA模型体系
       10.3.3基于MDA的软件开发过程
       10.3.4MDA应用实例
       本章参考文献

书评       

   

地址:上海市国权路579号
邮编:200433
电话:021-65642854(社办)
传真:021-65104812

图书购买:021-65642857 

版权所有©复旦大学出版社,2002-2018年若有问题请与我们 (webmaster@fudanpress.com) 联系! 沪ICP备05015926号