系統(tǒng)分析第一章(鄭大鵬).ppt_第1頁(yè)
系統(tǒng)分析第一章(鄭大鵬).ppt_第2頁(yè)
系統(tǒng)分析第一章(鄭大鵬).ppt_第3頁(yè)
系統(tǒng)分析第一章(鄭大鵬).ppt_第4頁(yè)
系統(tǒng)分析第一章(鄭大鵬).ppt_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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、系統(tǒng)分析與設(shè)計(jì),鄭大鵬07563622862,第1講:導(dǎo)論,目的: 了解本課程 了解OOA/OOD 內(nèi)容: 課程介紹 何謂OOA/OOD,課程介紹,本課程學(xué)什么 為什么要學(xué) 如何學(xué),本課程學(xué)什么,軟件工程的目標(biāo)是要生產(chǎn)出用戶需要的軟件。生產(chǎn)這種軟件,實(shí)際上就是構(gòu)造一個(gè)基于計(jì)算機(jī)的系統(tǒng); 軟件工程常常和建筑工程類比。軟件就好比建筑工程師要建的房子。,本課程學(xué)什么,假如要建筑師在花園一角建一間狗舍,只需要按照經(jīng)驗(yàn)即興建成,不需要額外的準(zhǔn)備工作;,本課程學(xué)什么,如果要建一座大樓,則需要很多其他的工作。,本課程學(xué)什么,首先,工程師要理解客戶的真正需求。弄清楚客戶要一座怎樣的房

2、子; 其次,工程師要決定這個(gè)房子應(yīng)由哪些部分構(gòu)成,各部分之間有什么關(guān)系;,本課程學(xué)什么,然后,工程師要規(guī)劃好建房的步驟; 在這些工作的基礎(chǔ)上,房子才能破土動(dòng)工。 這些工作,就相當(dāng)于本課程要學(xué)習(xí)的系統(tǒng)分析和設(shè)計(jì)。,本課程學(xué)什么,系統(tǒng)分析:發(fā)現(xiàn)問(wèn)題、理解問(wèn)題、定義問(wèn)題(不是解決問(wèn)題); 系統(tǒng)設(shè)計(jì):對(duì)問(wèn)題給出概念性解決方案(不是真的實(shí)施)。 本課程內(nèi)容主要圍繞上面兩個(gè)方面及有關(guān)的過(guò)程展開,本課程學(xué)什么,首先,我們要學(xué)會(huì)發(fā)掘、理解、記錄用戶對(duì)軟件的需求; 學(xué)會(huì)確定軟件的架構(gòu)及組成要素,并用文字和圖形表示出來(lái); 學(xué)習(xí)軟件開發(fā)的一般過(guò)程(步驟)、活動(dòng)及完成活動(dòng)的方法(原則與技巧)。,為什么要學(xué),知識(shí)結(jié)構(gòu)

3、不學(xué)習(xí)就不能全面理解軟件開發(fā) 其他課程不能完全發(fā)揮作用,為什么要學(xué),工作需要 軟件開發(fā)中實(shí)際應(yīng)用 部分同學(xué)的職業(yè),為什么要學(xué),開啟智慧 本課程涉及的知識(shí)具有普遍意義 不管做什么工作都有啟發(fā),如何學(xué),認(rèn)真聽課 閱讀教材及參考書(網(wǎng)站) 思考 完成作業(yè)和練習(xí),聽課+閱讀+思考+實(shí)踐,如何學(xué),教材 UML和模式應(yīng)用 面向?qū)ο蟮姆治鲈O(shè)計(jì)和迭代開發(fā) 作者具有豐富的工程實(shí)踐經(jīng)驗(yàn) 內(nèi)容翔實(shí)具體,可模仿性強(qiáng),如何學(xué),參考書 (瑞典)Ivar Jacobson, Object-Oriented Software Engineering:a Use Case Driven Approach, Addison-We

4、sley, 1992。 (美)Robert C. Martin,敏捷軟件開發(fā),中國(guó)電力出版社,2003年7月 (美)Grady Booch、James Rumbaugh、Ivar Jacobson,UML用戶指南,人民郵電出版社,2006年6月 (美) Eric Evans,領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)軟件核心復(fù)雜性應(yīng)對(duì)之道,人民郵電出版社,2007年11月,如何學(xué),網(wǎng)站 使用google查找。關(guān)鍵詞:軟件工程、UML、系統(tǒng)分析,如何學(xué),答疑 Email: 電話:3622862 面對(duì)面:每次課課后?;蛘撸?辦公室:HA202(周二下午2:003:30),如何學(xué),考核 考勤:10分(缺三分之一取消考試資格);

5、 二次上交書面作業(yè):20分; 期末大作業(yè):70分。,何謂OOA/OOD,軟件工程簡(jiǎn)史 面向?qū)ο蟮姆椒ê?jiǎn)介 舉例 UML簡(jiǎn)介,軟件工程簡(jiǎn)史,計(jì)算機(jī)產(chǎn)生于1940年代; 軟件工程的概念出現(xiàn)于1960年代末; 軟件工程的目標(biāo)是探索有效的軟件開發(fā)方法。開始,隨著結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言產(chǎn)生的方法,被稱為結(jié)構(gòu)化方法; 1980年代后,隨著面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的出現(xiàn)和流行,產(chǎn)生了面向?qū)ο蟮姆椒ā?軟件工程簡(jiǎn)史,結(jié)構(gòu)化的本意是工程化、有章法的意思;(從這個(gè)意義說(shuō),面向?qū)ο蟮姆椒ㄒ彩墙Y(jié)構(gòu)化的) 結(jié)構(gòu)化方法指一大類設(shè)計(jì)方法,即軟件工程誕生后、面向?qū)ο蟮姆椒óa(chǎn)生前的軟件開發(fā)方法;,軟件工程簡(jiǎn)史,結(jié)構(gòu)化方法包括: 結(jié)構(gòu)

6、化的程序設(shè)計(jì); 結(jié)構(gòu)化的系統(tǒng)分析; 結(jié)構(gòu)化的系統(tǒng)設(shè)計(jì),軟件工程簡(jiǎn)史,結(jié)構(gòu)化的程序設(shè)計(jì) C語(yǔ)言程序設(shè)計(jì),就是結(jié)構(gòu)化的程序設(shè)計(jì)方法。,軟件工程簡(jiǎn)史,結(jié)構(gòu)化的系統(tǒng)分析 典型的分析方法是把系統(tǒng)的功能看成是對(duì)一些數(shù)據(jù)的處理 對(duì)系統(tǒng)的描述可以從數(shù)據(jù)及對(duì)數(shù)據(jù)的處理、數(shù)據(jù)的關(guān)系出發(fā)。,軟件工程簡(jiǎn)史,結(jié)構(gòu)化的系統(tǒng)分析 結(jié)構(gòu)化方法常用以下圖形語(yǔ)言表示設(shè)計(jì)結(jié)果,軟件工程簡(jiǎn)史,數(shù)據(jù)流圖,軟件工程簡(jiǎn)史,E-R圖,軟件工程簡(jiǎn)史,數(shù)據(jù)詞典,軟件工程簡(jiǎn)史,模塊結(jié)構(gòu)圖,軟件工程簡(jiǎn)史,IPO圖,面向?qū)ο蟮姆椒ê?jiǎn)介,對(duì)象:客觀存在的事物。包含了數(shù)據(jù)和行為(對(duì)數(shù)據(jù)的處理)。 產(chǎn)生的原因 傳統(tǒng)方法具有的缺陷 不便于適應(yīng)系統(tǒng)變化 不利于

7、代碼重用 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)的發(fā)展(舊方法與新的編程語(yǔ)言和技術(shù)不協(xié)調(diào)),面向?qū)ο蟮姆椒ê?jiǎn)介,面向?qū)ο蟮幕靖拍?類和類實(shí)例 類之間的關(guān)聯(lián) 類的封裝性 類的繼承性 類的多態(tài)性 接口,面向?qū)ο蟮姆椒ê?jiǎn)介,面向?qū)ο蠓椒ǖ奶攸c(diǎn) 容易理解 容易適應(yīng)變化 有利于提高開發(fā)效率與質(zhì)量,面向?qū)ο蟮姆椒ê?jiǎn)介,面向?qū)ο蟮姆治觯∣OA):強(qiáng)調(diào)在問(wèn)題領(lǐng)域內(nèi)發(fā)現(xiàn)和描述對(duì)象(或概念) 面向?qū)ο蟮脑O(shè)計(jì)(OOD):強(qiáng)調(diào)定義軟件對(duì)象以及它們的協(xié)作方式以實(shí)現(xiàn)需求。 面向?qū)ο蟮膶?shí)現(xiàn):采用某種OO語(yǔ)言(如C+、C#、Java)實(shí)現(xiàn)設(shè)計(jì)的對(duì)象。,舉例,要求:設(shè)計(jì)一個(gè)骰子電腦游戲,游戲規(guī)則為玩家擲兩個(gè)骰子,如果點(diǎn)數(shù)之和為7則贏。 通過(guò)

8、以下步驟完成OOAD,定義用例,定義領(lǐng)域模型,定義設(shè)計(jì)類圖,定義交互圖,舉例,定義用例:玩家請(qǐng)求擲出兩顆骰子,點(diǎn)數(shù)之和為7則贏,否則為輸。,定義用例,定義領(lǐng)域模型,定義設(shè)計(jì)類圖,定義交互圖,舉例,本游戲涉及的概念有:玩家(player)、骰子游戲(DiceGame)、骰子(Dice)。領(lǐng)域模型為:,領(lǐng)域?qū)ο?定義用例,定義領(lǐng)域模型,定義設(shè)計(jì)類圖,定義交互圖,舉例,骰子游戲的交互圖為:,定義用例,定義領(lǐng)域模型,定義設(shè)計(jì)類圖,定義交互圖,舉例,設(shè)計(jì)類圖為:,定義用例,定義領(lǐng)域模型,定義設(shè)計(jì)類圖,定義交互圖,舉例,本課程就是要了解和掌握這些東西及其他,UML簡(jiǎn)介,上例中,使用的圖形有嚴(yán)格規(guī)定,稱為U

9、ML(Unified Modeling Language) 它是描述、構(gòu)造和文檔化系統(tǒng)制品的可視化語(yǔ)言 是國(guó)際通用標(biāo)準(zhǔn)(OMG頒布) 本課程會(huì)結(jié)合OOA/OOD介紹常用的UML語(yǔ)法。,UML簡(jiǎn)介,主要圖形有: 用例圖 活動(dòng)圖 類圖/組件圖 交互圖(順序圖/通信圖) 包圖 部署圖 狀態(tài)圖,UML簡(jiǎn)介,UML的三種應(yīng)用方式: UML作為草圖 UML作為藍(lán)圖 UML作為編程語(yǔ)言:仍處于研究和發(fā)展階段,UML簡(jiǎn)介,UML的三個(gè)應(yīng)用視角(Perspectives) 概念方面:描述領(lǐng)域模型,使真實(shí)世界的概念可視化 規(guī)格說(shuō)明方面:用圖來(lái)描述軟件的抽象物或具有規(guī)格說(shuō)明和接口的組件,但不針對(duì)特定實(shí)現(xiàn) 實(shí)現(xiàn)方面:用于設(shè)計(jì)模型,使軟件系統(tǒng)中的類可視化,用圖來(lái)描述特定技術(shù)中的軟件實(shí)現(xiàn),UML簡(jiǎn)介,UML的不同應(yīng)用方面,UML簡(jiǎn)介,類有三種

溫馨提示

  • 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)論