【文章內容簡介】
聚;過程內聚;通信內聚;順序內聚;功能內聚耦合是指一個軟件結構內不同組件之間的互連程度 耦合種類(由高到低排列):內容耦合;公共耦合;外部耦合;控制耦合;標記耦合;數(shù)據(jù)耦合;非直接耦合組件的高內聚、低耦合原則稱為組件獨立原則l 封裝與信息隱蔽第一,組件是其全部屬性和全部服務緊密結合而形成的一個不可分割的整體。第二,組件是一個不透明的黑盒子,表示組件狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼都被封裝在黑盒子里面。使用一個組件的時候,只需知道它向外界提供的接口形式,無須知道它的數(shù)據(jù)結構細節(jié)和實現(xiàn)操作的算法。l 啟發(fā)式規(guī)則深度、寬度、扇出與扇入 作用域和控制域 功能的可預測性l 架構視圖(靜態(tài)視圖)架構描述語言(ADL)l l l l l l l l l l l l l l ll l lll l l l l l l l l l l l l l l l l l ll l 類圖與對象圖 組件圖協(xié)作責任卡(CRC)部署圖實體聯(lián)系圖(ER圖)接口描述語言(IDL)結構圖Jackson結構圖l 行為視圖(動態(tài)視圖)活動圖 協(xié)作圖 順序圖 數(shù)據(jù)流圖決策表和決策圖流程圖和結構化流程圖 狀態(tài)圖形式化描述語言 偽碼系統(tǒng)設計是定義一個系統(tǒng)或軟件的架構、組件、接口和其它特征的過程。包括系統(tǒng)級設計決策、系統(tǒng)架構設計、運行設計、系統(tǒng)出錯處理設計和系統(tǒng)維護設計。軟件設計主要包括軟件級設計決策、軟件架構設計(概要設計)與詳細設計。軟件架構設計的主要任務是程序結構設計、全局數(shù)據(jù)結構設計、軟件配置項設計、動態(tài)交互設計和接口設計。軟件詳細設計是指每一個軟件配置項的具體設計。組件化、抽象、高內聚與低耦和、封裝與信息隱蔽是軟件設計的基本原則。軟件設計視圖通常可分為架構視圖(靜態(tài)視圖)和行為視圖(動態(tài)視圖)兩類。第9章系統(tǒng)設計方法 l 結構化設計方法概述分析系統(tǒng)的總體需求,并將需求逐步分解為基本、具體的功能。確定每個功能應當記錄的數(shù)據(jù)。列出系統(tǒng)中應提供的各項基本功能,并分析各項基本功能之間的耦合關系,根據(jù)高內聚、低耦和的原則分配到系統(tǒng)中適當?shù)哪K中。l 系統(tǒng)結構圖模塊 調用 數(shù)據(jù) 控制 轉接符號l 系統(tǒng)結構圖分類變換流與事務流 變換型系統(tǒng)結構圖 事務型系統(tǒng)結構圖 l l ll l l l l l l ll 混合型系統(tǒng)結構圖l 面向數(shù)據(jù)結構的設計概述分析并建立適合系統(tǒng)的數(shù)據(jù)結構;根據(jù)數(shù)據(jù)結構在相應的層次建立程序結構;羅列出程序中用到的各種基本操作,并將這些基本操作分配到程序結構中合適的模塊中。l Jackson圖順序結構 選擇結構 重復結構改進的Jackson圖l Jackson方法分析并確定輸入和輸出數(shù)據(jù)的邏輯結構,并利用Jackson 找出輸入和輸出數(shù)據(jù)結構中存在對應關系的數(shù)據(jù)單元。從描繪數(shù)據(jù)結構的Jackson圖導出描繪程序結構的Jackson列出所有操作和條件(包括分支條件和循環(huán)結束條件),并且把它們安排到程序結構圖的適當位置。用偽代碼表示。l 面向對象的設計概述面向對象設計的基本思想是通過建立和客觀實際相對應的對象,并通過這些對象的組合來創(chuàng)建具體的應用。面向對象設計具有基于抽象、信息隱藏、功能獨立和模塊性構造系統(tǒng)的能力。對于面向對象的系統(tǒng),可以定義一個四個層次的設計金字塔:子系統(tǒng)層;類及對象層;消息層;責任層。l 面向對象設計技術l Coad/Yourdon方法 l Booch方法 l OMT方法 l ll 面向對象設計過程系統(tǒng)設計過程:將分析模型劃分為子系統(tǒng);子系統(tǒng)分配及與問題的并發(fā)性;任務管理;數(shù)據(jù)管理;資源管理;人機界面;子系統(tǒng)間通信對象設計過程:對象描述;算法與數(shù)據(jù)結構設計;接口設計與模塊化l 設計模式概述設計模式就是將面向對象軟件的設計經(jīng)驗記錄下,可供設計者能夠復用的設計方案。設計模式極大提高了面向對象軟件開發(fā)的效率,降低了軟件的復雜度。在軟件設計中使用設計模式,將使用開發(fā)出來的軟件更容易理解、更容易維護、更容易擴展,使用設計模式同時也能夠提高開發(fā)團隊和個人的開發(fā)能力。l 設計模式基本組成模式名稱:惟一標識一個設計模式。問題:描述應該在何時使用該模式。l l ll l l l l l l l ll l ll l ll ll 解決方案:描述設計的組成要素,以及它們之間的相互關系及各自的職責與相互之間協(xié)作的方式。l 效果:描述應用設計模式的效果,以及使用設計模式必須考慮的限制和約束因素。l 設計模式分類l 面向對象模式 l 代碼模式l 框架應用模式l 創(chuàng)建型模式、結構型模式與行為型模式 l 類模式與對象模式l 如何使用設計模式l 針對接口編程,而不是針對實現(xiàn)編程 l 優(yōu)先使用對象組合,而不是類繼承 l 找出變化并封裝l 系統(tǒng)設計是一系列迭代的過程,主要任務包括數(shù)據(jù)結構、體系結構、接口及過程細節(jié)的設計等,而設計方法是軟件設計活動中實現(xiàn)設計模型的方法。l 系統(tǒng)設計方法主要包括面向過程的結構化設計方法、面向數(shù)據(jù)結構的設計,以及面向對象的設計方法與設計模式。第10章數(shù)據(jù)庫設計 l 數(shù)據(jù)模型分類l 概念數(shù)據(jù)模型 l 結構數(shù)據(jù)模型 l 物理數(shù)據(jù)模型l 實體聯(lián)系(ER)模型l 實體 l 屬性 l 聯(lián)系 l 實體型 l 實體集 l 鍵 l 域l 數(shù)據(jù)模型l 層次數(shù)據(jù)模型(hierarchical model)l 網(wǎng)狀數(shù)據(jù)模型(network model)l 關系數(shù)據(jù)模型(relational model)l 面向對象模型(object oriented model)l 數(shù)據(jù)規(guī)范化的基本概念l 函數(shù)依賴l 非平凡函數(shù)依賴 l 完全函數(shù)依賴 l 部分函數(shù)依賴l 傳遞函數(shù)依賴 l 鍵l 范式l l l l 第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF) l 數(shù)據(jù)庫需求分析l l l l l l l l l l l l l l l l l l l l l 數(shù)據(jù)邊界的確定 數(shù)據(jù)環(huán)境的確定 數(shù)據(jù)內部關系 數(shù)據(jù)字典數(shù)據(jù)性能需求數(shù)據(jù)需求分析說明書l 數(shù)據(jù)庫概念設計概念設計與概念模型 概念設計的主要方法 分解與抽象 局部概念模式 全局概念模式l 數(shù)據(jù)庫邏輯設計初始模式的形成 子模式設計應用程序概要設計 模式評審 修正模式l 數(shù)據(jù)庫物理設計存儲記錄結構設計 確定數(shù)據(jù)存放位置 存取方法設計完整性和安全考慮 程序設計l 數(shù)據(jù)庫系統(tǒng)普遍采取數(shù)據(jù)模型表示和處理客觀事物的數(shù)據(jù)特征與信息。數(shù)據(jù)模型主要由數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束三部分組成,從抽象層次上描述和模擬了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件。l 關系數(shù)據(jù)庫中的關系必須滿足一定的要求,即滿足不同的范式。目前關系數(shù)據(jù)庫中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。l 數(shù)據(jù)庫設計主要包括需求分析、概念設計、邏輯設計和物理設計等幾個階段。第11章用戶界面設計l l ll l l l l l l l l ll l l l l ll l l l l l l l l l l ll 界面設計目標可用性目標:可行性、有效性、易學性、易記性、安全性、通用性用戶體驗目標:令人滿意、令人愉快、引人入勝、富有啟發(fā)、激發(fā)創(chuàng)造??可用性目標主要從客觀角度來評價系統(tǒng)界面,而用戶體驗目標則是從用戶主觀感受的角度來評價系統(tǒng)界面。l 界面設計原則可視性:將系統(tǒng)功能呈現(xiàn)得一目了然。反饋性:返回與活動相關的信息,以便用戶能夠繼續(xù)這個活動。限制性:將用戶的行為限制在一定的范圍內。對應性:明確系統(tǒng)某個控制與其控制效果之間的對應關系。一致性:用相似的元素表現(xiàn)相似的操作或相似的任務。啟示性:界面元素應給予用戶某種提示。l 界面設計過程標識出用戶的真實需要并建立需求模型 設計出候選方案構建或實現(xiàn)設計的原型版本 對界面設計進行評估l 界面設計分析技術GOMS模型及GOMS擊鍵層模型 Hick律 Fitts律l 界面設計方法原型設計方法以用戶為中心的設計方法 用戶界面設計的支持工具l 構造性評估與總結性評估構造性評估:在設計過程中對所設計的系統(tǒng)或產(chǎn)品界面進行評估以確保其滿足用戶需求??偨Y性評估:對已經(jīng)完成的產(chǎn)品或系統(tǒng)界面進行評估。l 評估范型快速評估 可用性測試 實地研究 預測性評估l 評估方法與技術觀察用戶征求用戶意見 征求專家意見 用戶測試用戶執(zhí)行情況的分析模型l 評估框架明確(Determine)l l l l l l l l l發(fā)掘(Explore)選擇(Choose)標識(Identify)決定(Decide)評估(Evalute)用戶界面體現(xiàn)了用戶利用系統(tǒng)完成任務的方式以及系統(tǒng)對用戶行為的響應方式,一個沒有良好的用戶界面設計的系統(tǒng)很可能會成為一個沒有用戶的系統(tǒng)。可用性目標與用戶體驗目標。界面設計的量化模型:GOMS模型及其子模型擊鍵層模型,Hick律和Fitts律。構造性評估與總結性評估。第12章系統(tǒng)設計文檔(結構)設計說明l l l l l l l l l l l l l l l l l l l l l l l l l 引言 引用文件系統(tǒng)級設計決策系統(tǒng)體系結構設計:總體設計;系統(tǒng)部件設計;動態(tài)交互設計;接口設計 運行設計系統(tǒng)出錯處理設計 系統(tǒng)維護設計 尚未解決的問題 需求的可追蹤性 注解 附錄接口設計說明引言 引用文件 接口設計需求的可追蹤性 注解 附錄軟件(結構)設計說明引言 引用文件軟件級設計決策軟件體系結構設計:程序結構設計;全局數(shù)據(jù)結構設計;軟件配置項設計;動態(tài)交互設計;接口設計 軟件詳細設計 需求的可追蹤性 注解 附錄l l l l l l l l ll l l l l引言 引用文件數(shù)據(jù)庫級設計決策 數(shù)據(jù)庫詳細設計用于數(shù)據(jù)庫操縱或訪問的軟件配置項的詳細設計 需求的可追蹤性 注解 附錄小節(jié)根據(jù)《GB/T 85672006 計算機軟件文檔編制規(guī)范》,系統(tǒng)設計文檔主要包括系統(tǒng)/子系統(tǒng)設計(結構設計)說明(SSDD)、接口設計說明(IDD)、軟件(結構)設計說明(SDD)和數(shù)據(jù)庫設計說明(DBDD)。系統(tǒng)/子系統(tǒng)設計(結構設計)說明(SSDD)描述了系統(tǒng)(或子系統(tǒng))的系統(tǒng)級(或子系統(tǒng)級)設計決策與體系結構設計。接口設計說明(IDD)描述了一個或多個系統(tǒng)、子系統(tǒng)、硬件配置項(HWCI)、計算機軟件配置項(CSCI)、用戶或其他系統(tǒng)部件的接口特性。軟件(結構)設計說明(SDD)描述了計算機軟件系統(tǒng)的軟件級設計決策、軟件體系結構設計(概要設計)與詳細設計。數(shù)據(jù)庫(頂層)設計說明(DBDD)描述了數(shù)據(jù)庫的設計。系統(tǒng)設計文檔可以使用自然語言,可以使用形式化語言,也可以根據(jù)具體的系統(tǒng)設計方法使用各種圖形工具,還可以根據(jù)實際情況混合使用多種表現(xiàn)形式。第三篇:系統(tǒng)分析與設計 期末考試,定義了類CourseSchedule