不知道同行的朋友們有沒(méi)有遇到一個(gè)問(wèn)題,就是編碼的時(shí)候編到一半甚至寫(xiě)完了發(fā)現(xiàn)忘了一些注意事項(xiàng)了,于是回過(guò)頭來(lái)審查一遍代碼再進(jìn)行修改。
比較好的情況是直接修改對(duì)其他代碼沒(méi)有任何影響,遇到讓人窒息的時(shí)候就是明明只改了一丟丟卻牽一發(fā)而動(dòng)全身,無(wú)奈的時(shí)候只能重新來(lái)過(guò)。
最近一個(gè)項(xiàng)目本來(lái)已經(jīng)終驗(yàn),打算留守幾天就走人的,結(jié)果客戶(hù)方面說(shuō)還有一個(gè)模塊沒(méi)做呢,之前口頭說(shuō)過(guò)了,沒(méi)有記錄下來(lái)所以大家都忘了。怎么辦?做唄。
于是為了盡快做完走人,需求溝通清楚后分為幾個(gè)小塊,需求文檔也懶得做了,直接編碼開(kāi)始。首先是數(shù)據(jù)包,編寫(xiě)完測(cè)試沒(méi)問(wèn)題開(kāi)始寫(xiě)頁(yè)面,接著后端開(kāi)發(fā)完成功能實(shí)現(xiàn)。一道流水線下來(lái)自信心滿(mǎn)滿(mǎn),感覺(jué)so easy,這么快就完成一小塊功能了。接下來(lái)麻煩就來(lái)了,開(kāi)始寫(xiě)其他功能的時(shí)候發(fā)現(xiàn)寫(xiě)好的數(shù)據(jù)包需要給其他功能調(diào)用。改數(shù)據(jù)包吧,程序也得改。新添加一個(gè)數(shù)據(jù)包吧,怕太雜亂坑了以后維護(hù)的同行,(因?yàn)槲铱煲x職了,這段時(shí)間主要做項(xiàng)目交接工作)也不能體現(xiàn)出我身上關(guān)于程序員的基本素養(yǎng)。
意識(shí)到自己的天真之后,老老實(shí)實(shí)寫(xiě)需求文檔,綜合各方面考慮清楚后再跟客戶(hù)溝通一遍需求,然后將接下來(lái)所有需要數(shù)據(jù)包全部寫(xiě)好測(cè)試完,確認(rèn)沒(méi)問(wèn)題后將所有頁(yè)面設(shè)計(jì)完畢,然后功能實(shí)現(xiàn)在一塊塊的去實(shí)現(xiàn)。果然接下來(lái)這幾天的日子好過(guò)一些,而且日后這些文檔交給維護(hù)人員,人家看懂了也省得還找你麻煩,有可能背后罵娘呢。
其實(shí)不按照開(kāi)發(fā)流程來(lái)走的程序員很多,特別是剛出來(lái)工作的那些,天真無(wú)邪,光靠想一想不做準(zhǔn)備就開(kāi)始動(dòng)手,最后把自己坑慘了才服氣。
奉勸大家可別像我一樣,這里也給大家簡(jiǎn)單介紹一下軟件的開(kāi)發(fā)流程,也是我掉進(jìn)自己給自己挖的坑之后才回去好好復(fù)習(xí)的。
這是一張百度找來(lái)的圖,覺(jué)得不錯(cuò),千言萬(wàn)語(yǔ)還不如一張圖一目了然來(lái)的好,
整個(gè)項(xiàng)目開(kāi)發(fā)流程分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、交付使用、驗(yàn)收、維護(hù)
需求分析 前期產(chǎn)品經(jīng)理需要通過(guò)客戶(hù)和用戶(hù)了解一下需求,哪些可以實(shí)現(xiàn),哪些實(shí)現(xiàn)不了,哪些需要怎么配合,全部要溝通好,然后做個(gè)需求文檔,用相關(guān)的工具軟件列出要開(kāi)發(fā)的系統(tǒng)的大功能模塊,大模塊再具體到小模塊,一些需要注意的要畫(huà)個(gè)界面做個(gè)注釋什么的,最后向客戶(hù)確認(rèn)需求文檔。
概要設(shè)計(jì) 架構(gòu)師,項(xiàng)目經(jīng)理拿到需求文檔后對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行考慮,包括系統(tǒng)的基礎(chǔ)業(yè)務(wù)流程,組織結(jié)構(gòu),模塊劃分,接口設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),人員任務(wù)分配等,為詳細(xì)設(shè)計(jì)打造基礎(chǔ)。
詳細(xì)設(shè)計(jì) 在概要設(shè)計(jì)的基礎(chǔ)上,開(kāi)發(fā)者需要描述具體模塊所涉及到的主要算法,數(shù)據(jù)結(jié)構(gòu),類(lèi)的層次結(jié)果等,詳細(xì)設(shè)計(jì)應(yīng)當(dāng)足夠詳細(xì),以便于開(kāi)發(fā)人員根據(jù)詳細(xì)設(shè)計(jì)報(bào)告進(jìn)行編寫(xiě)。
編碼 接下來(lái)就是真正的編碼了,分工要明確,實(shí)施人員根據(jù)接口文檔開(kāi)發(fā)接口,UI設(shè)計(jì)交給UI工程師,頁(yè)面編寫(xiě)交給前端工程師,然后后端開(kāi)發(fā)人員在進(jìn)行具體功能實(shí)現(xiàn)。使用svn等版本控制器管理好每個(gè)開(kāi)發(fā)人員編寫(xiě)修改的代碼。
測(cè)試 最后由測(cè)試人員對(duì)寫(xiě)好的程序進(jìn)行測(cè)試使用,想用戶(hù)所想,急用戶(hù)所急,從操作難度到人性化使用。用戶(hù)能想到的不能想到的,測(cè)試人員統(tǒng)統(tǒng)想到了,然后需要修改的再交于開(kāi)發(fā)人員修改。完成后還得做個(gè)用戶(hù)使用手冊(cè),教用戶(hù)如何使用該系統(tǒng)。
軟件交付 在軟件測(cè)試證明軟件達(dá)到要求后,軟件開(kāi)發(fā)者應(yīng)向用戶(hù)提交開(kāi)發(fā)的目標(biāo)安裝程序、數(shù)據(jù)庫(kù)的數(shù)據(jù)字典、《用戶(hù)安裝手冊(cè)》、《用戶(hù)使用指南》、需求報(bào)告、設(shè)計(jì)報(bào)告、測(cè)試報(bào)告等雙方合同約定的產(chǎn)物。
《用戶(hù)安裝手冊(cè)》應(yīng)詳細(xì)介紹安裝軟件對(duì)運(yùn)行環(huán)境的要求、安裝軟件的定義和內(nèi)容、在客戶(hù)端、服務(wù)器端及中間件的具體安裝步驟、安裝后的系統(tǒng)配置。
《用戶(hù)使用指南》應(yīng)包括軟件各項(xiàng)功能的使用流程、操作步驟、相應(yīng)業(yè)務(wù)介紹、特殊提示和注意事項(xiàng)等方面的內(nèi)容,在需要時(shí)還應(yīng)舉例說(shuō)明。
驗(yàn)收 產(chǎn)品經(jīng)理跟客戶(hù)提出驗(yàn)收要求,雙方簽訂合同,拿尾款驗(yàn)收完畢。
維護(hù) 系統(tǒng)使用期間可能會(huì)出現(xiàn)錯(cuò)誤或者客戶(hù)提出功能修改,則需對(duì)系統(tǒng)進(jìn)行修改。維護(hù)多長(zhǎng)時(shí)間就看驗(yàn)收的時(shí)候合同怎么簽的了。
以上為百度百科搜索內(nèi)容以及個(gè)人從業(yè)半年多來(lái)的見(jiàn)解,可能各個(gè)公司的流程不同,如發(fā)現(xiàn)錯(cuò)誤請(qǐng)及時(shí)與本人聯(lián)系好做修改,避免誤導(dǎo)。
感謝瀏覽!