- 第2節(jié) 第二章
-
“程序出現(xiàn)漏洞的原因,大致有兩種!
午休結(jié)束,回到公司的五十嵐真坐在會(huì)議室里,隔著桌子對(duì)眼前的女程序員說(shuō)道。
“呃,請(qǐng)你說(shuō)快一點(diǎn)。”女程序員顯然心情很差,看了好幾次手表,也沒(méi)端正地坐在椅子上。
會(huì)議室坐落在一棟位于市中心的三十五層辦公大樓的第十層,一塵不染。這種說(shuō)法聽(tīng)起來(lái)體面,實(shí)際上卻像是一家無(wú)菌醫(yī)院。
會(huì)議室里有幾排桌子,用帶滾輪的隔板隔開(kāi),同時(shí)有幾個(gè)會(huì)談各自在進(jìn)行。
女程序員恨不得快點(diǎn)回到自己辦公桌的電腦前面。
她現(xiàn)在參與的一個(gè)系統(tǒng)軟件測(cè)試的期限迫在眉睫。平時(shí)加班到深夜,周六周日的休假也奉獻(xiàn)給公司了,就連和戀人講電話的時(shí)間都沒(méi)有。沒(méi)空去剪頭發(fā),連每天的卸妝都無(wú)法做到徹底。
“原因大致有兩種!中摹汀`解’!逼届o地做說(shuō)明的五十嵐真戴著眼鏡,一派正經(jīng)八百的學(xué)者風(fēng)范,所以對(duì)面的女程序員感覺(jué)自己就像個(gè)機(jī)器人一樣。實(shí)在難以理解為什么在這種忙得不可開(kāi)交之際,還必須被啰唆地指導(dǎo)說(shuō)“漏洞的原因有兩種”呢?
她就只能說(shuō)嗯了。
“粗心,就是指因不小心而犯錯(cuò)。就是說(shuō)應(yīng)該在鍵盤上打‘1’時(shí),卻打了‘2’,或是弄錯(cuò)了不等號(hào)的方向,等等,是指這類的事情。更簡(jiǎn)單地說(shuō),對(duì)著佐藤先生叫齊藤先生的時(shí)候,就是粗心!
“就算是粗心犯錯(cuò),被叫錯(cuò)名字還是會(huì)感到很囧吧。”女程序員毫無(wú)興趣地附和了一下,“嗯,你說(shuō)是不是啊,五十栗先生?”
“是五十嵐!
“啊,真是粗心啊!
對(duì)于這種挖苦,五十嵐真絲毫不為所動(dòng)。被最后期限追著跑的程序員對(duì)從事質(zhì)量管理的五十嵐真不抱有好感,是一成不變的事實(shí);而五十嵐真那種不通融的性格惹得對(duì)方發(fā)毛也是家常便飯。他甚至想,事后她能英勇地對(duì)同事說(shuō)“所以我好好地挖苦了那家伙”,且因而得到滿足的話,也算是好事一樁。
“另一方面,因?yàn)槌梢?jiàn)所犯的錯(cuò),是指負(fù)責(zé)人誤以為是‘正確的’而犯下的錯(cuò)誤。以剛才的例子來(lái)說(shuō),不是因?yàn)榇中亩炎籼傧壬谐闪她R藤先生,而是一開(kāi)始就以為那個(gè)人姓齊藤,而叫他齊藤先生。這和粗心失誤不一樣!
“啊啊,或許是這樣吧!迸绦騿T又看了一眼手表。之后她把腳晃了一下,伸手去拿桌上的紙杯。她的腿越抖越厲害。
接著,她全身開(kāi)始顫抖,臉也哆嗦了起來(lái),皮膚像橡膠一般拉長(zhǎng)了,又倏地縮回,變成丹鳳眼、皮膚光滑的漂亮模樣。嘴里隱約可見(jiàn)像在跳舞的舌頭。
五十嵐真瞪大了眼睛。
女程序員的臉劇烈地顫抖著,再度變回原來(lái)那張缺乏魅力的面孔。
“可是,那又如何呢?不管是粗心犯錯(cuò),或是成見(jiàn)失誤,我設(shè)計(jì)的程序出現(xiàn)了漏洞。對(duì)不起了。這樣總行了吧?”
五十嵐真面無(wú)表情地?fù)u了搖頭:“不調(diào)查真正的原因,就不能正確處理!
他在這個(gè)故事里擔(dān)任的是解釋因果的角色,所以他執(zhí)著于“事件的原因”,也是無(wú)可奈何的。當(dāng)然,在忙得不可開(kāi)交之際,一再被詢問(wèn)“漏洞產(chǎn)生的原因與應(yīng)對(duì)措施”,對(duì)女程序員來(lái)說(shuō)是一場(chǎng)災(zāi)難,她也只是扮演著自己的角色罷了。她是這個(gè)故事的聽(tīng)眾,也就是代替你們、代表你們傾聽(tīng)五十嵐真的話。這便是她存在的理由。
“聽(tīng)我說(shuō),假如失誤的原因是因?yàn)樨?fù)責(zé)人的‘粗心’,就必須調(diào)查為什么沒(méi)有人能注意到這個(gè)粗心的錯(cuò)誤!
“粗心大意,不是沒(méi)辦法防范嗎?”
“說(shuō)得沒(méi)錯(cuò),粗心大意沒(méi)辦法防范。所以‘對(duì)粗心大意從寬,對(duì)違反紀(jì)律從嚴(yán)’,應(yīng)該當(dāng)成基本原則。如果不這樣的話,社會(huì)秩序就無(wú)法順利運(yùn)作。但事實(shí)卻常常相反?傊,重點(diǎn)是將粗心導(dǎo)致的損失降到最低。另一方面,我們也必須調(diào)查粗心大意的原因!
“粗心,就只能說(shuō)是粗心而已吧?”
“不對(duì),不能這么說(shuō)。人會(huì)不小心,環(huán)境也是一個(gè)大問(wèn)題。比方說(shuō),睡眠不足!
女程序員忍不住笑了出來(lái):“如果這也能當(dāng)作借口,全世界的程序員就犯不著那么辛苦了。”
“睡眠不足是導(dǎo)致失誤的一大原因。困意會(huì)降低大腦的功能。比方說(shuō),美國(guó)的航天飛機(jī)墜落事件,根據(jù)事后調(diào)查所得的結(jié)論,主要原因之一就是負(fù)責(zé)航天飛機(jī)發(fā)射的相關(guān)工作人員睡眠不足。睡眠不足導(dǎo)致大腦功能低下,和酒精所導(dǎo)致的功能低下相同。也就是說(shuō),就像喝醉了在工作一樣!
“那……你就跟客戶交涉一下,讓我們?cè)黾铀邥r(shí)間吧!
“這也是一種正確的處理方式!蔽迨畭拐胬潇o地說(shuō),“接下來(lái),就是查證一下為什么粗心大意無(wú)法在測(cè)試時(shí)發(fā)現(xiàn)了!
“測(cè)試的時(shí)候?”
“誰(shuí)都會(huì)犯粗心錯(cuò)誤,重點(diǎn)是在確認(rèn)的階段能否發(fā)現(xiàn)。另一方面,因誤解而導(dǎo)致的失誤,處理方式不同!
“你是說(shuō)誤解也有理由嗎?”
“用剛剛舉過(guò)的例子來(lái)說(shuō),某個(gè)人把佐藤先生當(dāng)作齊藤先生,有可能是因?yàn)槟莻(gè)人的背上有‘SATOU’字樣的刺繡,但不知為何,刺繡的線掉了,所以可能就看成了‘SAITOU’。若是如此,就是誤解的原因!
“能把名字像編號(hào)一樣繡在衣服后面的話,那一定是名人了!籼傧壬,就是把名字縫在衣服上的那個(gè)人’,反倒會(huì)讓人印象深刻呢!
“只是個(gè)比喻。”
“當(dāng)然知道啊。”
“若是如此,接著就有必要調(diào)查誤解的范圍了。也就是說(shuō),把佐藤先生當(dāng)成齊藤先生的,只有他一個(gè)人嗎?或是其他人也有這種誤解呢?如果這個(gè)刺繡是原因的話,表示其他人也很有可能有誤解,這就有必要懷疑所有看過(guò)刺繡的人了!
“那么,你也要一一對(duì)其他人詢問(wèn)‘冒昧地請(qǐng)教一下,您是不是把佐藤先生的名字看成齊藤先生了’呢?”
“沒(méi)錯(cuò),這就是品質(zhì)管理的工作。”五十嵐真點(diǎn)點(diǎn)頭,“也就是說(shuō),若是因誤解而導(dǎo)致出現(xiàn)漏洞,就要想是不是還有其他人也發(fā)生了誤解,是不是還有其他地方會(huì)導(dǎo)致誤解?然后做調(diào)查。接下來(lái),還必須調(diào)查是不是有其他項(xiàng)目也有類似誤解。”
女程序員又開(kāi)始抖腿了。
接著,她的容貌再次變化,皮膚嬌嫩得不自然,神情也開(kāi)始變得妖艷。
忽然,從她背后甩出一根巨大的針狀物,正像鞭子一樣舞動(dòng)。
她變成了蝎子,吐著舌頭,說(shuō):“那個(gè),特地跟我說(shuō)了這么多有用的事情,實(shí)在對(duì)不住,這是關(guān)于上次的軟件漏洞的調(diào)查吧?就是公寓的防盜系統(tǒng)的……”
“對(duì)。上個(gè)月十三號(hào)發(fā)生的故障!
最近,綜合管理一棟大樓內(nèi)部的電梯、火災(zāi)警報(bào)器、灑水器和防盜監(jiān)視器等的系統(tǒng)越來(lái)越吃香。
五十嵐真的公司,就負(fù)責(zé)設(shè)計(jì)這種系統(tǒng)。
“那個(gè)程序已經(jīng)修復(fù)了哦。”她搖晃著從自己后背伸出來(lái)的毒尾。
五十嵐真像是沒(méi)事一般,將視線落在手邊的資料上。
“因?yàn)殄e(cuò)誤警報(bào)而引發(fā)火災(zāi)警報(bào)器的事件!
“報(bào)告書(shū)上已經(jīng)寫了,那種事情很罕見(jiàn)的!彼稽c(diǎn)也不隱藏自己想馬上結(jié)束話題的意圖,“是rare case(罕見(jiàn)案例)!
五十嵐真仍面無(wú)表情地聽(tīng)著。如果要系統(tǒng)工程師和程序員給出原因的話,大致上都會(huì)得到“rare case”的回答。反之,也有“沒(méi)想到竟會(huì)發(fā)生這種事”的說(shuō)明,這多半也不是在推卸責(zé)任。
但大多數(shù)的重大系統(tǒng)故障,就是rare case導(dǎo)致的,這也是事實(shí)。
“雖說(shuō)很少發(fā)生,但還是發(fā)生了。而且也不是避難演習(xí),火災(zāi)警報(bào)器竟然響了!
“那是因?yàn)槌绦蜍浖`判成避難演習(xí)模式了。”
當(dāng)然,程序軟件不會(huì)誤判,只是刻板地執(zhí)行演算和判斷而已,所以問(wèn)題出在那個(gè)程序軟件的設(shè)計(jì)方式上。
避難演習(xí)的時(shí)候,就算沒(méi)發(fā)生火災(zāi),火災(zāi)警報(bào)器也得響起來(lái)。若是如此,管理員只要按下“避難演習(xí)”按鈕,程序軟件就會(huì)遵照避難演習(xí)模式來(lái)運(yùn)作;馂(zāi)警報(bào)器響起,電梯停止運(yùn)行,依照演習(xí)的模式,有時(shí)也會(huì)啟動(dòng)灑水器。
“也就是說(shuō),在沒(méi)按下避難演習(xí)按鈕的情況下,程序軟件就判斷是避難演習(xí)模式了吧!
“這是因?yàn)椤?
- 最新書(shū)評(píng) 查看所有書(shū)評(píng)
-
- 發(fā)表書(shū)評(píng) 查看所有書(shū)評(píng)
-