軟件工程教案復(fù)習李梁省公共課一等獎全國賽課獲獎?wù)n件_第1頁
軟件工程教案復(fù)習李梁省公共課一等獎全國賽課獲獎?wù)n件_第2頁
軟件工程教案復(fù)習李梁省公共課一等獎全國賽課獲獎?wù)n件_第3頁
軟件工程教案復(fù)習李梁省公共課一等獎全國賽課獲獎?wù)n件_第4頁
軟件工程教案復(fù)習李梁省公共課一等獎全國賽課獲獎?wù)n件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程

復(fù)習

重慶理工大學計算機科學與工程學院李梁

65263075liliang@第1頁課程關(guān)鍵點第1-3章軟件工程概、軟件過程及軟件開發(fā)模型軟件、程序、數(shù)據(jù)、文檔含義軟件危機及其表現(xiàn)、處理方法軟件工程定義與關(guān)鍵思想軟件工程基本原理與標準軟件工程基本范型軟件過程及軟件過程模型軟件工程生命周期概念以及它各個階段內(nèi)容,各階段主要任務(wù)軟件工程主要開發(fā)模型:瀑布模式、增量模型、螺旋模型、面向?qū)ο筮^程模型第2頁課程關(guān)鍵點第5章軟件需求分析軟件需求分析概念、主要過程與步驟、軟件需求類型軟件處理方案:目標、性能指標評價、處理方式、可行性分析。開啟分析過程:確認利益相關(guān)者、識別視點、協(xié)同工作、首次提問主要需求獲取技術(shù):會談、調(diào)查表、場景描述、主要需求描述技術(shù):流程圖和用例圖第3頁課程關(guān)鍵點第6章

結(jié)構(gòu)化分析建模分析模型概述結(jié)構(gòu)化分析模型概念

SA概念和SA法主要模型(功效、數(shù)據(jù)、行為)掌握數(shù)據(jù)流程圖基本畫法,會畫數(shù)據(jù)流程圖掌握數(shù)據(jù)字典書寫格式,會編寫數(shù)據(jù)字典對已明確需求軟件,會設(shè)計其主要數(shù)據(jù)流程圖,編寫主要數(shù)據(jù)字典掌握決議樹、決議表繪制,熟悉結(jié)構(gòu)式語言表示法;掌握IPO圖畫法第4頁課程關(guān)鍵點第8-9章結(jié)構(gòu)化軟件設(shè)計系統(tǒng)設(shè)計(概要設(shè)計、過程設(shè)計)任務(wù)和步驟(過程)設(shè)計標準:抽象、自頂向下逐步求精、模塊化、信息隱藏、重構(gòu)概念常見模塊獨立性度量標準:耦合(7種)和內(nèi)聚(7種)軟件模塊結(jié)構(gòu)中基本術(shù)語和啟發(fā)式設(shè)計策略:深度、寬度、扇出、扇入、調(diào)用、判斷調(diào)用、數(shù)據(jù)信息、控制信息掌握概要設(shè)計(總體設(shè)計)繪制工具:層次圖和HIPO圖、軟件結(jié)構(gòu)圖掌握SD法設(shè)計過程與步驟會區(qū)分變換型、事務(wù)型數(shù)據(jù)流圖,并掌握對應(yīng)映射方法會使用SD法將DFD轉(zhuǎn)映射成模塊結(jié)構(gòu)圖了解對模塊結(jié)構(gòu)圖啟發(fā)式設(shè)計策略第5頁課程關(guān)鍵點第8-9章結(jié)構(gòu)化軟件設(shè)計知道詳細設(shè)計(過程設(shè)計)內(nèi)容、過程及步驟界面設(shè)計步驟與基本準則會使用常見過程設(shè)計工具:程序流程圖、NS表、判定表、過程設(shè)計語言了解編碼語言分類,選擇設(shè)計語言要考慮原因知道常見編程語言和工具(C/S和B/S)知道常見數(shù)據(jù)庫產(chǎn)品知道常見軟件CASE工具知道開發(fā)規(guī)范及編碼格調(diào)主要內(nèi)容知道結(jié)構(gòu)化程序設(shè)計三種基本控制結(jié)構(gòu)

第6頁課程關(guān)鍵點第7、10-11章面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓椒▽W概念、特點,與面向過程開發(fā)方法區(qū)分;面向?qū)ο蠓治鲈O(shè)計步驟、過程清楚對象、類、實例、消息、屬性、方法(服務(wù))、繼承、消息、主題概念知道OMT對象建模技術(shù)對象、動態(tài)與功效三大模型知道UML主要模型(用戶、結(jié)構(gòu)、行為、實現(xiàn)、環(huán)境)及組成主要圖形(對象類圖、次序圖、狀態(tài)圖)畫法和事務(wù)(類、屬性、服務(wù)、主要關(guān)聯(lián)、多重性、角色、包、泛化、聚集、關(guān)聯(lián)類、用例、事件、狀態(tài)、消息)對已明確需求描述,會設(shè)計其面向?qū)ο竽P停ㄓ美龍D、活動圖、對象類圖、行為腳本、次序圖、狀態(tài)圖)第7頁課程關(guān)鍵點面向?qū)ο蠓治鲈O(shè)計技術(shù)知道對象、類、實例、屬性、行為、繼承、消息、包概念知道面向?qū)ο笮枨蠓治鲞^程知道UML概念和UML基本模型對已明確需求系統(tǒng),會設(shè)計其面向?qū)ο竽P图皠討B(tài)模型(用例圖、活動圖、類圖、次序圖、狀態(tài)圖)第8頁課程關(guān)鍵點第11-12章軟件實現(xiàn)知道軟件測試目標、標準、標準和測試步驟知道黑盒法與白盒法測試技術(shù)知道單元、集成、確認、系統(tǒng)測試主要內(nèi)容,在開發(fā)過程中位置和使用主要技術(shù)(注意驅(qū)動、樁模塊概念)會設(shè)計黑合測試中等價類劃分、邊值測試測試實例知道一些主要專題測試(如α測試、β測試、可靠性測試、性能測試、恢復(fù)測試)測試用例設(shè)計目標及編制方法了解軟件維護概念、任務(wù)及軟件維護分類第9頁重點技術(shù)需求調(diào)查:業(yè)務(wù)流程圖、用例圖、活動圖SA法:分層DFD圖、數(shù)據(jù)字典編制(描述)、判斷表、判斷樹SD法:軟件結(jié)構(gòu)圖、HIPO圖、DFD映射方法:變換分析與事務(wù)分析OO:對象模型(對象類圖)、動態(tài)模型(行為腳本、狀態(tài)圖、次序圖)、功效模型(DFD)測試:等價類劃分、邊值分析設(shè)計測試用例注意:案例方案文檔(圖書、ATM、POS、短信、出卷)第10頁

軟件是計算機系統(tǒng)中與硬件相互依存另一部分,它是包含程序,數(shù)據(jù)及其相關(guān)文檔完整集合。程序是按事先設(shè)計功效和性能要求執(zhí)行指令序列數(shù)據(jù)是使程序能正常操縱信息數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護和使用相關(guān)圖文材料軟件=程序+文檔軟件危機概念:

軟件危機是指在計算機軟件開發(fā)和維護過程中所碰到一系列嚴重問題。即包含兩方面問題:怎樣開發(fā)軟件、怎樣維護軟件軟件及軟件危機09:12:48第11頁軟件工程基本概念軟件工程:是以工程化思想進行軟件開發(fā),以生產(chǎn)高質(zhì)量和高效率軟件。——教材定義關(guān)鍵觀點:把軟件看作是一個工程產(chǎn)品。FritzBauer定義:軟件工程是為了經(jīng)濟地取得能夠在實際機器上有效運行可靠軟件而建立和使用一系列完善工程化標準。軟件工程基本原理:推遲實現(xiàn)觀點、逐步求精觀點、分解與抽象觀點、信息隱蔽觀點、質(zhì)量確保觀點軟件過程是為了開發(fā)出軟件產(chǎn)品,或者是為了完成軟件工程項目而需要完成相關(guān)軟件工程活動。通常使用生命周期模型簡練地描述軟件過程軟件過程模型:就是把軟件生命周期中各項開發(fā)活動流程用一個合理框架(開發(fā)模型)來規(guī)范描述。09:12:48第12頁階段關(guān)鍵問題結(jié)束標準(任務(wù))問題定義問題是什么?關(guān)于規(guī)模和目標匯報書可行性研究是否可行?系統(tǒng)高層邏輯模型;數(shù)據(jù)流圖;成本/效益分析需求分析系統(tǒng)必須做什么?系統(tǒng)邏輯模型;數(shù)據(jù)流圖;數(shù)據(jù)字典,算法描述

概要設(shè)計任何處理問題?系統(tǒng)流程圖;成本/效益分析層次圖和結(jié)構(gòu)圖詳細設(shè)計怎樣詳細實現(xiàn)HIPO或PDL編碼和單元測試正確程序模塊源程序清單;單元測試方案和結(jié)果測試符合要求軟件綜合測試方案和結(jié)果;完整一致軟件配置運行、維護持久地滿足用戶需要完整準確維護統(tǒng)計09:12:48第13頁CMM(CapabilityMaturityModel):是用于評價軟件機構(gòu)軟件過程能力成熟度模型。是指對過程計劃或定義水平、過程實施水平、過程管理和控制水平、過程改進潛力等指標綜合評價思想:管理軟件過程方法不妥引發(fā)問題,造成新軟件技術(shù)利用并不會自動提升軟件生產(chǎn)率和質(zhì)量。關(guān)鍵:CMM為軟件企業(yè)過程能力提供一個階梯式改進框架,它基于過去全部軟件工程過程改進結(jié)果,吸收以往軟件工程經(jīng)驗教訓,提供一個基于過程改進框架。CMMI

(CapabilityMaturityModelIntegration):即能力成熟度模型集成,是CMM模型最新版本。能力成熟度模型-CMM09:12:48第14頁為企業(yè)發(fā)展要求過程成熟級別,分為5級:初始級(Initial):普通企業(yè)皆含有可重復(fù)級(Repeatable):成功經(jīng)驗?zāi)軌蛑貜?fù)已定義級(Defined):一套完整企業(yè)過程,人員自覺恪守(培訓)已管理級(Managed、已控制):過程&產(chǎn)品可度量和控制優(yōu)化級(Optimizing):過程連續(xù)改進作用:從無序到有序、從特殊到普通、從定性管理到定量管理、最終到達動態(tài)優(yōu)化。能力成熟度模型-CMM09:12:48第15頁瀑布模型提供了軟件開發(fā)基本框架。瀑布模型將軟件生命周期劃分為軟件計劃、需求分析和定義、軟件設(shè)計、軟件實現(xiàn)、軟件測試、軟件運行和維護這6個階段,要求了它們自上而下、相互銜接固定次序,如同瀑布流水逐層下落而得名它是一個軟件開發(fā)架構(gòu),開發(fā)過程是經(jīng)過一系列階段次序展開。每個階段都會產(chǎn)生循環(huán)反饋各個階段產(chǎn)生文檔是維護軟件產(chǎn)品時必不可少,沒有文檔軟件幾乎是不可能維護。瀑布模型特點:次序性和依賴性、推遲實現(xiàn)、質(zhì)量確保觀點、是一個線性模型、強調(diào)文檔作用。瀑布模型09:12:48第16頁階段目標關(guān)鍵問題主要活動階段結(jié)果問題定義發(fā)覺事實,并描述問題是什么?事實→問題:發(fā)覺和研究系統(tǒng)面臨問題《項目提議書》可行性分析明確問題是否值得做?回答是否能夠做?問題→提議:系統(tǒng)初步調(diào)查與分析《可行性分析匯報》項目立項處理項目標立項問題提議→項目:編制初步需求和立項審批表;立項評審《項目立項書》項目計劃處理項目標控制問題項目→計劃:編制項目計劃;評審與修訂項目計劃《項目計劃書》需求分析回答系統(tǒng)做什么?明確系統(tǒng)不能做什么?問題→需求:需求詳細調(diào)查;問題轉(zhuǎn)化與需求描述;需求評審;需求分析《系統(tǒng)分析匯報》總體設(shè)計處理框架性怎樣做問題?需求→軟件架構(gòu):需求轉(zhuǎn)化與設(shè)計;設(shè)計評審與修改;補充調(diào)研《概要設(shè)計匯報》詳細設(shè)計回答詳細細節(jié)怎么做問題軟件架構(gòu)→軟件結(jié)構(gòu):需求分析與研究;設(shè)計評審與修改;補充調(diào)研《詳細設(shè)計匯報》編碼回答詳細做問題軟件結(jié)構(gòu)→程序代碼:編碼、單元測試,硬件安裝與測試,系統(tǒng)集成《源程序清單》測試與公布評價做怎樣代碼→軟件:系統(tǒng)測試;系統(tǒng)安裝與測試;系統(tǒng)公布;系統(tǒng)培訓;系統(tǒng)切換《系統(tǒng)測試匯報》《用戶手冊》運行與維護持久地滿足用戶需要,盡可能延長系統(tǒng)生命力軟件→答案:結(jié)構(gòu)系統(tǒng)之前發(fā)覺問題答案,處理問題《系統(tǒng)運行日志》《項目驗收匯報》《系統(tǒng)總結(jié)匯報》瀑布模型軟件開發(fā)各階段任務(wù)表第17頁面向?qū)ο笫且粋€程序設(shè)計方法,或者說它是一個程序設(shè)計范型?;舅枷胧鞘褂脤ο?,類,繼承,封裝,消息等基本概念來進行程序設(shè)計。面向?qū)ο笠兀撼橄螅簭娬{(diào)實體本質(zhì)、內(nèi)在屬性,忽略一些無關(guān)緊要屬性。類實現(xiàn)了對象數(shù)據(jù)(即狀態(tài))和行為抽象,是對象共性抽象。封裝性:指全部軟件部件內(nèi)部都有明確范圍以及清楚外部邊界。共享性:面向?qū)ο筇卣鳎簩ο笪┮恍裕环诸愋?;繼承性;多態(tài)性(多形性)。面向?qū)ο筮^程模型09:12:48第18頁□自行開發(fā)方式是一個完全依靠用戶本身開發(fā)力量,由用戶單位本身員工組成項目組,依據(jù)用戶單位特點來開發(fā)軟件系統(tǒng)軟件系統(tǒng)開發(fā)方式□聯(lián)合開發(fā)方式是由用戶單位與用戶單位外單位共同組成系統(tǒng)開發(fā)小組,針對企業(yè)詳細情況和要求,共同完成系統(tǒng)開發(fā)任務(wù)□外包開發(fā)方式是一個“交鑰匙”工程開發(fā)方式,即承包方依據(jù)用戶單位提出開發(fā)要求,提出軟件系統(tǒng)大致框架和開發(fā)所需費用等,當雙方簽署協(xié)議后,將系統(tǒng)開發(fā)任務(wù)全部外包給專業(yè)軟件開發(fā)單位?!鹾胁灰粯庸π畔⑾到y(tǒng)作為一個商品越來越多,用戶單位可以象購置其它物品一樣,到市場購置所需要軟件系統(tǒng),這就是采取購置方式自行開發(fā)聯(lián)合開發(fā)外包購置第19頁自行開發(fā)聯(lián)合開發(fā)外包購置系統(tǒng)分析與設(shè)計能力要求非常需要非常需要不太需要不需要編程能力要求非常需要不太需要不太需要不需要系統(tǒng)可維護性輕易輕易比較困難困難程序可維護性輕易相當困難相當困難困難開發(fā)費用用于單位外部小大大小用于單位內(nèi)部大中等小小開發(fā)風險大比較大比較大小幾個開發(fā)方式比較第20頁可行性研究可行性研究任務(wù):用最小代價在盡可能短時間內(nèi)確定問題是否能夠處理。可行性研究目標不是處理問題,而是確定問題是否值得處理。經(jīng)濟可行性、技術(shù)可行性、操作可行性研究系統(tǒng)是否可行可行性研究輸入是系統(tǒng)一個框架描述和高層邏輯模型輸出是一份需求開發(fā)評價匯報,對需求工程和系統(tǒng)開發(fā)是否值得做詳細提議和意見。三個問題:系統(tǒng)是否符合機構(gòu)總體要求?系統(tǒng)是否可在現(xiàn)有技術(shù)條件、預(yù)算和時間限制內(nèi)完成?系統(tǒng)能否把已存在其它系統(tǒng)集成?09:12:48第21頁設(shè)定優(yōu)先級設(shè)定基本標準:時間投入、成本投入和取得效益(包含無形社會性效益)是最主要三個考評指標。設(shè)定優(yōu)先級原因目標系統(tǒng)能降低成本?何時、何地、怎樣降低?花費代價怎么樣目標系統(tǒng)能增加收入?何時、何地、怎樣增加?花費代價怎么樣目標系統(tǒng)能產(chǎn)生更多信息或更多結(jié)果嗎?目標系統(tǒng)能為客戶和企業(yè)自己提供更加好服務(wù)?目標系統(tǒng)能在合理時間內(nèi)完成嗎?目標系統(tǒng)能為企業(yè)提供多長服務(wù)期限?具備必要人力、財力、技術(shù)、管理和資金資源嗎?注意事項系統(tǒng)分析員盡可能采取有形方式評價系統(tǒng)無形成本/效益是影響設(shè)定級別主要原因設(shè)定優(yōu)先級是一個綜合權(quán)衡過程,沒有絕正確、只有相正確。仁者見刃,智者見智可行性研究09:12:48第22頁軟件需求:就是指用戶對自己目標系統(tǒng)在功效、行為、性能和約束等方面期望。在實際操作過程中,軟件需求會跨越多階段,同時含有重復(fù)性。基礎(chǔ)性:需求分析是在可行性研究階段基礎(chǔ)上進行,需要仔細研究可行性階段提出甲乙雙方需求并深入詳細化。主要性:軟件項目中40%~60%問題都是在需求分析階段埋下“禍根”。因為采取一些不合規(guī)范方法,造成開發(fā)者開發(fā)與用戶所想得到軟件存在著巨大期望差異。軟件需求分析基本任務(wù)是準確地回答“做什么?”。需求分析是系統(tǒng)分析與軟件設(shè)計之間主要橋梁。軟件需求09:12:48第23頁功效需求:描述系統(tǒng)預(yù)期提供功效或服務(wù)。對系統(tǒng)應(yīng)提供服務(wù)怎樣對輸入做出反應(yīng)系統(tǒng)在特定條件下行為非功效需求:指那些不直接與系統(tǒng)詳細功效相關(guān)一類需求。通常劃分為:產(chǎn)品需求:產(chǎn)品行為需求。機構(gòu)需求:客戶、開發(fā)者所在機構(gòu)政策和要求需求。外部需求:系統(tǒng)外部原因和開發(fā)過程總和。領(lǐng)域需求:源于系統(tǒng)應(yīng)用領(lǐng)域需求。比如,信用卡安全登陸密碼隱藏需求等。領(lǐng)域需求經(jīng)常影響到系統(tǒng)可用性,是基本應(yīng)用問題?;诠πк浖枨蠓诸愅暾恢聹蚀_要求軟件需求類型09:12:48第24頁業(yè)務(wù)需求反應(yīng)組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品概括性要求,包含所要到達業(yè)務(wù)目標,由項目視圖與范圍文檔說明。用戶需求描述用戶使用系統(tǒng)而要完成各種任務(wù),由用例(usecase)文檔或方案腳本說明。功效需求定義開發(fā)人員必須實現(xiàn)軟件功效,源于用戶需求,是軟件需求說明書中主要組成部分。基于層次軟件需求分類09:12:48第25頁需求分析主要是了解客戶需要什么、做什么,分析要求、評價可行性、協(xié)商合理方案、無歧義地詳細說明方案、確認規(guī)格說明、管理需求,并將這些需求轉(zhuǎn)化為可行系統(tǒng)。需求分析過程包含初步溝通導(dǎo)出需求分析和精化可行性研究協(xié)商與溝通規(guī)格說明需求驗證變更管理需求分析過程09:12:48第26頁確定利益相關(guān)者利益相關(guān)者是指直接或間接從正在開發(fā)系統(tǒng)中獲益人,或者與正開發(fā)系統(tǒng)有利益關(guān)系人,所以也稱關(guān)聯(lián)人員,按照利益大致分為6類:全部者、用戶、系統(tǒng)設(shè)計師、系統(tǒng)結(jié)構(gòu)師、系統(tǒng)分析師、軟硬件供給商和咨詢顧問軟件開發(fā)團體人員組成:作為商品化軟件開發(fā)團體,其人員組成是以上述前5類人員為主;作為非商品化軟件開發(fā)團體,以第2~5種人員為主,此時,用戶經(jīng)常就代表了全部者利益。對于第6類人員,通常不會納入開發(fā)團體。開啟分析過程09:12:48第27頁軟件關(guān)聯(lián)人員關(guān)注點因為利益不一樣,關(guān)聯(lián)人員出發(fā)點和關(guān)注點也就不一樣——全部者:關(guān)注軟件范圍,如用途、目標、任務(wù)、遠景、成本和收益等;用戶:關(guān)注軟件需求,如軟件是干什么,怎么干,效果會怎么樣?系統(tǒng)設(shè)計員:關(guān)注軟件詳細設(shè)計內(nèi)容,怎樣使用信息技術(shù)實現(xiàn)軟件?經(jīng)常,系統(tǒng)設(shè)計人員也是系統(tǒng)結(jié)構(gòu)人員;系統(tǒng)結(jié)構(gòu)員:關(guān)注軟件結(jié)構(gòu),軟件實際技術(shù)實現(xiàn)?怎樣測試軟件?怎樣公布軟件?系統(tǒng)分析員:關(guān)注軟件開發(fā)工作順利進行,溝通團體中技術(shù)人員與非技術(shù)人員,推進團體開發(fā)工作;軟硬件供給商和咨詢顧問:關(guān)注信息技術(shù)選型、價格、技術(shù)要求、交貨時間、售后服務(wù)和系統(tǒng)架構(gòu)等。開啟分析過程09:12:48第28頁識別視點視點:指軟件關(guān)聯(lián)人員從不一樣視角對待該系統(tǒng)。比如,超市POS機收銀員關(guān)心準確、快速生成一次銷售,且沒有支付錯誤;超市售貨員關(guān)注銷售業(yè)績和分成;大學生關(guān)注課程作用、學分、成績和收費等等。問題:軟件關(guān)聯(lián)人員視點、信息都可能存在不一致、甚至矛盾地方,軟件開發(fā)技術(shù)人員工作重點就是識別、分析視點中包括信息類型、需求屬性等。比如,超市POS機系統(tǒng)就需要制訂嚴格操作流程,如款清帳明、人清日結(jié)、高層管理退貨退款等…開啟分析過程09:12:48第29頁實例分析:出卷系統(tǒng)利益相關(guān)者:教師:關(guān)注怎樣出一份合理試卷,并能依據(jù)樣式打印與輸出。學生:關(guān)注怎樣經(jīng)過生成一些模擬試題,并在線學習和檢驗學習結(jié)果。題庫維護人員:關(guān)注試題添加、更新和刪除等工作。視點:教師關(guān)注自動出卷、手工出卷、試卷編輯和試卷輸出。學生關(guān)注隨時抽卷、聯(lián)絡(luò)試卷和評價分析。題庫維護人員關(guān)注試題管理。非形式化需求分析技術(shù)09:12:48第30頁非形式化需求分析技術(shù)圖書館系統(tǒng)共利益者與視點有:圖書流通管理:負責圖書借還工作。用戶:希望快速得到借書,還書服務(wù),能夠續(xù)借、預(yù)約圖書,以及查詢個人和圖書信息。編目管理員:負責圖書管理、用戶管理和處理罰金等。09:12:48第31頁會談?wù)綍劊禾岢鲆恍┛勺杂苫卮饐栴}。非正式會談:提出一些事先準備好議題。情景分析:需求分析從對場景評論中得到信息,然后再將其以形式化方式表示出來。調(diào)查表制訂調(diào)查表分析建立原型界面執(zhí)行過程非形式化需求分析技術(shù)09:12:48第32頁場景分析分析員與項目相關(guān)人員共同識別出情景,并捕捉這些情景細節(jié)。把細節(jié)加入到一個綱要需求描述中時,情景尤其有用。情景是對交互實例片斷描述,每個情景可能包含一個或多個交互,它們能在不一樣細節(jié)層次上提供不一樣類型情景信息。情景開始于一個框架,在導(dǎo)出過程中,細節(jié)被逐步增加,直到產(chǎn)生交互一個完整描述。非形式化需求分析技術(shù)09:12:48第33頁一個情景可能包含以下內(nèi)容:①在情景開始部分有一個系統(tǒng)狀態(tài)描述;②一個關(guān)于標準事件流描述;③一個關(guān)于哪兒會犯錯,以及怎樣處理錯誤描述;④相關(guān)其它可能在同一時間進行活動信息;⑤在情景完成后系統(tǒng)狀態(tài)描述。非形式化需求分析技術(shù)09:12:48第34頁結(jié)構(gòu)化分析(SA,StructuredAnalysis)方法是20世紀70年代,由E.Yourdon等人提倡一個適合用于大型數(shù)據(jù)處理系統(tǒng)、面向數(shù)據(jù)流需求分析方法。結(jié)構(gòu)化分析方法是一個傳統(tǒng)系統(tǒng)建模技術(shù),其過程是創(chuàng)建描述信息內(nèi)容和數(shù)據(jù)流模型,依據(jù)功效和行為對系統(tǒng)進行劃分,并描述必須建立系統(tǒng)要素。結(jié)構(gòu)化分析將系統(tǒng)自頂向下逐層分解,到達表示系統(tǒng)目標,它采取一組過程模型圖形化地描述一個系統(tǒng)邏輯模型。結(jié)構(gòu)化需求分析指導(dǎo)性標準:了解問題、開發(fā)模型、描述需求、建立系統(tǒng)模型、確定需求優(yōu)先級、驗證需求結(jié)構(gòu)化分析方法是一個建模技術(shù)基于計算機系統(tǒng)是數(shù)據(jù)流和一系列轉(zhuǎn)換組成在模型關(guān)鍵是數(shù)據(jù)詞典,它描述了全部在目標系統(tǒng)中使用和生成數(shù)據(jù)對象。圍繞著這個關(guān)鍵有三種圖:ERD、DFD、STD結(jié)構(gòu)化分析概述09:12:48第35頁結(jié)構(gòu)化分析模型分析模型目標是為基于計算機系統(tǒng)提供必須信息、功效和行為域說明。模型是對系統(tǒng)某個方面抽象,拋棄了詳細細節(jié),對系統(tǒng)中最突出特征作簡化。分析模型全部元素都能夠直接映射到設(shè)計模型結(jié)構(gòu)化分析模型組成數(shù)據(jù)建模和對象描述功效建模和數(shù)據(jù)流圖基本加工邏輯說明行為建模(時序圖)數(shù)據(jù)詞典09:12:48第36頁面向數(shù)據(jù)流建模面向數(shù)據(jù)流建模是結(jié)構(gòu)化需求分析方法之一采取自頂向下逐層分解,描繪滿足用戶要求軟件模型(數(shù)據(jù)模型、功效模型、行為模型)表示:數(shù)據(jù)流圖:描述系統(tǒng)處理過程數(shù)據(jù)字典:模型中數(shù)據(jù)信息集合狀態(tài)轉(zhuǎn)換圖:描述系統(tǒng)對內(nèi)部或外部事件響應(yīng)行為模型09:12:48第37頁軟件設(shè)計階段基本目標是結(jié)構(gòu)系統(tǒng)“怎么做”模型描述?!霸O(shè)計先于編碼”是軟件工程“推遲實現(xiàn)”基本標準。軟件系統(tǒng)設(shè)計是把軟件需求“變換”為用于結(jié)構(gòu)軟件藍圖。“輸入”是需求分析各種模型元素“輸出”是軟件設(shè)計模型和表示軟件設(shè)計目標是對將要實現(xiàn)軟件系統(tǒng)體系結(jié)構(gòu)、系統(tǒng)數(shù)據(jù)、系統(tǒng)模塊間接口,以及所采取算法給出詳盡描述。軟件設(shè)計概述09:12:48第38頁軟件設(shè)計概念總體設(shè)計,或稱概要設(shè)計,或軟件結(jié)構(gòu)設(shè)計,或高層設(shè)計分析需求規(guī)格說明模塊劃分,形成含有預(yù)定功效模塊組成結(jié)構(gòu)表示出模塊間控制關(guān)系給出模塊之間接口軟件詳細設(shè)計,也稱(模塊)

過程設(shè)計,或低層設(shè)計。設(shè)計模塊細節(jié)確定模塊所需算法和數(shù)據(jù)結(jié)構(gòu)等編寫全部代碼設(shè)計測試和復(fù)審09:12:48第39頁軟件結(jié)構(gòu)設(shè)計過程

含系統(tǒng)設(shè)計和結(jié)構(gòu)設(shè)計。系統(tǒng)設(shè)計確定系統(tǒng)詳細實現(xiàn)對象,結(jié)構(gòu)設(shè)計確定軟件體系結(jié)構(gòu)。軟件結(jié)構(gòu)設(shè)計步驟:設(shè)計供選擇方案選取合理方案推薦最正確方案功效分解和設(shè)計軟件結(jié)構(gòu)數(shù)據(jù)庫設(shè)計制訂軟件設(shè)計測試計劃編制設(shè)計文檔審查和復(fù)審軟件設(shè)計過程09:12:48第40頁軟件模塊化設(shè)計模塊是一個獨立命名,擁有明確定義輸入、輸出和特征程序?qū)嶓w。把一個大型軟件系統(tǒng)全部功效,按照一定標準合理地劃分為若干個模塊,每個模塊完成一個特定子功效,全部這些模塊以某種結(jié)構(gòu)形式組成一個整體,這就是軟件模塊化設(shè)計(ModularDesign)。軟件模塊化設(shè)計能夠簡化軟件設(shè)計和實現(xiàn),提升軟件可了解性和可測試性,并使軟件更輕易得到維護。分解、抽象、逐步求精、信息隱蔽和模塊獨立性,是軟件模塊化設(shè)計指導(dǎo)思想。09:12:48第41頁軟件系統(tǒng)模塊化是指整個軟件被劃分成若干單獨命名和獨立訪問部分,稱之為模塊。每個模塊完成一個子功效,把全部模塊集成起來組成一個整體,能夠完成指定功效,滿足用戶需求。把問題/子問題分解與軟件開發(fā)中系統(tǒng)/子系統(tǒng)或系統(tǒng)/模塊對應(yīng)起來,就能夠把一個大而復(fù)雜軟件系統(tǒng)劃分成易于了解比較單純模塊結(jié)構(gòu)。模塊化能夠使一個復(fù)雜大型程序能被人智力限制所管理,是軟件應(yīng)該具備最主要屬性。實際上,每個程序都對應(yīng)地有一個最適當模塊數(shù)目,可使軟件系統(tǒng)開發(fā)成本最小。模塊劃分目標:①進行功效分解,把復(fù)雜大功效劃分成簡單小子功效,盡可能降低每個模塊成本。②盡可能使每個模塊間接口不能太多,太多會使接口成本增加。兼顧二者可取得最正確劃分狀態(tài),確保軟件總成本最低。軟件模塊化09:12:48第42頁模塊獨立性模塊獨立性(ModuleIndependence)是模塊化、抽象、信息隱蔽等概念直接結(jié)果,也是判斷模塊化結(jié)構(gòu)是否合理標準。模塊獨立性是指開發(fā)含有獨立功效而和其它模塊沒有過多關(guān)聯(lián)模塊。模塊獨立性兩大優(yōu)點:獨立模塊因為分解了功效,簡化了接口,使得軟件比較輕易開發(fā);獨立模塊比較輕易測試和維護。模塊獨立性由兩個定性標準度量:耦合是模塊之間相互連接緊密程度度量內(nèi)聚是模塊功效強度(一個模塊內(nèi)部各個元素彼此結(jié)合緊密程度)度量。模塊獨立性愈高,則塊內(nèi)聯(lián)絡(luò)越強,塊間聯(lián)絡(luò)越弱。09:12:48第43頁概要設(shè)計概要設(shè)計也稱總體設(shè)計,確定軟件結(jié)構(gòu)以及各組成成份(子系統(tǒng)或模塊)之間相互關(guān)系。概要設(shè)計主要任務(wù)是:將系統(tǒng)劃分成模塊;決定每個模塊功效;決定模塊調(diào)用關(guān)系;決定模塊界面,即模塊間傳遞數(shù)據(jù)。概要設(shè)計實現(xiàn)方式:經(jīng)過數(shù)據(jù)流圖來確定系統(tǒng)結(jié)構(gòu)圖,而且對這些結(jié)構(gòu)圖進行分析和細化。在概要設(shè)計階段,結(jié)構(gòu)化設(shè)計主要采取面向數(shù)據(jù)流設(shè)計方法。09:12:48第44頁詳細設(shè)計詳細設(shè)計就是在概要設(shè)計基礎(chǔ)上決定怎樣詳細實現(xiàn)各模塊內(nèi)部細節(jié),直到對系統(tǒng)中每個模塊給出足夠詳細過程描述。在編碼實現(xiàn)階段能夠完全按照詳細設(shè)計細節(jié)過程來映射到代碼,最終實現(xiàn)整個系統(tǒng)。普通使用結(jié)構(gòu)化程序設(shè)計工具來描述09:12:48第45頁細設(shè)計基本任務(wù)為每個模塊進行詳細算法設(shè)計為模塊內(nèi)數(shù)據(jù)結(jié)構(gòu)進行設(shè)計為數(shù)據(jù)結(jié)構(gòu)進行物理設(shè)計,即確定數(shù)據(jù)庫物理結(jié)構(gòu)其它設(shè)計:依據(jù)軟件系統(tǒng)類型,還可能要進行以下設(shè)計:代碼設(shè)計輸入/輸出格式設(shè)計人機對話設(shè)計編寫詳細設(shè)計文檔評審09:12:48第46頁面向?qū)ο蟾拍蠲嫦驅(qū)ο笫且粋€程序設(shè)計方法,或者說它是一個程序設(shè)計范型,其基本思想是使用對象、類、繼承、封裝、消息等基本概念來進行程序設(shè)計。面向?qū)ο蠓椒▽W面向?qū)ο蠓治觯∣OA,Object-OrientedAnalysis)是一個半形式化規(guī)格說明技術(shù)。面向?qū)ο笤O(shè)計(OOD)面向?qū)ο髮崿F(xiàn)(OOP)面向?qū)ο鬁y試(OOT)09:12:48第47頁面向?qū)ο蟾拍蠲嫦驅(qū)ο筇卣鞒橄笮裕簭娬{(diào)實體本質(zhì)、內(nèi)在屬性,忽略一些無關(guān)緊要屬性。類實現(xiàn)了對象數(shù)據(jù)(即狀態(tài))和行為抽象,是對象共性抽象。封裝性:指全部軟件部件內(nèi)部都有明確范圍以及清楚外部邊界。每個軟件部件都有友好界面接口,軟件部件內(nèi)部實現(xiàn)與外部可訪問性分離。共享性:面向?qū)ο蠹夹g(shù)在不一樣級別上促進了共享。面向?qū)ο蠓治?OOA,Object-OrientedAnalysis)是一個半形式化規(guī)格說明技術(shù)。OOA是當前軟件開發(fā)主流方法,是軟件工程人才必須具備基礎(chǔ)知識和必備能力。在進行系統(tǒng)業(yè)務(wù)調(diào)查后,按面向?qū)ο笏枷敕治鰡栴}。09:12:48第48頁OOA與SA區(qū)分:OOA強調(diào)在系統(tǒng)調(diào)查資料基礎(chǔ)上,針對OO方法所需要素材進行歸類分析和整理,而SA強調(diào)對管理業(yè)務(wù)現(xiàn)實狀況和方法分析。當前最流行OOA技術(shù):OMT(ObjectModelingTechnology,對象建模技術(shù)):它從對象模型、動態(tài)模型和功效模型三個方面對系統(tǒng)進行建模,每個模型從一個側(cè)面反應(yīng)系統(tǒng)特征。

Booch開發(fā)技術(shù):Booch方法所采取對象模型要素是:封裝、模塊化、層次類型、并發(fā)。主要概念模型是類和對象、類和對象特征、類和對象之間關(guān)系。使用圖形文檔包含六種:類圖、對象圖、狀態(tài)轉(zhuǎn)換圖、交互圖、模塊圖和進程圖。UML之前比較普及一個面向?qū)ο筌浖O(shè)計方法。面向?qū)ο蟾拍?9:12:48第49頁面向?qū)ο竽P兔嫦驅(qū)ο竽P腿N主流形式——按照產(chǎn)生次序排對象模型:定義“做什么”實體。它可表示系統(tǒng)數(shù)據(jù)或?qū)?shù)據(jù)處理,它是數(shù)據(jù)流和語義數(shù)據(jù)模型結(jié)合。動態(tài)模型:要求在何種狀態(tài)下,接收什么事件觸發(fā)而“做什么”。它表示瞬間、行為化系統(tǒng)“控制”性質(zhì),并要求了對象模型中對象正當改變序列。功效模型:指明系統(tǒng)應(yīng)該“做什么”。它直接反應(yīng)用戶對目標系統(tǒng)需求。09:12:48第50頁對象模型對象模型表示靜態(tài)、結(jié)構(gòu)化系統(tǒng)“數(shù)據(jù)”性質(zhì)。描述是系統(tǒng)一個靜態(tài)結(jié)構(gòu),是對模擬客觀世界實體對象,以及對象彼此間關(guān)系映射。對象模型基本組成形式=類(包含其屬性和行為)+對象(類實例)+類或?qū)ο笾g關(guān)系。類名是一類對象抽象命名,其命名是否恰當對系統(tǒng)可了解性影響相當大。對象模型還必須表示類/對象之間結(jié)構(gòu)關(guān)系。類/對象之間關(guān)系普通可概括為關(guān)聯(lián)、歸納/繼承(泛化)、組合(聚集)三類。09:12:48第51頁動態(tài)模型動態(tài)模型表示瞬間、行為化系統(tǒng)“控制”性質(zhì),它要求了對象模型中對象正當改變序列。也能夠說,動態(tài)模型是基于共享而相互聯(lián)絡(luò)一組狀態(tài)集合。對象運行周期中階段就是對象狀態(tài),對象狀態(tài)是對對象屬性一個抽象。對象之間相互觸發(fā)/作用行為(稱為事件),引發(fā)一系列狀態(tài)改變。事件是引發(fā)對象狀態(tài)轉(zhuǎn)換控制信息。事件沒有連續(xù)時間,是瞬間完成。對象對事件響應(yīng),取決于接收該觸發(fā)對象當初所處狀態(tài),其響應(yīng)包含改變自己狀態(tài),或者是形成一個新觸發(fā)行為(事件)。動態(tài)模型描繪了對象狀態(tài),觸發(fā)狀態(tài)轉(zhuǎn)換事件,以及對象行為(對事件響應(yīng))。09:12:48第52頁統(tǒng)一建模語言UML統(tǒng)一建模語言(UML,UnifiedModelingLanguage)是一個基于面向?qū)ο罂梢暬UZ言。UML用豐富圖形符號隱含表示了模型元素語法,而用這些圖形符號組成元模型表示語義,組成模型描述系統(tǒng)結(jié)構(gòu)(或稱為靜態(tài)特征)以及行為(或稱為動態(tài)特征)。UML模型元素:一類模型元素用于表示模型中某個概念,如類、對象、用例、結(jié)點、構(gòu)件、包、接口等;另一類模型元素用于表示模型元素之間相互連接關(guān)系,主要相關(guān)聯(lián)、泛化(表示普通與特殊關(guān)系)、依賴、聚集(表示整體與部分關(guān)系)等。09:12:48第53頁UML能夠從不一樣視角為系統(tǒng)建模,形成不一樣視圖。視圖是系統(tǒng)完整描述中一個抽象,代表該系統(tǒng)一個特定方面。每個視圖由一組圖組成,圖包含強調(diào)系統(tǒng)某首先信息五類視圖——用例視圖用于描述系統(tǒng)應(yīng)該含有功效集,強調(diào)從用戶角度看到或需要系統(tǒng)功效,是對系統(tǒng)抽象表示。邏輯視圖用來展現(xiàn)系統(tǒng)靜態(tài)或結(jié)構(gòu)組件及特征。顯示系統(tǒng)內(nèi)部功效是怎樣設(shè)計,利用系統(tǒng)靜態(tài)結(jié)構(gòu)和動態(tài)行為來刻劃系統(tǒng)功效。并發(fā)視圖表達系統(tǒng)動態(tài)或行為特征。顯示系統(tǒng)并發(fā)工作情況。組件視圖用來顯示代碼組件組織方式,描述了實現(xiàn)模塊和它們之間依賴關(guān)系,表達了系統(tǒng)實現(xiàn)結(jié)構(gòu)和行為特征展開視圖用來顯示系統(tǒng)物理架構(gòu),即系統(tǒng)物理展開,表達了系統(tǒng)實現(xiàn)環(huán)境結(jié)構(gòu)和行為特征。UML視圖與圖09:12:48第54頁面向?qū)ο蠓治鲞^程面向?qū)ο蠓治鲭A段主要任務(wù)是獲取用戶需求,并構(gòu)建系統(tǒng)初步邏輯模型。用例建模:獲取用戶需求,構(gòu)建用例模型。識別外部用戶場景分析構(gòu)建活動圖構(gòu)建用例圖領(lǐng)域建模:目標是建立系統(tǒng)概念模型。抽取領(lǐng)域?qū)ο髽?gòu)建領(lǐng)域模型構(gòu)建初步交互模型09:12:48第55頁面向?qū)ο蠓治鲞^程面向?qū)ο笤O(shè)計過程主要是對分析階段建立對象模型或類模型和交互模型進行精化過程。精化類模型和對象模型交互行為建模設(shè)計類精化構(gòu)建邏輯架構(gòu)09:12:48第56頁用例驅(qū)動分析過程用例建模分析開發(fā)活動圖開發(fā)泳道圖用例著眼于為用戶增加價值,提供了一個捕捉功效需求系統(tǒng)且直觀方法,可驅(qū)動整個開發(fā)過程。用例從某個特定參加者角度用簡單易懂語言說明一個特定使用場景。要開始開發(fā)用例,應(yīng)列出特定參加者執(zhí)行功效或者活動。用例模型幫助客戶、用戶和開發(fā)人員在怎樣使用系統(tǒng)方面達成共識。用例圖描述部分用例模型,顯示帶有聯(lián)絡(luò)用例和參加者集合用例驅(qū)動分析09:12:48第57頁領(lǐng)域與業(yè)務(wù)建模領(lǐng)域模型能捕捉語境中最主要對象模型,領(lǐng)域?qū)ο蟠硐到y(tǒng)工作環(huán)境中存在事情或發(fā)生事件。領(lǐng)域有三種經(jīng)典形式:業(yè)務(wù)對象,表示業(yè)務(wù)中可操作東西。比如訂單、帳單、帳戶和協(xié)議等。系統(tǒng)需要處理現(xiàn)實世界中對象和概念。如導(dǎo)彈、輪船、學籍、ATM、POS等。將要發(fā)生或已經(jīng)發(fā)生事件。比如飛機起飛、午餐、休息、學籍籍點、取款、制造計劃等。領(lǐng)域建模目標是了解和描述在領(lǐng)域語境中最主要類。09:12:48第58頁分析類分析類側(cè)重于處理功效性需求,經(jīng)過較高、非形式化層次職責類定義某行為分析類三種基本結(jié)構(gòu)型:邊界類:邊界類用于建立系統(tǒng)與其參加者之間交互模型,經(jīng)常代表對窗口、窗體、窗幕、通信接口、打印機接口、傳感器、終端以及API等抽象。每個邊界類最少應(yīng)該與一個參加者相關(guān),反之亦然。控制類:控制類代表協(xié)調(diào)、排序、事務(wù)處理以及其它對象控制,經(jīng)慣用于封裝與某個詳細用例相關(guān)控制??刂祁愡€能夠用來表示復(fù)雜派生與演算,如業(yè)務(wù)邏輯。實體類:實體類用于對長期有效持久信息建模。大多數(shù)情況下,實體類是直接從業(yè)務(wù)對象模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論