軟件工程原理、方法與應(yīng)用_第1頁(yè)
軟件工程原理、方法與應(yīng)用_第2頁(yè)
軟件工程原理、方法與應(yīng)用_第3頁(yè)
軟件工程原理、方法與應(yīng)用_第4頁(yè)
軟件工程原理、方法與應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩133頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程原理、方法與應(yīng)用軟件工程-原理、方法與應(yīng)用課程安排n理論n內(nèi)容:基本原理、方法和技術(shù)n形式:講授、自學(xué)、討論n實(shí)踐n內(nèi)容:構(gòu)造一個(gè)應(yīng)用系統(tǒng)(包括分析、設(shè)計(jì)、編碼、測(cè)試)n形式:分組、分階段文檔、編碼、集成軟件工程的主要內(nèi)容n軟件工程的基本概念n軟件開(kāi)發(fā)模型n軟件開(kāi)發(fā)各階段的任務(wù)、技術(shù)、方法n傳統(tǒng)方法、面向?qū)ο蠓椒╪軟件工程管理n軟件質(zhì)量保證n軟件工程環(huán)境第一章 緒論n軟件與軟件危機(jī)n軟件工程學(xué)n傳統(tǒng)軟件工程和面向?qū)ο筌浖こ蘮軟件工程的應(yīng)用軟件n程序、軟件與軟件產(chǎn)品獨(dú)唱-小合唱-合唱-萬(wàn)人大合唱 | | |簡(jiǎn)單程序 較復(fù)雜程序 軟件n軟件定義: 軟件=程序+數(shù)據(jù)+文檔程序:按事先設(shè)計(jì)的

2、功能和性能需求執(zhí)行的指令序列數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔:與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料 軟件的特征n軟件是邏輯的,而不是物理的n軟件開(kāi)發(fā)與人關(guān)系密切n軟件開(kāi)發(fā)成本大n軟件生產(chǎn)是簡(jiǎn)單的拷貝n軟件不會(huì)磨損和老化n軟件受環(huán)境影響大n軟件維護(hù)易產(chǎn)生新的問(wèn)題軟件開(kāi)發(fā)的發(fā)展過(guò)程計(jì)算機(jī)應(yīng)用發(fā)展軟件數(shù)量多規(guī)模大軟件成本高質(zhì)量低個(gè)體化軟件開(kāi)發(fā)方法軟件維護(hù)困難軟件危機(jī)軟件工程軟件危機(jī)n定義計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程所遇到的一系列嚴(yán)重問(wèn)題 n表現(xiàn)n對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估算很不準(zhǔn)確n用戶很不滿意n質(zhì)量很不可靠n沒(méi)有適當(dāng)?shù)奈臋nn軟件成本比重上升n供不應(yīng)求:軟件開(kāi)發(fā)生產(chǎn)率跟不上計(jì)算機(jī)應(yīng)用迅速深入的趨

3、勢(shì) 硬件/軟件成本變化趨勢(shì)硬件軟件100% 0%19551970202X軟件技術(shù)進(jìn)步落后于需求增長(zhǎng)軟件危機(jī)n原因n客觀:軟件本身特點(diǎn)n邏輯部件n規(guī)模龐大n主觀:不正確的開(kāi)發(fā)方法n忽視需求分析n錯(cuò)誤認(rèn)為:軟件開(kāi)發(fā)=程序編寫(xiě)n輕視軟件維護(hù)軟件危機(jī)n解決途徑n組織管理n工程項(xiàng)目管理方法n技術(shù)措施n軟件開(kāi)發(fā)技術(shù)與方法n軟件工具軟件工程學(xué)的范疇n軟件工程學(xué)n指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科 n工程管理+開(kāi)發(fā)技術(shù)n軟件開(kāi)發(fā)技術(shù)n軟件開(kāi)發(fā)方法學(xué)n軟件工具n軟件工程環(huán)境n軟件工程管理n軟件管理學(xué)n軟件經(jīng)濟(jì)學(xué)n軟件度量學(xué)兩種程序設(shè)計(jì)方法n程序設(shè)計(jì)的兩次飛躍n結(jié)構(gòu)化程序設(shè)計(jì)n程序=數(shù)據(jù)結(jié)構(gòu)+算法n面向?qū)ο蟪绦蛟O(shè)

4、計(jì)n程序 = 對(duì)象 + 消息 面向過(guò)程和面向?qū)ο蟮木幋a存款取款利 息 結(jié)算帳 戶 余額帳戶余額利息結(jié)算存 款取 款兩類軟件工程方法n傳統(tǒng)軟件工程n軟件分析 總體設(shè)計(jì) 詳細(xì)設(shè)計(jì) 面向過(guò)程的編碼 測(cè)試 n面向?qū)ο筌浖こ蘮軟件分析與對(duì)象抽取 對(duì)象詳細(xì)設(shè)計(jì) 面向?qū)ο蟮木幋a 測(cè)試 軟件工程的應(yīng)用n軟件工程指導(dǎo)中小型軟件n軟件工程指導(dǎo)大型軟件n軟件工程的成就n軟件工程的局限第二章 軟件開(kāi)發(fā)模型n傳統(tǒng)開(kāi)發(fā)模型n瀑布模型(waterfall model)n快速原型模型(rapid prototype model)n演化開(kāi)發(fā)模型n增量模型(incremental model)n螺旋模型(spiral mode

5、l)n面向?qū)ο箝_(kāi)發(fā)模型n構(gòu)件集成模型(component integration model) n形式化開(kāi)發(fā)模型n轉(zhuǎn)換模型(transformational model)n凈室模型(cleanroommodel)軟件生存周期n計(jì)劃時(shí)期n問(wèn)題定義n可行性分析n開(kāi)發(fā)時(shí)期n需求分析n軟件設(shè)計(jì)n編碼n測(cè)試n運(yùn)行時(shí)期n軟件維護(hù)瀑布模型問(wèn)題定義可行性研究需求分析軟件設(shè)計(jì)編碼測(cè)試維護(hù)計(jì)劃時(shí)期開(kāi)發(fā)時(shí)期運(yùn)行時(shí)期瀑布模型n特點(diǎn)n階段的順序性和依賴性n推遲實(shí)現(xiàn)的觀點(diǎn)n質(zhì)量保證n存在問(wèn)題n不適合需求模糊的系統(tǒng)快速原型模型需求分析原型開(kāi)發(fā)最終系統(tǒng)設(shè)計(jì)原型評(píng)價(jià)最終系統(tǒng)實(shí)現(xiàn)用戶反饋快速原型模型n特點(diǎn)n快速開(kāi)發(fā)工具n循環(huán)n低

6、成本n種類n漸進(jìn)型n拋棄型增量模型規(guī)格說(shuō)明設(shè)計(jì)實(shí)現(xiàn)和集成交付客戶規(guī)格說(shuō)明設(shè)計(jì)實(shí)現(xiàn)和集成交付客戶規(guī)格說(shuō)明設(shè)計(jì)實(shí)現(xiàn)和集成交付客戶規(guī)格說(shuō)明設(shè)計(jì)實(shí)現(xiàn)和集成交付客戶增量1增量2增量3增量n增量模型n增量n小而可用的軟件n特點(diǎn)n在前面增量的基礎(chǔ)上開(kāi)發(fā)后面的增量n每個(gè)增量的開(kāi)發(fā)可用瀑布或快速原型模型n迭代的思路螺旋模型螺旋模型n特點(diǎn)n瀑布模型+快速原型+風(fēng)險(xiǎn)分析n迭代過(guò)程n一個(gè)螺旋式周期 n確定目標(biāo),選擇方案,選定完成目標(biāo)的策略 n風(fēng)險(xiǎn)角度分析該策略 n啟動(dòng)一個(gè)開(kāi)發(fā)階段 n評(píng)價(jià)前一步的結(jié)果,計(jì)劃下一輪的工作 構(gòu)件集成模型構(gòu)件集成模型n特點(diǎn)n面向?qū)ο髇基于構(gòu)件庫(kù)n融合螺旋模型特征n支持軟件開(kāi)發(fā)的迭代方法 n軟

7、件重用面向?qū)ο蟮幕靖拍頽對(duì)象Objectn類Classn繼承Inheritancen消息Message n面向?qū)ο髇對(duì)象+類+繼承+消息通信對(duì)象Objectn客觀世界中的實(shí)體n狀態(tài)(靜態(tài)屬性 Attributes)n操作(動(dòng)態(tài)行為 Methods)n對(duì)象:=nIdentifiernMethod SetnData StructurenMessage Interface對(duì)象的特點(diǎn)n以數(shù)據(jù)為中心n對(duì)象是主動(dòng)的n實(shí)現(xiàn)數(shù)據(jù)封裝n本質(zhì)上有并行性n模塊獨(dú)立性好類Class和實(shí)例Instancen類n相同屬性和行為的對(duì)象的抽象n實(shí)例n特定類所描述的一個(gè)具體對(duì)象n子類直接繼承父類的數(shù)據(jù)和操作n繼承的傳遞性,單

8、繼承、多重繼承繼承(Inheritance)家具桌子椅子衣柜床椅子的實(shí)例多態(tài)性Polymorphismn概念n不同類層次共享一個(gè)方法名n相同的參數(shù)特征和返回值類型n多種不同實(shí)現(xiàn)nC+中虛函數(shù)實(shí)現(xiàn)n動(dòng)態(tài)聯(lián)編重載Overloadingn函數(shù)重載n同一作用域n多個(gè)名字相同的函數(shù)n參數(shù)特征不同n靜態(tài)聯(lián)編n運(yùn)算符重載消息Messagen對(duì)象間的交互手段n形式:nMessage:dest,op,paranDestination ObjectnOperationnParameters轉(zhuǎn)換模型形式化規(guī)格說(shuō)明與需求比較后修正變換2變換1變換n測(cè)試形式化開(kāi)發(fā)記錄系統(tǒng)需求目標(biāo)系統(tǒng)轉(zhuǎn)換模型n特點(diǎn)n形式化軟件開(kāi)發(fā)方法

9、n形式化需求規(guī)格說(shuō)明 n變換技術(shù)n程序自動(dòng)生成技術(shù) n確保正確凈室模型需求收集盒結(jié)構(gòu)規(guī)約形式化設(shè)計(jì)統(tǒng)計(jì)性使用測(cè)試正確性證明代碼生成與檢查測(cè)試計(jì)劃認(rèn)證需求收集盒結(jié)構(gòu)規(guī)約形式化設(shè)計(jì)統(tǒng)計(jì)性使用測(cè)試正確性證明代碼生成與檢查測(cè)試計(jì)劃認(rèn)證需求收集盒結(jié)構(gòu)規(guī)約形式化設(shè)計(jì)統(tǒng)計(jì)性使用測(cè)試正確性證明代碼生成與檢查測(cè)試計(jì)劃認(rèn)證增量1增量2增量n凈室模型n凈室思想n在分析和設(shè)計(jì)階段消除錯(cuò)誤n在“潔凈”狀態(tài)下實(shí)現(xiàn)軟件制作n形式化n盒結(jié)構(gòu)表示分析和設(shè)計(jì)n正確性驗(yàn)證n增量模型小結(jié)n軟件開(kāi)發(fā)模型是不斷發(fā)展的n各種軟件開(kāi)發(fā)模型各有優(yōu)缺點(diǎn)n選用時(shí)不必拘泥與某種模型n可組合多種模型n也可根據(jù)實(shí)際創(chuàng)建新的模型第三章 軟件需求分析n需求

10、分析的任務(wù)與步驟 n需求獲取的常用方法 n分析建模 n軟件需求說(shuō)明 n結(jié)構(gòu)化分析方法n面向?qū)ο蠓治龇椒ㄐ枨蠓治龅娜蝿?wù)和步驟n需求分析的任務(wù)n建立分析模型 n編寫(xiě)需求說(shuō)明 n需求分析的步驟n需求獲取 n需求提煉 n需求描述 n需求驗(yàn)證 需求獲取的常用方法n聯(lián)合分析小組 n用戶代表、領(lǐng)域?qū)<液拖到y(tǒng)分析員n客戶訪談 n充分準(zhǔn)備,尋找共同語(yǔ)言 n循循序漸進(jìn)、逐步逼近 n問(wèn)題分析與確認(rèn) n多個(gè)來(lái)回分析建模n結(jié)構(gòu)化分析模型n面向?qū)ο蠓治瞿P蚽分析模型描述工具nDFD、DD和PSPEC nCFD、CSPEC和STD nE-R圖 n用例圖,對(duì)象-關(guān)系圖,對(duì)象-行為圖 結(jié)構(gòu)化分析模型加工說(shuō)明數(shù)據(jù)對(duì)象說(shuō)明CFD,

11、STD圖DFD圖E-R圖DD控制說(shuō)明面向?qū)ο蠓治瞿P蛯傩?、操作、協(xié)作者對(duì)象-行為模型對(duì)象-關(guān)系模型類/對(duì)象模型使用實(shí)例分析模型描述工具n結(jié)構(gòu)化分析工具nDFD、DD和PSPEC nCFD、CSPEC和STD nE-R圖 n面向?qū)ο蠓治龉ぞ遪用例圖,類對(duì)象圖n對(duì)象-關(guān)系圖n對(duì)象-行為圖數(shù)據(jù)流圖DFDn描述系統(tǒng)邏輯模型n信息在系統(tǒng)中的流動(dòng)和處理n用途n交流信息的工具n結(jié)構(gòu)化分析和設(shè)計(jì)的工具 數(shù)據(jù)流圖DFDn組成符號(hào)n圓框代表加工n箭頭代表數(shù)據(jù)流向n方框代表源點(diǎn)和終點(diǎn)n雙杠表示數(shù)據(jù)文件或數(shù)據(jù)庫(kù)n分層n從高層到低層n分解前后的數(shù)據(jù)流必須一致n命名n數(shù)據(jù)流n處理領(lǐng)書(shū)單 進(jìn)書(shū)通知 購(gòu)書(shū)單 缺書(shū)單 DFD練

12、習(xí)售書(shū)系統(tǒng)學(xué)生教材購(gòu)銷系統(tǒng)書(shū) 庫(kù)保 管員領(lǐng)書(shū)單 進(jìn)書(shū)通知 進(jìn)書(shū)通知 購(gòu)書(shū)單缺書(shū)單 DFD練習(xí)售書(shū)系統(tǒng) 1銷售 2采購(gòu)書(shū)庫(kù)保 管員學(xué)生F1教材存量表 F2缺書(shū)登記表 數(shù)據(jù)字典DDnDFD中所有元素的定義的集合n內(nèi)容n數(shù)據(jù)流n數(shù)據(jù)流分量n數(shù)據(jù)存儲(chǔ)n處理(一般不用DD描述)數(shù)據(jù)字典DDn定義數(shù)據(jù)的方法n自頂向下分解數(shù)據(jù)n數(shù)據(jù)元素的組合方式n順序:A+Bn選擇:A|Bn重復(fù):1A5n可選: (A)數(shù)據(jù)字典DDnDD的用途n分析階段的交流工具n包含控制信息n數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)n例子nP41加工說(shuō)明n加工說(shuō)明PSPECn說(shuō)明DFD中的每個(gè)加工n描述工具n結(jié)構(gòu)化語(yǔ)言n判定表n判定樹(shù)加工說(shuō)明例子n結(jié)構(gòu)化語(yǔ)言nP

13、42-43, n判定樹(shù)nP44, n判定表nP44, CFD和CSPECn適合實(shí)時(shí)系統(tǒng)的分析n與DFD和PSPEC類似n和DFD與PSPEC配合使用n表示控制流和控制加工CFD和DFD的關(guān)系 數(shù)據(jù)條件控制輸入加工激活信號(hào)控制輸出輸入數(shù)據(jù)加工模型PSPEC控制模型CSPEC輸出數(shù)據(jù) 控制輸入CFD的符號(hào)表示控制信息或事件引用控制說(shuō)明DFD和CFD例子-DFD信號(hào)半分鐘數(shù)據(jù)光電管采集計(jì)數(shù)傳送工控機(jī)處理實(shí)時(shí)數(shù)據(jù)顯示班數(shù)據(jù)處理半小時(shí)數(shù)據(jù)班數(shù)據(jù)DFD和CFD例子-CFD翻屏人工驅(qū)動(dòng)信息時(shí)鐘半小時(shí)半分鐘某型號(hào)累加物品經(jīng)過(guò)信號(hào)半分鐘數(shù)據(jù)光電管采集計(jì)數(shù)傳送工控機(jī)處理實(shí)時(shí)數(shù)據(jù)顯示班數(shù)據(jù)處理半小時(shí)數(shù)據(jù)班數(shù)據(jù)STD

14、n描述軟件狀態(tài)變遷n符號(hào)表示n矩形-系統(tǒng)狀態(tài)n箭頭-狀態(tài)轉(zhuǎn)變方向n規(guī)則表達(dá)式-事件/觸發(fā)行為狀 態(tài)1狀 態(tài)2事件/觸發(fā)行為STD例子20秒到/翻屏生成最新數(shù)據(jù)/翻屏半小時(shí)到/工控處理半分鐘到/傳送空閑/采集物品經(jīng)過(guò)/計(jì)數(shù)采集PLC計(jì)數(shù)傳送工控處理實(shí)時(shí)翻屏E-R圖n用于對(duì)復(fù)雜數(shù)據(jù)的用作數(shù)據(jù)分析和建模n實(shí)體、屬性和關(guān)系n組成符號(hào)0:11:10:m1:mE-R圖例子電話機(jī)生產(chǎn)廠商經(jīng)銷商用戶生產(chǎn)購(gòu)買(mǎi)使用經(jīng)銷用例圖n用例:系統(tǒng)和外部角色的交互n符號(hào)表示: 系統(tǒng)名稱系統(tǒng)用例名用例角色關(guān)聯(lián)Use Case圖例子保險(xiǎn)商務(wù)系統(tǒng)簽定保險(xiǎn)單銷售統(tǒng)計(jì)客戶統(tǒng)計(jì)客戶保險(xiǎn)銷售員用例之間的關(guān)系n擴(kuò)展關(guān)系n使用關(guān)系n組合關(guān)系擴(kuò)

15、展簽保險(xiǎn)單簽汽車購(gòu)買(mǎi)契約使用使用簽保險(xiǎn)單簽汽車保險(xiǎn)單簽房屋保險(xiǎn)單對(duì)象-關(guān)系圖n從E-R圖演變而來(lái)n描述對(duì)象間關(guān)系學(xué)生書(shū)出版商購(gòu)買(mǎi)來(lái)自 1:1 0:m 1:1 1:1 對(duì)象-行為圖n描述對(duì)象的動(dòng)態(tài)行為n對(duì)象狀態(tài)轉(zhuǎn)換圖n事件軌跡圖n事件流圖對(duì)象狀態(tài)轉(zhuǎn)換圖例子加紙紙用完故障修復(fù)打印故障打印完成接到打印命令就緒打印缺紙故障事件軌跡圖例子打印機(jī)忙保存文件打印機(jī)就緒打印文件打印文件打印文件計(jì)算機(jī)打印服務(wù)器打印隊(duì)列打印機(jī)事件流圖例子打印機(jī)忙保存文件打印機(jī)就緒打印文件打印文件計(jì)算機(jī)打印隊(duì)列打印服務(wù)器打印機(jī)軟件需求說(shuō)明(SRS)n引言n信息描述n功能描述n行為描述n質(zhì)量保證n接口描述n其它結(jié)構(gòu)化分析方法n基本步

16、驟n自頂向下,功能分解n分層DFDn由后向前,定義數(shù)據(jù)和加工nDD, PSPECn根據(jù)需要,分析復(fù)雜數(shù)據(jù)和動(dòng)態(tài)模型nE-R圖,CFD,CSPEC,STDn編寫(xiě)SRSDFD的復(fù)審n父圖和子圖不平衡n未區(qū)分局部文件和局部外部項(xiàng)n分解的速度太快n不遵守加工編號(hào)規(guī)則面向?qū)ο蠓治龇椒╪基本步驟n定義系統(tǒng)的用例n領(lǐng)域分析,建立類對(duì)象模型n建立對(duì)象-關(guān)系模型n建立對(duì)象-行為模型n編寫(xiě)SRS定義用例n回答問(wèn)題發(fā)現(xiàn)角色n使用系統(tǒng)主要功能的人是誰(shuí)? n需要借助于系統(tǒng)完成日常工作的人是誰(shuí)? n誰(shuí)來(lái)維護(hù)、管理系統(tǒng),保證系統(tǒng)正常工作? n系統(tǒng)控制的硬件設(shè)備有哪些? n系統(tǒng)需要和哪些其它系統(tǒng)接口? n對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興

17、趣的人和事是哪些? 定義用例n回答問(wèn)題發(fā)現(xiàn)用例n角色需要從系統(tǒng)中獲得哪種功能?需要角色做什么? n角色需要讀取、產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的某種信息嗎? n系統(tǒng)中發(fā)生的事件需要通知角色嗎?角色需要通知系統(tǒng)某件事嗎?這些事件能干什么? n系統(tǒng)需要輸入/輸出的是什么信息?這些輸入/輸出信息從哪兒來(lái) ?到哪兒去? n系統(tǒng)當(dāng)前的實(shí)現(xiàn)要解決的問(wèn)題是什么? 領(lǐng)域分析 n目的n發(fā)現(xiàn)或創(chuàng)建可廣泛應(yīng)用的類,以便復(fù)用 n分析特定的應(yīng)用領(lǐng)域 n形式n公共對(duì)象、類、子集合和框架等類對(duì)象建模(一)n確定分析模型中的類對(duì)象n考察系統(tǒng)用例n匯總名詞、名詞短語(yǔ)n得到候選對(duì)象n確定類對(duì)象n必要的信息、需求、服務(wù)n多個(gè)屬性、公

18、共操作類對(duì)象建模(二)n定義類結(jié)構(gòu)與層次n一般-特殊n整體-部分n定義主題和子系統(tǒng)n高層抽象例子電話話筒按鍵連接線話機(jī)人電話人教師大學(xué)生小學(xué)生學(xué)生中學(xué)生建立對(duì)象關(guān)系模型n步驟n復(fù)審需求描述和用例陳述n找出表示關(guān)系的動(dòng)詞或動(dòng)詞短語(yǔ)n用線連接起來(lái),箭頭表示方向n給連接命名,標(biāo)上基數(shù)對(duì)象-關(guān)系圖例子:0::0:1:m0::0:部門(mén)流水線工序材料在制品:不良品指標(biāo)數(shù)據(jù):規(guī)格實(shí)時(shí)數(shù)據(jù)建立對(duì)象行為模型n基本過(guò)程n評(píng)估用例,理解系統(tǒng)中的交互序列n找出驅(qū)動(dòng)交互序列的事件n為每個(gè)用例創(chuàng)建事件軌跡n為對(duì)象創(chuàng)建狀態(tài)轉(zhuǎn)換圖第四章 軟件設(shè)計(jì)概述n軟件設(shè)計(jì)的任務(wù)n軟件設(shè)計(jì)的基本概念n模塊化設(shè)計(jì)n設(shè)計(jì)需要處理的問(wèn)題n設(shè)計(jì)文

19、檔及其復(fù)審軟件設(shè)計(jì)的任務(wù)n分析模型 設(shè)計(jì)模型 設(shè)計(jì)文檔n回答How to do?n可以分為概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)n軟件設(shè)計(jì)包括n數(shù)據(jù)設(shè)計(jì)n體系結(jié)構(gòu)設(shè)計(jì)n接口設(shè)計(jì)n過(guò)程設(shè)計(jì)軟件設(shè)計(jì)的任務(wù)n數(shù)據(jù)設(shè)計(jì)n信息模型 軟件數(shù)據(jù)結(jié)構(gòu)n體系結(jié)構(gòu)設(shè)計(jì)n定義軟件部件間的關(guān)系n接口設(shè)計(jì)n軟件內(nèi)部、外部及與人之間的通信n過(guò)程設(shè)計(jì)n軟件組件的過(guò)程性描述軟件設(shè)計(jì)的基本概念n模塊(module)與構(gòu)件(component)n模塊:定義輸入、輸出和特性的程序?qū)嶓wn構(gòu)件:可重復(fù)使用的軟件組件n抽象(abstract)與細(xì)化(refinement)n抽象:分層次考慮和處理問(wèn)題(數(shù)據(jù)和過(guò)程)n細(xì)化:從高到低的逐步分解過(guò)程n信息隱藏n對(duì)

20、其它模塊隱藏模塊內(nèi)部的數(shù)據(jù)和過(guò)程n軟件復(fù)用nDesign with reuse, design for reuse 模塊化設(shè)計(jì)(modular design)n分解(decomposition)n模塊獨(dú)立性(module independence)n自頂向下(topdown design)n自底向上(bottomup design)分解(decomposition)C (P1+P2)C (P1)+C (P2)E (P1+P2)E (P1)+E (P2) C為問(wèn)題的復(fù)雜度,E為解題需要的工作量 模塊數(shù)接口成本最小成本區(qū)M軟件開(kāi)發(fā)工作量總成本模塊成本模塊獨(dú)立性(module independenc

21、e)n內(nèi)聚(cohesion)n模塊內(nèi)部各成分之間n耦合(coupling)n一個(gè)模塊與其它模塊之間n模塊的獨(dú)立性高 n塊內(nèi)聯(lián)系強(qiáng) n塊間聯(lián)系弱 內(nèi)聚 弱 強(qiáng)低內(nèi)聚中內(nèi)聚高內(nèi)聚 內(nèi)聚 cohesionn.偶然性內(nèi)聚 coincidental cohesionn.邏輯性內(nèi)聚 logical cohesionn.時(shí)間性內(nèi)聚 temporal cohesionn.過(guò)程性內(nèi)聚 procedural cohesionn.通訊性內(nèi)聚 communicational cohesionn.順序性內(nèi)聚 sequential cohesionn.功能性內(nèi)聚 functional cohesion邏輯性模塊 讀入分

22、數(shù)平均/最高?計(jì)算平均分計(jì)算最高分輸出結(jié)果耦合 couplingno direct coupling2.數(shù)據(jù)耦合data coupling3.特征耦合 st coupling4.控制耦合control coupling 5.外部耦合 external coupling6.公共耦合 common coupling7.內(nèi)容耦合 content coupling弱耦合數(shù)據(jù)耦合非直接耦合模塊2模塊1模塊4模塊3特征耦合(參數(shù)表傳遞數(shù)據(jù)結(jié)構(gòu))公共耦合自定向下和自底向上設(shè)計(jì)自頂向下頂層開(kāi)始逐步分解由底向上選擇關(guān)鍵部分先設(shè)計(jì)擴(kuò)展到整個(gè)系統(tǒng)設(shè)計(jì)需要處理的問(wèn)題n協(xié)同設(shè)計(jì)n誰(shuí)最合適設(shè)計(jì)系統(tǒng)的某一方面? n如何使組

23、內(nèi)成員相互了解別人的設(shè)計(jì)? n如何協(xié)調(diào)設(shè)計(jì)組件使整個(gè)系統(tǒng)統(tǒng)一? n用戶界面設(shè)計(jì)n讓用戶駕馭軟件,不是軟件駕馭用戶 n減少用戶的記憶 n保持界面的一致性 n并發(fā)系統(tǒng)設(shè)計(jì)n怎樣確保同時(shí)執(zhí)行的組件間對(duì)共享數(shù)據(jù)的一致性 并發(fā)處理(順序執(zhí)行)1、 組件1查詢X是否為空。2、 組件1被告知X不為空。3、 組件2查詢X是否為空。4、 組件2被告知X不為空。5、 組件1出棧,刪除最后一個(gè)元素。6、 組件2想出棧,但X已為空,系統(tǒng)進(jìn)入非法狀態(tài)。 并發(fā)處理1、 組件1詢問(wèn)棧X是否為空。2、 組件1被告知棧X不為空。3、 組件2詢問(wèn)棧X是否為空。4、 組件2被告知棧X不為空。5、 組件1出棧,刪去最后一個(gè)元素,并鎖

24、住棧X。6、 組件2想出棧,但被告知X已上鎖。7、 另一個(gè)組件加了一個(gè)元素到棧X中。8、 組件2被告知X已開(kāi)鎖(由于外部進(jìn)程或者因?yàn)榻M件2 再次嘗試)9、 組件2出棧。 軟件設(shè)計(jì)文檔n軟件設(shè)計(jì)說(shuō)明書(shū)n1) 范圍 n2) 數(shù)據(jù)設(shè)計(jì) n3) 體系結(jié)構(gòu)設(shè)計(jì)n4) 接口設(shè)計(jì) n5) 模塊的過(guò)程設(shè)計(jì) n6) 其他 包括測(cè)試的考慮,確保設(shè)計(jì)滿足所有需求,設(shè)計(jì)約束和一些特殊注解等內(nèi)容。 設(shè)計(jì)復(fù)審(design review)n及早發(fā)現(xiàn)設(shè)計(jì)中的缺陷n差錯(cuò)的傳播n復(fù)審的內(nèi)容n概要設(shè)計(jì)復(fù)審 n系統(tǒng)的總體結(jié)構(gòu),模塊劃分,內(nèi)外接口 n詳細(xì)設(shè)計(jì)復(fù)審 n各個(gè)模塊的具體設(shè)計(jì) 設(shè)計(jì)復(fù)審(design review)n復(fù)審的方

25、式nFormal reviewnDesign review meetingnInformal reviewnWalk-through第五章 傳統(tǒng)的設(shè)計(jì)方法n結(jié)構(gòu)化設(shè)計(jì)模型n結(jié)構(gòu)化設(shè)計(jì)方法n過(guò)程設(shè)計(jì)nJackson方法PSPEC結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容數(shù)據(jù)對(duì)象描述CFDDFDE-RDDCSPEC過(guò)程設(shè)計(jì) 接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容n結(jié)構(gòu)設(shè)計(jì)概要設(shè)計(jì)n體系結(jié)構(gòu)設(shè)計(jì)nSC圖n接口設(shè)計(jì)nSC圖n數(shù)據(jù)庫(kù)設(shè)計(jì)n物理數(shù)據(jù)模型n過(guò)程設(shè)計(jì)詳細(xì)設(shè)計(jì)n模塊的處理過(guò)程nN-S圖,PAD,PDL等描述工具SC圖nSC圖的組成符號(hào) (P88)n矩形框來(lái)表示模塊 n帶箭頭的連線表示模塊間的調(diào)用關(guān)系n傳入和傳出模塊

26、的數(shù)據(jù)流 nSC圖中的模塊符號(hào)n傳入n傳出n變換n源n漏n控制 SC圖中的模塊調(diào)用n簡(jiǎn)單調(diào)用 n選擇調(diào)用 n循環(huán)調(diào)用ABCDABC面向數(shù)據(jù)流的設(shè)計(jì)方法nDFD圖的類型 n變換型結(jié)構(gòu) n事務(wù)型結(jié)構(gòu) n從DFD圖到SC圖的映射 n復(fù)審DFD圖,必要時(shí)可再次進(jìn)行修改或細(xì)化n鑒別DFD圖的結(jié)構(gòu)特征:事務(wù)?變換?n按照規(guī)則,把DFD圖為初始的SC圖 n改進(jìn)初始的SC圖 變換結(jié)構(gòu)的DFD變換中心傳入傳出信息傳入流傳出流 變換流時(shí)間事務(wù)型結(jié)構(gòu)DFD事務(wù)中心接受路徑動(dòng)作路徑同時(shí)存在兩類結(jié)構(gòu)傳入變換傳出事務(wù)中心變換分析變換分析n劃分DFD圖的邊界 n建立初始SC圖的框架n頂層都只含一個(gè)用于控制的主模塊 n第一層包括傳入、傳出和中心變換三個(gè)模塊 n分解SC圖的各個(gè)分支 n分解實(shí)質(zhì)上是“映射” 例子劃分DFDPEDCBAWRUVQabcdeprwuv傳入部分變換中心傳出部分第一級(jí)分解MEMTMCMAc,ec,eu,wu,w傳入分支的分解GetEAtoBReadDDtoEReadABtoCGetBGetC MAc,ecebbcaabddb傳出分支的分解 WriteW UtoV Write V P

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論