2012年12月25日 星期二

大道至簡 - 軟體工程實踐者的思想 內容整理

客戶不會用C,難道就會用UML嗎?客戶是因為他認為你理解了他們的需求,而在「需求確認書」上簽字,而不是因為你的UML畫的是否精確。

需求階段:
1. 確定了專案的實際目標,以及遠期的方向
2. 設計需求條目
我們開始在網路上查看相關的軟體系統的特徵以抽取客戶所關注的內容;瞭解該客戶的公司、經營理念、組織結構形式以及工作模式;瞭解同類公司的成功經驗和優秀的管理模式,以及客戶的競爭對手在做什麼和在關心什麼。經過上述的步驟,可以總結出產生需求的資訊點為:
1客戶在公司層面的外在表現、內部機制和運營管理手段。
2客戶在專案中既已明確的需求和可能發生的需求,以及客戶圍繞其公司行為(和方向)所提出的需求。

專案的歷史資料:
History是為整個專案而記錄的。一些參考的記錄內容有:
l需求階段:與誰聯繫,聯繫方式、過程、結果以及由此引發的需求或變更;
l設計階段:如何進行設計、最初的構架、各個階段的框架變化、因需求變更導致專案結構上的變化(有助於瞭解構架的可擴充性)
l開發階段:每一種技術選型的過程、每一種開發技巧的細節和相關文檔、摘引的每一段代碼、演算法、開發包、元件庫的出處和評測;程式單元的測試框架;每一個設計和構架變更所導致的影響;
l測試階段:還記得測試用例和測試報告嗎?那是最好的history之一。
另一件最重要的事,是記得在每一筆記錄後寫下時間和你的名字。

由於軟體工程的興起,工程被當成了藉口,掩蓋了我們做事的真正目的:實現。因此,我們在一個項目中常常聽到說工程要這樣做,或者工程要那樣做,而絕少聽到專案要求這樣做或者客戶的本意是那樣的

從成本的角度思考專案:
1. 不計成本的專案計畫不會得到經營者的支持;
2. 毫無目的地消耗成本是項目中的慢性毒藥;
3. 最致命的風險是成本的枯竭

成本因素包括:時間、人力、資金和客戶成本(客戶的數量及耐心)。


語言只是工具:
方法:是對既有行為的歸納總結。
過程(Process):過程伴生工程而出現。過程解決的是工程中角色間的關系問題。
工程:
組織:

軟體工程理論體系:
軟體工程三要素:流程(process)、方法(methods)和工具(tools)

沒有留言:

張貼留言