不知道同行的朋友們有沒(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)。一道流水線(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)趟妥。
感謝瀏覽猫态!