在軟件工程中,測試是一個工程過程,是針對軟件這一特殊產品的一道生產工序,是軟件質量保證的重要一環。也就是說,軟件測試不是項目管理過程的需要,而是軟件工程過程的需要。
目前在軟件開發的項目管理過程中,整體的工程過程主要包括這樣幾個主要步驟:
1、由客戶提出業務設想,分析市場可行性后,由與技術部門初步討論技術可行性。
2、由技術部門編寫解決方案建議書。解決方案通常是為了向客戶和投資方說明如何能夠解決問題的方案,以獲得訂單或投資。解決方案建議書的內容包括技術方案、實施方案(初步的項目計劃)、項目成本估算,隨后提交給客戶,由客戶進行評審、立項。http://blog.mypm.net
從工程過程的角度來說,其中的技術方案所決定的,主要包括兩個內容:
?。?) 根據客戶初步的業務需求,定義了業務處理流程中的人機接口,以及所要開發計算機系統的對外數據接口和程序接口,從而確定了計算機系統的邊界。此項工作可以視為由技術部門幫助業務部門澄清了軟件需求。
?。?) 不僅是定義應用軟件部分的業務需求,其實也同時決定了未來的運行環境要求。運行環境要求是軟件設計的一個重要前提。項目管理者聯盟文章,深入探討。
3、在開發部門內部,根據批準的解決方案,針對業務需求進行分析和設計:
?。?) 一方面內部組織項目,制定項目計劃,包括項目預算,對項目范圍進行跟蹤管理,保證最終能夠滿足客戶項目范圍的要求??蛻袅㈨棔r的項目范圍,包括實現的業務功能、業務的部署范圍要求等,在技術部門內部往往需要通過多個內部項目、多個項目階段、多個維護任務等不同的過程組織形式來完成,項目組織過程比較復雜,項目周期也很長,所以需要對項目范圍進行跟蹤管理。這方面的內容雖然是屬于項目管理的范疇,但也直接影響到工程范圍,所以需要在工程過程管理中同時予以考慮。
?。?) 另一方面開始進行需求分析、業務功能分析和總體設計,根據業務處理流程定義出應用系統的邊界,即我們要開發的計算機系統的對外接口(用戶界面、數據接口、程序調用接口等),細化針對業務需求的分析和設計,將業務需求映射到軟件系統上,最終能夠定義出針對軟件系統的功能需求。這一環節直接關系到后續的技術活動最終是否能夠滿足業務需求的要求。
4、通過對業務需求的分析和設計,可以得到所涉及的各軟件系統的功能需求,據此開始在軟件系統一級進行功能分析和設計,根據系統本身的技術結構特點,將軟件系統的功能需求分解到軟件模塊一級,形成軟件模塊的功能需求。
5、將軟件模塊的功能需求進一步分解,成為程序級的功能要求,由程序員來實現。
可以看出,上述過程是一個自頂向下的分解過程,每一個分解的步驟中,分析方法本質上都是相同的。
原文轉自:http://www.anti-gravitydesign.com