如何講授軟件工程基礎(chǔ)要點(diǎn)?課件_第1頁(yè)
如何講授軟件工程基礎(chǔ)要點(diǎn)?課件_第2頁(yè)
如何講授軟件工程基礎(chǔ)要點(diǎn)?課件_第3頁(yè)
如何講授軟件工程基礎(chǔ)要點(diǎn)?課件_第4頁(yè)
如何講授軟件工程基礎(chǔ)要點(diǎn)?課件_第5頁(yè)
已閱讀5頁(yè),還剩137頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

24小時(shí)教學(xué)方式:授課時(shí)間:設(shè)計(jì)時(shí)間:52小時(shí)授課+課程設(shè)計(jì)軟件工程003。7。1324小時(shí)教學(xué)方式:授課時(shí)間:設(shè)計(jì)時(shí)間:52小時(shí)授課+課程設(shè)計(jì)第一章軟件工程概述§1.1軟件工程1.軟件需求規(guī)格(A)總體設(shè)計(jì)(B)詳細(xì)設(shè)計(jì)(C)工程的設(shè)計(jì)書設(shè)計(jì)圖紙藍(lán)圖軟件是軟件工程產(chǎn)品有三要素:程序+數(shù)據(jù)+文檔程序不是藍(lán)圖,藍(lán)圖不是程序第一章軟件工程概述§1.1軟件工程需求規(guī)格(A)工程的2.軟件工程的定義

從產(chǎn)品目標(biāo)的觀點(diǎn)看,軟件工程是研究如何開發(fā)出滿足用戶需求的、低成本、高質(zhì)量的大型軟件產(chǎn)品的工程學(xué)科。

軟件工程是一門交叉學(xué)科,它所包含的內(nèi)容不是一成不變的,隨著人們對(duì)軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)以發(fā)展的眼光看待它。軟件工程分代:工程化,面向?qū)ο?,過程,構(gòu)件

一代二代三代四代需求綜合逆向復(fù)用2.軟件工程的定義軟件工程分代:工程化,面向?qū)ο螅^程,構(gòu)軟件工程—一種層次化技術(shù)工具方法過程軟件工程三要素:方法工具過程

工具觀點(diǎn)的方法分類

非形式化(自然語言方式)

半形式化(圖形方式)形式化(基于數(shù)學(xué)方式)軟件工程—一種層次化技術(shù)工具方法過程軟件工程三要素:

方法:開發(fā)的技術(shù)工具:開發(fā)軟件的輔助手段過程:傳統(tǒng)現(xiàn)代

面向?qū)ο?/p>

(對(duì)象驅(qū)動(dòng))

工具(適于特定領(lǐng)域小任務(wù))平臺(tái)(工具組合,適合中小任務(wù))環(huán)境(工具集成,適合大型任務(wù))P

plan

計(jì)劃

描述定義,管理過程A

action執(zhí)行演進(jìn)過程面向數(shù)據(jù)流(過程驅(qū)動(dòng))面向數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)驅(qū)動(dòng))C

check確認(rèn)檢查過程

D

develop開發(fā)軟件開發(fā)過程設(shè)計(jì)觀點(diǎn)的方法分類傳統(tǒng)現(xiàn)代面向?qū)ο?對(duì)象為什么要分周期,分階段,分模塊?答:從工程化的角度,為了保證軟件工程的質(zhì)量。所謂工程化:是指必須計(jì)劃在先,需求在先,分階段,流水依賴。工程化三要點(diǎn):時(shí)間上分階段邏輯上分模塊階段有評(píng)審為什么要分周期,分階段,分模塊?答:從工程化的角度,為了保證子階段功能作用基線計(jì)劃Plan開發(fā)運(yùn)行Action問題定義要做功能的界定問題定義報(bào)告可行性分析可做高層邏輯可行性分析報(bào)告項(xiàng)目計(jì)劃進(jìn)度計(jì)劃安排項(xiàng)目進(jìn)度計(jì)劃,項(xiàng)目實(shí)施方案設(shè)計(jì)需求分析必做問題模型需求規(guī)格說明書,用戶說明書

總體設(shè)計(jì)如何做軟件結(jié)構(gòu)總體設(shè)計(jì)說明書,接口說明(體系結(jié)構(gòu),分模塊)詳細(xì)設(shè)計(jì)具體做過程結(jié)構(gòu)詳細(xì)設(shè)計(jì)說明書實(shí)現(xiàn)編碼翻譯源程序模塊說明測(cè)試驗(yàn)證找出錯(cuò)誤驗(yàn)收?qǐng)?bào)告維護(hù)改進(jìn)改進(jìn)總結(jié)總結(jié)報(bào)告,修改報(bào)告退役版本版本分界版本說明DevelopCheckEvolution子階段功能作用基線計(jì)劃Plan開發(fā)運(yùn)行問題定義文檔:Document軟件開發(fā)過程的圖文描述,分三類:用戶,管理,開發(fā).關(guān)鍵文檔項(xiàng)叫基線(KeyItemBaseline)基線的作用:1、階段的分界標(biāo)志2、配置管理的檢查點(diǎn)3、質(zhì)量評(píng)審的階段成果4、發(fā)行的階段版本軟件與程序的區(qū)別:

成分

周期

過程軟件程序+數(shù)據(jù)+文檔全周期全過程程序程序+數(shù)據(jù)子階段翻譯過程軟件分類:功能系統(tǒng)工具應(yīng)用商業(yè)計(jì)算智能嵌入個(gè)人

規(guī)模大中小微范圍項(xiàng)目產(chǎn)品

頻度高頻偶爾可靠高可靠低可靠

方式實(shí)時(shí)分時(shí)批處理交互定制面向客戶文檔:Document軟件開發(fā)過程的圖文描述,分三類:用軟件工程的目標(biāo):折衷優(yōu)化低成本、高質(zhì)量、按時(shí)交付。軟件危機(jī):軟件生產(chǎn)、開發(fā)過程中出現(xiàn)的供不應(yīng)求的嚴(yán)重問題。

舊危機(jī):新危機(jī):非工程化工程化、結(jié)構(gòu)化以個(gè)人要求為開發(fā)目標(biāo)。不能滿足大型軟件要求解決方法:結(jié)構(gòu)化面向?qū)ο蠓椒ㄜ浖_發(fā)的動(dòng)力——軟件危機(jī)(用戶對(duì)軟件低成本高質(zhì)量的需求)面向?qū)ο笥兴囊兀簩?duì)象+類+繼承+通訊

軟件工程的目標(biāo):折衷優(yōu)化問題:1。軟件的三要素是什么?2。軟件工程三要素是什么?生存周期階段、功能、基線?3。軟件開發(fā)過程包括哪幾個(gè)子階段?4。軟件工程與其它區(qū)別?區(qū)別原理設(shè)計(jì)管理計(jì)算機(jī)科學(xué)具體不具體不具體系統(tǒng)工程

應(yīng)用廣泛應(yīng)用項(xiàng)目管理應(yīng)用實(shí)施具體軟件工程應(yīng)用具體應(yīng)用5。面向?qū)ο笏囊?問題:區(qū)別原理設(shè)計(jì)管理計(jì)算機(jī)科學(xué)具體不具體不具體系統(tǒng)工程軟件為什么難開發(fā),永遠(yuǎn)處于危機(jī)狀態(tài)?客觀原因:四個(gè)本質(zhì)特征難滿足方法、工具、本身有局限主觀原因:乙方(開發(fā)方)組織水平局限甲方(需求方)難溝通軟件特點(diǎn):邏輯產(chǎn)品,抽象、易復(fù)制、可維護(hù)、依賴、可移植、復(fù)雜、昂貴、社會(huì)性?;咎卣鳎ū举|(zhì)特征):復(fù)雜性可變性不可見性一致性(社會(huì)性)軟件為什么難開發(fā),永遠(yuǎn)處于危機(jī)狀態(tài)?§1.2軟件開發(fā)模型軟件工程研究的內(nèi)容軟件開發(fā)理論開發(fā)技術(shù)(方法論)管理技術(shù)§1.2軟件開發(fā)模型四個(gè)原則:分解抽象確定性一致性模型方法原則抽象歸納分解演繹四個(gè)原則:分解抽象確定性一致性模型方法原則計(jì)劃階段開發(fā)階段聽用戶評(píng)價(jià)請(qǐng)用戶驗(yàn)收1、瀑布模型(WaterfallModel)設(shè)計(jì)實(shí)現(xiàn)運(yùn)行退役可行性分析項(xiàng)目計(jì)劃需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試維護(hù)問題定義計(jì)劃開聽用戶評(píng)價(jià)請(qǐng)用戶驗(yàn)收1、瀑布模型設(shè)計(jì)實(shí)現(xiàn)運(yùn)行退役瀑布模型提出背景針對(duì)舊危機(jī)的主要問題,忽視需求質(zhì)量差。解決辦法工程化的觀點(diǎn)(包括三個(gè)要點(diǎn))時(shí)間上分階段——克服盲目性邏輯上分模塊——克服復(fù)雜性階段有評(píng)審——保證質(zhì)量成功點(diǎn):就是工程化的三要點(diǎn)瀑布模型提出背景缺點(diǎn):與用戶見面晚,造成錯(cuò)誤放大難題:數(shù)據(jù)與操作分開抽象,難檢測(cè)階段間模型不統(tǒng)一,難轉(zhuǎn)換接口復(fù)雜,靜態(tài)聯(lián)編,難復(fù)用語義斷層,難實(shí)現(xiàn)適用:中小型,需求確定的小系統(tǒng)開發(fā)作用:奠定了整個(gè)軟件工程的基礎(chǔ)缺點(diǎn):與用戶見面晚,造成錯(cuò)誤放大

2.原型模型(或稱演化、樣機(jī)模型)快速原型模型(RapidPrototypeModel)是其中一種改進(jìn)模型,其它見后。原型快速分析修改評(píng)價(jià)構(gòu)造運(yùn)行開始結(jié)束問題定義可行性分析進(jìn)度安排需求分析(原型)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試維護(hù)退役(快速原型)快速原型評(píng)價(jià)線原型評(píng)價(jià)線2.原型模型(或稱演化、樣機(jī)模型)原型快速分析修改評(píng)價(jià)針對(duì):瀑布模型的缺點(diǎn),需求不準(zhǔn)特點(diǎn):自頂向下,自外向內(nèi);逐漸確定需求(驗(yàn)收產(chǎn)品)(原型核心思想)優(yōu)點(diǎn):易成功,不容易失敗,克服需求不準(zhǔn)缺點(diǎn):工期長(zhǎng),成本高關(guān)于改進(jìn)缺點(diǎn)的策略:驗(yàn)收評(píng)審?fù)瓿桑ㄒ姼倪M(jìn)原型1-4)評(píng)價(jià)意見結(jié)束

成本周期限定內(nèi)適用:大型的軟件開發(fā)(尤其是需求變化的)針對(duì):瀑布模型的缺點(diǎn),需求不準(zhǔn)改進(jìn)1:快速原型,以產(chǎn)品是不是滿足用戶要求作為評(píng)價(jià)產(chǎn)品是不是完成。針對(duì)產(chǎn)品就是把評(píng)價(jià)線拿到維護(hù)階段(見上圖)本質(zhì)上是結(jié)構(gòu)化方法。改進(jìn)2:演化原型,(試驗(yàn)原型)就是為了確定需求,對(duì)大

型的新領(lǐng)域用這個(gè)來定需求。改進(jìn)3:噴泉原型,主要為了保證復(fù)用和集成,合理的保留,不合理的改進(jìn)。改進(jìn)4:增量原型,階段產(chǎn)品,分階段完成。

原型開發(fā)何時(shí)結(jié)束

:驗(yàn)收評(píng)審?fù)瓿稍u(píng)價(jià)意見結(jié)束成本周期限定內(nèi)改進(jìn)1:快速原型,以產(chǎn)品是不是滿足用戶要求作為評(píng)價(jià)產(chǎn)3.組合模型兩種以上組合起來叫組合模型螺旋四階段:制定計(jì)劃風(fēng)險(xiǎn)分析實(shí)施工程用戶評(píng)價(jià)組合條件:兩種模型能組合意味著生存周期階段間的文檔可以轉(zhuǎn)換,必須找到兩種文檔可以相互轉(zhuǎn)換的技術(shù)點(diǎn)。螺旋模型瀑布模型原型模型風(fēng)險(xiǎn)分析=++3.組合模型螺旋模型瀑布模型原型模型風(fēng)險(xiǎn)分析=++如何講授軟件工程基礎(chǔ)要點(diǎn)?模型迭代評(píng)價(jià)4。面向?qū)ο竽P蛯?shí)質(zhì):綜合抽象,無縫聯(lián)接,復(fù)用迭代,為螺旋+噴泉+對(duì)象的組合優(yōu)點(diǎn):綜合抽象,模型統(tǒng)一,符合人的分解抽象思維動(dòng)態(tài)聯(lián)編,復(fù)用性好局限:語言工具不完善,不適合并行動(dòng)態(tài),長(zhǎng)期復(fù)用難OMT,3VD,Coad’sreuse,UML模型:計(jì)劃面向?qū)ο蠓治雒嫦驅(qū)ο罂傮w設(shè)計(jì)面向?qū)ο笤敿?xì)設(shè)計(jì)面向?qū)ο髮?shí)現(xiàn)面向?qū)ο缶S護(hù)類庫(kù)創(chuàng)建對(duì)象發(fā)消息復(fù)用釋放識(shí)別對(duì)象界定高層類問題域類模型解域類層次類具體解封裝引用迭代遺產(chǎn)復(fù)用實(shí)例類引用或者無重點(diǎn)模型迭代評(píng)價(jià)4。面向?qū)ο竽P蛯?shí)質(zhì):綜合抽象,無縫聯(lián)接,復(fù)用迭軟件二維過程(工程化工作流過程)表時(shí)間階段軟件成分計(jì)劃需求總體詳細(xì)編碼測(cè)試維護(hù)退役要做可做立項(xiàng)進(jìn)度必做標(biāo)準(zhǔn)合同如何做體系結(jié)構(gòu)具體做控制結(jié)構(gòu)具體做選語言風(fēng)格效率驗(yàn)收動(dòng)靜可靠正確評(píng)審改進(jìn)總結(jié)版本人工流圖推薦流圖DFD0SA細(xì)化DFDnSCHC獨(dú)立SPPADNSD結(jié)構(gòu)化白盒黑盒用例回歸復(fù)審Jachson3VDJachson3VDJachson3VD對(duì)應(yīng)PC3VDcoadIsahasa封裝強(qiáng)耦合復(fù)用構(gòu)件軟件二維過程(工程化工作流過程)表時(shí)間階段軟件成分計(jì)劃需求總問題:1。UML屬于軟件工程三要素哪一個(gè)?有了工具可以不用方法嗎?。2。組合模型的優(yōu)點(diǎn)?使用條件?。

3。模型、方法、原則的關(guān)系?原則有哪些?4。面向?qū)ο竽P偷奶攸c(diǎn)?模型兩個(gè)迭代含義?5。原型開發(fā)何時(shí)結(jié)束?原型改進(jìn)類型?。問題:1。UML屬于軟件工程三要素哪一個(gè)?有了工具可以不用方第二章

面向數(shù)據(jù)流方法§2.1結(jié)構(gòu)化分析(SA)人工流圖四要素:外部項(xiàng),文件,人工操作,信息流面向數(shù)據(jù)流方法是結(jié)構(gòu)化方法的過程驅(qū)動(dòng)結(jié)構(gòu)化分析SA用數(shù)據(jù)流圖DFD結(jié)構(gòu)化設(shè)計(jì)SD用結(jié)構(gòu)圖SC1.問題定義問題定義由人工流圖+取代人工流圖+數(shù)據(jù)流圖組成第二章面向數(shù)據(jù)流方法§2.1結(jié)構(gòu)化分析(SA)人工流圖四要取代人工流圖要素:外部項(xiàng),文件,人工操作,取代邏輯,信息流數(shù)據(jù)流圖要素:

外部項(xiàng),文件,加工,數(shù)據(jù)流畫圖規(guī)則:外部項(xiàng)、文件可重復(fù),數(shù)據(jù)流名不許重復(fù),流線不許交叉操作間有文件,文件間有操作,操作、加工為動(dòng)賓結(jié)構(gòu)描述步驟:系統(tǒng)分析員向甲方調(diào)查人工流程后用人工流圖表示,理解要求用取代工流圖表示,確定總體要求用數(shù)據(jù)流圖表示。以楊輝三角系數(shù)求解為例說明:(a+b)n的展開系數(shù)求解為二項(xiàng)式定理,手工的求解用為多項(xiàng)式乘法,合并同類項(xiàng),排列系數(shù):

.取代人工流圖要素:外部項(xiàng),文件,人工操作,取代邏輯,信息流數(shù)(a+b)0=1①(a+b)1=11②(a+b)2=(a+b)x(a+b)③多項(xiàng)式乘法=a2+ab+ab+b2.

合并同類項(xiàng)=a2+2ab+b2.

排系數(shù)=121.(a+b)3=(a+b)2x(a+b)④=a2+2ab+b2x(a+b).=a3+3a2b+3ab2+b3.=1331。算法歸納:P[i,j]=p[i-1,j-1]+p[i-1,j]P[i,j]=(i-1)!/((j-1)!(i-j)!)。1...

11.121.

1331.目標(biāo)系數(shù):111211331(a+b)0=1由上頁(yè)①至④歸納畫出人工流圖不合理階數(shù)二項(xiàng)式階數(shù)合理階數(shù)展開算法展開式積多項(xiàng)式合理階數(shù)判斷階數(shù)手工求積合并同類項(xiàng)學(xué)生算法展開正三角系數(shù)斜三角系數(shù)系數(shù)排法排列系數(shù)二項(xiàng)式階數(shù)由上頁(yè)①至④歸納畫出人工流圖不合理階數(shù)二項(xiàng)式階數(shù)合理階數(shù)展要求判斷階數(shù)、用算法計(jì)算系數(shù)、排列系數(shù),不用多項(xiàng)式乘法,理解確定要求,畫出取代人工流圖.

。二項(xiàng)式階數(shù)學(xué)生終端求解楊輝三角系數(shù)算法排法不合理階數(shù)斜三角系數(shù)正三角系數(shù)人工流圖⊕⊕要求判斷階數(shù)、用算法計(jì)算系數(shù)、排列系數(shù),不用多項(xiàng)式乘法,理解2.結(jié)構(gòu)化分析SA(StructuredAnalysis)用細(xì)化的DFDn圖+數(shù)據(jù)字典DD+加工說明來說明市場(chǎng)需求(數(shù)據(jù)要求,功能要求,性能、環(huán)境要求)理解問題定義取代人工的邏輯是否合理完整,細(xì)化DFDn要遵循數(shù)據(jù)守恒從取代人工的方框中抽象數(shù)據(jù)流圖DFD0學(xué)生學(xué)生求楊輝三角系數(shù)階數(shù)不合理階數(shù)算法排法系數(shù)0高層數(shù)據(jù)流DFD0圖內(nèi)容:步驟:2.結(jié)構(gòu)化分析SA(StructuredAnalysis打法1打法2學(xué)生學(xué)生求楊輝三角系數(shù)階數(shù)不合理階數(shù)算法排法系數(shù)0DFD0細(xì)化不合理階數(shù)學(xué)生檢驗(yàn)階數(shù)13計(jì)算系數(shù)2學(xué)生系數(shù)系數(shù)表算法DFD1階數(shù)排列系數(shù)合理階數(shù)細(xì)化1.1DFD2系數(shù)系數(shù)表系數(shù)學(xué)生學(xué)生3。13。22。23。3輸入階數(shù)1。2檢驗(yàn)階數(shù)計(jì)算12。1選算法2。3計(jì)算2選打法打法1打法2階數(shù)階數(shù)n不合理n合理n算法算法2算法1系數(shù)排法系數(shù)表學(xué)生計(jì)時(shí)1計(jì)時(shí)2計(jì)時(shí)1計(jì)時(shí)2排法算法打法1打法2學(xué)生學(xué)生求楊輝階數(shù)不合理階數(shù)算法排法系數(shù)0DFD定義數(shù)據(jù)字典:加工說明:§2。2結(jié)構(gòu)化設(shè)計(jì)步驟:根據(jù)獨(dú)立性高內(nèi)聚低耦合原則切斷DFD2的網(wǎng)狀聯(lián)系構(gòu)造層次結(jié)構(gòu)圖SC(StructuredChart).階數(shù)n={整數(shù)},合理n=1{正整數(shù)}13,系數(shù)=1{正整數(shù)}924……1.1與1.2:當(dāng)n<1或n>13時(shí)循環(huán)……結(jié)構(gòu)圖要素:模塊調(diào)用通訊流分支循環(huán)♂映射:DFD2SC♂切斷DFD加工映射SC模塊DFD數(shù)據(jù)流對(duì)應(yīng)SC通訊流1。結(jié)構(gòu)化設(shè)計(jì)SD(StructuredDesign)定義數(shù)據(jù)字典:加工說明:§2。2結(jié)構(gòu)化設(shè)計(jì)步驟:根據(jù)獨(dú)立性高結(jié)構(gòu)圖SC

合理階數(shù)n♂合理階數(shù)n

系數(shù)

階數(shù)n系數(shù)求解楊輝系數(shù)♂♂♂♂選算法取合理階數(shù)選打法階數(shù)階數(shù)♂♂階數(shù)n♂輸入階數(shù)檢驗(yàn)階數(shù)系數(shù)♂階數(shù)n♂♂法1♂法2階數(shù)n♂系數(shù)♂法1♂法2打印2打印1♂♂系數(shù)1♂系數(shù)2計(jì)算1計(jì)算2♂計(jì)時(shí)1♂計(jì)時(shí)2不合理階數(shù)n♂輸入♂深度=3寬度=6結(jié)構(gòu)化總體設(shè)計(jì)質(zhì)量判斷:滿足體系結(jié)構(gòu)優(yōu)化、模塊獨(dú)立性原則結(jié)構(gòu)圖SC合理階數(shù)n♂合理階數(shù)n2.結(jié)構(gòu)化過程設(shè)計(jì)SP

(StructuredProgram)步驟:由SA的加工說明,SD的接口說明總結(jié)算法,取最簡(jiǎn)算法,選圖形、偽碼、表格描述每個(gè)模塊。PFCISOPFCPAD

NSD

ABPABCTFTPSFNABABPTFABC

PABTFWilepSLoopvN順序分支循環(huán)圖形2.結(jié)構(gòu)化過程設(shè)計(jì)SP(StructuredProgra主程序名untile(ch!=‘Y’||‘y‘)輸入n計(jì)算系數(shù)打印系數(shù)重復(fù)Y/nScanf(ch)主程序PAD圖startStopstartreturnuntil(n>1||n<13)輸入顯示scanf(n)N<1FFTTError!TryagainN>13Nistoobig,Tryagain調(diào)用計(jì)算,打印取合理階數(shù)nPAD圖主程序名untile(ch!=‘Y’||‘startreturnForA=1,MB=1B=B*A求M!PAD圖start提示選擇計(jì)算方法1=遞推算法,2=通項(xiàng)算法UntilM=1,2Scanf(m)Switch(m)計(jì)時(shí),延遲CasemM=1M=2Fori=0,nFori=2,nS[i][i]=1S[i][0]=1Forj=1,iS[i][j]=S[i-1][j-1]+S[I-1][j]Fori=1,nForj=1,iS[i][j]=xfac(i-1)/(xfac(j-1)*xfac(i-j))Break計(jì)時(shí)return計(jì)算系數(shù)PADstartreturnForA=1,MB=1B=B*A求Printf(‘%6d’,s[i][j]startUntilm=1orm=2選擇,1斜三角系數(shù),2正三角系數(shù)Scanf(m)Switch(m)延遲,計(jì)時(shí)CasemM=1M=2Fori=0,nForj=1,iPrintd(‘\n‘)Fori=0,nForj=0,36-3*iPrintf(‘‘)Forj=0,iPrintf(‘%6d’,s[i][j])Printd(‘\n‘)Break計(jì)時(shí)return打印系數(shù)PAD圖詳細(xì)設(shè)計(jì)質(zhì)量判斷:符合結(jié)構(gòu)化定理,即數(shù)據(jù)程序無死點(diǎn),環(huán)域復(fù)雜度小(V(G)=判定結(jié)點(diǎn)數(shù)+1)運(yùn)行,請(qǐng)雙擊右窗口:Printf(‘%6d’,s[i][j]start3。結(jié)構(gòu)復(fù)雜度McCabe復(fù)雜度用途:定量描述詳細(xì)設(shè)計(jì)的好壞(值小好),簡(jiǎn)化路徑測(cè)試。計(jì)算方法,V(G)=Nd+P,Nd為判定結(jié)點(diǎn)數(shù),P為獨(dú)立部分?jǐn)?shù),G為程序圖是復(fù)雜度V的自變量。以取合理階數(shù)nPAD圖為例,判定結(jié)點(diǎn)(有1個(gè)循環(huán)2個(gè)分支)Nd=3,獨(dú)立部分?jǐn)?shù)P=1,V(G)=Nd+P=3+1=4。問題:1。結(jié)構(gòu)化方法的兩種類型??2。面向數(shù)據(jù)流方法使用的工具、開發(fā)的步驟?3。設(shè)計(jì)質(zhì)量如何檢驗(yàn)?。4。面向數(shù)據(jù)流方法階段間文檔如何轉(zhuǎn)換?。5。軟件開發(fā)與程序設(shè)計(jì)的區(qū)別?。3。結(jié)構(gòu)復(fù)雜度McCabe復(fù)雜度用途:定量描述詳細(xì)設(shè)計(jì)的好壞第三章面向數(shù)據(jù)結(jié)構(gòu)方法1。工具Jackson的Jackson圖,Jackson偽碼,數(shù)據(jù)表,PAD圖等計(jì)劃用人工流圖,取代人工流圖,Jackson圖,JSA用細(xì)化的Jackson圖與數(shù)據(jù)表,JSD用軟件Jackson圖,JSP用Jackson偽碼,PAD圖Jackson圖順序分支重復(fù)ABCDAB0C0AB*ASequnce;DoB;DoC;DoD;Aend..Jackson偽碼ASelecti;DoB;Aorj..DoC;Aend..AiterwhilemDoB;Aend..

第三章面向數(shù)據(jù)結(jié)構(gòu)方法1。工具Jackson的Jackso2。原理面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的數(shù)據(jù)驅(qū)動(dòng)方法,M.A.Jackson發(fā)現(xiàn):順序、分支、重復(fù)層次處理的數(shù)據(jù)對(duì)應(yīng)順序、分支、重復(fù)層次處理的程序,所以數(shù)據(jù)結(jié)構(gòu)確定就直接映射軟件結(jié)構(gòu)簡(jiǎn)化了設(shè)計(jì)。階段間轉(zhuǎn)換是對(duì)應(yīng)的將數(shù)據(jù)結(jié)構(gòu)冠以動(dòng)詞為軟件結(jié)構(gòu)JSA理解計(jì)劃,細(xì)化記錄,確定關(guān)聯(lián),畫Jackson圖。JSD確定主文件冠以動(dòng)詞畫Jackson軟件結(jié)構(gòu)圖。對(duì)應(yīng)JSP列Jackson偽碼列出3。步驟計(jì)劃調(diào)查人工流程畫人工流圖,理解需求畫取代人工流圖,從名詞中抽象實(shí)體,從動(dòng)詞中抽象行為,從行為操作對(duì)象表各中歸納數(shù)據(jù)結(jié)構(gòu)畫Jackson圖。細(xì)化2。原理面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的數(shù)據(jù)驅(qū)動(dòng)方法,M.A.4。高考系統(tǒng)實(shí)例考生招辦高??荚噲?bào)考命題錄取批卷查詢標(biāo)準(zhǔn)試卷計(jì)劃志愿計(jì)劃招辦錄入標(biāo)準(zhǔn)準(zhǔn)考證考號(hào)計(jì)劃錄取單有效卷成績(jī)單高校志愿計(jì)劃高考人工流圖⑴計(jì)劃,①由系統(tǒng)分析員調(diào)查高考人工流程,確定外部項(xiàng)考生、高校、招辦及相關(guān)職能加工、文件,反復(fù)確認(rèn)畫出人工流程圖。4。高考系統(tǒng)實(shí)例考生招辦高校考試報(bào)考命題錄取批卷查詢標(biāo)準(zhǔn)試卷②調(diào)查需求取代人工畫取代人工流圖考生招辦高校志愿標(biāo)準(zhǔn)終端準(zhǔn)考證錄取單試卷成績(jī)單計(jì)劃命題高考系統(tǒng)標(biāo)準(zhǔn)取代人工流圖從名詞中抽象實(shí)體:學(xué)生招辦高校從動(dòng)詞中抽象實(shí)體行為:報(bào)考答卷查詢計(jì)劃錄入監(jiān)考錄取計(jì)劃命題批卷錄取從行為操作對(duì)象中歸納數(shù)據(jù)結(jié)構(gòu):報(bào)考文件錄取文件計(jì)劃文件批卷文件②調(diào)查需求取代人工畫取代人工流圖考生招辦高校志愿標(biāo)準(zhǔn)終端準(zhǔn)考③從取代人工邏輯中選取數(shù)據(jù)結(jié)構(gòu)方法抽象數(shù)據(jù)結(jié)構(gòu),畫高層Jackson圖。報(bào)考文件錄取數(shù)據(jù)錄取文件0不錄取文件0報(bào)考記錄*錄取記錄*不錄取記錄*計(jì)劃文件批卷文件批卷記錄*計(jì)劃記錄*高考高層Jackson圖④評(píng)價(jià)高層Jackson圖的可行性,做進(jìn)度安排(略)詳細(xì)調(diào)查數(shù)據(jù)表項(xiàng)的類型字長(zhǎng),供需求分析用③從取代人工邏輯中選取數(shù)據(jù)結(jié)構(gòu)方法抽象數(shù)據(jù)結(jié)構(gòu),畫高層Jac⑵JSA(JacksonSystemAnalysis)需求分析理解計(jì)劃確定邏輯正確性細(xì)化記錄,確定文件間關(guān)聯(lián),畫詳細(xì)Jackson數(shù)據(jù)結(jié)構(gòu)圖定義數(shù)據(jù)字典。

。高考詳細(xì)Jackson圖報(bào)考文件錄取數(shù)據(jù)錄取文件0不錄取文件0報(bào)考記錄*錄取記錄*不錄取記錄*計(jì)劃文件批卷文件批卷記錄*計(jì)劃記錄*考分學(xué)校地址姓名考號(hào)考分學(xué)校地址姓名考號(hào)志愿地址姓名考號(hào)人數(shù)分?jǐn)?shù)專業(yè)學(xué)??偡址?jǐn)?shù)課程考號(hào)⑵JSA(JacksonSystemAnalysis)需數(shù)據(jù)字典報(bào)考記錄:考號(hào)(數(shù)10)姓名(字6)地址(自8)志愿(資2)錄取記錄:考號(hào),姓名,地址,學(xué)校(字12)分?jǐn)?shù)(數(shù)3)計(jì)劃記錄:學(xué)校,專業(yè)(字12)分?jǐn)?shù),人數(shù)(數(shù)4)批卷記錄:考號(hào),課程(字10)分?jǐn)?shù),總分注:上面數(shù)據(jù)字典同名字段類型長(zhǎng)度相同略數(shù)據(jù)字典報(bào)考記錄:考號(hào)(數(shù)10)姓名(字6)地址(自8)志愿⑶JSD(JacksonSystemDesign)總體設(shè)計(jì)分析IO關(guān)系,確定主文件,主文件冠以動(dòng)詞,畫Jackson軟件結(jié)構(gòu)圖。高考軟件Jackson圖處理錄取數(shù)據(jù)A處理錄取文件0

B處理不錄取文件0C產(chǎn)生錄取記錄*D產(chǎn)生不錄取記錄*E考號(hào)F姓名G地址H學(xué)校I考分J考號(hào)K姓名L地址M學(xué)校N考分O⑶JSD(JacksonSystemDesign⑷JSP(JacksonSystemProgram)程序設(shè)計(jì)列Jackson偽碼,注釋加工Aselects≥mDoBiterationwhilep≤n;DoDsequence;DoF;DoG;DoH;DoI;DoJ;Dend;Bend;AorS<mDoCiterationuntilr=0;DoEsequence;Dok;Dol;DoM;DoN;DoO;Eend;Cend;Aend.⑷JSP(JacksonSystemProgram)程序響應(yīng)查詢,關(guān)閉諸文件。加工說明:根據(jù)計(jì)劃確定錄取政策打開諸文件生成錄取記錄,生成不錄取記錄打印錄取記錄處理數(shù)據(jù)次序結(jié)構(gòu)沖突,設(shè)計(jì)處理接口問題:1。面向數(shù)據(jù)結(jié)構(gòu)方法的設(shè)計(jì)原理?2。面向數(shù)據(jù)結(jié)構(gòu)方法設(shè)計(jì)步驟?3。數(shù)據(jù)結(jié)構(gòu)的文件與數(shù)據(jù)庫(kù)實(shí)現(xiàn)的區(qū)別?響應(yīng)查詢,關(guān)閉諸文件。加工說明:根據(jù)計(jì)劃確定錄取政策打開諸文4.從下列名詞與事物中挑選對(duì)應(yīng)父類A()子類B()與實(shí)例對(duì)象C()C:1.騎警的棗紅馬2.記者的筆記本電腦3.王若的工資賬戶A:1.馬2.計(jì)算機(jī)3.賬戶B:1.白馬2.微機(jī)3.支票賬戶5.從下列名詞與事物劃分相關(guān)的類層次A(),B(),C()C:1.飛機(jī)2.氣球3.汽車4.自行車5.輪船6.劃艇A:1.交通工具2.機(jī)動(dòng)工具B:1.航空工具2.水上工具3.陸上工具泛化與特化(generalization,isa)A()整體與部分(aggregation,hasa)B()A,B:1.賬戶、支票賬戶、抵押賬戶2.汽車、發(fā)動(dòng)機(jī)、底盤、方向盤6.從下列類中區(qū)分兩種類層次4.從下列名詞與事物中挑選對(duì)應(yīng)父類A()子類B()與實(shí)例第四章面向?qū)ο蠓椒?)背景:針對(duì)結(jié)構(gòu)化方法遇到的難題危機(jī)而產(chǎn)生2)特點(diǎn):綜合抽象(數(shù)據(jù)加操作),對(duì)象驅(qū)動(dòng)統(tǒng)一模型(三視圖,coad模型復(fù)用)構(gòu)件復(fù)用,動(dòng)態(tài)聯(lián)編。符合人類分解抽象原則。OMT(ObjectModelingTechnique)UML(UnifiedModelinganguage)RationalRose4.1概述3)工具:第四章面向?qū)ο蠓椒?)背景:針對(duì)結(jié)構(gòu)化方法遇到的難題危數(shù)據(jù)視圖(靜態(tài)模型,對(duì)誰做的數(shù)據(jù))控制視圖(動(dòng)態(tài)模型何時(shí)做的狀態(tài)時(shí)序)功能視圖(功能模型,數(shù)據(jù)轉(zhuǎn))。5)圖形符號(hào):4)三視圖:OMTUML①對(duì)象圖數(shù)據(jù)視圖父類名屬性服務(wù)子類名屬性服務(wù)子類名屬性服務(wù)父類名屬性服務(wù)子類名屬性服務(wù)子類名屬性服務(wù)一般特殊(isa)整體部分(hasa)員工姓名改名公司名字改名工人姓名改名經(jīng)理姓名改名部門1生產(chǎn)改牌部門2財(cái)務(wù)改畝(isa)(hasa)繼承:關(guān)聯(lián):消息連接,實(shí)例連接程序員計(jì)算機(jī)1使用1被使用交通工具drive()Drive()啟動(dòng)飛機(jī)drive()汽車drive()Drive()動(dòng)輪Drive()旋漿數(shù)據(jù)視圖(靜態(tài)模型,對(duì)誰做的數(shù)據(jù))控制視圖(動(dòng)態(tài)模型何時(shí)做②數(shù)據(jù)流圖,用例圖功能視圖對(duì)象A對(duì)象B流a過程11過程22流b文件條件角色A角色B功能A功能BOMT用DFD(數(shù)據(jù)流圖)UML用UseCase(用例圖)數(shù)據(jù)流圖(上下文圖)用例圖(應(yīng)用實(shí)例圖)角色(成員)對(duì)象外部項(xiàng)②數(shù)據(jù)流圖,用例圖功能視圖對(duì)象A對(duì)象B流過程11過程22流文③狀態(tài)圖,時(shí)序圖,狀態(tài)圖,活動(dòng)圖,順序圖,協(xié)作圖OMTUML控制視圖初始事件狀態(tài)1Do:行為1事件2狀態(tài)1Do:行為1事件n終態(tài)初態(tài)狀態(tài)圖對(duì)象自身行為描述(二者同)時(shí)序圖對(duì)象相互間交互描述(二者基本同)對(duì)象B對(duì)象A對(duì)象A對(duì)象B請(qǐng)求事件應(yīng)答事件應(yīng)答事件請(qǐng)求事件維持時(shí)間......③狀態(tài)圖,時(shí)序圖,狀態(tài)圖,活動(dòng)圖,順序圖,協(xié)作圖OMTUML用活動(dòng)圖描述系統(tǒng)操作流程(數(shù)據(jù)流控制流事件流)交互決策通知警員通知消防分配資源低優(yōu)先級(jí)無火高優(yōu)先級(jí)火高優(yōu)先級(jí)火災(zāi)事件決策過程活動(dòng)圖例打開事件打開事件分配資源寫入事件協(xié)調(diào)資源存檔事件同步轉(zhuǎn)換活動(dòng)圖例同步同步UML用活動(dòng)圖描述系統(tǒng)操作流程(數(shù)據(jù)流控制流事件流)交互決策UML用協(xié)作圖描述系統(tǒng)對(duì)象復(fù)雜綜合上下文協(xié)作關(guān)系行為角色A:計(jì)算機(jī):打印機(jī)服務(wù)器:打印機(jī)2:打印文件1:打印文件4:3:打印文件(打印機(jī)空)6:5:注:協(xié)作圖的連接包含順序圖的消息與關(guān)聯(lián)(實(shí)例連接)或綜合二者,僅指方向與標(biāo)號(hào),省略時(shí)序圖的時(shí)間序列、關(guān)聯(lián)的對(duì)應(yīng)關(guān)系,指出對(duì)象復(fù)雜關(guān)系。。6)Coad無縫迭代模型人機(jī)交互部分問題域部分任務(wù)管理部分?jǐn)?shù)據(jù)管理部分對(duì)象與類層

屬性層服務(wù)層結(jié)構(gòu)層主題層邏輯四分模型五分UML用協(xié)作圖描述系統(tǒng)對(duì)象復(fù)雜綜合上下文協(xié)作關(guān)系行為角色A:對(duì)象與類層:標(biāo)識(shí)篩選對(duì)象&類,根據(jù)需求增減類,被取代的實(shí)體或事件一定被標(biāo)識(shí),不被取代的實(shí)體一定不被標(biāo)識(shí),高層類不一定對(duì)應(yīng)實(shí)體??蓮男枨箨愂鲋械钠哳惷~(實(shí)體、事物、事件、角色、組織、結(jié)構(gòu)、場(chǎng)所)中候選,篩選,確定,分清對(duì)誰做的對(duì)象&類的邊界。OOA重點(diǎn)定義對(duì)象&類的邊界與屬性。。

屬性層:從需求陳述中名詞的量詞、形容詞進(jìn)行歸納獲取屬性,分清父類屬性為子類可繼承的公共屬性,子屬性類為特有屬性,定義屬性的數(shù)據(jù)字典,OOD確定類間的實(shí)例連接關(guān)系。。服務(wù)層:從動(dòng)詞行為中定義對(duì)象自身狀態(tài)行為、對(duì)象間的交互行為的服務(wù),標(biāo)識(shí)消息連接的路徑。。結(jié)構(gòu)層:根據(jù)領(lǐng)域知識(shí),分清類的兩種層次繼承關(guān)系(一般特殊isa包含層次、整體部分hasa組合層次),OOD的重點(diǎn)為劃分類層次。。

主題層:根據(jù)7±2個(gè)類的出現(xiàn),進(jìn)一步歸納劃分上層類包的主題領(lǐng)域?qū)ο笈c類層:標(biāo)識(shí)篩選對(duì)象&類,根據(jù)需求增減類,被取代的實(shí)體或問題域部分:滿足需求與環(huán)境變化,分解類、復(fù)用類,增減類,保證系統(tǒng)的穩(wěn)定性、可擴(kuò)充性,不斷調(diào)整繼承與關(guān)聯(lián)。。人機(jī)接口部分:設(shè)計(jì)命令、菜單、表格形式人機(jī)接口,方便用戶,術(shù)語、步驟、動(dòng)作一致,盡量減少交互次數(shù),減少用戶負(fù)擔(dān),保證可靠性。任務(wù)管理部分:選擇系統(tǒng)接口類型進(jìn)程調(diào)度策略(客戶服務(wù)器client-sever、對(duì)等方式peertopeer、層次或塊結(jié)構(gòu)hierarchicalstructureorblockstructure標(biāo)識(shí)任務(wù)類型,選擇驅(qū)動(dòng)方式(并發(fā),事件,過程,時(shí)鐘)。。數(shù)據(jù)管理部分:根據(jù)數(shù)據(jù)結(jié)構(gòu)選擇數(shù)據(jù)存儲(chǔ)模式(文件、關(guān)系、對(duì)象數(shù)據(jù)庫(kù)),設(shè)計(jì)數(shù)據(jù)保存方式(對(duì)象自己、子系統(tǒng)、語言保存)。。問題域部分:滿足需求與環(huán)境變化,分解類、復(fù)用類,增減類,保證姓名電話號(hào)產(chǎn)品地址名字地址身份證號(hào)工資員工為之工作ISAISA公司HASAHASA工人經(jīng)理職務(wù)管理部門一部門二生產(chǎn)科財(cái)務(wù)科參加生產(chǎn)主持統(tǒng)計(jì)項(xiàng)目產(chǎn)品賬目名稱優(yōu)先級(jí)品名預(yù)算成本數(shù)量明細(xì)賬憑證科目E-RD(實(shí)體關(guān)系圖):有數(shù)據(jù)與關(guān)系,加服務(wù)轉(zhuǎn)換到對(duì)象圖對(duì)象圖到E-RD轉(zhuǎn)換姓名電話號(hào)產(chǎn)品地址名字地址身份證號(hào)工員工姓名辦公工人工種改名經(jīng)理分管改職公司名稱服務(wù)部門1生產(chǎn)科轉(zhuǎn)產(chǎn)部門2財(cái)務(wù)科該科目職務(wù)項(xiàng)目服務(wù)為之工作項(xiàng)目名稱改期產(chǎn)品品名改名賬目科目統(tǒng)計(jì)對(duì)象圖:有屬性(數(shù)據(jù))與關(guān)聯(lián)(關(guān)系)及服務(wù)(操作)去掉服務(wù)轉(zhuǎn)換到E-RD圖

。對(duì)象圖到E-RD轉(zhuǎn)換員工工人經(jīng)理公司部門1部門2職務(wù)為之工作項(xiàng)目產(chǎn)品賬目對(duì)象圖4.2面向?qū)ο蠓椒ǖ陌l(fā)展1)UML在方法大戰(zhàn)中形成①50多個(gè)方法的代表1989~1994年由10個(gè)增至50多個(gè),典型代表有如下表所示,優(yōu)缺點(diǎn)各異,出現(xiàn)了同一事物不同符號(hào)表示,同一符號(hào)不同含義的市場(chǎng)混亂。典型代表方法分析設(shè)計(jì)行為分析OMT(Jamesumbaugh)強(qiáng)弱弱BOOCH(GradyBooch)弱強(qiáng)弱OOSE(IvarJacobson)弱弱強(qiáng)Y/C(E.Yourdon/P.Coad)強(qiáng)弱弱②UML的作用結(jié)束了符號(hào)的混亂,統(tǒng)一了模型的描G.Booch在Rational公司工作,J.Rumbaugh加盟建立UM0.8,I.jacobson加盟建立UML0.91,UML1.0時(shí),由700多個(gè)公司支持采用,占據(jù)市場(chǎng)的85﹪,1997年11月17日OMG接收,1999年8月OMGRFT發(fā)布了UML2.04.2面向?qū)ο蠓椒ǖ陌l(fā)展1)UML在方法大戰(zhàn)中形成①50多個(gè)2)UML功能組成①功能

可視化模型規(guī)約過程規(guī)格說明支持前向、逆向工程支持文檔的建立②組成元素(結(jié)構(gòu)、行為、分組、注釋)關(guān)系(依賴、關(guān)聯(lián)、類屬、實(shí)現(xiàn))圖(用例,靜態(tài),行為,交互,實(shí)現(xiàn))③工具過程RUP(RationalUnifiedProcess)RationalRoseOOSECASE④UML關(guān)系關(guān)系表示事物間的連接,在建模中表示類間的關(guān)系。有四種關(guān)系:類屬(Generalization)關(guān)系依賴(Dependency)關(guān)系關(guān)聯(lián)(Association)關(guān)系實(shí)現(xiàn)(Realization)關(guān)系依賴關(guān)系指明引用關(guān)系:目標(biāo)元素源元素類屬關(guān)系指明繼承關(guān)系:特殊子類一般父類部分子類整體父類關(guān)聯(lián)表示不同類簇類間通信路徑關(guān)系:甲類簇A類一類簇B類實(shí)現(xiàn)關(guān)系指明接口的使用與接口實(shí)現(xiàn)的關(guān)系:接口使用接口實(shí)現(xiàn)○2)UML功能組成①功能②組成③工具過程④3)典型方法特點(diǎn)①P.Coad/E.Yourdon面向?qū)ο蠓治雠c設(shè)計(jì)提出模型復(fù)用迭代的模型五分邏輯四分;對(duì)象&類圖用雙框表示,類繼承關(guān)系歸納isa用半圓,組合hasa用三角StaffNameAddressChangenManagerNameAddressChangenWorkerNameAddressChangen員工一般父類工人經(jīng)理特殊子類ManagerisastaffWorkerisastaffWerkerisakindsofstaffManagerisakindsofstaffGeneralization一般特殊歸納的語義檢測(cè):CompanyNameAddressChangenDeparte2FinanciaAddressChangenDeparte1productAddressChangen

公司整體父類部門1部門2部分子類Aggregation整體部分組合語義檢測(cè):TheCompanyhasadepartmentofproductionTheCompanyhasadepartmentoffinancialaffairs3)典型方法特點(diǎn)①P.Coad/E.Yourdon面向?qū)ο蠓症贘.Rumbaugh的OMT(ObjectModelingTechnique)提出靜態(tài)對(duì)象模型,動(dòng)態(tài)(狀態(tài),時(shí)序)模型,功能模型,稱三視圖3VD(ThreeViewDiagram)單框描述對(duì)象&類,類繼承關(guān)系,歸納isa用三角組合hasa用菱形StaffNameAddressChangenManagerNameAddressChangenWorkerNameAddressChangenManagerisastaffWorkerisastaffWerkerisakindsofstaffManagerisakindsofstaffGeneralization一般特殊歸納的語義檢測(cè):CompanyNameAddressChangenDeparte2FinanciaAddressChangenDeparte1productAddressChangenAggregation整體部分組合語義檢測(cè):TheCompanyhasadepartmentofproductionTheCompanyhasadepartmentoffinancialaffairs②J.Rumbaugh的OMT(ObjectModelin③G.Booch提出四個(gè)模型,邏輯模型,物理模型,靜態(tài)模型,動(dòng)態(tài)模型。迭代過程用宏過程的五個(gè)活動(dòng)(概念分析設(shè)計(jì)進(jìn)化維護(hù)),為過程的四個(gè)步驟(識(shí)別對(duì)象&類及語義,確定類對(duì)象關(guān)系,實(shí)現(xiàn)類對(duì)象)定義類,對(duì)象,狀態(tài),交互,模塊,進(jìn)程五個(gè)圖.用云圖描述類對(duì)象,類繼承關(guān)系的歸納isa用箭頭,組合hasa用原點(diǎn)動(dòng)態(tài)模型靜態(tài)模型類對(duì)象模塊過程結(jié)構(gòu)邏輯物理StaffNameAddressChangenManagerNameAddressChangenWorkerNameAddressChangenCompanyNameAddressChangenDeparte2FinanciaAddressChangenDeparte1productAddressChangenAggregation整體部分組合語義檢測(cè):TheCompanyhasadepartmentofproductionTheCompanyhasadepartmentoffinancialaffairsManagerisastaffWorkerisastaffWerkerisakindsofstaffManagerisakindsofstaffGeneralization一般特殊歸納的語義檢測(cè):③G.Booch提出四個(gè)模型,邏輯模型,物理模型,靜態(tài)④I.Jacobson的OOSE(ObjectOrintedSoftwareEngeneering)根據(jù)面向?qū)ο缶幊?,概念建模,塊設(shè)計(jì),用例驅(qū)動(dòng),建立面向?qū)ο筌浖こ獭S美?qū)動(dòng)為主模型,內(nèi)外觀察者自頂向下透視。ActorRoleUserViewerMember(AnalystTester)扮演者角色用戶觀察者成員(分析員、測(cè)試人員)等可統(tǒng)稱參與者,用用例圖撲捉系統(tǒng)的靜態(tài)功能,活動(dòng)圖、時(shí)序圖、狀態(tài)圖撲捉系統(tǒng)動(dòng)態(tài)交互活動(dòng)。以上二者結(jié)合逐漸深入設(shè)計(jì)、過程、實(shí)現(xiàn)、配置視圖。1簡(jiǎn)易手表電池顯示屏月日時(shí)分秒按鈕1111122簡(jiǎn)易手表類圖設(shè)置時(shí)間讀時(shí)間更換電池手表用戶手表修理者簡(jiǎn)易手表簡(jiǎn)易手表用例圖過程視實(shí)現(xiàn)視配置視設(shè)計(jì)視用例視系統(tǒng)結(jié)構(gòu)5個(gè)試圖④I.Jacobson的OOSE(ObjectOrinte⑤UML圖形符號(hào)注釋注釋圖○ActorUseCase用例圖Collaboration協(xié)作ClassNameAtributeoperation類圖ClasNameatributeClassNoperation類圖省略形式class

Class<<boundary>>class邊界類圖ClassClass<<Entity>>Class實(shí)體類圖ClassClass<<control>>Class控制類圖paramParameterizedClass參數(shù)類(模板類)圖⑤UML圖形符號(hào)注釋注釋圖○ActorUseCase對(duì)象圖:ClassObject:Classobject<<interface>>interfaceInterfaceInterface接口圖接口實(shí)現(xiàn)圖<<interface>>itemlistener(fromevent)DrawcontrolsDrawcontrol()paint()itemstatechange()Interface(fromevent)DrawcontrolsDrawcontrol()paint()itemstatechange()mroe()Ob2:C2Ob1:C1Ob3:C3Ob4:C4××?xí)r序圖中的消息動(dòng)態(tài)圖中雷同Op()doit(w)doit(Z)[x>0]foo(x)[x<0]bar(x)對(duì)象圖:ClassObject:Classobject<ActionListenerHandleEventMouseListener)接口與類的關(guān)系圖1KeyListener(fromevent)UserInterfaceActionListener接口與類的關(guān)系圖2KeyListener(fromevent)UserInterfaceHandleEvent<<interface>>MouseListenerActionListenerHandleEventMousePackage+Class1#Class2-Class3Package+Public#Protected-Privare包與包的可見性圖<<import>>+service+Processingserver+Windows+Frame#EventHandlerGUI+LoanForm-LoanClient包的引入與非引入圖+Windows+Dialog#EventHandlerGUI+GUI::Windows+Dialog#GUI::EventHandler+MenuBankGUI包類屬關(guān)系圖Package+Class1#Class2-Class3P組件與多接口組件ComponentHandleEventMouseMotionListenerMouseListenerItemListenerKeyListener

ItemListenerUI

ItemlistenerUI<<Interface>>ItemListenerItemListener組件與接口Trackingentry/setMode(on)Exit/setMode(off)Do/followTargetNewTarget/tracker.Acquire()selfTest/defer狀態(tài)入口/出口動(dòng)作內(nèi)部躍遷子狀態(tài)延遲狀態(tài)初態(tài)終態(tài)●●順序子狀態(tài)組件與多接口組件ComponentHandleEventM●●●●●○并發(fā)子狀態(tài)●●躍遷狀態(tài)判定節(jié)點(diǎn)同步條Activity節(jié)點(diǎn)●●●●●○并發(fā)子狀態(tài)●●躍遷狀態(tài)判定節(jié)點(diǎn)同步條Activi24小時(shí)教學(xué)方式:授課時(shí)間:設(shè)計(jì)時(shí)間:52小時(shí)授課+課程設(shè)計(jì)軟件工程003。7。1324小時(shí)教學(xué)方式:授課時(shí)間:設(shè)計(jì)時(shí)間:52小時(shí)授課+課程設(shè)計(jì)第一章軟件工程概述§1.1軟件工程1.軟件需求規(guī)格(A)總體設(shè)計(jì)(B)詳細(xì)設(shè)計(jì)(C)工程的設(shè)計(jì)書設(shè)計(jì)圖紙藍(lán)圖軟件是軟件工程產(chǎn)品有三要素:程序+數(shù)據(jù)+文檔程序不是藍(lán)圖,藍(lán)圖不是程序第一章軟件工程概述§1.1軟件工程需求規(guī)格(A)工程的2.軟件工程的定義

從產(chǎn)品目標(biāo)的觀點(diǎn)看,軟件工程是研究如何開發(fā)出滿足用戶需求的、低成本、高質(zhì)量的大型軟件產(chǎn)品的工程學(xué)科。

軟件工程是一門交叉學(xué)科,它所包含的內(nèi)容不是一成不變的,隨著人們對(duì)軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)以發(fā)展的眼光看待它。軟件工程分代:工程化,面向?qū)ο?,過程,構(gòu)件

一代二代三代四代需求綜合逆向復(fù)用2.軟件工程的定義軟件工程分代:工程化,面向?qū)ο?,過程,構(gòu)軟件工程—一種層次化技術(shù)工具方法過程軟件工程三要素:方法工具過程

工具觀點(diǎn)的方法分類

非形式化(自然語言方式)

半形式化(圖形方式)形式化(基于數(shù)學(xué)方式)軟件工程—一種層次化技術(shù)工具方法過程軟件工程三要素:

方法:開發(fā)的技術(shù)工具:開發(fā)軟件的輔助手段過程:傳統(tǒng)現(xiàn)代

面向?qū)ο?/p>

(對(duì)象驅(qū)動(dòng))

工具(適于特定領(lǐng)域小任務(wù))平臺(tái)(工具組合,適合中小任務(wù))環(huán)境(工具集成,適合大型任務(wù))P

plan

計(jì)劃

描述定義,管理過程A

action執(zhí)行演進(jìn)過程面向數(shù)據(jù)流(過程驅(qū)動(dòng))面向數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)驅(qū)動(dòng))C

check確認(rèn)檢查過程

D

develop開發(fā)軟件開發(fā)過程設(shè)計(jì)觀點(diǎn)的方法分類傳統(tǒng)現(xiàn)代面向?qū)ο?對(duì)象為什么要分周期,分階段,分模塊?答:從工程化的角度,為了保證軟件工程的質(zhì)量。所謂工程化:是指必須計(jì)劃在先,需求在先,分階段,流水依賴。工程化三要點(diǎn):時(shí)間上分階段邏輯上分模塊階段有評(píng)審為什么要分周期,分階段,分模塊?答:從工程化的角度,為了保證子階段功能作用基線計(jì)劃Plan開發(fā)運(yùn)行Action問題定義要做功能的界定問題定義報(bào)告可行性分析可做高層邏輯可行性分析報(bào)告項(xiàng)目計(jì)劃進(jìn)度計(jì)劃安排項(xiàng)目進(jìn)度計(jì)劃,項(xiàng)目實(shí)施方案設(shè)計(jì)需求分析必做問題模型需求規(guī)格說明書,用戶說明書

總體設(shè)計(jì)如何做軟件結(jié)構(gòu)總體設(shè)計(jì)說明書,接口說明(體系結(jié)構(gòu),分模塊)詳細(xì)設(shè)計(jì)具體做過程結(jié)構(gòu)詳細(xì)設(shè)計(jì)說明書實(shí)現(xiàn)編碼翻譯源程序模塊說明測(cè)試驗(yàn)證找出錯(cuò)誤驗(yàn)收?qǐng)?bào)告維護(hù)改進(jìn)改進(jìn)總結(jié)總結(jié)報(bào)告,修改報(bào)告退役版本版本分界版本說明DevelopCheckEvolution子階段功能作用基線計(jì)劃Plan開發(fā)運(yùn)行問題定義文檔:Document軟件開發(fā)過程的圖文描述,分三類:用戶,管理,開發(fā).關(guān)鍵文檔項(xiàng)叫基線(KeyItemBaseline)基線的作用:1、階段的分界標(biāo)志2、配置管理的檢查點(diǎn)3、質(zhì)量評(píng)審的階段成果4、發(fā)行的階段版本軟件與程序的區(qū)別:

成分

周期

過程軟件程序+數(shù)據(jù)+文檔全周期全過程程序程序+數(shù)據(jù)子階段翻譯過程軟件分類:功能系統(tǒng)工具應(yīng)用商業(yè)計(jì)算智能嵌入個(gè)人

規(guī)模大中小微范圍項(xiàng)目產(chǎn)品

頻度高頻偶爾可靠高可靠低可靠

方式實(shí)時(shí)分時(shí)批處理交互定制面向客戶文檔:Document軟件開發(fā)過程的圖文描述,分三類:用軟件工程的目標(biāo):折衷優(yōu)化低成本、高質(zhì)量、按時(shí)交付。軟件危機(jī):軟件生產(chǎn)、開發(fā)過程中出現(xiàn)的供不應(yīng)求的嚴(yán)重問題。

舊危機(jī):新危機(jī):非工程化工程化、結(jié)構(gòu)化以個(gè)人要求為開發(fā)目標(biāo)。不能滿足大型軟件要求解決方法:結(jié)構(gòu)化面向?qū)ο蠓椒ㄜ浖_發(fā)的動(dòng)力——軟件危機(jī)(用戶對(duì)軟件低成本高質(zhì)量的需求)面向?qū)ο笥兴囊兀簩?duì)象+類+繼承+通訊

軟件工程的目標(biāo):折衷優(yōu)化問題:1。軟件的三要素是什么?2。軟件工程三要素是什么?生存周期階段、功能、基線?3。軟件開發(fā)過程包括哪幾個(gè)子階段?4。軟件工程與其它區(qū)別?區(qū)別原理設(shè)計(jì)管理計(jì)算機(jī)科學(xué)具體不具體不具體系統(tǒng)工程

應(yīng)用廣泛應(yīng)用項(xiàng)目管理應(yīng)用實(shí)施具體軟件工程應(yīng)用具體應(yīng)用5。面向?qū)ο笏囊?問題:區(qū)別原理設(shè)計(jì)管理計(jì)算機(jī)科學(xué)具體不具體不具體系統(tǒng)工程軟件為什么難開發(fā),永遠(yuǎn)處于危機(jī)狀態(tài)?客觀原因:四個(gè)本質(zhì)特征難滿足方法、工具、本身有局限主觀原因:乙方(開發(fā)方)組織水平局限甲方(需求方)難溝通軟件特點(diǎn):邏輯產(chǎn)品,抽象、易復(fù)制、可維護(hù)、依賴、可移植、復(fù)雜、昂貴、社會(huì)性?;咎卣鳎ū举|(zhì)特征):復(fù)雜性可變性不可見性一致性(社會(huì)性)軟件為什么難開發(fā),永遠(yuǎn)處于危機(jī)狀態(tài)?§1.2軟件開發(fā)模型軟件工程研究的內(nèi)容軟件開發(fā)理論開發(fā)技術(shù)(方法論)管理技術(shù)§1.2軟件開發(fā)模型四個(gè)原則:分解抽象確定性一致性模型方法原則抽象歸納分解演繹四個(gè)原則:分解抽象確定性一致性模型方法原則計(jì)劃階段開發(fā)階段聽用戶評(píng)價(jià)請(qǐng)用戶驗(yàn)收1、瀑布模型(WaterfallModel)設(shè)計(jì)實(shí)現(xiàn)運(yùn)行退役可行性分析項(xiàng)目計(jì)劃需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試維護(hù)問題定義計(jì)劃開聽用戶評(píng)價(jià)請(qǐng)用戶驗(yàn)收1、瀑布模型設(shè)計(jì)實(shí)現(xiàn)運(yùn)行退役瀑布模型提出背景針對(duì)舊危機(jī)的主要問題,忽視需求質(zhì)量差。解決辦法工程化的觀點(diǎn)(包括三個(gè)要點(diǎn))時(shí)間上分階段——克服盲目性邏輯上分模塊——克服復(fù)雜性階段有評(píng)審——保證質(zhì)量成功點(diǎn):就是工程化的三要點(diǎn)瀑布模型提出背景缺點(diǎn):與用戶見面晚,造成錯(cuò)誤放大難題:數(shù)據(jù)與操作分開抽象,難檢測(cè)階段間模型不統(tǒng)一,難轉(zhuǎn)換接口復(fù)雜,靜態(tài)聯(lián)編,難復(fù)用語義斷層,難實(shí)現(xiàn)適用:中小型,需求確定的小系統(tǒng)開發(fā)作用:奠定了整個(gè)軟件工程的基礎(chǔ)缺點(diǎn):與用戶見面晚,造成錯(cuò)誤放大

2.原型模型(或稱演化、樣機(jī)模型)快速原型模型(RapidPrototypeModel)是其中一種改進(jìn)模型,其它見后。原型快速分析修改評(píng)價(jià)構(gòu)造運(yùn)行開始結(jié)束問題定義可行性分析進(jìn)度安排需求分析(原型)總體設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論