- 电子工业出版社
 - 9787121493256
 - 2版
 - 540872
 - 60266944-2
 - 16开
 - 2025-01
 - 计算机科学与技术
 - 本科 研究生及以上
 
                            内容简介
                        
                        
                                本书的具体内容包括:第1章介绍软件工程的相关概念、技术与方法;第2章围绕软件开发过程,对软件开发的阶段组织及生命周期模型进行说明;第3章到第11章主要围绕软件开发的具体活动,讨论需求分析、软件架构的构建、类的分析与设计、代码生成、类的详细设计、设计优化、实现技术、交互设计、软件测试等内容;第12章介绍软件项目级管理,包括软件配置管理、项目计划、项目计划跟踪控制等;第13章重点介绍软件过程管理与改进。本书知识结构紧凑、突出案例教学。在开发方法的介绍上通过具体案例贯穿,并且尽量以程序代码的形式对相关的知识点进行说明和展示,以代码为驱动,以此鼓励学生通过实践,对软件工程进行深入的理解和探索。                            
                            
                        
                            目录
                        
                        
                                目  录__eol____eol__第1章  软件工程概述	1__eol__1.1  软件危机与软件工程	1__eol__1.1.1  软件危机	1__eol__1.1.2  软件工程	2__eol__1.2  系统工程与UML	4__eol__1.2.1  系统工程	4__eol__1.2.2  统一建模语言UML	5__eol__1.3  系统开发的解空间	7__eol__1.4  软件工程开发方法	9__eol__1.4.1  传统开发方法	9__eol__1.4.2  面向对象方法	9__eol__1.4.3  理解两种开发方法	10__eol__1.5  软件工程发展	11__eol__1.6  习题	12__eol__第2章  软件开发过程	13__eol__2.1  软件生命周期模型与软件过程	13__eol__2.2  传统生命周期模型	15__eol__2.2.1  瀑布模型	15__eol__2.2.2  快速原型模型	16__eol__2.2.3  增量模型	18__eol__2.2.4  螺旋模型	18__eol__2.2.5  喷泉模型	20__eol__2.3  敏捷生命周期模型	20__eol__2.3.1  增量交付与迭代开发	21__eol__2.3.2  敏捷生命周期模型的优势	22__eol__2.3.3  极限编程	23__eol__2.3.4  Scrum	24__eol__2.3.5  持续集成与持续交付	25__eol__2.3.6  DevOps过程	26__eol__2.4  习题	28__eol__第3章  需求分析	29__eol__3.1  需求分析活动	29__eol__3.1.1  需求准备	29__eol__3.1.2  系统涉众	30__eol__3.1.3  系统目标	32__eol__3.2  用例与系统功能	33__eol__3.2.1  用例及其表示	33__eol__3.2.2  识别用例	34__eol__3.2.3  用例规约	36__eol__3.2.4  用例提炼	38__eol__3.3  过程建模与事件流	40__eol__3.3.1  过程建模	40__eol__3.3.2  事件流	43__eol__3.4  功能性需求	45__eol__3.5  非功能性需求	49__eol__3.6  需求跟踪	51__eol__3.7  习题	52__eol__第4章  软件架构的构建	54__eol__4.1  软件架构及其定义	54__eol__4.1.1  软件架构的理解	54__eol__4.1.2  软件架构的定义	55__eol__4.1.3  软件架构的“4+1”视图模型	55__eol__4.2  软件架构模型	57__eol__4.3  软件架构风格	57__eol__4.3.1  管道与过滤器	58__eol__4.3.2  层次结构	58__eol__4.3.3  仓库/黑板系统	59__eol__4.3.4  正交软件结构	60__eol__4.3.5  客户机/服务器结构	61__eol__4.3.6  浏览器/服务器结构	61__eol__4.3.7  MVC架构	62__eol__4.4  软件架构设计	64__eol__4.4.1  包及其结构	64__eol__4.4.2  包结构设计	65__eol__4.5  习题	67__eol____eol____eol__第5章  类的分析与设计	68__eol__5.1  基本类的确定	68__eol__5.1.1  类的识别	69__eol__5.1.2  初始类图	71__eol__5.1.3  类的方法	72__eol__5.1.4  类的关系	72__eol__5.1.5  类与对象	74__eol__5.2  类的细化	75__eol__5.2.1  管理类和控制类	75__eol__5.2.2  设计优化	78__eol__5.3  补充和确认	79__eol__5.3.1  顺序图	79__eol__5.3.2  场景模拟	81__eol__5.4  完善设计	85__eol__5.5  习题	87__eol__第6章  代码生成	88__eol__6.1  正逆向工程与CASE环境	88__eol__6.2  单个类的实现	90__eol__6.3  关联关系的实现	93__eol__6.4  对象归属关系的实现	96__eol__6.4.1  聚合关系	96__eol__6.4.2  组合关系	99__eol__6.4.3  依赖关系	100__eol__6.5  软件架构的实现	100__eol__6.6  其他物理实现	105__eol__6.7  习题	107__eol__第7章  类的详细设计	109__eol__7.1  详细设计的主要活动	109__eol__7.2  类方法的详细设计	110__eol__7.2.1  图形工具	110__eol__7.2.2  表格工具	112__eol__7.2.3  语言工具	114__eol__7.3  类的行为设计	114__eol__7.3.1  状态图的结构	115__eol__7.3.2  状态图的扩展	117__eol__7.3.3  状态图的应用	119__eol__7.4  对象约束语言	121__eol__7.5  习题	125__eol__第8章  设计优化	127__eol__8.1  小即是美	127__eol__8.2  设计优化思想	128__eol__8.2.1  运行时的多态	128__eol__8.2.2  耦合的消息链	130__eol__8.2.3  狎昵关系	131__eol__8.2.4  被拒绝的遗赠	132__eol__8.2.5  循环依赖	132__eol__8.3  设计原则	133__eol__8.3.1  接口隔离原则	133__eol__8.3.2  依赖倒置原则	134__eol__8.3.3  开放封闭原则	134__eol__8.3.4  Liskov替换原则	136__eol__8.3.5  单一职责原则	137__eol__8.3.6  合成/聚合复用原则	138__eol__8.4  设计模式	139__eol__8.4.1  抽象工厂模式	140__eol__8.4.2  单例模式	142__eol__8.4.3  适配器模式	144__eol__8.4.4  桥模式	145__eol__8.4.5  装饰模式	146__eol__8.4.6  门面模式	147__eol__8.4.7  代理模式	148__eol__8.4.8  观察者模式	149__eol__8.4.9  策略模式	150__eol__8.4.10  状态模式	150__eol__8.5  习题	153__eol__第9章  实现技术	155__eol__9.1  非功能性需求的实现	155__eol__9.2  数据表示与交换格式	157__eol__9.3  程序轮子	158__eol__9.3.1  组件	160__eol__9.3.2  框架	162__eol__9.4  数据的持久化	166__eol__9.4.1  文件持久化	166__eol__9.4.2  数据库持久化	168__eol__9.5  领域特定语言	169__eol__9.6  模型驱动架构	171__eol__9.6.1  原理及过程	171__eol__9.6.2  MDA的应用	173__eol__9.7  重构	174__eol__9.8  习题	177__eol__第10章  交互设计	179__eol__10.1  交互设计概述	179__eol__10.2  可用性	181__eol__10.2.1  任务适合性	182__eol__10.2.2  自我描述性	183__eol__10.2.3  可控性	183__eol__10.2.4  与用户期望一致性	184__eol__10.2.5  容错性	185__eol__10.2.6  可定制性	185__eol__10.2.7  易学性	186__eol__10.3  交互设计过程	186__eol__10.4  可用性的验证	187__eol__10.5  习题	189__eol__第11章  软件测试	190__eol__11.1  形式化验证	190__eol__11.2  测试技术	192__eol__11.2.1  测试分类	193__eol__11.2.2  测试策略	194__eol__11.2.3  非功能性测试	196__eol__11.3  软件度量	197__eol__11.3.1  控制流图与环形复杂度	198__eol__11.3.2  方法内聚缺乏度	201__eol__11.4  等价类	202__eol__11.4.1  等价类分析	203__eol__11.4.2  等价类与边界	204__eol__11.4.3  等价类组合	205__eol__11.4.4  面向对象中的等价类	207__eol__11.5  基于控制流的测试	209__eol__11.6  断言机制	213__eol__11.7  测试框架	215__eol__11.7.1  测试环境	215__eol__11.7.2  单元测试框架	216__eol__11.8  可测试性	223__eol__11.8.1  可测试性基础	2                            
                            
                        
                        
                        
                    



