版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章管理信息系統(tǒng)開發(fā)方法7.1開發(fā)方法綜述7.2MIS開發(fā)過(guò)程7.3MIS開發(fā)模型7.4結(jié)構(gòu)化分析方法7.5結(jié)構(gòu)化設(shè)計(jì)方法7.6網(wǎng)絡(luò)環(huán)境下MIS的開發(fā)小結(jié)
習(xí)題目前,普遍認(rèn)為管理信息系統(tǒng)的開發(fā)過(guò)程有需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等幾個(gè)步驟;有瀑布模型、原型模型以及螺旋模型等開發(fā)模型和結(jié)構(gòu)化、面向?qū)ο蟮认到y(tǒng)開發(fā)方法。這些模型與方法有各自的特點(diǎn)和適用范圍。在開發(fā)管理信息系統(tǒng)之初,必須首先確定采用什么樣的開發(fā)方法來(lái)指導(dǎo)管理信息系統(tǒng)的開發(fā)。7.1開發(fā)方法綜述7.1.1開發(fā)方法的定義
MIS的開發(fā),顧名思義就是涵蓋了從可行性研究、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)以及系統(tǒng)實(shí)施等各個(gè)環(huán)節(jié)的工作過(guò)程。開發(fā)一個(gè)MIS,不管它是訂票處理系統(tǒng)還是主管信息系統(tǒng),所需的過(guò)程基本上是相同的。每一過(guò)程都由一些基本的活動(dòng)組成,以至于形成了一門“系統(tǒng)開發(fā)學(xué)”。系統(tǒng)開發(fā)學(xué)指出了要進(jìn)行的活動(dòng)、這些活動(dòng)之間的關(guān)系和順序以及關(guān)鍵的評(píng)價(jià)和判定的階段標(biāo)志。提交可行性研究報(bào)告和完成功能說(shuō)明書是典型的開發(fā)方法中的兩個(gè)重要的階段標(biāo)志。這些活動(dòng)是每一個(gè)開發(fā)人員和信息系統(tǒng)用戶都應(yīng)掌握的。但是由于每個(gè)人對(duì)該過(guò)程的理解不同,因此,又有人提出了標(biāo)準(zhǔn)的系統(tǒng)開發(fā)方法。標(biāo)準(zhǔn)的系統(tǒng)開發(fā)方法與軟件一樣,可以在市場(chǎng)上買到或者在組織內(nèi)部設(shè)計(jì)出來(lái)。
1.系統(tǒng)開發(fā)方法學(xué)信息系統(tǒng)開發(fā)方法學(xué)是一門具體學(xué)科(信息系統(tǒng)開發(fā))的方法學(xué),其基本任務(wù)是研究信息系統(tǒng)開發(fā)的規(guī)律以及相應(yīng)的技術(shù)和工具,從認(rèn)識(shí)論、方法論、系統(tǒng)論的角度研究出一套符合現(xiàn)階段人們認(rèn)識(shí)程度的系統(tǒng)開發(fā)原則、方法和工具,以指導(dǎo)開發(fā)實(shí)現(xiàn)的全過(guò)程。這是系統(tǒng)分析師要研究解決的問(wèn)題。系統(tǒng)開發(fā)方法學(xué)的研究是與認(rèn)識(shí)體系的研究和工具方法的研究密切相關(guān)的。方法學(xué)的研究包括下列內(nèi)容:
(1)在較高層次上分析和總結(jié)以往的經(jīng)驗(yàn),研究信息系統(tǒng)開發(fā)的一般規(guī)律,建立具有一般意義(普遍適用)的系統(tǒng)開發(fā)指導(dǎo)思想的基木原則。
(2)從系統(tǒng)工程的角度,為分析人員(或稱信息系統(tǒng)的建造者)提供一個(gè)協(xié)調(diào)局部與整體利益的思維方法以及具體的分析、設(shè)計(jì)原則。
(3)圍繞已建立的各種開發(fā)方法、指導(dǎo)思想的原則,建立相應(yīng)的實(shí)施步驟。
(4)研制一整套與系統(tǒng)開發(fā)思想相對(duì)應(yīng)的、適合于各實(shí)施步驟的描述和開發(fā)工具。
(5)信息系統(tǒng)開發(fā)中的組織、實(shí)施方法。
(6)系統(tǒng)開發(fā)成功的關(guān)鍵因素、必要條件以及促使系統(tǒng)開發(fā)成功的組織運(yùn)行機(jī)制。既然信息系統(tǒng)開發(fā)方法學(xué)是研究信息系統(tǒng)開發(fā)規(guī)律的學(xué)科分支,它的研究領(lǐng)域包括下列方面:(1)信息系統(tǒng)開發(fā)的認(rèn)知體系。(2)信息資源的戰(zhàn)略規(guī)劃。(3)信息系統(tǒng)開發(fā)策略。(4)信息系統(tǒng)分析與設(shè)計(jì)的一般理論和方法。(5)信息系統(tǒng)集成學(xué)。(6)系統(tǒng)開發(fā)環(huán)境和技術(shù)。迄今為止,在信息系統(tǒng)開發(fā)方法學(xué)領(lǐng)域尚未形成一套公認(rèn)最合理、科學(xué)的理論,以及由這些理論所支持的具體工具和方法。
2.系統(tǒng)開發(fā)認(rèn)知體系信息系統(tǒng)開發(fā)認(rèn)知體系所要研究人們?cè)谛畔⑾到y(tǒng)開發(fā)過(guò)程中對(duì)其開發(fā)對(duì)象的認(rèn)識(shí)方法以及信息系統(tǒng)開發(fā)的規(guī)律及方法,以指導(dǎo)人們進(jìn)行信息系統(tǒng)研制的指導(dǎo)思想、過(guò)程步驟及工具,為建立和認(rèn)識(shí)客觀事物以及各種開發(fā)理論、方法奠定統(tǒng)一的基礎(chǔ)和認(rèn)知框架。認(rèn)識(shí)規(guī)律的研究主要是指在信息系統(tǒng)開發(fā)過(guò)程中人對(duì)客觀事物(即將要被處理的對(duì)象)認(rèn)識(shí)規(guī)律的研究。
3.系統(tǒng)開發(fā)策略與資源規(guī)劃信息系統(tǒng)的開發(fā)策略和資源規(guī)劃,是指一個(gè)系統(tǒng)在被開發(fā)前所進(jìn)行的整體開發(fā)戰(zhàn)略和資源規(guī)劃。系統(tǒng)開發(fā)策略與資源規(guī)劃所要研究的主要內(nèi)容如下:(1)組織的性質(zhì)、特點(diǎn)、目標(biāo)、地位以及組織的發(fā)展戰(zhàn)略規(guī)劃。(2)信息系統(tǒng)的任務(wù)、目標(biāo)、作用、地位以及所期望對(duì)組織管理的影響。(3)現(xiàn)有資源分析。它包括對(duì)現(xiàn)有信息資源、信息處理能力、技術(shù)基礎(chǔ)、環(huán)境條件、資金設(shè)備等資料的分析。(4)組織的管理現(xiàn)狀和需求分析。它包括組織的管理體制、現(xiàn)狀、水平、基礎(chǔ)數(shù)據(jù)管理狀況:組織今后戰(zhàn)略發(fā)展可能對(duì)其現(xiàn)有管理模式所產(chǎn)生的影響,以及組織各部門對(duì)信息和信息系統(tǒng)的需求狀況和需求層次等資料的分析。(5)信息系統(tǒng)開發(fā)方法、投資方案、開發(fā)過(guò)程的實(shí)施規(guī)劃。
4.MIS的建設(shè)步驟
MIS的建設(shè)貫徹和應(yīng)用了系統(tǒng)方法原則和軟件工程原則,將系統(tǒng)的開發(fā)和使用看做是一個(gè)系統(tǒng)產(chǎn)生、發(fā)展、消亡和更新的過(guò)程,即系統(tǒng)的生命周期。MIS的建設(shè)是一個(gè)復(fù)雜的過(guò)程,從用戶提出要求到系統(tǒng)建成,存在著一系列工作環(huán)節(jié)。每個(gè)工作環(huán)節(jié)的質(zhì)量直接影響與之相關(guān)的環(huán)節(jié),進(jìn)而影響整個(gè)系統(tǒng)建設(shè)的質(zhì)量和進(jìn)程。因此,正確認(rèn)識(shí)系統(tǒng)的發(fā)展規(guī)律,了解不同發(fā)展階段的特點(diǎn)和相互關(guān)系,才能成功地進(jìn)行MIS的建設(shè)。按照系統(tǒng)建設(shè)的生命周期思想,MIS的建設(shè)過(guò)程可以分成系統(tǒng)規(guī)劃、系統(tǒng)開發(fā)、系統(tǒng)運(yùn)行與維護(hù)和系統(tǒng)更新四個(gè)階段。
(1)系統(tǒng)規(guī)劃。系統(tǒng)規(guī)劃是MIS建設(shè)的第一個(gè)階段。系統(tǒng)規(guī)劃的主要任務(wù)是根據(jù)組織的整體目標(biāo)和發(fā)展戰(zhàn)略,確定MIS的發(fā)展戰(zhàn)略,明確組織總的信息需求,制定MIS建設(shè)的總計(jì)劃。其中包括確定擬建系統(tǒng)的總體目標(biāo)、功能、規(guī)模和所需資源,并根據(jù)需求及資源和應(yīng)用環(huán)境的約束,把規(guī)劃的系統(tǒng)建設(shè)內(nèi)容分解成若干開發(fā)項(xiàng)目,分期分批進(jìn)行系統(tǒng)開發(fā)。該階段又可分為戰(zhàn)略規(guī)劃、需求分析、資源分配三個(gè)具體的過(guò)程??尚行匝芯恳彩沁@一階段的一項(xiàng)主要任務(wù)。
(2)系統(tǒng)開發(fā)。系統(tǒng)開發(fā)階段的任務(wù)是根據(jù)系統(tǒng)規(guī)劃階段所確定的總體方案和開發(fā)項(xiàng)目的安排,分階段地進(jìn)行系統(tǒng)開發(fā)。由于在系統(tǒng)開發(fā)過(guò)程中資源及應(yīng)用環(huán)境的制約,一個(gè)組織的MIS一般不可能一次性建成,因此開發(fā)項(xiàng)目常常是針對(duì)整個(gè)信息系統(tǒng)的某個(gè)或某幾個(gè)子系統(tǒng)的建立。系統(tǒng)開發(fā)工作又分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施等階段。
(3)系統(tǒng)運(yùn)行與維護(hù)。系統(tǒng)維護(hù)具體包括對(duì)系統(tǒng)進(jìn)行定期或隨機(jī)的檢查,糾正運(yùn)行階段暴露的錯(cuò)誤,排除故障,更新易損部件,刷新備份的軟件和數(shù)據(jù)存儲(chǔ),保證系統(tǒng)按預(yù)定要求完成各項(xiàng)工作。由于管理環(huán)境與技術(shù)環(huán)境的變化,系統(tǒng)中某些工作內(nèi)容與方式已不能適應(yīng)變化了的環(huán)境,因而影響系統(tǒng)預(yù)定功能的實(shí)現(xiàn),需要對(duì)這些部分進(jìn)行適當(dāng)?shù)恼{(diào)整和修改,以滿足管理工作的需要。當(dāng)用戶對(duì)系統(tǒng)提出新的信息需求時(shí),需要在原有系統(tǒng)的基礎(chǔ)上進(jìn)行適當(dāng)修改和擴(kuò)充,完善系統(tǒng)的功能,以滿足用戶新的信息需求。同時(shí),為預(yù)防系統(tǒng)可能發(fā)生的變化或所受到的沖突,需要采取一定的預(yù)防措施。
(4)系統(tǒng)更新。系統(tǒng)維護(hù)工作在一定程度上保證了MIS對(duì)環(huán)境的適應(yīng)能力。但是,現(xiàn)代組織面臨的內(nèi)、外部環(huán)境是不斷迅速變化的。面對(duì)不斷變化的環(huán)境,組織的目標(biāo)、戰(zhàn)略和信息需求也必須與環(huán)境的變化相適應(yīng)。而MIS的維護(hù)工作只限于通過(guò)小范圍內(nèi)的局部調(diào)整來(lái)適應(yīng)變化不明顯的情況。當(dāng)現(xiàn)有系統(tǒng)和系統(tǒng)的主要部分已不能通過(guò)維護(hù)來(lái)適應(yīng)環(huán)境和用戶需求的變化時(shí),或者在原有系統(tǒng)基礎(chǔ)上通過(guò)維護(hù)的辦法進(jìn)行調(diào)整已很不經(jīng)濟(jì)時(shí),則整個(gè)信息系統(tǒng)或某個(gè)子系統(tǒng)就會(huì)被淘汰,新的系統(tǒng)建設(shè)工作和項(xiàng)目開發(fā)工作便隨之開始。系統(tǒng)更新標(biāo)志著舊系統(tǒng)或舊系統(tǒng)的某個(gè)子系統(tǒng)的生命周期的結(jié)束,也標(biāo)志著新的系統(tǒng)開發(fā)工作的開始。7.1.2開發(fā)方法的類型國(guó)內(nèi)外科研機(jī)構(gòu)和軟件公司、用戶都在研究MIS開發(fā)方法這個(gè)概念性的東西,而且也提出了很多實(shí)際的開發(fā)方法,比如:生命周期法、原型化方法、面向?qū)ο蠓椒ǖ鹊取?/p>
1.結(jié)構(gòu)化方法結(jié)構(gòu)化開發(fā)方法(StructuredAnalysisandStructuredDesign,SASD)是由E.Yourdon和L.L.Constantine提出的,也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。Yourdon方法是20世紀(jì)80年代使用最廣泛的軟件開發(fā)方法。它首先用結(jié)構(gòu)化分析(SA)對(duì)軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)(SD)方法進(jìn)行總體設(shè)計(jì),最后是結(jié)構(gòu)化編程(SP)。它給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型)使軟件開發(fā)的成功率大大提高。
2.面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法
Jackson方法是最典型的面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法,Jackson方法把問(wèn)題分解為可由三種基本結(jié)構(gòu)形式表示的各部分的層次結(jié)構(gòu)。三種基本的結(jié)構(gòu)形式就是順序、選擇和重復(fù)。三種基本結(jié)構(gòu)可以進(jìn)行組合,形成復(fù)雜的結(jié)構(gòu)體系。這一方法從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補(bǔ)充其他細(xì)節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對(duì)輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)如商業(yè)應(yīng)用中的文件表格處理特別有效。該方法也可與其他方法結(jié)合,用于模塊的詳細(xì)設(shè)計(jì)。
3.面向問(wèn)題分析法面向問(wèn)題分析法(ProblemAnalysisMethod,PAM)是20世紀(jì)80年代末由日立公司提出的一種軟件開發(fā)方法。它的基本思想是考慮到輸入、輸出數(shù)據(jù)結(jié)構(gòu),指導(dǎo)系統(tǒng)的分解,在系統(tǒng)分析指導(dǎo)下逐步綜合。這一方法的具體步驟是:從輸入、輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫出整個(gè)系統(tǒng)的問(wèn)題分析圖(ProblemAnalysisDiagram,PAD)。這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這個(gè)目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)。PAM方法的另一個(gè)優(yōu)點(diǎn)是使用PAD圖。這是一種二維樹形結(jié)構(gòu)圖,是目前最好的詳細(xì)設(shè)計(jì)表示方法之一。當(dāng)然由于在輸入、輸出數(shù)據(jù)結(jié)構(gòu)與整個(gè)系統(tǒng)之間同樣存在著鴻溝,這一方法仍只適用于中小型問(wèn)題。
4.原型化方法產(chǎn)生原型化方法的原因很多,主要是隨著系統(tǒng)開發(fā)人員開發(fā)經(jīng)驗(yàn)的增多,二是需求是可變的,而且并非所有的需求都能夠預(yù)先定義,隨著需求的變化反復(fù)修改是不可避免的,原型法動(dòng)態(tài)地、逐步漸近確定系統(tǒng)需求。當(dāng)然能夠采用原型化方法的前提是因?yàn)殚_發(fā)工具的快速發(fā)展,比如用VB、Delphi等工具我們可以迅速地開發(fā)出一個(gè)可以讓用戶看得見、摸得著的系統(tǒng)框架,這樣,對(duì)計(jì)算機(jī)不是很熟悉的用戶就可以根據(jù)這個(gè)樣板提出自己的需求。開發(fā)原型化系統(tǒng)一般有以下幾個(gè)階段:(1)確定用戶需求。(2)開發(fā)原始模型。(3)征求用戶對(duì)初始原型的改進(jìn)意見。(4)修改原型。原型化開發(fā)比較適合于用戶需求不清、業(yè)務(wù)理論不確定、需求經(jīng)常變化的情況。當(dāng)系統(tǒng)規(guī)模不是很大也不太復(fù)雜時(shí)采用該方法是比較好的。原型法有三個(gè)層次:第一層包括聯(lián)機(jī)的屏幕活動(dòng),這一層的目的是確定屏幕及報(bào)表的版式和內(nèi)容、屏幕活動(dòng)的順序及屏幕排版的方法;第二層是第一層的擴(kuò)展,引用了數(shù)據(jù)庫(kù)的交互作用及數(shù)據(jù)操作,這一層的主要目的是論證系統(tǒng)關(guān)鍵區(qū)域的操作,用戶可以輸入成組的事務(wù)數(shù)據(jù),執(zhí)行這些數(shù)據(jù)的模擬過(guò)程,包括出錯(cuò)處理;第三層是系統(tǒng)的工作模型,它是系統(tǒng)的一個(gè)子集,其中應(yīng)用的邏輯事務(wù)及數(shù)據(jù)庫(kù)的交互作用可以用實(shí)際數(shù)據(jù)來(lái)操作,這一層的目的是開發(fā)一個(gè)模型,使其發(fā)展成為最終的系統(tǒng)規(guī)模。原型法的主要優(yōu)點(diǎn)在于它是一種支持用戶的方法,使得用戶在系統(tǒng)生存周期的設(shè)計(jì)階段起到積極的作用;它能減少系統(tǒng)開發(fā)的風(fēng)險(xiǎn),特別是在大型項(xiàng)目的開發(fā)中,由于對(duì)項(xiàng)目需求的分析難以一次完成,應(yīng)用原型法效果更為明顯。原型法的概念既適用于系統(tǒng)的重新開發(fā),也適用于對(duì)系統(tǒng)的修改。快速原型法要取得成功,要求有像第四代語(yǔ)言(4GL)這樣的良好開發(fā)環(huán)境/工具的支持。原型法可以與傳統(tǒng)的生命周期方法相結(jié)合使用,這樣會(huì)擴(kuò)大用戶參與需求分析、初步設(shè)計(jì)及詳細(xì)設(shè)計(jì)等階段的活動(dòng),加深對(duì)系統(tǒng)的理解??焖僭头ㄊ墙陙?lái)提出的一種以計(jì)算機(jī)為基礎(chǔ)的系統(tǒng)開發(fā)方法,它首先構(gòu)造一個(gè)功能簡(jiǎn)單的原型系統(tǒng),然后通過(guò)對(duì)原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的軟件系統(tǒng)。原型就是模型,而原型系統(tǒng)就是應(yīng)用系統(tǒng)的模型。它是待構(gòu)筑的實(shí)際系統(tǒng)的縮小比例模型,但是保留了實(shí)際系統(tǒng)的大部分性能。這個(gè)模型可在運(yùn)行中被檢查、測(cè)試、修改,直到它的性能達(dá)到用戶需求為止。因而這個(gè)工作模型很快就能轉(zhuǎn)換成原樣的目標(biāo)系統(tǒng)。
5.面向?qū)ο蟮能浖_發(fā)方法當(dāng)前計(jì)算機(jī)業(yè)界最流行的幾個(gè)單詞就是分布式系統(tǒng)、并行處理和面向?qū)ο蠹夹g(shù)等幾個(gè)術(shù)語(yǔ)。由此可見,面向?qū)ο筮@個(gè)概念在當(dāng)前計(jì)算機(jī)業(yè)界的地位。比如當(dāng)前流行的兩大面向?qū)ο蠹夹g(shù)DCOM和CORBA就是例子。當(dāng)然我們實(shí)際用到的還是面向?qū)ο蟮木幊陶Z(yǔ)言,比如C++。不可否認(rèn),面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計(jì))和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對(duì)象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu)。所以O(shè)MT徹底實(shí)現(xiàn)了PAM沒(méi)有完全實(shí)現(xiàn)的目標(biāo)。不僅如此,OO技術(shù)在需求分析、可維護(hù)性和可靠性這三個(gè)軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破,基本解決了在這些方面存在的嚴(yán)重問(wèn)題。綜上所述,面向?qū)ο笙到y(tǒng)采用了自底向上的歸納、自頂向下的分解的方法,它通過(guò)對(duì)對(duì)象模型的建立,能夠真正建立基于用戶的需求,而且系統(tǒng)的可維護(hù)性大大改善。當(dāng)前業(yè)界關(guān)于面向?qū)ο蠼5臉?biāo)準(zhǔn)是UML。這里我們需要談一下微軟的MSF的框架,它簡(jiǎn)單地把系統(tǒng)設(shè)計(jì)分成三個(gè)階段:概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。概念設(shè)計(jì)階段就是從用戶的角度出發(fā)可以得到多少個(gè)對(duì)象,并且以對(duì)象為主體,畫出業(yè)務(wù)框架。邏輯設(shè)計(jì)階段就是對(duì)概念設(shè)計(jì)階段的對(duì)象進(jìn)行再分析、細(xì)分、整合、刪除。并建立各個(gè)對(duì)象的方法屬性以及對(duì)象之間的關(guān)系。而物理設(shè)計(jì)實(shí)際上就是要確定我們實(shí)際需要的組件、服務(wù)和采用的框架結(jié)構(gòu)、具體的編程語(yǔ)言等。
6.可視化開發(fā)方法其實(shí)可視化開發(fā)并不能單獨(dú)的作為一種開發(fā)方法,更加貼切的說(shuō)可以認(rèn)為它是一種輔助工具,比如SYBASE的SDesign,建立并顯示出圖形化的數(shù)據(jù)庫(kù)模式,并可以導(dǎo)入到不同的數(shù)據(jù)庫(kù)中去。當(dāng)然,不可否認(rèn)的是,目前只是在編程這個(gè)環(huán)節(jié)上用了可視化,而不是在系統(tǒng)分析和系統(tǒng)設(shè)計(jì)這個(gè)高層次上用了可視化的方法。實(shí)際上,建立系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的可視化工具是一個(gè)很好的賣點(diǎn),國(guó)外有很多工具都致力于這方面產(chǎn)品的設(shè)計(jì)。比如BusinessObject就是一個(gè)非常好的數(shù)據(jù)庫(kù)可視化分析工具??梢暬_發(fā)使我們把注意力集中在業(yè)務(wù)邏輯和業(yè)務(wù)流程上,用戶界面可以用可視化工具方便的構(gòu)成。通過(guò)操作界面元素,諸如菜單、按鈕、對(duì)話框、編輯框、單選框、復(fù)選框、列表框和滾動(dòng)條等,由可視開發(fā)工具自動(dòng)生成應(yīng)用軟件。7.2
MIS開發(fā)過(guò)程下面介紹信息系統(tǒng)生命周期和原型化開發(fā)過(guò)程。7.2.1
MIS生命周期信息系統(tǒng)從提出需求、形成概念開始,經(jīng)過(guò)分析論證、系統(tǒng)開發(fā)、使用維護(hù),直到淘汰或被新的信息系統(tǒng)所取代的全過(guò)程稱為信息系統(tǒng)生命周期。它就像人的一生,要經(jīng)歷嬰幼兒期、青少年、成年、壯年、老年直至死亡一樣,一個(gè)信息系統(tǒng)同樣存在從產(chǎn)生、發(fā)展到死亡的過(guò)程。信息系統(tǒng)生命周期可以按照系統(tǒng)開發(fā)活動(dòng)的需要,劃分為如下五個(gè)階段(如圖7-1所示):
(1)可行性研究。
(2)系統(tǒng)分析。
(3)系統(tǒng)設(shè)計(jì)。
(4)系統(tǒng)實(shí)現(xiàn)。
(5)系統(tǒng)維護(hù)(包括升級(jí))。圖7-1管理信息系統(tǒng)生命周期其中MIS開發(fā)包括四個(gè)階段的工作。下面簡(jiǎn)述各階段主要內(nèi)容。
1.可行性研究可行性研究是在系統(tǒng)開發(fā)項(xiàng)目確定之前,對(duì)系統(tǒng)開發(fā)的必要性、可行性以及可能的候選方案,從整個(gè)系統(tǒng)生存周期的角度進(jìn)行分析和評(píng)價(jià),為上級(jí)主管部門決策提供科學(xué)依據(jù)。當(dāng)一個(gè)部門的現(xiàn)行信息系統(tǒng)因種種原因已經(jīng)不能滿足要求,提出建立新的計(jì)算機(jī)信息系統(tǒng)或改進(jìn)現(xiàn)有的系統(tǒng)時(shí),系統(tǒng)開發(fā)開始了??尚行匝芯堪鞔_任務(wù),調(diào)查環(huán)境,提出方案,分析可行性幾個(gè)方面。(1)明確任務(wù)。明確任務(wù)主要從系統(tǒng)開發(fā)的角度,對(duì)用戶設(shè)想的目標(biāo)、新系統(tǒng)的功能范圍、基本工作過(guò)程以及其他關(guān)鍵性問(wèn)題做出明確的描述。(2)環(huán)境調(diào)查。環(huán)境調(diào)查的目的是對(duì)部門的環(huán)境給出一個(gè)概括性說(shuō)明,以便提出候選方案和進(jìn)行可行性分析。重點(diǎn)調(diào)查組織結(jié)構(gòu)、現(xiàn)行系統(tǒng)等的情況,包括現(xiàn)行系統(tǒng)存在的主要問(wèn)題以及其他重要因素。(3)提出方案。在環(huán)境調(diào)查的基礎(chǔ)上,根據(jù)用戶提出的要求,對(duì)開發(fā)新系統(tǒng)的需求做出分析和預(yù)測(cè),同時(shí),考慮建設(shè)新系統(tǒng)所受到的各種制約因素,根據(jù)需要和可能,給出幾種擬建系統(tǒng)的候選規(guī)模及方案。(4)可行性分析。可行性分析是對(duì)擬建系統(tǒng)的各種候選方案在技術(shù)上、經(jīng)濟(jì)上、運(yùn)行上是否可行進(jìn)行分析,并在可行性分析的基礎(chǔ)上,對(duì)各種候選方案進(jìn)行比較,給出建設(shè)性的結(jié)論。
2.系統(tǒng)分析系統(tǒng)分析的目的是解決做什么的問(wèn)題,它是在可行性分析的基礎(chǔ)上,針對(duì)現(xiàn)行系統(tǒng)進(jìn)行全面的調(diào)查分析,從而提出新系統(tǒng)的邏輯模型。它包括需求調(diào)查、數(shù)據(jù)分析、功能分析、系統(tǒng)定義等方面。(1)需求調(diào)查。需求調(diào)查是為了弄清現(xiàn)行系統(tǒng)的基本功能及信息流程,以便在此基礎(chǔ)上提出新系統(tǒng)的邏輯模型,其重點(diǎn)在于信息系統(tǒng)的內(nèi)部結(jié)構(gòu)、具體功能、組織安排、先后次序等,這些正是在新系統(tǒng)中有可能要加以修改、變更的內(nèi)容。因此,工作的細(xì)致程度較之環(huán)境調(diào)查高得多,工作量也大得多,人力投入也大得多。(2)數(shù)據(jù)分析。數(shù)據(jù)分析是對(duì)調(diào)查得到的大量材料,進(jìn)行整理、分類、匯總、分析和歸納它采用數(shù)據(jù)流圖、數(shù)據(jù)字典、數(shù)據(jù)規(guī)范化、數(shù)據(jù)立即存取圖等工具和方法,弄清信息系統(tǒng)中各類數(shù)據(jù)的屬性、數(shù)據(jù)的存儲(chǔ)要求,數(shù)據(jù)的查詢要求等,并給出定性和定量的描述性分析。(3)功能分析。功能分析采用決策樹、決策表和結(jié)構(gòu)式語(yǔ)言等工具和方法,對(duì)數(shù)據(jù)流圖中的每一個(gè)處理過(guò)程加以詳盡說(shuō)明,并精確描述用戶要求一個(gè)處理過(guò)程做什么,其中最基本的部分是處理的邏輯,即用戶對(duì)這個(gè)處理過(guò)程的邏輯要求以及該過(guò)程的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流之間所具有的邏輯關(guān)系。(4)系統(tǒng)定義。系統(tǒng)定義是指在邏輯上定義新系統(tǒng),即提出新系統(tǒng)的邏輯模型。邏輯模型主要是用數(shù)據(jù)流圖表示,用數(shù)據(jù)字典等補(bǔ)充。(3)功能分析。功能分析采用決策樹、決策表和結(jié)構(gòu)式語(yǔ)言等工具和方法,對(duì)數(shù)據(jù)流圖中的每一個(gè)處理過(guò)程加以詳盡說(shuō)明,并精確描述用戶要求一個(gè)處理過(guò)程做什么,其中最基本的部分是處理的邏輯,即用戶對(duì)這個(gè)處理過(guò)程的邏輯要求以及該過(guò)程的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流之間所具有的邏輯關(guān)系。(4)系統(tǒng)定義。系統(tǒng)定義是指在邏輯上定義新系統(tǒng),即提出新系統(tǒng)的邏輯模型。邏輯模型主要是用數(shù)據(jù)流圖表示,用數(shù)據(jù)字典等補(bǔ)充。
3.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)就是為實(shí)現(xiàn)系統(tǒng)分析提出的系統(tǒng)邏輯模型所做的各種技術(shù)考慮與設(shè)計(jì),它根據(jù)新系統(tǒng)的邏輯模型建立系統(tǒng)的物理模型,也即根據(jù)新系統(tǒng)邏輯功能的要求,考慮系統(tǒng)的規(guī)模和復(fù)雜程度等實(shí)際條件,進(jìn)行若干具體設(shè)計(jì),確定系統(tǒng)的實(shí)施方案,從而解決系統(tǒng)怎么做的問(wèn)題。系統(tǒng)設(shè)計(jì)包括模塊設(shè)計(jì)、代碼設(shè)計(jì)、輸入/輸出設(shè)計(jì)、文件或數(shù)據(jù)庫(kù)設(shè)計(jì)、可靠性設(shè)計(jì)等。(1)模塊設(shè)計(jì)。模塊設(shè)計(jì)又稱系統(tǒng)控制結(jié)構(gòu)設(shè)計(jì),它主要對(duì)系統(tǒng)內(nèi)部進(jìn)行層次分解,劃分系統(tǒng)的模塊結(jié)構(gòu),并確定模塊的調(diào)用和模塊之間數(shù)據(jù)流與控制流的傳遞關(guān)系。模塊設(shè)計(jì)的工具有結(jié)構(gòu)圖等。(2)代碼設(shè)計(jì)。代碼設(shè)計(jì)包括確定編碼的對(duì)象、名稱、目的、使用范圍、數(shù)量、編碼方法、編碼構(gòu)成等內(nèi)容,并編寫代碼對(duì)照表。(3)輸入/輸出設(shè)計(jì)。輸入/輸出設(shè)計(jì)即系統(tǒng)人機(jī)交互界面設(shè)計(jì),它包括輸入/輸出方法的選擇,輸入/輸出設(shè)備的選擇、輸入/輸出格式設(shè)計(jì)以及輸入有效性檢查等。(4)數(shù)據(jù)庫(kù)設(shè)計(jì)。大中型信息系統(tǒng)由于對(duì)時(shí)間和空間要求比較高,處理過(guò)程也比較復(fù)雜,因此,必須建立在數(shù)據(jù)庫(kù)系統(tǒng)之上。數(shù)據(jù)庫(kù)設(shè)計(jì)是在需求分析的基礎(chǔ)上,確定數(shù)據(jù)的存儲(chǔ)方法和存儲(chǔ)結(jié)構(gòu),進(jìn)行滿足應(yīng)用要求及符合語(yǔ)義的邏輯設(shè)計(jì),進(jìn)行具有合理的存儲(chǔ)結(jié)構(gòu)的物理設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的運(yùn)行等。(5)可靠性設(shè)計(jì)??煽啃栽O(shè)計(jì)包括系統(tǒng)的安全保密性能設(shè)計(jì)、系統(tǒng)與文件的備份與恢復(fù)等,具體表現(xiàn)為預(yù)防對(duì)策的設(shè)計(jì)和恢復(fù)對(duì)策的設(shè)計(jì)。
4.系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)是真正解決具體做的問(wèn)題,它是新系統(tǒng)付諸實(shí)現(xiàn)的實(shí)施階段。系統(tǒng)實(shí)現(xiàn)階段是具體實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)階段的新系統(tǒng)的物理模型。它主要包括軟、硬件準(zhǔn)備,程序設(shè)計(jì),數(shù)據(jù)收集與準(zhǔn)備,人員培訓(xùn),系統(tǒng)測(cè)試,系統(tǒng)轉(zhuǎn)換(新舊系統(tǒng)轉(zhuǎn)軌),系統(tǒng)評(píng)價(jià)等部分。
5.系統(tǒng)維護(hù)系統(tǒng)驗(yàn)收通過(guò)與交付使用,標(biāo)志著整個(gè)系統(tǒng)開發(fā)工作的結(jié)束。接下來(lái)是系統(tǒng)生命周期中的最后一個(gè)階段,即系統(tǒng)運(yùn)行與維護(hù)階段。新系統(tǒng)要具有長(zhǎng)久的生命力,必須不斷完善,以適應(yīng)變化,這就是系統(tǒng)維護(hù)。當(dāng)系統(tǒng)不能很好地滿足要求時(shí),就可能提出修改或研制更新系統(tǒng)的要求,于是,系統(tǒng)開發(fā)的整個(gè)過(guò)程又要重復(fù)。7.2.2原型化開發(fā)方法
1.原型化開發(fā)方法的思想在傳統(tǒng)的信息系統(tǒng)開發(fā)中,一直采用的是嚴(yán)格定義和預(yù)先說(shuō)明的生命周期法。這種方法要求系統(tǒng)開發(fā)人員和用戶在系統(tǒng)開發(fā)初期就要對(duì)整個(gè)系統(tǒng)的功能有全面、深刻的認(rèn)識(shí),并制定出每一階段的計(jì)劃和說(shuō)明書,以后的工作便圍繞這些文檔進(jìn)行。即在系統(tǒng)開發(fā)初期(系統(tǒng)建成之前),就可以預(yù)先知道用戶的最終要求,然后,圍繞著這一需求進(jìn)行下一步的分析與設(shè)計(jì)。如果用戶需求不能被預(yù)知或被錯(cuò)誤地理解了,那么,以后的工作就失去了意義。隨著企業(yè)自身的調(diào)整、新的管理方法的提出以及信息技術(shù)的飛速發(fā)展,出現(xiàn)了許多新的要求和新的情況,給這一傳統(tǒng)開發(fā)方法帶來(lái)嚴(yán)峻的挑戰(zhàn)。為了適應(yīng)競(jìng)爭(zhēng),許多公司的結(jié)構(gòu)和經(jīng)營(yíng)項(xiàng)目在不斷變化,這對(duì)信息系統(tǒng)提出了更高的要求:(1)信息系統(tǒng)的開發(fā)要快。以往的開發(fā)方法涉及面大,人員太多,手續(xù)太繁雜,如果還是這樣來(lái)開發(fā)信息系統(tǒng),系統(tǒng)的建成之日可能就是它的淘汰之時(shí)。(2)信息系統(tǒng)要有靈活性。由于經(jīng)營(yíng)業(yè)務(wù)的靈活性,信息系統(tǒng)的使用環(huán)境在經(jīng)常地發(fā)生變化,要有足夠的靈活性才能保證信息系統(tǒng)的正常運(yùn)轉(zhuǎn)。傳統(tǒng)的設(shè)計(jì)方法從一開始就給系統(tǒng)定下了一個(gè)框框,系統(tǒng)的一切活動(dòng)都圍繞著這個(gè)框進(jìn)行,如果出現(xiàn)了不能預(yù)料的變化,再來(lái)修改就很困難。為解決這些問(wèn)題,考慮到人自身的特點(diǎn)(靈活、多變、依經(jīng)驗(yàn)辦事)產(chǎn)生了一種新的信息系統(tǒng)的開發(fā)方法——原型化開發(fā)方法。這種方法的思想基礎(chǔ)是:用戶和開發(fā)人員之間總是存在這樣或那樣的隔閡,用戶自己不清楚系統(tǒng)的最終需求,或者由于交流上的障礙無(wú)法把自己的意圖向開發(fā)人員完全表達(dá)出來(lái)。用戶只有看到一個(gè)具體的系統(tǒng),才能清楚地了解到自已的需要和系統(tǒng)的缺點(diǎn)。這說(shuō)明并非所有的需求都能預(yù)先定義。由于存在這樣的隔閡,系統(tǒng)不能滿足用戶的要求是常有的事。因此,信息系統(tǒng)的開發(fā)過(guò)程中大量的反復(fù)是必要的、不可避免的,也是使系統(tǒng)具有更強(qiáng)適應(yīng)性所要求的?;谏鲜鲇^點(diǎn),原型法就產(chǎn)生了與傳統(tǒng)開發(fā)方法的兩個(gè)截然不同的特點(diǎn):(1)在沒(méi)有完全弄清楚需求之前,通過(guò)一個(gè)原型化設(shè)計(jì)環(huán)境,迅速地建立原始系統(tǒng);(2)在原型化環(huán)境上能方便地對(duì)原始系統(tǒng)進(jìn)行大量的修改、擴(kuò)充和完善。
2.原型法的開發(fā)過(guò)程利用原型法開發(fā)MIS大致要經(jīng)過(guò)下面幾個(gè)階段(如圖7-2所示):
1)可行性研究階段。在討論是否開發(fā)一個(gè)系統(tǒng)時(shí),首先要從宏觀上對(duì)MIS開發(fā)的意義、費(fèi)用、時(shí)間做初步的計(jì)算,以確定下面的工作是否可進(jìn)行下去。圖7-2原型法的開發(fā)過(guò)程(2)確定系統(tǒng)的基本要求階段。系統(tǒng)開發(fā)人員向用戶了解用戶對(duì)信息系統(tǒng)的基本需求,即應(yīng)該具有的一些基本功能,人機(jī)交互界面的基本形式等。由于原型法的特點(diǎn),不要求開發(fā)人員費(fèi)極大的力氣爭(zhēng)取對(duì)系統(tǒng)的完全了解,了解可以是不完全的,甚至可能會(huì)有錯(cuò)誤,但這在后面幾個(gè)階段的工作中是可以發(fā)現(xiàn)和改正。當(dāng)然,開發(fā)人員不能借此敷衍了事。事實(shí)上,錯(cuò)誤發(fā)現(xiàn)得越早,改正的代價(jià)就越小。(3)建造原始系統(tǒng)階段。在對(duì)系統(tǒng)有了基本了解的基礎(chǔ)上,系統(tǒng)開發(fā)人員應(yīng)爭(zhēng)取盡快地建造一個(gè)具有原型功能的MIS。在建造系統(tǒng)時(shí),要考慮到以后修改的容易性。由于要求速度快,這一階段應(yīng)該盡量使用一些軟件工具,特別是專門的原型建造工具,輔助進(jìn)行系統(tǒng)實(shí)現(xiàn)。原型法的開發(fā)過(guò)程中非常重視開發(fā)工具的使用,只有有效地利用工具才能很快地建成一個(gè)系統(tǒng),并能多次對(duì)其進(jìn)行修改和完善。(4)用戶和開發(fā)人員評(píng)審階段。這一階段是整個(gè)開發(fā)過(guò)程的關(guān)鍵。用戶和開發(fā)人員一起對(duì)剛完成的或經(jīng)過(guò)若干次修改后的系統(tǒng)進(jìn)行評(píng)審,提出完善意見。在這個(gè)階段,用戶是主角。用戶通過(guò)親自使用這個(gè)系統(tǒng),更能了解到自己的需求到底是什么,更能發(fā)現(xiàn)系統(tǒng)是否存在一些問(wèn)題。這時(shí),開發(fā)人員一方面要記錄用戶提出該系統(tǒng)的缺點(diǎn)和不足之處,同時(shí),也要借具體的系統(tǒng)引導(dǎo)、啟發(fā)用戶表達(dá)對(duì)系統(tǒng)的最終要求,從而清楚了解用戶的意圖。根據(jù)心理學(xué)家的經(jīng)驗(yàn),每個(gè)人在借助一個(gè)具體事物來(lái)表達(dá)自己對(duì)這類事物的看法時(shí),比不借助任何具體事物論述要全面、深刻,也容易得多。用戶在有一個(gè)具體的系統(tǒng)擺在面前時(shí),就能借助這個(gè)系統(tǒng)發(fā)表自己的觀點(diǎn)、意見及以前無(wú)法用其他形式向開發(fā)人員表達(dá)的要求。一個(gè)具體的系統(tǒng),不管存不存在缺陷或不足,常常比一大堆的文件、手冊(cè)更能說(shuō)明問(wèn)題,它是用戶和開發(fā)人員之間最理想的通信媒介。原型法之所以能得以迅速發(fā)展,就是因?yàn)樗芴峁╇r形系統(tǒng)供用戶和開發(fā)人員研究,從而使最終的系統(tǒng)更能符合用戶的要求。(5)開發(fā)人員修改原始系統(tǒng)階段。在評(píng)審階段,用戶就實(shí)際的系統(tǒng)提供了新的要求,或指出了原始系統(tǒng)中存在的問(wèn)題,開發(fā)人員就要根據(jù)用戶的意見對(duì)原始系統(tǒng)進(jìn)行修改、擴(kuò)充和完善。(6)結(jié)束階段。開發(fā)人員在對(duì)原始系統(tǒng)進(jìn)行修改后,又回到第四階段與用戶一起就完成的系統(tǒng)進(jìn)行評(píng)審,如果不滿足要求,則要回到第五階段進(jìn)行下一輪循環(huán),反復(fù)地進(jìn)行修改、評(píng)審。如果經(jīng)用戶評(píng)審,該系統(tǒng)符合要求,則可根據(jù)開發(fā)原始系統(tǒng)的目的,或者作為最終的信息系統(tǒng)投入正常運(yùn)行,或者是把該系統(tǒng)作為初步設(shè)計(jì)的基礎(chǔ),參照這個(gè)原始系統(tǒng)設(shè)計(jì)出實(shí)際系統(tǒng)應(yīng)具有的功能,進(jìn)行具體設(shè)計(jì)與實(shí)施。
3.原型法的種類與特點(diǎn)根據(jù)原型法的應(yīng)用目的及場(chǎng)合可以把它分為下述三種。(1)丟棄式原型法。丟棄式原型法是僅把原型系統(tǒng)作為用戶和開發(fā)人員之間進(jìn)行通信的媒介,而不是把它作為實(shí)際系統(tǒng)運(yùn)行。這與通常意義上的模型的概念相似,原始系統(tǒng)只是從外觀、功能上像實(shí)際系統(tǒng)。開發(fā)這類原型的目的是為了對(duì)最終系統(tǒng)進(jìn)行研究,使用戶和開發(fā)人員借助這個(gè)系統(tǒng)進(jìn)行交流,共同明確新系統(tǒng)的需求。比如,在設(shè)計(jì)一個(gè)倉(cāng)庫(kù)管理系統(tǒng)時(shí),可以使原型系統(tǒng)的輸入、輸出數(shù)據(jù)限制在很小的范圍內(nèi),可以沒(méi)有各種輸入提示、錯(cuò)誤處理、文檔說(shuō)明等,但整個(gè)處理環(huán)節(jié)、流程和人機(jī)交互界面都具體反映了出來(lái)。如果原型符合用戶的需求,開發(fā)人員就可以把這些資料整理起來(lái),作為初步的設(shè)計(jì)參考。使用這種方法時(shí),原型的開發(fā)過(guò)程可以作為傳統(tǒng)的生命周期法的一個(gè)階段,即需求定義階段。這樣就實(shí)現(xiàn)了原型法與傳統(tǒng)的開發(fā)方法的緊密結(jié)合(如圖7-3所示)。圖7-3丟棄式原型法與生命周期法的結(jié)合由于原型系統(tǒng)在完成評(píng)審、開發(fā)之后就被扔掉,因而要求其開發(fā)費(fèi)用低、速度快,通常需利用現(xiàn)有的軟件工具及環(huán)境作為支持。(2)演化式原型法。演化式原型法的開發(fā)思想與丟棄式完全相反,其思想為:用戶的要求及系統(tǒng)的功能都無(wú)時(shí)不在發(fā)生著變化,與其花大力氣去了解不清楚的東西,不如先按照基本需求開發(fā)出一個(gè)系統(tǒng),讓用戶先使用起來(lái),隨時(shí)有問(wèn)題隨時(shí)修改。系統(tǒng)開始也許只能完成一項(xiàng)或幾項(xiàng)任務(wù),隨著用戶的使用及對(duì)系統(tǒng)的了解不斷加深,原系統(tǒng)的一部分或幾部分可能不再適應(yīng)用戶的需求,需重新設(shè)計(jì)、實(shí)施、安裝。增加原系統(tǒng)功能在演化式原型法中極為頻繁。演化式原型法的開發(fā)過(guò)程一般由系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和演化三個(gè)階段組成(如圖7-4所示)。按照演化式原型法開發(fā)出來(lái)的系統(tǒng)即為最終系統(tǒng),可立即投入正常運(yùn)行。可以預(yù)料,由于在開發(fā)過(guò)程中反復(fù)進(jìn)行修改,經(jīng)常由用戶對(duì)其評(píng)價(jià),因此,開發(fā)完成后的系統(tǒng)肯定會(huì)很好地滿足用戶的要求。用演化式的開發(fā)方法,在進(jìn)行工程的實(shí)際實(shí)施時(shí),要注意加強(qiáng)管理和控制,必須圍繞著系統(tǒng)的基本需求進(jìn)行,否則,會(huì)引起無(wú)休止的反復(fù),使時(shí)間和費(fèi)用都無(wú)法控制。圖7-4演化式原型法的開發(fā)過(guò)程(3)遞增式原型法。遞增式原型法同以上兩種方法既有相同之處,又有不同之處。根據(jù)這種方法,在開始時(shí)系統(tǒng)有一個(gè)總體框架,各功能單元的結(jié)構(gòu)和功能也十分清楚,但還沒(méi)有進(jìn)行具體實(shí)現(xiàn)。這就是說(shuō),系統(tǒng)應(yīng)完成什么功能,分為幾個(gè)部分,各個(gè)部分應(yīng)有幾個(gè)模塊,都已理解、掌握,且以后不需要作更大的變動(dòng),只是具體到每一個(gè)模塊,還沒(méi)有全部實(shí)現(xiàn)。但為了說(shuō)明問(wèn)題,又都有一些演示數(shù)據(jù)來(lái)說(shuō)明這些模塊的功能。這樣,在以后的開發(fā)過(guò)程中,再一個(gè)一個(gè)完善這些模塊。具體的設(shè)計(jì)可能是完全實(shí)現(xiàn)一個(gè)新的模塊,也可能是用一個(gè)效率高的新模塊代替一個(gè)舊模塊。但所有這些工作都是基于一個(gè)前提:系統(tǒng)的組織結(jié)構(gòu)不發(fā)生變化,模塊的外部功能就不發(fā)生變化。從某種角度考慮,這很類似于計(jì)算機(jī)工業(yè)中的插接策略,要用到一個(gè)功能,就插一個(gè)功能模塊。根據(jù)這種思想,遞增式原型法的開發(fā)過(guò)程分為系統(tǒng)總體設(shè)計(jì)和反復(fù)進(jìn)行的功能子單元實(shí)現(xiàn)兩個(gè)階段(如圖7-5所示)。采用遞增式原型法開發(fā)出的系統(tǒng)也是一個(gè)可實(shí)際運(yùn)行的系統(tǒng)。圖7-5遞增式原型法的開發(fā)過(guò)程7.3
MIS開發(fā)模型
MIS生存周期各個(gè)階段的劃分可粗可細(xì)。實(shí)踐中,各個(gè)階段之間的關(guān)系也不可能僅是線性的、順序的,而是帶有反饋的迭代過(guò)程。這種過(guò)程通常用信息系統(tǒng)開發(fā)模型表示。信息系統(tǒng)開發(fā)模型給出了信息系統(tǒng)開發(fā)活動(dòng)各階段之間的關(guān)系。它是信息系統(tǒng)開發(fā)過(guò)程的概括,是信息系統(tǒng)工程的重要內(nèi)容。信息系統(tǒng)開發(fā)模型大體上可分為三種類型。第一種是以系統(tǒng)需求完全確定為前提的瀑布模型。第二種是在系統(tǒng)開發(fā)初始階段只能提供基本需求時(shí)采用的漸進(jìn)式開發(fā)模型,如原型模型、螺旋模型等。第三種是以形式化開發(fā)方法為基礎(chǔ)的變換模型。實(shí)踐中經(jīng)常將幾種模型組合使用以便充分利用各種模型的優(yōu)點(diǎn)。本節(jié)主要介紹瀑布模型和原型模型。7.3.1瀑布模型瀑布模型也稱軟件生存周期模型。根據(jù)軟件生存周期各個(gè)階段的任務(wù),瀑布模型從可行性研究(或稱系統(tǒng)分析)開始,逐步進(jìn)行階段性變換,直至通過(guò)確認(rèn)測(cè)試并得到用戶確認(rèn)的軟件產(chǎn)品為止。瀑布模型上一階段的變換結(jié)果是下一階段變換的輸入,相鄰兩個(gè)階段具有因果關(guān)系,緊密相聯(lián)。一個(gè)階段工作的失誤將蔓延到以后的各個(gè)階段。為了保障軟件開發(fā)的正確性,每一階段任務(wù)完成后,都必須對(duì)它的階段性產(chǎn)品進(jìn)行評(píng)審,確認(rèn)之后再轉(zhuǎn)入下一階段的工作。評(píng)審過(guò)程發(fā)現(xiàn)錯(cuò)誤和疏漏后,應(yīng)該反饋到前面的有關(guān)階段修正錯(cuò)誤、彌補(bǔ)疏漏,然后再重復(fù)前面的工作,直至某一階段通過(guò)評(píng)審后再進(jìn)入下一階段。這種瀑布模型是帶有反饋的瀑布模型,如圖7-6所示。圖7-6帶有反饋的瀑布模型瀑布模型在軟件工程中占有重要的地位,它提供了軟件開發(fā)的基本框架,這比依靠“個(gè)人技藝”開發(fā)軟件好得多。它有利于大型軟件開發(fā)過(guò)程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。瀑布模型的主要缺點(diǎn)是:(1)在軟件開發(fā)的初始階段指明軟件系統(tǒng)的全部需求是困難的,有時(shí)甚至是不現(xiàn)實(shí)的。而瀑布模型在需求分析階段要求客戶和系統(tǒng)分析員必須做到這一點(diǎn)才能開展后續(xù)階段的工作。(2)需求確定后,用戶和軟件項(xiàng)目負(fù)責(zé)人要等相當(dāng)長(zhǎng)的時(shí)間(經(jīng)過(guò)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行)才能得到一份軟件的最初版本。如果用戶對(duì)這個(gè)軟件提出比較大的修改意見,那么整個(gè)軟件項(xiàng)目將會(huì)蒙受巨大的人力、財(cái)力和時(shí)間方面的損失。瀑布模型的應(yīng)用有一定的局限性。7.3.2原型模型原型不是一個(gè)新概念。建筑師接到一個(gè)建筑項(xiàng)目后,他根據(jù)用戶提出的基本要求和自己對(duì)用戶、開始需求的理解,按一定比例設(shè)計(jì)并建造一個(gè)原型。用戶和建筑師以原型為基礎(chǔ)進(jìn)一步研究并確定建筑物的“需求”。當(dāng)用戶和建筑師對(duì)建筑物的“需求”取得一致理解之后,建筑師再組織對(duì)建筑物的設(shè)計(jì)和施工。針對(duì)軟件開發(fā)初期在確定軟件系統(tǒng)需求方面存在的困難,人們開始借鑒建筑師在圖7-7建造原型設(shè)計(jì)和建造原型方面的經(jīng)驗(yàn),軟件開發(fā)人員根據(jù)客戶提出的軟件定義,快速地開發(fā)一個(gè)原型,它向客戶展示了待開發(fā)軟件系統(tǒng)的全部或部分功能和性能,在征求客戶對(duì)原型意見的過(guò)程中,進(jìn)一步修改、完善、確認(rèn)軟件系統(tǒng)的需求并達(dá)到一致的理解??焖匍_發(fā)原型的途徑有三種:(1)利用個(gè)人計(jì)算機(jī)模擬軟件系統(tǒng)的人機(jī)交互界面和方式。(2)開發(fā)一個(gè)工作原型,實(shí)現(xiàn)軟件系統(tǒng)的部分功能,而這部分功能是重要的,也可能是容易產(chǎn)生誤解的。(3)找來(lái)一個(gè)或幾個(gè)正在運(yùn)行的類似軟件,利用這些軟件向客戶展示軟件需求中的部分或全部功能。為了快速開發(fā)原型,要盡量采用軟件重用技術(shù),在算法的時(shí)/空開銷方面也可以讓步,以便爭(zhēng)取時(shí)間,盡快向客戶提供原型。原型應(yīng)充分展示軟件的可見部分,如數(shù)據(jù)的輸入方式、人機(jī)交互界面、數(shù)據(jù)的輸出格式等。由于原型是客戶和軟件開發(fā)人員共同設(shè)計(jì)和評(píng)審的,因此利用原型能統(tǒng)一客戶和軟件開發(fā)人員對(duì)軟件項(xiàng)目需求的理解,有助于需求的定義和確認(rèn)。原型開發(fā)模型如圖7-7所示。利用原型定義和確認(rèn)軟件需求之后,就可以對(duì)軟件系統(tǒng)進(jìn)行設(shè)計(jì)、編碼、測(cè)試和維護(hù)。圖7-7建構(gòu)原型7.3.3
MIS模型化從現(xiàn)代的信息系統(tǒng)的觀點(diǎn)看,信息系統(tǒng)與模型是密不可分的。早期的信息系統(tǒng)只是一種單純的數(shù)據(jù)處理系統(tǒng),而今大的MIS已經(jīng)發(fā)展到集數(shù)據(jù)處理、事務(wù)管理與決策支持為一體的、新型的信息系統(tǒng)。這種新型的信息系統(tǒng)以模型為基礎(chǔ),以信息管理和輔助決策為目的。因此可見,模型在今天的信息系統(tǒng)中有著不可替代的地位。模型與信息系統(tǒng)的關(guān)系主要體現(xiàn)在宏觀與微觀兩個(gè)層面上:(1)宏觀。信息系統(tǒng)在宏觀上可以理解為一個(gè)模型,信息系統(tǒng)的建立過(guò)程就是以計(jì)算機(jī)為基礎(chǔ)的模型的建立過(guò)程。(2)微觀。信息系統(tǒng)實(shí)質(zhì)上是由一系列模型構(gòu)成的有序集合。首先,信息系統(tǒng)的開發(fā)方法就是模型在不同層次上的建立方法;其次,信息系統(tǒng)的要素包含功能模型、數(shù)據(jù)模型、控制模型和表現(xiàn)模型等。
1.處理模型化信息系統(tǒng)是數(shù)據(jù)和處理的統(tǒng)一體。信息系統(tǒng)的數(shù)據(jù)模型化是以數(shù)據(jù)庫(kù)關(guān)系理論為基礎(chǔ),而其處理模型化則依據(jù)各種信息系統(tǒng)的開發(fā)方法,其中最重要的是結(jié)構(gòu)化方法和面向?qū)ο蟮姆椒ājP(guān)于這兩種方法將在后面的章節(jié)中詳細(xì)介紹。這里,僅介紹信息系統(tǒng)的邏輯模型和物理模型。
1)邏輯模型信息系統(tǒng)的邏輯模型是信息系統(tǒng)內(nèi)部結(jié)構(gòu)的邏輯描述,并不涉及物理實(shí)現(xiàn)。信息系統(tǒng)為了達(dá)到其目標(biāo)的要求,需要從其內(nèi)部對(duì)輸入、輸出和處理過(guò)程進(jìn)行結(jié)構(gòu)性的組織,邏輯模型是這種內(nèi)部結(jié)構(gòu)關(guān)系的圖形反映。邏輯模型反映了如下3個(gè)方面的內(nèi)容:(1)為達(dá)到信息系統(tǒng)的目標(biāo)應(yīng)具有的最合理信息源、信息輸出和處理過(guò)程。(2)信息處理的輸入數(shù)據(jù)、中間信息和輸出信息與處理過(guò)程的相互關(guān)系。(3)處理過(guò)程和相應(yīng)數(shù)據(jù)的合理分類和組織。信息系統(tǒng)的邏輯模型通常用數(shù)據(jù)流圖來(lái)表達(dá)。
2)物理模型物理模型是信息系統(tǒng)的物理實(shí)現(xiàn)的描述,它是信息系統(tǒng)物理設(shè)計(jì)的產(chǎn)物。對(duì)小型的應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)設(shè)計(jì),物理設(shè)計(jì)相當(dāng)于通常所說(shuō)的詳細(xì)設(shè)計(jì);對(duì)于大型信息系統(tǒng),它強(qiáng)調(diào)的是信息系統(tǒng)的物理布局。物理模型的表達(dá)通常采用系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖、物理配置結(jié)構(gòu)圖等。應(yīng)用系統(tǒng)的物理設(shè)計(jì)主要是針對(duì)軟件系統(tǒng),事實(shí)上,對(duì)應(yīng)用系統(tǒng)(包括數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng))可在各種具備基本條件的計(jì)算機(jī)上進(jìn)行開發(fā),因而對(duì)硬件部分無(wú)需多加設(shè)計(jì)。對(duì)于大的信息系統(tǒng)配置方案而言,對(duì)硬件系統(tǒng)的設(shè)計(jì)就成為很重要的物理設(shè)計(jì)部分。應(yīng)用系統(tǒng)建模的觀點(diǎn),建立信息系統(tǒng)時(shí)采用的基本步驟是:(1)了解對(duì)象系統(tǒng),構(gòu)造物理系統(tǒng)的模型,并把物理模型轉(zhuǎn)換為邏輯模型。(2)確定需求及其變化。(3)根據(jù)對(duì)象系統(tǒng)邏輯模型和物理模型的變化,構(gòu)造新系統(tǒng)的邏輯模型。(4)根據(jù)新系統(tǒng)的邏輯模型,構(gòu)造新系統(tǒng)的物理模型。
2.數(shù)據(jù)模型化信息系統(tǒng)中的數(shù)據(jù)模型是對(duì)客觀事物及其聯(lián)系的數(shù)據(jù)描述,即實(shí)體模型的數(shù)據(jù)化。數(shù)據(jù)模型抽象地反映了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),知識(shí)表達(dá)則抽象地反映了信息系統(tǒng)中知識(shí)庫(kù)的邏輯結(jié)構(gòu)。
1)基本思想由于實(shí)體之間存在著復(fù)雜的聯(lián)系,因此描述它們的數(shù)據(jù)之間也存在復(fù)雜的聯(lián)系。這樣,數(shù)據(jù)模型就成了數(shù)據(jù)之間的一個(gè)整體邏輯結(jié)構(gòu)圖。數(shù)據(jù)模型的設(shè)計(jì)目標(biāo)是使模型能清晰、準(zhǔn)確地反映客觀事物,并能用于信息系統(tǒng)中的數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)模型的設(shè)計(jì)方法主要有關(guān)系方法、層次方法和網(wǎng)絡(luò)方法三種,它們都是在較低層次上關(guān)于數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的抽象。如果在更高層次上進(jìn)行抽象,可以發(fā)現(xiàn)數(shù)據(jù)模型和知識(shí)表達(dá)之間存在著許多共同性。從信息處理的角度看,反映客觀世界的基本要素可以概括為:(1)對(duì)象。是具有相同或類似屬性的實(shí)體集或事實(shí)集,是數(shù)據(jù)或知識(shí)處理的基本對(duì)象。(2)聯(lián)系。反映了對(duì)象之間、實(shí)體之間和屬性之間以及它們自身之間的各種關(guān)系。(3)狀態(tài)。是對(duì)象及其聯(lián)系的形態(tài)和內(nèi)容的抽象。(4)操作。施加于對(duì)象的結(jié)果將改變狀態(tài)或標(biāo)識(shí)一個(gè)對(duì)象——聯(lián)系子集。(5)推理規(guī)則。用來(lái)從已有事實(shí)及其聯(lián)系,推導(dǎo)出新的事實(shí)及其聯(lián)系。(6)公理集。完整性約束可視為公理集的一個(gè)子集。所謂數(shù)據(jù)模型或知識(shí)表達(dá),就是研究如何把上述諸要素組合在某種一致的邏輯結(jié)構(gòu)中。較高層次上的抽象數(shù)據(jù)模型稱為概念數(shù)據(jù)模型。
2)數(shù)據(jù)抽象模型數(shù)據(jù)抽象模型的基本思想是找出對(duì)象或?qū)嶓w之間的性質(zhì)繼承關(guān)系,也可把它視為某種特定形式的語(yǔ)義網(wǎng)絡(luò)或語(yǔ)義網(wǎng)絡(luò)的組成部分。
3)對(duì)象或?qū)ο竽P蛯?duì)象模型和面向?qū)ο蟮某绦蛟O(shè)計(jì)風(fēng)格協(xié)調(diào)一致,其基本思想也和框架知識(shí)表達(dá)一致。它具有以下主要特點(diǎn):(1)自含描述。即關(guān)于對(duì)象的解釋性信息和對(duì)象本身存儲(chǔ)在一起。(2)強(qiáng)類型化。即只有定義于對(duì)象的操作能夠用于本對(duì)象。(3)信息隱藏。即編程時(shí)只需了解如何利用一個(gè)對(duì)象,而不管該對(duì)象內(nèi)部是怎樣處理信息的。
4)實(shí)體—關(guān)系模型實(shí)體—關(guān)系模型(EntityRelationModel,ER)的基本思想是把客觀世界看成由多個(gè)實(shí)體及其語(yǔ)義關(guān)系所組成。每個(gè)實(shí)體則是一個(gè)包含一個(gè)或多個(gè)函數(shù)依賴屬性的集合。例如,對(duì)一個(gè)運(yùn)輸部門來(lái)說(shuō),職工、車輛、進(jìn)貨、發(fā)貨、倉(cāng)庫(kù)等都是實(shí)體的例子,姓名、性別、工種、出生年月等則是職工的屬性。7.4結(jié)構(gòu)化分析方法結(jié)構(gòu)化開發(fā)方法(簡(jiǎn)稱結(jié)構(gòu)化方法),是一種仿效工程設(shè)計(jì)的系統(tǒng)開發(fā)方法,它是信息系統(tǒng)開發(fā)設(shè)計(jì)的一種重要方法。所謂結(jié)構(gòu)化方法是指“嚴(yán)格地、可重復(fù)地、可度量地按照一組標(biāo)準(zhǔn)的準(zhǔn)則、規(guī)定與工具進(jìn)行系統(tǒng)開發(fā)”,它一般采用了瀑布模型,由結(jié)構(gòu)化分析(SA)、結(jié)構(gòu)化設(shè)計(jì)(SD)、結(jié)構(gòu)化程序設(shè)計(jì)(SP)等組成。結(jié)構(gòu)化方法采用“自頂而下系統(tǒng)分析設(shè)計(jì),自下而上的系統(tǒng)實(shí)施,逐步求精,分而治之”的原則,用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的過(guò)程組織設(shè)計(jì)人員的思維活動(dòng)。所以結(jié)構(gòu)化方法具有以下優(yōu)點(diǎn):(1)采用功能(模塊)分解解決系統(tǒng)的復(fù)雜性,分解的功能(模塊)相對(duì)獨(dú)立而簡(jiǎn)單,易于實(shí)現(xiàn),易于測(cè)試,獲得穩(wěn)定可靠的程序模塊,同時(shí),允許由多個(gè)程序設(shè)計(jì)小組編寫模塊,分工合作,構(gòu)造規(guī)模較大的復(fù)雜系統(tǒng);(2)結(jié)構(gòu)化方法產(chǎn)生的系統(tǒng)具有較好的可維護(hù)性,模塊間的連接和依賴(耦合程度)達(dá)到最小,從而減少維護(hù)上的波浪效應(yīng);(3)結(jié)構(gòu)化設(shè)計(jì)產(chǎn)生的模塊具有較好的可重用性,從而提高軟件系統(tǒng)的開發(fā)效率。結(jié)構(gòu)化方法的目標(biāo)是幫助開發(fā)人員處理規(guī)模較大的復(fù)雜任務(wù),設(shè)計(jì)一個(gè)具有靈活性和可維護(hù)性的系統(tǒng)。7.4.1系統(tǒng)分析當(dāng)一個(gè)軟件項(xiàng)目被認(rèn)同,可進(jìn)一步開展研究時(shí),下一步就是回答“信息系統(tǒng)應(yīng)該怎么樣去解決問(wèn)題?”這就是系統(tǒng)分析要完成的工作。
1.系統(tǒng)分析的任務(wù)系統(tǒng)分析也稱為邏輯設(shè)計(jì),是系統(tǒng)開發(fā)生命周期的一個(gè)重要階段。那么,為什么要進(jìn)行系統(tǒng)分析,而不是直接用編程工具去編寫程序呢?有的人甚至認(rèn)為,“只需熟練掌握幾門計(jì)算機(jī)語(yǔ)言,就可以開發(fā)出高質(zhì)量的計(jì)算機(jī)信息系統(tǒng)”。事實(shí)上,程序設(shè)計(jì)只不過(guò)是計(jì)算機(jī)信息系統(tǒng)開發(fā)過(guò)程中的一小部分工作(約占時(shí)間和費(fèi)用的20%左右,甚至更少?。?。大量實(shí)踐經(jīng)驗(yàn)表明,如果沒(méi)有搞清楚系統(tǒng)做什么(Whattodo?),就直接考慮如何去做(Howtodo?),所開發(fā)的信息系統(tǒng)肯定是要失敗的。也就是說(shuō),一個(gè)計(jì)算機(jī)信息系統(tǒng)開發(fā)成功的關(guān)鍵在于對(duì)問(wèn)題的理解和描述是否準(zhǔn)確。而獲得問(wèn)題清楚地陳述,解決“做什么”的問(wèn)題正是系統(tǒng)分析的基本任務(wù)。計(jì)算機(jī)信息系統(tǒng)開發(fā)首先要解決的是如何理解、抽象和描述問(wèn)題。系統(tǒng)分析的主要任務(wù)包括可行性研究和需求分析。可行性研究是從經(jīng)濟(jì)、技術(shù)和其他幾個(gè)方面的因素考察所開發(fā)的系統(tǒng)是否可行。需求分析是信息系統(tǒng)開發(fā)非常重要的一個(gè)工作,是整個(gè)系統(tǒng)開發(fā)的基礎(chǔ)。需求是指用戶要求軟件系統(tǒng)必須滿足的所有功能和限制。需求包括:功能要求、性能要求、可靠性要求、安全保密性要求以及開發(fā)費(fèi)用和開發(fā)周期、可使用資源等方面的限制。其中功能需求是最基本的,包括數(shù)據(jù)要求和加工要求。大量實(shí)踐表明,信息系統(tǒng)產(chǎn)生的許多錯(cuò)誤都是由于需求定義不準(zhǔn)確或錯(cuò)誤導(dǎo)致的,而且,如果在需求定義階段發(fā)生錯(cuò)誤,則修改這些錯(cuò)誤的代價(jià)是非常高的。因此,系統(tǒng)開發(fā)中需求定義是系統(tǒng)成功的關(guān)鍵一步,必須引起足夠的重視,并且應(yīng)提供保障需求定義質(zhì)量的技術(shù)手段。
2.可行性研究可行性研究是系統(tǒng)分析中的一個(gè)重要的、可選的活動(dòng),“可選”意味著有些信息系統(tǒng)的可行性是需經(jīng)過(guò)論證的?!翱尚械摹奔纯勺龅囊馑???尚行允菍?duì)一個(gè)信息系統(tǒng)給業(yè)務(wù)系統(tǒng)所帶來(lái)的利益的一種度量。一個(gè)信息系統(tǒng)的開發(fā)是可行的,意思是說(shuō)在一定的條件下,可以開發(fā)、建立一個(gè)新的信息系統(tǒng)。通常,對(duì)于信息系統(tǒng)來(lái)說(shuō),其可行性可以從以下五個(gè)方面來(lái)考慮:經(jīng)濟(jì)可行性;運(yùn)行可行性;技術(shù)可行性;進(jìn)程可行性;人員可行性。(1)經(jīng)濟(jì)可行性。經(jīng)濟(jì)可行性是評(píng)價(jià)一個(gè)計(jì)算機(jī)信息系統(tǒng)是否可行的最基本、最常用的一種方法,是對(duì)信息系統(tǒng)解決方案的成本有效性的度量,主要是從組織的資源即人力、物力、財(cái)力來(lái)考察系統(tǒng)開發(fā)的可行性。信息系統(tǒng)的開發(fā)是一種投資,因此,對(duì)于系統(tǒng)的用戶來(lái)說(shuō),是否值得開發(fā)一個(gè)新的信息系統(tǒng)是首先要考慮的。即系統(tǒng)投入運(yùn)行后所獲得的收益是否大于開發(fā)以及運(yùn)行這個(gè)系統(tǒng)的費(fèi)用或成本。如果收益大于成本,則說(shuō)明這個(gè)信息系統(tǒng)的開發(fā)從經(jīng)濟(jì)的角度來(lái)講是可行的;反之,則是不可行的。因此,經(jīng)濟(jì)可行性對(duì)于信息系統(tǒng)來(lái)講是最重要的一項(xiàng)指標(biāo)。(2)運(yùn)行可行性。運(yùn)行(操作)可行性是指一個(gè)計(jì)算機(jī)信息系統(tǒng)在特定的環(huán)境中能否正常運(yùn)行,以滿足組織的各種業(yè)務(wù)信息需求。這是從用戶的角度來(lái)考慮,當(dāng)系統(tǒng)實(shí)施后,能否有效地處理相關(guān)的日常事務(wù),在系統(tǒng)實(shí)施時(shí)是否會(huì)遇到大的阻礙。(3)技術(shù)可行性。技術(shù)可行性是指根據(jù)現(xiàn)有條件,是否具備開發(fā)一個(gè)新系統(tǒng)所需要的技術(shù)條件,主要是支持系統(tǒng)的硬件和軟件能力,以及從事這些工作的技術(shù)人員的數(shù)量和技術(shù)水平。
計(jì)算機(jī)硬件方面是指各種外圍設(shè)備、通信設(shè)備、計(jì)算機(jī)設(shè)備的性能(如速度、容量等)能否滿足系統(tǒng)開發(fā)的要求,設(shè)備的使用、維護(hù)是否具備條件。計(jì)算機(jī)軟件方面是指各種軟件的功能能否滿足系統(tǒng)開發(fā)的要求,軟件系統(tǒng)是否安全可靠,本單位對(duì)使用、掌握這些軟件技術(shù)的可行性。暫時(shí)不能被本單位開發(fā)人員掌握的技術(shù),一般應(yīng)視為沒(méi)有可行性的技術(shù)。技術(shù)人員方面是指有多少科技人員,技術(shù)力量和開發(fā)能力能否勝任開發(fā),是否需要同其他單位合作開發(fā)等等。(4)進(jìn)程可行性。進(jìn)程可行性是指所開發(fā)的計(jì)算機(jī)信息系統(tǒng)能否在規(guī)定的時(shí)間內(nèi)完成。這說(shuō)明系統(tǒng)分析員要具備比較深的計(jì)算機(jī)方面的知識(shí),尤其是具備程序設(shè)計(jì)、系統(tǒng)設(shè)計(jì)和實(shí)施中與計(jì)算機(jī)有關(guān)的知識(shí)。如果系統(tǒng)分析員比較熟悉程序設(shè)計(jì)過(guò)程,他至少能對(duì)開發(fā)某種軟件所需要的時(shí)間有一個(gè)粗略的估計(jì)。另一方面,具備計(jì)算機(jī)方面知識(shí)的系統(tǒng)分析員可以發(fā)現(xiàn)修改現(xiàn)有軟件的方法,可以通過(guò)使用現(xiàn)有的軟件,發(fā)現(xiàn)存在的問(wèn)題改進(jìn)或開發(fā)新的信息系統(tǒng),從而節(jié)約了費(fèi)用又節(jié)省了時(shí)間。同時(shí),也說(shuō)明了一個(gè)非常重要的問(wèn)題,即可行性的各個(gè)方面是相互影響的,如技術(shù)可行性可能會(huì)影響到進(jìn)程可行性。因此在評(píng)估可行性時(shí),必須對(duì)這些方面的因素綜合考慮,并加以權(quán)衡。(5)人員可行性。一個(gè)新計(jì)算機(jī)信息系統(tǒng)的實(shí)施必然會(huì)引起某些方面的變化,如業(yè)務(wù)工作流程的改變,陳舊規(guī)章的改變等等。而從人的本性來(lái)說(shuō),通常對(duì)變化總是持抵觸的情緒,尤其一些改變可能涉及個(gè)人利益時(shí),會(huì)對(duì)新系統(tǒng)的實(shí)施產(chǎn)生一系列不利的影響,嚴(yán)重的甚至可能使整個(gè)系統(tǒng)不能正常運(yùn)行。因此,在進(jìn)行可行性研究時(shí)必須考慮到人員方面的可行性,即評(píng)估人員的抵觸情緒對(duì)計(jì)算機(jī)信息系統(tǒng)的妨礙程度??尚行匝芯康淖詈蠼Y(jié)果是形成一份可行性報(bào)告。書寫可行性報(bào)告的內(nèi)容包括,說(shuō)明軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在經(jīng)濟(jì)上、技術(shù)上和時(shí)間上等方面的可行性,并從以下三個(gè)方案中向用戶或有關(guān)部門推薦一種:終止系統(tǒng)開發(fā),在現(xiàn)有系統(tǒng)上改進(jìn),開發(fā)新系統(tǒng)。在報(bào)告中還要論證、評(píng)述開發(fā)目標(biāo)可選擇的方案。如果推薦繼續(xù)開發(fā),則應(yīng)說(shuō)明項(xiàng)目的進(jìn)程和優(yōu)先級(jí)。
3.需求分析需求定義策略分為:嚴(yán)格定義策略和原型化定義策略。當(dāng)需求采用嚴(yán)格定義策略時(shí),要求組織一個(gè)定義小組,該小組的任務(wù)是試圖在系統(tǒng)開發(fā)前完全、徹底地預(yù)先指出系統(tǒng)的合理需求,并期待用戶評(píng)審認(rèn)可。從理論上講,對(duì)需求進(jìn)行嚴(yán)格定義是必須的也是正確的,但實(shí)際上,用戶本身對(duì)需求的認(rèn)識(shí)也常常是很模糊的,甚至有的用戶根本不了解什么是“需求”。用戶需求也隨著環(huán)境和系統(tǒng)使用而發(fā)生變化,所以需要一種靈活方式處理不完備的需求,不能一味追求事先嚴(yán)格定義。嚴(yán)格需求定義策略具有風(fēng)險(xiǎn)性,需求的錯(cuò)誤或不完善是災(zāi)難性的問(wèn)題,可能導(dǎo)致系統(tǒng)推翻重新設(shè)計(jì),所以在系統(tǒng)開發(fā)生命周期中,錯(cuò)誤發(fā)現(xiàn)地越晚,帶來(lái)的影響越嚴(yán)重,造成人力、財(cái)力、時(shí)間的浪費(fèi)越大。原型化需求定義策略為預(yù)先定義提供一種選擇和補(bǔ)充,如上章中指出,原型化方法是一種交互式、動(dòng)態(tài)地完善確定需求的策略。原型作為對(duì)現(xiàn)實(shí)的一個(gè)近似解答,通過(guò)逐步完善使系統(tǒng)生命周期所需費(fèi)用,實(shí)現(xiàn)的進(jìn)度以及項(xiàng)目的風(fēng)險(xiǎn)達(dá)到較為滿意的程度。為了獲得問(wèn)題的清楚陳述,系統(tǒng)分析員必須與用戶溝通。在結(jié)構(gòu)化方法中采用分析工具的目的是為了便于與用戶溝通,清楚地解釋系統(tǒng)分析的基本任務(wù)。結(jié)構(gòu)化系統(tǒng)分析是一種面向過(guò)程(功能)的方法,采用的主要工具是描述系統(tǒng)處理過(guò)程的數(shù)據(jù)流程圖(DFD);現(xiàn)代結(jié)構(gòu)化信息建模分析強(qiáng)調(diào)系統(tǒng)的數(shù)據(jù)特征,采用另一種重要數(shù)據(jù)建模工具,如實(shí)體關(guān)系圖(E-R)。7.4.2系統(tǒng)分析的工具結(jié)構(gòu)化分析方法在描述系統(tǒng)時(shí),采用了一系列工具,主要有數(shù)據(jù)流圖、數(shù)據(jù)字典、處理邏輯的表達(dá)方法。
1.數(shù)據(jù)流圖分析一個(gè)系統(tǒng)的功能時(shí),常采用數(shù)據(jù)流圖(DataFlowDiagram,DFD),用圖說(shuō)明系統(tǒng)由哪些處理部分組成,以及各處理部分之間的聯(lián)系,數(shù)據(jù)來(lái)源及去向。它描述了一個(gè)系統(tǒng)與具體實(shí)現(xiàn)無(wú)關(guān)的整體框架,是理解和表達(dá)系統(tǒng)的關(guān)鍵工具。它將數(shù)據(jù)獨(dú)立從數(shù)據(jù)流程中抽象出來(lái),通過(guò)圖形方式描述信息的來(lái)龍去脈和實(shí)際流程。DFD描述了系統(tǒng)的本質(zhì),數(shù)據(jù)內(nèi)容及處理功能,但并不關(guān)心功能如何實(shí)現(xiàn),所以稱為邏輯模型或概念模型。
1)數(shù)據(jù)流圖的基本成分?jǐn)?shù)據(jù)流圖一般由以下四種基本符號(hào)組成,即外部實(shí)體、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理過(guò)程。(1)外部實(shí)體。外部實(shí)體是指不受系統(tǒng)控制而又與系統(tǒng)有聯(lián)系的系統(tǒng)外的人或事物,如顧客、職工、學(xué)生等。它表達(dá)了系統(tǒng)數(shù)據(jù)的外部來(lái)源和去處,也可以是另外一個(gè)信息系統(tǒng)。數(shù)據(jù)存儲(chǔ)表示方法如圖7-8所示。圖7-8外部實(shí)體(2)處理邏輯。處理邏輯又稱過(guò)程,指對(duì)數(shù)據(jù)的邏輯處理功能,即由輸入的數(shù)據(jù)產(chǎn)生輸出數(shù)據(jù)所要執(zhí)行的處理工作,是DFD的一個(gè)主要環(huán)節(jié)。其表示方法如圖7-9所示,所以,處理邏輯又稱為泡泡,DFD圖又稱為泡泡圖。由兩部分組成:標(biāo)識(shí)部分用來(lái)標(biāo)別一個(gè)功能,一般用字符串表示,如P1、P2等;功能描述部分直接表達(dá)這個(gè)處理的邏輯功能,一般用一個(gè)動(dòng)賓短語(yǔ)表示。圖7-9處理邏輯
(3)數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)保存的地方,如文件或數(shù)據(jù)庫(kù),但這只是一個(gè)邏輯表而非物理地址。數(shù)據(jù)存儲(chǔ)表示方法如圖7-10所示。(4)數(shù)據(jù)流。數(shù)據(jù)流是指處理功能的數(shù)據(jù)輸入或輸出,用一條短線加一個(gè)箭頭組成。它可由外部項(xiàng)產(chǎn)生,也可來(lái)自某一數(shù)據(jù)存儲(chǔ),也可由處理邏輯產(chǎn)生。其表示方法如圖7-11所示。圖7-10數(shù)據(jù)存儲(chǔ)圖7-11數(shù)據(jù)流
2)數(shù)據(jù)流圖的畫法系統(tǒng)分析的根本目的是組織信息合理的流動(dòng)、處理、存儲(chǔ)。畫數(shù)據(jù)流圖的基本思想是把系統(tǒng)看成一個(gè)整體功能,首先畫出0層或頂層的DFD圖,明確系統(tǒng)的總體功能,編輯和信息的輸入/輸出。系統(tǒng)為了實(shí)現(xiàn)這個(gè)總體功能,0層泡泡內(nèi)部必然有信息的處理、傳遞、存儲(chǔ),可以進(jìn)一步分解為1層DFD圖。這些處理泡泡又可以看成整體功能的子系統(tǒng),其內(nèi)部又有信息的處理、傳遞、存儲(chǔ),導(dǎo)出下一層DFD圖。如此一級(jí)一級(jí)地剖析,直到很具體的處理步驟時(shí)為止。下面以高等學(xué)校學(xué)籍管理系統(tǒng)為例,說(shuō)明畫數(shù)據(jù)流圖的方法。學(xué)籍管理是一項(xiàng)十分嚴(yán)肅而復(fù)雜的工作。它要記錄學(xué)生從入學(xué)到離校整個(gè)在校期間的情況,學(xué)生畢業(yè)時(shí)把學(xué)生的情況提供給用人單位。學(xué)校還要向上級(jí)主管部門報(bào)告學(xué)籍的變動(dòng)情況。首先,我們把整個(gè)系統(tǒng)看成一個(gè)功能。它的輸入是新生入學(xué)時(shí),從省、市招生辦公室轉(zhuǎn)來(lái)的新生名單和檔案,輸出是學(xué)生離校時(shí)給用人單位的畢業(yè)生檔案和定期給主管部門的統(tǒng)計(jì)報(bào)表,如圖7-12所示?!皩W(xué)籍表”中記載學(xué)生的基本情況、學(xué)籍變動(dòng)情況、各學(xué)期各門課程的學(xué)習(xí)成績(jī)、在校期間的獎(jiǎng)懲記錄等。圖7-12學(xué)籍管理系統(tǒng)頂層DFD圖7-12概括描述了系統(tǒng)的輪廓、范圍,標(biāo)出了最主要的外部實(shí)體和數(shù)據(jù)流。還有一些外部實(shí)體、數(shù)據(jù)流并沒(méi)有畫出來(lái),而是隨著數(shù)據(jù)流圖的展開才逐漸露出面孔。這樣做的好處是突出主要矛盾,使系統(tǒng)輪廓更清晰。頂層泡泡是進(jìn)一步分析的出發(fā)點(diǎn)。學(xué)籍管理包括學(xué)生學(xué)習(xí)成績(jī)管理、學(xué)生獎(jiǎng)懲管理、學(xué)生異動(dòng)管理三部分,因此,可以展開為圖7-13。
虛線框是頂層處理泡泡的放大和功能細(xì)分,圖7-12的各個(gè)數(shù)據(jù)流都必須反映在圖7-13上。此外還有新增的數(shù)據(jù)流和外部實(shí)體。虛線框外為新增的數(shù)據(jù)流,在進(jìn)入或流出虛線框時(shí)用“×”標(biāo)記。數(shù)據(jù)存儲(chǔ)“學(xué)籍表”是圖7-12中原有的,可畫在虛線框外,或一半在內(nèi),一半在外。在圖7-13中,與學(xué)籍表有關(guān)的數(shù)據(jù)流更具體了。圖7-13學(xué)籍管理系統(tǒng)的第一層DFD下面以“成績(jī)管理”子系統(tǒng)為例,說(shuō)明進(jìn)一步逐層分解的思路。某校現(xiàn)在實(shí)行校、系兩級(jí)管理學(xué)習(xí)成績(jī)。任課教師把學(xué)生成績(jī)單送系教務(wù)員,系教務(wù)員根據(jù)成績(jī)單登錄學(xué)籍表,在學(xué)期結(jié)束時(shí),給學(xué)生發(fā)成績(jī)通知;在學(xué)年末,根據(jù)學(xué)籍管理?xiàng)l例確定每個(gè)學(xué)生升級(jí)、補(bǔ)考、留級(jí)、退學(xué)的情況,統(tǒng)計(jì)各年級(jí)各科成績(jī)分布,并報(bào)主管領(lǐng)導(dǎo)。這樣,“成績(jī)管理”處理泡泡擴(kuò)展成圖7-14,圖7-14中的“成績(jī)分析”再進(jìn)一步擴(kuò)展為圖7-15。圖7-14P2“成績(jī)管理”的展開圖7-15
P2.3“成績(jī)分析”的展開
3)畫數(shù)據(jù)流圖的注意事項(xiàng)在系統(tǒng)分析中,數(shù)據(jù)流圖是系統(tǒng)分析員與用戶交流思想的工具。這種圖用的符號(hào)少,通俗易懂。實(shí)踐證明,只要對(duì)用戶稍做解釋,用戶就能看明白。同時(shí),這種圖層次性強(qiáng),適合對(duì)不同管理層次的業(yè)務(wù)人員進(jìn)行業(yè)務(wù)調(diào)查。在調(diào)查過(guò)程中,隨手就可記錄有關(guān)情況,隨時(shí)可與業(yè)務(wù)人員討論,使不足的地方得到補(bǔ)充,有出入的地方得到糾正。在草圖的基礎(chǔ)上,系統(tǒng)分析員應(yīng)對(duì)數(shù)據(jù)流圖的分解、布局做適當(dāng)調(diào)整,畫出正式圖,使之更清晰,可讀性更好。(1)關(guān)于層次的劃分。從前面的例子,我們看到系統(tǒng)分析中得到一系列分層的數(shù)據(jù)流圖。最上層的數(shù)據(jù)流圖相當(dāng)概括地反映出信息系統(tǒng)最主要的邏輯功能、外部實(shí)體和數(shù)據(jù)存儲(chǔ)。這張圖應(yīng)該使人一目了然,立即有個(gè)深刻印象,知道這個(gè)系統(tǒng)的主要功能與環(huán)境的主要聯(lián)系是什么。逐層擴(kuò)展數(shù)據(jù)流圖是對(duì)上一層圖(父圖)中某些處理泡泡加以分解。隨著處理的分解,功能越來(lái)越具體,數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)流越來(lái)越多。必須注意,下層圖(子圖)是上層圖中某個(gè)處理泡泡的“放大”。因此,凡是與這個(gè)處理泡泡有關(guān)系的外部實(shí)體、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)必須在下層圖中反映出來(lái)。子圖上用虛線長(zhǎng)方框表示所放大的處理泡泡,屬于這個(gè)處理內(nèi)部用到的數(shù)據(jù)存儲(chǔ)畫在虛線框內(nèi)。逐層擴(kuò)展的目的是把一個(gè)復(fù)雜的功能逐步分解為若干較為簡(jiǎn)單的功能。逐層擴(kuò)展不是肢解和蠶食,使系統(tǒng)失去原來(lái)的面貌,而應(yīng)保持系統(tǒng)的完整性和一致性。究竟怎樣劃分層次,劃分到什么程度,沒(méi)有絕對(duì)的標(biāo)準(zhǔn),但一般認(rèn)為:①展開的層次與管理層次一致,也可以劃分得更細(xì)。處理泡泡的分解要自然,注意功能的完整性。②一個(gè)處理泡泡經(jīng)過(guò)展開,一般以分解為4~10個(gè)處理泡泡為宜,多了會(huì)顯得太過(guò)復(fù)雜。③最下層泡泡的處理過(guò)程用幾句話,或者用一張判定表,或一張簡(jiǎn)單的HIPO圖能表達(dá)清楚。其工作量一個(gè)人能承擔(dān),若是計(jì)算機(jī)處理,一般不超過(guò)100條程序語(yǔ)句。(2)檢查數(shù)據(jù)流圖的正確性。對(duì)一個(gè)系統(tǒng)的理解,不可能一開始就完美無(wú)缺。開始分析一個(gè)系統(tǒng)時(shí),盡管我們對(duì)問(wèn)題的理解有不正確、不確切的地方,但還是應(yīng)該根據(jù)我們的理解用數(shù)據(jù)流圖表達(dá)出來(lái),進(jìn)行核對(duì),逐步修改,獲得較為完美的圖紙。通常可以從以下幾個(gè)方面檢查數(shù)據(jù)流圖的正確性:
DFD圖的構(gòu)建與業(yè)務(wù)流程圖不同,DFD圖與時(shí)序無(wú)關(guān),只是指出無(wú)論如何實(shí)現(xiàn)都必須執(zhí)行的任務(wù)或操作,及數(shù)據(jù)來(lái)源和結(jié)果輸出。在構(gòu)造DFD圖時(shí)應(yīng)避免下列錯(cuò)誤:①關(guān)于處理泡泡。有三種可能發(fā)生的錯(cuò)誤情況,一種是只有輸入沒(méi)有輸出的處理泡泡,稱黑洞,即毫無(wú)意義的處理。值得再研究為什么會(huì)產(chǎn)生這種情況,是否可以簡(jiǎn)化。第二種是只有輸出沒(méi)有輸入的處理泡泡,這違反了數(shù)據(jù)處理的守恒原則,數(shù)據(jù)不能無(wú)中生有。第三種是所有的輸入數(shù)據(jù)不足以產(chǎn)生輸出結(jié)果的處理泡泡,稱灰洞或稱為輸入數(shù)據(jù)與輸出數(shù)據(jù)不匹配。即沒(méi)有足夠的數(shù)據(jù)輸入給這個(gè)處理過(guò)程,以產(chǎn)生所要求輸出的數(shù)據(jù),這肯定是遺漏了某些輸入數(shù)據(jù)流。②關(guān)于數(shù)據(jù)存儲(chǔ)。一套數(shù)據(jù)流圖中的任何一個(gè)數(shù)據(jù)存儲(chǔ),必定有寫入的數(shù)據(jù)流和讀出的數(shù)據(jù)流,缺少任何一種都意味著遺漏某些加工。畫數(shù)據(jù)流圖時(shí),應(yīng)注意處理泡泡與數(shù)據(jù)存儲(chǔ)之間數(shù)據(jù)流的方向。一個(gè)處理過(guò)程要讀文件,數(shù)據(jù)流的箭頭應(yīng)該指向處理泡泡,若是寫文件則箭頭指向數(shù)據(jù)存儲(chǔ)。修改文件要先讀后寫,由于DFD圖不能表達(dá)時(shí)序關(guān)系,因此可用雙箭頭表示。除查詢以外,一般的處理泡泡總有數(shù)據(jù)存儲(chǔ)的寫入流,以保存處理結(jié)果。③關(guān)于數(shù)據(jù)流。任何一個(gè)數(shù)據(jù)流至少有一端是處理泡泡。換言之,數(shù)據(jù)流不能從外部實(shí)體直接到數(shù)據(jù)存儲(chǔ),也不能從數(shù)據(jù)存儲(chǔ)直接到外部實(shí)體,更不能在外部實(shí)體之間或數(shù)據(jù)存儲(chǔ)之間流動(dòng)。初學(xué)者往往容易違反這一規(guī)定,常常在數(shù)據(jù)存儲(chǔ)與外部實(shí)體之間畫數(shù)據(jù)流。其實(shí),記住數(shù)據(jù)流是指處理的輸入與輸出,就不會(huì)出現(xiàn)這類錯(cuò)誤。④父圖中某一處理泡泡的輸入、輸出數(shù)據(jù)流必須反映在相應(yīng)的子圖中,否則就會(huì)出現(xiàn)父圖與子圖的不匹配。這是一種比較常見的錯(cuò)誤,應(yīng)特別注意檢查父圖與子圖的匹配問(wèn)題,尤其是對(duì)子圖進(jìn)行某些修改之后,而不匹配的分層使人無(wú)法理解。父圖的某個(gè)處理泡泡擴(kuò)展時(shí),在子圖中用虛線框表示,有利于這種檢查父圖與子圖的關(guān)系。類似于全國(guó)地圖與分省地圖的關(guān)系,在全國(guó)地圖上標(biāo)出主要的鐵路、河流,分省地圖則更詳細(xì),除全國(guó)地圖上與該省相關(guān)的鐵路、河流之外,還有一些次要的鐵路、公路、河流等。
2.數(shù)據(jù)字典數(shù)據(jù)流圖描述了系統(tǒng)的功能分解,即描述了從功能考慮系統(tǒng)由哪幾部分組成,各部分之間的聯(lián)系等,但還沒(méi)有說(shuō)明系統(tǒng)中各個(gè)成分是什么含義。例如,在我們前面的例子中,“數(shù)據(jù)存儲(chǔ)—學(xué)籍表”包括哪些內(nèi)容,數(shù)據(jù)流圖表達(dá)不夠具體、準(zhǔn)確。又如圖7-15中處理泡泡P2.3.3“判定留級(jí)或退學(xué)”,如何決定,圖上也看不出來(lái)。只有當(dāng)數(shù)據(jù)流圖中出現(xiàn)的每一個(gè)成分都給出定義之后,才能完整、準(zhǔn)確地描述一個(gè)系統(tǒng)。對(duì)數(shù)據(jù)進(jìn)行定義還避免了信息的多重含義的產(chǎn)生,即維護(hù)數(shù)據(jù)的一致性。為此,還需要其他工具對(duì)數(shù)據(jù)流圖加以補(bǔ)充說(shuō)明。數(shù)據(jù)字典就是這樣的工具之一。系統(tǒng)分析中所使用的數(shù)據(jù)字典,主要用來(lái)描述數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過(guò)程和外部實(shí)體。數(shù)據(jù)字典把數(shù)據(jù)的最小組成單位看成是數(shù)據(jù)元素(基本數(shù)據(jù)項(xiàng)),若干個(gè)數(shù)據(jù)元素可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)(組合數(shù)據(jù)項(xiàng))。數(shù)據(jù)結(jié)構(gòu)是一個(gè)遞歸概念,即數(shù)據(jù)結(jié)構(gòu)的成分也可以是數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過(guò)數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)來(lái)描寫數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的屬性。數(shù)據(jù)元素組成數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)組成數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)。建立數(shù)據(jù)字典的工作量很大,相當(dāng)繁瑣,但這是一項(xiàng)有重要意義的工作,不僅在系統(tǒng)分析階段、而且在整個(gè)研制過(guò)程中以及今后系統(tǒng)運(yùn)行中都要使用它。數(shù)據(jù)字典可以用人工方式建立。事先印好表格,填好后按一定順序排列,就是一本字典。也可以建立在計(jì)算機(jī)內(nèi),數(shù)據(jù)字典實(shí)際上是關(guān)于數(shù)據(jù)的詳細(xì)描述的數(shù)據(jù)庫(kù),方便系統(tǒng)分析員、程序設(shè)計(jì)人員使用、維護(hù)。數(shù)據(jù)字典中有6類條目:數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、教據(jù)流、數(shù)據(jù)存儲(chǔ)、外部實(shí)體、處理邏輯。不同類型的條目有不同的屬性需要描述,現(xiàn)分別說(shuō)明如下:
1)數(shù)據(jù)元素?cái)?shù)據(jù)元素是最小的數(shù)據(jù)組成單位,也就是不可再分的數(shù)據(jù)單位,如學(xué)號(hào)、姓名等。對(duì)每個(gè)數(shù)據(jù)元素,需要描述以下屬性:(1)名稱。數(shù)據(jù)元素的名稱要盡量反映該元素的含義,便于理解和記憶。(2)別名。一個(gè)數(shù)據(jù)元素可能名稱不止一個(gè)。若有多個(gè)名稱,則需加以說(shuō)明。(3)類型。說(shuō)明取值是字符型還是數(shù)字型等。(4)取值范圍和取值的含義。指數(shù)據(jù)元素可能取什么值或每一個(gè)值代表的意思。(5)長(zhǎng)度。指出該數(shù)據(jù)元素由幾個(gè)數(shù)字或字母組成。如學(xué)號(hào),按某?,F(xiàn)在的編法由10個(gè)數(shù)字組成,其長(zhǎng)度就是10個(gè)字節(jié)。除以上內(nèi)容外,數(shù)據(jù)元素的條目還包括對(duì)該元素的簡(jiǎn)要說(shuō)明,與它有關(guān)的數(shù)據(jù)結(jié)構(gòu)等。
2)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的描述重點(diǎn)是數(shù)據(jù)之間的組合關(guān)系,即說(shuō)明這個(gè)數(shù)據(jù)結(jié)構(gòu)包括哪些成分。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以包括若干個(gè)數(shù)據(jù)元素或(和)數(shù)據(jù)結(jié)構(gòu)。這些成分中有三種特殊情況:(1)任選項(xiàng)。這是可以出現(xiàn),也可以省略的項(xiàng),用“〔〕”表示,如例中的(曾用名)是任選項(xiàng),可以有,也可以沒(méi)有。(2)必選項(xiàng)。在兩個(gè)或多個(gè)數(shù)據(jù)項(xiàng)中,必須出現(xiàn)其中的一個(gè)稱為必選項(xiàng)。例如,任何一門課程是必修課或選修課,二者必居其一。必選項(xiàng)的表示辦法,是將候選的多個(gè)數(shù)據(jù)項(xiàng)用“{}”括起來(lái)。(3)重復(fù)項(xiàng)。即可以多次出現(xiàn)的數(shù)據(jù)項(xiàng)。例如一張訂單可訂多種零件,每種零件有品名、規(guī)格、數(shù)量,這些屬性用“零件細(xì)節(jié)”表示。在定單中,“零件細(xì)節(jié)”可重復(fù)多次。
3)數(shù)據(jù)流關(guān)于數(shù)據(jù)流,在數(shù)據(jù)字典中描述以下屬性:(1)數(shù)據(jù)流的來(lái)源。數(shù)據(jù)流可以來(lái)自某個(gè)外部實(shí)體、數(shù)據(jù)存儲(chǔ)或某個(gè)處理。(2)數(shù)據(jù)流的去處。某些數(shù)據(jù)流的去向可能不止一個(gè),每個(gè)去處都要說(shuō)明。(3)數(shù)據(jù)流的組成。指數(shù)據(jù)流所包含的數(shù)據(jù)結(jié)構(gòu)。一個(gè)數(shù)據(jù)流可包含一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。(4)數(shù)據(jù)流的流通量。指單位時(shí)間里的傳輸次數(shù)??梢怨烙?jì)平均數(shù)或最高、最低流量各是多少。(5)高峰時(shí)的流通量。
4)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)的條目,主要描寫該數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)及有關(guān)的數(shù)據(jù)流、查詢要求等。有些數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)可能很復(fù)雜,如“學(xué)籍表”,包括學(xué)生的基本情況、學(xué)生動(dòng)態(tài)、獎(jiǎng)懲記錄、學(xué)習(xí)成績(jī)、畢業(yè)論文成績(jī)等,其中每一項(xiàng)又是數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)有各自的條目分別加以說(shuō)明,因此在“學(xué)籍表”的條目中只需列出這些數(shù)據(jù)結(jié)構(gòu),而不要列出這些數(shù)據(jù)結(jié)構(gòu)的內(nèi)部構(gòu)成。數(shù)據(jù)流圖是分層的,下層圖是上層圖的具體化。同一個(gè)數(shù)據(jù)存儲(chǔ)可能在不同層次的圖中出現(xiàn)。描述這樣的數(shù)據(jù)存儲(chǔ),應(yīng)列出最低層圖中的數(shù)據(jù)流。
5)處理邏輯關(guān)于數(shù)據(jù)流圖中的處理泡泡,需要在數(shù)據(jù)字典
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025山東煙臺(tái)市海陽(yáng)市惠民醫(yī)養(yǎng)中心招聘編外派遣制人員5人參考考試試題及答案解析
- 2025青海海北州第二人民醫(yī)院面向社會(huì)招聘不占編制事業(yè)單位工作人員5人備考筆試題庫(kù)及答案解析
- 2025廣西貴港市港北區(qū)第四初級(jí)中學(xué)招募高校畢業(yè)生就業(yè)見習(xí)人員6人參考筆試題庫(kù)附答案解析
- 2025廣西南寧市科學(xué)技術(shù)協(xié)會(huì)外聘人員招聘1人參考考試試題及答案解析
- 2026江蘇南京市兒童醫(yī)院招聘衛(wèi)技人員41人參考考試試題及答案解析
- 甘肅能源化工投資集團(tuán)有限公司2026屆校園招聘183人模擬筆試試題及答案解析
- 2025年合肥經(jīng)開區(qū)政務(wù)服務(wù)中心和人力資源中心綜合窗口崗位招聘5名備考考試試題及答案解析
- 2025年陜西水務(wù)發(fā)展集團(tuán)所屬企業(yè)社會(huì)招聘(32人)參考考試題庫(kù)及答案解析
- 2025年湖州市長(zhǎng)興縣公立醫(yī)院公開引進(jìn)高層次人才10人備考考試試題及答案解析
- 2025西藏日喀則市定結(jié)縣招聘大學(xué)生公益性崗位1人備考筆試題庫(kù)及答案解析
- 2025年中國(guó)鐵路上海局集團(tuán)有限公司蕪湖車務(wù)段客運(yùn)服務(wù)人員招聘參考筆試題庫(kù)及答案解析
- 2026年門診年度護(hù)理工作計(jì)劃例文(3篇)
- 軍人野戰(zhàn)生存課件教學(xué)
- 婦科腫瘤的中醫(yī)藥治療
- 2025廣東廣州越秀區(qū)礦泉街招聘民政前臺(tái)工作人員1人備考題庫(kù)附答案詳解(基礎(chǔ)題)
- 關(guān)于羊肉的營(yíng)銷策劃方案
- 貨車合伙人合同范本
- 上海醫(yī)藥公司償債能力分析
- 2025天津大學(xué)管理崗位集中招聘15人考試筆試參考題庫(kù)及答案解析
- 2025西部機(jī)場(chǎng)集團(tuán)航空物流有限公司招聘筆試考試備考題庫(kù)及答案解析
- 2025美國(guó)心臟協(xié)會(huì)心肺復(fù)蘇(CPR)與心血管急救(ECC)指南解讀課件
評(píng)論
0/150
提交評(píng)論