《面向?qū)ο蠓椒ǜ耪摗穇第1頁
《面向?qū)ο蠓椒ǜ耪摗穇第2頁
《面向?qū)ο蠓椒ǜ耪摗穇第3頁
《面向?qū)ο蠓椒ǜ耪摗穇第4頁
《面向?qū)ο蠓椒ǜ耪摗穇第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?2010SDIE信息系統(tǒng)設計與實踐劉位龍

weilongliu@整理ppt第一章面向?qū)ο蠓椒ǜ耪撜韕pt主要內(nèi)容2.面向?qū)ο蟮幕舅枷?.面向?qū)ο蟮闹饕拍罴盎驹瓌t4.面向?qū)ο蠓椒ǖ闹饕獌?yōu)點5.面向?qū)ο蠓椒ǖ陌l(fā)展史及現(xiàn)狀簡介1.傳統(tǒng)開發(fā)方法中存在的問題6.關于統(tǒng)一建模語言UML整理ppt1.1傳統(tǒng)開發(fā)方法中存在的問題20世紀60年代以前-軟件系統(tǒng)都較小,簡單,所用編程語言(匯編,Fortran等)及編程環(huán)境也相對簡單;時興個人英雄主義,即崇尚程序員的個人技能;代碼是’意大利面條式’,因為代碼中含有較多GOTO;

隨軟件復雜性的增長,隨心所欲的方法不可接受,因為這樣的代碼很難維護。高層次語言的引入有助于解決與復雜性有關的問題,但不是充分。軟件開發(fā)同樣需要方法!整理ppt傳統(tǒng)的開發(fā)方法1、功能分解法2、結(jié)構化方法3、信息建模法整理ppt1、功能分解法功能分解=功能+子功能+接口;(以系統(tǒng)需要提供的功能為中心來組織系統(tǒng))首先定義各種功能,然后把各種功能分解,直至給出明確定義,同時定義功能之間的接口。根據(jù)功能/子功能的需要設計數(shù)據(jù)結(jié)構。整理ppt功能分解法示意圖整理ppt優(yōu)點1、感覺非常自然:以系統(tǒng)需要提供的功能為中心組織系統(tǒng);2、相當大程度上解決以前存在的問題,特別是與模塊化編程結(jié)合使用后,使開發(fā)效率有很大提高;3、刪除GoTo語句,使軟件能得到有效維護4、直接地反映用戶的需求,所以容易開始(深入難)整理ppt缺點1、注重處理功能,忽略數(shù)據(jù)!2、功能及功能接口無法映射到問題域中的事物,模型難以有效描述問題域!2、對眾多領域而言,功能最易變!需求變化導致功能模塊變化,功能模塊的變化引起接口變化,最終導致全局性變化。對需求變化的適應能力差!4、對較為復雜系統(tǒng),容易導致模塊的低內(nèi)聚和高耦合,導致系統(tǒng)缺乏靈活性和可維護性-70年代軟件危機。整理ppt2、結(jié)構化方法結(jié)構化方法包括:結(jié)構化分析、設計、編程、測試使用了DFD、DD、MSC等進行系統(tǒng)分析設計!優(yōu)點:1、嚴謹:循循漸進,逐步求精,能避免許多錯誤和疏漏;2、強調(diào)對問題域的分析;缺點:1、采用數(shù)據(jù)流、加工進行建模,不能直接映射問題域事物,需求變化極易引起兩者的變動,進而引起其他

數(shù)據(jù)流和加工的變化!

2、分析與設計概念不一致,且轉(zhuǎn)換規(guī)則不嚴格,導致從需求分析到設計轉(zhuǎn)換困難!整理ppt3.信息建模法70年代,PeterChen提出實體-關系法;80年代,M·Flavin將實體-關系法與關系數(shù)據(jù)庫理論結(jié)合,即以數(shù)據(jù)結(jié)構為中心來開發(fā)軟件!實體關系法的核心概念-實體和關系實體-描述問題域的事物,含有屬性;關系-描述事物之間在數(shù)據(jù)方面的聯(lián)系,也可帶屬性;信息建模法,把實體稱為對象,并使用了類型和子類型的概念作為對實體的抽象描述。整理ppt總結(jié)

以上3種方法都是基于一個角度看待一個系統(tǒng),對系統(tǒng)的其它方面建模的能力都很弱。功能分解法:以功能為系統(tǒng)的構造塊,數(shù)據(jù)組織能力弱結(jié)構化方法:對數(shù)據(jù)組織能力也不強;信息建模方法:強調(diào)對數(shù)據(jù)的組織,忽略系統(tǒng)功能!整理ppt1.2面向?qū)ο蟮幕舅枷?0年代以前:OO是一種新興的程序設計方法,其基本思想是使用對象、類、封裝、繼承、聚合、關聯(lián)、消息、多態(tài)等基本概念來進行程序設計。80年代以后:計算機體系結(jié)構人工智能計算機軟件并發(fā)工程傳統(tǒng)方法呢?整理ppt續(xù)上頁面向?qū)ο?object-oriented,00):不僅是一些具體的軟件開發(fā)技術與策略,而且是一整套關于如何看待軟件系統(tǒng)與現(xiàn)實世界的關系,用什么觀點來研究問題并進行求解,以及如何進行系統(tǒng)構造的軟件方法學。整理ppt續(xù)上頁將所有的事物都當成程序(或功能)與數(shù)據(jù)的綜合體------對象(Object)是一種思維、思考方式。功能(操作):

開機、切換頻道、關機數(shù)據(jù)(屬性):

平面射像管、天線、顏色整理pptOO解決問題的思路從現(xiàn)實世界中的客觀存在事物(即對象)入手,盡量運用人類的自然思維方式來構造軟件系統(tǒng)。問題域抽象Obj1Obj2Obj4Obj3構造傳統(tǒng)方法呢?整理ppt整理pptOOM的基本思想1.從現(xiàn)實世界中客觀存在的事物出發(fā)來建立軟件系統(tǒng),強調(diào)直接以問題域(現(xiàn)實世界)中的事物為中心來思考問題,認識問題,并根據(jù)事物本質(zhì)特征,將其抽象表示為系統(tǒng)中的對象,作為系統(tǒng)的基本構成單位。這可使系統(tǒng)直接映射問題域,保持問題域中事物及其相互關系的本來面貌!整理pptOOM的基本思想-續(xù)上頁2.用屬性描述數(shù)據(jù)特征,用操作描述事物的行為特征;3.對象的屬性與操作結(jié)為一體,成為一個獨立不可分的實體,對外屏蔽其內(nèi)部細節(jié)!4.通過抽象對事物進行分類,相同屬性與操作的歸為一類.整理pptOOM的基本思想-續(xù)上頁5.復雜對象可以用簡單的對象作為其構成部分!6.通過在不同程度上運用抽象,可得到較一般的類和特殊的類,特殊類繼承一般類的屬性與操作,簡化系統(tǒng)構建過程及文檔;7.對象間通過消息進行通信,實現(xiàn)對象間動態(tài)聯(lián)系!8.通過關聯(lián)表達類之間的靜態(tài)關系!整理ppt整理ppt南京北京Post-officeMessageSendbymethod對象ObjectObject=數(shù)據(jù)AttributeAttributes:location;employee;……+操作MethodMethods:send;sell;……注意:Object內(nèi)部的attributes不允許外部用戶直接改動,只有當它提供了相應的服務method時,用戶才能通過發(fā)送message來提請它執(zhí)行。我想把郵局搬到我家門口,多加幾個郵遞員,24小時都開門……對不起,本郵局不提供此類服務唉,那就先送束花吧——

Post_office.Send(request,payment)面向?qū)ο蠓椒▽W(OOM)Object22整理ppt1.3OO的基本概念與主要原則聚合繼承抽象類對象關聯(lián)消息多態(tài)性主要概念分類封裝消息通信行為分析復雜性控制主要原則三個基本特征整理ppt1、Object對象是系統(tǒng)中用來描述客觀事務的一個實體,是構成系統(tǒng)的基本單位。一個對象由一組屬性和對屬性進行操作的服務(操作)組成。什么是對象?整理ppt對象-續(xù)對象標識:對象的名字,用來區(qū)分其他對象內(nèi)部標識:計算機;外部標識:人屬性:表示描述對象的靜態(tài)特征,一般只能通過執(zhí)行對象的操作來改變。操作:描述對象執(zhí)行的功能,若通過消息傳遞,還可以為其它對象使用。Identity,Attribute,Service整理ppt對象-續(xù)說明:對象只描述與系統(tǒng)目標有關的特征!對象是屬性和操作的結(jié)合體,不可分,屬性只能由操作來讀取和修改。系統(tǒng)開發(fā)中,可能要定義一些只與實現(xiàn)技術有關,而不映射問題域具體事物的對象。整理ppt2、

類類:物以類聚(類、一般類、特殊類、抽象)忽略事物非本質(zhì)特征,只注意那些與當前目標有關的特征,從而找出事物共性.-抽象進而,把具有共同性質(zhì)的事物劃分為一類,得出一個抽象的概念-分類.整理ppt類是具有相同屬性和操作的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,它由一個類名、一組屬性和一組操作構成。整理ppt類對象實例化有獨立存儲空間,保存屬性值創(chuàng)建對象Studentstudent=newStudent();類的實例化整理ppt類-續(xù)對不同對象,運行抽象原則,舍棄特殊性,抽取共性,則可得到一個適應該范圍的類.一般類(generalclass)\特殊類(specialclass)定義:

如果類A具有類B的全部屬性和操作,而且有自己特有的某些屬性和操作,則稱A為B的特殊類,B為A的一般類.等價的概念:超類/子類;基類/派生類整理ppt不同程度的抽象得到不同層次的分類運輸工具輪船車輛飛機火車汽車卡車轎車較多地忽略事物之間的差別得到較一般類較多地注意事物之間的差別得到特殊類整理ppt一般類與特殊類集合論Title特殊類(卡車)一般類(汽車)特殊類(轎車)汽車卡車轎車輪船客輪貨輪整理ppt3、

繼承特殊類(子類)的對象擁有一般類(父類)的全部屬性與操作,稱特殊類對一般類的繼承。具有傳遞性;單繼承、多繼承(取決于OOPL,編譯系統(tǒng)實現(xiàn)難度大!)OO重要概念!簡化人們對事物的認識和描述,非常有利于軟件復用,是OO提高軟件開發(fā)效率重要原因之一!整理ppt繼承關系的語義:iskindof整理ppt一般-特殊結(jié)構軍人軍官士兵義務兵志愿兵交通工具輪船客運工具客輪一般-特殊結(jié)構:由一組具有繼承關系的類所形成的結(jié)構層次結(jié)構網(wǎng)格結(jié)構整理ppt如果子類繼承父類:1.子類擁有父類非Private屬性和方法;2.子類具有自己的屬性和功能;3.子類可以重寫父類的方法;學習繼承牢記三點整理ppt討論繼承機制有何優(yōu)點?又有何缺點?整理ppt1.易于實現(xiàn)新類,提高軟件復用;2.易于修改或擴展那些被復用的實現(xiàn);3.使系統(tǒng)模型與問題域中事物的分類關系的映射更加清晰;4.把具有繼承關系的類組織在一起,簡化對復雜系統(tǒng)的認識;優(yōu)點整理ppt1.破壞封裝性,將父類實現(xiàn)細節(jié)暴露給子類;2.當父類的實現(xiàn)更改時,子類也不得不改;(高耦合!)3.從父類中劃分出太多子類,使類設置太多,增加復雜性;4.過深的繼承,增加系統(tǒng)的理解難度和處理開銷;缺點整理ppt4、

封裝關鍵詞:封裝、信息隱蔽、可見性【封裝】指將對象的屬性和操作結(jié)合起來,形成一個獨立的實體,并盡可能對外隱藏對象的內(nèi)部細節(jié)。兩個涵義:1.把描述一個事物的屬性和操作結(jié)合在一起,形成一個不可分割的獨立對象。2.“信息隱藏”,即盡可能隱藏對象內(nèi)部細節(jié),對外形成一個邊界,只保留有限的對外接口使之與外部發(fā)生聯(lián)系整理ppt封裝-售報亭售報亭屬性:報刊A報刊B

……錢箱位置服務:報刊零售貨款清點整理ppt封裝的好處1、良好的封裝能減少耦合!2、類內(nèi)部的實現(xiàn)可以自由地修改!3、類具有清晰的對外接口!整理ppt類的可見性可見性(對于其它類的公開程度)+公開的(public)-私有的(private)#保護的(protected)~包(package)包類別1類別2類別3整理ppt整理pptprotectedinternalinternalprotectedprivatepublic可見性C#中成員的可見性整理ppt5、

關聯(lián)關鍵詞:關聯(lián)(Association)兩類(或多類)事物之間存在某種具有特定含義的關系信息。類之間的這種靜態(tài)關系稱為關聯(lián)!二元關聯(lián)關聯(lián)的多重性整理ppt指導論文關聯(lián)鏈關聯(lián)實例化在實現(xiàn)時,通過類的屬性表達出來!整理ppt6、

聚合關鍵詞:聚合(Aggregation),組合(Composition),整體-部分結(jié)構聚合:一個復雜的對象以若干比較簡單的對象作為其組成部分.Car-engine:Engine-tires:Tire[]EngineTire聚合關系(整體-部分關系)整理ppt聚合整理ppt聚合事物之間的組成關系的緊密程度可以分為兩類:緊密而固定的,密不可分的松散而靈活的組合聚合TreeLeaves:LeafLeaf整理ppt7、

消息消息(Message):向?qū)ο蟀l(fā)出的服務請求。售報亭買一份北京晚報!輸入信息輸出信息接受者消息要求的服務整理ppt消息例:classShouBaoTing{privatestring_name;privatestring_location;privatedecimal_money;privateArrayListbooks;……

publicBookSellBook(Bookbooktype,intnumber,decimalpayment);voidCheck(DateTimedt);

……};

Main(){ShouBaoTingsbt=newShouBaoTing();

Bookbook=

sbt.SellBook(……);……}消息協(xié)議Message=object_ID.method(para1,para2,para3)整理ppt8、

多態(tài)性(Polymorphism)多態(tài)性:同一操作作用于不同實例,產(chǎn)生不同運行效果的機制。OO方法中,常指一般類中定義的屬性或方法被特殊類繼承后,可具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。兩種實現(xiàn)機制1.覆蓋:子類通過定義相同的方法名、參數(shù)、和返回值的操作來覆蓋已繼承的超類方法。2.重載:類中可以定義多個同名的方法,但具有不同參數(shù)和返回值整理pptPolymorphism整理ppt作業(yè)試論述面向?qū)ο笫钦J識世界的一種思維方法(1000字以上)利用面向?qū)ο蠓椒▽崿F(xiàn)三個按鈕的可用性循環(huán)(C#)整理ppt1.4OOM的主要優(yōu)點1、從認識論的角度,OOM改變了軟件開發(fā)方式軟件開發(fā)過程(軟件工程學角度)分析設計編程測試維護問題域認識描述(從認識論角度)分析模型設計模型整理ppt2、OO語言使得客觀世界到計算機世界的鴻溝變窄客觀事物(問題域)自然語言對問題域的認識(人)計算機編程語言語言的鴻溝語言的過渡(人)編程(人)程序的理解和執(zhí)行(機器)整理pptBinarymachinecode由0,1組成:111000000100101100110離機器最近,離人類思維最遠不可復用Programmingisanightmare!整理pptAssemblylanguages以易于理解的符號表示指令、數(shù)據(jù)、地址等概念;離人類思維近了,仍相差很遠,需考慮大量機器細節(jié)。int3

ret4

moveax,fs:[00000018]

ret

pushedi

moveedi,dwordptr[esp+0Ch]

moveedx,dwordptr[esp+8]movedwordptr[edx],0整理pptHigh-Levellanguages屏蔽機器細節(jié);與自然語言更近,但仍有差距Fortan,Pascal,Basic,C,Ada整理pptOOPL屏蔽機器細節(jié);與自然語言更近,直接反映現(xiàn)實事物,且運用人類一般思維;C#;Java;C++等整理ppt比較傳統(tǒng)方法與OO方法西游記的電腦游戲:角色-唐三藏、孫悟空、豬八戒、妖怪事件–過河、遇到妖怪整理ppt傳統(tǒng)結(jié)構化方法的系統(tǒng)劃分西游記主程序main{過河如果唐三藏過河則劃船如果孫悟空過河則用飛的如果豬八戒過河則用游的三藏師徒遇到妖怪如果唐三藏遇到妖怪則念經(jīng)如果孫悟空遇到妖怪則斬妖如果豬八戒遇到妖怪則大喊救命妖怪遇到三藏師徒如果是唐三藏則吃掉如果是孫悟空則逃跑如果是豬八戒則戲弄他}整理ppt面向?qū)ο笙到y(tǒng)劃分系統(tǒng)主程序Main{唐三藏過河則劃船遇到妖怪則念經(jīng)孫悟空過河則飛遇到妖怪則斬妖豬八戒過河則游遇到妖怪則呼救妖怪遇到唐三藏則吃遇到孫悟空則跑遇到豬八戒則戲弄整理ppt3、OOM使得分析與設計之間的鴻溝變窄問題域需求分析自然語言總體設計詳細設計編程編程語言測試計算機分析與設計的鴻溝結(jié)構化軟件工程方法示意圖整理ppt問題域OOAOODOOPOOT計算機自然語言面向?qū)ο缶幊陶Z言面向?qū)ο蟮能浖こ谭椒ㄊ疽鈭D整理ppt整理ppt4、OOM有助于軟件的維護與復用結(jié)構化方法中的數(shù)據(jù)結(jié)構、算法及其間關系整理pptOOM中的數(shù)據(jù)結(jié)構、算法及其間關系整理ppt5、OOM有助于提高軟件的質(zhì)量和生產(chǎn)率現(xiàn)今質(zhì)量觀點,不僅在編程后通過測試排除錯誤,而要著手軟件開發(fā)過程的各環(huán)節(jié)保證質(zhì)量!高質(zhì)量不僅指系統(tǒng)無錯誤,且要好用、易用、可移植、易維護等,讓用戶由衷滿意!從分析到編程提高20%,維護更高,表現(xiàn)如下:OO方法使系統(tǒng)易于理解;需求變化引起的全局性修改較少;分析文檔、設計文檔、源代碼對應良好;有利于復用整理ppt1.5OOM的歷史及現(xiàn)狀1、面向?qū)ο笳Z言的歷史2、發(fā)展到軟件生命周期的前期階段當前的研究及實踐領域3、整理ppt1.雛形階段60年代挪威計算機中心開發(fā)的仿真語言Simula67-面向?qū)ο笳Z言的先驅(qū)和第一個里程碑;72年PaloAlno研究中心(PARC)發(fā)布了Smalktalk-72,正式使用‘面向?qū)ο蟆@個術語。Smalltalk的問世標志面向?qū)ο蟪绦蛟O計方法正式誕生,但此時還不成熟。1.4.1面向?qū)ο笳Z言的歷史整理ppt2.完善階段81年,PARC推出Smalltalk80,被認為式OOPL發(fā)展史上最重要的里程碑。迄今絕大部分OO基本概念及其支持機制在Smalltalk80中都已具備,是第一個完善的、能夠?qū)嶋H應用的OO語言。直到80年代后期,Smalltalk應用尚不夠廣泛。原因是(1)作為一項新軟件方法學需要一段時間

溫馨提示

  • 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

提交評論