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

下載本文檔

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

文檔簡介

第2章面向對象技術和建?;A12.1面向對象方法2.2面向對象的基本概念2.3面向對象分析2.4面向對象設計2.5面向對象實現(xiàn)2.6面向對象方法的內涵2.7軟件建模概述2本章將向讀者詳細介紹面向對象方法的基本知識和軟件建模的概述。主要內容包括:面向對象的基本概念、面向對象分析、面向對象設計、面向對象編程、軟件建模的概念和軟件建模的優(yōu)點等。本章的學習要點包括:面向對象分析;面向對象設計;面向對象編程;軟件建模的概念。32.1面向對象方法42.1面向對象方法5任務1了解面向對象軟件工程的基本思想和OOA、OOD和OOP的基本內容。任務描述

6

2.1.1面向對象方法的基本思想“對象(Object)”一詞,在19世紀就由現(xiàn)象學大師胡塞爾提出并定義。胡塞爾認為對象是世界中的物體在人腦中的映象,是人的意識之所以為意識的反映,是作為一種概念而存在的意念的東西,它還包括了人的意愿。對象就是客觀世界中物體在人腦中的映象及人的意向。

IT領域中的“面向對象技術”,一般指的是解決信息領域內所遇到問題的方法,特別是應用軟件技術來解決問題的方法。如我們經常碰到的面向對象的分析(Object-OrientedAnalysis)、面向對象的設計(Object-OrientedDesign)和面向對象的編程(Object-OrientedProgramming)等。面向對象方法(Object-OrientedMethod)是一種把面向對象的思想應用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法。

面向對象方法作為一種新型的獨具優(yōu)越性的新方法正引起全世界越來越廣泛的關注和高度的重視,更是當前計算機界關心的重點。2.1面向對象方法7

2.1.2面向對象方法的發(fā)展面向對象方法起源于面向對象的編程語言。

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

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

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

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

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

2.2.2面向對象的主要特征4.面向對象方法的優(yōu)越性面向對象方法用于系統(tǒng)開發(fā)有如下優(yōu)越性:(1)強調從現(xiàn)實世界中客觀存在的事物(對象)出發(fā)來認識問題域和構造系統(tǒng),這就大大降低了系統(tǒng)開發(fā)者對問題域的理解難度,從而使系統(tǒng)能更準確地反映問題域。(2)運用人類日常的思維方法和原則(體現(xiàn)于面向對象方法的抽象、分類、繼承、封裝、消息通信等基本原則)進行系統(tǒng)開發(fā),有益于發(fā)揮人類的思維能力,有效地控制了系統(tǒng)復雜性。(3)對象的概念貫穿于開發(fā)過程的始終,使各個開發(fā)階段的系統(tǒng)成分有良好的對應,從而顯著地提高了系統(tǒng)的開發(fā)效率與質量,并大大降低系統(tǒng)維護的難度。(4)對象概念的一致性,使參與系統(tǒng)開發(fā)的各類人員在開發(fā)的各階段具有共同語言,有效地改善了人員之間的交流和協(xié)作。(5)對象的相對穩(wěn)定性和對易變因素隔離,增強了系統(tǒng)的應變能力。(6)對象類之間的繼承關系和對象的相對獨立性,對軟件復用提供了強有力的支持。2.2面向對象的基本概念與特征2.3面向對象分析14152.3面向對象分析當我們遵照面向對象方法學的思想進行軟件系統(tǒng)開發(fā)時,首先要進行面向對象的分析(ObjectOrientedAnalysis,OOA),其任務是了解問題域所涉及的對象、對象間的關系和作用。然后構造問題的對象模型,力爭該模型能真實地反映出所要解決的“實質問題”。在這一過程中,抽象是最本質、最重要的方法。針對不同的問題性質選擇不同的抽象層次,過簡或過繁都會影響到對問題本質屬性的了解和解決。面向對象的分析方法是在一個系統(tǒng)的開發(fā)過程中進行系統(tǒng)業(yè)務調查,按照面向對象的思想來分析問題。面向對象分析與結構化分析有較大的區(qū)別,面向對象分析所強調的是在系統(tǒng)調查資料的基礎上,針對面向對象方法所需要的素材進行歸類分析和整理,而不是對管理業(yè)務現(xiàn)狀和方法的分析。16

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

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

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

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

2.3.2OOA方法的基本步驟3.確定主題主題是指事物的總體概貌和總體分析模型。4.確定屬性屬性就是數(shù)據(jù)元素,可用來描述對象或分類結構的實例,可在圖中給出,并在對象的存儲中指定。5.確定方法方法是在收到消息后必須進行的一些處理操作。對于每個對象和結構來說,用來增加、修改、刪除和選擇一個方法本身都是隱含的,而有些則是顯示的。2.3面向對象分析2.4面向對象設計2122使用面向對象方法的第二步就是進行面向對象的設計(ObjectOrientedAnalysis,OOD),即設計軟件的對象模型。根據(jù)所應用的面向對象軟件開發(fā)環(huán)境的功能強弱不等,在對問題對象模型分析的基礎上,可能要對它進行一定的改造,但應以最少改變原問題域的對象模型為原則。然后就在軟件系統(tǒng)內設計各個對象、對象間的關系(如層次關系、繼承關系等)、對象間的通信方式(如消息模式)等。面向對象的設計方法是面向對象方法中一個中間過渡環(huán)節(jié),其主要作用是對面向對象分析的結果作進一步的規(guī)范化整理,以便能夠被面向對象編程直接接受。2.4面向對象設計231.對象定義規(guī)格的求精對于OOA所抽象出來的對象和類以及匯集的分析文檔,OOD需要有一個根據(jù)設計要求整理和求精的過程,使之更能符合OOP的需要。這個整理和求精過程主要有兩個方面:一是要根據(jù)面向對象的概念模型整理分析所確定的對象結構、屬性、方法等內容,改正錯誤的內容,刪去不必要和重復的內容等;二是進行分類整理,以便于下一步數(shù)據(jù)庫設計和程序處理模塊設計的需要。整理的方法主要是進行歸類,即對類、對象、屬性、方法、結構和主題進行歸類。2.數(shù)據(jù)模型和數(shù)據(jù)庫設計數(shù)據(jù)模型的設計需要確定類和對象屬性的內容、消息連接的方式、系統(tǒng)訪問、數(shù)據(jù)模型的方法等。最后每個對象實例的數(shù)據(jù)都必須落實到面向對象的庫結構模型中。2.4面向對象設計243.優(yōu)化設計OOD的優(yōu)化設計過程是從另一個角度對分析結果和處理業(yè)務過程的整理歸納,優(yōu)化包括對象和結構的優(yōu)化、抽象、集成。對象和結構的模塊化表示OOD提供了一種范式,這種范式支持對類和結構的模塊化。這種模塊符合一般模塊化所要求的所有特點,如信息隱蔽性好,內部聚合度強和模塊之間耦合度弱等。集成化使得單個構件有機地結合在一起,相互支持。2.4面向對象設計2.5面向對象實現(xiàn)2526最后階段是面向對象的實現(xiàn)(ObjectOrientedImplementation,OOI),即指軟件功能的編碼實現(xiàn),主要工作為面向對象的編程(ObjectOrientedProgramming,OOP)。它包括:每個對象的內部功能的實現(xiàn),確立對象哪一些處理能力應在哪些類中進行描述,確定并實現(xiàn)系統(tǒng)的界面、輸出的形式及其他控制機理等,總之是實現(xiàn)在OOD階段所規(guī)定的各個對象所應完成的任務。面向對象編程的基本步驟如下。(1)分析確定在問題空間和解空間出現(xiàn)的全部對象及其屬性。(2)確定應施加于每個對象的操作,即對象固有的處理能力。(3)分析對象間的聯(lián)系,確定對象彼此間傳遞的消息。2.5面向對象實現(xiàn)27(4)設計對象的消息模式,消息模式和處理能力共同構成對象的外部特性。(5)分析各個對象的外部特性,將具有相同外部特性的對象歸為一類,從而確定所需要的類。(6)確定類間的繼承關系,將各對象的公共性質放在較上層的類中描述,通過繼承來共享對公共性質的描述。(7)設計每個類關于對象外部特性的描述。(8)設計每個類的內部實現(xiàn)(數(shù)據(jù)結構和方法)。(9)創(chuàng)建所需的對象(類的實例),實現(xiàn)對象間應有的聯(lián)系(發(fā)消息)。2.5面向對象實現(xiàn)2.6面向對象方法的內涵2829面向對象方法的作用和意義絕不只局限于編程技術,它是一種新的程序設計范型(面向對象程序設計范型),是信息系統(tǒng)開發(fā)的新方法論(面向對象方法學),是正在興起的新技術(面向對象技術)。2.6面向對象方法的內涵301.面向對象程序設計范型

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

面向對象程設范型是在以上范型上發(fā)展起來的,它的關鍵在于加入了類及其繼承性,用類表示通用特性,子類繼承父類的特性,并可加入新的特性。對象以類為樣板被創(chuàng)建。所以在面向對象程設范型中,首要的任務是決定所需要的類,每個類應設置足夠的操作,并利用繼承機制共享共同的特性。2.6面向對象方法的內涵312.面向對象方法學面向對象方法遵循一般的認知方法學的基本概念(有關演繹—從一般到特殊和歸納—從特殊到一般的完整理論和方法體系),并以面向對象方法為基礎。面向對象方法學要點之一:認為客觀世界是由各種“對象”所組成的,任何事物都是對象,每一個對象都有自己的運動規(guī)律和內部狀態(tài),每一個對象都屬于某個對象“類”,都是該對象類的一個元素。復雜的對象可以是由相對比較簡單的各種對象以某種方式而構成的。面向對象方法學要點之二:通過類比,發(fā)現(xiàn)對象間的相似性,即對象間的共同屬性,這就是構成對象類的依據(jù)。在“類”、“父類”、“子類”的概念構成對象類的層次關系時,若不加特殊說明,則處在下一層次上的對象可自然地繼承位于上一層次上的對象的屬性。面向對象方法學要點之三:認為對已分成類的各個對象,可以通過定義一組“方法”來說明該對象的功能,即允許作用于該對象上的各種操作。對象間的相互聯(lián)系是通過傳遞“消息”來完成的,消息就是通知對象去完成一個允許作用于該對象的操作,至于該對象將如何完成這個操作的細節(jié),則是封裝在相應的對象類的定義中的,細節(jié)對于外界是隱蔽的。2.6面向對象方法的內涵323.面向對象技術面向對象方法既是程序設計新范型、系統(tǒng)開發(fā)的新方法學,作為一門新技術它就有了基本的依據(jù)。事實上,面向對象方法可支持種類不同的系統(tǒng)開發(fā),已經或正在許多方面得以應用,因此,可以說面向對象方法是一門新的技術——面向對象技術。近十多年來,除了面向對象的程序設計以外,面向對象方法已發(fā)展應用到整個信息系統(tǒng)領域和一些新興的工業(yè)領域,包括:用戶界面(特別是圖形用戶界面——GUI)、應用集成平臺、面向對象數(shù)據(jù)庫(OODB)、分布式系統(tǒng)、網絡管理結構、人工智能領域及并發(fā)工程、綜合集成工程等。20世紀80年代后期形成的并發(fā)工程,其概念要點是在產品開發(fā)初期(方案設計階段)就把結構、工藝、加工、裝配、測試、使用、市場等問題同期并行地啟動運行,其實現(xiàn)必須有兩個基本條件:一是專家群體,二是共享并管理產品信息(將CAD、CAE、CIN緊密結合在一起)。2.6面向對象方法的內涵334.面向對象方法當前的研究領域(1)智能計算機的研究。面向對象方法可將知識片看作對象,為相關知識的模塊化提供方便,在知識工程領域越來越受到重視。面向對象方法的設計思想被引入到智能計算機的研究中。(2)新一代操作系統(tǒng)的研究。采用面向對象方法來組織設計新一代操作系統(tǒng)具有如下優(yōu)點:采用對象來描述OS所需要設計、管理的各類資源信息,如各類設備更為自然;引入面向對象方法來處理面向對象的諸多事務,如命名、同步、保護、管理等,會更易實現(xiàn)、更便于維護;面向對象方法對于多機、并發(fā)控制可提供有力的支持,并能恰當?shù)毓芾砭W絡,使其更豐富和協(xié)調。(3)多學科的綜合研究。當前,人工智能、數(shù)據(jù)庫、編程語言的研究有匯合趨勢。為了實現(xiàn)多學科的綜合,面向對象方法是一個很有希望的匯聚點。(4)新一代面向對象的硬件系統(tǒng)的研究。要支持采用面向對象方法設計的軟件系統(tǒng)的運行,必須建立更理想的能支持面向對象方法的硬件環(huán)境。目前采用松耦合(分布主存)結構的多處理機系統(tǒng)更接近于面向對象方法的思想。2.6面向對象方法的內涵(1)應用面向對象方法中的概念對DVD和播放DVD的情景進行描述。(2)結合軟件開發(fā)實踐,舉例說明OOA、OOD和OOP的具體任務及相關之間的聯(lián)系。(3)舉例說明面向對象編程和結構化編程的優(yōu)缺點。34

1.操作要求

2.操作提示(1)以學習小組為單位分組進行討論,每小組推薦一名成員進行匯報。(2)通過上網查閱面向對象方法相關資料進行更為詳細的了解。(3)結合自己的編程實踐,進一步理解面向對象的基本思想。2.7軟件建模概述352.7軟件建模概述36任務2了解軟件模型在開發(fā)一個軟件系統(tǒng)時的重要作用,理解軟件建模的優(yōu)點。任務描述

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

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

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

2.7.1軟件建模的概念393.建模的必要性模型是軟件開發(fā)之根本,無論軟件的大小、涉及的范圍,還是建模本身,都是系統(tǒng)化認識所開發(fā)軟件的一個初步的途徑。在現(xiàn)在軟件開發(fā)的過程中,必須經歷的幾個過程是需求分析、系統(tǒng)設計、初步實現(xiàn)、系統(tǒng)實現(xiàn)、系統(tǒng)運行、系統(tǒng)維護。原先的系統(tǒng)建模的形式是初步的、不完善的,隨著系統(tǒng)實施向前推進,系統(tǒng)模型必須隨之改變,但建模沒有跟蹤過程,但RUP提供一個合理的機制——迭代,可以幫助我們解決系統(tǒng)級建模的所有問題。迭代式是開發(fā)過程的描述,實質就是在各個階段對模型的描述更新,重新認識系統(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壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論