軟件系統(tǒng)分析與設計DOC_第1頁
軟件系統(tǒng)分析與設計DOC_第2頁
軟件系統(tǒng)分析與設計DOC_第3頁
軟件系統(tǒng)分析與設計DOC_第4頁
軟件系統(tǒng)分析與設計DOC_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、第1章軟件工程基礎知識1.1 軟件工程知識體系軟件需求(Software Requirements )軟件設計(Software Design )軟件構(gòu)造(Software Construction)軟件測試(Software Testi ng )軟件維護(Software Maintenance )軟件配置管理(Software Configuration Management)軟件工程管理( Software Engineering Management)軟件工程過程(Software Engineering Process )軟件工程工具和方法( Software Engin eeri

2、ng Tools and Methods ) 軟件質(zhì)量(Software Quality )1.2軟件生存周期與軟件開發(fā)模型1.2.1 軟件生存周期Boehm定義的軟件生存周期模型GB 8566-1988定義的軟件生存周期模型GB/T 8566-1995定義的軟件生存周期過程模型GB/T 8566-2001定義的軟件生存周期過程模型UP定義的軟件生存周期模型1.2.2 軟件開發(fā)模型瀑布模型(waterfall model )快速原型模型(rapid prototype model )演化模型(evolutionary model)增量模型(in creme ntal model)螺旋模型(sp

3、iral model )噴泉模型(water fountain model)1.3軟件質(zhì)量模型與軟件質(zhì)量管理1.3.1 軟件質(zhì)量模型軟件產(chǎn)品的內(nèi)部質(zhì)量、外部質(zhì)量和使用質(zhì)量質(zhì)量特性、質(zhì)量子特性和度量功能性:適宜性、準確性、互用性、依從性、安全性可靠性:成熟性、容錯性、可恢復性可用性:可理解性、易學性、可操作性效率:時間特性、資源特性可維護性:可分析性、可修改性、穩(wěn)定性、可測試性 可移植性:適應性、易安裝性、一致性、可替換性1.3.2 軟件質(zhì)量管理質(zhì)量需求分析質(zhì)量計戈U質(zhì)量保證質(zhì)量控制質(zhì)量改進軟件質(zhì)量管理體系軟件配置管理軟件配置項與基線計算機軟件配置項(CSCI)基線(baseli

4、ne )功能基線(functional baseli ne)指派基線(allocated baseli ne)產(chǎn)品基線(product baseli ne)1.4.2軟件配置管理過程對象標識版本控制變化控制配置審計配置報告1.5軟件過程管理1.5.1軟件能力成熟度模型(CMMCMM勺5個等級:初始級、可重復級、已定義級、已管理級、優(yōu)化級CMM勺關(guān)鍵過程域(KPA:需求管理、軟件項目計劃、軟件項目跟蹤和監(jiān)控、軟件子合 同管理、軟件質(zhì)量保證、軟件配置管理、組織級過程焦點、組織級過程定義、培訓大 綱、集成軟件管理、軟件產(chǎn)品工程、組間協(xié)調(diào)、同行評審、定量過程管理、軟件質(zhì)量 管理、缺陷預防、技術(shù)變更管理

5、、過程變更管理1.5.2 軟件過程與軟件能力成熟度評估第一步,建立評估組第二步,填寫提問單第三步,響應分析第四步,現(xiàn)場考察第五步,提出調(diào)查發(fā)現(xiàn)清單第六步,制作關(guān)鍵過程域(KPA剖面圖1.5.3 軟件過程改進第一步,比較“目標狀態(tài)”與“目前狀態(tài)”,找出所有差距第二步,確定改進目標第三步,制定改進計劃第四步,執(zhí)行改進計劃 第五步,總結(jié)本輪改進經(jīng)驗,開始下一輪改進1. 6小節(jié)軟件工程學是研究如何有效地組織和管理軟件開發(fā)的工程學科。軟件產(chǎn)品所要經(jīng)歷的計劃、分析、設計、編程、測試、維護直至被淘汰這樣一個全過程被稱為軟件生存周期。 用不同的方式將軟件生命周期中的所有開發(fā)活動組織起來,可以形成不同的軟件開發(fā)

6、模型。軟件質(zhì)量就是軟件與明確地和隱含地定義的需求相一致的程度。軟件質(zhì)量管理是指軟件開發(fā)機構(gòu)為保證軟件項目滿足客戶需求所要實施的質(zhì)量活動。軟件配置管理是在軟件的整個生命期內(nèi)管理變化的一組活動,目標是使變化更正確且更容易被適應。軟件過程是指人們用于開發(fā)和維護軟件及其相關(guān)產(chǎn)品的一系列活動,包括軟件工程過程和軟件管理過程。軟件過程管理的目的就是提升軟件組織的提高軟件開發(fā)能力。第2章項目管理基礎知識2. 1項目與項目管理2.1.1 項目項目是在特定條件下、具有特定目標的一次性任務,是在一定時間內(nèi)、滿足一系列特 定目標的多項相關(guān)工作的總和。1. 項目的臨時性 項目的獨特性1.項目的漸進性2.1.2 項目管

7、理項目管理就是將各種知識、技能、工具和技術(shù)應用于項目之中,以達到項目的要求。 項目范圍 項目時間 項目成本 項目質(zhì)量2. 2 項目管理過程與過程組2.2.1 過程與過程組過程就是一組為了完成一系列事先指定的產(chǎn)品、服務或成果而需執(zhí)行的互相聯(lián)系的行 動和活動。軟件項目管理過程可歸納為五個過程組。啟動過程組(initiating process group)規(guī)劃過程組(planning process group ) 實施過程組(executing process group ) 監(jiān)控過程組( monitoring and controlling process group)收尾過程組(closin

8、g process group )2.2.2 項目管理過程的交互作用項目管理過程并不是互不相干的一次性事件項目管理過程組之間是一種前后銜接、承前啟后的關(guān)系項目管理過程組之間有時又是一種時間交錯、空間并行的關(guān)系 項目管理過程組之間還是一種信息收集、存儲、處理和傳遞的關(guān)系 某些過程組的關(guān)聯(lián)具有重復迭代性規(guī)劃過程組、執(zhí)行過程組和監(jiān)控過程組之間形成一種閉環(huán)的關(guān)系 過程組的交互作用往往還會跨越項目階段項目階段和過程之間有相互聯(lián)系2.2.3 項目管理過程的裁剪不同類型的軟件項目應選用不同的項目管理過程 不同階段的軟件項目應選用不同的項目管理過程 不同軟件項目的管理過程會有不同的具體過程 不同軟件項目的管理

9、過程會有不同的具體過程順序 不同軟件項目的管理過程會有不同的條件與約束 不同軟件項目的管理過程會有不同的簡化程度 不同軟件項目的管理過程需要不同的集成程度 項目變更會使項目管理過程隨之變化2.3項目管理知識體系項目綜合管理 項目范圍管理項目時間管理項目成本管理項目質(zhì)量管理項目人力資源管理項目溝通管理項目風險管理項目采購管理2.4小節(jié)項目管理就是將項目管理知識、技能、工具和技術(shù)應用于項目活動之中,可以將軟件項目管理活動視做一系列相互聯(lián)系的過程。項目管理過程可歸納為 5個過程組:啟動過程組、規(guī)劃過程組、實施過程組、監(jiān)控過程 組與收尾過程組。項目管理包括9個知識領域:項目綜合管理、項目范圍管理、項目

10、時間管理、項目成本管理、項目質(zhì)量管理、項目人力資源管理、項目溝通管理、項目風險管理與項目采購管 理。第3章軟件開發(fā)技術(shù)3.1軟件開發(fā)平臺3.1.1 Microsoft .NET 平臺Microsoft .NET Framework : .NET CLR(通用語言運行環(huán)境);.NET BCL (基礎類庫); ASP.NET ADO.NETMicrosoft Visual Studio .NET : ADO.NET組件;XML數(shù)據(jù)組件; Windows 表單組件; ASP.NET應用服務;ASP.NET Web表單;Web服務支持。3.1.2 J2EE 平臺組件-容器:搭建體系架構(gòu)平臺標準服務多層

11、應用模型3.1.3 Microsoft .NET 與 J2EE的異同類似的平臺基礎構(gòu)造相同的三層/多層體系1.不同的移植、性能和擴展在Web支持方面的比較第三方廠商的支持1.潛在的市場3. 2中間件技術(shù)3.2.1 中間件簡介終端仿真/屏幕轉(zhuǎn)換中間件數(shù)據(jù)訪問中間件遠程過程調(diào)用中間件消息中間件交易中間件對象中間件Web服務器中間件安全中間件3.2.2 消息代理中間件構(gòu)件化的結(jié)構(gòu)可恢復性、易于管理、靈活性具有數(shù)據(jù)轉(zhuǎn)換設施??煽扛咝У耐ㄐ哦鄻拥墓芾砟芰?豐富的應用開發(fā)環(huán)境323面向數(shù)據(jù)庫的中間件ODBCJDBC數(shù)據(jù)庫網(wǎng)關(guān)3. 3構(gòu)件技術(shù)3.3.1 構(gòu)件庫構(gòu)件的存儲構(gòu)件的分類與檢索機制構(gòu)件庫的編目構(gòu)件庫

12、的管理和維護3.3.2 構(gòu)件模型3C模型刻面(Facet)模型 青鳥模型3.3.3 構(gòu)件的屬性與特點構(gòu)件是可獨立配置的單元,構(gòu)件必須自包容。構(gòu)件強調(diào)與環(huán)境和其他構(gòu)件的分離,因此構(gòu)件的實現(xiàn)是嚴格封裝的,外界沒機會或沒 必要知道構(gòu)件內(nèi)部的實現(xiàn)細節(jié)。構(gòu)件可以在適當?shù)沫h(huán)境中被復合使用,因此構(gòu)件需要提供清楚的接口規(guī)范,可以與環(huán) 境交互。構(gòu)件沒有個體特有的屬性,最多僅有特定構(gòu)件的一份副本。3.3.4 構(gòu)件與中間件 中間件,本質(zhì)上是對分布式應用的抽象,中間件與系統(tǒng)架構(gòu)實際上是從兩種不同的角 度看待軟件的中間層次。中間件促進了構(gòu)件化軟件,基于中間件開發(fā)的應用系統(tǒng)是構(gòu)件化的,中間件提供了構(gòu) 件的體系結(jié)構(gòu),極大提

13、高了構(gòu)件化軟件開發(fā)的效率和質(zhì)量。構(gòu)件化的軟件設計思想在中間件發(fā)展中起到了重要的作用。3. 4小節(jié)Microsoft .NET平臺和J2EE平臺是目前最常用的兩大軟件開發(fā)平臺。作為彼此競爭的 應用平臺,Microsoft .NET平臺和J2EE平臺在目標和體系結(jié)構(gòu)上極其相似,但在實現(xiàn) 上又完全不同。二者總的關(guān)系是:異中有同,同中有異。中間件是處于操作系統(tǒng)和應用程序之間的軟件。中間件保持了平臺的透明性, 抽象了典型的應用模式。應用軟件開發(fā)者可以基于標準的中間件進行再開發(fā),而不必再考慮操作系統(tǒng)的問題。構(gòu)件是可復用的軟件成份, 可被用來構(gòu)造其他軟件。 中間件促進了構(gòu)件化軟件, 應用系 統(tǒng)在中間件提供的

14、環(huán)境中可以更好地集中于業(yè)務邏輯上,并以構(gòu)件的形式存在。 構(gòu)件思想也反過來推動了中間件的發(fā)展。第4章軟件項目規(guī)劃4.1項目策劃從政策導向中尋找項目機會1.從市場需求中尋找項目機會從技術(shù)發(fā)展中尋找項目機會1.從特定事件中尋找項目機會4.2項目可行性分析4.2.1 技術(shù)可行性分析項目的必要性分析軟件組織水平與能力分析項目技術(shù)來源分析與項目相關(guān)的專利分析項目負責人及技術(shù)骨干的資質(zhì)分析1.項目總體技術(shù)方案分析項目創(chuàng)新點分析項目技術(shù)風險分析項目技術(shù)成熟性分析4.2.2 項目投資及效益分析項目投資預算分析項目投資來源分析市場需求與產(chǎn)品銷售額分析產(chǎn)品成本、利潤與盈虧平衡點分析投資回收期、投資收益率分析社會效益

15、分析4. 3項目論證、評估與立項4.3.1 項目論證與評估的基本概念項目論證是指對擬實施項目技術(shù)上的先進性、成熟性、適用性,經(jīng)濟上的合理性、盈 利性,實施上的可能性、風險性進行全面科學的綜合分析,為項目決策提供客觀依據(jù) 的一種技術(shù)經(jīng)濟研究活動。項目評估指在項目可行性研究的基礎上,項目投資者或項目主管部門或其委托的第三 方權(quán)威機構(gòu)根據(jù)國家頒布的政策、法律、法規(guī)、標準和技術(shù)規(guī)范,對擬開發(fā)項目的市 場需求、技術(shù)先進性和成熟性、預期經(jīng)濟效益和社會效益等進行評價、分析和論證, 進而判斷其是否可行的過程。項目論證與評估的內(nèi)容、程序和依據(jù)大同小異,只是側(cè)重點稍有不同,有時不加區(qū)分 或合并進行。4.3.2 項

16、目可行性報告的真實性評估項目申請單位的資質(zhì)真實性評估項目申請單位的財務真實性評估項目申請單位的技術(shù)真實性評估其他事項的真實性評估4.3.3 項目可行性報告的客觀性評估技術(shù)創(chuàng)新點的客觀性評估技術(shù)先進性與成熟性的客觀性評估信息安全措施的客觀性評估采用標準、規(guī)范的先進性、合理性評估項目風險及應對方案的客觀性評估其他事項的客觀性評估434評估報告項目概況評估目標評估依據(jù)評估內(nèi)容評估機構(gòu)與評估專家評估過程詳細評估意見存在或遺漏的重大問題潛在的風險評估結(jié)論進一步的建議4.3.5 項目立項項目立項的決定應當由項目團隊之外的、適當級別的、并為項目出資的項目發(fā)起人或 投資人作出,通常以項目立項決定(通知)書、項

17、目批文、項目許可證書和項目任務書等 形式發(fā)布。4.4項目開發(fā)計劃I. 引言2引用文件3項目最終成果4需求與約束5. 系統(tǒng)開發(fā)總體計劃6項目開發(fā)詳細計劃7進度表與活動網(wǎng)絡圖&項目組織與資源9. 培訓10. 項目估算II. 風險管理12支持條件13. 注解14. 附錄4. 5小節(jié)軟件項目規(guī)劃的任務主要包括項目策劃、可行性研究、論證、 評估、立項與項目開發(fā)計劃的制訂工作。項目策劃,也稱項目機會研究,其目的是選擇投資機會、鑒別投資方向。項目可行性分析的目的是確定以下問題:項目有無必要?能否完成?是否值得去做?項目論證與評估的目的是審查項目可行性研究的可靠性、真實性和客觀性,為項目主管部門或投資

18、機構(gòu)的立項決策提供科學依據(jù)。項目開發(fā)計劃是項目規(guī)劃階段的重要成果,編寫軟件項目開發(fā)計劃時可依據(jù)GB/T8567-2006計算機軟件文檔編制規(guī)范中的軟件開發(fā)計劃模版。第5章系統(tǒng)分析方法學5. 1系統(tǒng)需求分析與軟件需求系統(tǒng)需求:系統(tǒng)總體功能和業(yè)務結(jié)構(gòu);硬件系統(tǒng)需求;軟件系統(tǒng)需求;硬件系統(tǒng)和軟件系統(tǒng)之間的接口需求。軟件需求:軟件能力需求;軟件外部接口需求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求; 適應性需求;安全性需求;保密性和私密性需求;軟件環(huán)境需求;計算機資源需求;軟 件質(zhì)量需求;設計和實現(xiàn)的約束;數(shù)據(jù)需求;操作需求;故障處理需求;算法需求;相 關(guān)人員需求;相關(guān)培訓需求;相關(guān)后勤需求;包裝需求;其他

19、需求。5.2結(jié)構(gòu)化分析結(jié)構(gòu)化分析(SA)方法是一種面向數(shù)據(jù)流的需求分析方法,基本思想是自頂向下逐層分解。數(shù)據(jù)流圖(DFD和數(shù)據(jù)字典(DD是結(jié)構(gòu)化分析最常用的工具。數(shù)據(jù)流圖用來描述數(shù)據(jù)流從輸入到輸出的變換流程。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。5. 3原型化方法5.3.1 原型化方法與結(jié)構(gòu)化方法的比較結(jié)構(gòu)化方法的假設:所有的需求都能被預先定義;修改定義不完備的系統(tǒng)代價昂貴且 實施困難;項目參加者之間能夠清晰進行準確的通信;靜態(tài)描述或圖形模型對應用系 統(tǒng)的反映是充分的;結(jié)構(gòu)化方法的生命周期的各階段都是固有正確的。

20、原型化方法的假設:并非所有的需求在系統(tǒng)開發(fā)以前都能準確地說明;有快速的系統(tǒng) 建造工具;項目參加者之間通常都存在通信上的障礙;需要實際的、可供用戶參與的 系統(tǒng)模型;需求一旦確定,就可以遵從嚴格的方法;大量的反復是不可避免的、必要 的,應該加以鼓勵。5.3.2 原型生命周期及其策略原型生命周期劃分:選擇開發(fā)方法;識別基本需求;開發(fā)工作模型;模型驗證;修正 和改進;判定原型完成;差別細部說明;嚴格說明細部;判定原型效果;整理原型和 提供文檔。原型化的策略:建立數(shù)據(jù)模型;利用組合工程;剪裁和粘貼;用系統(tǒng)舉例;字典驅(qū)動; 文檔的自動化;小的原型化隊伍;交互式開發(fā)平臺;陳述性規(guī)格說明;終端用戶報表 生成器

21、;專業(yè)原型化人員;開發(fā)人員參加原型化。5. 4面向?qū)ο蟮姆治?.4.1 面向?qū)ο蠓椒▽W概述對象與封裝類繼承與多態(tài)性消息通信面向?qū)ο蠓椒▽W的優(yōu)點5.4.2 面向?qū)ο蟮姆治龇椒∣MT方法簡介建立對象模型建立動態(tài)模型建立功能模型5.5小節(jié)系統(tǒng)分析涉及系統(tǒng)需求的獲取、分析、規(guī)格說明和確認。系統(tǒng)需求可分為以下幾個方面: 系統(tǒng)總體功能和業(yè)務結(jié)構(gòu)、硬件系統(tǒng)需求、軟件系統(tǒng)需求、硬件系統(tǒng)和軟件系統(tǒng)之間的 接口需求。常用的系統(tǒng)分析方法包括結(jié)構(gòu)化分析、原型化方法和面向?qū)ο蟮姆治?。?章系統(tǒng)分析文檔7. 1系統(tǒng)/子系統(tǒng)需求規(guī)格說明引言引用文件需求:要求的狀態(tài)和方式;需求概述;系統(tǒng)能力需求;系統(tǒng)外部接口需求;系統(tǒng)內(nèi)部接

22、 口需求;系統(tǒng)內(nèi)部數(shù)據(jù)需求;適應性需求;安全性需求;保密性和私密性需求;操作需 求;可使用性、可維護性、可移植性、可靠性和安全性需求;故障處理需求;系統(tǒng)環(huán)境 需求;計算機資源需求;系統(tǒng)質(zhì)量需求;設計和構(gòu)造的約束;相關(guān)人員需求;相關(guān)培訓 需求;相關(guān)后勤需求;包裝需求;其他需求;需求的優(yōu)先次序和關(guān)鍵程度 合格性規(guī)定需求可追蹤性非技術(shù)性需求尚未解決的問題注解附錄7.2接口需求規(guī)格說明引言1.引用文件需求合格性規(guī)定1.需求可追蹤性注解附錄7.3軟件需求規(guī)格說明引言引用文件軟件需求:要求的狀態(tài)和方式;需求概述;需求規(guī)格;軟件能力需求;軟件外部接口需 求;軟件內(nèi)部接口需求;軟件內(nèi)部數(shù)據(jù)需求;適應性需求;安

23、全性需求;保密性和私密 性需求;軟件環(huán)境需求;計算機資源需求;軟件質(zhì)量需求;設計和實現(xiàn)的約束;數(shù)據(jù)需 求;操作需求;故障處理需求;算法需求;相關(guān)人員需求;相關(guān)培訓需求;相關(guān)后勤需 求;包裝需求;其他需求;需求的優(yōu)先次序和關(guān)鍵程度合格性規(guī)定需求可追蹤性尚未解決的問題注解附錄7.4 小節(jié)根據(jù)GB/T 8567-2006 計算機軟件文檔編制規(guī)范(Specification for computersoftware documentation),系統(tǒng)分析文檔主要包括系統(tǒng) /子系統(tǒng)需求規(guī)格說明(SSS、接口需求規(guī)格說明(IRS)和軟件需求規(guī)格說明(SRS。系統(tǒng)/子系統(tǒng)需求規(guī)格說明(SSS為一個系統(tǒng)或子系

24、統(tǒng)指定需求以及保證每個需求得到確認所使用的方法。接口需求規(guī)格說明(IRS)描述為實現(xiàn)一個或多個系統(tǒng)、子系統(tǒng)、硬件配置項(HWC)、計算機軟件配置項(CSC)、用戶軟件需求規(guī)格說明(SRS描述對計算機軟件的需求以及確保每個需求得到確認所使用 的方法。第8章系統(tǒng)設計基礎8. 1系統(tǒng)設計概述8.1.1 系統(tǒng)級設計決策系統(tǒng)級設計決策,是指系統(tǒng)行為的設計決策(忽略其內(nèi)部實現(xiàn),從用戶角度出發(fā),描 述系統(tǒng)將怎樣運轉(zhuǎn)以滿足需求)和其他對系統(tǒng)部件的選擇和設計產(chǎn)生影響的的決策。系統(tǒng)級設計決策內(nèi)容:有關(guān)系統(tǒng)接收的輸入和產(chǎn)生的輸出的設計決策;對每個輸入或 條件進行響應的系統(tǒng)行為的設計決策;系統(tǒng)數(shù)據(jù)庫/數(shù)據(jù)文件如何呈現(xiàn)

25、給用戶的設計決策;為滿足安全性、保密性和私密性需求所選用的方法;硬件或硬軟件系統(tǒng)的設計和 構(gòu)造選擇;為了響應需求而作出的其他系統(tǒng)級設計決策。8.1.2 系統(tǒng)架構(gòu)設計總體設計系統(tǒng)部件設計 動態(tài)交互設計 接口設計8.1.3 運行設計系統(tǒng)初始化一一說明本系統(tǒng)的初始化過程。運行控制一一說明對系統(tǒng)施加不同的外界運行控制時所引起的各種不同的運行組件組合、每種運行所經(jīng)歷的內(nèi)部組件和支持軟件、每一種外界運行控制的方式方法和操作 步驟、每種運行組件組合將占用各種資源的情況以及系統(tǒng)運行時的安全控制。運行結(jié)束說明本系統(tǒng)運行的結(jié)束過程。8.1.4 系統(tǒng)出錯處理設計出錯信息一一包括出錯信息表、故障處理技術(shù)等。補救措施一

26、一說明故障出現(xiàn)后可能采取的補救措施。8.1.5 系統(tǒng)維護設計檢測點的設計一一說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護的檢測點。檢測專用組件的設計一一說明在系統(tǒng)中專門安排用于系統(tǒng)檢查與維護的專用組件。8.2軟件設計概述8.2.1 軟件級設計決策軟件級設計決策是指軟件行為的設計決策(忽略其內(nèi)部實現(xiàn),從用戶角度出發(fā),描述 軟件將怎樣運轉(zhuǎn)以滿足需求)和其他影響組成該軟件的軟件配置項的選擇與設計的決 策。軟件級設計決策內(nèi)容:有關(guān)軟件接收的輸入和產(chǎn)生的輸出的設計決策;對每個輸入或條件進行響應的軟件行為的設計決策;有關(guān)數(shù)據(jù)庫/數(shù)據(jù)文件如何呈現(xiàn)給用戶的設計決策;為滿足安全性、保密性和私密性需求所選用的方法;為響

27、應需求而作出的其他軟 件級設計決策。8.2.2 軟件架構(gòu)設計 程序結(jié)構(gòu)設計全局數(shù)據(jù)結(jié)構(gòu)設計軟件配置項設計 動態(tài)交互設計 接口設計823 軟件詳細設計軟件配置項設計決策軟件配置項設計中的約束、限制或非常規(guī)特征軟件配置項使用的編程語言考慮 軟件配置項使用的過程式命令選取軟件配置項的局部數(shù)據(jù)與軟件配置項的輸入或輸出數(shù)據(jù)設計 軟件配置項的邏輯設計8.3設計原則8.3.1 組件化組件的可分解性組件的可組裝性組件的可理解性組件的連續(xù)性組件的保護性8.3.2 抽象抽象就是抽出事物的本質(zhì)特性而暫時忽略其細節(jié),使得不同的事物可以當作相同的事 務來處理。軟件工程過程的每一步都是對軟件解法的抽象層次的一次精化。 軟

28、件設計中的抽象機制主要包括類、模板、過程抽象、數(shù)據(jù)抽象和控制抽象。8.3.3 內(nèi)聚與耦合內(nèi)聚是指一個組件內(nèi)各個元素彼此結(jié)合的緊密程度內(nèi)聚種類(由低到高排列):偶然內(nèi)聚;邏輯內(nèi)聚;瞬時內(nèi)聚;過程內(nèi)聚;通信內(nèi)聚; 順序內(nèi)聚;功能內(nèi)聚耦合是指一個軟件結(jié)構(gòu)內(nèi)不同組件之間的互連程度耦合種類(由高到低排列):內(nèi)容耦合;公共耦合;外部耦合;控制耦合;標記耦合; 數(shù)據(jù)耦合;非直接耦合組件的高內(nèi)聚、低耦合原則稱為組件獨立原則8.3.4 封裝與信息隱蔽第一,組件是其全部屬性和全部服務緊密結(jié)合而形成的一個不可分割的整體。第二,組件是一個不透明的黑盒子,表示組件狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼都被封裝 在黑盒子里面。使用一

29、個組件的時候,只需知道它向外界提供的接口形式,無須知道 它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實現(xiàn)操作的算法。8.3.5 啟發(fā)式規(guī)則深度、寬度、扇出與扇入作用域和控制域功能的可預測性& 4設計視圖8.4.1 架構(gòu)視圖(靜態(tài)視圖)架構(gòu)描述語言(ADL類圖與對象圖組件圖協(xié)作責任卡(CRC部署圖實體-聯(lián)系圖(E-R圖)接口描述語言(IDL)結(jié)構(gòu)圖Jackson結(jié)構(gòu)圖842行為視圖(動態(tài)視圖)活動圖協(xié)作圖順序圖數(shù)據(jù)流圖決策表和決策圖流程圖和結(jié)構(gòu)化流程圖狀態(tài)圖形式化描述語言偽碼8. 5小節(jié)系統(tǒng)設計是定義一個系統(tǒng)或軟件的架構(gòu)、組件、接口和其它特征的過程。包括系統(tǒng)級設計決策、系統(tǒng)架構(gòu)設計、運行設計、系統(tǒng)出錯處理設計和系

30、統(tǒng)維護設計。軟件設計主要包括軟件級設計決策、 軟件架構(gòu)設計(概要設計)與詳細設計。軟件架構(gòu) 設計的主要任務是程序結(jié)構(gòu)設計、 全局數(shù)據(jù)結(jié)構(gòu)設計、軟件配置項設計、動態(tài)交互設計 和接口設計。軟件詳細設計是指每一個軟件配置項的具體設計。組件化、抽象、高內(nèi)聚與低耦和、封裝與信息隱蔽是軟件設計的基本原則。軟件設計視圖通常可分為架構(gòu)視圖(靜態(tài)視圖)和行為視圖(動態(tài)視圖)兩類。第9章系統(tǒng)設計方法9. 1結(jié)構(gòu)化設計9.1.1 結(jié)構(gòu)化設計方法概述分析系統(tǒng)的總體需求,并將需求逐步分解為基本、具體的功能。確定每個功能應當記錄的數(shù)據(jù)。列出系統(tǒng)中應提供的各項基本功能,并分析各項基本功能之間的耦合關(guān)系,根據(jù)高內(nèi) 聚、低耦和

31、的原則分配到系統(tǒng)中適當?shù)哪K中。9.1.2 系統(tǒng)結(jié)構(gòu)圖模塊調(diào)用數(shù)據(jù)控制轉(zhuǎn)接符號9.1.3 系統(tǒng)結(jié)構(gòu)圖分類變換流與事務流變換型系統(tǒng)結(jié)構(gòu)圖事務型系統(tǒng)結(jié)構(gòu)圖混合型系統(tǒng)結(jié)構(gòu)圖9.2面向數(shù)據(jù)結(jié)構(gòu)的設計9.2.1 面向數(shù)據(jù)結(jié)構(gòu)的設計概述分析并建立適合系統(tǒng)的數(shù)據(jù)結(jié)構(gòu);根據(jù)數(shù)據(jù)結(jié)構(gòu)在相應的層次建立程序結(jié)構(gòu);羅列出程序中用到的各種基本操作,并將這些基本操作分配到程序結(jié)構(gòu)中合適的模塊 中。9.2.2 Jackson 圖順序結(jié)構(gòu)選擇結(jié)構(gòu)重復結(jié)構(gòu)改進的Jackson圖9.2.3 Jackson 方法分析并確定輸入和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并利用Jackson閤將這蘭數(shù)據(jù)姑構(gòu)描繪出找出輸入和輸出數(shù)據(jù)結(jié)構(gòu)中存在對應關(guān)系的數(shù)據(jù)

32、單元。從描繪數(shù)據(jù)結(jié)構(gòu)的 Jackson圖導出描繪程序結(jié)構(gòu)的Jackson圖。列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們安排到程序結(jié)構(gòu)圖 的適當位置。用偽代碼表示。9. 3面向?qū)ο蟮脑O計9.3.1 面向?qū)ο蟮脑O計概述面向?qū)ο笤O計的基本思想是通過建立和客觀實際相對應的對象,并通過這些對象的組 合來創(chuàng)建具體的應用。面向?qū)ο笤O計具有基于抽象、信息隱藏、功能獨立和模塊性構(gòu)造系統(tǒng)的能力。對于面向?qū)ο蟮南到y(tǒng),可以定義一個四個層次的設計金字塔:子系統(tǒng)層;類及對象層; 消息層;責任層。9.3.2 面向?qū)ο笤O計技術(shù)Coad/Yourdon 方法Booch方法OMT方法9.3.3 面向?qū)ο笤O計過程

33、系統(tǒng)設計過程:將分析模型劃分為子系統(tǒng);子系統(tǒng)分配及與問題的并發(fā)性;任務管理; 數(shù)據(jù)管理;資源管理;人機界面;子系統(tǒng)間通信對象設計過程:對象描述;算法與數(shù)據(jù)結(jié)構(gòu)設計;接口設計與模塊化9.4設計模式9.4.1 設計模式概述設計模式就是將面向?qū)ο筌浖脑O計經(jīng)驗記錄下,可供設計者能夠復用的設計方案。 設計模式極大提高了面向?qū)ο筌浖_發(fā)的效率,降低了軟件的復雜度。在軟件設計中使用設計模式,將使用開發(fā)出來的軟件更容易理解、更容易維護、更容 易擴展,使用設計模式同時也能夠提高開發(fā)團隊和個人的開發(fā)能力。9.4.2 設計模式基本組成模式名稱:惟一標識一個設計模式。問題:描述應該在何時使用該模式。解決方案:描述設

34、計的組成要素,以及它們之間的相互關(guān)系及各自的職責與相互之間 協(xié)作的方式。效果:描述應用設計模式的效果,以及使用設計模式必須考慮的限制和約束因素。943設計模式分類面向?qū)ο竽J酱a模式框架應用模式創(chuàng)建型模式、結(jié)構(gòu)型模式與行為型模式類模式與對象模式944如何使用設計模式針對接口編程,而不是針對實現(xiàn)編程優(yōu)先使用對象組合,而不是類繼承找出變化并封裝9. 5小節(jié)系統(tǒng)設計是一系列迭代的過程,主要任務包括數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、接口及過程細節(jié)的設計等,而設計方法是軟件設計活動中實現(xiàn)設計模型的方法。系統(tǒng)設計方法主要包括面向過程的結(jié)構(gòu)化設計方法、面向數(shù)據(jù)結(jié)構(gòu)的設計,以及面向?qū)ο蟮脑O計方法與設計模式。第10章數(shù)據(jù)庫設

35、計10. 1數(shù)據(jù)建模10.1.1 數(shù)據(jù)模型分類概念數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型物理數(shù)據(jù)模型10.1.2 實體-聯(lián)系(E-R)模型實體屬性聯(lián)系實體型實體集鍵域10.1.3 數(shù)據(jù)模型層次數(shù)據(jù)模型(hierarchical model )網(wǎng)狀數(shù)據(jù)模型(network model )關(guān)系數(shù)據(jù)模型(relational model)面向?qū)ο竽P?object oriented model)10.2數(shù)據(jù)規(guī)范化10.2.1 數(shù)據(jù)規(guī)范化的基本概念函數(shù)依賴非平凡函數(shù)依賴完全函數(shù)依賴部分函數(shù)依賴傳遞函數(shù)依賴鍵1022范式第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF10. 3數(shù)據(jù)庫設計過程10.

36、3.1 數(shù)據(jù)庫需求分析數(shù)據(jù)邊界的確定數(shù)據(jù)環(huán)境的確定數(shù)據(jù)內(nèi)部關(guān)系數(shù)據(jù)字典數(shù)據(jù)性能需求數(shù)據(jù)需求分析說明書10.3.2 數(shù)據(jù)庫概念設計概念設計與概念模型概念設計的主要方法分解與抽象局部概念模式全局概念模式10.3.3 數(shù)據(jù)庫邏輯設計初始模式的形成子模式設計應用程序概要設計模式評審修正模式10.3.4 數(shù)據(jù)庫物理設計存儲記錄結(jié)構(gòu)設計確定數(shù)據(jù)存放位置存取方法設計完整性和安全考慮程序設計10. 4 小節(jié)數(shù)據(jù)庫系統(tǒng)普遍采取數(shù)據(jù)模型表示和處理客觀事物的數(shù)據(jù)特征與信息。數(shù)據(jù)模型主要由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成,從抽象層次上描述和模擬了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一

37、定的要求,即滿足不同的范式。目前關(guān)系數(shù)據(jù)庫中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF數(shù)據(jù)庫設計主要包括需求分析、概念設計、邏輯設計和物理設計等幾個階段。第11章用戶界面設計11. 1 基本概念11.1.1 界面設計目標可用性目標:可行性、有效性、易學性、易記性、安全性、通用性用戶體驗目標:令人滿意、令人愉快、引人入勝、富有啟發(fā)、激發(fā)創(chuàng)造可用性目標主要從客觀角度來評價系統(tǒng)界面,而用戶體驗目標則是從用戶主觀感受的 角度來評價系統(tǒng)界面。11.1.2 界面設計原則可視性:將系統(tǒng)功能呈現(xiàn)得一目了然。反饋性:返回與活動相關(guān)的信息,以便用戶能夠繼續(xù)這個活動。 限制性:將用戶的行為限制在一定的范圍內(nèi)。對應性:明確系統(tǒng)某個控制與其控制效果之間的對應關(guān)系。一致性:用相似的元素表現(xiàn)相似的操作或相似的任務。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論