懂你 2008-5-26 15:27
【未雨绸缪-理解软件配置管理】赏析三
今天我们来继续赏析《未雨绸缪-理解软件配置管理》一书的第三章中的精彩段落,为你讲述基于任务单元的配置管理思想。废话不多说,且看下面书中的原文。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[size=16pt][font=Times New Roman]== [/font][/size][font=宋体][size=16pt]第三章中,讲述任务单元的基本概念[/size][/font][size=16pt][font=Times New Roman] ==[/font][/size]
[font=Times New Roman][/font]
[font=仿宋_GB2312][size=3] 一般来讲,我们应该一件事情做完,再交活儿。干到一半的工作,对别人意义不大,甚至有负面影响。编程序改代码也一样。比如,张大侠这次本该修改三个文件,来添加一个功能。如果他刚修改了一个文件的时候,可能软件产品整体编译还不通过呢,就交上去,那就会出问题。那当王大侠和李大侠拿到张大侠的代码的时候,他们也编译不过去了。等找到了原因,他们会对张大侠怒目而视,说不定结下江湖恩怨。所以说,我们应该在完成了一个任务单元后,再交活儿。这是使用任务单元这个思想的最朴素的理由。[/size][/font]
[font=仿宋_GB2312][size=3]
[b] 任务单元[/b](Task),又称活动(Activity)。完成了一个任务单元,就意味着完成了一个工作单元。任务单元通常有一个标题,用来大致说明这个任务单元的目标。这可能是修复一个Bug;可能是小幅调整一个功能;也有可能是一项大的工作的工作分解:比如,实现一个崭新的功能,这项工作需要由几个程序员协作完成,每个人分头完成自己的一个或几个任务单元。总之,任务单元是指一个明确的工作单元,带有明确的目的,可以和其它工作单元区分开。
从源代码实际变动的角度看,任务单元对应于一个或多个文件上的一处或多处具体的代码改动。这些改动组合在一起,通常管它叫一个[b]变更集[/b](Change Set)或变更包(Change Package)。一个任务单元,就对应于这样的一个变更集(见图表 3‑1)。这样的一个一个任务单元,累加在一起,实现了整个软件的从无到有,直到开发完成。(见图表 3‑2)
[/size][/font][attach]8688[/attach]
[font=Times New Roman][/font]
[font=仿宋_GB2312][size=3] 用任务单元来组织和管理软件开发活动,便于明确要做哪些工作、谁来做、什么时候开始做、最晚什么时候做完等等团队协作必然遇到的话题。这样,便于交流,也便于管理。这不仅体现在计划和分配工作的时候,也体现在完成工作以后。工具可以自动提供每个人完成任务单元的列表,看一下张大侠这周完成的任务单元的列表,Wow,他真的是劳苦功高啊。[/size][/font]
[font=仿宋_GB2312][size=3]
当程序员把程序送交测试团队测试的时候,测试人员通常会问,这一版,你们改动了什么内容?增加了什么功能?修复了哪些Bug?当程序发布给客户的时候,客户通常也会问相同的问题。如果是用任务单元来组织软件开发的,那么,最近完成的任务单元的列表,会对回答这类问题有很大的帮助。[/size][/font]
[font=仿宋_GB2312][size=3]
而当我们在源代码改动的层面回顾工作的时候,同样能感受到基于任务单元的方法带来的好处。我们能够明确的知道,某个Bug,究竟是怎么修复的?某个新增加的功能,究竟对应于哪些文件的修改,修改了哪些内容?这样,如果怀疑以前的工作有疏漏,可以方便的追溯过去的某个任务单元中,对代码的具体修改,看看是不是当时的改动有问题。如果你打算向编程高手学习,也一样。考察任务单元中各文件中代码内容的变化,可以体会高手编程时的良苦用心。
看,项目管理人员、开发人员、测试人员和最终用户,都会从基于任务单元的方法中受益。
……[/size][/font]
[size=3][/size]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMStruggling 2008-5-26 16:12
Re:讲述任务单元的基本概念
前后仔细读了几遍本文的内容(发现自己对于一些或陌生或新鲜或值得回味的内容总喜欢连续读好几遍;而且发现每次读都有不同的感受和体会),
对于理解关于任务单元相关的知识也有了进一步的了解:
1. 这里讲的内容其实可以建议开发人员也多来看看,和开发人员自身的东西牵连还是相当密切的,而且自己最近也在研究一些关于开发的相关知识,很有感触;
2. 任务单元我这里感觉就是开发人员进行私有构建,在提交变更之前,必须用私有构建对所做的变更进行一致性与正确性验证,确保单个任务的变更是正确的;
3. 而任务单元的正确提交之后,私有构建也正是为了以后的集成构建;
期待后面的集成...
“等找到了原因,他们会对张大侠怒目而视,说不定结下江湖恩怨...”;正所谓“冤家宜解不宜结”,这个时候,就需要找一个人出来化解调和江湖恩怨,或是武林盟主,或是类同传说中“神龙见首不见尾”的配置管理员;
如此;
想想自己身上的使命和担子;
怎能还不尽心?
missdeer 2008-5-26 20:49
[quote]我们能够明确的知道[/quote]
这个“的”
[quote]可以方便的追溯过去[/quote]
还有这个“的”,似乎都应该是“地”吧,或不是现在已经通用了?
missdeer 2008-5-26 20:56
[quote]2. 任务单元我这里感觉就是开发人员进行私有构建[/quote]
我感觉任务单元比较偏重于目标,或结果,而私有构建则是其中的过程,或过程中的一部分
CMStruggling 2008-5-26 22:23
[quote]原帖由 [i]missdeer[/i] 于 2008-5-26 20:49 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=93418&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
这个“的”
还有这个“的”,似乎都应该是“地”吧,或不是现在已经通用了? [/quote]
语言学家?
还是文字学家?
还是古汉语或现代汉语学家?
无语中...
CMStruggling 2008-5-26 22:32
[quote]原帖由 [i]missdeer[/i] 于 2008-5-26 20:56 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=93420&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
我感觉任务单元比较偏重于目标,或结果,而私有构建则是其中的过程,或过程中的一部分 [/quote]
我的理解是通过私有构建把任务单元一个个的完成;
那么它就首先满足私有构建的种种条件和约束,比如我上面提到的一些等等等等;
具体理解任务单元相关的知识,
相信在实际具体应用中更能体会。
沙漠飞雪 2008-5-26 22:55
又晚到一步:em17
沙漠飞雪 2008-5-26 23:04
这段文章主要讲述的是任务单元的概念。那我想请教下任务单元在配置管理工作中是怎样一个角色呢?
我们对任务单元的管理又有着怎样的意义呢?呵呵~
沙漠飞雪 2008-5-26 23:09
[quote]原帖由 [i]missdeer[/i] 于 2008-5-26 20:49 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=93418&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
这个“的”
还有这个“的”,似乎都应该是“地”吧,或不是现在已经通用了? [/quote]
质疑精神是可嘉的,做配置管理严谨是重要的品质。呵呵,不过,现在汉语中“地”和“的”已经没有严格的划分了,用哪个都可以的~
scmscmscm 2008-5-27 16:52
[quote]原帖由 [i]missdeer[/i] 于 2008-5-26 20:49 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=93418&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
这个“的”
还有这个“的”,似乎都应该是“地”吧,或不是现在已经通用了? [/quote]
根据下面这篇文章,看来是这样的:曾经有说法“的”“地”通用,后来又开始严格区分。
我们能够明确的知道
可以方便的追溯过去
这两句确实应该用“地”而不是“的”。
影响不象英文逗号和中文逗号在编译中的后果那么严重。
[url]http://bbs.flyine.net/viewthread.php?tid=25951[/url]
摘录部分:
为了解决中学生“的地”使用上的疑难问题,1984年人民教育出版社中学语文室编印的《中学教学语法系统提要(试用)》(以下简称《提要》)提倡“的、地”合写为“的”(注意:没说“得”可以与“的地”通用),提出“这里不区分‘的“地’,都用‘的’。
为了体现《提要》的意图,人民教育出版社1988年出版的初中语文课本上出现了混乱现象,在同一本教材中,有时分,有时合,即使是在同一篇文章中,这种混乱现象也大量存在。让广大教师和学生无所适从,作为课本,就失去了规范性和指导性,因此被作废。后来人民教育出版社出版的语文课本(包括小学低年级课本)又采用了“的地”分写的方法。
正因为如此,现在这个《提要》已经没人再遵循,也很难寻觅到这这本册子。况且,这个《提要》只是一个出版社的“中学语文室”编的“试用”意见,根本不具权威性。即便具有指导意义,也只是对中学生的,而且这些意见也仅仅是“提倡” ,并不是国家正式的指导文件或国家标准,哪能根据它改变中文的语法、词法!
[[i] 本帖最后由 scmscmscm 于 2008-5-27 16:59 编辑 [/i]]
kangfu9901 2008-5-29 16:33
这个金钱和威望也太容易赚了啊!随便说点什么都加钱,沙漠飞血,以后我觉得常驻此版,跟你混了.
沙漠飞雪 2008-5-29 23:05
[quote]原帖由 [i]kangfu9901[/i] 于 2008-5-29 16:33 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=94378&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
这个金钱和威望也太容易赚了啊!随便说点什么都加钱,沙漠飞血,以后我觉得常驻此版,跟你混了. [/quote]
惭愧,只要参加这次活动,回复有意义的发言就可以得到5~20分的奖励,这是这次活动的规则。呵呵,不过威望不能随便加,这个以后我是要注意的。希望您能经常来这,发表自己的言论,抒发自己的见解。呵呵
也希望大家积极参与这次活动o(∩_∩)o...
青青花花 2008-5-30 10:08
这章讲了按任务单元的组织方式。也就是每次版本的提交和升级都是按任务(或者成为功能)来提交的。一个任务单元的提交对应的文件修改是一个文件集合(一个或多个文件)。
这个功能在以任务单元组织方式的工具如:SVN,是很容易实现的。
不过像CVS是以单个文件管理的,应该是不能做到这个功能的。
不知作者的意思是这个功能是未来的趋势吗?目前CC好像还是以文件为单位管理的。
以上是个人看了这一章的想法。
luckyera 2008-6-2 11:53
這里的任務單元是不是跟模塊是一個意思?
流水先生 2008-6-2 17:44
[quote]原帖由 [i]青青花花[/i] 于 2008-5-30 10:08 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=94517&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
这章讲了按任务单元的组织方式。也就是每次版本的提交和升级都是按任务(或者成为功能)来提交的。一个任务单元的提交对应的文件修改是一个文件集合(一个或多个文件)。
这个功能在以任务单元组织方式的工具如:SV ... [/quote]
CVS上的朋友,考虑迁到SVN上吧~
Base ClearCase上的朋友,考虑迁到ClearCase UCM上吧~
至少有一个理由,任务单元~~
流水先生 2008-6-2 17:50
[quote]原帖由 [i]luckyera[/i] 于 2008-6-2 11:53 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=95011&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
這里的任務單元是不是跟模塊是一個意思? [/quote]
模块是“几个文件”,紧密地在一起配合工作,形成一个“零部件”。
任务单元是“几个文件的内容变化”,这些变化在一起,是一个增量(delta):是一个bug-fix,或是一个enhancement,或是一个work-package……
wangwen 2008-6-11 12:11
“神龙见首不见尾”的配置管理员???汗颜。。。。。
CMStruggling 2008-6-11 13:02
[quote]原帖由 [i]wangwen[/i] 于 2008-6-11 12:11 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=96909&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
“神龙见首不见尾”的配置管理员???汗颜。。。。。 [/quote]
::em53::
我是为了和前面的武林盟主类比;
所以说的玄妙了些;
如有雷同;
纯属巧合。
zibingtian 2008-7-23 11:39
[quote]原帖由 [i]CMStruggling[/i] 于 2008-5-26 22:32 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=93429&ptid=12804][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
我的理解是通过私有构建把任务单元一个个的完成;
那么它就首先满足私有构建的种种条件和约束,比如我上面提到的一些等等等等;
具体理解任务单元相关的知识,
相信在实际具体应用中更能体会。 [/quote]
请问,何谓私有构建?不太了解这个名词?
页:
[1]