管理信息系統(tǒng)第九章 面向?qū)ο蟮姆治雠c設(shè)計(jì)_第1頁(yè)
管理信息系統(tǒng)第九章 面向?qū)ο蟮姆治雠c設(shè)計(jì)_第2頁(yè)
管理信息系統(tǒng)第九章 面向?qū)ο蟮姆治雠c設(shè)計(jì)_第3頁(yè)
管理信息系統(tǒng)第九章 面向?qū)ο蟮姆治雠c設(shè)計(jì)_第4頁(yè)
管理信息系統(tǒng)第九章 面向?qū)ο蟮姆治雠c設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第九章面向?qū)ο蟮姆治雠c設(shè)計(jì)

就是主張從客觀(guān)世界固有的事物出發(fā)來(lái)構(gòu)造系統(tǒng),提倡用人類(lèi)在現(xiàn)實(shí)生活中常用的思維方法來(lái)認(rèn)識(shí)、理解和描述客觀(guān)事物,強(qiáng)調(diào)最終建立的系統(tǒng)能夠映射問(wèn)題域,也就是說(shuō),系統(tǒng)中的對(duì)象以及對(duì)象之間的關(guān)系能夠如實(shí)地反映現(xiàn)實(shí)世界中事物及其關(guān)系。什么是面向?qū)ο蠓椒ㄊ裁词敲嫦驅(qū)ο蠓椒嫦驅(qū)ο蟮母舅枷胧乾F(xiàn)實(shí)世界看成是對(duì)象的集合。按照以下4個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的系統(tǒng),稱(chēng)為是面向?qū)ο蟮摹?面向?qū)ο?對(duì)象(object)+類(lèi)(classification)+繼承(inheritance)+通信(communicationwithmessages)面向?qū)ο蠓椒ㄓ扇植拷M成:OOA(Object-OrientedAnalysis)面向?qū)ο蟮姆治鯫OD(Object-OrientedDesign)面向?qū)ο蟮脑O(shè)計(jì)OOP(Object-OrientedProgram)面向?qū)ο蟮某绦蛟O(shè)計(jì)什么是面向?qū)ο蠓椒∣OA過(guò)程是在系統(tǒng)所要求解的問(wèn)題中找出對(duì)象(屬性和行為)以及它所屬的類(lèi),并定義對(duì)象與類(lèi);OOD是把系統(tǒng)所要求解的問(wèn)題分解為一些對(duì)象及對(duì)象間傳遞消息的過(guò)程;結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法面向?qū)ο蠓椒ńY(jié)構(gòu)化設(shè)計(jì)方法面向?qū)ο蠓治龇椒嫦驅(qū)ο笤O(shè)計(jì)方法結(jié)構(gòu)化方法VS面向?qū)ο蠓椒ńY(jié)構(gòu)化編程方法面向?qū)ο缶幊谭椒ńY(jié)構(gòu)化方法結(jié)構(gòu)化分析面向數(shù)據(jù)流的分析方法結(jié)構(gòu)化設(shè)計(jì)將數(shù)據(jù)流程圖轉(zhuǎn)換為模塊結(jié)構(gòu)圖根據(jù)E-R圖及數(shù)據(jù)字典設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)功能的實(shí)現(xiàn)靠模塊之間的調(diào)用實(shí)現(xiàn)面向?qū)ο蠓椒嫦驅(qū)ο蠓治鲆詫?duì)象為中心,把現(xiàn)實(shí)事物看成為對(duì)象,分析對(duì)象的特征和行為,對(duì)象抽象為類(lèi)。面向?qū)ο笤O(shè)計(jì)通過(guò)對(duì)象的特征及行為確定類(lèi)的屬性和方法系統(tǒng)功能的實(shí)現(xiàn)靠對(duì)象之間的消息傳遞實(shí)現(xiàn)相同之處都是軟件系統(tǒng)的開(kāi)發(fā)方法。在運(yùn)用分解和抽象原那么上的要求是完全一致的局部化和重用性設(shè)計(jì)上的一致。不同點(diǎn)處理問(wèn)題時(shí)的出發(fā)點(diǎn)不同。處理問(wèn)題的根本單位和層次邏輯關(guān)系不同。數(shù)據(jù)處理方式與控制程序方式不同。分析設(shè)計(jì)與編碼轉(zhuǎn)換方式不同。第一節(jié)面向?qū)ο蟮母靖拍畹诙?jié)面向?qū)ο蟮慕9ぞ遀ML第三節(jié)面向?qū)ο蟮姆治雠c設(shè)計(jì)過(guò)程第九章面向?qū)ο蟮姆治雠c設(shè)計(jì)面向?qū)ο蟮钠鹪碠O方法起源于面向?qū)ο蟮木幊陶Z(yǔ)言〔簡(jiǎn)稱(chēng)為OOPL〕。50年代后期,在用FORTRAN語(yǔ)言編寫(xiě)大型程序時(shí),常出現(xiàn)變量名在程序不同局部發(fā)生沖突的問(wèn)題。鑒于此,ALGOL語(yǔ)言的設(shè)計(jì)者在A(yíng)LGOL60中采用了以"Begin……End"為標(biāo)識(shí)的程序塊,使塊內(nèi)變量名是局部的,以防止它們與程序中塊外的同名變量相沖突。這是編程語(yǔ)言中首次提供封裝〔保護(hù)〕的嘗試。此后程序塊結(jié)構(gòu)廣泛用于高級(jí)語(yǔ)言如Pascal、Ada、C之中。面向?qū)ο蟮钠鹪疵嫦驅(qū)ο蟮钠鹪?/p>

正是通過(guò)Smalltalk80的研制與推廣應(yīng)用,使人們注意到OO方法所具有的模塊化、信息封裝與隱蔽、抽象性、繼承性、多樣性等獨(dú)特之處,這些優(yōu)異特性為研制大型軟件、提高軟件可靠性、可重用性、可擴(kuò)充性和可維護(hù)性提供了有效的手段和途徑。第一節(jié)面向?qū)ο蟮母靖拍畹谝还?jié)面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蠓椒ǖ膬?yōu)越性與人類(lèi)思維方式一致可重用性好易于維護(hù)本節(jié)內(nèi)容:一、對(duì)象的根本概念二、類(lèi)的根本概念三、消息及消息傳遞四、繼承的根本概念五、面向?qū)ο蟮暮x第一節(jié)面向?qū)ο蟮母靖拍钜?、?duì)象的根本概念-1在面向?qū)ο蟮南到y(tǒng)中,對(duì)象是根本的運(yùn)行實(shí)體,是由一組數(shù)據(jù)和施加于這些數(shù)據(jù)上的一組操作封閉而成的。構(gòu)成對(duì)象的根本要素:標(biāo)識(shí):即是對(duì)象的名稱(chēng),用來(lái)在問(wèn)題域中區(qū)分其它對(duì)象;數(shù)據(jù):描述對(duì)象屬性的數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu),說(shuō)明對(duì)象的一個(gè)狀態(tài);操作:即對(duì)象的行為。分為對(duì)象自身承受的操作和施加于其它對(duì)象的操作;接口:主要指對(duì)外接口,是指對(duì)象受理外部消息所指定的操作名稱(chēng)集合。一、對(duì)象的根本概念-2對(duì)象類(lèi)又稱(chēng)對(duì)象類(lèi)〔ObjectClass〕,是一組具有相同屬性和相同操作的對(duì)象的集合。在一個(gè)類(lèi)中,每個(gè)對(duì)象都是類(lèi)的實(shí)例(instance),它們都可以使用類(lèi)中提供的函數(shù)。類(lèi)具有屬性,用數(shù)據(jù)結(jié)構(gòu)來(lái)描述類(lèi)的屬性,類(lèi)具有操作,它是對(duì)象的行為的抽象,操作實(shí)現(xiàn)的過(guò)程稱(chēng)為方法〔method),方法有方法名,方法體和參數(shù)。

二、類(lèi)的根本概念-1類(lèi)的使用例如:芒果、蘋(píng)果和桔子都是fruit類(lèi)的對(duì)象。類(lèi)是用戶(hù)定義的數(shù)據(jù)類(lèi)型,但在一個(gè)程序設(shè)計(jì)語(yǔ)言中,它和內(nèi)建的數(shù)據(jù)類(lèi)型行為相同。比方創(chuàng)立一個(gè)類(lèi)對(duì)象的語(yǔ)法和創(chuàng)立一個(gè)整數(shù)對(duì)象的語(yǔ)法一模一樣。 inta; 如果fruit被定義為一個(gè)類(lèi),那么語(yǔ)句 fruit

apple;

就創(chuàng)立了一個(gè)fruit類(lèi)的對(duì)象apple。

二、類(lèi)的根本概念-1類(lèi)與對(duì)象對(duì)象與類(lèi)的關(guān)系相當(dāng)于一般程序設(shè)計(jì)語(yǔ)言中變量和變量所具有的類(lèi)型的關(guān)系。二、類(lèi)的根本概念-2對(duì)象類(lèi)的描述人姓名:字符串年齡:整型改換工作改換地址文件文件名文件大小最近更新日期打印(張紅兵:人)張紅兵28(李軍:人)李軍24對(duì)象的描述類(lèi)名屬性運(yùn)算

對(duì)象圖

類(lèi)圖二、類(lèi)的根本概念-3屬性:姓名年齡單位職稱(chēng)工資狀態(tài):李偉

25

計(jì)算機(jī)系講師

900方法名:調(diào)工資評(píng)職稱(chēng)受聘方法:調(diào)工資(計(jì)算公式)評(píng)職稱(chēng)(步驟、條件)方法名:調(diào)工資評(píng)職稱(chēng)受聘李偉.調(diào)工資(??????)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)值人事處向?qū)ο蟀l(fā)消息執(zhí)行的操作方法體類(lèi):教師對(duì)象:李偉抽象實(shí)例抽象實(shí)例抽象方法名(參數(shù))對(duì)象、類(lèi)和消息傳遞二、類(lèi)的根本概念-4二、類(lèi)的繼承-1類(lèi)的層次例如,飛機(jī)和交通工具都是類(lèi),它們之間的關(guān)系是“isa〞關(guān)系,飛機(jī)是一種特殊的交通工具。通常,越上層的類(lèi)越具有一般性和共性,越下層的類(lèi)越特殊、越具體。二、類(lèi)的繼承-2簡(jiǎn)單繼承多重繼承面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,消息是對(duì)象之間的通信載體。消息就是向?qū)ο蟀l(fā)出的效勞請(qǐng)求〔互相聯(lián)系、協(xié)同工作等〕。對(duì)象之間的聯(lián)系可表示為對(duì)象間的消息傳遞,即對(duì)象間的通訊機(jī)制。消息具有如下幾個(gè)性質(zhì):同一對(duì)象可以接收不同形式的多個(gè)消息,產(chǎn)生不同響應(yīng)。一條消息可以發(fā)送給不同的對(duì)象,消息的解釋完全由接收對(duì)象完成,不同對(duì)象對(duì)相同形式的消息可以有不同解釋。與傳統(tǒng)程序調(diào)用不同,對(duì)于傳來(lái)的消息,對(duì)象可以返回相應(yīng)的答復(fù)信息,也可以不返回,即消息響應(yīng)不是必須的。三、消息和消息傳遞-1三、消息和消息傳遞-3傳送對(duì)象接收對(duì)象消息<操作名,參數(shù)>接口消息傳遞模型三、消息和消息傳遞-4using;publicpartialclass_Default:{

SqlConnectionconn; protectedvoidPage_Load(objectsender,EventArgse) { stringstr="server=localhost;integratedsecurity=SSPI;database=xk";

conn=newSqlConnection(str); } protectedvoidDelButton_Click(objectsender,EventArgse) {

conn.Open(); stringdelestudent="deletefromstudentwheresno='"+this.TextBox1.Text +"'orsname='"+this.TextBox2.Text+"'";

SqlCommandcomanddel=newSqlCommand(delestudent,conn);

comanddel.ExecuteNonQuery();

conn.Close(); }}三、消息和消息傳遞-4using;publicpartialclass_Default:{

SqlConnectionconn; protectedvoidPage_Load(objectsender,EventArgse) { stringstr="server=localhost;integratedsecurity=SSPI;database=xk";

conn=newSqlConnection(str); } protectedvoidDelButton_Click(objectsender,EventArgse) {

conn.Open(); stringdelestudent="deletefromstudentwheresno='"+this.TextBox1.Text +"'orsname='"+this.TextBox2.Text+"'";

SqlCommandcomanddel=newSqlCommand(delestudent,conn);

comanddel.ExecuteNonQuery();

conn.Close(); }}四、面向?qū)ο蟮暮x面向?qū)ο笫且环N認(rèn)識(shí)客觀(guān)世界的認(rèn)知方法學(xué)這種認(rèn)識(shí)方法將客觀(guān)世界看成是由許許多多不同對(duì)象構(gòu)成的,每一個(gè)對(duì)象都有自己的運(yùn)動(dòng)規(guī)律和內(nèi)部狀態(tài),不同對(duì)象間的相互作用和通訊構(gòu)成了完整的客觀(guān)世界。面向?qū)ο笠嗍且环N解決問(wèn)題的思維方法從組織結(jié)構(gòu)模型化客觀(guān)世界,將對(duì)象作為需求分析和系統(tǒng)設(shè)計(jì)的核心或主體,把整個(gè)問(wèn)題域抽象成為相互通訊的一組對(duì)象集合,并引用科學(xué)方法論中的分類(lèi)思想,將相似或相近的一組對(duì)象聚合成類(lèi),采用各種手段將相似的類(lèi)組織起來(lái),實(shí)現(xiàn)問(wèn)題空間到解空間的映射。二、面向?qū)ο蠓椒ǖ南到y(tǒng)開(kāi)發(fā)生命周期從宏觀(guān)層面看,面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法包括分析、設(shè)計(jì)、實(shí)現(xiàn)以及運(yùn)行與維護(hù)等四大階段,遵循反復(fù)累增的生命周期,如圖9.3所示。從微觀(guān)層面上看,面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法是指每一宏觀(guān)階段中標(biāo)識(shí)對(duì)象,確定對(duì)象的屬性,定義對(duì)象的效勞,以及確定對(duì)象間關(guān)系等幾個(gè)步驟。一、面向?qū)ο笙到y(tǒng)開(kāi)發(fā)的方法論-2目標(biāo)系統(tǒng)類(lèi)庫(kù)t時(shí)間分析設(shè)計(jì)分析設(shè)計(jì)類(lèi)一類(lèi)二類(lèi)三設(shè)計(jì)實(shí)現(xiàn)t時(shí)間運(yùn)行維護(hù)分析設(shè)計(jì)反復(fù)累增的生命周期第一節(jié)面向?qū)ο蟮母靖拍畹诙?jié)面向?qū)ο蟮慕9ぞ遀ML第三節(jié)面向?qū)ο蟮姆治雠c設(shè)計(jì)過(guò)程第九章面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法UML的形成UMLGradyBoochIvarJacobsonJamesRumbaugh為面向?qū)ο筌浖O(shè)計(jì)提供統(tǒng)一的、標(biāo)準(zhǔn)的、可視化的建模語(yǔ)言UML面向?qū)ο蠼C嫦驅(qū)ο蠓治雠c設(shè)計(jì)從建模開(kāi)始,建模語(yǔ)言是研究重點(diǎn)。建模語(yǔ)言是對(duì)建模過(guò)程的描述.統(tǒng)一建模語(yǔ)言(UnifiedModelingLanguage,UML)UML中的圖圖結(jié)構(gòu)圖行為圖類(lèi)圖對(duì)象圖組件圖用例圖狀態(tài)圖活動(dòng)圖配置圖交互圖時(shí)序圖協(xié)作圖本節(jié)內(nèi)容:

一、類(lèi)圖及用例圖

二、狀態(tài)圖及順序圖

三、活動(dòng)圖及協(xié)作圖四、配置圖及組件圖

第二節(jié)面向?qū)ο笙到y(tǒng)開(kāi)發(fā)工具—UML

一、類(lèi)圖及用例圖-1類(lèi)圖類(lèi)圖是邏輯視圖的重要組成局部,用于對(duì)系統(tǒng)的靜態(tài)結(jié)構(gòu)建模。 在系統(tǒng)分析階段,系統(tǒng)開(kāi)發(fā)人員主要關(guān)注系統(tǒng)中的業(yè)務(wù)對(duì)象以及對(duì)象之間的關(guān)聯(lián)。類(lèi)圖描述的是這些實(shí)體對(duì)象以及它們之間的關(guān)系。 在系統(tǒng)設(shè)計(jì)階段,確定類(lèi)的屬性和方法;在系統(tǒng)編碼階段,根據(jù)類(lèi)圖中的類(lèi)及它們之間的關(guān)系實(shí)現(xiàn)系統(tǒng)的功能。類(lèi)定義類(lèi)是一組具有相同屬性、相同行為、和其他對(duì)象有相同關(guān)系、有相同表現(xiàn)的對(duì)象的集合類(lèi)具有屬性和操作圖形表示類(lèi)名、屬性、操作可以簡(jiǎn)化表示一、類(lèi)圖及用例圖-2關(guān)系1〕關(guān)聯(lián)〔association)定義兩個(gè)類(lèi)在概念上有連接關(guān)系時(shí),類(lèi)之間的連接稱(chēng)為關(guān)聯(lián);提供了不同類(lèi)的對(duì)象可以相互作用的連接圖形表示用一根連接類(lèi)的實(shí)線(xiàn)表示,用箭頭表示關(guān)聯(lián)的方向;如果不明確指明方向,那么默認(rèn)關(guān)聯(lián)是雙向的一、類(lèi)圖及用例圖-3關(guān)系2〕聚合〔aggregation)定義類(lèi)之間的一種整體與局部的關(guān)系表達(dá)了一種層次結(jié)構(gòu),整體類(lèi)位于局部類(lèi)的上層,多個(gè)局部類(lèi)處于并列的層次圖形表示尾端帶一個(gè)菱形的單箭頭直線(xiàn)菱形指向整體局部一、類(lèi)圖及用例圖-4關(guān)系3〕泛化〔generalization)定義類(lèi)之間的一種一般與特殊的關(guān)系“isapartof〞關(guān)系:一個(gè)事物是另一個(gè)事物的種類(lèi)圖形表示一條帶有空心大箭頭的有向?qū)嵕€(xiàn),箭頭指向父類(lèi)一、類(lèi)圖及用例圖-5關(guān)系4〕依賴(lài)定義其中一個(gè)類(lèi)〔提供者)的變化將影響另一個(gè)類(lèi)〔客體),或向它提供所需信息顯示一個(gè)類(lèi)引用另一個(gè)類(lèi)圖形表示用兩個(gè)模型元素之間帶箭頭的虛線(xiàn)表示,箭尾處的模型元素〔客戶(hù))依賴(lài)于箭頭處的模型元素〔提供者)一、類(lèi)圖及用例圖-6一、類(lèi)圖及用例圖-7用例〔usecase〕圖 用例圖Use-casediagram–是描述系統(tǒng)與用戶(hù)及其他外部系統(tǒng)之間交互的圖形.用例圖描述了誰(shuí)將使用系統(tǒng),用戶(hù)希望以什么方式與系統(tǒng)交互.系統(tǒng)應(yīng)具備哪些功能。從用戶(hù)的觀(guān)點(diǎn)描述系統(tǒng)行為或系統(tǒng)使用場(chǎng)景。洗衣機(jī)用戶(hù)洗衣服用例圖圖示一、類(lèi)圖及用例圖-9

用例Usecase–用一個(gè)水平的橢圓(用例名稱(chēng)顯示在橢圓上面、下面或內(nèi)部)表示.

參與者Actor–代表了需要同系統(tǒng)交互以交換信息的任何事物.

二、狀態(tài)圖及順序圖

-1狀態(tài)圖在任何給定的時(shí)刻,一個(gè)對(duì)象總處于某一特定的狀態(tài);一個(gè)狀態(tài)圖包括一系列的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。狀態(tài)圖圖例如右圖所示。浸泡洗滌漂洗脫水二、狀態(tài)圖及順序圖-2順序圖(時(shí)序圖)順序圖所表達(dá)的是系統(tǒng)運(yùn)行中,對(duì)象之間的基于時(shí)間的動(dòng)態(tài)交互關(guān)系,著重表達(dá)對(duì)象間消息傳遞的時(shí)間順序。順序圖的水平軸表示不同對(duì)象,垂直軸表示時(shí)間二、狀態(tài)圖及順序圖-2三、活動(dòng)圖及協(xié)作圖-1活動(dòng)圖記錄用例場(chǎng)景的另一種方式是使用活動(dòng)圖,它用來(lái)建模系統(tǒng)的過(guò)程步驟或活動(dòng),類(lèi)似于流程圖,以圖形化的方式描述了業(yè)務(wù)過(guò)程或用例的活動(dòng)的順序流程。三、活動(dòng)圖及協(xié)作圖-2協(xié)作圖協(xié)作圖表達(dá)為完成系統(tǒng)的工作目標(biāo),系統(tǒng)中相互合作的對(duì)象間的交互關(guān)系和鏈接關(guān)系。與順序圖不同,協(xié)作圖著重表達(dá)交互對(duì)象間的靜態(tài)鏈接關(guān)系。協(xié)作圖圖例內(nèi)部計(jì)時(shí)器注水管

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論