規(guī)程-設計規(guī)范_第1頁
規(guī)程-設計規(guī)范_第2頁
規(guī)程-設計規(guī)范_第3頁
規(guī)程-設計規(guī)范_第4頁
規(guī)程-設計規(guī)范_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文檔是開發(fā)類項目選擇設計方法的依據(jù)和指導。本過程適用于組織內(nèi)所有開發(fā)類項目。系統(tǒng)設計和開發(fā)“瓶頸”,即主要靠圖形處理技術、程序生成技術、關系數(shù)據(jù)庫技術和各類開發(fā)工具為一身的CASE(ComputerAidedSoftwareEngineering,計算機輔助軟件工程法)工具代替人在信息處中的重復性勞動。CASE方法解決問題的基本思路是:在前面所介紹的任何一種系統(tǒng)開發(fā)方法中,如果自對象系統(tǒng)調(diào)查后,系統(tǒng)開發(fā)過程中的每一步都可以在一定程度上形成對應關系的話,那么就完全可以借助于專門研的業(yè)務流程分析—數(shù)據(jù)流程分析—功能模塊設計—程序?qū)崿F(xiàn);業(yè)務功能一覽表---->數(shù)據(jù)分析、指標體系---->數(shù)據(jù)/過程分析---->數(shù)據(jù)分布和數(shù)據(jù)庫設計---->數(shù)據(jù)庫系統(tǒng)等等;OO方法中的問題抽象---->屬性、結構和方法定義---->對象分類---->確定范式---->程序?qū)崿F(xiàn)等等。在實際開發(fā)一個系統(tǒng)時,CASE環(huán)境的應用必須依賴于一種具體的開發(fā)方法。如結構化方法、原型CASE只是一種輔助的開發(fā)方法。它主要在于幫助開發(fā)者產(chǎn)生出開發(fā)過程中的各類圖表、程序和說CASE出現(xiàn)從根本上改變了我們開發(fā)系統(tǒng)的物質(zhì)基礎,主要體現(xiàn)在考慮問題的角度、開發(fā)過程的做措施。的一個大型綜合的計算機輔助開發(fā)環(huán)境。CASE庫是一個分布式、多用戶的資料庫,它可輔助開發(fā)人員收集、管理、存儲系統(tǒng)開發(fā)CASE支持系統(tǒng)開發(fā)戰(zhàn)略規(guī)劃和需求分析各個階段。如各種需求分析工具、戰(zhàn)略規(guī)劃、功能分析、數(shù)據(jù)定義與數(shù)據(jù)流程分析等等。平臺-CASE設計器,允許用戶在這個平臺上開發(fā)設計多種開發(fā)方法的各項工作。如功能層次、實體關系圖、矩陣圖等生成工具。CASE支持由分析設計各部分向建立和維護應用系統(tǒng)的機器自動轉換過程,直至實際問題CASE工具(CASEToolkits)是指CASE的最外層(用戶)使用的CASE去開發(fā)一個應用系統(tǒng),所接觸到的所有軟件工具。形工具:繪制結構圖、系統(tǒng)專用圖。屏幕顯示和報告生成的各種專用系統(tǒng):可支持生成一個原型。專用檢測工具:用以測試錯誤或不一致的專用工具及其生成的信息。代碼生成器:從原型系統(tǒng)的工具中自動產(chǎn)生可執(zhí)行代碼。文件生成器:產(chǎn)生結構化方法和其它方法所需要的用戶系統(tǒng)文件。來,1996年以后稱作ModelWorks。該軟件提供了從系統(tǒng)分析、系統(tǒng)設計到系統(tǒng)實現(xiàn)的研制環(huán)ProTalkn它的體系結構是模塊式、分層的:-基層:包含對象管理程序,對象查詢語言,編程語言C的API(應用程序接口)等;GUI,交互C環(huán)境等;-應用層:研制者編制的類、方法(程序),各種類庫,專門窗戶系統(tǒng)等;它本身是一個應用開發(fā)環(huán)境,同時還可作為中介軟件,可把CASE、GUI,DBMS集成在一起。與一般開發(fā)方法相比,方法有如下特點:解決了從客觀世界對象到軟件系統(tǒng)的直接映射。強有力地支持軟件/信息系統(tǒng)開發(fā)的全過使結構化方法更加實用。自動檢測的方法大大地提高了軟件的質(zhì)量。簡化了軟件的管理和維護。加速了系統(tǒng)的開發(fā)過程。使開發(fā)者從繁雜的分析設計圖表和程序編寫工作中解放出來了。使軟件的各部分能重復使用。產(chǎn)生出統(tǒng)一的標準化的系統(tǒng)文檔。使軟件開發(fā)的速度加快而且功能進一步完善。高度自動化的系統(tǒng)開發(fā)方法。只要在分析和設計階段嚴格按照CASE方法規(guī)定的處理過程,則能夠?qū)⒎治觥⒃O計的結果讓計算機CASE方法的開發(fā)方法、過程的規(guī)范性、可靠性和開發(fā)效率均較好。結從國外最新的統(tǒng)計資料來看,信息系統(tǒng)開發(fā)工作的重心向系統(tǒng)調(diào)查、分析階段偏移。開發(fā)各個環(huán)節(jié)所占比重如下表:工作量系統(tǒng)調(diào)查、分析階段的工作量占總開發(fā)量的60%以上。而系統(tǒng)設計和實現(xiàn)環(huán)節(jié)僅占總開發(fā)工作量CASE方法是一種除系統(tǒng)調(diào)查外全面支持系統(tǒng)開發(fā)過程的方法,同時也是一種自動化(準確地說應設計中,自頂向下、模塊化、結構化卻都是貫穿始終的。性,人們在實踐中逐漸創(chuàng)造出軟件工程的一種新途徑――面向?qū)ο蠓椒▽W。2.2.1面向?qū)ο蟮姆椒?OO方法)簡介面向?qū)ο蠓椒▽W的出發(fā)點和基本原則是盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過實體相互間的關系構成的,因此我們把客觀世界中的實體抽象為對象(Object)。持面向?qū)ο笥^點的程序員認為計算機程序的結構應該與所要解決的問題一致,而不是與某種分析或開發(fā)方法保持一致,他們的經(jīng)驗表明,對任何軟件系統(tǒng)而言,其中最穩(wěn)定的成分往往是其相應問題論域(problemdomain)中的成分。(例如在過去幾百年中復式計帳的原則未做任何實質(zhì)性的改變,而其使用的工具早已從鵝毛筆變所以,“面向?qū)ο蟆笔且环N認識客觀世界的世界觀,是從結構組織角度模擬客觀世界的一種方法。一般人們在認識和了解客觀現(xiàn)實世界時,通常運用的一些構造法則:區(qū)分整體對象及其組成部分,例如區(qū)分臺式計算機組成(主機、顯示器等);通微型計算機等)。所要解決的問題決定。從以上的簡單介紹中我們可以看出,面向?qū)ο笏鶐淼暮锰幨浅绦虻姆€(wěn)定性與可修改性(由于把客觀世界分解成一個一個的對象,并且把數(shù)據(jù)和操作都封裝在對象的內(nèi)部)、可復用性(通過面向?qū)ο蠹夹g,我們不僅可以復用代碼,而且可以復用需求分析、設計、用戶界面等等)。面向?qū)ο蠓椒ň哂邢率鏊膫€要點:?把所有對象都劃分成各種對象類(簡稱為類(Class)),每個對象類都定義了一組數(shù)據(jù)和一組方都是Circle類的對象,但是,各自都有自己專用的數(shù)據(jù),以便記錄各自的圓心位置、半徑等等。每個對象都復制操作的代碼。?按照子類(或稱為派生類)與父類(或稱為基類)的關系,把若干個對象類組成一個層次結構的系統(tǒng)(也稱為類等級)。?對象彼此之間僅能通過傳遞消息互相聯(lián)系。執(zhí)行的一組操作來定義。例:在計算機屏幕上畫多邊形,每個多邊形是一個用有序頂點的集所定義的對象。在多邊形內(nèi))。類:是一組具有相同數(shù)據(jù)結構和相同操作的對象的集合。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法的操作。在一個類中,每個對象都是類的實例(instance)。同類的對象具有相同的方法集。品類具有型號、價格、顏色等屬性,computer則繼承了這些屬性,并擴充自己的屬性:顯示類型、內(nèi)?發(fā)現(xiàn)對象的途經(jīng)古典法的對象和類通常來自下列來源:有形事物:汽車、氣象數(shù)據(jù)、壓力傳感器。角色:父親、教師、醫(yī)生、女兵。事件:降落、中斷、要求。交互作用:借款、會議、交叉。其它系統(tǒng):與待研制系統(tǒng)有交往的其它系統(tǒng)。承擔的角色:用戶與待研制系統(tǒng)交往時所承擔的不同角色,如站長、站調(diào)、統(tǒng)計員等。地點:待研制系統(tǒng)中重要的具體地點、辦公處以及場所,如信號樓、技術科、調(diào)度室。領域分析法作以及關系識別。其任務是在某一問題領域中識別出所有一切應用問題共有的客體和類,領域分析法舉例那結構化分析法它是利用結構化分析的成果,如DFD(數(shù)據(jù)流程圖)、實體關系圖、數(shù)據(jù)字典等,找數(shù)據(jù)流程圖中的數(shù)據(jù)存儲、外部實體,有些非系統(tǒng)內(nèi)部的數(shù)據(jù)流(它可來自外部的刺款系統(tǒng)的的一個刺激,其數(shù)據(jù)內(nèi)容是存戶款;給存戶的月終結算,是系統(tǒng)對外部的響應。?對象具有如下特征模塊性:對象是一個獨立存在的實體。從外部可以了解它的功能,其內(nèi)部細節(jié)是“隱蔽”之間只需交換那些為了完成系統(tǒng)功能所必須交換的信息。當模塊內(nèi)部實現(xiàn)發(fā)生變化而導致代碼修改時,只要對外接口操作的功能不變,就不會給軟件系統(tǒng)帶來影響。法抽象出典型對象的過程為類比。繼承:是利用已有的定義作為基礎來建立新的定義,而不必重復定義它們。例如,汽車具特性,其含義是將一條發(fā)送給一個對象的消息與包含該消息的方法的對象聯(lián)接起來,它使得增加新的數(shù)據(jù)類型不需要改變現(xiàn)有的代碼。?以對象為主體的OO方法object結果。任何復雜的事物都可以通過對象的組合構成。對象由屬性(attribute)和方法組成。屬性反映了對象的信息特征,如:特點、值、狀態(tài)性有顏色、音量、亮度、頻道等,其上的操作有調(diào)節(jié)顏色、調(diào)節(jié)音量、調(diào)節(jié)亮度、調(diào)節(jié)頻道等。如:圖書館系統(tǒng)中其業(yè)務過程和業(yè)務實體中,最基本的對象類只有讀者和復本。最基本的業(yè)務操作只有借閱和查詢。對象之間的聯(lián)系主要是通過傳遞消息(message)來實現(xiàn)的,而傳遞的方式是通過消息模式(messagepattern)和方法所定義的操作過程來完成的。例如當用戶請求documentprinter位置,包含打印機名。對象可按照其屬性進行歸類(class),類有一定的結構,類上有超類(父類),類下有子對象是一個被嚴格模塊化的實體,稱為封裝(encapsulation)。這種封裝了的對象滿足軟改變其屬性(顏色、音量、亮度、頻道、制式等)。有關對象的概念還有下列相關的一些內(nèi)容:實例(Instance)實例就是由某個特定的類所描述的一個具體的對象。類是對具有相同屬性和行為的一就是類的實際例子,通常稱為實例。消息(Message)對象之間進行通信的一種構造叫做消息,當一個消息發(fā)送給某個對象時,包含要求接收對象去執(zhí)行某些活動的信息。接收到消息的對象經(jīng)過解釋,然后予以響應。這種通信機方法(Method)方法,就是對象所能執(zhí)行的操作,也就是類中所定義的服務。方法描述了對象執(zhí)行操音鍵”的定義,也就是給出這個動作的實現(xiàn)方法。屬性(Attribute)繼承(Inheritance)對象的軟件技術中,繼承是子類自動地共享基類(或父類)中定義的數(shù)據(jù)和方法的機制。一個類直接繼承其父類的全部描述(數(shù)據(jù)和操作)。繼承具有傳遞性,繼承性使得相似的改變得比過去容易得多了。繼承性使得用戶在開發(fā)新的應用系統(tǒng)時不必完全從零開始,可以繼承原有的相似系統(tǒng)的功能或者從類庫中選取需要的類,再派生出新的類以實現(xiàn)所需要的功能,所以,繼承的機制主要是支持程序的重用和保持接口的一致性。多態(tài)性(Polymorphism)共享(公用)一個行為(方法)的名字,然而不同層次中的每個類卻各自按自己的需要來實現(xiàn)這個行為。當對象接收到發(fā)送給它的消息時,根據(jù)該對象所屬于的類動態(tài)選用在該類中定義的實現(xiàn)算法。重載(Overloading)有兩種重載:函數(shù)重載是指在同一作用域內(nèi)的若干個參數(shù)特征不同的函數(shù)可以使用相算符可以施加于不同類型的操作數(shù)上面。當然,當參數(shù)特征不同或被操作數(shù)的類型不同時,實現(xiàn)函數(shù)的算法或運算符的語義是不相同的。重載進一步提高了面向?qū)ο笙到y(tǒng)的靈活性和可讀性。系統(tǒng)調(diào)查和需求分析:對系統(tǒng)面臨的問題和用戶的開發(fā)需求進行調(diào)查研究。這一個階段一般稱為面向?qū)ο蠓治?,即OOA。?程序?qū)崿F(xiàn):使用面向?qū)ο蟮某绦蛟O計語言將其范式直接映射為應用程序軟件,即OOP(它是一個直接映射過程)。2.2.4OOA方法(面向?qū)ο蠓治?本節(jié)著重討論面向?qū)ο蠓治?Object-OrientedAnalysis,OOA)。面向?qū)ο蠓治雠c其它分析方法一樣,是提取系統(tǒng)需求的過程。需求,性能需求,應用環(huán)境及假設條件等??傊?,需求陳述應該闡明“做什么”而不是“怎樣做”。它到語法正確,而且應該慎重選用名詞、動詞、形容詞和同義詞。來。來?建立功能模型功能模型從功能角度描述對象屬性值的變化和相關的函數(shù)操作,表明了系統(tǒng)中數(shù)據(jù)之間的依賴關系以及有關的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成。其中的處理功能可以用IPO圖、偽碼等多種方式進一步描述。據(jù)變換等,最后描述圖中各個處理的功能。?建立對象模型復雜問題(大型系統(tǒng))的對象模型由下述五個層次組成:主題層(也稱為范疇層)、類-&-對象層、結構層、屬性層和服務層。這五個層次很像疊在一起的五張透明塑料片,它們一層比一層顯現(xiàn)出對象模型的更多細節(jié)。在概念上,這五個層次是整個模型的五張水平切片。步合并和組織類。確定類-&-對象類-&-對象是在問題域中客觀存在的,系統(tǒng)分析員的主要任務就是通過分析找出這些類-&-對象。首先,找出所有候選的類-&-對象;然后,從候選的類-&-對象中篩選掉不正對象是對問題域中有意義的事物的抽象,它們既可能是物理實體,也可能是抽象概念,在分析所面臨的問題時,可以參照幾類常見事物,找出在當前問題域中的候選類-&-對象。求陳述為依據(jù),把陳述中的名高速作為類-&-對象的候選者,用形容詞作為確定屬性的線索,析是更詳細、更精確的正式的面向?qū)ο蠓治龅囊粋€很好的開端。非正式分析僅僅幫助我們找到一些候選的類-&-對象,接下來應該嚴格考察候選對象,求陳述中籠統(tǒng)的、泛指的名詞)<4>屬性(在需求陳述中有些名詞實際上描述的是其它對象的屬性)<5>操作(正確地決定把某些詞作為類還是作為類中定義的操作)<6>實現(xiàn)(去掉僅和實現(xiàn)有關的候選的類-&-對象)確定關聯(lián)員考慮問題域的邊緣情況,有助于發(fā)現(xiàn)那些尚未被發(fā)現(xiàn)的類-&-對象。依賴、相互作用關系,根據(jù)領域知識再進一步補充一些關聯(lián)。但是,在分析階段應該避免過度細化。定義結構則對應著事物的整體與部件之間的組合關系。變速箱、剎車裝置等都是汽車的部件,相對于汽車這個整體就分別是一個局部。識別主題對一個實際的目標系統(tǒng),特別是大的系統(tǒng)而言,盡管通過對象和結構的認定對問題空間中主題是一種關于模型的抽象機制,它給出了一個分析模型的概貌。主題直觀地來看就是一個名詞或名詞短語,與對象的名字類似,只是抽象的程度不同。識主題的數(shù)目超過了7個,就對已有的主題進行歸并,歸并的原則是,當兩個主題對應的屬性和服務有著較密切的關聯(lián)時,就將它們歸并成一個主題。認定屬性屬性是數(shù)據(jù)元素,用來描述對象或分類結構的實例。?建立動態(tài)模型當問題涉及交互作用和時序時(例如用戶界面及過程控制等),建立動態(tài)模型則是很重要建立動態(tài)模型的第一步,是編寫典型交互行為的腳本。腳本是指系統(tǒng)在某一執(zhí)行期間內(nèi)出程的正確性和清晰性。第二步從腳本中提取出事件,確定觸發(fā)每個事件的動作對象以及接受事件的目標對象。第三步,排列事件發(fā)生的次序,確定每個對象可能有的狀態(tài)以及狀態(tài)間的轉換關系。最后,比較各個對象的狀態(tài),檢查它們之間的一致性,確保事件之間的匹配。?定義服務種模型的研究,能夠更正確更合理地確定每個類應該提供那些服務。正如前面已經(jīng)指出的那樣,“對象”是由描述其屬性的數(shù)據(jù),及可以對這些數(shù)據(jù)施加的操需要的服務。在每個類中都定義了讀、寫該類每個屬性的操作。。最后應該盡量利用繼承機制以減少所需定義的服務數(shù)目。??s寫為OOD),是一個逐漸擴充模型的過程?;蛘哒f,面向?qū)ο笤O計就是用面向?qū)ο笥^點建立求解域的一致性,保證了在各項開發(fā)活動之間的平滑(無縫)過渡,領域?qū)<液烷_發(fā)人員能夠比較容易地跟蹤整個系統(tǒng)開發(fā)過程,這是面向?qū)ο蠓椒ㄅc傳統(tǒng)方法比較起來所具有的一大優(yōu)勢。?面向?qū)ο笤O計的準則在以前的軟件設計中人們總結出幾條基本原理,這些原理在進行面向?qū)ο笤O計時仍然成立,但是增加了一些與面向?qū)ο蠓椒芮邢嚓P的新特點,從而具體化為下列的面向?qū)ο笤O計準模塊化面向?qū)ο筌浖_發(fā)模式,很自然地支持了把系統(tǒng)分解成模塊的設計原理:對象就是模塊。它是把數(shù)據(jù)結構和操作這些數(shù)據(jù)的方法緊密地結合在一起所構成的模塊。抽象抽象表示對規(guī)格說明的抽象(abstractionbyspecification)和參數(shù)化抽象(abstractionbyparametrization)。信息隱藏持了信息隱藏。對于類的用戶來說,屬性的表示方法和操作的實現(xiàn)算法都應該是隱藏的。弱耦合密程度。弱耦合是優(yōu)秀設計的一個重要標準,因為這有助于使得系統(tǒng)中某一部分的變化對其它部分的影響降到最低程度。協(xié)議(即公共接口)實現(xiàn)耦合,而不應該依賴于類的具體實現(xiàn)細節(jié)。強內(nèi)聚設計中使用的一個構件內(nèi)的各個元素,對完成一個定義明確的目的所做出的貢獻程度。在該完成一個且僅完成一個功能。<2>類內(nèi)聚-一個類應該只有一個用途。<3>一般-特殊內(nèi)聚-設計出的一般-特殊結構,應該符合多數(shù)人的概念??芍赜昧x:一是盡量使用已有的類(包括開發(fā)環(huán)境提供的類庫,及以往開發(fā)類似系統(tǒng)時創(chuàng)建的類),二是如果確實需要創(chuàng)建新類,則在設計這些新類的協(xié)議時,應該考慮將來的可重復使用性。結果重用指的是,重用某個軟件系統(tǒng)的設計模型(即求解域模型)。這個級別的重用有助于把一個應用系統(tǒng)移植到完全不同的軟/硬平臺上;<3>分析結果重用-這是一種更高級別的重用,即重用某個系統(tǒng)的分析模型。這種重用特別適用于用戶需求未改變,但系統(tǒng)體系結構發(fā)生根本軟構件的實用程序和程度,以及軟件開發(fā)人員的素質(zhì)、開發(fā)環(huán)境等因素,都直接影響軟件重用技術崛起之后,才為軟件重用帶來了新的希望。?面向?qū)ο笤O計的內(nèi)容象分析模型(即求問題域的對象模型)一樣,也由主題、類-&-對象、結構、屬性、服務等五個層次組成。這五個層次表示的細節(jié)一層比一層多,我們可以把這五個層次想象為整個模型的水平切片。此外,大多數(shù)系統(tǒng)的面向?qū)ο笤O計模型,在邏輯上都由四大部分組成。這四大部理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。設計問題域子系統(tǒng)通過面向?qū)ο蠓治鏊贸龅膯栴}域精確模型,為設計問題域子系統(tǒng)奠定了良好的基礎,建干個更小的子系統(tǒng)。下面介紹在面向?qū)ο笤O計過程中,可能對面向?qū)ο蠓治鏊贸龅膯栴}域模型的補充或修對象分析結果時就應該尋找使用已有類的方法。若因為沒有合適的類可以重用而確實需要創(chuàng)建新的類,則在設計這些新類的協(xié)議時,考慮到將來的可重用性。<3>把問題域類組合在一起-更先進的組合機制時才采用的一種組合方法。<4>增添一般化類以建立協(xié)議-在設計過程中常常能還需要相應的屬性)。在這種情況下可以引入一個附加類(例如,根類)。<5>調(diào)整繼承層次-如果面向?qū)ο蠓治瞿P椭邪硕嘀乩^承關系,然而所使用的程序設計語言卻并不提供多重繼考慮而對面向?qū)ο蠓治鼋Y果作一些調(diào)整。設計人-機交互子系統(tǒng)生重要影響。無須記憶、易學、富有吸引力;<2>設計人-機交互子系統(tǒng)的策略:該把將來可能與系統(tǒng)交互的分類。通常從下列幾個不同角度進行分類:按職務分類(總經(jīng)理/經(jīng)理/職員)。描述用戶應該仔細了解未來使用系統(tǒng)的每類用戶的情況,把獲得的下列各項信息記錄下用戶類型。使用系統(tǒng)欲達到的目的。特征(年齡、性別、受教育程度、限制因素等)。關鍵的成功因素(需求、愛好、習慣等)。本。設計命令層次設計命令層次的工作通常包含以下幾項內(nèi)容:標準。供選用的服務的表示形式。精化命令層次:精化命令層次應考慮以下因素:次序、整體---部分關系、操作設計人-機交互類人-機交互類與所使用的操作系統(tǒng)及編程語言密切相關。設計任務管理子系統(tǒng)步設計任務管理子系統(tǒng)。<1>分析并發(fā)性各個對象的狀態(tài)圖及它們之間交換的事件,能夠把若干個非并發(fā)的對象歸并到一條控制線中。算機系統(tǒng)中用任務(task)實現(xiàn)控制線,一般認為任務是進程(process)的別名。通常把多個任務的并發(fā)執(zhí)行稱為多任務。<2>設計任務管理子系統(tǒng)計任務管理子系統(tǒng),包括確定各類任務并把任務分配給適當?shù)挠布蜍浖?zhí)行。確定事件驅(qū)動型任務它任務、子系統(tǒng)、另一個處理器或其它系統(tǒng)通信。事件通常是表明某些數(shù)據(jù)到達的信號。確定時鐘驅(qū)動任務數(shù)據(jù);某些人-機接口、子系統(tǒng)、任務、處理器或其它系統(tǒng)也可能需要周期性地通信。在這些場合往往需要使用時鐘驅(qū)動型任務。確定優(yōu)先任務優(yōu)先任務可以滿足高優(yōu)先級或低優(yōu)先級的處理需求。要把這類服務分離成獨立的任務。低優(yōu)先級:與高優(yōu)先級相反,有些服務是低優(yōu)先級的,屬于低優(yōu)先級處理(通常指那些背確定關鍵任務關鍵任務是關系到系統(tǒng)成功或失敗的那些關鍵處理,這類處理通常都有嚴格的可靠性要確定協(xié)調(diào)任務當系統(tǒng)中存在三個以上任務時,就應該增加一個任務,用它作為協(xié)調(diào)任務。確定資源需求算所需要的CPU(或其它固件)的處理能力。設計數(shù)據(jù)管理子系統(tǒng)數(shù)據(jù)管理子系統(tǒng)是系統(tǒng)存儲或檢索對象的基本設施,它建立在某種數(shù)據(jù)存儲管理系統(tǒng)之上,并且隔離了數(shù)據(jù)存儲管理模式。<1>選擇數(shù)據(jù)存儲管理模式同的特點,適用范圍也不同,其中文件系統(tǒng)用來長期保存數(shù)據(jù),具有成本低和簡單等特點,但面向?qū)ο髷?shù)據(jù)管理系統(tǒng)增加了抽象數(shù)據(jù)類型和繼承機制,提供了創(chuàng)建及管理類和對象的通用服<2>設計數(shù)據(jù)管理子系統(tǒng)范式規(guī)范每個類的屬性表以及由此定義所需的文件或數(shù)據(jù)庫;設計相應的服務是指設計被存儲2.2.6OOP方法(面向?qū)ο髮崿F(xiàn))面向?qū)ο髮崿F(xiàn)主要包括兩項工作:把面向?qū)ο笤O計結果翻譯成用某種程序語言書寫的面向?qū)ο蟪绦?;測試并調(diào)試面向?qū)ο蟮某绦?。計風格也將對程序的生成、可重用性及可維護性產(chǎn)生深遠影響。?程序設計面向?qū)ο蟮恼Z言與非面向?qū)ο蟮恼Z言向?qū)ο蟾拍钣成涞侥繕顺绦蛑?。l是在過程語言的基礎上增加面向?qū)ο髾C制,如C++等語言。向?qū)ο笳Z言的目標則是提高運行速度和使傳統(tǒng)程序員容易接受面向?qū)ο笏枷?。成熟的面向語言通常都提供豐富的類庫和強有力的開發(fā)環(huán)境。下面介紹在選擇面向?qū)ο笳Z言時應該著重考察的一些技術特點。<1>支持類與對象概念的機制的內(nèi)存,動態(tài)存儲分配就有可能耗盡內(nèi)存。<2>實現(xiàn)整體--部分結構的機制現(xiàn)方法,通過增加內(nèi)部指針可以方便地實現(xiàn)關聯(lián)。<3>實現(xiàn)一般--特殊結構的機制該盡力避免出現(xiàn)名字沖突。<4>實現(xiàn)屬性和服務的機制對于實現(xiàn)屬性的機制應該著重考慮以下幾個方面:支持實例連接的機制;屬性的可見性控互關系)的機制;控制服務可見性的機制;動態(tài)聯(lián)編。<5>類型檢查程序設計語言可以按照編譯時進行類型檢查的嚴格程度來分類。如果語言僅要求每個變量<6>效率許多人認為面向?qū)ο笳Z言的主要缺點是效率低。事實上,如有完整類庫的面向?qū)ο笳Z言,有時能比使用非面向?qū)ο笳Z言得到運行更快的代碼。這是因為類庫中提供了更高效的算法和更<7>持久保存對象<8>參數(shù)化類員就可以先定義一個參數(shù)化的類模板(即在類定義中包含以參數(shù)形式出現(xiàn)的一個或多個類型),<9>開發(fā)環(huán)境軟件工具和軟件工程環(huán)境對軟件生產(chǎn)率有很大影響。由于面向?qū)ο蟪绦蛑欣^承關系和動態(tài)debugger。程序設計風格尤其重要,不僅能明顯減少維護或擴充的開銷,而且有助于在新項目中重用已有的程序代碼。象方法所特有的概念(例如,繼承性)而必須遵循的一些新準則。<1>提高可重用性件似的部分,然后利用繼承機制共享它們。提高方法的內(nèi)聚減小方法的規(guī)模保持方法的一致性相似的方法應該有一致的名字、參數(shù)特征(包括參數(shù)個數(shù)、類型和次序)、返回值類型、使用條件及出錯條件等。把策略與實現(xiàn)分開全面覆蓋如果輸入條件的各種組合都可能出現(xiàn),則應該針對所有組合寫出方法,而不能僅僅針對當前用到的組合情況寫方法。此外,一個方法不應該只能處理正常值,對空值、極限值及界外值等異常情況也應該能夠作出有意義的響應。盡量不使用全局信息應該盡量降低方法與外界的耦合程度,不使用全局信息是降低耦合度的一項主要措利用繼承機制在面向?qū)ο蟪绦蛑?,繼承機制是實現(xiàn)共享和提高重用程度的主要途徑。有時提高相似類代碼可重用性的一個有效途徑,是從不同類的相似方法中分解出不同作為名字相同算法不同的方法,放在不同類中定義,并被這個公用方法調(diào)用。程序員往往希望重用其它方法編寫的、解決同一類應用問題的程序代碼。重用這類代碼的一個比較安全的途徑,是把被重用的代碼封裝在類中。<2>提高健壯性?面向?qū)ο鬁y試一般說來,對面向?qū)ο筌浖臏y試可分為下列四個層次進行:測試類中定義的每個方法,基本上相當于傳統(tǒng)軟件測試中的單元測試。的相互作用。在面向?qū)ο筌浖蓄愂腔灸K,因此可以認為這是面向?qū)ο鬁y試中所特有的模塊(單元)測試。測試一組協(xié)同工作的類-&-對象之間的相互作用。大體上相當于傳統(tǒng)軟件測試中的子系統(tǒng)測試,但是也有面向?qū)ο筌浖奶攸c(例如,對象之間通過發(fā)送消息相互作用)。(4)系統(tǒng)層把各個子系統(tǒng)組裝完整的面向?qū)ο筌浖到y(tǒng),在組裝過程中同時進行測試。可以作為測試類中每個方法的主要技術。面向?qū)ο鬁y試的主要目標,也是用盡可能低的測試成本和特點,增加了測試和調(diào)試的難度。2.2.7面向?qū)ο蟮恼Z言(產(chǎn)品)面向?qū)ο蟮恼Z言應該具備的特征:?用對象而非過程(功能或算法)作為程序設計的基本邏輯構件;?每個對象屬于應該類(型),并為該類的一個實例;?一個類可繼承其它類的性質(zhì)。有:SmallTalk0年代下半葉)?ObjectPascal,Object-OrientedTurboPascal,AppleObjectPascal(80年代初開始)Ada9X但MicrosoftVisualC++,BolandC++等都屬于混合型面向?qū)ο蟮恼Z言,因為它們是在原來的過程語言的基礎上發(fā)展起來的,都保留了原來的數(shù)據(jù)類型,如整數(shù)、浮點數(shù)、字符以及記錄等。幾個有代表性的商品軟件MicrosoftVisualBasic先從軟件的可視化、速成化和組件化開始的,這3化已經(jīng)開始或正在形成信息與軟件工藝的主流之一??梢曆兄骗h(huán)境和工具、強大的數(shù)據(jù)庫存取(BDE-DatabaseEngine)工具;它用ObjectPascal做情節(jié)序,而且還是一個C/S(客戶/服務器)數(shù)據(jù)庫構造工具。用戶編程時,只需用鼠標把要用的部件(圖標)拖扔到屏幕中的工作面內(nèi),按要求設置這些圖標的缺省項和參數(shù)值,再把這些圖標用線段連接起來,表示它們之間的關系和交互操作,并最后加以測試。在組裝過程中,要添加復雜的計算/控件流,可用VisualAge的描述語言(ScriptingLanguage-一種4GL)來編寫。如果這還不行,VisualAge則提供SmallTalk編輯環(huán)境,以添加所需的語句。用拖扔手段,可視地把組件組裝成一個軟件(程序),它還能自建新的組件。它最適宜研制軟件雛形的PrographCPX(跨平臺)將程序面向?qū)ο蠼Y構的可視化方面做得較突出:-它用圖標代表一個軟件的組成部分,對象、類、組件全部可視化;-全套圖標都用多面體圖標,如類具有“方法”面和“屬性”面;-能對圖標加以注釋,對象和類關系可用線段表示;-既有解釋程序、又有編譯程序,可解除解釋程序速度慢的問題。特點利用特定軟件直接從對象客體的描述到軟件結構的轉換。解決了傳統(tǒng)結構化方法中客觀世界描述工具與軟件結構的不一致性。減少了從系統(tǒng)分析、設計到軟件模塊結構之間的多次轉換映射的繁雜過程。?方法優(yōu)缺點優(yōu)點:是一種全新的系統(tǒng)分析設計方法(對象、類、結構屬性、方法)。適用于各類信息系統(tǒng)的開發(fā)。實現(xiàn)了對客觀世界描述到軟件結構的直接轉換,大大減少后續(xù)軟件開發(fā)量。開發(fā)工作的重用性、繼承性高,降低重復工作量??s短了開發(fā)周期。缺點:需要一定的軟件支持環(huán)境。失調(diào)等問題。只能在現(xiàn)有業(yè)務基礎上進行分類整理,不能從科學管理角度進行理順和優(yōu)化。初學者不易接受、難學。定的實現(xiàn)環(huán)境,但是實現(xiàn)結果和實現(xiàn)成本卻在很大程度上取決于實現(xiàn)環(huán)境。因此,直接支持面向?qū)ο笤O計范式的面向?qū)ο蟪绦蛘Z言、開發(fā)環(huán)境及類庫,對于面向?qū)ο髮崿F(xiàn)來說是非常重要的。向?qū)ο蟮某绦蛟O計語言適合用來實現(xiàn)面向?qū)ο笤O計結果。事實上,具有方便的開發(fā)環(huán)境和豐富的類庫的面向?qū)ο蟪绦蛟O計語言,是實現(xiàn)面向?qū)ο笤O計的最佳選擇。與面向?qū)ο蠓椒ǖ奶攸c相適應的一些新準則。繼究工作還很多,目前已逐漸成為國內(nèi)外軟件工程界研究的一個新的熱門課題。2.2.9總結工作量系統(tǒng)調(diào)查、分析階段的工作量占總開發(fā)量的60%以上。而系統(tǒng)設計和實現(xiàn)環(huán)節(jié)僅占總開發(fā)工作量管理水平上都有很大提高。發(fā)現(xiàn)和整理系統(tǒng)調(diào)查、分析中的問題及疏漏,便于開發(fā)人員準確地了解業(yè)務處理過程。有利于與用戶一起分析新系統(tǒng)中適合企業(yè)業(yè)務特點的新方法和新模型。lDataBaseSystem)、第四代程序生成語言(4GL,4thGenerationLanguage)和各種系統(tǒng)開發(fā)生成環(huán)境產(chǎn)生的原型法概述?什么是原型方法傳統(tǒng)的結構化開發(fā)方法強調(diào)系統(tǒng)開發(fā)每一階段的嚴謹性,要求在系統(tǒng)設計和實施階段之前預先嚴格定義出完整準確的功能需求和規(guī)格說明。然而,對于規(guī)模較大或結構較復雜的系統(tǒng),統(tǒng)開發(fā)人員對某些涉及具體領域的功能需求也不太清楚。雖然可以通過詳細的系統(tǒng)分析和定義得到一份較好的規(guī)格說明書,卻很難做到將整個管理信息系統(tǒng)描述完整,且與實際環(huán)境完全相符,很難通過邏輯推斷看出新系統(tǒng)的運行效果。因此當新系統(tǒng)建成以后,用戶對系統(tǒng)的功能或原型方法(Prototyping)正是對上述問題進行變通的一種新的系統(tǒng)開發(fā)方法。在建筑學和模型。在管理信息系統(tǒng)開發(fā)中,用“原型”來形象地表示系統(tǒng)的一個早期可運行版本,它能反型方法要求在獲得一組基本的用戶需求后,快速地實現(xiàn)新系統(tǒng)的一個“原型”,用戶、開發(fā)者通過反復評價和反復修改原型系統(tǒng),方法確定用戶需求的策略,它對用戶需求的定義采用啟發(fā)的方式,引導用戶在對系統(tǒng)逐漸加深理解的過程中作出響應。?原型方法的運用方式面的和開發(fā)策略的不同,原型方法可表現(xiàn)為不同的運用方式,一般可分為以下三種類型:探索型(ExploratoryPrototying)主要是針對開發(fā)目標模糊、用戶和開發(fā)人員對項目都實驗型(ExperimentalPrototying)用于大規(guī)模開發(fā)和實現(xiàn)之前考核、驗證方案是否合適,規(guī)格說明是否可靠。演化型(EvolutionaryPrototying)其目的不在于改進規(guī)格說明和用戶需求,而是將系統(tǒng)到系統(tǒng)開發(fā)全過程,對滿足需求的改動較為適合。?原型法基本思想原型法憑借著系統(tǒng)分析人員對用戶要求的理解,在強有力的軟件環(huán)境支持下,快速地給出模型大致體現(xiàn)了系統(tǒng)分析人員對用戶當前要求的理解和用戶想要希望實現(xiàn)后的形式。高高中低2.3.2原型定義策略?需求定義的要求般說來,需求定義必須滿足以下的要求:正確性:所規(guī)定的需求必須是用戶所需要的。完整性:需求應是完整、準確的,所有需求必須加以適當說明??衫斫庑裕河脩艉烷_發(fā)者雙方應能以一種共同的方式來解釋和理解所規(guī)定的需求。一致性:各需求之間不能有邏輯上的矛盾。非冗余性:不應有含混不清的、多余的需求和說明??蓽y試性:需求應該能夠驗證,相應的文檔應當易讀和可修改。系統(tǒng)開發(fā)的需求定義中,應包括以下基本內(nèi)容。?需求定義的基本內(nèi)容系統(tǒng)約束:業(yè)務環(huán)境對最終系統(tǒng)的某些限制,例如計算機資源的限制,企業(yè)有關法則、政策的約束等等。義。例如數(shù)據(jù)元素的內(nèi)容、來源、數(shù)量、頻數(shù)輸出的媒介等。元素的屬性與特征的功能:確切指定系統(tǒng)應完成的操作和邏輯轉換。付出代價高中低引入變化時間性能與可靠性明確系統(tǒng)的性能特征和耐故障能力。如果需求定義工作完成的不好,則在以后的各開發(fā)階段中勢必要進行各種糾錯、補救統(tǒng)開發(fā)后期引入一個變動,要比在早期引入相同變動所需付出的代價高2~3個數(shù)量級,圖4-3-1的改動—費用曲線定性地描繪了在系統(tǒng)開發(fā)的不同時期引入一個變動需要付出的重視。?結構化的嚴格定義策略嚴格定義(預先定義)是目前采用較多的一種需求定義方法。在采用嚴格定義的傳統(tǒng)的結構階段所提供的完整、嚴格的文檔作為指導文件,因此它本質(zhì)上是一種順序型的開發(fā)方法,圖可可行性分析需求定義概要設計詳細設計實現(xiàn)轉換運行維護在傳統(tǒng)的結構化開發(fā)中,需求的嚴格定義建立在以下的基本假設上:所有需求都能夠被預先定義的預先定義技術也會經(jīng)常反復。這是因為人們對新事物的認識與理解將隨著直觀、實踐的過程進一步加深,這是與人類認識世界的客觀規(guī)律相一致的。所以,能夠預先定義出所有需求的假設在許多場合是不能成立的。開發(fā)人員與用戶之間能夠準確而清晰地交流假設認為,用戶與開發(fā)人員之間,雖然每人都有自己的專業(yè)、觀點、行話,但在系統(tǒng)開發(fā)過程中可以使用圖形/文檔等通信工具進行交流,進行清晰、有效的溝通,這種溝通是必不可少的??墒窃趯嶋H開發(fā)中,往往對一些共同的約定每個人都可能會產(chǎn)生自己的行業(yè)人員之間進行有效的通信交流是有一定困難的。采用圖形/文字可以充分體現(xiàn)最終系統(tǒng)在使用嚴格定義需求的開發(fā)過程中,開發(fā)人員與用戶之間交流、通信的主要工具是定義報告,包括敘述文字、圖形、邏輯規(guī)則和數(shù)據(jù)字典等技術工具。它們的一個共同特點,靜止的圖形/文字描述來體現(xiàn)一個動態(tài)的系統(tǒng)是比較困難的。除了所論述的情況外,上述基本假設還將導致嚴格定義的結構化開發(fā)方法存在以下缺首先是文檔量大,由于在結構化方法的每個階段都必須寫出規(guī)范、嚴密的各種文檔,范化,但由于編寫文檔花費大量人力和時間,導致系統(tǒng)開發(fā)周期增大。其次是開發(fā)過程工作或修改需求定義,都將付出較大的代價,有時這種修改甚至會導致整個系統(tǒng)的失敗。綜上所述,需求的嚴格定義的基本假設在許多情況下并不成立,傳統(tǒng)的結構化方法面臨著一些難以跨越的障礙。為此,需要探求一種變通的方法。?原型定義的策略原型方法以一種與嚴格定義法截然不同的觀點看待需求定義問題。原型化的需求定義過程許用戶在開發(fā)過程中提出更好的要求,根據(jù)用戶的要求不斷地對系統(tǒng)進行完善,它實質(zhì)上是一采用原型方法時需要注意的幾個問題:嚴密、準確地定義任何們所需最終系統(tǒng)的目標以及大致功能,但是對某些細節(jié)問題卻往往不可能十分清楚。一幫助他們在這個過程中提出更完善的需求,最好的方法就是提供現(xiàn)實世界的實例——原型,對原型進行研究、實踐并進行評價。個際比理解紙面上的系統(tǒng)要深刻得多。有合適的系統(tǒng)開發(fā)環(huán)境。隨著計算機硬件、軟件技術和軟件工具的迅速發(fā)展,軟件的設計與實現(xiàn)工作越來越方便,對系統(tǒng)進行局部性修改甚至重新開發(fā)的代價大大降低。所以,對大系統(tǒng)的原型化已經(jīng)成為可能。方法。對系統(tǒng)改進的建了用戶在需求定義以后再改進的要求,這對提高最終系統(tǒng)的質(zhì)量是有害的。另一方面,原義后,即應采用行之有效的結構化方法來完成最終系統(tǒng)的開發(fā)。2.3.3原型法(Prototyping)開發(fā)過程即?原型法工作流程?原型法生命周期批編輯等批結構則不適合。型法方法是適宜的,反之則不然。應用約束原型法不適合于對已經(jīng)運行的系統(tǒng)進行擴充。要對上述所有因素都得出完全肯定的結論是困難的,有時必須根據(jù)具體情況作出權的嚴格定義方法主要不同在于,原型法所識別的需求不必是完善的,而只是一種“好的”可作為識別基本需求階段的工具。使用戶失望。在原型方法中,迭代只是為了修改和部分完善,而不能成為建立初始原型前逃避分析的借口。代、修改和完善。原型開發(fā)人員可由2人(或另1人進行補充功能的輔助工作)組成,因為隨著小組規(guī)模增大,通信上的困難將導致開發(fā)效率下降,而兩人小組甚至不需要寫出說明文件就可進行通信和交流。開發(fā)一個初始原型所需的時間隨系統(tǒng)規(guī)模的大小、復雜性和完整程度而不同,最好應在3~6周時間內(nèi)完成,這樣既有較充分的開發(fā)時間,又可保持用戶對原型法和最終系統(tǒng)的興趣。一般認為,開發(fā)初始原型的時間最長不得超過兩個月。初始原型的質(zhì)量對原型法生命周期其它各階段有著重大影響,因此,初始原型必須是最終速度,并且今后勢必要對其中大量功能進行修改同樣也會降低系統(tǒng)開發(fā)的效果。原型驗證上一階段所建成的系統(tǒng)原型為用戶和開發(fā)人員提供了一個發(fā)展系統(tǒng)方案和功原型迭代初期的主要工作是:用戶對原型進行熟悉和操作;總體檢查,找出隱含的為用戶進一步提出一些有意義的修改創(chuàng)造條件,這是原型系統(tǒng)開發(fā)的主要目的。原型法的目標是鼓勵改進和創(chuàng)造,為此,開發(fā)人員應充分向用戶解釋所建成的原型的合理性,但不要為它辯護。系統(tǒng)的原型應該在人/機交互和用戶/開發(fā)者交互的過程中逐步完善。修正和改進在上一步工作的基礎上,根據(jù)發(fā)現(xiàn)的問題和用戶提出的要求對原型進行修正和改進。在極個別情況下,當發(fā)現(xiàn)初始原型的絕大部分功能都與用戶要求相違背,或者由于其它原因使得該原型不能成為繼續(xù)迭代的模型時,則應果斷地放棄而不能繼續(xù)湊合。更多的情況是在現(xiàn)有的原型基礎上做進一步的改進。這時最好能保留改進前后的兩個原型本次修改退回原來的版本。判斷原型是否完成判斷最終系統(tǒng)的需求是否已被掌握,原型迭代過程是否可以結束,以便決定下階段的工作內(nèi)容,即進行細部說明或繼續(xù)驗證原型。明的項目,如果有必要的話,應該提供詳細的文字或其它形式的說明。本階段的任務就是判斷是否需要進行該項說明。式進行嚴格、詳細的討論和確定,從而幫助進行嚴格的細部說明。判斷原型效果檢查在上一階段對某些項目進行嚴格說明后,是否會引起原型的失效。這時如果原型出現(xiàn)問題,則需對上述嚴格說明進行修改。整理原型、提供文檔把原型進行整理、編寫,以便為下一步開發(fā)服務。象任何其它軟的需求定義合理化。原型法通過動態(tài)演示,能使以用戶為中心的需求得到檢驗和認可。2.3.4原型法的特點?原型法符合人們認識事物的規(guī)律人們認識事物不可能一次就完全了解;認識和學習的過程是循序漸進的;人們對事物的描述都是受環(huán)境的啟發(fā)不斷完善的;人們改進一些事物比起創(chuàng)造來要容易;?原型法有利于項目的開發(fā)者和用戶之間的交流原型提供了具體的、看得見、摸得著的模型,減少誤解和不確定性;,其直觀性使之能準確描述需求;原型通過具體的系統(tǒng),能夠縮小開發(fā)者和用戶對問題的理解與認識的差距;原型模型能夠及早暴露系統(tǒng)存在的問題;?實際的原型為準確認識問題創(chuàng)造了條件原型的直觀性、感性特征易使用戶理解系統(tǒng)的全部含義;討論的原型是開發(fā)者與用戶共同確認的;討論問題的標準是統(tǒng)一的;信息的反饋是及時的;?能充分利用最新的系統(tǒng)開發(fā)環(huán)境利用最新的軟件工具,建立系統(tǒng)的開發(fā)、生成環(huán)境;計算機技術發(fā)展使系統(tǒng)局部修改或重新開發(fā)成為可能;新技術加快了速度,減少了費用,提高了效率;用戶一開始就能看到系統(tǒng)實現(xiàn)以后的具體樣子,消除了心理負擔,打消了對系統(tǒng)是否可實2.3.5原型法的開發(fā)環(huán)境的軟件和工作環(huán)境基本要求進行介紹。?對軟件的基本要求了更高的要求。一般認為,采用原型法需要以下的基本開發(fā)工具:集成化的數(shù)據(jù)字典用來保存全部有關的系統(tǒng)實體(例如數(shù)據(jù)元素、程序、屏幕格式、報告等)的定義和控制信息。它可以輔助生成系統(tǒng)的某些部件。為方便,并簡化了程序超高級語言例如第四代語言(4GLS),它能支持結構化程序技術,交互性能強,以減輕復過程。程化的語言,快速生成自報表。屏幕格式生成器能夠快速建成用戶所需的屏幕格式。產(chǎn)生的文檔。前面所說的第四代語言(4GLS),與我們通常使用的過程式語言(也稱第三代語言一3GLS)LS高度交互地解釋執(zhí)行;或有某些編譯性的特征。條件不能全部滿足時,仍然可以進行小規(guī)模的原型化開發(fā)。度則是次要的。在原型軟件開發(fā)中首先考慮的是原型化開發(fā)人員的最佳生產(chǎn)率。?對工作環(huán)境的基本要求為了提高原型開發(fā)的生產(chǎn)率,需要提供一個合適的工作環(huán)境,例如:。n弱對原型的興趣和信心。規(guī)范的原型構成過程,必要的規(guī)范和標準能加快原型的建立和向最終系統(tǒng)的轉換。利用規(guī)貼”出新程序成為可能,從而加快開發(fā)速度。演示設施是審查和評價原型的重要手段。有條件時可將顯示器與大屏幕投影機相連,只要3.6原型法的開發(fā)原則下面將要討論的原型方法原則為系統(tǒng)提供了一套原型開發(fā)的思想方法,對于大多數(shù)原型化過程來借鑒和重用。系統(tǒng)可以靈活地運用原型法的這些原則,將有助于整個原型開發(fā)過程。?原型方法的原則如下:多數(shù)系統(tǒng)的結構都能從一個基本系統(tǒng)結構的集合導出后成批編輯/修改,把用戶輸入的數(shù)據(jù)匯集成批,定期輸入給系統(tǒng)。成批生成報表,以成批方式定期從數(shù)據(jù)庫中產(chǎn)生標準或非標準的報表。成批轉換,一批程序應用多種轉換規(guī)則定期對指定的數(shù)據(jù)庫進行修改。成批對接,在系統(tǒng)之間定期進行成批輸入/輸出對接。聯(lián)機修改/查詢,定期產(chǎn)生于用戶和系統(tǒng)之間的事務。聯(lián)機特殊查詢,用戶對系統(tǒng)的隨機的特殊查詢。聯(lián)機界面,在實時應用情況下,在系統(tǒng)之間定期進行對接。聯(lián)機報表生成,立即打印或推遲成批打印報表。?多數(shù)系統(tǒng)都包括一個常用的功能集合對數(shù)據(jù)庫記錄的增加、刪除和修改。對文件(包括數(shù)據(jù)庫和其它文件)的顯示。用戶表格的打印。求,這正是我們在建立原型前要研究的內(nèi)容。?報表功能可用統(tǒng)一的報表模型實現(xiàn)從數(shù)據(jù)庫生成報表的過程可分成三步:從數(shù)據(jù)庫中選擇和組合數(shù)據(jù);定義報表格式和表頭內(nèi)容;打印該報表。因此,可事先建立一個具有“記憶”功能的報表生成器,由用戶決定數(shù)據(jù)庫名稱、報表格根據(jù)上面講的原則,原型開發(fā)者在工作中應充分利用那些成熟的基本結構、基本功能模塊或程系統(tǒng)的基本功能和共性,從而利用他們曾經(jīng)多次開發(fā)過的現(xiàn)成的模型進行“裁剪”和“粘接”下面給出的功能和內(nèi)容只有在開發(fā)最終系統(tǒng)中才需要,而不必在原型構造時去考慮:報表打印的具體格式;用戶操作手冊;人/機錯誤處理;系統(tǒng)測試計劃;質(zhì)量控制檢查;數(shù)據(jù)庫規(guī)模;系統(tǒng)轉換過程;硬件和通信資源配置等。原型法的開發(fā)過程是一個不斷地對系統(tǒng)原型進行使用、評價、修改的循環(huán)、迭代過程。一般說來,地進行下去,必須用科學的方法加以控制和限制??刂圃托薷拇螖?shù)的方法很多,在管理信息系統(tǒng)的開發(fā)中,通??刹捎孟铝蟹椒ǎ合拗魄闆r等因素,分別約定各自的最大修改次數(shù)。如果修改次數(shù)達到該預定值時就停止修改,數(shù)在管理信息系統(tǒng)開發(fā)中,由于對某些性能、指標的認識不容易統(tǒng)一,的百分數(shù)標準,例如定為80%,那么當用戶接受程度達到該值時就可停止原型修改。在一個不穩(wěn)定的用戶環(huán)境下,用戶對原型某些問題的想法經(jīng)常在變,修改一次原型可能增加用戶的接戶接受百分數(shù)這兩項指標的最大值,在原型修改過程中只要其中一個最大值被達到,就停止修2.3.8從原型向最終系統(tǒng)的轉換原型經(jīng)過反復的使用、評價和修改以后,即可轉入最終系統(tǒng)(或稱正式系統(tǒng))的開發(fā),如圖4-3-9所示。從原型向正式系統(tǒng)的轉換方式有三種。?程序一次性使用(只利用需求和規(guī)格)統(tǒng)需求和人機接口的原型開發(fā)。?程序嵌入(作為核心部分利用)程序嵌入方式是將完成了的原型體作為正式系統(tǒng)的核心部分。事實上這是一種附加策略,因原型將作為最終系統(tǒng)的一部分,所以必須采用與最終系統(tǒng)相同的開發(fā)語言。?程序自動變換中間語言,使得嵌入在最終系統(tǒng)中的原型體的運行效率比變換前大大提高。程序自動變換法尚存在一些未解決的問題,例如不同語言之間的自動變換的困難,后程序的性能不能保障等。2.3.9原型法優(yōu)缺點和適用范圍一致,這正是原型化方法能夠克服嚴格定義層難以克服的困難的根本原因。?原型法主要有以下優(yōu)點原型法是以用戶為中心來開發(fā)系統(tǒng)的,原型法提供了一個驗證用戶需求的環(huán)境原型法允許在系統(tǒng)開發(fā)生命期的早期進行人機交互測試,原型法提高了人們對最終原型法加強了開發(fā)過程中的用戶參與程度原型法可以接受需求的變動和風險。原型法對用戶具有強大的吸引力原型法可以緩和通信和交流的困難,原型法可以提供很好的系統(tǒng)說明和示范

溫馨提示

  • 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

提交評論