北京軟件開(kāi)發(fā)公司如何發(fā)好一個(gè)軟件系統
北京軟件開(kāi)發(fā)公司如何發(fā)好一個(gè)軟件系統,關(guān)鍵是開(kāi)發(fā)前期所做的工作,重點(diǎn)是這個(gè)軟件有沒(méi)有一個(gè)好的軟件開(kāi)發(fā)流程:
需求分析——設計用戶(hù)視圖,數據詞典和用戶(hù)操作手冊。
用戶(hù)視圖是該軟件用戶(hù)(包括終端用戶(hù)和管理用戶(hù))所能看到的頁(yè)面樣式,這里面包含了很多操作方面的流程和條件。
數據詞典是指明數據邏輯關(guān)系并加以整理,完成了數據詞典,數據庫的設計就完成了一半多。
用戶(hù)操作手冊是指明了操作流程的說(shuō)明書(shū)。用戶(hù)操作流程和用戶(hù)視圖是由需求決定的,因此應該在軟件設計之前完成,完成這些,就為程序研發(fā)提供了約束和準繩。需求分析,除了以上工作,筆者以為作為項目設計者應當完整的做出項目的性能需求說(shuō)明書(shū),因為往往性能需求只有懂技術(shù)的人才可能理解,這就需要技術(shù)專(zhuān)家和需求方(客戶(hù)或公司市場(chǎng)部門(mén))能夠有真正的溝通和了解。
概要設計——將系統功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。作為快速原型設計方法,完成概要設計就可以進(jìn)入編碼階段了,通常采用這種方法是因為涉及的研發(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來(lái)無(wú)法給出明確的詳細設計說(shuō)明書(shū),但是并不是說(shuō)詳細設計說(shuō)明書(shū)不重要,事實(shí)上快速原型法在完成原型代碼后,根據評測結果和經(jīng)驗教訓的總結,還要重新進(jìn)行詳細設計的步驟。
詳細設計——這是考驗技術(shù)專(zhuān)家設計思維的重要關(guān)卡,詳細設計說(shuō)明書(shū)應當把具體的模塊以較‘干凈’的方式(黑箱結構)提供給編碼者,使得系統整體模塊化達到較大;一份好的詳細設計說(shuō)明書(shū),可以使編碼的復雜性減低到較低,實(shí)際上,嚴格的講詳細設計說(shuō)明書(shū)應當把每個(gè)函數的每個(gè)參數的定義都精精細細的提供出來(lái),從需求分析到概要設計到完成詳細設計說(shuō)明書(shū),一個(gè)軟件項目就應當說(shuō)完成了一半了。換言之,一個(gè)大型軟件系統在完成了一半的時(shí)候,其實(shí)還沒(méi)有開(kāi)始一行代碼工作。
編碼——在規范化的研發(fā)流程中,編碼工作在整個(gè)項目流程里較多不會(huì )超過(guò)1/2,通常在1/3的時(shí)間,所謂磨刀不誤砍柴功,設計過(guò)程完成的好,編碼效率就會(huì )極大提高,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調和協(xié)作是較需要小心的,也許一個(gè)小模塊的問(wèn)題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問(wèn)題在很多研發(fā)過(guò)程中都出現過(guò)。編碼時(shí)的相互溝通和應急的解決手段都是相當重要的!
測試——按照測試執行方,可以分為內部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯(lián)調;按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋??傊?,測試同樣是項目研發(fā)中一個(gè)相當重要的步驟,對于一個(gè)大型軟件,3個(gè)月到1年的外部測試都是正常的,因為永遠都會(huì )又不可預料的問(wèn)題存在。完成測試后,完成驗收并完成較后的一些幫助文檔,整體項目才算告一段落,當然日后少不了升級,修補等等工作,只要不是想通過(guò)一錘子買(mǎi)賣(mài)騙錢(qián),就要不停的跟蹤軟件的運營(yíng)狀況并持續修補升級,直到這個(gè)軟件被徹底淘汰為止。
以上幾個(gè)階段在軟件開(kāi)發(fā)過(guò)程中占的比重比較大,真正編碼的時(shí)間是非常短的,只有市場(chǎng)調研做好,能有一個(gè)明確的方案,設計出詳細合理的開(kāi)發(fā)步驟;我們在進(jìn)行編碼的時(shí)候才能很順利,開(kāi)發(fā)出來(lái)的軟件才有價(jià)值。有的軟件在沒(méi)有開(kāi)發(fā)出來(lái),還沒(méi)有上線(xiàn)就注定不行了,所以說(shuō)軟件開(kāi)發(fā)流程對于能否開(kāi)發(fā)出一個(gè)好的軟件是非常重要。