UML建模實例教程(第3版)課件 第2章 面向?qū)ο蠹夹g和建模基礎_第1頁
UML建模實例教程(第3版)課件 第2章 面向?qū)ο蠹夹g和建?;A_第2頁
UML建模實例教程(第3版)課件 第2章 面向?qū)ο蠹夹g和建模基礎_第3頁
UML建模實例教程(第3版)課件 第2章 面向?qū)ο蠹夹g和建?;A_第4頁
UML建模實例教程(第3版)課件 第2章 面向?qū)ο蠹夹g和建?;A_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章面向?qū)ο蠹夹g和建?;A12.1面向?qū)ο蠓椒?.2面向?qū)ο蟮幕靖拍?.3面向?qū)ο蠓治?.4面向?qū)ο笤O計2.5面向?qū)ο髮崿F(xiàn)2.6面向?qū)ο蠓椒ǖ膬?nèi)涵2.7軟件建模概述2本章將向讀者詳細介紹面向?qū)ο蠓椒ǖ幕局R和軟件建模的概述。主要內(nèi)容包括:面向?qū)ο蟮幕靖拍?、面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O計、面向?qū)ο缶幊獭④浖5母拍詈蛙浖5膬?yōu)點等。本章的學習要點包括:面向?qū)ο蠓治觯幻嫦驅(qū)ο笤O計;面向?qū)ο缶幊?;軟件建模的概念?2.1面向?qū)ο蠓椒?2.1面向?qū)ο蠓椒?任務1了解面向?qū)ο筌浖こ痰幕舅枷牒蚈OA、OOD和OOP的基本內(nèi)容。任務描述

6

2.1.1面向?qū)ο蠓椒ǖ幕舅枷搿皩ο螅∣bject)”一詞,在19世紀就由現(xiàn)象學大師胡塞爾提出并定義。胡塞爾認為對象是世界中的物體在人腦中的映象,是人的意識之所以為意識的反映,是作為一種概念而存在的意念的東西,它還包括了人的意愿。對象就是客觀世界中物體在人腦中的映象及人的意向。

IT領域中的“面向?qū)ο蠹夹g”,一般指的是解決信息領域內(nèi)所遇到問題的方法,特別是應用軟件技術來解決問題的方法。如我們經(jīng)常碰到的面向?qū)ο蟮姆治觯∣bject-OrientedAnalysis)、面向?qū)ο蟮脑O計(Object-OrientedDesign)和面向?qū)ο蟮木幊蹋∣bject-OrientedProgramming)等。面向?qū)ο蠓椒ǎ∣bject-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊糜谲浖_發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法。

面向?qū)ο蠓椒ㄗ鳛橐环N新型的獨具優(yōu)越性的新方法正引起全世界越來越廣泛的關注和高度的重視,更是當前計算機界關心的重點。2.1面向?qū)ο蠓椒?

2.1.2面向?qū)ο蠓椒ǖ陌l(fā)展面向?qū)ο蠓椒ㄆ鹪从诿嫦驅(qū)ο蟮木幊陶Z言。

20世紀60年代中后期,在ALGOL語言基礎上研制開發(fā)了Simula語言,Simula語言將ALGOL語言的塊結構概念向前發(fā)展一步,提出了對象的概念,并使用了類,也支持類繼承。

20世紀70年代,Smalltalk語言誕生,它取Simula的類為核心概念。Xerox公司經(jīng)過對Smalltalk72、Smalltalk76持續(xù)不斷的研究和改進之后,于1980年推出商品化的Smalltalk80,它在系統(tǒng)設計中強調(diào)對象概念的統(tǒng)一,引入對象、對象類、方法、實例等概念和術語,采用動態(tài)聯(lián)編和單繼承機制。正是通過Smalltalk80的研制與推廣應用,使人們注意到面向?qū)ο蠓椒ㄋ哂械哪K化、信息封裝與隱蔽、抽象性、繼承性、多樣性等獨特之處,這些優(yōu)異特性為研制大型軟件、提高軟件可靠性、可重用性、可擴充性和可維護性提供了有效的手段和途徑。2.1面向?qū)ο蠓椒?.2面向?qū)ο蟮幕靖拍钆c特征89使用計算機解決問題時需要利用程序設計語言對問題求解加以描述(編程),而軟件是問題求解的一種表述形式。顯然,假如軟件能直接表現(xiàn)人求解問題的思維路徑(求解問題的方法),那么軟件不僅容易被人理解,而且易于維護和修改,從而會保證軟件的可靠性和可維護性,并能提高公共問題域中的軟件模塊和模塊重用的可靠性。面向?qū)ο蟮母拍詈蜋C制可以使人們按照常規(guī)的思維方式來建立問題域的模型,設計出盡可能自然地表現(xiàn)求解方法的軟件。2.2面向?qū)ο蟮幕靖拍钆c特征10

2.2.1面向?qū)ο蟮幕靖拍?.對象對象是要研究的任何事物。一本書、一個人、一件商品都可看作對象,它不僅能表示有形的實體,也能表示無形的(抽象的)規(guī)則、計劃或事件。對象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構成一個獨立整體。2.類類是對象的模板,即類是對一組有相同數(shù)據(jù)和相同操作的對象的定義,一個類所包含的方法和數(shù)據(jù)描述一組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實例。類可有其子類,形成類層次結構。3.消息消息是對象之間進行通信的一種規(guī)格說明。它一般由三部分組成:接收消息的對象、消息名及實際變元。2.2面向?qū)ο蟮幕靖拍钆c特征11

2.2.2面向?qū)ο蟮闹饕卣?.封裝性封裝是一種信息隱蔽技術,它體現(xiàn)于類的說明,是對象的重要特性。封裝使數(shù)據(jù)和加工該數(shù)據(jù)的方法(函數(shù))封裝為一個整體,以實現(xiàn)獨立性很強的模塊,使得用戶只能見到對象的外特性(對象能接收哪些消息,具有哪些處理能力),而對象的內(nèi)特性(保存內(nèi)部狀態(tài)的私有數(shù)據(jù)和實現(xiàn)加工能力的算法)對用戶是隱蔽的。封裝的目的在于把對象的設計者和對象的使用者分開,使用者不需要知道行為實現(xiàn)的細節(jié),只需通過設計者提供的消息來訪問該對象。2.繼承性繼承性是子類自動共享父類數(shù)據(jù)和方法的機制,它由類的派生功能體現(xiàn)。一個類直接繼承其他類的全部描述,同時可修改和擴充。繼承具有傳遞性,繼承分為單繼承(一個子類只有一個父類)和多重繼承(一個類有多個父類)。類的對象是各自封閉的,如果沒有繼承性機制,則類對象中數(shù)據(jù)、方法就會出現(xiàn)大量重復。繼承不僅支持系統(tǒng)的可重用性,而且還促進系統(tǒng)的可擴充性。2.2面向?qū)ο蟮幕靖拍钆c特征12

2.2.2面向?qū)ο蟮闹饕卣?.多態(tài)性對象根據(jù)所接收的消息會產(chǎn)生行動,同一消息為不同的對象接收時可產(chǎn)生完全不同的行動,這種現(xiàn)象稱為多態(tài)性。利用多態(tài)性用戶可發(fā)送一個通用的信息,而將所有的實現(xiàn)細節(jié)都留給接收消息的對象自行決定。例如,Print消息被發(fā)送給圖表時調(diào)用的打印方法與將同樣的Print消息發(fā)送給正文文件而調(diào)用的打印方法會完全不同。多態(tài)性的實現(xiàn)受到繼承性的支持,利用類繼承的層次關系,把具有通用功能的協(xié)議存放在類層次中盡可能高的地方,而將實現(xiàn)這一功能的不同方法置于較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在面向?qū)ο缶幊陶Z言中可通過在派生類中重定義基類函數(shù)(定義為重載函數(shù)或虛函數(shù))來實現(xiàn)多態(tài)性。綜上所述,在面向?qū)ο蠓椒ㄖ?,對象和消息傳遞分別表現(xiàn)事物及事物間相互聯(lián)系的概念。類和繼承是適應人們一般思維方式的描述范式。方法是允許作用于該類對象上的各種操作。這種對象、類、消息和方法的程序設計范式的基本點在于對象的封裝性和類的繼承性。通過封裝能將對象的定義和對象的實現(xiàn)分開,通過繼承能體現(xiàn)類與類之間的關系,以及由此帶來的動態(tài)聯(lián)編和實體的多態(tài)性,從而構成了面向?qū)ο蟮幕咎卣鳌?.2面向?qū)ο蟮幕靖拍钆c特征13

2.2.2面向?qū)ο蟮闹饕卣?.面向?qū)ο蠓椒ǖ膬?yōu)越性面向?qū)ο蠓椒ㄓ糜谙到y(tǒng)開發(fā)有如下優(yōu)越性:(1)強調(diào)從現(xiàn)實世界中客觀存在的事物(對象)出發(fā)來認識問題域和構造系統(tǒng),這就大大降低了系統(tǒng)開發(fā)者對問題域的理解難度,從而使系統(tǒng)能更準確地反映問題域。(2)運用人類日常的思維方法和原則(體現(xiàn)于面向?qū)ο蠓椒ǖ某橄?、分類、繼承、封裝、消息通信等基本原則)進行系統(tǒng)開發(fā),有益于發(fā)揮人類的思維能力,有效地控制了系統(tǒng)復雜性。(3)對象的概念貫穿于開發(fā)過程的始終,使各個開發(fā)階段的系統(tǒng)成分有良好的對應,從而顯著地提高了系統(tǒng)的開發(fā)效率與質(zhì)量,并大大降低系統(tǒng)維護的難度。(4)對象概念的一致性,使參與系統(tǒng)開發(fā)的各類人員在開發(fā)的各階段具有共同語言,有效地改善了人員之間的交流和協(xié)作。(5)對象的相對穩(wěn)定性和對易變因素隔離,增強了系統(tǒng)的應變能力。(6)對象類之間的繼承關系和對象的相對獨立性,對軟件復用提供了強有力的支持。2.2面向?qū)ο蟮幕靖拍钆c特征2.3面向?qū)ο蠓治?4152.3面向?qū)ο蠓治霎斘覀冏裾彰嫦驅(qū)ο蠓椒▽W的思想進行軟件系統(tǒng)開發(fā)時,首先要進行面向?qū)ο蟮姆治觯∣bjectOrientedAnalysis,OOA),其任務是了解問題域所涉及的對象、對象間的關系和作用。然后構造問題的對象模型,力爭該模型能真實地反映出所要解決的“實質(zhì)問題”。在這一過程中,抽象是最本質(zhì)、最重要的方法。針對不同的問題性質(zhì)選擇不同的抽象層次,過簡或過繁都會影響到對問題本質(zhì)屬性的了解和解決。面向?qū)ο蟮姆治龇椒ㄊ窃谝粋€系統(tǒng)的開發(fā)過程中進行系統(tǒng)業(yè)務調(diào)查,按照面向?qū)ο蟮乃枷雭矸治鰡栴}。面向?qū)ο蠓治雠c結構化分析有較大的區(qū)別,面向?qū)ο蠓治鏊鶑娬{(diào)的是在系統(tǒng)調(diào)查資料的基礎上,針對面向?qū)ο蠓椒ㄋ枰乃夭倪M行歸類分析和整理,而不是對管理業(yè)務現(xiàn)狀和方法的分析。16

2.3.1處理復雜問題的原則用面向?qū)ο蠓治龇椒▽λ{(diào)查結果進行分析處理時,一般依據(jù)以下幾項原則:1.抽象(abstraction)抽象是指為了某一分析目的而集中精力研究對象的某一性質(zhì),它可以忽略其他與此目的無關的部分。抽象機制被用在數(shù)據(jù)分析方面,稱為數(shù)據(jù)抽象。數(shù)據(jù)抽象是OOA的核心。數(shù)據(jù)抽象把一組數(shù)據(jù)對象以及作用在其上的操作組成一個程序?qū)嶓w。使得外部只知道它是如何做和如何表示的。在應用數(shù)據(jù)抽象原理時,系統(tǒng)分析人員必須確定對象的屬性以及處理這些屬性的方法,并借助于方法獲得屬性。在OOA中屬性和方法被認為是不可分割的整體。抽象機制有時也被用在對過程的分解方面,稱為過程抽象。恰當?shù)倪^程抽象可以對復雜過程的分解和確定,以及描述對象發(fā)揮積極的作用。2.封裝(encapsulation)封裝即信息隱蔽,是指在確定系統(tǒng)的某一部分內(nèi)容時,應考慮到其他部分的信息及聯(lián)系都在這一部分的內(nèi)部進行,外部各部分之間的信息聯(lián)系應盡可能少。2.3面向?qū)ο蠓治?7

2.3.1處理復雜問題的原則3.繼承(inheritance)繼承是指能直接獲得已有的性質(zhì)和特征而不必重復定義它們。OOA可以一次性地指定對象的公共屬性和方法,然后再特化和擴展這些屬性及方法為特殊情況,這樣可大大地減輕在系統(tǒng)實現(xiàn)過程中的重復勞動。在共有屬性的基礎之上,繼承者也可以定義自己獨有的特性。4.相關(association)相關是指把某一時刻或相同環(huán)境下發(fā)生的事物聯(lián)系在一起。5.消息通信(communicationwithmessage)消息通信是指在對象之間互相傳遞信息的通信方式。2.3面向?qū)ο蠓治?8

2.3.1處理復雜問題的原則6.組織方法(methodoforganization)在分析和認識世界時,可綜合采用如下三種組織方法:特定對象與其屬性之間的區(qū)別;整體對象與相應組成部分對象之間的區(qū)別;不同對象類的構成及其區(qū)別。7.比例(scale)比例是一種運用整體與部分原則,輔助處理復雜問題的方法。8.行為范疇(categoriesofbehavior)行為范疇是針對被分析對象而言的,它們主要包括:基于直接原因的行為;時變性行為;功能查詢性行為。2.3面向?qū)ο蠓治?9

2.3.2OOA方法的基本步驟在用OOA具體地分析一個事物時,大致遵循如下五個基本步驟:1.確定對象和類這里所說的對象是對數(shù)據(jù)及其處理方式的抽象,它反映了系統(tǒng)保存和處理現(xiàn)實世界中某些事物信息的能力。類是多個對象的共同屬性和方法集合的描述,它包括如何在一個類中建立一個新對象的描述。2.確定結構結構是指問題域的復雜性和連接關系。類成員結構反映了泛化-特化關系,整體-部分結構反映整體和局部之間的關系。2.3面向?qū)ο蠓治?0

2.3.2OOA方法的基本步驟3.確定主題主題是指事物的總體概貌和總體分析模型。4.確定屬性屬性就是數(shù)據(jù)元素,可用來描述對象或分類結構的實例,可在圖中給出,并在對象的存儲中指定。5.確定方法方法是在收到消息后必須進行的一些處理操作。對于每個對象和結構來說,用來增加、修改、刪除和選擇一個方法本身都是隱含的,而有些則是顯示的。2.3面向?qū)ο蠓治?.4面向?qū)ο笤O計2122使用面向?qū)ο蠓椒ǖ牡诙骄褪沁M行面向?qū)ο蟮脑O計(ObjectOrientedAnalysis,OOD),即設計軟件的對象模型。根據(jù)所應用的面向?qū)ο筌浖_發(fā)環(huán)境的功能強弱不等,在對問題對象模型分析的基礎上,可能要對它進行一定的改造,但應以最少改變原問題域的對象模型為原則。然后就在軟件系統(tǒng)內(nèi)設計各個對象、對象間的關系(如層次關系、繼承關系等)、對象間的通信方式(如消息模式)等。面向?qū)ο蟮脑O計方法是面向?qū)ο蠓椒ㄖ幸粋€中間過渡環(huán)節(jié),其主要作用是對面向?qū)ο蠓治龅慕Y果作進一步的規(guī)范化整理,以便能夠被面向?qū)ο缶幊讨苯咏邮堋?.4面向?qū)ο笤O計231.對象定義規(guī)格的求精對于OOA所抽象出來的對象和類以及匯集的分析文檔,OOD需要有一個根據(jù)設計要求整理和求精的過程,使之更能符合OOP的需要。這個整理和求精過程主要有兩個方面:一是要根據(jù)面向?qū)ο蟮母拍钅P驼矸治鏊_定的對象結構、屬性、方法等內(nèi)容,改正錯誤的內(nèi)容,刪去不必要和重復的內(nèi)容等;二是進行分類整理,以便于下一步數(shù)據(jù)庫設計和程序處理模塊設計的需要。整理的方法主要是進行歸類,即對類、對象、屬性、方法、結構和主題進行歸類。2.數(shù)據(jù)模型和數(shù)據(jù)庫設計數(shù)據(jù)模型的設計需要確定類和對象屬性的內(nèi)容、消息連接的方式、系統(tǒng)訪問、數(shù)據(jù)模型的方法等。最后每個對象實例的數(shù)據(jù)都必須落實到面向?qū)ο蟮膸旖Y構模型中。2.4面向?qū)ο笤O計243.優(yōu)化設計OOD的優(yōu)化設計過程是從另一個角度對分析結果和處理業(yè)務過程的整理歸納,優(yōu)化包括對象和結構的優(yōu)化、抽象、集成。對象和結構的模塊化表示OOD提供了一種范式,這種范式支持對類和結構的模塊化。這種模塊符合一般模塊化所要求的所有特點,如信息隱蔽性好,內(nèi)部聚合度強和模塊之間耦合度弱等。集成化使得單個構件有機地結合在一起,相互支持。2.4面向?qū)ο笤O計2.5面向?qū)ο髮崿F(xiàn)2526最后階段是面向?qū)ο蟮膶崿F(xiàn)(ObjectOrientedImplementation,OOI),即指軟件功能的編碼實現(xiàn),主要工作為面向?qū)ο蟮木幊蹋∣bjectOrientedProgramming,OOP)。它包括:每個對象的內(nèi)部功能的實現(xiàn),確立對象哪一些處理能力應在哪些類中進行描述,確定并實現(xiàn)系統(tǒng)的界面、輸出的形式及其他控制機理等,總之是實現(xiàn)在OOD階段所規(guī)定的各個對象所應完成的任務。面向?qū)ο缶幊痰幕静襟E如下。(1)分析確定在問題空間和解空間出現(xiàn)的全部對象及其屬性。(2)確定應施加于每個對象的操作,即對象固有的處理能力。(3)分析對象間的聯(lián)系,確定對象彼此間傳遞的消息。2.5面向?qū)ο髮崿F(xiàn)27(4)設計對象的消息模式,消息模式和處理能力共同構成對象的外部特性。(5)分析各個對象的外部特性,將具有相同外部特性的對象歸為一類,從而確定所需要的類。(6)確定類間的繼承關系,將各對象的公共性質(zhì)放在較上層的類中描述,通過繼承來共享對公共性質(zhì)的描述。(7)設計每個類關于對象外部特性的描述。(8)設計每個類的內(nèi)部實現(xiàn)(數(shù)據(jù)結構和方法)。(9)創(chuàng)建所需的對象(類的實例),實現(xiàn)對象間應有的聯(lián)系(發(fā)消息)。2.5面向?qū)ο髮崿F(xiàn)2.6面向?qū)ο蠓椒ǖ膬?nèi)涵2829面向?qū)ο蠓椒ǖ淖饔煤鸵饬x絕不只局限于編程技術,它是一種新的程序設計范型(面向?qū)ο蟪绦蛟O計范型),是信息系統(tǒng)開發(fā)的新方法論(面向?qū)ο蠓椒▽W),是正在興起的新技術(面向?qū)ο蠹夹g)。2.6面向?qū)ο蠓椒ǖ膬?nèi)涵301.面向?qū)ο蟪绦蛟O計范型

程序設計范型(以下簡稱“程設范型”)具體指的是程序設計的體裁,程序設計體裁是用程序設計語言表達各種概念和各種結構的一套設施。目前,程設范型分為:過程式程設范型、函數(shù)式程設范型,此外還有進程式程設范型、事件程設范型和類型系統(tǒng)程設范型。每一程設范型都有多種程序設計語言支持,而某些語言兼?zhèn)涠喾N范型。過程式程設范型是流行最廣泛的程序設計范型,它的中心點是設計過程,所以程序設計時首先要決定的是問題解所需要的過程,然后設計過程的算法。這類范型的語言必須提供設施給過程(函數(shù))傳送變元和返回的值,如何區(qū)分不同種類的過程(函數(shù))、如何傳送變元是這類程序設計中關心的主要問題。

面向?qū)ο蟪淘O范型是在以上范型上發(fā)展起來的,它的關鍵在于加入了類及其繼承性,用類表示通用特性,子類繼承父類的特性,并可加入新的特性。對象以類為樣板被創(chuàng)建。所以在面向?qū)ο蟪淘O范型中,首要的任務是決定所需要的類,每個類應設置足夠的操作,并利用繼承機制共享共同的特性。2.6面向?qū)ο蠓椒ǖ膬?nèi)涵312.面向?qū)ο蠓椒▽W面向?qū)ο蠓椒ㄗ裱话愕恼J知方法學的基本概念(有關演繹—從一般到特殊和歸納—從特殊到一般的完整理論和方法體系),并以面向?qū)ο蠓椒榛A。面向?qū)ο蠓椒▽W要點之一:認為客觀世界是由各種“對象”所組成的,任何事物都是對象,每一個對象都有自己的運動規(guī)律和內(nèi)部狀態(tài),每一個對象都屬于某個對象“類”,都是該對象類的一個元素。復雜的對象可以是由相對比較簡單的各種對象以某種方式而構成的。面向?qū)ο蠓椒▽W要點之二:通過類比,發(fā)現(xiàn)對象間的相似性,即對象間的共同屬性,這就是構成對象類的依據(jù)。在“類”、“父類”、“子類”的概念構成對象類的層次關系時,若不加特殊說明,則處在下一層次上的對象可自然地繼承位于上一層次上的對象的屬性。面向?qū)ο蠓椒▽W要點之三:認為對已分成類的各個對象,可以通過定義一組“方法”來說明該對象的功能,即允許作用于該對象上的各種操作。對象間的相互聯(lián)系是通過傳遞“消息”來完成的,消息就是通知對象去完成一個允許作用于該對象的操作,至于該對象將如何完成這個操作的細節(jié),則是封裝在相應的對象類的定義中的,細節(jié)對于外界是隱蔽的。2.6面向?qū)ο蠓椒ǖ膬?nèi)涵323.面向?qū)ο蠹夹g面向?qū)ο蠓椒仁浅绦蛟O計新范型、系統(tǒng)開發(fā)的新方法學,作為一門新技術它就有了基本的依據(jù)。事實上,面向?qū)ο蠓椒芍С址N類不同的系統(tǒng)開發(fā),已經(jīng)或正在許多方面得以應用,因此,可以說面向?qū)ο蠓椒ㄊ且婚T新的技術——面向?qū)ο蠹夹g。近十多年來,除了面向?qū)ο蟮某绦蛟O計以外,面向?qū)ο蠓椒ㄒ寻l(fā)展應用到整個信息系統(tǒng)領域和一些新興的工業(yè)領域,包括:用戶界面(特別是圖形用戶界面——GUI)、應用集成平臺、面向?qū)ο髷?shù)據(jù)庫(OODB)、分布式系統(tǒng)、網(wǎng)絡管理結構、人工智能領域及并發(fā)工程、綜合集成工程等。20世紀80年代后期形成的并發(fā)工程,其概念要點是在產(chǎn)品開發(fā)初期(方案設計階段)就把結構、工藝、加工、裝配、測試、使用、市場等問題同期并行地啟動運行,其實現(xiàn)必須有兩個基本條件:一是專家群體,二是共享并管理產(chǎn)品信息(將CAD、CAE、CIN緊密結合在一起)。2.6面向?qū)ο蠓椒ǖ膬?nèi)涵334.面向?qū)ο蠓椒ó斍暗难芯款I域(1)智能計算機的研究。面向?qū)ο蠓椒蓪⒅R片看作對象,為相關知識的模塊化提供方便,在知識工程領域越來越受到重視。面向?qū)ο蠓椒ǖ脑O計思想被引入到智能計算機的研究中。(2)新一代操作系統(tǒng)的研究。采用面向?qū)ο蠓椒▉斫M織設計新一代操作系統(tǒng)具有如下優(yōu)點:采用對象來描述OS所需要設計、管理的各類資源信息,如各類設備更為自然;引入面向?qū)ο蠓椒▉硖幚砻嫦驅(qū)ο蟮闹T多事務,如命名、同步、保護、管理等,會更易實現(xiàn)、更便于維護;面向?qū)ο蠓椒▽τ诙鄼C、并發(fā)控制可提供有力的支持,并能恰當?shù)毓芾砭W(wǎng)絡,使其更豐富和協(xié)調(diào)。(3)多學科的綜合研究。當前,人工智能、數(shù)據(jù)庫、編程語言的研究有匯合趨勢。為了實現(xiàn)多學科的綜合,面向?qū)ο蠓椒ㄊ且粋€很有希望的匯聚點。(4)新一代面向?qū)ο蟮挠布到y(tǒng)的研究。要支持采用面向?qū)ο蠓椒ㄔO計的軟件系統(tǒng)的運行,必須建立更理想的能支持面向?qū)ο蠓椒ǖ挠布h(huán)境。目前采用松耦合(分布主存)結構的多處理機系統(tǒng)更接近于面向?qū)ο蠓椒ǖ乃枷搿?.6面向?qū)ο蠓椒ǖ膬?nèi)涵(1)應用面向?qū)ο蠓椒ㄖ械母拍顚VD和播放DVD的情景進行描述。(2)結合軟件開發(fā)實踐,舉例說明OOA、OOD和OOP的具體任務及相關之間的聯(lián)系。(3)舉例說明面向?qū)ο缶幊毯徒Y構化編程的優(yōu)缺點。34

1.操作要求

2.操作提示(1)以學習小組為單位分組進行討論,每小組推薦一名成員進行匯報。(2)通過上網(wǎng)查閱面向?qū)ο蠓椒ㄏ嚓P資料進行更為詳細的了解。(3)結合自己的編程實踐,進一步理解面向?qū)ο蟮幕舅枷搿?.7軟件建模概述352.7軟件建模概述36任務2了解軟件模型在開發(fā)一個軟件系統(tǒng)時的重要作用,理解軟件建模的優(yōu)點。任務描述

371.什么是模型模型是什么?模型是對現(xiàn)實存在的實體的抽象和簡化,模型提供了系統(tǒng)的藍圖。模型過濾非本質(zhì)的細節(jié)信息,抽象出問題本質(zhì),使問題更容易理解。模型是用某種工具對同類或其他工具的表達方式。它是從某一個建模觀點出發(fā),抓住事物最重要的方面而簡化或忽略其他方面。表達模型的工具要求便于使用。建筑模型可以是圖紙上所繪的建筑圖,也可以是用厚紙板制作的三維模型,還可以用存于計算機中的有限元方程來表示。一個建筑物的結構模型不僅能夠展示這個建筑物的外觀,還可以用它來進行工程設計和成本核算。軟件系統(tǒng)的模型用建模語言來表達(如UML)。這里的模型包含語義信息和表示法,可以采取圖形和文字等多種不同形式??梢暬J鞘褂靡恍﹫D形符號進行建模,可視化建模的作用如下:它可以捕捉用戶的業(yè)務過程,可以作為一種很好的交流工具,可以管理系統(tǒng)的復雜性,可以定義軟件的架構,還可以增加重用性。本文所提的建模都是指可視化建模。2.7軟件建模概述

2.7.1軟件建模的概念382.為什么要建模需要為軟件系統(tǒng)建立模型是因為開發(fā)一個具有一定規(guī)模和復雜性的軟件系統(tǒng),和編寫一個簡單的程序大不一樣。大型的、復雜的軟件系統(tǒng)的開發(fā)是一項工程,必須按工程學的方法組織軟件的生產(chǎn)與管理,必須經(jīng)過分析、設計、實現(xiàn)、測試、維護等一系列的軟件生命周期階段。這是人們從軟件危機中獲得的最重要的教益。只有在分析和設計階段建立了良好的系統(tǒng)模型,才有可能保證工程的正確實施?,F(xiàn)在的軟件越來越大,大多數(shù)軟件的功能都很復雜,使得軟件開發(fā)只會變得更加復雜和難以把握。解決這類復雜問題最有效的方法之一就是分層理論,即將復雜問題分為多個問題逐一解決。軟件模型就是對復雜問題進行分層,從而更好地解決問題。這就是為什么要對軟件進行建模的原因。有效的軟件模型有利于分工與專業(yè)化生產(chǎn),從而節(jié)省生產(chǎn)成本。

在軟件系統(tǒng)建模中,抽象是一種處理復雜問題的常用方法。2.7軟件建模概述

2.7.1軟件建模的概念393.建模的必要性模型是軟件開發(fā)之根本,無論軟件的大小、涉及的范圍,還是建模本身,都是系統(tǒng)化認識所開發(fā)軟件的一個初步的途徑。在現(xiàn)在軟件開發(fā)的過程中,必須經(jīng)歷的幾個過程是需求分析、系統(tǒng)設計、初步實現(xiàn)、系統(tǒng)實現(xiàn)、系統(tǒng)運行、系統(tǒng)維護。原先的系統(tǒng)建模的形式是初步的、不完善的,隨著系統(tǒng)實施向前推進,系統(tǒng)模型必須隨之改變,但建模沒有跟蹤過程,但RUP提供一個合理的機制——迭代,可以幫助我們解決系統(tǒng)級建模的所有問題。迭代式是開發(fā)過程的描述,實質(zhì)就是在各個階段對模型的描述更新,重新認識系統(tǒng),并把握系統(tǒng)發(fā)展趨向,從而有效地控制開發(fā)和系統(tǒng)的架構。2.7軟件建模概述

2.7.1軟件建模的概念40模型有多種用途,主要包括以下幾個方面:(1)精確捕獲和表達項目的需求和應用領域中的知識,以使各方面的利益相關者能夠理解并達成一致。(2)進行系統(tǒng)設計。(3)使具體的設計細節(jié)與需求分開。(4)生成有用的實

溫馨提示

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

評論

0/150

提交評論