精品欧美无遮挡一区二区三区在线观看,中文字幕一区二区日韩欧美,久久久久国色αv免费观看,亚洲熟女乱综合一区二区三区

        ? 首頁 ? 百科知識 ?數(shù)據(jù)是程序處理的對象

        數(shù)據(jù)是程序處理的對象

        時間:2023-10-03 百科知識 版權(quán)反饋
        【摘要】:數(shù)據(jù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、 處理和存儲情況,是系統(tǒng)分析結(jié)果的表達工具。圖6-8給出了某企業(yè)訂貨管理系統(tǒng)的數(shù)據(jù)流程圖。庫房管理人員要向系統(tǒng)提供缺貨信息,處理過程P1將根據(jù)缺貨信息和訂貨合同信息向供貨單位發(fā)催貨通知。系統(tǒng)分析人員可以借助數(shù)據(jù)流程圖,減少與用戶溝通時的困難與誤解,還有助于進行子系統(tǒng)的劃分。

        信息系統(tǒng)依據(jù)其規(guī)模、 技術(shù)復(fù)雜程度、 外部環(huán)境和需要解決問題的不同而有所不同。 在信息系統(tǒng)建設(shè)的長期實踐中,針對這些不同的系統(tǒng)和不同的開發(fā)背景發(fā)展了不同的系統(tǒng)開發(fā)方法。 應(yīng)當特別指出的是,沒有任何一種方法能適用于所有類型的系統(tǒng),相反,有些類型的系統(tǒng)至今仍缺少有效的開發(fā)方法。

        1. 傳統(tǒng)的結(jié)構(gòu)化方法

        早期的編程并沒有什么方法可言,用戶的要求是通過交談和詢問收集的,事后根據(jù)談話寫成的文字也很難理出頭緒。 程序代碼復(fù)雜而難以理解,邏輯流程像面條一樣互相纏繞在一起。 這樣的程序被稱作 “意大利面條” 式的程序,它們幾乎無法維護。

        為了解決這些問題,到20世紀70年代,產(chǎn)生了 “自頂向下” 和 “結(jié)構(gòu)化” 的方法。所謂自頂向下,是指從抽象的高層向具體的低層逐層展開 所謂結(jié)構(gòu)化,是指把復(fù)雜的事務(wù)和活動分解成一系列小的步驟,每一步都建立在上一步的基礎(chǔ)上。 將這兩種思想廣泛地用于系統(tǒng)開發(fā)的各主要階段,形成了結(jié)構(gòu)化分析、 結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化編程等一系列能改善開發(fā)人員之間的溝通、 提高程序的可讀性的開發(fā)方法與工具。 盡管這些方法與工具都是面向過程而不是面向數(shù)據(jù)的,它們卻一直被使用了30多年。 現(xiàn)在所使用的大部分軟件仍然是用這種傳統(tǒng)的自頂向下的結(jié)構(gòu)化方法開發(fā)出來的。

        (1) 結(jié)構(gòu)化分析

        1) 業(yè)務(wù)流程分析

        業(yè)務(wù)流程分析可以幫助分析人員了解業(yè)務(wù)的具體處理過程,發(fā)現(xiàn)和處理系統(tǒng)調(diào)查工作中的錯誤和疏漏,修改和刪除原系統(tǒng)的不合理部分,對原系統(tǒng)的業(yè)務(wù)流程進行優(yōu)化。 常用的分析工具是業(yè)務(wù)流程圖 (Transaction Flow Diagram,TFD)。 TFD是一種描述系統(tǒng)內(nèi)各單位、 人員之間業(yè)務(wù)關(guān)系、 作業(yè)順序和管理信息流向的工具,利用它不僅可以描述 “數(shù)據(jù)” 的流程同時也可以描述 “物流” 和人的活動,比較容易為用戶所理解,所以,在系統(tǒng)分析中常作為同用戶交流的工具。

        業(yè)務(wù)流程圖基本符號尚無統(tǒng)一的標準常用的符號如圖6-5所示。

        圖6-5 業(yè)務(wù)流程圖常用符號

        訂單處理業(yè)務(wù)流程如圖6-6所示。 顧客將訂貨單交給業(yè)務(wù)員檢驗后,不合格的訂單要由顧客重新填寫 合格的訂單交給發(fā)貨員確定發(fā)貨量并產(chǎn)生發(fā)貨單。 發(fā)貨單交給倉庫管理員,該倉庫管理員查閱庫存明細賬,如果有貨,則出庫給發(fā)貨員,發(fā)貨員根據(jù)訂貨單發(fā)貨給顧客 如果缺貨,則用缺貨通知單通知采購部門采購。

        圖6-6 訂單處理業(yè)務(wù)流程圖

        2) 數(shù)據(jù)流程分析

        面向數(shù)據(jù)流的分析方法是結(jié)構(gòu)化分析方法中最為流行的一種方法,具有明顯的結(jié)構(gòu)化特征。 結(jié)構(gòu)化分析廣泛地用于自頂向下定義系統(tǒng)的輸入、 處理過程和輸出。 它用一種圖示的方法建立起信息流動的邏輯模型,這種工具即數(shù)據(jù)流程圖 (Data Flow Diagram,DFD)。

        數(shù)據(jù)流程圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、 處理和存儲情況,是系統(tǒng)分析結(jié)果的表達工具。 它是系統(tǒng)設(shè)計的重要參考資料,也是系統(tǒng)設(shè)計的起點。

        數(shù)據(jù)流程圖用四種符號來描述數(shù)據(jù)流入、 流出和在系統(tǒng)內(nèi)被轉(zhuǎn)換的過程。 常用數(shù)據(jù)流程圖的基本符號如圖6-7所示。

        圖6-7 數(shù)據(jù)流程圖的基本符號

        (a) 數(shù)據(jù)流 (b) 數(shù)據(jù)存儲 (c) 處理過程 (d) 外部實體

        ①數(shù)據(jù)流。 數(shù)據(jù)流用帶箭頭的線條表示數(shù)據(jù)在處理過程、 數(shù)據(jù)存儲和外部實體之間的流動。 數(shù)據(jù)流代表著一種手工和計算機產(chǎn)生的文件、 報告或其中的部分數(shù)據(jù),有一個與所代表的內(nèi)容相適應(yīng)的名字注在箭頭的旁邊。 在數(shù)據(jù)流程圖中,數(shù)據(jù)流符號用于連接其他三種基本符號。 在連接時應(yīng)當注意,數(shù)據(jù)流不能從外部實體直接連接到外部實體,不能從數(shù)據(jù)存儲直接連接到數(shù)據(jù)存儲,也不能從數(shù)據(jù)存儲直接連接到外部實體,其中至少有一個端點必須與加工符號連接。 本質(zhì)上,數(shù)據(jù)流代表一個或多個數(shù)據(jù)項。

        ②數(shù)據(jù)存儲。 數(shù)據(jù)存儲表示系統(tǒng)內(nèi)需存儲保留的數(shù)據(jù)。 它既可以表示計算機形成的數(shù)據(jù)存儲,如計算機文件、 數(shù)據(jù)庫,又可以表示手工形成的數(shù)據(jù)存儲,如裝訂好的紙質(zhì)賬冊以及報告、 縮微膠片等。 當然,數(shù)據(jù)流程圖并不關(guān)心數(shù)據(jù)存儲的物理特征,而只關(guān)心邏輯模型、邏輯意義上的數(shù)據(jù)存儲環(huán)節(jié),即系統(tǒng)信息處理功能需要的、 不考慮存儲物理介質(zhì)和技術(shù)手段的數(shù)據(jù)存儲環(huán)節(jié)。 每個數(shù)據(jù)存儲都應(yīng)當有編號和名稱,寫在數(shù)據(jù)存儲符號中。

        使用數(shù)據(jù)存儲時需注意: 數(shù)據(jù)存儲不能直接和數(shù)據(jù)存儲相連,也不能直接和外部實體相連,數(shù)據(jù)存儲只能通過數(shù)據(jù)流符號和處理過程連接起來,表示存儲處理過程的結(jié)果或向處理過程提供數(shù)據(jù)。

        ③處理過程。 處理過程用以描述對輸入數(shù)據(jù)進行加工處理的邏輯功能。 每個處理過程都應(yīng)該有一個由動賓詞組 (例如 “打印成績單”、 “計算工資” 等) 或動名詞 (例如 “退貨管理”、 “出庫管理” 等) 構(gòu)成的名字和一個能夠與其他處理過程相互區(qū)分的編號。

        處理過程接收輸入數(shù)據(jù),進行處理后產(chǎn)生輸出結(jié)果。 一個處理過程可以有一個或多個輸入的數(shù)據(jù)流、 一個或多個輸出的數(shù)據(jù)流,不能只有輸入數(shù)據(jù)流而沒有輸出數(shù)據(jù)流,也不能只有輸出數(shù)據(jù)流而沒有輸入數(shù)據(jù)流。

        ④外部實體。 外部實體是系統(tǒng)輸入數(shù)據(jù)的提供者或系統(tǒng)輸出信息的接收者。 它可能是組織外部的顧客、 供貨方、 政府機構(gòu),也可能是組織內(nèi)部的雇員或組織的其他部門,還可能是一個與本系統(tǒng)有數(shù)據(jù)傳遞關(guān)系的其他系統(tǒng)。

        圖6-8給出了某企業(yè)訂貨管理系統(tǒng)的數(shù)據(jù)流程圖。 該DFD中有兩個外部實體,即庫房管理人員及供貨單位。 庫房管理人員要向系統(tǒng)提供缺貨信息,處理過程P1將根據(jù)缺貨信息和訂貨合同信息向供貨單位發(fā)催貨通知。P2、P3、P4處理如圖6-8所示。

        數(shù)據(jù)流程圖中每一個過程都可以分解成更詳細的下一層的DFD,這樣逐層分解下去直到最詳細的底層為止。 系統(tǒng)分析人員可以借助數(shù)據(jù)流程圖,減少與用戶溝通時的困難與誤解,還有助于進行子系統(tǒng)的劃分。

        圖6-8 訂貨管理系統(tǒng)的數(shù)據(jù)流程圖

        3) 數(shù)據(jù)字典和處理過程說明

        結(jié)構(gòu)化系統(tǒng)分析還要用到的工具是數(shù)據(jù)字典和處理過程說明。

        數(shù)據(jù)字典定義了數(shù)據(jù)流程圖中的數(shù)據(jù)流和數(shù)據(jù)存儲的內(nèi)容,使系統(tǒng)開發(fā)者能準確地知道每個數(shù)據(jù)流和數(shù)據(jù)存儲中具體包含了哪些數(shù)據(jù)。 數(shù)據(jù)字典同時也提供了每一個數(shù)據(jù)項的含義與格式。

        處理過程說明描述最底層的數(shù)據(jù)流程圖的每個處理過程中的處理邏輯,描述了如何將輸入的數(shù)據(jù)流加工成輸出的數(shù)據(jù)流,通常描述處理過程的工具有決策樹、 決策表及結(jié)構(gòu)表示法。

        結(jié)構(gòu)化系統(tǒng)分析的結(jié)果將提交一套結(jié)構(gòu)化的說明書,其中包括描述系統(tǒng)功能的數(shù)據(jù)流程圖,描述數(shù)據(jù)流和數(shù)據(jù)存儲的數(shù)據(jù)字典,描述處理過程的說明書,輸入/輸出文檔以及安全、控制、 運行和轉(zhuǎn)換方面的其他要求。

        (2) 結(jié)構(gòu)化設(shè)計

        結(jié)構(gòu)化設(shè)計是一種自上而下逐層展開的設(shè)計方法。 它包括一整套規(guī)則和技巧,通過增加程序的清晰度和簡明性來達到減少編程、 調(diào)試和維護工作量的目的。 設(shè)計時首先考慮主要的功能,然后將主要功能分解成下層的子功能,再對子功能進行分解直至最底層。 結(jié)構(gòu)化的系統(tǒng)分析的結(jié)果是結(jié)構(gòu)化說明書。

        結(jié)構(gòu)化設(shè)計的結(jié)果可以用結(jié)構(gòu)圖來表示。 結(jié)構(gòu)圖是一個自頂向下的圖,表示出每一層次的設(shè)計如圖6-9所示。

        圖6-9 庫存管理系統(tǒng)結(jié)構(gòu)圖

        (3) 結(jié)構(gòu)化編程

        結(jié)構(gòu)化編程是結(jié)構(gòu)化設(shè)計方法在編程中的延伸,同結(jié)構(gòu)化設(shè)計一樣,也遵循模塊化和自頂向下的原則。 結(jié)構(gòu)化編程還通過讓控制盡量簡明的方式來組織和編寫程序,減少甚至消除程序中向前和向后的跳轉(zhuǎn),達到使程序更加容易理解和更加容易修改的目的。

        結(jié)構(gòu)化設(shè)計產(chǎn)生的結(jié)構(gòu)圖中,每個方框代表了一個復(fù)合程序模塊,它可以分解成多個模塊,每個模塊只完成一個或很少幾個功能。 最好每個模塊都能相互獨立。 互相連接時,盡量使每個模塊只有一個入口和出口。 共享數(shù)據(jù)的模塊也應(yīng)該盡量減少。

        模塊之間不應(yīng)該有隱含的關(guān)聯(lián),那樣會引起 “波紋效應(yīng)”,即一個模塊的修改會影響到其他模塊,產(chǎn)生意外的結(jié)果。 減少和消除這些有害的隱含關(guān)聯(lián),也就減少了錯誤擴散的途徑。

        每個模塊的大小應(yīng)該便于管理,以一個人能方便地讀懂它的功能為原則。 模塊內(nèi)的指令流也應(yīng)該保持自上而下的順序,避免任意轉(zhuǎn)移。 許多 “結(jié)構(gòu)化語言” 就取消了GOTO之類的無條件轉(zhuǎn)移語句。

        (4) 結(jié)構(gòu)化方法的優(yōu)點及缺點

        結(jié)構(gòu)化方法的優(yōu)點主要表現(xiàn)在以下幾個方面:

        ①階段的順序性和依賴性

        ②從抽象到具體,逐步求精

        ③邏輯設(shè)計與物理設(shè)計分開

        ④質(zhì)量保證措施完備

        ⑤適合大型信息系統(tǒng)的開發(fā)。

        盡管結(jié)構(gòu)化方法已經(jīng)產(chǎn)生30多年了,但只有很少的組織使用過這種方法。 一項調(diào)查發(fā)現(xiàn),在被調(diào)查的組織中,只有15%~20%的組織自始至終堅持結(jié)構(gòu)化的分析與設(shè)計方法。 綜合來看,結(jié)構(gòu)化方法主要存在以下缺點:

        ①預(yù)先定義需求困難

        ②未能很好地解決系統(tǒng)分析到系統(tǒng)設(shè)計之間的過渡

        ③該方法文檔的編寫工作量極大

        ④開發(fā)周期長,系統(tǒng)難以適應(yīng)環(huán)境的變化

        ⑤開發(fā)成本較大。

        結(jié)構(gòu)化方法是一種線性化的方法。 分析、 設(shè)計與編程的每一階段都要在上一階段完成之后才能開始。

        2. 原型法

        原型法是針對生命周期法的主要缺點而發(fā)展出來的一種快速、 廉價的開發(fā)方法。 它不要求用戶提出完整的需求后再進行設(shè)計和編程,而是先按用戶最基本的需求,迅速而廉價地開發(fā)出一個實驗型的小型系統(tǒng),稱作 “原型”。 然后將原型交給用戶使用,通過用戶的使用啟發(fā)出用戶的進一步需求,并根據(jù)用戶的意見對原型進行修改,用戶再對改進后的系統(tǒng)提出新的需求。 這樣反復(fù)不斷修改,直至完成一個滿足用戶需求的系統(tǒng)。 與生命周期法相比,原型法的用戶需求是動態(tài)的,系統(tǒng)分析、 設(shè)計與實現(xiàn)都是隨著對一個工作模型的不斷修改而同時完成的,相互之間并無明確的界限,也沒有明確的人員分工。 系統(tǒng)開發(fā)計劃就是一個反復(fù)修改的過程。

        (1) 原型法的開發(fā)步驟

        原型法的開發(fā)流程如圖6-10所示具體可以歸納為四個步驟。

        圖6-10 原型法的開發(fā)流程

        ①初步確定用戶最基本的需求

        ②據(jù)此快速開發(fā)一個原型系統(tǒng)

        ③將原型交付用戶使用,啟發(fā)用戶提出新的要求

        ④按新的要求改進原型,然后再交付給用戶試用。

        反復(fù)更迭第③、 ④兩個步驟,直到滿足用戶的所有要求。

        (2) 原型法的適用場合與局限性

        原型法適合于需求不確定和解決方案不明確的系統(tǒng)的開發(fā) (如決策支持系統(tǒng)),完整的用戶需求和解決方案可以通過原型與用戶反復(fù)交互來導(dǎo)出。 原型法還適用于開發(fā)信息系統(tǒng)中的最終用戶界面 (用戶接口)。 當用戶事先說不清系統(tǒng)界面的具體要求,或者雖然說明了要求,開發(fā)者卻把握不準時,使用原型法特別有效。 用戶和開發(fā)人員喜歡用原型法的原因主要如下:

        ①其加強了開發(fā)人員和用戶之間的溝通

        ②開發(fā)人員可以更好地確定用戶需求

        ③用戶在系統(tǒng)開發(fā)中扮演了更為積極的角色

        ④減少了開發(fā)人員和用戶在系統(tǒng)開發(fā)上花費的時間和精力

        ⑤實施更為容易,因為用戶知道會發(fā)生什么。

        這些優(yōu)點使原型法得以縮短開發(fā)周期,削減開發(fā)費用,提高用戶的滿意度,尤其是提高最終用戶的滿意度。

        盡管原型法有上述優(yōu)點,但它仍然不能代替結(jié)構(gòu)化設(shè)計的方法,不能代替嚴謹?shù)恼?guī)文檔,也不能取代傳統(tǒng)的生命周期法和相應(yīng)的開發(fā)工具。 第四代開發(fā)工具雖然能使原型的生成與修改變得更為快捷,但是仍然克服不了原型法的一些重大的局限性。

        首先,原型法不適于開發(fā)大的系統(tǒng)。 除非做了徹底的需求分析,否則,人們至今尚不知道應(yīng)該如何生成大系統(tǒng)的原型。 如果能把大系統(tǒng)分解成一系列的小系統(tǒng),就可以用原型法對每個小系統(tǒng)進行有效的開發(fā),但是這種分解工作是十分困難的,一般也需要先做徹底的需求分析。

        其次,開發(fā)原型法時,測試和文檔工作常常容易被忽略。 開發(fā)者總是傾向于把測試工作簡單地推給用戶,這使測試工作進行得不徹底,將給系統(tǒng)留下隱患。 開發(fā)者也容易忽略正式文檔的編寫,他們認為編寫文檔太費事,系統(tǒng)又太容易改變,即使做了文檔,也會很快地失效。 由于缺乏有效的完整的文檔,系統(tǒng)運行后很難進行正常的維護。

        最后,原型法的另一個缺點是運行的效率可能會比較低。 最原始的原型結(jié)構(gòu)不一定是合理的,以此為模板多次改進后的最終系統(tǒng)會保留這種結(jié)構(gòu)的不合理性。 用戶一般都意識不到重新進行編碼的必要性,而滿足于系統(tǒng)已經(jīng)具有了所需要的功能。 當系統(tǒng)運行于大數(shù)據(jù)量或者是在多用戶環(huán)境中的時候,運行的效率往往會降低。 這種結(jié)構(gòu)不合理的系統(tǒng)通常也是難以維護的。 正確的方法是將其重新編寫,但這要付出額外的代價。

        3. 快速應(yīng)用開發(fā)方法

        快速應(yīng)用開發(fā) (Rapid Application Development,RAD) 與原型法有同樣的目標,即對用戶需求做出快速反應(yīng),但它范圍更廣泛。 RAD被用來描述在非常短的時間內(nèi)創(chuàng)造可運行系統(tǒng)的過程,包括使用可視化編程及其他工具來建立圖形化用戶接口、 主要系統(tǒng)組件的重復(fù)原型、 自動化生成程序代碼及使用者與信息系統(tǒng)專家間的密切合作。 簡單的系統(tǒng)一般由事先建造的組件組合而成,流程不需要順序處理且開發(fā)的關(guān)鍵部分可以同時發(fā)生。 RAD的基本邏輯就是用戶的參與程度越高,尤其是在早期階段,系統(tǒng)開發(fā)就越快。 由于該方法強調(diào)用戶參與,以及開發(fā)速度上的特點,使得它極其具有吸引力。

        在RAD中,除了要明確用戶需求外,還需要有CASE工具、 原型技術(shù)、 一支能突擊完成任務(wù)的隊伍,以及一套能快速實現(xiàn)用戶要求的形式化軟件開發(fā)技術(shù)。 RAD使用更簡練的形式方法學,并通過重用軟件構(gòu)件更快地得到應(yīng)用系統(tǒng)。

        (1) RAD的要素

        RAD有4個要素,即管理、 人員、 方法和工具。

        ①管理: 管理者,尤其是高層管理者,更喜歡采用新的方式做事的試驗者,或者是能很快知道如何使用新方法的早期采用者。

        ②人員: 比起由單個小組開展所有的系統(tǒng)開發(fā)的生命周期活動,RAD認識到由幾個專門小組完成工作會更為有效。 這些小組的成員精通完成指定任務(wù)所需的方法及工具。 因此RAD比傳統(tǒng)生命周期要快。

        ③方法: 基本的RAD方法是RAD生命周期。 RAD生命周期包括需求計劃、 用戶設(shè)計、構(gòu)建及完成四個階段,并且除了構(gòu)建階段,用戶都起了主要作用。

        ④工具: RAD工具主要包括第四代編程語言、 配合原型開發(fā)和代碼生成的CASE工具。

        由此可以看出。 RAD的主要貢獻在于通過基于計算機的工具和專門項目小組,加快系統(tǒng)投入使用的速度。

        (2) RAD成功的關(guān)鍵因素

        RAD成功的關(guān)鍵因素包括以下幾個方面:

        ①制訂明確且大膽的目標。

        ②對每一個 “步驟/重復(fù)周期” 設(shè)置時間表和期限。 在RAD項目中,大多數(shù)過程是“有時間限制的”,應(yīng)為項目完成和其中的活動步驟設(shè)置時間期限。 在這個時間期限內(nèi),任何不能交付的特征或功能都應(yīng)該被刪除或推遲到將來的發(fā)布中。

        ③RAD支持工具。 RAD工具應(yīng)該為開發(fā)人員提供使用基于構(gòu)件的架構(gòu)來加快開發(fā)過程,支持RAD的需求獲取,能使開發(fā)人員方便地在原型中添加和刪除功能,相關(guān)的活動要在無須大量重新編寫代碼的情況下完成。 此外,RAD工具還應(yīng)該支持使用第三方構(gòu)件來實現(xiàn)用戶需求。

        實施RAD方法應(yīng)保證多個開發(fā)人員能在同一個應(yīng)用程序平臺上工作,并且這些開發(fā)人員能夠在他們的團隊中扮演很多角色。 例如,一個開發(fā)人員為正在討論的應(yīng)用程序創(chuàng)建了構(gòu)架,并設(shè)計了用戶界面和后臺代碼,而同一個資源可能還在被用于開發(fā)測試計劃,用于測試應(yīng)用程序,書寫文檔,并最終培訓(xùn)用戶。

        ④管理層的支持和有力的開發(fā)團隊。 管理層的支持是RAD成功的保障。 另一個關(guān)鍵環(huán)節(jié)是在RAD流程中使用 “混合” 小組,每個小組由5~6人組成,包括系統(tǒng)開發(fā)人員、 用戶及其他有決定權(quán)的人。

        4. 面向?qū)ο蠓椒?/p>

        結(jié)構(gòu)化方法是面向過程的方法,它的側(cè)重點在于數(shù)據(jù)轉(zhuǎn)換過程,而不是數(shù)據(jù)本身。 人們逐步認識到,數(shù)據(jù)的處理過程是不穩(wěn)定的、 變化的,而數(shù)據(jù)本身卻相對地比較穩(wěn)定,也更有價值。 一個部門產(chǎn)生的數(shù)據(jù)可以供給許多部門共享,只是它們各自對數(shù)據(jù)的處理方式不同而已。 例如,產(chǎn)品質(zhì)量數(shù)據(jù)可以被生產(chǎn)部門、 研究部門、 銷售人員、 高層管理人員,甚至顧客們分別用各自的方式加以利用,就連產(chǎn)生數(shù)據(jù)的部門自身,也要不斷地用各種經(jīng)常變化的方式使用這些數(shù)據(jù)。 當業(yè)務(wù)過程發(fā)生變化時,改變的往往是對這些數(shù)據(jù)的處理方法,而不是這些數(shù)據(jù)本身。 顯然,采用面向數(shù)據(jù)的開發(fā)方法,可以使系統(tǒng)更加精簡,更加靈活,更加易于修改,更能夠?qū)ζ髽I(yè)的經(jīng)常變化做出快速反應(yīng)。

        面向?qū)ο笙到y(tǒng)開發(fā)方法(Object-Oriented Method,OO方法) 是從20世紀80年代末各種面向?qū)ο蟮某绦蛟O(shè)計方法 (如Smalltalk、 C++等) 逐步發(fā)展而來的,隨著應(yīng)用系統(tǒng)日趨復(fù)雜、 龐大,面向?qū)ο蠓椒ㄒ云渲庇^、 方便的優(yōu)點獲得廣泛應(yīng)用。

        (1) 面向?qū)ο蠓椒ǖ幕舅枷?/p>

        面向?qū)ο蠓椒ㄕJ為,客觀世界是由各種各樣的對象組成的,每種對象都有各自的內(nèi)部狀態(tài)和運動規(guī)律,不同的對象之間的相互作用和聯(lián)系就構(gòu)成了各種不同的系統(tǒng)。

        當設(shè)計和實現(xiàn)一個客觀系統(tǒng)時,如能在滿足需求的條件下,把系統(tǒng)設(shè)計成由一些不可變的 (相對固定) 部分組成的最小集合,這個設(shè)計就是最好的。 因為它把握了事物的本質(zhì)因而不會被周圍環(huán)境 (物理環(huán)境和管理模式) 的變化及用戶無休止的需求變化所左右。 而這些不可變的部分就是所謂的對象。 面向?qū)ο蠓椒ň哂幸韵滤膫€要點。

        ①客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜的對象可以由比較簡單的對象以某種方式組合而成。

        ②對象是由屬性和方法封裝在一起構(gòu)成的統(tǒng)一體,屬性反映了對象的信息特征,如特點、 值、 狀態(tài)等,而方法則是用來定義改變屬性狀態(tài)的各種操作。

        ③所有對象都可劃分成各種類,按照子類與父類的關(guān)系,可把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng),通常下層的子類完全具有上層父類的特性,這種現(xiàn)象稱為繼承。

        ④對象彼此之間僅能通過傳遞消息互相聯(lián)系,而傳遞的方式是通過消息模式和方法所定義的操作過程來完成的。

        (2) 面向?qū)ο蠓椒ǖ拈_發(fā)過程

        面向?qū)ο蟮南到y(tǒng)開發(fā)可分為三個階段: 面向?qū)ο蠓治?(OOA)、 面向?qū)ο笤O(shè)計 (OOD)及面向?qū)ο笙到y(tǒng)實現(xiàn) (OOP)。

        ①面向?qū)ο蠓治觥?這一階段主要采用面向?qū)ο蠹夹g(shù)進行需求分析,對問題領(lǐng)域進行分析,明確問題是什么,以及為了解決問題需要做些什么,即在繁雜的問題域中抽象地識別出對象以及其行為、 結(jié)構(gòu)、 屬性、 方法等。

        ②面向?qū)ο笤O(shè)計。 這一階段要解決的問題是把分析階段確定出來的對象和類配置起來以實現(xiàn)系統(tǒng)功能,并建立系統(tǒng)體系結(jié)構(gòu),即對分析的結(jié)果做進一步的抽象、 歸類、 整理,并最終以規(guī)范的形式將它們確定下來。

        ③面向?qū)ο笙到y(tǒng)實現(xiàn),即采用面向?qū)ο蟮某绦蛟O(shè)計語言將上一步整理的范式直接映射(即直接用程序語言來取代) 為應(yīng)用程序軟件。 具體操作包括: 選擇程序設(shè)計語言編程、 調(diào)試、 試運行等。 前面兩階段得到的對象及其關(guān)系最終都必須由程序語言、 數(shù)據(jù)庫等技術(shù)實現(xiàn),但由于在設(shè)計階段對此有所側(cè)重考慮,故系統(tǒng)實現(xiàn)不會受具體語言的制約,因而本階段占整個開發(fā)周期的比重較小。

        (3) 面向?qū)ο蠓椒ǖ奶攸c

        面向?qū)ο箝_發(fā)方法具有以下幾個特點:

        ①系統(tǒng)開發(fā)人員通過面向?qū)ο蟮姆治觥?設(shè)計及編程,將現(xiàn)實世界的空間模型平滑而自然地過渡到面向?qū)ο蟮南到y(tǒng)模型,使系統(tǒng)開發(fā)過程與人們認識客觀世界的過程保持最大限度的一致。

        ②利用面向?qū)ο箝_發(fā)方法得到的信息系統(tǒng)軟件質(zhì)量高、 系統(tǒng)適應(yīng)性強,在內(nèi)外環(huán)境變化的過程中,系統(tǒng)易于保持較長的生命周期。

        ③在開發(fā)過程中,分析與設(shè)計更加緊密難分,程序設(shè)計比重越來越小,系統(tǒng)測試簡化可維護性好,易改進,易擴充,開發(fā)模型越加注重對象之間交互能力的描述。

        (4) 運用面向?qū)ο蠹夹g(shù)的障礙

        雖然面向?qū)ο蠹夹g(shù)及編程的需求越來越大,但面向?qū)ο蟮能浖_發(fā)技術(shù)仍處于不成熟階段,要讓大多數(shù)公司采用,還需要做大量的驗證。 盡管人們曾提出過幾種面向?qū)ο蠓椒?,但目前還沒有公認的標準。 許多公司在試用這種方法時猶豫不決,還因為這需要人員的廣泛培訓(xùn)并拋棄原有的傳統(tǒng)方法。

        5. CASE工具法

        計算機輔助軟件工程 (Computer Aided Software Engineering,CASE),有時也被稱為計算機輔助系統(tǒng)工程,是一種自動化或半自動化的系統(tǒng)開發(fā)環(huán)境,目的是減少重復(fù)工作量。 通過將許多常規(guī)化的開發(fā)工作自動化和強化設(shè)計,可使開發(fā)者解脫出來,將精力集中到更需要創(chuàng)造力的工作中。 CASE工具能夠方便地產(chǎn)生清晰的技術(shù)文檔,并使團體的工作更加協(xié)調(diào)一致。 程序員通過相互審閱和修改已經(jīng)完成的工作文件,使合作變得更加容易。 CASE工具及其開發(fā)出的系統(tǒng)已被證明更為可靠,所需的維護也更少。 多數(shù)CASE工具都是以微機為基礎(chǔ),并有很強的圖形能力。

        CASE工具提供了自動繪圖功能,用以產(chǎn)生圖表、 流程圖,并支持屏幕及報表生成器、數(shù)據(jù)字典、 高效報表工具、 分析校驗工具及代碼和文檔生成器。 多數(shù)CASE工具是以一種或多種流行的結(jié)構(gòu)化設(shè)計方法為基礎(chǔ)的。 一些CASE工具已經(jīng)開始支持面向?qū)ο蟮拈_發(fā),并且具有了支持建立客戶機/服務(wù)器模式應(yīng)用的能力。 CASE工具一般是通過以下幾種途徑來提高生產(chǎn)率和質(zhì)量的:

        ①支持一種標準的開發(fā)方法和設(shè)計原則,使設(shè)計和整個開發(fā)過程更具有整體性

        ②改進用戶和技術(shù)專家之間的交流,以使大型開發(fā)團體和軟件工程能更有效地協(xié)調(diào)

        ③通過設(shè)計庫將系統(tǒng)設(shè)計的各個部分聯(lián)系在一起,對其進行快速處理

        ④自動消除分析與設(shè)計中的冗余及錯誤。

        為了更有成效,與傳統(tǒng)的手工開發(fā)方式相比,使用CASE工具時,開發(fā)組應(yīng)更加強調(diào)組織紀律,而不能單憑個人方式行事。 工程項目的每一位成員都應(yīng)遵循一套統(tǒng)一的通用命名規(guī)則、 標準以及開發(fā)方法。 缺少這一原則,分析員與設(shè)計者在開發(fā)過程中就會固執(zhí)于原有的系統(tǒng)開發(fā)方法,并將舊方法與CASE工具混在一起。 這樣做事實上只會降低開發(fā)效率,因為老方法與新工具之間是不兼容的。 好的CASE工具都強調(diào)通用方法及標準的作用,因此,如果缺乏開發(fā)的組織紀律,只會阻礙這些工具發(fā)揮作用。

        盡管CASE工具在系統(tǒng)開發(fā)的一些方面提供了便利,它能夠加快分析和設(shè)計的速度,利于重新設(shè)計,但它并不能做到系統(tǒng)設(shè)計的自動化,并且無法使業(yè)務(wù)上的需要自然而然地得到滿足。 系統(tǒng)設(shè)計者仍需了解一個公司業(yè)務(wù)上的需要以及業(yè)務(wù)是如何運作的。 系統(tǒng)分析和設(shè)計工作仍然要依靠分析與設(shè)計者的分析技能。

        免責聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。

        我要反饋