軟體開發流程概要 筆記

2021-05-24 02:26:11 字數 1536 閱讀 4907

一、feature list(功能列表) 和use case diagrams(用例圖) 需求分析的第一步要麼是確定功能列表(feature list),要麼是得出用例圖(use case diagrams)。 不斷的和使用者交流,界定清楚各個主要的feature和主要的用例,盡可能的準確界定系統需要做到的和實現的功能。 不必追求一次得到完整的列表或用例,隨著迭代次數的增加,自然會得到完善的。這樣你就清楚系統需要做些什麼以及使用者會如何使用這個系統。 二、break up the problem(瓦解問題) 知道要做些什麼功能後,就把這些功能按照相互關係進行分類,把系統分成幾個模組。 盡量使模組之間的互動減少,介面清晰(應用像封裝,單責任等oo的設計原則)。 乙個規模比較大的系統,如果有科學的模組劃分,能很大程度上提高並行開發的效率,減少由於某個模組交付延期對於其他模組的影響。 三、requirement(需求) 開始某個功能或用例開發之前,需要對問題有準確的理解,然後再次和使用者交流,進行針對某個細化用例或功能的分解。第一次迭代時,功能點或用例的選取就要找最根本的,最核心的,被別的部分依賴最多的乙個來開始進行開發的迭代。 這裡就有兩種開發模式:功能驅動(feature driven)或是用例驅動(use case driven)。 功能驅動開發顆粒度比用例驅動要小一些。選擇哪一種路徑決定下一步得到什麼。 選擇用例驅動就要寫用例(use case),用例有很多種表現形式:用例圖、自然語言描述、步驟分解等。最終都要把主要路徑,其他路徑都能包括進來,也就是各種場景(scenario)都要包括。 用例的用處是為了和使用者進行交流,以使用者熟悉的方式,確認我們對於需求的理解是正確的,完整的。 四、domain analysis(領域分析) 和design(設計) 領域分析:是指把用例中名詞和最終系統中的實體類進行對映,動詞和方法進行對映。 當然這種對映沒有一一對應的關係,需要根據具體情況進行增刪改。最終把這些類和方法組裝成類圖(class diagram)。類圖是軟體開發中乙個關鍵的中間產品,能夠讓其他關心你系統的程式設計師快速的對系統架構有整體的了解。 系統設計:也就是參照實際情況和一些設計原則、設計模式,對類圖上的各個類進行分解、組合、抽象、細化等操作。乙個結構合理,功能清晰,兼顧維護性和擴充套件性的類圖對於後續開發工作的貢獻是不言而喻的。 五、implementation(實現) 實現看起來只是參照類圖和其他的現有**,進行一些類似堆疊**的工作,其實卻遠不止如此。第

一、需要有良好的編碼風格,使**具有很好的可讀性。 第

二、要有足夠的單元測試保證(現在測試驅動(test driven)已經非常受重視)。 第

三、要考慮**重用,能夠最大限度的採用已有方法或演算法進行功能的實現。 第

四、要有隨時重構(refactoring)的意識,以保證**能夠在不斷增長的過程中保持簡潔、高效、可讀、可維護、可擴充套件、可重用。 第

五、對於oo的基本規則,要有切合實際的應用(比如:ocp,srp,dry等這些規則)。 六、iteration(迭代) 一般是在實現完乙個功能或是用例之後,再選取另乙個功能或用例應用前幾個步驟進行迭代的開發,直到所有的功能或用例全部實現。 其中可能會不時的對系統的功能列表、用例圖等進行修改和更新。也就需要和客戶有通暢清晰的溝通,保證所開發的系統就是使用者所想要的。 七、delivery(交付) 有了以上這些步驟的保證,最終就可以把軟體進行交付。

軟體開發流程

課程的主講老師是msdn的特約講師邵志東先生。課程中間,邵志東老師介紹了軟體開發流程 程式設計師基本素質 關於質量控制和開發模板及專案組建設。邵老師首先介紹了軟體開發的流程,他把軟體開發分為了兩大類,即專案開發及產品開發。專案開發是公司根據某一客戶的需求單獨為某一客戶訂製的軟體 產品開發是公司針對某...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。第一步 需求調研分析 1相關系統分析員向使用者初步了解需求,然後用word列...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。目錄開發流程 軟體維護 軟體公升級 報廢處理 舉例解析 第一步 需求調研分析...