当前: 首页 - 图书专区 - 软件工程概论 第2版
软件工程概论 第2版


  教辅下载
  在线购买
郑人杰 马素霞 殷人昆 编著
978-7-111-47821-8
45.00
376
2014年11月18日

计算机 > 软件工程及软件方法学

2168
简体中文
16

教材
面向CS2013计算机专业规划教材








软件工程学科具有知识面广、发展迅速、实践性强等特点。本书作者针对软件工程的学科特点,注重结合实例讲解软件工程的理论与方法,避免抽象和枯燥的论述,在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象方法。全书内容组织成五部分:第一部分是软件工程概述;第二部分介绍结构化分析与设计方法;第三部分讲述面向对象分析与设计方法;第四部分讲解软件实现与测试;第五部分介绍软件维护与软件管理。
本书结构合理、内容丰富,讲解由浅入深,既体现知识点的连贯性、完整性,又体现知识在实际中的应用,适合作为计算机科学与技术、软件工程等专业本科生的教材。
本书特色
本书第1版自2010年出版以来多次重印,其通俗易懂、结合实例以及知识点涵盖全面等特点深受广大师生欢迎。在第2版修订中,作者结合软件工程技术的发展,重新组织了第1章、第2章、第5章、第6章的内容,面向对象软件开发方法的介绍更加系统、完整,补充了现代软件生存期模型的介绍,更新了软件工程知识体系及知识域、CMM、软件工程标准等内容,使本书的结构更合理、内容更先进。
本书强调基本概念、基本方法,内容的组织符合学生的认识规律,结合实例讲解理论,并注重软件工程方法、技术和工具的综合应用,避免抽象和枯燥的论述,在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象方法。本书既充分重视技术性内容,便于初学者掌握必要的知识和技能,同时也兼顾了软件工程实践中必不可少的基本管理知识。
本书结构合理、内容丰富,讲解循序渐进、由浅入深,既体现知识点的连贯性、完整性,又突出了相关知识在实践中的应用,适合作为计算机科学与技术、软件工程等专业的本科生教材。
作者简介
郑人杰?清华大学教授,清华同方股份有限公司顾问,现任中国软件行业协会理事、系统与软件过程改进分会常务副会长。1961年毕业于清华大学后留校任教。多年来教学、科研工作围绕着软件工程领域,近年注重于软件质量及软件过程改进。曾编写《实用软件工程》、《计算机软件测试技术》、《基于软件能力成熟度模型(CMM)的软件过程改进》等。
马素霞?华北电力大学计算机科学与技术系教授。1989年获清华大学计算机系工学硕士学位。毕业后一直从事计算机软件方面的教学及研究工作。2001年赴加拿大卡尔顿(Carleton)大学计算机科学系做访问学者。主要研究方向为软件工程、数据库与信息系统。
殷人昆?清华大学计算机系教授。1970年清华大学计算数学专业毕业,1980年清华大学计算机系工学硕士,1985年赴日本东京理科大学做访问学者,研究方向为软件工程过程的质量管理和软件产品的质量评价。主要讲授大学本科《数据结构》、《软件工程》和研究生《软件工程》、《软件项目管理》,其中,本科《数据结构》和工程硕士《软件工程》是清华大学精品课程,此外还主持了教育部-微软精品课程《数据结构》的建设。
当今,软件业是社会经济发展的先导性和战略性产业,它已成为信息产业和国民经济新的增长点和重要支柱。软件工程在软件开发中起着重要的作用,对软件产业的形成及发展起着决定性的推动作用。采用先进的工程化方法进行软件开发和生产是实现软件产业化的关键技术手段。与其他产业相比,软件产业具有自己的特殊性。软件产业的发展更加依赖于人力资源,因此软件产业的竞争越来越集中到对人才的竞争。然而,刚毕业的大学生往往要经过半年到一年的培训才能适应软件企业的工作。长期以来,我国软件人才的现状远远不能满足软件产业发展的要求。因此,软件工程人员队伍的成长,特别是高层软件工程人员队伍的成长显得更为紧迫。
  自从软件工程概念诞生以来,学术界和工业界做了大量的研究与实践工作,也取得了许多重要成果。尤其是上个世纪90年代以后,随着网络技术及面向对象技术的广泛应用,软件工程取得了突飞猛进的发展。软件工程已从计算机科学与技术中脱离出来,逐渐形成了一门独立的学科。软件工程教育所处的地位也越来越重要,软件工程课程已成为软件工程、计算机科学与技术等专业的必修课程。
  软件工程课程实践性比较强,如果学生没有实践经验,则很难理解相关的理论知识。因此,教师普遍感到软件工程课程难教,而学生则普遍感到难学。近年来,软件工程学科的发展非常迅速,新的理论、方法和工具层出不穷,其中很多已经应用到企业的实际工作中。软件工程的教学面临越来越大的压力。我们认为,除了需要在教学内容、教学方法方面进行改革之外,实践能力的培养对于建设一支企业需要的合格软件工程人才队伍显得更为关键。
  我们在编写中力图遵循如下原则:
  (1) 既要强调和突出基本概念、基本方法,又要尽可能使材料内容的组织符合学生的认识规律,在讲解理论的过程中尽量结合实例,并注重软件工程方法、技术和工具的综合应用,避免讲解抽象和枯燥。
  (2) 在兼顾传统的结构化方法的同时,注重当前广为采用的面向对象方法。紧密结合当前技术的新发展,在阐述理论知识的同时侧重实用性。
  (3) 既要充分重视技术性内容,使其作为初学者必须掌握的知识,同时也要兼顾软件工程实践中必不可少的管理知识。
  本书在第1版的基础上对部分内容作了调整和充实。例如第1章增加了软件工程工具的介绍和软件工程方法概述;同时将软件生存期模型抽出来专设了第2章,并且增加了“敏捷过程”等。此外也更新了一些内容,如第1章的软件工程知识体及知识域、第12章的CMMI和第14章的软件工程标准等。
  总之,本书力争做到结构合理、内容丰富,讲解由浅入深,既体现知识点的连贯性、完整性,又体现其在实际中的应用。
前言
教学建议
第一部分软件工程概述
第1章软件与软件工程的概念
11软件的概念、特点和分类
111软件的概念及特性
112软件的分类
12软件危机与软件工程
121软件危机
122软件工程
13系统工程的目标
14软件生存期
15软件工程方法概述
151传统方法
152面向对象方法
153形式化方法
16软件工具概述
161软件工具的概念
162软件工具的发展
163软件工具的分类
164常用软件工具介绍
17软件工程知识体系及知识域
习题
第2章软件生存期模型
21瀑布模型
22快速原型模型
23增量模型
24螺旋模型
25喷泉模型
26统一过程
27基于构件的开发模型
28敏捷过程
习题
第二部分结构化分析与设计方法
第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25加工规格说明
33系统需求规格说明
331软件需求规格说明模板
332SRS和DRD的质量要求
34需求评审
341正式的需求评审
342需求评审中的常见风险
35需求管理
351需求跟踪
352需求变更管理
习题
第4章结构化设计方法
41软件设计的概念及原则
411软件设计的概念
412软件设计的原则
42结构化设计
421结构化软件设计的任务
422结构化设计与结构化分析的关系
423模块结构及表示
424数据结构及表示
43体系结构设计
431基于数据流方法的设计过程
432典型的数据流类型和系统结构
433变换型映射方法
434事务型映射方法
435模块间的耦合与内聚
436软件模块结构的改进方法
44接口设计
441接口设计概述
442人机交互界面
45数据设计
451文件设计
452数据库设计
46过程设计
461结构化程序设计
462程序流程图
463NS图
464PAD图
465伪代码
466自顶向下、逐步细化的设计过程
47软件设计规格说明
48软件设计评审
481概要设计评审的检查内容
482详细设计评审的检查内容
习题
第三部分面向对象分析与设计方法
第5章面向对象方法与UML
51面向对象的概念与开发方法
511对象
512类与封装
513继承
514多态
515消息通信
516面向对象的软件开发方法
52UML简介
521UML的产生和发展
522UML的特点
523UML的基本模型
53UML的事物
531结构事物
532行为事物
533分组事物
534注释事物
54UML的关系
541依赖关系
542关联关系
543泛化关系
544实现关系
55UML的图
551用例图
552类图
553顺序图与通信图
554状态图
555活动图
556构件图与部署图
习题
第6章面向对象分析
61面向对象分析概述
611确定系统边界
612面向对象分析的3种模型
62建立用例模型
621确定业务参与者
622确定业务需求用例
623创建用例图
63建立对象模型
631对象模型的5个层次
632划分主题
633确定类与对象
634确定结构
635确定属性
636确定服务
637建立类图
64建立动态模型
641顺序图
642通信图
643状态图
习题
第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4分布式系统结构
741多处理器体系结构
742客户机∕服务器体系结构
743分布式对象体系结构
744代理
75体系结构框架
751模型视图控制器
752J2EE体系结构框架
753PCMEF与PCBMER框架
76设计模式
761抽象工厂
762单件
763外观
764适配器
765职责链
766中介者
767观察者
习题
第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33子系统分层和划分
834Coad & Yourdon的面向对象设计模型
835子系统之间的两种交互方式
836组织系统的两种方案
84问题域部分的设计
85人机交互部分的设计
851用户界面设计步骤
852Web应用系统的界面设计
86任务管理部分的设计
87数据管理部分的设计
88对象设计
881使用模式设计对象
882接口规格说明设计
883重构对象设计模型
89优化对象设计模型
习题
第四部分软件实现与测试
第9章软件实现
91程序设计语言
911程序设计语言的性能
912程序设计语言的分类
913程序设计语言的选择
92程序设计风格
921源程序文档化
922数据说明标准化
923语句结构简单化
924输入/输出规范化
93编码规范
94程序效率与性能分析
941算法对效率的影响
942影响存储器效率的因素
943影响输入/输出的因素
习题
第10章软件测试方法
101软件测试的基本概念
1011什么是软件测试
1012软件测试的目的和原则
1013软件测试的对象
1014测试信息流
1015测试与软件开发各阶段的关系
1016白盒测试与黑盒测试
102白盒测试的测试用例设计
1021逻辑覆盖
1022语句覆盖
1023判定覆盖
1024条件覆盖
1025判定条件覆盖
1026条件组合覆盖
1027路径覆盖
103基本路径覆盖
104黑盒测试的测试用例设计
1041等价类划分
1042边界值分析
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7调试
习题
第五部分软件维护与软件管理
第11章软件维护
111软件维护的概念
1111软件维护的定义
1112影响维护工作量的因素
1113软件维护的策略
112软件维护活动
1121软件维护申请报告
1122软件维护工作流程
1123维护档案记录
1124维护评价
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改进文档
习题
第12章软件过程与软件过程改进
121软件过程概述
122软件生存期过程国际标准
123软件过程成熟度
1231什么是软件过程成熟度
1232过程制度化
124软件能力成熟度模型
1241CMM与SEI
1242CMM的演化
1243CMM族和CMMI
1244CMMI 13简介
1245CMMI评估
125软件过程改进
1251软件过程改进的IDEAL模型
1252软件过程改进框架
1253有效的软件过程
习题
第13章软件项目管理
131软件项目管理概述
1311软件项目管理的目标
1312软件项目管理涉及的几个方面
132项目估算
1321项目策划与项目估算
1322软件规模估算的功能点方法
1323软件开发成本估算
133风险管理
1331什么是软件风险
1332风险管理的任务
1333风险评估
1334风险控制
1335做好风险管理的建议
134进度管理
1341进度控制问题
1342甘特图
1343时标网状图
1344PERT图
135需求管理
1351系统需求与软件需求
1352需求工程
1353需求变更
1354需求变更控制
1355可追溯性管理
136配置管理
1361什么是软件配置管理
1362软件配置标识
1363变更管理
1364版本控制
1365系统建立
1366配置审核
1367配置状态报告
习题
第14章软件工程标准及软件文档
141软件工程标准
1411标准的概念
1412软件标准化的意义
1413标准的分类与分级
1414软件工程标准的制定与实施
1415软件组织内的标准化工作
142软件文档
1421软件文档的作用和分类
1422软件基本文档的内容要求
1423对文档编制的质量要求
1424文档的管理和维护
习题
主要参考文献
计算机\软件工程
读者书评
发表评论



高级搜索
系统分析与设计:敏捷迭代方法(原书第6版)
软件工程:实践者的研究方法(原书第8版·本科教学版)
软件工程实验教程 第3版


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才