版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、統(tǒng)一建模語言(UML),第1章 面向?qū)ο蠹夹g(shù)概述,重點(diǎn): 軟件工程相關(guān)概念 面向?qū)ο笙嚓P(guān)概念,1.1 軟件危機(jī)與軟件工程,軟件發(fā)展的幾個(gè)時(shí)期 1946(第一臺計(jì)算機(jī))1960 “軟件”雛形是簡單的程序 20世紀(jì)60年代末到70年代初 “軟件”成為產(chǎn)品 至今 軟件工程時(shí)期 軟件危機(jī) 軟件危機(jī)指的是在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。 如何開發(fā)軟件,以滿足不斷增長的、日趨復(fù)雜的要求 如何維護(hù)規(guī)模不斷龐大的軟件產(chǎn)品,軟件工程,由北大西洋公約組織NATO于1968年提出 軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。 采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考
2、驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。,1.1 軟件危機(jī)與軟件工程,軟件開發(fā)的現(xiàn)狀 軟件工程學(xué)科不斷發(fā)展 軟件危機(jī)仍然存在 中小型軟件開發(fā)較為成熟,大型軟件存在問題 常見軟件開發(fā)方法 瀑布模型 增量模型 原型模型 螺旋模型 (風(fēng)險(xiǎn)驅(qū)動(dòng)),1.1 軟件危機(jī)與軟件工程,1.2 軟件開發(fā)的基本認(rèn)識,大型軟件系統(tǒng)的特點(diǎn) 開發(fā)代價(jià)高、時(shí)間長,參與人員多,軟件生命周期長。 軟件系統(tǒng)開發(fā)的兩個(gè)方面 軟件開發(fā)過程 軟件開發(fā)中資源的協(xié)調(diào)和管理,1.2 軟件開發(fā)的基本認(rèn)識,軟件是邏輯部件,而不是物理部件,軟件產(chǎn)品與硬件產(chǎn)品的區(qū)別 表
3、現(xiàn)形式不同 (看不見 ,摸不著,長期運(yùn)行看效果) 生產(chǎn)方式不同 (人與人的溝通,容易有疏忽與失誤) 產(chǎn)品需求不同 (軟件不允許有誤差) 維護(hù)方式不同 (出現(xiàn)bug要調(diào)整,進(jìn)而引發(fā)新bug),1.3 軟件固有的復(fù)雜性,軟件開發(fā)的復(fù)雜性與困難性是由于軟件的特點(diǎn)造成的,軟件的復(fù)雜性是固有的。 軟件復(fù)雜性的原因 跟計(jì)算機(jī)體系結(jié)構(gòu)相關(guān)(馮.諾依曼 硬件簡單/軟件復(fù)雜) 軟件開發(fā)是智力活動(dòng),無法形成統(tǒng)一開發(fā)模式 軟件系統(tǒng)的需求經(jīng)常改變 軟件元素之間的關(guān)系不確定 軟件依賴硬件環(huán)境,1.4 軟件工程的一般原則,分解,“分而治之”或“各個(gè)擊破”,降低復(fù)雜性 抽象,抽取系統(tǒng)本質(zhì)特征,忽略非基本特征 (Miller
4、神奇的數(shù)字7) 過程抽象 數(shù)據(jù)抽象 模塊化,基本要求是高內(nèi)聚、低耦合 信息隱藏,也稱封裝 (電話) 復(fù)用 軟件自動(dòng)化 軟件構(gòu)件組裝,結(jié)構(gòu)化的開發(fā)方法 SA、SD、SP 特點(diǎn):面向數(shù)據(jù)流 DFD軟件結(jié)構(gòu)圖SC優(yōu)化劃分模塊內(nèi)部算法和流程,Jackson方法(不常用) 面向數(shù)據(jù)結(jié)構(gòu) (例如,學(xué)生信息管理系統(tǒng),處理各表的輸入輸出),面向?qū)ο蟮拈_發(fā)方法 OOA、OOD、OOP,1.5 幾種基本的軟件開發(fā)方法,1.6 面向?qū)ο蟮陌l(fā)展歷程,196070年代 COBOL(商用語言,銀行)、FORTRAN(工程計(jì)算)、C(系統(tǒng)開發(fā)) 結(jié)構(gòu)化分析和設(shè)計(jì)技術(shù) 1980年90年代初期 Smalltalk、Ada、C+
5、、Visual Basic 早期面向?qū)ο笊桑ùa)方法 90年代中晚期 Java UML Unified Process,1.7 面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn),面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn) 穩(wěn)定性較高,需求的較小改變不會影響軟件的結(jié)構(gòu) 開發(fā)的系統(tǒng)更易于理解, 貼近現(xiàn)實(shí)世界(功能為基礎(chǔ)PK對象為基礎(chǔ)) 可靠性高 復(fù)用 結(jié)構(gòu)化方法對問題進(jìn)行功能分解,強(qiáng)調(diào)軟件的結(jié)構(gòu)按照功能來組織,一旦功能改變,軟件結(jié)構(gòu)就不穩(wěn)定 OO方法按照問題域分解,能夠更直接地描述現(xiàn)實(shí)世界 各個(gè)開發(fā)階段之間過渡平滑 OOA與OOD階段無鴻溝,1.8 面向?qū)ο箢I(lǐng)域的基本概念,OO技術(shù)領(lǐng)域存在一些基本術(shù)語和概念,需要掌握和理解。,1.8.1 對象和實(shí)
6、例,對象(Object) 有意義的一切事物都是對象 它是系統(tǒng)用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位。 對象包括:屬性(靜態(tài)特征)和方法(動(dòng)態(tài)特征) 對象之間對過消息進(jìn)行通信。 實(shí)例(Instance) 它與對象的概念很類似,但其含義更廣泛一些。,1.8.2 類,類(Class) 它是具有相同屬性和方法的一組對象的集合 為某類對象提供統(tǒng)一的描述 類是靜態(tài)概念,對象是動(dòng)態(tài)的 對象是類的實(shí)例,1.8.3 封裝,封裝(Encapsulation) 就是把對象的屬性和方法結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。 封裝使對象具有2個(gè)部分:接口部分和實(shí)現(xiàn)部分 (硬盤) 封裝提供2
7、種保護(hù) 保護(hù)對象 防止直接訪問對象內(nèi)部細(xì)節(jié) 保護(hù)客戶 防止對象實(shí)現(xiàn)部分的變化影響客戶對象,1.8.4 繼承,繼承(Inheritance) 它使子類可以繼承父類的屬性和方法 繼承增加了軟件復(fù)用的機(jī)會 單繼承與多繼承,override與overload,覆蓋(override)在子類中增加或重新定義所繼承的屬性或方法。 public class A String name; public String getValue() return “Value is:” + name; public class B extends A String address; public String getVa
8、lue () return “Value is:” + address; ,重載(overload)同一個(gè)類中有多個(gè)同名方法,但它們在操作數(shù)或操作數(shù)類型上有區(qū)別。系統(tǒng)根據(jù)實(shí)參引用不同方法。,1.8.5 多態(tài),多態(tài)(polymorphism) 在OO技術(shù)中,多態(tài)指使一個(gè)實(shí)體在不同上下文條件下具有不同意義或用法的能力 與多態(tài)有關(guān)的概念 繼承 覆蓋 動(dòng)態(tài)綁定 向上轉(zhuǎn)型(指派),圓柱體 錐體 立方體,1.8.6 消息,消息(Message) 是指向?qū)ο蟀l(fā)出的服務(wù)請求 對象直接用消息的方式傳遞信息,而不是參數(shù) 包括:提供服務(wù)的對象的標(biāo)識、服務(wù)標(biāo)識、輸入信息和回答信息等 對象間的消息傳遞是OO方法的基本原
9、則 消息包括 同步消息,請求者需要等待響應(yīng)者返回 異步消息,請求者不需要等待響應(yīng)者返回,發(fā)出消息后可以繼續(xù)自己的后續(xù)工作(和函數(shù)調(diào)用有本質(zhì)區(qū)別),1.9 面向?qū)ο蠓治雠c設(shè)計(jì),分析模型Analysis models 描述應(yīng)用領(lǐng)域 設(shè)計(jì)模型Design models 描述軟件系統(tǒng) 如structure chart OO開發(fā)方法中分析模型和設(shè)計(jì)模型之間使用相同的模型和建模概念,二者之間映射方便,平滑過渡,防止不一致。,OOA 用面向?qū)ο蠓椒ǚ治鰡栴}域,建立基于對象、消息的業(yè)務(wù)模型,形成對客觀世界和業(yè)務(wù)本身的正確認(rèn)識。 生成業(yè)務(wù)對象的動(dòng)、靜態(tài)模型和抽象類 UML業(yè)務(wù)模型、用例圖以及初步的交互圖。 OOD 針對OOA給出的問題域模型,用面向?qū)ο蠓椒ㄔO(shè)計(jì)出軟件的基礎(chǔ)架構(gòu)(概要設(shè)計(jì))和完整的類結(jié)構(gòu)(詳細(xì)設(shè)計(jì)),以完成業(yè)務(wù)功能。最后編碼。 生成對象類的動(dòng)、靜態(tài)模型(解決域) UML類圖、交互圖(順序圖和協(xié)作圖
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤制烯烴生產(chǎn)工安全知識水平考核試卷含答案
- 余熱余壓利用系統(tǒng)操作工安全意識強(qiáng)化知識考核試卷含答案
- 硅料腐蝕工風(fēng)險(xiǎn)評估與管理強(qiáng)化考核試卷含答案
- 絲麻毛纖維預(yù)處理工安全宣貫?zāi)M考核試卷含答案
- 江浙高中發(fā)展聯(lián)盟2025-2026學(xué)年高三上學(xué)期1月學(xué)情監(jiān)測語文試題附答案
- 統(tǒng)編版本語文高中選擇性必修中冊《屈原列傳》第1課時(shí)教學(xué)設(shè)計(jì)
- 2026河北衡水市第八中學(xué)招聘備考題庫及參考答案詳解
- 老年術(shù)后3D打印體位調(diào)整輔具設(shè)計(jì)
- 企業(yè)級大數(shù)據(jù)分析流程詳解
- 組織胚胎學(xué)基礎(chǔ):細(xì)胞周期課件
- 工廠驗(yàn)收測試(FAT)
- 麻醉藥品、精神藥品月檢查記錄
- 高職單招數(shù)學(xué)試題及答案
- 基礎(chǔ)化學(xué)(本科)PPT完整全套教學(xué)課件
- 蕉嶺縣幅地質(zhì)圖說明書
- 玻璃幕墻分項(xiàng)工程質(zhì)量驗(yàn)收記錄表
- 電梯控制系統(tǒng)論文
- (完整word版)人教版初中語文必背古詩詞(完整版)
- 湖北省地質(zhì)勘查坑探工程設(shè)計(jì)編寫要求
- GB/T 4310-2016釩
- GB/T 28799.3-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第3部分:管件
評論
0/150
提交評論