华信教育资源网
软件工程
丛   书   名: 新工科建设之路·软件工程规划教材
作   译   者:朴勇,周勇 出 版 日 期:2019-08-01
出   版   社:电子工业出版社 维   护   人:刘瑀 
书   代   号:G0338540 I S B N:9787121338540

图书简介:

本书主要围绕软件的系统工程化开发过程,介绍相关的理论、方法、技术和工具。本书以面向对象的分析和设计为主线,以基本理论为出发点,遵循UML 2标准,介绍软件开发的阶段组织及生命周期模型;重点针对软件开发的具体活动,讨论需求分析、软件架构的构建、类的分析与设计、代码生成、类的详细设计、设计优化、实现技术、交互设计、软件测试等重要环节;介绍软件项目级管理及软件过程管理与改进。本书内容丰富、循序渐进,注重软件工程理论与实践的结合,适合作为高等院校计算机相关专业本科生和研究生的教材,可也为从事软件开发的理论研究人员和工程技术人员提供参考。
定价 49.0
您的专属联系人更多
关注 评论(2) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:工具软件下载
    链接:https://pan.baidu.com/s/1OoKyTNqgIs8lN4cBNeMm7Q 
    提取码:2022
    习题参考答案仅供任课老师参考,文件密码请联系本书策划编辑刘老师,邮箱 liuy01@phei.com.cn

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书主要围绕软件的系统工程化开发过程,介绍相关的理论、方法、技术和工具。本书以面向对象的分析和设计为主线,以基本理论为出发点,遵循UML 2标准,介绍软件开发的阶段组织及生命周期模型;重点针对软件开发的具体活动,讨论需求分析、软件架构的构建、类的分析与设计、代码生成、类的详细设计、设计优化、实现技术、交互设计、软件测试等重要环节;介绍软件项目级管理及软件过程管理与改进。本书内容丰富、循序渐进,注重软件工程理论与实践的结合,适合作为高等院校计算机相关专业本科生和研究生的教材,可也为从事软件开发的理论研究人员和工程技术人员提供参考。

    图书详情

    ISBN:9787121338540
    开 本:16开
    页 数:272
    字 数:435.0

    本书目录

    目    录
    第1章  软件工程概述	1
    1.1  软件危机与软件工程	1
    1.1.1  软件危机	1
    1.1.2  软件工程	2
    1.2  系统工程与UML	3
    1.2.1  系统工程	3
    1.2.2  统一建模语言UML	4
    1.3  系统开发的解空间	6
    1.4  软件工程开发方法	8
    1.4.1  传统方法	8
    1.4.2  面向对象方法	8
    1.4.3  理解两种开发方法	9
    1.5  习题	10
    第2章  软件开发过程	11
    2.1  软件生命周期与软件过程	11
    2.2  传统生命周期模型	13
    2.2.1  瀑布模型	13
    2.2.2  快速原型模型	14
    2.2.3  增量模型	16
    2.2.4  螺旋模型	16
    2.2.5  喷泉模型	18
    2.3  敏捷生命周期模型	18
    2.3.1  增量交付与迭代开发	19
    2.3.2  敏捷生命周期模型的优势	20
    2.3.3  极限编程	21
    2.3.4  Scrum	22
    2.3.5  DevOps过程	23
    2.4  习题	25
    第3章  需求分析	26
    3.1  需求分析活动	26
    3.1.1  需求准备	26
    3.1.2  系统涉众	27
    3.1.3  系统目标	29
    3.2  用例与系统功能	29
    3.2.1  用例及其表示	30
    3.2.2  识别用例	31
    3.2.3  用例规约	33
    3.2.4  用例提炼	34
    3.3  过程建模与事件流	36
    3.3.1  过程建模	36
    3.3.2  事件流	40
    3.4  功能性需求	41
    3.5  非功能性需求	44
    3.6  需求跟踪	46
    3.7  习题	48
    第4章  软件架构的构建	50
    4.1  软件架构及其定义	50
    4.1.1  软件架构的理解	50
    4.1.2  软件架构的定义	51
    4.1.3  软件架构的“4+1”视图模型	51
    4.2  软件架构模型	53
    4.3  软件架构风格	53
    4.3.1  管道与过滤器	53
    4.3.2  层次结构	54
    4.3.3  仓库/黑板系统	55
    4.3.4  正交软件结构	56
    4.3.5  客户机/服务器结构	56
    4.3.6  浏览器/服务器结构	57
    4.3.7  MVC结构	58
    4.4  软件架构设计	59
    4.4.1  包及其结构	59
    4.4.2  包结构设计	60
    4.5  习题	63
    第5章  类的分析与设计	64
    5.1  基本类的确定	64
    5.1.1  类的识别	65
    5.1.2  初始类图	66
    5.1.3  类的方法	67
    5.1.4  类的关系	68
    5.1.5  类与对象	70
    5.2  类的细化	70
    5.2.1  管理类和控制类	70
    5.2.2  设计优化	73
    5.3  补充和确认	74
    5.3.1  顺序图	74
    5.3.2  场景模拟	76
    5.4  界面类设计	80
    5.5  习题	82
    第6章  代码生成	83
    6.1  逆向工程与CASE工具	83
    6.2  单个类的实现	84
    6.3  关联关系的实现	86
    6.4  对象归属关系的实现	90
    6.4.1  聚合关系	90
    6.4.2  组合关系	92
    6.4.3  依赖关系	94
    6.5  软件架构的实现	94
    6.6  其他物理实现	99
    6.7  习题	101
    第7章  类的详细设计	103
    7.1  详细设计的主要活动	103
    7.2  类方法的详细设计	104
    7.2.1  图形工具	104
    7.2.2  表格工具	106
    7.2.3  语言工具	108
    7.3  类的行为设计	108
    7.3.1  状态图的结构	109
    7.3.2  状态图的扩展	111
    7.3.3  状态图的应用	112
    7.4  对象约束语言	114
    7.5  习题	118
    第8章  设计优化	121
    8.1  小即是美	121
    8.2  设计优化思想	122
    8.2.1  运行时的多态	122
    8.2.2  耦合的消息链	124
    8.2.3  狎昵关系	125
    8.2.4  被拒绝的遗赠	126
    8.2.5  循环依赖	126
    8.3  设计原则	127
    8.3.1  接口隔离原则	127
    8.3.2  依赖倒置原则	128
    8.3.3  开放封闭原则	128
    8.3.4  Liskov替换原则	130
    8.3.5  单一职责原则	131
    8.3.5  合成/聚合复用原则	132
    8.4  设计模式	133
    8.4.1  抽象工厂模式	134
    8.4.2  单例模式	136
    8.4.3  适配器模式	138
    8.4.4  桥模式	139
    8.4.5  装饰模式	140
    8.4.6  门面模式	141
    8.4.7  代理模式	142
    8.4.8  观察者模式	143
    8.4.9  策略模式	144
    8.4.10  状态模式	144
    8.5  习题	147
    第9章  实现技术	149
    9.1  非功能性需求的实现	149
    9.2  分布式技术	151
    9.3  可扩展标记语言XML	153
    9.4  程序轮子	154
    9.4.1  组件	155
    9.4.2  框架	158
    9.5  数据的持久化	162
    9.5.1  文件持久化	162
    9.5.2  数据库持久化	163
    9.6  领域特定语言	164
    9.7  模型驱动架构	166
    9.7.1  原理及过程	166
    9.7.2  MDA的应用	168
    9.8  重构	170
    9.9  习题	172
    
    第10章  交互设计	173
    10.1  交互设计概述	173
    10.2  可用性	174
    10.2.1  任务适合性	175
    10.2.2  自我描述性	176
    10.2.3  可控性	177
    10.2.4  与用户期望一致性	177
    10.2.5  容错性	179
    10.2.6  可定制性	179
    10.2.7  易学性	179
    10.3  交互设计过程	180
    10.4  可用性的验证	181
    10.5  习题	183
    第11章  软件测试	184
    11.1  形式化验证	184
    11.2  测试技术	186
    11.2.1  测试分类	186
    11.2.2  测试策略	187
    11.2.3  非功能性测试	189
    11.3  软件度量	189
    11.3.1  控制流图与环形复杂度	191
    11.3.2  方法内聚缺乏度	193
    11.4  等价类测试	194
    11.4.1  等价类方法	194
    11.4.2  等价类与边界	196
    11.4.3  等价类组合	197
    11.4.4  面向对象中的等价类	198
    11.5  基于控制流的测试	200
    11.6  断言机制	204
    11.7  测试框架	206
    11.7.1  测试环境	206
    11.7.2  JUnit	207
    11.8  可测试性	213
    11.9  建设性质量保证	217
    11.10  人工测试	218
    11.11  习题	220
    第12章  软件项目级管理	223
    12.1  软件配置管理	223
    12.1.1  版本管理	224
    12.1.2  构建管理	228
    12.2  项目管理	230
    12.2.1  项目计划与工作分解	231
    12.2.2  软件规模估算	232
    12.2.3  开发成本估算	234
    12.2.4  任务安排与工程网络图	237
    12.2.5  项目组织与甘特图	238
    12.3  项目计划跟踪控制	239
    12.3.1  项目计划跟踪	239
    12.3.2  挣值分析	240
    12.3.3  项目偏差控制	242
    12.4  软件质量保证	243
    12.4.1  质量管理	243
    12.4.2  软件质量保证的内容	244
    12.4.3  软件质量保证的任务	245
    12.4.4  软件质量保证计划	245
    12.5  风险管理	245
    12.6  项目人员构成与沟通	247
    12.6.1  项目人员构成	247
    12.6.2  人员沟通	249
    12.7  习题	250
    第13章  软件过程管理与改进	252
    13.1  软件过程管理	252
    13.1.1  过程改进	252
    13.1.2  能力成熟度模型	253
    13.1.3  CMMI过程域	255
    13.2  个体软件过程	262
    13.3  团队软件过程	262
    13.4  习题	263
    展开

    前     言

    “软件工程”是各高校软件学院开设的一门专业基础课程,主要介绍软件工程的基本原理、开发方法和工具,是软件开发经验总结的理论课程,同时也具有很强的实践性。另外,该课程涉及计算机、经济学、管理学、工程学、市场学等多个领域的知识,具有知识广泛性的特点。
    在多年教学实践中,编者深切体会到该课程授课过程中的诸多问题,比如理论知识的枯燥乏味,使学生不容易将抽象的理论与实践联系起来;没有大项目案例的依托,学生体会不到软件工程的作用等。如何突出重点、使学生掌握必备的软件工程基础及应用案例,对软件工程课程的讲解提出了挑战。
    目前,软件工程领域的教材在一定程度上存在内容陈旧、偏重过程、实践及案例内容欠缺等问题。本书突出实用的特点,一方面涵盖软件工程的主要知识点,强调新技术、新方法、新理念;另一方面以案例为线索,以面向对象方法为主线,将分散的知识点连贯起来,便于读者的理解和消化,注重理论和实践的结合,为读者提供一条循序渐进的学习路线。
    本书的具体内容包括:第1章介绍软件工程的相关概念、技术与方法;第2章围绕软件开发过程,对软件开发的阶段组织及生命周期模型进行说明;第3章到第11章主要围绕软件开发的具体活动,讨论需求分析、软件架构的构建、类的分析与设计、代码生成、类的详细设计、设计优化、实现技术、交互设计、软件测试等内容;第12章介绍软件项目级管理,包括软件配置管理、项目计划、项目计划跟踪控制、软件质量保证等;第13章重点介绍软件过程管理与改进。本书知识结构紧凑、突出案例教学。在开发方法的介绍上通过具体案例贯穿,并且尽量以程序代码的形式对相关的知识点进行说明和展示,以代码为驱动,以此鼓励学生通过实践,对软件工程进行深入的理解和探索。本书提供配套教学资源(PPT、源代码),读者可登录华信教育资源网(www.hxedu.com.cn)免费下载。
    本书适合作为高等院校计算机相关专业本科生和研究生的教材,可也为从事软件开发的理论研究人员和工程技术人员提供参考。
    限于作者的水平及精力,书中难免有不妥之处,敬请各位读者批评指正,我们将虚心改正。
    
    编  者
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网