译者序
Robert Martin作序
Bertrand Meyer作序
Richard Soley作序
前言
致谢
第一部分   内核思想解释
第1章   简要介绍如何使用内核
1.1   为什么开发优秀软件具有很大的挑战性
1.2   认识软件工程的本质:内核
1.3   应用内核处理特定挑战:一个例子
1.3.1   进入问题的要点
1.3.2   处理挑战
1.4   学习如何使用内核处理开发挑战
第2章   关于内核的一些更多的细节
2.1   如何使用内核处理特定挑战:一个例子
2.2   阿尔法介绍
2.3   阿尔法使用状态帮助团队取得进展
2.4   更多关于内核的内容
第3章   纵览完整的内核
3.1   内核的组织结构
3.2   对于进展和演变是本质的事物:阿尔法
3.3   对于做什么是本质的事情:活动空间
3.4   所需的本质功能:能力
3.5   更多关于内核的内容
第4章   利用卡片使内核阿尔法变得具体
4.1   使用卡片帮助处理特定挑战:一个例子
4.2   使内核活跃起来
第5章   通过实践了解更多有关内核的细节
5.1   使实践变得清晰
5.2   实践的明确程度
5.3   从实践中构建方法
5.4   学习方法和实践
第6章   内核可以为你做什么
6.1   开发卓越软件
6.2   成长
6.3   学习
6.4   演进
延伸阅读
第二部分   使用内核运行一次迭代
第7章   使用内核运行迭代:计划-执行-检查-调整
7.1   使用的术语
7.2   计划-执行-检查-调整
7.3   设定场景
7.4   下几章的重点
第8章   计划一次迭代
8.1   用阿尔法状态指导计划
8.1.1   确定当前的进展
8.1.2   确定下一步工作目标
8.1.3   确定如何完成目标
8.2   确定当前状态
8.3   确定下一个状态
8.4   确定如何达到下一组状态
8.5   内核如何帮助你进行迭代计划
第9章   执行和检查迭代
9.1   使用内核执行和检查迭代
9.2   执行和检查我们故事中的迭代
9.3   内核如何帮助你执行和检查迭代
第10章   调整工作方式
10.1   使用内核调整工作方式
10.2   调整我们故事中的工作方式
10.3   内核如何帮助你调整工作方式
10.3.1   明确工作方式
10.3.2   改进工作方式
第11章   使用明确的需求项状态运行一次迭代
11.1   使用明确的需求项完成工作
11.2   计划我们故事中的迭代
11.3   进行我们故事中的另一次迭代
11.4   调整我们故事中的工作方式
11.5   讨论
延伸阅读
第三部分   使用内核运行一个软件开发工作
第12章   运行一个软件开发工作:从想法到运营
12.1 我们故事中的人物和他们一路上所面临的挑战
12.2   了解组织环境
第13章   创建业务案例
13.1   准备开始我们的故事
13.2   了解机会和涉众
13.3   了解解决方案
13.4   准备工作
13.5   制定一个概要计划
13.6   建立时间进度表
13.7   内核如何帮助你开始
13.7.1   拥抱你的涉众
13.7.2   指导开发
13.7.3   预先计划
第14章   开发系统
14.1   构建骨架系统--让它能工作
14.2   涉众参与
14.3   开始开发
14.4   建立一个各方都认可的工作方式
14.5   使骨架系统可用--让系统工作得更好
14.6   保持涉众参与
14.7   演化一个可用的系统
14.8   找到一个好的工作方式
14.9   演进为可部署的解决方案--结束工作
14.10   通过验收
14.11   准备交付
14.12   完成!完成开发工作
14.13   内核如何帮助你开发卓越的软件
第15章   运营软件
15.1   设置场景
15.2   上线--成功地部署系统
15.3   部署系统
15.4   两个团队之间的移交
15.5   支持系统直到其退役
15.6   我们的故事结束
延伸阅读
第四部分   利用内核来规模化开发
第16章   规模化意味着什么
第17章   细化内核来提供更多细节
17.1   对于缺乏经验的成员将"实践"变得精确
17.2   实例:需求获取的实践
17.3   实例:验收测试的实践
17.4   了解实践是如何协同工作的
17.5   "明确的实践"的价值
第18章   拓展内核来适配不同类型软件开发
18.1   商定需要使用的实践
18.2   适应你的开发生命周期
18.3   在开发过程中增量式地建立一个方法
18.4   大型组织中的方法
18.5   让团队控制他们的方法
第19章   向上规模化内核来适用大型复杂软件开发
19.1   大型软件开发的例子
19.2   利用阿尔法来组织工作
19.3   利用阿尔法进行可视化开发
19.4   利用阿尔法来协调开发团队
19.5   让团队成员参与内核的规模化
延伸阅读
第五部分   内核如何改变你在工作中运用方法的方式
第20章   考虑与不考虑方法
20.1   不停地思考方法
20.2   做比说强
第21章   敏捷运用方法
21.1   是整个团队而不是小部分人拥有方法
21.2   关注于方法使用胜过综合方法描述
21.3   不断演化团队的方法而不是保持方法固定不变
第六部分   真正新在哪
第22章   重建方法
22.1   并不缺少方法,缺少的是基础--内核
22.2   内核重视实践性
22.3   内核是可付诸实施的、可扩展的
第23章   在方法上应用关注点分离原则
23.1   将内核从实践中分离
23.2   将阿尔法从工作产品中分离
23.3   将本质从细节中分离
第24章   关键区分
24.1   方法上的创新
24.2   方便软件开发团队和专业人员的实用工具
第七部分   结语
第25章   这并不是终点
第26章   ……,但是现在可能是序幕的结束
第27章   愿景实现之时
27.1   对于软件专业人员
27.2   对于产业界
27.3   对于学术界
27.4   令人激动的未来
延伸阅读
附录
附录A   概念和符号
附录B   本书所涉及内容相比内核的差异
B.1   内核和本书都包含的内容
B.2   内核不包含但本书包含的内容
B.3   内核包含但本书不包含的内容
附录C   参考文献
C.1   SEMAT工作文献
C.2   SEMAT:其他文档和参考文献
C.3   其他参考文献
作者介绍
业内人士对本书的评价
索引

[书目20150303]软件工程的本质:运用SEMAT内核的更多相关文章

  1. semat内核阿尔法的状态图

  2. Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

  3. 内核调试工具 — kdump & crash

    kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...

  4. Linux内核同步:自旋锁

    linux内核--自旋锁的理解 自旋锁:如果内核配置为SMP系统,自旋锁就按SMP系统上的要求来实现真正的自旋等待,但是对于UP系统,自旋锁仅做抢占和中断操作,没有实现真正的“自旋”.如果配置了CON ...

  5. Linux内核源代码分析方法

    Linux内核源代码分析方法   一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...

  6. 【转】Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

  7. Linux内核源码分析方法_转

    Linux内核源码分析方法 转自:http://www.cnblogs.com/fanzhidongyzby/archive/2013/03/20/2970624.html 一.内核源码之我见 Lin ...

  8. 201771010142-张燕 实验一 软件工程准备—<软件工程的初步了解和学习目标>

    实验一 软件工程准备 项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh/ 软件工程准备要求 https://www.cnblogs.com/nwnu-daiz ...

  9. v79.01 鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上) | 百篇博客分析OpenHarmony源码

    百篇博客分析|本篇为:(用户态锁篇) | 如何使用快锁Futex(上) 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) ...

随机推荐

  1. 【bzoj1015】【JSOI2008】【星球大战】【并查集+离线】

    Description 非常久曾经.在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器.并攻下了星系中差点儿全部的星球.这些星球 ...

  2. 我的package.json清单

    { "name": "lists", "version": "1.0.0", "main": &qu ...

  3. JMeter Web测试快速入门教程

    学习前的准备 学习本教程前,你的电脑上至少应该有Apache JMeter这款软件.如果你没有,点击此处下载. 当你点进去后,你会发现它是一个依赖Java的软件 因此如果你电脑上没有Java环境,你应 ...

  4. malloc内存分配

    网上总结到的信息: (1) 静态分派:是在栈上分配,是由用户自己申请,是由操作系统自己释放的 动态分配:是由编译器分配,操作系统没有提供这样的机制,所以自己申请,必须自己删除! (2)你也要明确.栈的 ...

  5. JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)

    简单工厂模式尽管简单,但存在一个非常严重的问题.当系统中须要引入新产品时,因为静态工厂方法通过所传入參数的不同来创建不同的产品,这必然要改动工厂类的源码,将违背"开闭原则".怎样实 ...

  6. docker启动centos容器后如何用putty连接

    在前面的文章中,我提到过,win10 docker启动容器时,只有配置了宿主机和docker容器的端口映射,外部应用才能访问到容器中的服务,比如映射到Nginx的80端口.现在我将宿主机的某个端口映射 ...

  7. anaconda tensorflow tflearn 自动安装脚本 anaconda使用-b可以非交互式安装

    install_dir=/usr/local/anaconda3 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )&qu ...

  8. I.MX6 DNS 查看、修改方法

    /************************************************************************** * I.MX6 DNS 查看.修改方法 * 说明 ...

  9. bzoj 1898

    1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1197  Solved: 661[Submit][S ...

  10. asp.net mvc4 controller

    controller返回几种返回结果