项目计划及质量管理

在可行性分析之后,项目计划与质量管理将贯穿需求分析、系统设计、程序设计、测试、维护等软件工程环节。

w}{ Md&g!C0
H6eVve6Z1w0XVI0
1v/{0Y5lLI;B2zE0项目计划是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。项目计划是要付诸实施的,不象用嘴巴喊政治口号,可以很夸张。软件的项目计划重在“准确”而非“快速”。
6D!Rv"L,R#cef0
gD-YWi @T2w{051Testing软件测试网-b ?[email protected]w AZq

$c;m]%q,[ oAJi*|5iP0提高质量是软件工程的主要目标。但由于软件开发是一种智力创作活动,很难象传统工业那样通过执行严格的操作规范来保证软件产品的质量。世上最小心翼翼、最老实巴脚的程序员未必就能开发出高质量的软件来。程序员必须了解软件质量的方方面面(称为质量因素),如正确性、性能、易用性、灵活性、可复用性、可理解性等等,才能在进行系统设计、程序设计时将高质量内建其中。软件的高质量并不是“管理”出来的,实质上是设计出来的,质量的管理只是一种预防和认证的手段而已。51Testing软件测试网%[`h3f:@%t9p
51Testing软件测试网p0?&K x fAG

L(l;`:`7qP01 项 目 计 划
x}e&n9XVl!qP0做项目计划,如同给一个待出生的婴儿写传记那样困难。如果允许项目结束后再写计划,那就轻松多了,并且可以100%
地准确。
EL-^"};t[0历史教训让我们明白一个道理:如果一万年以后才会有一条阳光大道通向共产主义,那么现在就不要忙着砸锅炼钢赶英超美,免得在跑步奔向共产主义时把自己累死饿死。在做软件的项目计划时,应屏弃一切浮夸作风。只有“知已知彼”才能做出合理的项目计划。这里“知彼”是指要了解项目的规模、难度与时间限制。“知已”是指要了解有多少可用资源,如可调用的程序员有几个?他们的水平如何?软硬件设施如何?51Testing软件测试网eK!_Wq:Dn!K H

k MW ASK#k(f"tx"a%\[1Xw0
2T1N3i nn]-q01.1 知己知彼51Testing软件测试网)P.e.Ps
U#im(R
首先要了解项目的规模、难度与时间限制,才可以确定应该投入多少人力、物力去做这个项目。在可行性分析阶段就要考虑这个问题。但不幸的是,人们在陷入项目不能自拨之前总难以准确地估计项目的规模与难度。这里经验起到了最重要的作用。51Testing软件测试网`/M6_7l+\/y D R0L

kN{W7K051Testing软件测试网/N yM}};E
T!`
项目的时间限制有两类。第一类,项目应该完成的日期写在合同中,如果延期了,则开发方要作出相应的赔偿。第二类是开发自己的软件产品,虽然只确定了该产品大致的发行日期并允许有延误,但如果拖延太久则会失去商机造成损失。51Testing软件测试网dx GWV&I?D0w

E@u)\Y051Testing软件测试网/Xi"O2V1Z JE
v
项目的资源分为三类:“人”、“可复用的软构件”和“软硬件环境”,如图3.1所示。51Testing软件测试网*[[;F,Y0NR‘q sz
51Testing软件测试网&brEbt*R
(1)人是最有价值的资源。项目计划的制定者要确定开发人员的名单,要根据他们的专长进行分工。51Testing软件测试网9vM6f3f*C}uV

n#dk!ZQf9N4i0(2)可复用的软构件是次有价值的资源。1.2.1节论述了复用软构件可提高软件的质量与生产率。软构件并非一定要用自己的,可以向专业的软件供应商购买。
]:[email protected]$On^a.e%A G6[:B0
eKN RD#x[u
~0(3)软硬件环境虽然不是最重要的资源,却是必需的资源。原则上软硬件环境只要符合项目的开发要求即可。有些项目可能要用到特殊的设备,则要事先作好准备,以免用时找不到而担搁了进程。
Zj@:Tf‘y.{0
*PW2Jg8|w8N@\0
_C$N\:k Y/Ovq!P01.2 进度安排
9mf3Mz5k_0有一位程序员忙着编写程序,经理问他还需要多久才能完成。51Testing软件测试网‘wJ7Q/R:^$RB
“明天就可以完成。”程序员立即回答。51Testing软件测试网3`+C
RS,M@z9z
“我想这是不切实际的,实话实说,到底还要多少时间?”经理说。51Testing软件测试网)X
yI@9C.BH
“我还想加进一些新的功能,这需要花两个星期。”程序员想了一会儿说。51Testing软件测试网~h
ZU.s,l
“即使这样也期望过高了,只要你编完程序时告诉我一声,我也就满足了。”经理说。
!E$?4n/i}o?]
Q0几年以后,经理要退休了。在他去退休午餐会时,发现那位程序员正趴在机器旁睡觉:可怜的家伙整个晚上都在忙于编写那个程序。[James
1999]
#v@p&?BZc4_051Testing软件测试网,kNk5C T-[}K
51Testing软件测试网~;t‘W%Hs7]
e
程序员也期望每天早晨能在7:00准时起床,可老是一觉醒来就到中午了。项目落后于进度表乃是家常便饭,不必大惊小怪。以下一些事件经常会导致项目被延误:51Testing软件测试网K/o[(};B7{ u

8V%m+R:C$? r J m051Testing软件测试网6Rs‘yQ[‘b
(1)上级领导主管臆断,制定了不现实的期限。项目经理与程序员们被迫按照不合理的进度表开展工作
r&z [email protected]&VaouK051Testing软件测试网
rpXw,rI1P
(2)客户的需求发生了变化,但没有对进度表作出相应的修改。51Testing软件测试网+f4D aMu7]

9a8h:wS s
n&EJ-y+kQ0(3)低估了项目的规模与难度,导致投入的人力和物力不足。
%pA`[email protected]Hel2A @0
n9Qlbo6`x0(4)并未预见到存在难以克服的技术障碍。51Testing软件测试网EK&C1[[

q _Sr7?a0(5)并未预见到开发人员会发生问题,如生病,辞职等等。51Testing软件测试网sM8G*aL

_0FF-C{0(6)开发人员之间不能很好的交流、协作,导致各阶段任务难以如期完成。
bQ$mRs4^~0所以写进程表不能象小学生写决心书那样充满幻想。以下是一些有益的建议:
KL8Qx Kp051Testing软件测试网&I d[+dN e

3i"gs!`7myZi0(1)制定进度表的人最好就是项目负责人,他最了解项目和开发人员。进度表要经过开发小组的讨论,在得到大部数人的支持后才能实施。避免出现一厢情愿的局面。51Testing软件测试网b8S#f e-BX/RQ1T
51Testing软件测试网9C.M3C)d+t%m[7bS
(2)进度安排并不见得一定要符合逻辑顺序。应尽可能地先做技术难度高的事,后做难度低的事。也就是辛苦在前,轻松在后。
H7BHo/N051Testing软件测试网P
?g.s*a5k6X9\VN
小时候我对一位老先生吃饭很感兴趣:他总是先把一大盒的米饭吃光了,然后再幸福地品尝一小盒菜。父母告诉我这是中国的传统美德,叫“先苦后甜”。从此我铭记在心,按此道理去学习和工作。可如今在饭店里,人们总是先把菜吃完了,最后才吃点米饭。天哪,生活真是太复杂了,我究竟该“先吃饭” 还是“先吃菜”?51Testing软件测试网cZ,Dp;Mi
51Testing软件测试网5f)@zcG
X
(3)开发一个大的软件项目,应该将进度表分为若干个里程碑。一个里程碑之内的多个任务可以同步进行。程序员极容易沉迷于技术,要么乐不思蜀,要么焦头烂额。里程碑就象心灵的灯塔,使忙碌的人群不混乱,不迷失方向。51Testing软件测试网\DdYL‘s%NF
51Testing软件测试网A ?pm2N

-T-z)A$Z/?b!^%v0(4)进度表中必须留有缓冲时间,并将缓冲时间用到不确定的事情上。因为人们对即将要做的事情知之甚少,所以要留一些时间以防不测。Microsoft公司的一些开发小组甚至制定了“50%
缓冲规则”[Cusumano 1996]。对许多项目经理而言,容忍进度表中存在缓冲时间,不啻为观念上的一个飞跃。51Testing软件测试网{*?6Bx6SQ&e8EncS

2I I`l~8Ta L
V#C)@0(5)如果发现项目应交付的期限非常不合理,就要跟领导或跟客户据理力争,请求放宽期限、调整进度。当客户的需求发生变化时,就要对进度表作出相应的修正。不要觉得修改进度表很困难很麻烦,不修改才会产生真真的麻烦。很多人认为戒烟很困难,但马克·吐温曾说:“戒烟很容易,我一年就戒几十次。”51Testing软件测试网c.xHg4S-]7lWa2\2o
51Testing软件测试网mkYr‘[f‘g,rn

(G/};X t2h,Bwt‘Q)@02 零缺陷质量管理的观念
svU
b3iP0“零缺陷”质量管理的观念来源于一些国际上著名的硬件生产厂商。尽管软件的开发与硬件生产有极大的差别,但我们仍可以从“零缺陷”质量管理中得到启迪。“零缺陷”质量管理至少有两个核心内容:一是高目标,二是可执行的规范。
v/_K!w+k(Q‘H [#t051Testing软件测试网ub,lz-D2O

6N;[email protected]#f[?1G7w]8q x02.1 高目标
[w/w ?p‘U l Q0人在做一件事情时,由于存在很多不确定的因素,一般不可能100%
地达到目标。假设平常人做事能完成目标的80%。如果某个人的目标是100分,那么他最终成绩可达80分。如果某个人的目标只是60分,那么他最终成绩只有48分。我们在考场上身经百战,很清楚那些只想混及格的学生通常都不会及格,那些想得高分的学生也常为自己的失误而捶胸顿足。
#_5Zx M p}5_"Et051Testing软件测试网$VyEAW1dVe-f
做一个项目通常需要多个人的协作。假设项目的总质量(最高为1)是十个开发人员的工作质量之积。如果每个人的质量目标是0.95,那么十个人的累积质量不会超过0.19。如果每个人的质量目标是0.9分,那么十个人的累积质量不会超过0.03。只有每个人都做到1,项目总质量才会是1。
uQ#o+fQ0
TD9}oK4lzI051Testing软件测试网\:{d!z
IZN2D
如果没有高目标,人的堕落就很快。如果没有“零缺陷”的质量目标,也许缺陷就会成堆。51Testing软件测试网*E@#Ur"^

f?Qt@P%K051Testing软件测试网$|;Al)^.DS
2.2 可执行的规范51Testing软件测试网O(w3Qtint[v
实现100分显然比实现80分要付出更多的努力。“零缺陷”质量目标不是随心所欲提出来的,做得到才有意义。实现高目标需要一套可执行的规范来保证。51Testing软件测试网!Cz]Q;kl

O+i!nj‘DZ#N0
sc
uS4}t050年代末,全国掀起了“浮夸风”。为了实现亩产数万斤推广各种方法,害得全国闹饥荒。想不到有数千年种粮经验的几亿中国农民就这么整齐地栽倒了。51Testing软件测试网)Kdx~J|
51Testing软件测试网1b,@
bC0c7b-n
好规范必须是本企业有能力执行的。一个普通企业照搬一流企业的规范未必行得通。软件工程的规范很容易从书籍中找到,但有了这些规范并不表明就能把软件做好。国内很多软件公司根本没有条件去执行业界推荐的软件工程规范。社会主义初级阶段的“草”与发达资本主义国家的“苗”的确有不同的培育方式。51Testing软件测试网xN `X+u$}N,q1o:Y
51Testing软件测试网"JY f1s.K3agh o
51Testing软件测试网6\*G!{Cr8i
z)m
软件是如此的灵活,如果没有规范来制约,就容易因无序的喜好而导致混沌;但规范如果太严密了,就会扼杀程序员生机勃勃的创造力。制定软件规范是进退两难的事。程序员必须深入了解软件多方面的质量因素,把那些能提高软件质量因素的各种规范植入脑中,才能在各个实践环节自然而然地把高质量设计到软件中。51Testing软件测试网#\1r~,`f5NN Jm

(u6Z/Wv,Z8f0
I4aw|Td03 软件的质量因素51Testing软件测试网
x9I0~‘bx
“运行正确”的程序就是高质量的程序吗?
_F-Zen z`]0不贪污的官就是好官吗?
"L gv"i Q%IU051Testing软件测试网)hG V:g}
51Testing软件测试网,iczn2`
v-I
时下老百姓对一些腐败的地方政府深痛恶绝,对“官”不再有质量期望。只要当官的不贪污,哪怕毫无政绩,也算是“好官”。也有一些精明的老百姓打出旗号:宁要贪污犯,不要大笨蛋。相比之下,程序员是够幸福的了。因为我们能通过努力,由自己来把握软件的命运。那么就不要轻易放弃提高软件质量的权利了。
w on!?-Q:qO]051Testing软件测试网/|,jTC^
“运行正确”的程序不见得就是高质量的程序。这个程序也许运行速度很低并且浪费内存;也许代码写得一塌糊涂,除了开发者本人谁也看不懂也不会使用。正确性只是反映软件质量的一个因素而已。51Testing软件测试网@l
C4]2e
软件的质量因素很多,如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等等(还可以列出十几个)。这些质量因素之间“你中有我,我中有他”,非常缠绵。如果程序员每天要面对那么多质量因素咬文嚼字,不久就会迂腐得象孔乙已,并且有找不到女朋友的危险。51Testing软件测试网 a.Px-`@JA2D+T,]uE

{ W`PY![)`#}R051Testing软件测试网l:r/W`? {1r7ENf|4R8Q
o
为了便于理解,可以参照武侠小说中的武学分类,将质量因素粗略地分成几大派。你想那武学源源流长,相互渗透,谁能数得清有多少江湖派别。但想在道上混,总得知道六大门派:“少林派”、“武当派”、“峨嵋派”、“华山派”、“昆仑派”和“崆峒派”。软件质量因素的分类如图3.2所示。其中“正确性与精确性”排在首位,地位如同“少林派”与“武当派”;而“性能与效率”,“易用性”,“可理解性与简洁性”和“可复用性与可扩充性”亦是举足轻重的质量因素,地位仿佛“峨嵋派”,“华山派”,“昆仑派”和“崆峒派”。其它的质量因素总可以在图3.2中找到合适的亲缘关系,本节不再一一细表。
P,`/AU B~K9t0
b}1kY)l0
J1u:Es+h$_2S03 软件质量因素分类和武学分类51Testing软件测试网[email protected]ot$G_H‘Yn K
3.1
正确性与精确性51Testing软件测试网[email protected]mwa&dhx4kY
正确性与精确性之所以排在质量因素的第一位,是因为如果软件运行不正确或者不精确,就会给用户造成不便甚至造成损失。机器不会主动欺骗人,软件运行不正确或者不精确一般都是人造成的。即使一个软件能100%
地按需求规格执行,但是如果需求分析错了,那么对客户而言这个软件也存在错误。即使需求分析完全符合客户的要求,但是如果软件没有100%
地按需求规格执行,那么这个软件也存在错误。开发一个大的软件项目,程序员要为“正确”、“精确”四个字竭尽精力。
K%z6N$?Ml wa0与正确性、精确性相关的质量因素是容错性和可靠性。
.uy8rA({051Testing软件测试网d2jn+qs_1B

,T+K]‘ve[y$Q
\0容错性首先承认软件系统存在不正确与不精确的因素,为了防止潜在的不正确与不精确因素引发灾难,系统为此设计了安全措施。在一些高风险的软件系统,如航空航天、武器、金融等系统中,容错性设计非常重要。51Testing软件测试网8X `"j{[`0dSRH0E
51Testing软件测试网u
dv7G|(c
可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。可靠性本来是硬件领域的术语。比如某个电子设备,一开始工作很正常,但由于工作中器件的物理性质会发生变化(如发热),慢慢地系统就会失常。所以一个设计完全正确的硬件系统,在工作中未必就是可靠的。软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运行得好好的,说不准哪一天就不正常了,如“2000年”问题。因此把可靠性引入软件领域是有意义的。我曾买了一本关于软件可靠性的著作,此书充满了数学公式。我发现以我目前的学历实在难以看懂书上讲了些什么。请宽恕我的愚昧,我把此书给“供”起来,没敢用笔画一处记号。
8o|h2zbh3Pl-i051Testing软件测试网;m){vOSE*Z,k#Y _6JX
51Testing软件测试网C*g.\$X~~*Juw#\
51Testing软件测试网e"G g|{ Gh? @"{
3.2
性能与效率
q|W"l H
{0用户都希望软件的运行速度高些(高性能),并且占用资源少些(高效率)。旧社会地主就是这么对待长工的:干活要快点,吃得要少点。程序员可以通过优化算法、数据结构和代码组织来提高软件系统的性能与效率。优化的关键工作是找出限制性能与效率的“瓶颈”,不要在无关痛痒的地方瞎忙乎。如果你想职称升得快,光靠增加课时能顶屁用;你就该一年写它几十篇文章,争取破格升教授。51Testing软件测试网*H c1K@E-do

C3M+HYX2LJP0
8M/B y3UH9V03.3 易用性
3Q/El*d‘{5xO7sC0易用性是指用户感觉使用软件的难易程度。用户可能是操作软件的最终用户,也可能是那些要使用源代码的程序员。现代人的生活节奏快,干啥事都想图个方便。所以把易用性作为重要的质量因素无可非议。51Testing软件测试网QQgr Z*[b1s

/J1fNbP,Y"NwD051Testing软件测试网J}zWg
导致软件易用性差的根本原因是开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也一定会满意。俗话说“王婆卖瓜,自卖自夸”。当程序员向用户展示软件时,常会得意地讲:“这个软件非常好用,我操作给你看,……是很好用吧!”软件的易用性要让用户来评价。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是就用“友好”来评价易用性。51Testing软件测试网Ri;g"n+la;P,}(d

)UJx)Pz;l G051Testing软件测试网 |w_4jFzO6h(p.?
3.4
可理解性与简洁性51Testing软件测试网-?tU#|)m!dbu$jd
可理解性表达了人们一种质朴的愿望:我化钱买了它,总得让我明白它是什么东西。我小时候的一个伙伴在读中学时,就因无法理解电荷之分正负,觉得很烦恼,便早早地缀学当工人。
Kf
vr-y0可理解性也是对用户而言的。开发人员只有在自己思路清晰时才可能写出让别人能理解的程序。编程时还要注意不可滥用技巧,应该用自然的方式编程。我们的确不知道自己的得意之举究竟是锦上添花,还是画蛇添足。就象蒸出一笼馒头,在上面插一朵鲜花,本想弄点诗情画意,却让人误以为那是一堆热气腾腾的牛粪。51Testing软件测试网2[!h+j/[@/p
51Testing软件测试网v _la:zo:q

X
BtIn8F#R*D@:q0简洁是一种美,不管是自己还是用户都会有同感。在生活中,与简洁对立的是“罗里罗嗦”。中国小说中最“婆婆妈妈”的男人是唐僧。有一项民意调查:如果世上只有唐僧、孙悟空、猪八戒和沙僧这四类男人,你要嫁给哪一类?请列出优先级。调查结果表明,现代女性毫不例外地把唐僧摆在老末。
)Lw&xCFM9u%wNS3nW0一个原始的应用问题可能很复杂,但高水平的人就能够把软件系统设计得很简洁。如果软件系统臃肿不堪,它迟早会出问题。简洁是人们对工作“精益求精”的结果。
6idO5Cp\%_h0
7jr^;Gqii8D0
.Ug
m:z$s2jO0废话大师有句名言:“如果我令你过于轻松地明白了,那你一定是误解了我说的话。”我最近有一种奇怪的体会:如果把学术文章写得很简洁,让人很容易理解,它往往中不了;只有加上一些玄乎的东西,把本来简单的弄成复杂的,才会增加投稿的命中率。事实上,我可以在5分钟之内说清楚三年来读博所做的工作,根本用不着写100多页的博士论文。我是在临近毕业时,才发觉自己完全不适合读博士学位。将来工作后,我一定要好好编程,重新做人。
y?@bP2qRAW q051Testing软件测试网\6L!g/HM!Sq

CMb7e3`h G Bg#m w03.5 可复用性与可扩充性
gzUR{m0复用的一种方式是原封不动地使用现成的软构件,另一种方式是对现成的软构件进行必要的扩充后再使用。可复用性好的程序一般也具有良好的可扩充性。本书第六章将论述如何设计可复用、可扩充的C++程序。51Testing软件测试网]q?Et!ys@
51Testing软件测试网0z3?2Tt6npE
51Testing软件测试网&S @&A ` [aS
4 质 量 检

#y:B‘\6I4h3N0检查是人们不信任自己和别人的一种行为。当某些事情涉及到利益分配时,更需要有检查活动来保证公平。估计即使进入了共产主义社会,也少不了检查。
\sV‘P4m a‘\p051Testing软件测试网Fz*P]YI*?,b4r+c
f
质量检查并不是要等到项目结束时才执行唯一的一次,应该在每个实践环节都要执行。对应于进度表,在每个里程碑到达时执行质量检查比较合理。质量检查的内容有二:一是作出评审,是合格还是不合格?能打多少分?二是作出建议,对质量为什么好为什么差进行分析,以便“改差为好”、“好上加好”。
w"bXr_-w051Testing软件测试网NW{"e5jlM

~p Y3X!~}u,r4O0以下是人们经常采用的软件质量检查措施[Pressman
1999]:51Testing软件测试网n1n]\J#u.Lv
(1)事先把检查的主要内容制成一张表,使检查活动集中在主要问题上。
ZUCa"ub&G0(2)只评审工作,不评审开发者。评审的气氛应该是融洽的。存在的错误应该被有礼貌地指出来,任何人的意见都不应被阻挠或小看。
~
RVI;Gxq0(3)建立一个议事日程并遵循它。检查过程不能放任自由,必须排照既定的方向和日程进行。
|_4R6Xu~#@H3E0(4)不要化太多的时间争论和辩驳。
`WQ xp8W)l0(5)说清楚问题所在,但不要企图当场解决所有问题。
(H,PO p V(G0(6)对检查人员进行适当的培训。
r!b,[@ ?]0……51Testing软件测试网.\M iw4Lt
51Testing软件测试网M2_ dZ`D{
51Testing软件测试网)p Y.sy"ch
51Testing软件测试网 fw
dIr"D4G&O
做好检查工作并不是件容易的事。自古以来“上有政策,下有对策”。
虚假的质量检查还不如不检查,下面讲两个故事作为解释。51Testing软件测试网Q2J
y[email protected]Q
51Testing软件测试网"T@&h2hagO}‘j

_ Q,u(wy9^0故事一51Testing软件测试网J1X4bu9]8S
不久前我回到西北那所读了六年多的大学,惊奇地发现校园里房前屋后长满了待收割的小麦!这所大学是从事电子科技的,种小麦干啥呀?朱总理曾讲过:“目前国家粮食充足,再来三年自然灾害也不怕。”现在国泰民安,似乎用不着“深挖洞,广积粮”。我素知学校提创勤俭节约、自力更生,但与其种小麦还不如种蔬菜呢。老同学告诉我,种小麦是为了应付“211”工程(为21世纪选拔100所重点大学)的检查团,因为“211”工程有较高的绿化指标。偏偏检查赶在冬天,那时的西北极难长草。我那所大学本来就人多地少,地上一长草马上就会被谈恋爱的学生给折磨死。一到冬天,整个校园就光秃秃一片。用小麦绿化校园可谓千古绝笔,检查团的那些权贵人士早已五谷不分,岂知所见的“草坪”乃是麦田。
,A"XM;I:tX}5fX+k0检查工作要预防被检查者弄虚作假。51Testing软件测试网J:who Dd1Mn uS
51Testing软件测试网"cr.G+_,J;[t2n

Aw5k~/s0故事二51Testing软件测试网:^0HelmJ i `
A
我上高中时,班里举行一次入团评审。侯选人中有几位是好学生,有几位是坏学生。我心想“伸张正义”的机会到了,绝不能让坏蛋混进纯洁的团里。可天知道团支部书记是聪明绝顶还是蠢笨之极。他竟说:“班里还有一些同学没有入团,现在他们申请入团,有不同意的请举手。”我们都不知道该怎么办了。书记接着说:“既然没有人举手反对,就表示全部同意,请大家鼓掌欢迎。”这次入团评审不到一分钟就结束了,从此后我再也没想过争取入党。51Testing软件测试网
z:k\:S7S"di6Jg;v
检查工作要有科学的评审方式。
‘HI
G4Z]"Tn!U O0
3O9z2hVbUK%e!?051Testing软件测试网Ui vDJ-g Z0dg;o
5 小

:`l+a/f5\\%YD+OOW0J0不知为什么,国内很多大的企业都喊着要进世界500强。如果真的实现了,世界500强还不全被中国霸占了。软件的项目计划和质量管理都不是用来喊叫的口号。做项目计划时切忌“冒进”,不要指望在项目陷入困境后靠增加人手来解救。软件的高质量主要是设计出来的,不是“管”出来的,更不能依赖质量检查。为此程序员要充分了解软件的质量因素,只有提高设计水平,才能开发出高质量的软件。51Testing软件测试网` KZ X;`H.y6Sh

项目计划及质量管理

时间: 2024-10-26 22:11:31

项目计划及质量管理的相关文章

《软件工程思想》读后感

在老师的强烈推荐下, 我花了两天时间略看了林锐博士的<软件工程思想>这本书,尽管不是字字斟酌,但读完后还是收获颇丰. 这本书不过百页,总体看来,作者文笔不错,文风幽默又略带自谦,这是我很喜欢的.在读到作者形容程序员的生活和工作已融为一体,尽管单调却不乏味,还能独享孤独一处时,作者写到,“有诗为证:我编程三日,两耳不闻人声,只有硬盘在歌唱.”我不禁笑喷.哈哈~~却实是很好玩一人,心里顿时对这本书的下文来了兴趣.仔细想想,我国当今的程序员队伍虽然强大,但以木讷不善言谈者居多,而此书作者能够将此书写

软件评测师笔记_软件质量管理基础20161022

软件质量管理 软件是逻辑产品,其质量属性有不同的特点.软件质量保证(SQA)活动是确保软件产品在软件生存期所有阶段的质量的活动,即为了确定.达到和维护需要的软件质量而进行的所有有计划.有系统的管理活动. 概括地说,软件质量就是软件与明确地和隐含地定义的需求相一致的程度.具体地说,软件质量是软件与明确叙述的功能和性能需求.文档中明确描述的开发标准,以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度. 软件质量具有以下3个要点. (1)用户需求是衡量软件质量的基础,与需求不一致就无质量可言.

2017.07.07 IT项目管理笔记整理 第八章 软件项目质量管理

软件质量的特性:1.正确性 2.可靠性 3.效率 4.完整性 5.使用性 6.维护性2. 测试性 8.灵活性 9.移植性 10复用性 11.共运行性 软件质量的6个特性用于评价: 1功能性 2.可靠性 3.易用性 4.效率 5.可维护性 6.可移植性 软件质量保证的目标:1通过适当的监控系统及其开发过程来保证软件质量.2确保软件及其开发过程与已定的标准和规程要求完全一致3保证软件及时发现产品.过程和标准的任何不足并提醒管理者注意,以便及时弥补 软件质量保证组织的职责: a对所有开发计划和质量计划

软件质量管理:

前言 所有的从事软件生产的都要学习软件质量,包括软件分析人员.设计人员.开发人员.测试人员.维护人员. 在软件质量管理中,我们要主要学习软件质量的定义.软件质量管理体系.软件质量模型.软件质量活动. 其中,我们要着重关注软件质量模型部分. 质量与质量管理体系 质量就是就是把客户的质量要求转化为设计参数,形式预期的产品,最终生产出低成本并且稳定可靠的产品. ISO关于质量的定义如下: 一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求,而质量就是实体基于这些实体特性满足需求的程序. 软件质

(转)你的软件研发质量管理是什么仙级?

产品的软件质量对于产品的重要性众所周知,但不同公司在产品软件处于研发阶段的质量管理却是相距甚远.今天叶子就用西游世界中的天.地.神.人.鬼五种仙级侃侃不同的公司在软件研发质量管理方面修炼到何种仙级? 一.质量管理全无—鬼仙级 读研期间,我到导师朋友的公司A公司实习,A公司的主要业务是出售**行业软件和根据自行开发的软件平台实施客户项目的二次开发. 当时A公司的研发人员10人左右,其中包含了我们4个实习生.我进入的团队里,其实就是一个资深的系统架构师+ 4个实习生.我们实习生的工作是在已经搭建好的

软件开发质量管理的一些思考

PMBOK里关于质量管理主要有3个过程: 制定质量管理计划 质量保证(QA) 质量控制(QC) 书看了5-6次,还是发现比较抽象,难以理解. 实际项目中,如何才能合理的考虑各种资源制约,更好的执行质量管理呢? 一般的正规流程大致如下: 需求分析-> 客户评审与确认-> 概要设计->内部评审-> 详细设计->内部评审->编码-> 代码审查->单体测试 -> 集成测试->问题修复-> 代码评审-> 测试确认-> alpha测试-&g

做好项目计划有什么作用

要做好项目计划,需要明确项目计划工作内容,掌握制定项目计划有什么作用.很多项目管理者,做计划是为了应付上级,看起来更好看一点.如果是这样的话,做项目计划就没什么意义了.做项目计划,是为了给项目团队成员一些阶段性目标,让他们能够更好完成项目工作.而有了计划,才能便于项目管理者做好相应的进度跟进,阶段性总结等一系列的管理工作.做计划不是为了跟着计划去做项目和管理项目的话,请不要浪费时间.当然,很少有项目管理者能够依靠经验和直觉就能够管理项目的.因此,做项目计划还是需要的,那么,做好项目计划有什么作用

SAP质量管理经典 - SAP质量管理及其在采购,生产,销售中的应用与开发 章节节选 第5章 SAP质量样本

第5章       SAP质量样本 样本是能够代表商品或产品品质的少量的实物,采样或抽样就是如何取得和取得多少样本的过程.样本中单位产品的数量为样本大小,在SAP质量管理中,样本分为一般样本和物理样本,一般样本主要关注样本大小,物理样本不仅要关注样本大小,还要对样本自身进行管理. 5.1样本大小(Sample Size) 当采用一般样本管理时,(即不启用物理样本进行样本管理时),以作者的理解,SAP QM对样本主要关注的是样本大小,也就是对一个检验批检验所有的指标需要的最低的样本量.对于样本的计

SonarQube代码质量管理平台安装与使用

Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 sonarQube能带来什么? Developers' Seven Deadly Sins1.糟糕的复杂度分布  文件.类.方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组