译者序
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. 重载和重写在jvm运行中的区别(一)

    1.重载(overload)方法 对重载方法的调用主要看静态类型,静态类型是什么类型,就调用什么类型的参数方法. 2.重写(override)方法 对重写方法的调用主要看实际类型.实际类型如果实现了该 ...

  2. js中字符串的拼接的另一种方法

    // 按一定长度截断字符串,并使用 + 运算符进行连接. // 分隔字符串尽量按语义进行,如不要在一个完整的名词中间断开. // 特别的,对于HTML片段的拼接,通过缩进,保持和HTML相同的结构. ...

  3. android &lt;application&gt; 开发文档翻译

    由于本人英文能力实在有限,不足之初敬请谅解 本博客仅仅要没有注明"转",那么均为原创.转贴请注明本博客链接链接 <application>语法:    <appl ...

  4. mac WebStorm 破解

    摘要:因为想要学习HTML所以需要一个工具,同事推荐了webstorm.下载以后再网上搜破解方法.搜索到一个很简单的. 一.下载链接https://www.jetbrains.com/webstorm ...

  5. 【hadoop】ssh localhost 免密码登陆(图解)

    假设系统中有用户test,属于用户组test, 1. 首先确认能否不输入口令就用ssh登录localhost: $ ssh localhost 输出如下所示: 2. 如果不输入口令就无法用ssh登陆l ...

  6. 笔试题:求第M个到第N个素数之间全部素数

    题目描写叙述 令Pi表示第i个素数. 现任给两个正整数M <= N <= 10000,请输出PM到PN的全部素数. 输入描写叙述: 输入在一行中给出M和N,其间以空格分隔. 输出描写叙述: ...

  7. java语法基础(四)

    继承 继承概述 继承是面向对象语言的三大基本特性(封装,继承,多态)之一. 一个类可以继承另外一个类,继承的类称为子类(也可以叫派生类),被继承的类称为父类(或者也叫基类,超类). 通过继承,子类可以 ...

  8. codeforces 688E E. The Values You Can Make(dp)

    题目链接: E. The Values You Can Make time limit per test 2 seconds memory limit per test 256 megabytes i ...

  9. 并不对劲的bzoj4827:loj2020:p3723:[AHOI/HNOI2017]礼物

    题目大意 有两个长度为\(n\)(\(n\leq5*10^4\))的数列\(x_1,x_2,...,x_n\)和\(y_1,y_2,...,y_n\),两个数列里的数都不超过\(m\)(\(m\leq ...

  10. SPOJ:Triple Sums(母函数+FFT)

    You're given a sequence s of N distinct integers.Consider all the possible sums of three integers fr ...