系统架构师学习笔记-系统开发基础知识(二)
目錄
?
?
系統規劃與問題定義
需求工程
軟件設計
軟件測試
?軟件維護
軟件開發環境與工具
?
系統規劃與問題定義
軟件系統的總體規劃包括以下階段:
1.?對當前系統進行初步的調查。
2.?分析和確定系統目標。
3.?分析子系統的組成以及基本功能。
4.?擬定系統的實施方案。
5.?進行系統的可行性分析。
6.?編寫可行性報告。
?
?
需求工程
需求工程是包括創建和維護系統需求文檔所必需的一切活動的過程,可分為需求開發和需求管理兩大工作。
需求定義:
需求定義的過程就是形成需求規格說明書的過程,通常有兩種需求定義方法:嚴格定義方法、?原型方法。
嚴格定義方法:嚴格定義(預先定義)是目前采用較多的一種需求定義方法。在采用嚴格定義的傳統的結構化開發方法中,各個工作階段排列成一個理想的線性開發序列,在每一工作階段中,都用上一階段所提供的完整、嚴格的文檔作為指導文件,因此它本質上是一種順序型的開發方法。
原型方法:原型化的需求定義過程是一個開發人員與用戶通力合作的反復過程。從一個能滿足用戶基本需求的原型系統開始,允許用戶在開發過程中提出更好的要求,根據用戶的要求不斷地對系統進行完善,它實質上是一種迭代的循環型的開發方式。
?
軟件設計
模塊的內聚類型分為7種,根據內聚度從高到低的排序:
| 功能內聚 | 完成一個單一功能,各個部分協同工作,缺一不可 |
| 順序內聚 | 處理元素相關,而且必須順序執行 |
| 通信內聚 | 所有處理元素集中在一個數據結構的區域上 |
| 過程內聚 | 處理元素相關,而且必須按特定的次序執行 |
| 瞬時內聚 | 所包含的任務必須在同一時間間隔內執行(如初始化模塊) |
| 邏輯內聚 | 完成邏輯上相關的一組任務 |
| 偶然內聚 | 完成一組沒有關系或松散關系的任務 |
模塊的耦合類型分為7種,根據耦合度從低到高排序:
| 非直接耦合 | 沒有直接聯系,互相不依賴對方 |
| 數據耦合 | 借組參數表傳遞簡單數據 |
| 標記耦合 | 一個數據結構的一部分借助于模塊接口被傳遞 |
| 控制模塊 | 模塊間傳遞的信息中包含用于控制模塊內部邏輯的信息 |
| 外部耦合 | 與軟件以外的環境有關 |
| 公共耦合 | 多個模塊引用同一個全局數據區 |
| 內容耦合 | 一個模塊訪問另一個模塊的內部數據; |
?
軟件測試
測試是對軟件質量的度量:
1.?軟件測試是為了發現錯誤而執行程序的過程。
2.?測試是為了證明程序有錯,而不是證明程序無錯誤。
3.?一個好的測試用例在于它能發現至今未發現的錯誤。
4.??一個成功的測試是發現了至今未發現的錯誤的測試。軟件測試只是軟件質量保證的手段之一,不能單憑測試來保證軟件質量。
?
動態測試指通過運行程序發現錯誤,分為:
?黑盒測試法:黑盒測試又稱為功能測試或數據驅動測試。
白盒測試法:又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。
灰盒測試法:灰盒測試是一種介于白盒測試與黑盒測試之間的測試,考慮了用戶端、特定的系統知識和操作環境,在系統組件的協同性環境中評價應用軟件的設計。
?
?軟件維護
軟件可維護性是指糾正軟件系統出現的錯誤和缺陷,以及為滿足新的要求進行修改、擴充和壓縮的容易程度。目前廣泛用來衡量程序可維護性的因素:可理解性、可測試性和可修改性等。
?
軟件開發環境與工具
軟件開發工具:軟件開發工具是指用于輔助軟件開發過程活動的各種軟件,包括建模工具、分析設計工具、編程工具、測試工具、項目管理工具等。
總結
以上是生活随笔為你收集整理的系统架构师学习笔记-系统开发基础知识(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java工作笔记-使用fastjson把
- 下一篇: OllyDbg笔记-初识PE文件(nag