新書推薦:
《
化妆品学原理
》
售價:HK$
55.8
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
爱你,是我做过最好的事
》
售價:HK$
55.8
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
《
量子网络的构建与应用
》
售價:HK$
109.8
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:HK$
109.8
《
大唐名城:长安风华冠天下
》
售價:HK$
87.4
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:HK$
88.5
|
編輯推薦: |
通过完整、系统的软件工程案例,改变目前软件工程教学中抽象、空泛的现状,并在一定程度上激发学生的学习兴趣,能够提高软件工程课程的教学质量,让学生真正学有所用。教材的内容组织科学、合理、系统,理论与实践并重,同时课后都配有练习题供读者思考与巩固所学知识。
|
內容簡介: |
《软件工程实用案例教程》结合软件工程的发展与教学需要,系统地阐述了软件工程这一领域的基本概念、原理与方法。《软件工程实用案例教程》共包括11章,主要内容有:软件工程综述,软件过程,可行性研究,结构化需求分析,结构化软件设计,面向对象的需求分析,面向对象的设计,基于构件的开发,软件项目的测试,软件实施、维护与进化,软件工程标准与文档等。 全书内容丰富、组织严谨,原理和方法结合密切,结构化方法和面向对象的方法均有一个实例贯穿始终,丰富的图表和应用实例有助于培养读者的实际分析设计能力和文档写作能力,书中含有丰富的例题与习题便于教学及读者自学。 《软件工程实用案例教程》可以作为高等院校软件工程专业、计算机科学与技术专业、计算机应用专业,以及其他相关专业高年级本科生的教材,同时可作为从事软件分析、设计与开发人员的参考书。
|
目錄:
|
目录
第1章 软件工程综述1
1.1 软件工程的背景1
1.1.1 软件及其特性1
1.1.2 软件危机4
1.2 软件工程概述5
1.2.1 软件工程的基本概念5
1.2.2 软件工程的目标6
1.2.3 软件工程三要素7
1.2.4 软件工程的多样性9
1.2.5 软件工程与Web10
1.2.6 软件工程的通用原则13
1.2.7 软件工程人员的职业道德14
本章小结15
本章练习题16
第2章 软件过程18
2.1 软件过程概述18
2.1.1 软件描述18
2.1.2 软件设计与实现19
2.1.3 软件有效性验证21
2.1.4 软件进化22
2.1.5 软件开发团队组成23
2.2 软件过程模型概述24
2.2.1 软件过程模型24
2.2.2 应对变更28
2.2.3 Rational统一过程31
2.3 敏捷软件开发33
本章小结36
本章练习题36
第3章 可行性研究38
3.1 可行性研究的任务38
3.2 可行性研究的重要性39
3.3 可行性研究过程40
3.4 系统流程图与工作流程41
3.4.1 流程图规范42
3.4.2 流程图分析案例42
3.4.3 分层43
3.5 数据流图与系统功能43
3.5.1 数据流图规范44
3.5.2 数据流图分析案例44
3.5.3 命名46
3.5.4 用途46
3.6 成本效益分析47
3.6.1 成本估计47
3.6.2 成本效益分析的方法48
本章小结49
本章练习题50
第4章 结构化需求分析51
4.1 需求51
4.1.1 需求的定义51
4.1.2 需求的层次52
4.1.3 需求的分类54
4.2 需求工程55
4.2.1 需求工程的任务55
4.2.2 需求工程的活动55
4.3 需求获取56
4.3.1 需求获取中的常见困难57
4.3.2 定义项目前景和范围59
4.3.3 选择信息的来源61
4.3.4 需求获取的方法62
4.4 需求分析63
4.4.1 过程建模63
4.4.2 数据建模75
4.4.3 过程模型与数据模型的联系82
4.4.4 结构化分析的局限性82
4.5 需求规格说明82
4.5.1 需求规格说明文档的类型83
4.5.2 软件需求规格说明文档的读者83
4.5.3 软件需求规格说明文档模板84
4.6 需求验证84
4.6.1 需求验证的概念84
4.6.2 需求验证的方法85
4.7 需求管理86
4.7.1 建立和维护需求基线86
4.7.2 建立需求跟踪信息87
4.7.3 进行变更控制87
4.8 结构化需求分析方法案例88
本章小结93
本章练习题93
第5章 结构化软件设计97
5.1 软件设计的相关概念97
5.1.1 软件设计的任务97
5.1.2 软件设计的原则98
5.1.3 结构化设计图形工具103
5.1.4 软件设计的启发规则105
5.2 体系结构设计108
5.2.1 数据流类型109
5.2.2 变换流的映射方法109
5.2.3 事务流的映射方法114
5.3 数据设计117
5.3.1 文件设计117
5.3.2 数据库设计117
5.4 接口设计120
5.4.1 接口设计概述120
5.4.2 人机界面的交互设计121
5.5 过程设计122
5.5.1 结构化程序设计122
5.5.2 过程设计工具122
5.6 软件设计规格说明书文档124
本章小结125
本章练习题125
第6章 面向对象的需求分析129
6.1 面向对象的基本概念129
6.1.1 对象与类129
6.1.2 封装、继承和多态性131
6.1.3 面向对象分析概述135
6.2 案例说明136
6.3 上下文模型137
6.4 活动图与业务流程137
6.4.1 活动图规范138
6.4.2 活动图建模139
6.5 用例图与系统需求141
6.5.1 用例规范141
6.5.2 从业务流程到用例图建模143
6.6 静态结构与类图147
6.6.1 静态结构与类图的分类147
6.6.2 类图规范148
6.6.3 类图建模150
6.7 时序图与交互模型155
6.7.1 时序图规范156
6.7.2 时序图验证157
6.8 状态图与事件驱动模型159
6.8.1 状态图规范159
6.8.2 识别状态空间161
6.8.3 状态图建模162
本章小结162
本章练习题163
第7章 面向对象的设计165
7.1 面向对象软件设计概述165
7.1.1 面向对象设计的过程165
7.1.2 面向对象设计准则167
7.2 体系结构设计168
7.2.1 分层体系结构169
7.2.2 三层架构169
7.2.3 采用MVC模式的Web体系结构171
7.2.4 系统逻辑结构与类包图173
7.2.5 系统物理体系结构与构件图175
7.2.6 系统物理体系结构与部署图177
7.3 构件级设计179
7.3.1 从分析类到设计类179
7.3.2 从用例场景到设计类181
7.3.3 构件详细类图建模184
7.4 用户界面设计185
7.4.1 把控制权交给用户186
7.4.2 减轻用户的记忆负担186
7.4.3 保持界面一致187
本章小结187
本章练习题188
第8章 基于构件的开发190
8.1 实施阶段的准备工作190
8.2 基于构件的编码191
8.2.1 开发环境191
8.2.2 从雇员管理构件设计类图到编码192
8.2.3 雇员管理构件编码193
8.3 实现问题205
8.3.1 复用206
8.3.2 配置管理207
8.3.3 宿主机-目标机开发207
本章小结208
本章练习题208
第9章 软件项目的测试210
9.1 软件测试概述210
9.2 软件测试技术213
9.2.1 黑盒测试213
9.2.2 白盒测试218
9.2.3 灰盒测试221
9.3 软件测试过程222
9.3.1 单元测试222
9.3.2 集成测试223
9.3.3 确认测试224
9.3.4 系统测试225
9.3.5 验收测试226
9.3.6 回归测试226
本章小结227
本章练习题227
第10章 软件实施、维护与进化230
10.1 软件实施概述230
10.2 软件维护概述232
10.2.1 软件维护的类型232
10.2.2 软件维护存在的问题233
10.2.3 软件维护的风险234
10.2.4 软件维护的过程235
10.2.5 软件的可维护性236
10.3 软件进化概述237
10.3.1 进化过程238
10.3.2 遗留系统238
10.3.3 软件再工程240
本章小结242
本章练习题243
第11章 软件工程标准与文档244
11.1 软件工程标准244
11.2 软件工程国家标准245
11.3 软件工程文档标准GBT 8567-2006国家标准247
11.3.1 软件生存周期与各种文档的编制247
11.3.2 文档编制中的考虑因素249
11.3.3 可行性研究报告251
11.3.4 软件开发计划253
11.3.5 系统子系统需求规格说明258
11.3.6 系统子系统设计结构设计说明266
11.3.7 数据需求说明272
11.3.8 软件测试说明274
11.3.9 软件测试报告278
11.3.10 项目开发总结报告280
11.3.11 软件用户手册282
11.3.12 面向对象软件的文档编制285
本章小结294
本章练习题294
|
內容試閱:
|
前言
软件工程学是一门综合型应用科学,它将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型、设计方法及工程开发技术和工具,以指导软件的生产和管理。随着计算机科学和软件产业的迅猛发展,软件工程学已经成为一个重要的计算机分支学科,也是一个异常活跃的研究领域,新方法、新技术不断涌现。
软件工程是计算机专业学生必修的一门专业课程,也是工科各专业学生在计算机应用方面的一门重要选修课程。在多年的软件工程教学过程中,我们的教研团队参考或使用过许多软件工程教材,但很多教材大都侧重理论的讲解,教材中的案例较少,尤其没有一个完整、系统的软件工程案例贯穿其中,由于本科生普遍缺乏软件工程项目开发的实践经验,因此学习软件工程课程感觉非常抽象、空泛与枯燥。为改变目前软件工程教学中这种抽象、空泛的学习现状,我们决定编写《软件工程实用案例教程》。
《软件工程实用案例教程》的特色可以归纳为以下五点。
1 从软件危机、软件过程模型,再到软件可行性分析、需求分析、系统设计,都引入大量实际案例,解决软件工程理论教学过程中过于抽象和晦涩的问题;在第4章结构化的分析方法中引入了电梯控制系统案例的完整分析,主要是考虑到结构化分析与设计的优势在嵌入式系统中会更加凸显,而在第6、7章面向对象的需求分析与设计方法中引入了网上计算机销售系统案例,在电子商务如此发达的今天,让学生对自己熟悉的网上销售系统进行分析设计,有利于收集需求,同时能激发学生的学习兴趣。
2 第4章结构化需求分析详细介绍了业务需求、用户需求和系统需求3个层次需求各自的特点。系统讲解了需求工程活动,包括需求获取、需求分析、需求规格说明、需求验证和需求管理。其中需求分析包括过程建模和数据建模。过程建模引入食品订货系统案例。数据建模引入学生研讨班案例和EMS表单项目案例。最后引入了电梯控制系统完整案例,按照创建上下文、建立0层图、产生N层图、定义逻辑说明、定义数据存储和数据流的步骤进行了系统完整的需求分析。
3 第7章面向对象的设计,遵循分析类 设计模式=设计类原则,逻辑体系架构的介绍从分层结构到三层架构再到熟知MVC模式演化,并对软件的MVC设计模式进行了详细的介绍,这种软件分层模式的理解与掌握对于从事软件开发的读者尤为重要。目前市面上的绝大多数的软件都是采用多层框架结构来实现的,依据构件的划分,对构件内部分析阶段得到的实体类,结合三层的设计模式,补充边界类、控制类、模型类得到可以用来指导开发的详细设计类图。
4 第8章基于构件的开发,该章节的主要内容是基于一个构件详细设计类图进行编码开发的,构件详细设计类图是第7章设计阶段的工作成果,将分析设计的模型直接指导编码,帮助读者领会软件工程的真正意义所在。很多从事软件开发的程序员容易重编程轻设计,往往问题还没想清楚就开始编码,这章的内容告诉读者只要分析设计做得详尽,编码就会水到渠成。
5 《软件工程实用案例教程》提供第8章的构件开发代码,以及全套软件工程文档,供读者阅读及下载使用。
《软件工程实用案例教程》由梁洁、金兰主编,张硕、宋亚岚、孔德华任副主编。其中,梁洁编写第1章、第2章、第6~8章、第11章,金兰编写第4章和第5章,张硕编写第9章和第10章,宋亚岚编写第3章。全书由宋亚岚、孔德华统稿。
《软件工程实用案例教程》的宗旨是为了提高软件工程课程的教学质量,让学生真正学有所用。《软件工程实用案例教程》具有内容组织科学、合理、系统,注重理论与实践并重的特点,同时课后都配有和教学内容完全一致的练习题供读者思考与巩固知识。
《软件工程实用案例教程》可以作为高等院校软件工程专业、计算机科学与技术专业、计算机应用专业,以及其他相关专业高年级本科生的教材,同时可供从事软件工程、计算机应用、计算机软件专业,以及其他相关专业的科研人员、软件开发人员及有关大专院校的师生参考。
在《软件工程实用案例教程》的编写过程中得到了武昌首义学院的领导和同事们的支持与帮助,在此一并表示感谢。
由于编者水平有限,书中难免存在不妥与疏漏之处,敬请广大读者批评指正。
《软件工程实用案例教程》PPT课件等相关教学资源可通过http:www.tupwk.com.cndownpage下载。
服务邮箱:wkservice@163.com。
编者
2019年3月
|
|