新書推薦:
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
58.2
《
明式家具三十年经眼录
》
售價:HK$
524.2
《
敦煌写本文献学(增订本)
》
售價:HK$
221.8
《
耕读史
》
售價:HK$
109.8
《
地理计算与R语言
》
售價:HK$
121.0
《
沈括的知识世界:一种闻见主义的实践(中华学术译丛)
》
售價:HK$
87.4
|
內容簡介: |
内 容 简 介本书第3版在继承第2版特点的基础上做了较大修改,内容涵盖了IEEE新发布的软件工程知识体系指南SWEBOK V3.0版的知识域,删除了较陈旧的内容,新增了如云计算模型、敏捷开发测试等国内外软件工程发展的新技术。在系统介绍软件工程基础知识的基础上,重点介绍了软件需求和软件设计两个重要开发阶段,并将面向对象的方法及UML统一建模技术贯穿于各章,对面向对象的分析、设计、测试的方法做了详细介绍。同时还对CMM软件成熟度模型、风险管理及团队建设等先进的软件管理技术进行了介绍。本书内容注重科学性、先进性,强调实践性,理论紧密联系实际是本书的一大特色;本书不仅提供了丰富的软件开发实例和素材,还用一章专门讨论了如何进行综合性、设计型的软件工程课程设计。本书可作为高等院校计算机、软件工程及信息类专业本科生及研究生“软件工程”课程的教材,也可作为广大工程技术人员和科研人员的参考书。
|
關於作者: |
许家珆,电子科技大学数学学院教授,主讲《软件工程》等多门课程,负责编写了包括《软件工程》等多本教材,主持四川省精品课程,网络精品课程。
|
目錄:
|
目录
第1章软件工程概述(1)
1.1软件工程的产生和发展(1)
1.1.1软件危机与软件工程(1)
1.1.2软件工程的定义及基本原则(3)
1.1.3软件工程研究的内容(3)
1.2软件与软件过程(4)
1.2.1软件的概念和特点(5)
1.2.2软件工程过程及产品(6)
1.3软件过程模型(6)
1.3.1瀑布模型(6)
1.3.2增量模型(7)
1.3.3螺旋模型(7)
1.3.4喷泉模型(8)
1.3.5原型模型(8)
1.3.6智能模型(9)
1.4软件开发方法(9)
1.4.1结构化开发方法(10)
1.4.2原型化开发方法(10)
1.4.3面向对象的开发方法(11)
1.4.4敏捷软件的开发(12)
1.5软件工具与集成化开发环境(15)
1.5.1软件工具的发展过程(15)
1.5.2软件工具(16)
1.5.3集成化CASE环境(18)
小结(19)
习题1(19)
第2章面向对象方法与UML建模语言(21)
2.1面向对象方法概述(21)
2.1.1面向对象方法的特点(21)
2.1.2几种典型的面向对象方法(22)
2.2UML概述(23)
2.2.1UML的基本概念(24)
2.2.2UML的图形表示(25)
2.3建立用例模型(28)
2.3.1需求分析与用例建模(28)
2.3.2确定执行者和用例(29)
2.3.3用例建模实例(31)
2.4建立静态模型(33)
2.4.1类图(33)
2.4.2包图(41)
2.5建立动态模型(42)
2.5.1消息(42)
2.5.2状态图(43)
2.5.3顺序图(46)
2.5.4合作图(47)
2.5.5活动图(50)
2.6建立实现模型(52)
2.6.1组件图(52)
2.6.2部署图(53)
2.7RUP统一过程及其应用(54)
2.7.1UML与RUP统一过程(54)
2.7.2RUP的二维开发模型(56)
2.7.3RUP的迭代开发模式(58)
小结(59)
习题二(59)
第3章软件需求工程(63)
3.1软件需求的基本概念(63)
3.1.1软件需求的任务(63)
3.1.2功能需求与非功能需求(64)
3.2需求工程过程(66)
3.2.1需求工程的基本活动(66)
3.2.2获取需求(66)
3.2.3需求分析与建模(67)
3.2.4需求的有效性验证(68)
3.2.5需求管理(69)
3.3软件需求获取技术(70)
3.3.1面谈法(70)
3.3.2问卷调查法(70)
3.3.3需求专题讨论会(71)
3.3.4原型法获取需求(71)
3.3.5面向用例的方法(72)
3.4需求分析与建模技术(73)
3.4.1需求分析方法(73)
3.4.2结构化分析(SA)方法(74)
3.4.3面向对象的分析(OOA)方法(79)
3.5软件需求案例分析(82)
3.5.1案例1用SA法建立需求模型(82)
3.5.2案例2用OOA法建立需求模型(84)
小结(87)
习题二(88)
第4章软件设计(91)
4.1软件设计概述(91)
4.1.1软件设计在开发阶段中的重要性(91)
4.1.2软件设计阶段的任务(92)
4.1.3软件设计的目标(92)
4.1.4软件设计过程(92)
4.2软件体系结构设计(93)
4.2.1系统结构性模型集中式系统模型(93)
4.2.2系统结构性模型层次结构模型(94)
4.2.3系统结构性模型分布式系统模型(95)
4.2.4控制模型(100)
4.2.5模块分解(101)
4.3详细设计描述工具(104)
4.4面向对象的设计(105)
4.4.1面向对象设计的准则(106)
4.4.2面向对象设计的基本任务(106)
4.5用户界面设计(108)
4.5.1用户界面设计的特性与设计任务(108)
4.5.2用户界面设计的基本原则(109)
4.5.3用户界面的基本类型(110)
4.5.4用户交互设计(111)
4.6MVC设计模式(114)
4.7软件设计实例(115)
小结(118)
习题四(118)
第5章软件构造(121)
5.1程序设计语言的选择(121)
5.1.1程序设计语言的分类(121)
5.1.2高级程序设计语言的基本组成(122)
5.1.3程序设计语言选择准则(123)
5.2程序设计方法(123)
5.2.1结构化程序设计(123)
5.2.2面向对象程序设计(125)
5.3程序设计风格(127)
5.3.1源程序文件(128)
5.3.2语句构造方法(129)
5.3.3数据说明方法(129)
5.3.4输入输出技术(130)
5.4算法与程序效率(130)
5.4.1算法转换过程中的指导原则(130)
5.4.2影响效率的因素(131)
5.5软件代码审查(133)
5.6软件复用(134)
5.6.1软件复用的级别(134)
5.6.2软件复用过程(135)
5.6.3可复用构件(135)
5.6.4基于复用的开发过程(136)
5.6.5构件的组装和复用(137)
5.7软件构造实例(137)
5.7.1实现环境(137)
5.7.2系统编码实现(138)
5.7.3用户界面(143)
小结(143)
习题五(143)
第6章软件测试(145)
6.1软件测试概述(145)
6.1.1软件测试的基本概念(145)
6.1.2软件测试的特点和基本原则(147)
6.1.3软件测试过程(149)
6.1.4静态分析与动态测试(151)
6.2白盒法测试(153)
6.2.1语句覆盖(153)
6.2.2判定覆盖(154)
6.2.3条件覆盖(155)
6.2.4判定-条件覆盖(155)
6.2.5条件组合覆盖(156)
6.3黑盒法测试(157)
6.3.1等价分类法(157)
6.3.2 边界值分析法(158)
6.3.3错误推测法(158)
6.3.4因果图法(159)
6.4软件测试的策略(160)
6.4.1单元测试(160)
6.4.2集成测试(162)
6.4.3确认测试(164)
6.4.4系统测试(165)
6.4.5?测试和?测试(166)
6.4.6综合测试策略(167)
6.5软件调试(167)
6.5.1软件调试过程(167)
6.5.2软件调试策略(168)
6.6面向对象的测试(170)
6.6.1面向对象测试的特点(170)
6.6.2面向对象测试模型(171)
6.6.3面向对象测试类型(171)
6.6.4分析模型测试(173)
6.6.5面向对象的测试用例(177)
6.7自动化测试(177)
6.7.1自动化测试概述(178)
6.7.2实施自动化测试的前提条件(179)
6.7.3自动化测试过程(180)
6.7.4自动化测试的原则(182)
6.7.5敏捷测试(182)
小结(183)
习题六(184)
第7章软件维护(186)
7.1软件维护的基本概念(186)
7.1.1软件维护的目的(186)
7.1.2软件维护的分类(186)
7.1.3软件维护的特性(187)
7.1.4软件维护的代价(188)
7.2软件维护的过程(189)
7.2.1软件维护的组织和维护过程管理(189)
7.2.2维护工作的流程(190)
7.3软件维护技术(191)
7.4软件可维护性(192)
7.4.1软件可维护性的定义(192)
7.4.2提高可维护性的方法(193)
7.5软件再工程技术(197)
7.5.1逆向工程(197)
7.5.2软件再工程过程(197)
7.5.3再工程的成本及效益分析(198)
7.5.4再工程的风险分析(199)
小结(199)
习题七(199)
第8章软件项目管理(201)
8.1软件项目管理概述(201)
8.1.1软件项目管理的特点(201)
8.1.2软件项目管理的主要活动(202)
8.2软件项目可行性研究(203)
8.2.1可行性研究的任务(203)
8.2.2可行性研究报告(203)
8.3软件项目计划(204)
8.3.1软件项目计划内容(204)
8.3.2软件开发进度计划(205)
8.4软件项目成本估算技术(207)
8.4.1影响成本估算的因素(207)
8.4.2成本估算模型(208)
8.4.3成本效益分析(211)
8.5软件项目人力资源管理(211)
8.5.1软件团队建设(212)
8.5.2团队人员的选择(213)
8.6软件项目风险管理(213)
8.6.1软件项目风险管理概述(213)
8.6.2软件项目风险管理过程(214)
8.6.3风险管理的理论和模型(216)
8.7软件质量保证(218)
8.8软件配置管理(219)
8.8.1软件配置管理的基本概念(219)
8.8.2软件配置管理的活动(219)
小结(222)
习题八(222)
第9章软件能力成熟度模型(223)
9.1CMM概述(223)
9.1.1软件过程成熟度的基本概念(223)
9.1.2软件过程的成熟度等级(224)
9.2CMM的结构(225)
9.2.1关键过程域(226)
9.2.2关键实践(227)
9.2.3共同特性(227)
9.3CMM的实施与评估(227)
9.3.1软件过程评估的必要性(228)
9.3.2软件过程评估及参考模型(229)
9.3.3软件过程改进(231)
9.3.4CMM评估的执行步骤(231)
9.3.5软件企业如何实施CMM(234)
9.3.6CMM与ISO 9000标准(236)
9.4软件能力成熟度模型集成(237)
9.4.1CMMI的产生与发展(237)
9.4.2CMMI的模型(237)
9.4.3CMMI的评估(239)
9.4.4CMMI与CMM的比较(240)
小结(241)
习题九(241)
第10章软件工程课程设计(243)
10.1课程设计的目的和要求(243)
10.2课程设计步骤及安排(243)
10.3可视化建模工具Rational Rose(245)
10.3.1Rose工具简介(245)
10.3.2绘制业务用例图(246)
10.3.3绘制用例图(247)
10.3.4绘制类图(248)
10.3.5绘制协作图与顺序图(249)
10.3.6绘制活动图(250)
|
內容試閱:
|
内 容 简 介本书第3版在继承第2版特点的基础上做了较大修改,内容涵盖了IEEE新发布的软件工程知识体系指南SWEBOK V3.0版的知识域,删除了较陈旧的内容,新增了如云计算模型、敏捷开发测试等国内外软件工程发展的新技术。在系统介绍软件工程基础知识的基础上,重点介绍了软件需求和软件设计两个重要开发阶段,并将面向对象的方法及UML统一建模技术贯穿于各章,对面向对象的分析、设计、测试的方法做了详细介绍。同时还对CMM软件成熟度模型、风险管理及团队建设等先进的软件管理技术进行了介绍。本书内容注重科学性、先进性,强调实践性,理论紧密联系实际是本书的一大特色;本书不仅提供了丰富的软件开发实例和素材,还用一章专门讨论了如何进行综合性、设计型的软件工程课程设计。本书可作为高等院校计算机、软件工程及信息类专业本科生及研究生软件工程课程的教材,也可作为广大工程技术人员和科研人员的参考书。
|
|