版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第講信息系統(tǒng)的開發(fā)方法§1概述§2結構化系統(tǒng)開發(fā)方法§3原型法§4面向?qū)ο蠓椒ā?其他開發(fā)方法
§6開發(fā)方式簡介§7開發(fā)模式簡介主要內(nèi)容60年代,開始注意信息系統(tǒng)開發(fā)的方法與工具(RichardCanning著書)。(1)70年代,系統(tǒng)開發(fā)的生命周期(lifecycle)法誕生(著名的“瀑布模型”)§1概述70年代后期,強調(diào)“初始階段的重要性”。
如果在需求階段產(chǎn)生一個差錯,就在需求階段糾正只要花費1元,那么在設計階段糾正要花費5元,在實現(xiàn)階段糾正要花費10元,到運行階段糾正要花費100元。系統(tǒng)需求軟件需求初步設計詳細設計編程調(diào)試測試運行運行維護(2)80年代80年代初,原型法(prototyping)的誕生(由于4GL的出現(xiàn)與發(fā)展)。80年代末,計算機輔助軟件工程(CASE)和面向?qū)ο螅╫bjected-oriented)的開發(fā)方法得到發(fā)展.(3)90年代初,面向?qū)ο蟮姆治雠c設計和面向?qū)ο蟮恼Z言開始實際應用。一維(按時間過程):生命周期法和原型法。二維(按系統(tǒng)的分析要素):面向處理方法(processingoriented,PO),面向數(shù)據(jù)方法(dataoriented,DO),面向?qū)ο蟮姆椒?objectoriented,OO)。PODOOOLCLC-POLC-DOLC-OOPROTPROT-POPROT-DOPROT-OO(4)開發(fā)方法分類§2結構化系統(tǒng)開發(fā)方法MIS工程工作流結構化系統(tǒng)開發(fā)方法SSA&D方法的基本思想(structuredsystemdevelopmentmethodologies)用系統(tǒng)工程的思想和工程化的方法;按用戶至上的原則;結構化、模塊化;自頂向下地對信息系統(tǒng)進行分析與設計。結構化系統(tǒng)開發(fā)方法SSA&D方法的特點
(structuredsystemdevelopmentmethodologies)自頂向下整體性的分析設計和自底向上逐步實施;建立面向用戶的觀點;嚴格區(qū)分工作階段;深入調(diào)查研究;充分預料可能的變化;開發(fā)過程工程化。結構化系統(tǒng)開發(fā)方法SSA&D的優(yōu)缺點優(yōu)點:嚴格區(qū)分開發(fā)階段,系統(tǒng)的針對性強;整體性與全局性好,自頂向下觀點。缺點:開發(fā)周期長;開發(fā)過程繁瑣、復雜;開發(fā)工具落后;與用戶交流不直觀;系統(tǒng)的升級較困難。原型方法原型方法在關系數(shù)據(jù)庫系統(tǒng)、第四代開發(fā)語言(4GL)和各種可視化開發(fā)環(huán)境的支持下提出的一種開發(fā)方法開發(fā)要求分析評價軟件環(huán)境用戶開發(fā)商構造原型
軟件支持環(huán)境RDBMS數(shù)據(jù)字典、建模工具快速查詢系統(tǒng)4GL軟件工具可視化報告、界面生成器,快速構造原型
§3原型法原型方法原型法工作流程1、用戶提出系統(tǒng)要求2、識別、歸納上述要求3、開發(fā)一個模型/原型4、評價模型5、模型不可行處理6、模型不滿意處理7、修改模型8、確定模型后的處理N、實際系統(tǒng)開發(fā)、運行、維護等12346758N不可行不滿意滿意原型法的過程
系統(tǒng)開發(fā)者在初步了解用戶需求的基礎上,快速構造系統(tǒng)開發(fā)的初步模型--原型。這個原型可能是粗糙的、不完善的,經(jīng)用戶和開發(fā)人員共同研討、改進和完善,提出修改方案。開發(fā)人員根據(jù)修改方案對原型進行修改,得到新的原型,再去征求用戶意見,反復多次直到取得滿意的原型為止。
在建筑學和機械設計中,“原型”指的是其結構、大小和功能都與某個物體相類似的模擬該物體的原始模型。在管理信息系統(tǒng)開發(fā)中,用“原型”來形象地表示系統(tǒng)的一個早期可運行版本,它能反映新系統(tǒng)的部分重要功能和特征。原型法的軟件支持環(huán)境方便靈活的關系數(shù)據(jù)庫系統(tǒng)(RDBS);與RDBS相對應的、方便靈活的數(shù)據(jù)字典描述工具;與RDBS相對應的快速查詢系統(tǒng);用以支持結構化程序的軟件工具;非過程化的報告或屏幕生成器;自動文檔編排功能。原型法開發(fā)的條件開發(fā)周期必須短且成本低要求用戶參與評價原型原型必須是可運行的原型要易于修改原型法的特點從認識論的角度看,原型方法更多地遵循了人們認識事物的規(guī)律,因而更容易為人們所普遍接受;原型方法將模擬的手段引入系統(tǒng)分析的初期階段,溝通了人們的思想,縮短了用戶和系統(tǒng)分析人員之間的距離,解決了結構化方法中最難以解決的一環(huán)。充分利用了最新的軟件工具,擺脫了老一套工作方法,使系統(tǒng)開發(fā)的時間、費用大大地減少,效率、技術等方面都大大地提高。原型法的適用方式探索型:針對開發(fā)目標模糊,用戶和開發(fā)人員都缺乏經(jīng)驗。實驗型:大規(guī)模開發(fā)和實現(xiàn)之前的考核、驗證。演化型:易于變化,可不斷改變原型。(1)對于大型系統(tǒng),若不經(jīng)過系統(tǒng)分析進行整體性劃分,而直接用屏幕來一個一個地模擬是很困難的。(2)對于大量運算的、邏輯性較強的程序模塊,原型法很難構造出模型來供人評價;(3)對于原基礎管理不善、信息處理過程混亂的問題,是擁有一定的困難。(4)對于一個批處理系統(tǒng),其大部分是內(nèi)部處理過程,用原型法有一定的困難。
原型法的適用范圍和局限性優(yōu)點:(1)改善了用戶和系統(tǒng)設計者的交流方式;(2)幫助確定技術上的可行性;(3)有助于推廣目標系統(tǒng)的思想;(4)降低了開發(fā)風險;(5)減少了用戶的培訓時間,開發(fā)的時間和成本。缺點:(1)方法缺少系統(tǒng)性和完整性;(2)對開發(fā)工具要求高;(3)容易走上機械模擬手工系統(tǒng)的方式;(4)不適用于開發(fā)大型綜合的MIS?!?面向?qū)ο蠓椒嫦驅(qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O計(OOD)面向?qū)ο蟪绦蛟O計(OOP)面向?qū)ο蟮姆椒ǎ∣bjectOriented,OO
)客觀世界是由各種各樣的對象組成的,對象是一個獨立存在的實體,從外部可以了解它的功能,但其內(nèi)部細節(jié)是“隱蔽”的,它不受外界干擾。每種對象都有各自的內(nèi)部狀態(tài)和運動規(guī)律,不同的對象之間相互作用和聯(lián)系構成了各種不同的系統(tǒng)。
基本思想基于所研究的問題,對問題空間(軟件域)進行自然分割,識別其中的對象及其相互關系,建立問題空間的信息模型,在此基礎上進行系統(tǒng)設計,用對應對象和關系的軟件模塊構造系統(tǒng)。使系統(tǒng)的開發(fā)過程能像硬件組裝那樣,由“軟件集成塊”來構筑。對象:當設計和實現(xiàn)一個信息系統(tǒng)時,如能在滿足需求的條件下,把系統(tǒng)設計成由一些不可變的(相對固定)部分組成的最小集合,這個設計就是最好的。它把握了事物的本質(zhì),因而不再會被周圍環(huán)境(物理環(huán)境和管理模式)的變化以及用戶沒完沒了的需求變化所左右。這些不可變的部分就是所謂的對象。面向?qū)ο蠓椒ǖ倪M一步解釋
(1)客觀事物都是由對象組成的(任何復雜的事物都可以通過對象的某種組合構成)(2)對象由屬性和方法組成(屬性反映了對象的信息特征,如:特點、值、狀態(tài)等,方法則是用來定義改變屬性狀態(tài)的各種操作)(3)對象之間的聯(lián)系通過傳遞消息來實現(xiàn)(傳遞消息的方式是通過消息模式和方法所定義的操作過程來完成的)(4)對象可按其屬性進行歸類(類有一定的結構,類上可以有超類,類下可以有子類,這種對象或類之間的層次結構是靠繼承關系維系著的)(5)對象是被封裝的實體(封裝指嚴格的模塊化。這種封裝了的對象滿足軟件工程的一切要求,而且可以直接被面向?qū)ο蟮某绦蛟O計語言所接受)
面向?qū)ο蠹夹g的基本概念對象(Object)類(Class)消息(Message)繼承性(Inheritance)多態(tài)(Polymorphism)封裝(Encapsulation)
對象(Object)對象--類的一個實例,包括了數(shù)據(jù)和過程,它是面向?qū)ο蟪绦蛟O計的基本單元。屬性--對象的特征。對象之間的兩種關系:分類結構—對象A是對象B類中一種的關系。組裝結構—對象A是對象B的一部分的關系。運輸工具分類結構組裝結構計算機
類(Class)類是對象的抽象。一個類定義了大體上相似的一組對象(對象的集合);類是對象的定義和描述。一個類所包含的方法和數(shù)據(jù)是用來描述一組對象的共同行為和屬性;通過類來抽象一個個對象的共同特點、描述一個個對象的相似屬性,存儲一個個對象的一致行為,是面向?qū)ο蠹夹g最重要的特征。子類
是對其父類的改動,相對父類,子類可以繼承父類中的全部功能及響應代碼添加新的功能及響應代碼用新過程覆蓋父類中不適合子類的過程。Command退出父類—子類—對象
消息(Message)
消息是對象之間的通信機制,是訪問類中所定義的行為的手段。當一個消息發(fā)送給某一個對象時,即要求該對象產(chǎn)生某些行為。所要求產(chǎn)生的行為包含在發(fā)送的消息中,對象接受到消息后,給與解釋并產(chǎn)生影響。這種通信過程交消息傳遞(MessagePassing)。發(fā)送對象(Sender)接受對象(Receiver)接口消息操作名,參數(shù)消息傳遞模型
繼承性(Inheritance)繼承性是不同類層次之間共享數(shù)據(jù)和方法的手段,是軟件重用的一種機制。對一個新的類的定義和實現(xiàn),可以建立在已有類的基礎上。把已經(jīng)存在類中的數(shù)據(jù)和方法作為自己的內(nèi)容,并加入自己特有的新內(nèi)容。類的層次結構在概念分析上源于對事物不同層次的抽象,而在具體實現(xiàn)上卻依賴繼承機制。
在一個類上所做的改動反映到它所具有的所有子類中,并同時反映到按該類及其子類所創(chuàng)建的對象中。
多態(tài)(Polymorphism)
多態(tài)是指具有多種形式。不同對象在收到統(tǒng)一消息后產(chǎn)生不同的結果,這一現(xiàn)象叫多態(tài)。在使用多態(tài)時,系統(tǒng)發(fā)出一個通用消息,而實現(xiàn)的細節(jié)由收到消息的對象自行決定。這樣,同一消息就可能產(chǎn)生不同的調(diào)用方法。
用相同名稱調(diào)用方法的能力,使其具有不同的內(nèi)容,這主要取決于所處理的對象。DrawCircleRectangle畫矩形畫圓
所有對象接收同一條消息Draw,但每個對象分別作出自己的響應。
封裝(Encapsulation)封裝是指對象可以擁有內(nèi)部變量和處理,并將內(nèi)部細節(jié)隱藏起來的能力。封裝將對象封閉起來,管理著對象的內(nèi)部狀態(tài),因而封裝的實質(zhì)是信息隱藏,它的基本單位是對象。封裝需要兩個條件:一是所需封裝的對象必須是完備的,即該對象必須能表示一個完整的概念,包括這個概念的所有方面;二是對象必須具有私有特征,它需要對其內(nèi)部的數(shù)據(jù)和處理過程限制使用權限,以保證其內(nèi)部的牢固性。面向?qū)ο笙到y(tǒng)的開發(fā)過程面向?qū)ο蟮南到y(tǒng)開發(fā)模型時間時間需求總體設計分析設計分析設計簇二簇一簇三類庫目標系統(tǒng)設計實現(xiàn)面向?qū)ο蟮南到y(tǒng)開發(fā)生命周期(1)分析階段(ObjectOrientedAnalysis,OOA)從問題域中選出詞匯,建立類和對象的模型世界。(2)設計階段(ObjectOrientedDesign,OOD)對問題域的行為進行關鍵抽象再分解的過程。(3)演化階段面向?qū)ο蟪绦蛟O計(ObjectOrientedProgramming,OOP)、測試和集成組合在一起的階段。(4)維護階段是系統(tǒng)提交運行之后的變更活動。
是找出和規(guī)定一組根據(jù)系統(tǒng)的各項要求而行動和相互作用的問題領域?qū)ο?。如:一個簡單的銷售系統(tǒng)模型的實例:顧客姓名地址交易日期時間計算總額銷售交易付款方式計算總額銷售項數(shù)量計算銷售額貨品名稱價格取價格計算銷售額取價格面向?qū)ο蟮姆治觯∣OA)面向?qū)ο笤O計ObjectOrientedDesign,OOD
OOD的主要作用是對OOA分析的結果作進一步的規(guī)范化整理,以便能被OOP直接接受。主要有以下幾項工作:對象定義規(guī)格的求精過程數(shù)據(jù)模型和數(shù)據(jù)庫設計優(yōu)化
對象和結構的模塊化為OOD提供了一種范式,這種范式支持對類和結構的模塊化。并符合一般模塊化所要求的所有特點,如信息隱藏性好,內(nèi)部聚合度強和模塊之間耦合度弱等。面向?qū)ο笤O計程序ObjectOrientedProgramming,OOP
試圖使程序設計環(huán)境適合于現(xiàn)實世界的問題。
面向?qū)ο笫钩绦騿T的觀點從程序設計語言如何工作轉向著重于執(zhí)行程序設計功能的對象模型,而不是著重于每個程序代碼如何與程序的其他部分和系統(tǒng)交互作用上,面向?qū)ο蟪绦蛑赜诮⒛軌蚰M程序需要解決的現(xiàn)實世界問題的對象。
例如:VisualFoxPro對象是自包容模型,他們封裝了代表現(xiàn)實世界問題的數(shù)據(jù)及有效地操作對象數(shù)據(jù)的程序設計函數(shù)。面向?qū)ο蠓椒ǖ脑u價
特點:需要一個詳細的需求分析報告從小到大,自下而上的分析過程完成從對象客體的描述到軟件結構之間的轉換必須與其他方法綜合運用才能充分發(fā)揮其優(yōu)勢面向?qū)ο蠓椒ǖ某霭l(fā)點和所追求的基本目標是使分析、設計和實現(xiàn)一個系統(tǒng)的方法盡可能接近人們認識一個系統(tǒng)的方法,也就是使描述問題的問題空間和解決問題的方法空間在結構上盡可能一致。使設計出的軟件盡可能直接地描述現(xiàn)實世界,構造出模塊化的、可重用的、應變能力和維護性好的軟件,并達到控制軟件的復雜性和降低開發(fā)維護費用的目的。注意:階段調(diào)查分析設計實現(xiàn)工作量>30%>40%<20%10%(2)開發(fā)過程中各環(huán)節(jié)所占的比重(1)只有結構化系統(tǒng)開發(fā)方法是真正能較全面支持整個系統(tǒng)開發(fā)過程的方法,其他方法只能是在局部開發(fā)環(huán)節(jié)上的補充§5其他開發(fā)方法
JAD(JointApplicationDevelopment)CBSE(Component-BasedSoftwareEngineering)的開發(fā)2-41信息工程方法自頂向下按四個開發(fā)階段逐步進行:(1)信息戰(zhàn)略規(guī)劃階段;(2)業(yè)務分析階段;(3)系統(tǒng)設計階段;(4)系統(tǒng)制作階段
信息工程方法的開發(fā)過程與結構化生命周期法類似,也是分階段進行的,該方法引入了知識庫的概念,從業(yè)務分析到系統(tǒng)制作的每一個過程都離不開知識庫的支撐。信息工程方法的開發(fā)階段信息戰(zhàn)略規(guī)劃業(yè)務分析初步設計原型法設計詳細設計硬件設計程序自動生成測試運行維護知識庫2-42信息戰(zhàn)略規(guī)劃階段
該階段的目的是使所開發(fā)的信息系統(tǒng)能支持企業(yè)領導的經(jīng)營管理及其決策,能支持企業(yè)經(jīng)營管理的方針和策略,保證系統(tǒng)在統(tǒng)一的目標和要求下按計劃開發(fā)。具體工作包括:
(1)調(diào)研分析。初步調(diào)查企業(yè)的內(nèi)外環(huán)境、優(yōu)勢和劣勢、經(jīng)營方針、目標,明確實現(xiàn)方針、目標的條件及關鍵要素。
(2)信息戰(zhàn)略規(guī)劃。根據(jù)初步調(diào)查和分析,決定系統(tǒng)開發(fā)的目的和開發(fā)規(guī)劃、總體框架及體系結構、企業(yè)基本模型、數(shù)據(jù)基本模型、業(yè)務處理模型、技術規(guī)范、系統(tǒng)開發(fā)的優(yōu)先次序、人員、開發(fā)進度等。2-43業(yè)務分析階段
該階段的工作內(nèi)容是從知識庫中取出規(guī)劃階段存入的信息,對業(yè)務處理的數(shù)據(jù)和處理過程進行分析,總結出詳細的數(shù)據(jù)模型和處理模型及兩者之間的關系存入知識庫中。系統(tǒng)設計階段
從知識庫中取出分析階段存入的有關信息,進行數(shù)據(jù)流程、數(shù)據(jù)結構、輸入/輸出設計,并將結果存入知識庫中。系統(tǒng)制作階段
從知識庫中取出設計階段存入的有關信息,用程序生成器自動生成程序代碼,并進行調(diào)試和測試。2-44計算機輔助開發(fā)(CASE)方法(ComputeAidedSoftwareEngineering)
CASE是一種自動化或半自動化的方法,能夠全面支持除系統(tǒng)調(diào)查外的每一個開發(fā)步驟。CASE是一種開發(fā)環(huán)境而不是一種開發(fā)方法。目前,CASE仍是一個發(fā)展中的概念,各種CASE軟件也較多,沒有統(tǒng)一的模式和標準。采用CASE工具進行開發(fā),必須結合一種具體的開發(fā)方法,如:結構化系統(tǒng)開發(fā)方法、面向?qū)ο蠓椒ɑ蛟头ǖ?,CASE方法只是為具體的開發(fā)方法提供了支持每一過程的專門工具。2-45CASE方法的特點:
(1)解決了從客觀對象到軟件系統(tǒng)的映射問題,支持系統(tǒng)開發(fā)的全過程;(2)提高了軟件質(zhì)量和軟件重用性;(3)加快了軟件開發(fā)速度;(4)簡化了軟件開發(fā)的管理和維護;
溫馨提示
- 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
提交評論