<<軟體設計學習筆記>> (轉)
<>
閱讀一篇關於軟體設計的文章,文章對軟體設計講述的非常全面,但對於細節都沒有展開討論,不過其中推薦了一些參考資料,看了這個文章後就能對軟體設計有一個比較全面
的瞭解,如果還需要在一些細節上深入就要找相關資料了。
************
文章的章節結構
************
** 軟體設計的基本概念
*** 一般的設計概念
*** 軟體設計內容
*** 軟體設計過程
*** 基本的軟體設計概念
*** 軟體設計的關鍵點
** 軟體體系結構
*** 體系結構和視點
*** 結構化和模式(宏觀結構)
*** 設計模式(微觀結構)
** 軟體設計的質量分析和評估
*** 質量屬性
*** 質量分析和評估工具
*** 座標
** 軟體設計的標註
*** 結構化描述(靜態視角)
*** 動作化描述(動態視角)
** 軟體設計的策略和方法
*** 一般方法
*** 面向功能的方法
*** 面向的方法
*** 其他方法
** 軟體設計工具
*** 數學工具
*** CASE工具
*** 座標工具??
** 與軟體設計相關的標準
****
要點
****
*** OOD方法是目前的熱點,OOD和UML的聯絡,UML中的物件圖、序列圖、狀態圖、協作圖等等圖形
*** 介面設計、實時設計、設計等等並非所有這些都屬於軟體設計
*** 軟體設計的基本概念:解決問題、目標、、表示、解決方法
*** 如何保證模組性,便於可維護性和易於更改?
*** 併發的考慮:如何將系統分解為過程、程式和執行緒,並處理相應的原子級、同步和排程問題??
*** 控制要素和處理事件:如何組織控制流程,如何解決互動和暫時的事件透過不同的機制,例如,明確的或呼叫棧等等??
*** 分佈問題:軟體如何分佈在中?有什麼樣的作用?
*** 處理錯誤和意外問題: 如何組織和容忍錯誤並處理意外情況?
*** 互動的系統和對話方塊的獨立:如何從使用者介面同業務邏輯區分開來??使用者介面設計不在討論的範圍。
*** 平臺獨立性: 如何確保軟體的平臺獨立性
**********
軟體結構分類
**********
*** 一般的結構:例如層、管道等等、
*** 分佈系統(客戶-服務、三層結構、等等)
*** 互動系統(MVC,抽象控制)
*** 適應性系統(微核心)
*** 其他形式(批處理,直譯器,過程控制,基於規則)
***********
設計模式分類
***********
*** 建立性模式:builder,factory,,singleton,等
*** 結構化模式: adapter,bridge,composite,decorator,fa?ade,flyweight,等
*** 動作化模式:command, interpreter,iterator,mediator,memento,observer,state,strategy,template,visitor等
*********************
軟體設計的質量分析和評估
*********************
質量屬性:不同的屬性對於獲取一個良好質量的設計是相當重要的,可維護性、可測試性等等
質量分析和評估工具:軟體設計複查、靜態分析、模擬和構造原型
標準:繼承樹的深度、每個類的重方法、結構複雜度
************
軟體設計的說明
************
結構化描述(靜態觀點) :圖形,描述結構化方面,類圖,子系統和包,過程(動態物件)或者物理(實施圖)
動作描述(動態觀點):活動圖、資料流圖、序列圖、狀態轉換圖和設計語言
*****************
軟體設計的策略和方法
*****************
一般方法
面向功能的設計方法:實體-關係圖、結構圖
物件導向的設計方法
資料結構中心設計方法
其他方法
******************
與軟體設計相關的標準
******************
UML,Ada,PDL,
*********
相關知識
*********
科學
*** 基礎:複雜度分析、離散數學、自動化、形式化規約
*** 演算法和資料結構: 基本資料結構、資料資料型別、排序和查詢
*** 體系結構: 和結構、介面和通訊
*** 資訊管理: 資料庫建模、事務處理、資料
*** 介面計算: 人機互動、多
*** : 任務、過程和執行緒、過程協作和同步、系統、基礎、、保護、分散式系統。
*** 基礎和技巧:程式碼生成、問題解決方法
*** 網路中心計算: 分散式物件、企業級計算、網路級安全
數學
*** 離散數學
*** 機率
*** 數學邏輯
*** 專案整合管理
*** 專案範圍管理
*** 專案時間管理
*** 專案成本管理
*** 專案質量管理
*** 專案風險管理
計算機工程
*** 系統設計
系統工程
*** 過程:動作分析、構造原型、規格
********
推薦資料
********
*** 軟體實際結構
軟體結構、質量屬性、結構風格、結構描述語言、產品線開發、案例分析
*** 面向模式的軟體結構
結構模式、設計模式、模式間的聯絡、軟體結構、方法、、基本的軟體設計概念:抽象、封裝、資訊、內聚
*** 統一建模語言使用者指南
*** 軟體工程
軟體工程論文集
*** 物件、元件和框架關於UML
元件設計
*** 軟體設計引路
老書
*** 可重用物件導向軟體的要素
*** 物件分析和設計
*** 軟體工程的整合方法
*** 統一過程
*** 物件導向軟體構造
*** 計算機輔助軟體工程
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-959045/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在計算機學習,善用“筆記軟體”計算機筆記
- 《Windows 程式設計》學習筆記(五) (轉)Windows程式設計筆記
- 《Windows 程式設計》學習筆記(四) (轉)Windows程式設計筆記
- 《Windows 程式設計》學習筆記(三) (轉)Windows程式設計筆記
- 【軟體測試】學習筆記筆記
- 設計模式學習筆記設計模式筆記
- 學習筆記-設計模式筆記設計模式
- Django學習筆記(15)——中介軟體Django筆記
- JavaScript設計模式學習筆記JavaScript設計模式筆記
- php設計模式學習筆記PHP設計模式筆記
- Linux 學習筆記 - 軟體安裝Linux筆記
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- 網路程式設計學習筆記程式設計筆記
- 學習筆記-設計模式:MVC模式筆記設計模式MVC
- AD學習筆記----原理圖設計筆記
- Event Bus 設計模式學習筆記設計模式筆記
- 系統程式設計學習筆記程式設計筆記
- 訊息中介軟體-kafka學習筆記一Kafka筆記
- Linux學習筆記-軟體安裝管理Linux筆記
- 《軟體架構設計》讀書筆記架構筆記
- Windows 95 系統程式設計大奧秘學習筆記 (轉)Windows程式設計筆記
- Java程式設計思想(2nd)學習筆記(7) (轉)Java程式設計筆記
- Java程式設計思想(2nd)學習筆記(6) (轉)Java程式設計筆記
- 網路安全測試軟體internet scanner學習筆記(二) (轉)筆記
- 重學Java設計模式-學習筆記(1)Java設計模式筆記
- 學好UI設計,需要學習哪些軟體?UI
- sed學習筆記(轉)筆記
- gurb學習筆記(轉)筆記
- ANT學習筆記 (轉)筆記
- GRUB學習筆記(轉)筆記
- TreeView學習筆記 (轉)View筆記
- Java設計模式學習筆記(一) 設計模式概述Java設計模式筆記
- C#設計模式學習筆記:設計原則C#設計模式筆記
- 好程式設計師web前端培訓學習筆記Vue學習筆記一程式設計師Web前端筆記Vue
- elasticsearch學習筆記二:相關軟體安裝Elasticsearch筆記
- Golang 學習筆記——tun/tap 程式設計Golang筆記程式設計
- 設計模式學習筆記——單例模式設計模式筆記單例
- 結構化程式設計--學習筆記程式設計筆記