管理信息系統(tǒng) 課件 (魯燕飛)第9、10章 系統(tǒng)分析、系統(tǒng)設(shè)計(jì)_第1頁
管理信息系統(tǒng) 課件 (魯燕飛)第9、10章 系統(tǒng)分析、系統(tǒng)設(shè)計(jì)_第2頁
管理信息系統(tǒng) 課件 (魯燕飛)第9、10章 系統(tǒng)分析、系統(tǒng)設(shè)計(jì)_第3頁
管理信息系統(tǒng) 課件 (魯燕飛)第9、10章 系統(tǒng)分析、系統(tǒng)設(shè)計(jì)_第4頁
管理信息系統(tǒng) 課件 (魯燕飛)第9、10章 系統(tǒng)分析、系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

9.1系統(tǒng)分析概述

9.2結(jié)構(gòu)化系統(tǒng)分析

9.3面向?qū)ο蟮南到y(tǒng)分析

9.4系統(tǒng)分析報(bào)告9.1系統(tǒng)分析概述9.1.1系統(tǒng)分析的任務(wù)系統(tǒng)分析是管理信息系統(tǒng)建設(shè)最重要的階段,也是最困難的階段。系統(tǒng)分析在系統(tǒng)規(guī)劃的基礎(chǔ)上,回答新系統(tǒng)“做什么”這個具體而詳細(xì)的關(guān)鍵性問題。只有明確了問題,才有可能解決問題。系統(tǒng)分析的任務(wù)是通過對企業(yè)組織的詳細(xì)調(diào)查,充分分析用戶的需求,設(shè)計(jì)出將要建立的管理信息系統(tǒng)的邏輯模型。即定義和確定新系統(tǒng)應(yīng)該“做什么”,暫且不涉及“怎么做”。1.?了解系統(tǒng)的需求用戶對管理信息系統(tǒng)的需求包括:對系統(tǒng)功能、性能方面的需求,對硬件配置、開發(fā)周期、開發(fā)方式等方面的意向,對系統(tǒng)可靠性、安全性、保密性的要求,以及對系統(tǒng)開發(fā)費(fèi)用、時間和資源方面的限制等。2.?確定系統(tǒng)的邏輯模型在詳細(xì)調(diào)查的基礎(chǔ)上,運(yùn)用各種系統(tǒng)分析的理論、方法和技術(shù),確定系統(tǒng)應(yīng)具有的邏輯功能,再用一系列圖表表示出來,形成系統(tǒng)的邏輯模型。對上述采用圖表的邏輯模型進(jìn)行適當(dāng)?shù)奈淖终f明,組成系統(tǒng)分析報(bào)告,是系統(tǒng)分析階段的主要成果。9.1.2系統(tǒng)分析的內(nèi)容和方法系統(tǒng)分析按內(nèi)容可以分為目標(biāo)分析、需求分析和功能分析。(1)?目標(biāo)分析。目標(biāo)分析包括對現(xiàn)行系統(tǒng)的組織目標(biāo)分析和目標(biāo)系統(tǒng)的組織目標(biāo)分析。任何一個企業(yè)或組織都有自己的目標(biāo),這是組織開展各項(xiàng)工作的指南。信息系統(tǒng)是幫助企業(yè)實(shí)現(xiàn)其總體目標(biāo)的,因此在開發(fā)管理信息時,首先應(yīng)該弄清楚企業(yè)的組織目標(biāo)。(2)?需求分析。在系統(tǒng)分析階段,系統(tǒng)分析員要對企業(yè)各有關(guān)部門的業(yè)務(wù)流程進(jìn)行詳細(xì)的調(diào)查,還要向各級領(lǐng)導(dǎo)和業(yè)務(wù)人員就系統(tǒng)處理事務(wù)的能力和決策功能的需求做出分析,以及將需求分析的結(jié)果反饋給業(yè)務(wù)人員,以征求意見進(jìn)行修改。(3)?功能分析。這里的功能指的是目標(biāo)系統(tǒng)應(yīng)具備的功能。功能具有層次性的特點(diǎn),各層功能之間存在著信息交換。系統(tǒng)分析采用結(jié)構(gòu)化系統(tǒng)分析和面向?qū)ο蟮南到y(tǒng)分析兩種方法。結(jié)構(gòu)化系統(tǒng)分析方法的系統(tǒng)分析人員根據(jù)系統(tǒng)規(guī)劃,對現(xiàn)行系統(tǒng)進(jìn)行分析,先描述現(xiàn)行系統(tǒng)業(yè)務(wù)流程、數(shù)據(jù)流程、系統(tǒng)的邏輯模型,再通過優(yōu)化,建立新系統(tǒng)邏輯模型。結(jié)構(gòu)化系統(tǒng)分析的難點(diǎn)是系統(tǒng)分析人員和用戶對于開發(fā)系統(tǒng)的信息不對稱,系統(tǒng)分析人員熟悉信息系統(tǒng)的理論知識,考慮系統(tǒng)技術(shù)實(shí)現(xiàn)的問題;而用戶熟悉業(yè)務(wù),從業(yè)務(wù)功能的實(shí)用性考慮問題。由于知識方面的差異,因此二者需要密切合作。結(jié)構(gòu)化系統(tǒng)分析方法中,反映用戶信息需求邏輯模型的建立方法的有關(guān)工具包括:業(yè)務(wù)流程圖、數(shù)據(jù)流程圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、決策樹和決策表等。通過業(yè)務(wù)流程分析,建立一套分層次的數(shù)據(jù)流程圖,輔以數(shù)據(jù)字典,加上結(jié)構(gòu)化語言、決策樹和決策表等基本說明工具來描述系統(tǒng),以構(gòu)建邏輯模型,為結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)做準(zhǔn)備。面向?qū)ο蟮姆治龇椒ㄊ鞘褂妹嫦驅(qū)ο蠓治黾夹g(shù)對系統(tǒng)建模,稱之為對象建模,通過它可以定義出新系統(tǒng)的業(yè)務(wù)需求。對象建模通過一些方法和圖表符號,識別并表達(dá)出系統(tǒng)中所有對象以及對象之間的關(guān)系。通常采用UML分析工具進(jìn)行對象建模,包括面向?qū)ο蟮男枨蠓治瞿P秃兔嫦驅(qū)ο蟮南到y(tǒng)分析模型。需求分析模型主要是創(chuàng)建用例模型,也可以輔助活動圖描述系統(tǒng)用例;系統(tǒng)分析模型又包括靜態(tài)分析和動態(tài)分析,靜態(tài)分析主要是建立分析類圖,動態(tài)分析主要是用順序圖或協(xié)作圖來檢驗(yàn)系統(tǒng)用例的實(shí)現(xiàn)問題。9.2結(jié)構(gòu)化系統(tǒng)分析9.2.1系統(tǒng)詳細(xì)調(diào)查的內(nèi)容和方法對現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查結(jié)果是系統(tǒng)分析的主要依據(jù)。系統(tǒng)分析階段的首要工作就是通過對現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查,弄清現(xiàn)行系統(tǒng)中各項(xiàng)業(yè)務(wù)的處理流程及其涉及的相關(guān)數(shù)據(jù)。詳細(xì)調(diào)查的范圍是現(xiàn)行系統(tǒng),包括手工系統(tǒng)和已采用計(jì)算機(jī)的管理信息系統(tǒng),圍繞組織內(nèi)部信息流所涉及領(lǐng)域的各個方面。系統(tǒng)詳細(xì)調(diào)查的內(nèi)容主要由兩個方面組成:一是現(xiàn)行系統(tǒng)管理業(yè)務(wù)的功能調(diào)查;二是現(xiàn)行系統(tǒng)的信息及信息流程調(diào)查。這兩方面是緊密聯(lián)系的。1.?系統(tǒng)詳細(xì)調(diào)查的內(nèi)容(1)?組織機(jī)構(gòu)。組織機(jī)構(gòu)是完成具體業(yè)務(wù)的依托單位,是實(shí)現(xiàn)組織管理工作的基礎(chǔ)。系統(tǒng)詳細(xì)調(diào)查的首要工作是了解當(dāng)前組織機(jī)構(gòu)設(shè)置情況和它們之間的隸屬關(guān)系,以及業(yè)務(wù)分工和協(xié)作關(guān)系,并以圖示的方式描述組織機(jī)構(gòu)。對于大型管理信息系統(tǒng)而言,調(diào)查中不僅要了解系統(tǒng)所在組織的結(jié)構(gòu),還要了解與其相關(guān)聯(lián)的組織機(jī)構(gòu)及業(yè)務(wù)關(guān)系,尤其是與其有著業(yè)務(wù)制約關(guān)系的機(jī)構(gòu)、外部單位或組織。(2)?組織機(jī)構(gòu)的功能。了解組織機(jī)構(gòu)完成的相應(yīng)功能,以及這些功能的隸屬關(guān)系,為業(yè)務(wù)流程和數(shù)據(jù)流程分析奠定基礎(chǔ)。(3)?組織業(yè)務(wù)流程。系統(tǒng)分析員首先應(yīng)分析組織的業(yè)務(wù)運(yùn)作流程,全面了解組織的工作流程,包括組織完成的各項(xiàng)業(yè)務(wù),各業(yè)務(wù)間的前后制約關(guān)系,同時還要了解組織的不定期業(yè)務(wù),以及組織的物流、資金流、信息流之間的關(guān)系。業(yè)務(wù)流程以業(yè)務(wù)流程圖的形式反映系統(tǒng)業(yè)務(wù)邏輯關(guān)系。(4)?組織人員分工與偏好。管理信息系統(tǒng)是人機(jī)系統(tǒng),需要對組織中負(fù)責(zé)具體業(yè)務(wù)的相關(guān)人員進(jìn)行調(diào)查,充分了解系統(tǒng)各類角色所負(fù)責(zé)的具體業(yè)務(wù)內(nèi)容和需求,全面了解組織的人員分工,以及業(yè)務(wù)的傳遞關(guān)系,同時還要了解新系統(tǒng)未來用戶的個人偏好。(5)?各類信息載體處理流程。全面收集、整理、分析各類信息載體,包括信息載體產(chǎn)生的流程,基礎(chǔ)數(shù)據(jù)的來源,表內(nèi)數(shù)據(jù)間的運(yùn)算公式,表與表之間的數(shù)據(jù)關(guān)系,報(bào)表的周期、類型及各報(bào)表的時序關(guān)系,并搞清楚數(shù)據(jù)由哪些部門產(chǎn)生、哪些部門使用,相關(guān)文獻(xiàn)資料的出處等。(6)?定義系統(tǒng)邊界。根據(jù)系統(tǒng)規(guī)劃的要求,定義系統(tǒng)或子系統(tǒng)的邊界,同時搞清楚各個子系統(tǒng)的數(shù)據(jù)調(diào)用關(guān)系,為日后其他子系統(tǒng)的開發(fā)和系統(tǒng)的驗(yàn)收奠定基礎(chǔ)。(7)?系統(tǒng)的資源與約束條件。了解企業(yè)的現(xiàn)有人力資源的水平,軟件、硬件設(shè)備的裝備情況;了解系統(tǒng)受到哪些條件限制,如項(xiàng)目開發(fā)資金、現(xiàn)有設(shè)備能否再利用、辦公地點(diǎn)、系統(tǒng)運(yùn)行的外部環(huán)境支持情況等,新系統(tǒng)開發(fā)在充分利用現(xiàn)有的資源基礎(chǔ)上,還需要補(bǔ)充哪些資源,同時還要研究系統(tǒng)的開發(fā)理念是否和組織的文化相吻合。對現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查工作是通過與企業(yè)組織機(jī)構(gòu)各部門的業(yè)務(wù)人員交流來完成的。雖然業(yè)務(wù)人員對自己工作業(yè)務(wù)非常熟悉,卻常常不能將自己的工作用規(guī)范化的方式表達(dá)出來,因此我們不得不借助于一些方法和工具使系統(tǒng)分析人員與業(yè)務(wù)人員進(jìn)行溝通和互相理解。2.?系統(tǒng)詳細(xì)調(diào)查的方法常用的詳細(xì)調(diào)查方法有面談法、問卷調(diào)查法、開調(diào)查會、參加業(yè)務(wù)實(shí)踐等幾種。(1)?面談法。系統(tǒng)分析員通過口頭提問的方式收集信息,面談的對象是系統(tǒng)的用戶,如企業(yè)領(lǐng)導(dǎo)或業(yè)務(wù)人員。為了取得較好的面談效果,應(yīng)盡量選擇精通本職工作、經(jīng)驗(yàn)豐富、善于表達(dá)的業(yè)務(wù)人員,面談前應(yīng)列出調(diào)查提綱,預(yù)約面談時間,讓面談對象了解談什么,以便事先做好充分準(zhǔn)備。根據(jù)收集的背景信息、用戶的初步需求和系統(tǒng)分析員的經(jīng)驗(yàn)確定面談目標(biāo),確定5~8個關(guān)于決策行為和信息處理的關(guān)鍵問題,包括信息資源管理、信息的格式、決策頻度、決策方法等。調(diào)查分析的問題主要分為兩類:開放式問題和封閉式問題。開放式問題就像問答題一樣,不是一兩個詞可以回答的,這種問題需要解釋和說明,同時向?qū)Ψ奖硎灸銓栴}很感興趣,還想了解更多的內(nèi)容;而封閉式問題相對于開放式問題來說,一般提問者給出了答案范圍,通常是客觀選擇題,答案是一個或多個選項(xiàng)。在面談過程中,應(yīng)自始至終圍繞需要了解的問題發(fā)問,提問要步步深入,面談內(nèi)容要及時總結(jié)。(2)?問卷調(diào)查法。問卷調(diào)查表往往是一種固定格式的調(diào)查方式,可以讓很多業(yè)務(wù)人員回答相同的問題,系統(tǒng)分析員通過問卷進(jìn)行統(tǒng)計(jì)分析,得到問題的規(guī)律性答案或不同業(yè)務(wù)人員對待同一問題的差異性答案,引導(dǎo)系統(tǒng)分析員發(fā)現(xiàn)系統(tǒng)存在的隱含問題。問卷調(diào)查表設(shè)計(jì)要有開放式問題,問卷內(nèi)容結(jié)構(gòu)緊湊合理,合理安排問題的邏輯順序,問卷格式清晰便于填寫。問卷設(shè)計(jì)完成后,可以同骨干的管理人員及業(yè)務(wù)人員對問卷的內(nèi)容進(jìn)行交流;可以采用試填寫的方式來判斷問卷是否全面合理,進(jìn)行修改后,形成正式的調(diào)查問卷。(3)?開調(diào)查會。在系統(tǒng)分析階段,進(jìn)行業(yè)務(wù)調(diào)查時也常常采用召開專題調(diào)查會的方式,針對階段性的工作或者專門的問題進(jìn)行統(tǒng)一協(xié)調(diào)。例如,在調(diào)查物資供應(yīng)與財(cái)務(wù)核算業(yè)務(wù)之間存在著的數(shù)據(jù)共享或信息傳遞關(guān)系時,一般需要召開調(diào)查會,邀請物資部門和財(cái)務(wù)部門的業(yè)務(wù)人員共同參加,明確所需要了解的業(yè)務(wù)內(nèi)容。調(diào)查會的規(guī)模及參加人員根據(jù)需要調(diào)查的具體業(yè)務(wù)情況而定。大規(guī)模的調(diào)查會一般用于解決涉及企業(yè)總體業(yè)務(wù)框架的關(guān)鍵問題,需要來自多個相關(guān)部門的骨干人員參加。小規(guī)模的調(diào)查會一般用于了解某個業(yè)務(wù)處理過程的細(xì)節(jié)。調(diào)查會是在業(yè)務(wù)調(diào)查中應(yīng)用比較廣泛也比較有效的一種方法,但是該方法要邀請相關(guān)部門的業(yè)務(wù)骨干參加,牽扯面較大,不宜經(jīng)常組織。對于大規(guī)模的調(diào)查會,尤其要注意明確目的,有效地解決問題,避免頻繁召集會議,浪費(fèi)時間。(4)?參加業(yè)務(wù)實(shí)踐。系統(tǒng)開發(fā)者到業(yè)務(wù)部門專門從事一段時間相關(guān)的業(yè)務(wù)工作,以深入了解系統(tǒng)需求。可以比較深刻地掌握現(xiàn)行系統(tǒng)的業(yè)務(wù)運(yùn)作流程,信息的產(chǎn)生、傳遞、加工、存儲、輸出的具體過程和方法,充分了解現(xiàn)有系統(tǒng)的功能、效率以及存在的問題。參加業(yè)務(wù)實(shí)踐只有完成一個業(yè)務(wù)周期的工作流程,才能全面地了解系統(tǒng)的真實(shí)概貌。這是較好的系統(tǒng)調(diào)查方法,但缺點(diǎn)是系統(tǒng)分析人員需要耗費(fèi)較長的時間完成一個周期的業(yè)務(wù)實(shí)踐。該方法適合組織自主開發(fā)方式的系統(tǒng)開發(fā)模式。9.2.2組織機(jī)構(gòu)與功能分析組織機(jī)構(gòu)及功能分析是指用圖表來描述調(diào)查中所了解的組織機(jī)構(gòu)及組織內(nèi)各項(xiàng)業(yè)務(wù)功能。1.?組織機(jī)構(gòu)分析組織機(jī)構(gòu)分析就是要弄清企業(yè)內(nèi)部的部門劃分,以及各部門之間的領(lǐng)導(dǎo)和被領(lǐng)導(dǎo)關(guān)系、信息資料的傳遞關(guān)系、物資流動關(guān)系與資金流動關(guān)系,并了解各部門的工作內(nèi)容與職責(zé),以及各級組織存在的問題及對新系統(tǒng)的要求等,然后將了解和掌握的組織機(jī)構(gòu)用組織機(jī)構(gòu)圖的方式描述出來。組織機(jī)構(gòu)圖是反映系統(tǒng)組織機(jī)構(gòu)隸屬關(guān)系的層次圖,如圖9.1所示。2.?組織機(jī)構(gòu)功能分析通過對系統(tǒng)內(nèi)部各級組織機(jī)構(gòu)的了解,系統(tǒng)分析人員可以進(jìn)一步明確被調(diào)查對象在組織中完成的所有功能。組織機(jī)構(gòu)功能圖是用來描述組織隸屬的各個機(jī)構(gòu)完成的具體業(yè)務(wù)圖,便于分析人員概括地了解各功能之間的層次關(guān)系。在畫組織機(jī)構(gòu)功能圖時,應(yīng)注意以下幾點(diǎn):(1)?畫出組織中的業(yè)務(wù)功能的隸屬關(guān)系,尤其是系統(tǒng)涉及的部分組織機(jī)構(gòu)功能,明確系統(tǒng)的現(xiàn)狀、邊界和范圍。(2)?組織中現(xiàn)行機(jī)構(gòu)的名稱有時并不能反映該部門所做的全部實(shí)際工作,必要時應(yīng)分解每一個部分,根據(jù)具體情況畫出組織機(jī)構(gòu)功能圖。(3)?在實(shí)際工作中,組織機(jī)構(gòu)的劃分通常是根據(jù)滿足組織最初工作需要而確定的。(4)?組織的變化事先難以全部考慮到,但可以預(yù)先知道系統(tǒng)的功能。9.2.3業(yè)務(wù)流程分析組織機(jī)構(gòu)功能分析主要是從系統(tǒng)縱向角度反映了系統(tǒng)的制約關(guān)系,而業(yè)務(wù)流程分析則是從橫向的角度反映系統(tǒng)的業(yè)務(wù)傳遞關(guān)系。業(yè)務(wù)流程分析通過剖析現(xiàn)有業(yè)務(wù)流程并對其進(jìn)行調(diào)整、整合,重構(gòu)新系統(tǒng)的業(yè)務(wù)流程,它是數(shù)據(jù)流程分析的基礎(chǔ),對整個系統(tǒng)分析具有基礎(chǔ)性的作用。業(yè)務(wù)流程分析的基本工具是業(yè)務(wù)流程圖。企業(yè)的運(yùn)作是由企業(yè)組織機(jī)構(gòu)的各項(xiàng)業(yè)務(wù)過程實(shí)現(xiàn)的,業(yè)務(wù)過程是企業(yè)動態(tài)系統(tǒng)的組成部分。對現(xiàn)行企業(yè)組織機(jī)構(gòu)業(yè)務(wù)過程的描述和分析是系統(tǒng)分析工作的重要內(nèi)容。1.?業(yè)務(wù)流程分析工具描述企業(yè)每一項(xiàng)業(yè)務(wù)過程的圖形工具稱為業(yè)務(wù)流程圖(TransactionFlowDiagram,TFD)。對于一些簡單的業(yè)務(wù)過程,也可以通過文字描述其處理過程。業(yè)務(wù)流程圖通過一些特定的符號描述企業(yè)業(yè)務(wù)的處理過程,它重點(diǎn)強(qiáng)調(diào)了業(yè)務(wù)過程中每一項(xiàng)處理活動和具體業(yè)務(wù)部門的關(guān)系。不同的學(xué)者對于業(yè)務(wù)流程圖的畫法各有差異,系統(tǒng)分析員在進(jìn)行業(yè)務(wù)流程分析時,往往同系統(tǒng)設(shè)計(jì)人員共同約定業(yè)務(wù)流程圖的圖例和具體畫法。這里介紹一種比較普遍的表示方法,其中各種符號的表示方法如圖9.2所示。業(yè)務(wù)流程圖基本符號的具體含義如下:(1)?業(yè)務(wù)處理(Process):具體的業(yè)務(wù)處理功能。(2)?業(yè)務(wù)流(TransactionFlow):業(yè)務(wù)流程所涉及的物流、資金流或信息流的具體內(nèi)容和流動方向。(3)?業(yè)務(wù)處理單位:某項(xiàng)任務(wù)參與的人員,是業(yè)務(wù)流程的具體執(zhí)行者。(4)?報(bào)表制作:制作的各種報(bào)表和表格。(5)?文檔存儲:存儲的文件和數(shù)據(jù)。(6)?數(shù)據(jù)收集:收集到的業(yè)務(wù)數(shù)據(jù)。業(yè)務(wù)流程圖的作用如下:(1)?用來全面了解業(yè)務(wù)處理的過程,是進(jìn)行系統(tǒng)分析的依據(jù)。(2)?作為系統(tǒng)分析員、管理人員、業(yè)務(wù)操作人員相互交流思想的工具。(3)?系統(tǒng)分析員可直接在業(yè)務(wù)流程圖上擬出可以實(shí)現(xiàn)計(jì)算機(jī)處理的部分。(4)?用來分析業(yè)務(wù)流程的合理性。表格分配圖是業(yè)務(wù)流程圖的一種補(bǔ)充,可以幫助系統(tǒng)分析員表示出系統(tǒng)中的各種單據(jù)和報(bào)告涉及哪些部門的業(yè)務(wù)。圖9.4是一個采購過程的表格分配圖,其中每一列表示一個部門,箭頭表示復(fù)制單據(jù)的流向,每張復(fù)制報(bào)告上都有編號,以示區(qū)別。2.?業(yè)務(wù)流程分析內(nèi)容業(yè)務(wù)流程分析的目的是分析現(xiàn)有系統(tǒng)存在的問題,以便在新系統(tǒng)建設(shè)中予以解決或改進(jìn)。業(yè)務(wù)流程分析包括以下內(nèi)容:(1)分析原有流程。分析原有業(yè)務(wù)流程的各處理過程是否具有存在的價值,其中哪些過程可以刪除或合并,哪些過程可以進(jìn)行改進(jìn)或優(yōu)化。(2)優(yōu)化業(yè)務(wù)流程。原有業(yè)務(wù)流程中存在冗余信息處理,可以按計(jì)算機(jī)信息處理的要求進(jìn)行優(yōu)化。(3)?確定新的業(yè)務(wù)流程。畫出新系統(tǒng)的業(yè)務(wù)流程圖。(4)?新系統(tǒng)的人機(jī)界面。分析其中計(jì)算機(jī)處理的業(yè)務(wù)和手工處理的業(yè)務(wù),確定人機(jī)界面。(5)?業(yè)務(wù)流程重組。業(yè)務(wù)流程重組過程從根本上重新設(shè)計(jì)企業(yè)的管理業(yè)務(wù)流程。3.?業(yè)務(wù)流程重組業(yè)務(wù)流程重組(BusinessProcessRedesign,BPR)又稱企業(yè)流程再造,是由美國的MichaelHammer和JameChampy提出,在20世紀(jì)90年代達(dá)到全盛的一種管理思想。BPR是一種企業(yè)活動,內(nèi)容為從根本重新而徹底地去分析與設(shè)計(jì)企業(yè)業(yè)務(wù)流程,管理相關(guān)的企業(yè)變革,以追求績效,并使企業(yè)達(dá)到戲劇性的成長。企業(yè)流程再造的重點(diǎn)在于選定對企業(yè)經(jīng)營極為重要的幾項(xiàng)企業(yè)程序加以重新規(guī)劃,以提高營運(yùn)能力。1)?企業(yè)流程再造的實(shí)質(zhì)BPR是對企業(yè)進(jìn)行根本的再思考和徹底的再設(shè)計(jì),以求企業(yè)在關(guān)鍵的性能指標(biāo)上獲得巨大的提高,如成本、質(zhì)量、服務(wù)和速度等。根本的:不是枝節(jié)、表面,而是本質(zhì)的,即革命性的,對現(xiàn)行系統(tǒng)進(jìn)行徹底的懷疑,用敏銳的眼光看出企業(yè)的問題,只有看出問題、看透問題,才能更好地解決問題。徹底的:動大手術(shù)、大破大立,不是一般的修補(bǔ)。巨大的提高:成十倍、百倍的提高,是在量變的基礎(chǔ)上產(chǎn)生質(zhì)變,出現(xiàn)突躍點(diǎn)。2)?企業(yè)流程再造的實(shí)施觀念重組:變革基本信念、轉(zhuǎn)變經(jīng)營機(jī)制、重建組織文化、重塑行為方式。流程重組:由面向職能轉(zhuǎn)變?yōu)槊嫦蛄鞒?,對企業(yè)的現(xiàn)有流程進(jìn)行調(diào)研分析、診斷、再設(shè)計(jì),然后重新構(gòu)建新的流程。組織重組:建立流程管理機(jī)構(gòu),明確其權(quán)責(zé)范圍;制訂各流程內(nèi)部的運(yùn)轉(zhuǎn)規(guī)則與各流程之間的關(guān)系規(guī)則,逐步用流程管理圖取代傳統(tǒng)企業(yè)中的組織機(jī)構(gòu)圖,實(shí)現(xiàn)組織結(jié)構(gòu)扁平化。3)?企業(yè)流程再造的原則(1)?以過程管理代替職能管理,取消不增值的管理環(huán)節(jié)。(2)?以事前管理代替事后監(jiān)督,減少不必要的審核、檢查和控制活動。(3)?取消不必要的信息處理環(huán)節(jié),消除冗余信息集。(4)?以計(jì)算機(jī)協(xié)同處理為基礎(chǔ)的并行過程取代串行和反饋控制管理過程。(5)?用信息技術(shù)實(shí)現(xiàn)過程自動化,盡可能拋棄手工管理過程。4)?企業(yè)流程再造的實(shí)現(xiàn)手段信息技術(shù)(IT):充分發(fā)揮IT的潛能,利用IT改造企業(yè)過程,簡化企業(yè)過程。組織變革:變革組織結(jié)構(gòu),達(dá)到組織精簡、效率提高的目的。5)?企業(yè)流程再造的適用情況(1)?企業(yè)瀕臨破產(chǎn)。(2)?企業(yè)競爭力下滑,必須調(diào)整戰(zhàn)略和進(jìn)行重構(gòu)。(3)?企業(yè)領(lǐng)導(dǎo)認(rèn)識到BPR能大大提高企業(yè)競爭力,而企業(yè)又有此擴(kuò)張需要。(4)?BPR的策略在相關(guān)企業(yè)已獲得成功。9.2.4數(shù)據(jù)流程分析數(shù)據(jù)流程分析是指把數(shù)據(jù)在組織內(nèi)部流動的情況抽象地獨(dú)立出來,不考慮具體的組織機(jī)構(gòu)、信息載體、處理過程、物質(zhì)和材料等,只從數(shù)據(jù)流動來考察實(shí)際的業(yè)務(wù)處理模式。1.?數(shù)據(jù)流程調(diào)查過程中需收集的資料及匯總數(shù)據(jù)資料收集是數(shù)據(jù)流程調(diào)查過程中的一項(xiàng)重要任務(wù),其主要工作包括以下幾點(diǎn):(1)?按業(yè)務(wù)過程收集原系統(tǒng)全部輸入單據(jù)、輸出報(bào)表和數(shù)據(jù)存儲介質(zhì)的典型格式。(2)?弄清各個環(huán)節(jié)上的處理方法和計(jì)算方法。(3)?在上述各種單據(jù)、報(bào)表、賬本的典型樣品上或用附頁注明制作單位、報(bào)送單位、發(fā)生頻度、發(fā)生的高峰時間及發(fā)生量等。(4)?在上述各種單據(jù)、報(bào)表、賬本的典型樣品上注明各項(xiàng)數(shù)據(jù)的類型、長度、取值范圍等。數(shù)據(jù)匯總是一項(xiàng)較為繁雜的工作,為使數(shù)據(jù)匯總能順利進(jìn)行,通常將它分為如下幾步:(1)?將系統(tǒng)調(diào)查中所收集到的數(shù)據(jù)資料,按業(yè)務(wù)過程進(jìn)行分類編碼,按處理過程的順序排列在一起。(2)?按業(yè)務(wù)過程自頂向下地對數(shù)據(jù)項(xiàng)進(jìn)行整理。(3)?將所有原始數(shù)據(jù)和最終輸出數(shù)據(jù)分類整理出來。(4)?確定數(shù)據(jù)的字長和精度,根據(jù)系統(tǒng)調(diào)查中用戶對數(shù)據(jù)的滿意程度以及今后預(yù)計(jì)該業(yè)務(wù)可能的發(fā)展規(guī)模統(tǒng)一確定數(shù)據(jù)的字長和精度。2.?數(shù)據(jù)流程圖概述“自頂向下、逐層分解”是結(jié)構(gòu)化分析方法將復(fù)雜的系統(tǒng)分解成較易理解的子系統(tǒng)的過程,例如圖9.5中S是一個復(fù)雜的系統(tǒng),結(jié)構(gòu)化方法將它分解成1、2、3共三個子系統(tǒng),若子系統(tǒng)1仍然復(fù)雜,可繼續(xù)將它分解成1.1、1.2、1.3等子系統(tǒng),如此逐層分解,直至子系統(tǒng)足夠簡單、容易理解和準(zhǔn)確表達(dá)為止。繪制數(shù)據(jù)流程圖就采用了“自頂向下、逐層分解”的方法。數(shù)據(jù)流程圖(DataFlowDiagram,DFD)是業(yè)務(wù)流程圖的抽象,數(shù)據(jù)流程圖拋開業(yè)務(wù)流程的具體組織和人員關(guān)系,從信息的傳遞和加工的角度,以圖形的方式描述系統(tǒng)的數(shù)據(jù)來源、信息的形成過程、數(shù)據(jù)存儲和處理過程的邏輯關(guān)系。DFD將系統(tǒng)對各個業(yè)務(wù)的處理過程聯(lián)系起來,形成一個整體;而業(yè)務(wù)流程圖只是孤立地分析各個業(yè)務(wù)的處理過程,不能反映業(yè)務(wù)之間的數(shù)據(jù)關(guān)系。數(shù)據(jù)流程圖的基本成分包括處理過程、數(shù)據(jù)流、數(shù)據(jù)存儲和外部實(shí)體等四種,所用的符號如圖9.6所示,可以根據(jù)需要選擇使用。3.?數(shù)據(jù)流程圖的繪制1)?數(shù)據(jù)流程分析原則使用數(shù)據(jù)流程圖進(jìn)行數(shù)據(jù)流程分析時,一般遵循以下原則:(1)?明確系統(tǒng)邊界。系統(tǒng)分析人員要根據(jù)調(diào)查材料,首先識別哪些是不受系統(tǒng)控制但又受系統(tǒng)影響的外部環(huán)境。只有劃清系統(tǒng)和外部環(huán)境的邊界,才可以集中力量分析和確定本系統(tǒng)的功能。(2)?自頂向下、逐層分解。按照結(jié)構(gòu)化方法的思想,采用分層的數(shù)據(jù)流程圖,把大問題或復(fù)雜的問題分解成若干個小問題,分別解決。(3)?在局部上遵循由外向里的原則。先確定每一層數(shù)據(jù)流程圖的邊界和范圍,再考慮數(shù)據(jù)流程圖的內(nèi)部;先畫輸入和輸出,再畫處理過程的內(nèi)部。2)?繪制數(shù)據(jù)流程圖步驟繪制數(shù)據(jù)流程圖的大致步驟如下:(1)?畫出系統(tǒng)的外部實(shí)體,對于向系統(tǒng)提供數(shù)據(jù)(輸入信息)的外部實(shí)體,應(yīng)畫在數(shù)據(jù)流程圖的左邊或上邊;對于從系統(tǒng)獲取數(shù)據(jù)(輸出信息)的外部實(shí)體,應(yīng)畫在流程圖的右邊或下邊。然后從左到右、從上到下畫出外部實(shí)體產(chǎn)生的數(shù)據(jù)流和相應(yīng)的數(shù)據(jù)處理過程,如果需要保存數(shù)據(jù),則畫出對應(yīng)的外部存儲。最后畫出接收該系統(tǒng)或數(shù)據(jù)處理輸出信息的外部實(shí)體。(2)?先畫頂層的數(shù)據(jù)流程圖,后畫分層的數(shù)據(jù)流程圖。頂層數(shù)據(jù)流程圖是系統(tǒng)的概括和綜合,可以不畫數(shù)據(jù)存儲;由于處于較高層次的數(shù)據(jù)流程圖內(nèi)容相對抽象,需要進(jìn)一步分解,因此分層數(shù)據(jù)流程圖是把上一層的數(shù)據(jù)流程圖的各數(shù)據(jù)處理過程進(jìn)行分解。分解過程如圖9.9所示。對數(shù)據(jù)處理過程進(jìn)行分層時,應(yīng)注意以下兩方面:?下一層圖應(yīng)包含上一層中與該數(shù)據(jù)處理過程有關(guān)的全部數(shù)據(jù)流,下一層圖中的數(shù)據(jù)流不必出現(xiàn)在上一層。?下一層圖應(yīng)包含上一層中與該數(shù)據(jù)處理過程有關(guān)的全部數(shù)據(jù)存儲,下一層圖中的數(shù)據(jù)存儲不必出現(xiàn)在上一層。對于數(shù)據(jù)流和數(shù)據(jù)存儲的規(guī)定如下:?對于各個數(shù)據(jù)處理過程,除畫出有關(guān)外部實(shí)體或數(shù)據(jù)存儲寫入的數(shù)據(jù)流以及考慮其他數(shù)據(jù)處理過程寫入的數(shù)據(jù)流外,還要考慮該數(shù)據(jù)處理過程向有關(guān)外部實(shí)體輸出或數(shù)據(jù)存儲寫入的數(shù)據(jù)流。?避免過多的數(shù)據(jù)流交叉,在同一個數(shù)據(jù)流程圖中,同一個外部實(shí)體、數(shù)據(jù)可以多次出現(xiàn)。(3)?系統(tǒng)分析人員向用戶、組織的管理者,詳細(xì)解釋各流程圖的數(shù)據(jù)傳遞及處理關(guān)系,經(jīng)反復(fù)討論、調(diào)整后得到全面反映業(yè)務(wù)流程的數(shù)據(jù)流圖。4.?數(shù)據(jù)流程圖的檢查數(shù)據(jù)流程圖是否正確,可以從數(shù)據(jù)流輸入和輸出的合理性以及父圖與子圖的平衡兩方面來檢查。(1)輸入和輸出的合理性。如果一個處理過程所輸出的某個數(shù)據(jù)在處理過程變換中既沒有被產(chǎn)生,也沒有被作為輸入數(shù)據(jù)輸入該處理過程,則該輸入數(shù)據(jù)一定是在輸入過程中被遺漏了。(2)父圖與子圖的平衡。在分層的數(shù)據(jù)流程圖中,父圖與子圖不平衡的現(xiàn)象極易發(fā)生。在對子圖進(jìn)行修改時,一定要及時對父圖進(jìn)行相應(yīng)的修改,以保持平衡。父圖與子圖的平衡,不能僅從形式上和數(shù)量上看,還要考慮其數(shù)據(jù)流的組成。如果父圖中有一個輸入數(shù)據(jù)流,而子圖中有多個輸入數(shù)據(jù)流,此時看起來似乎不平衡,但是如果父圖中的這一輸入數(shù)據(jù)流的組成和子圖中的多個輸入數(shù)據(jù)流的組成相同,則也認(rèn)為兩者是平衡的。9.2.5數(shù)據(jù)字典數(shù)據(jù)流程圖描述了系統(tǒng)數(shù)據(jù)處理的概貌,描述了系統(tǒng)的分解,即系統(tǒng)由哪些部分組成、各部分之間有什么聯(lián)系等。但它不能完整地表達(dá)一個系統(tǒng)的全部邏輯特征,特別是有關(guān)數(shù)據(jù)的詳細(xì)內(nèi)容。只有對數(shù)據(jù)流程圖中出現(xiàn)的每一個成分都給出詳細(xì)定義,才能比較完整、準(zhǔn)確地描述一個系統(tǒng)。因此需要有其他工具對數(shù)據(jù)流程圖加以補(bǔ)充。數(shù)據(jù)字典(DataDictionary,DD)的作用就是對數(shù)據(jù)流程圖中的每一個成分給予定義和說明。數(shù)據(jù)字典描述的主要內(nèi)容包括數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理功能和外部實(shí)體等,其中數(shù)據(jù)元素是組成數(shù)據(jù)流的基本成分。數(shù)據(jù)字典是對數(shù)據(jù)流程圖的輔助資料,對數(shù)據(jù)流程圖起注解作用。1.?數(shù)據(jù)字典的條目數(shù)據(jù)字典中包含有六類條目:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實(shí)體、數(shù)據(jù)處理。(1)數(shù)據(jù)項(xiàng)。數(shù)據(jù)項(xiàng)是具有獨(dú)立邏輯含義的最小數(shù)據(jù)組成單位,如商品編號、商品名稱等。數(shù)據(jù)項(xiàng)的內(nèi)容包括:數(shù)據(jù)項(xiàng)編號、數(shù)據(jù)項(xiàng)名稱、別名、簡述、類型及寬度、取值范圍,如圖9.15所示。(2)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)描述的是數(shù)據(jù)之間的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以包括若干個數(shù)據(jù)項(xiàng)或(和)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)的內(nèi)容包括:數(shù)據(jù)結(jié)構(gòu)編號、數(shù)據(jù)結(jié)構(gòu)名稱、簡述、數(shù)據(jù)結(jié)構(gòu)組成,如圖9.16所示。(3)數(shù)據(jù)流。數(shù)據(jù)流表明系統(tǒng)中數(shù)據(jù)流的組成、邏輯流向及在單位時間內(nèi)的流量。數(shù)據(jù)流可為數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)流的內(nèi)容包括:數(shù)據(jù)流編號、數(shù)據(jù)流名稱、簡述、數(shù)據(jù)流來源、數(shù)據(jù)流去向、數(shù)據(jù)流組成、數(shù)據(jù)流量、高峰流量,如圖9.17所示。(4)數(shù)據(jù)存儲。數(shù)據(jù)存儲是數(shù)據(jù)流暫存或永久保存的地方。數(shù)據(jù)存儲的內(nèi)容包括:數(shù)據(jù)存儲編號、數(shù)據(jù)存儲名稱、簡述、數(shù)據(jù)存儲組成、關(guān)鍵字、相關(guān)聯(lián)的處理,如圖9.18所示。(5)?外部實(shí)體。外部實(shí)體是數(shù)據(jù)流的來源或去向。外部實(shí)體的內(nèi)容包括:外部實(shí)體編號、外部實(shí)體名稱、簡述、輸入的數(shù)據(jù)流、輸出的數(shù)據(jù)流,如圖9.19所示。(6)?數(shù)據(jù)處理。數(shù)據(jù)處理又稱處理邏輯、數(shù)據(jù)加工等,僅對DFD最底層的處理加以說明。數(shù)據(jù)處理的內(nèi)容包括:處理邏輯編號、處理邏輯名稱、簡述、輸入的數(shù)據(jù)流、處理、輸出的數(shù)據(jù)流、處理頻率,如圖9.20所示。2.?數(shù)據(jù)字典的作用數(shù)據(jù)字典是所有人員工作的依據(jù),也是統(tǒng)一的標(biāo)準(zhǔn),可以確保數(shù)據(jù)在系統(tǒng)中的完整性和一致性。在整個系統(tǒng)開發(fā)過程以及系統(tǒng)運(yùn)行后的維護(hù)階段,數(shù)據(jù)字典是必不可少的工具。具體來講,數(shù)據(jù)字典具有以下作用:(1)?按各種要求列表。(2)?相互參照,便于系統(tǒng)修改。(3)?由描述內(nèi)容檢索名稱。(4)?完成一致性檢驗(yàn)和完整性檢驗(yàn)。9.2.6處理過程分析數(shù)據(jù)流程圖概要地反映了系統(tǒng)的數(shù)據(jù)輸入、變換處理以及信息的生成和輸出過程,數(shù)據(jù)字典對系統(tǒng)的數(shù)據(jù)進(jìn)行了規(guī)范化的說明。運(yùn)用數(shù)據(jù)字典雖然能反映數(shù)據(jù)處理功能的基本要求,但描述數(shù)據(jù)流程圖中比較復(fù)雜的處理邏輯存在不清晰、易誤解等缺點(diǎn)。因此,對于比較復(fù)雜的處理邏輯,可以借助其他一些工具來進(jìn)行更為詳細(xì)、易懂的描述說明。處理過程說明是對數(shù)據(jù)流程圖中處理的詳細(xì)描述。數(shù)據(jù)流程圖、數(shù)據(jù)字典和處理過程說明三者構(gòu)成了系統(tǒng)的邏輯模型。數(shù)據(jù)處理過程描述或說明的常用工具有結(jié)構(gòu)化語言、判定樹和判定表。1.?結(jié)構(gòu)化語言結(jié)構(gòu)化語言是一種介于自然語言與程序設(shè)計(jì)語言之間的語言。它由程序設(shè)計(jì)語言的框架和自然語言的詞匯組成。結(jié)構(gòu)化語言綜合了自然語言的容易表述和理解以及程序設(shè)計(jì)語言的嚴(yán)格精確等特點(diǎn),此外還具有易于編寫、能簡明描述較復(fù)雜的處理邏輯等優(yōu)點(diǎn)。結(jié)構(gòu)化語言只允許3種基本語句,即祈使語句、判斷語句、循環(huán)語句。與程序設(shè)計(jì)語言的差別在于結(jié)構(gòu)化語言沒有嚴(yán)格的語法規(guī)定。結(jié)構(gòu)化語言使用3類詞匯:祈使句中的動詞、數(shù)據(jù)字典中定義的名詞以及某些邏輯表達(dá)式中的保留字。2.?判定樹結(jié)構(gòu)化語言有時不能直觀地表述數(shù)據(jù)處理過程。判定樹采用樹型結(jié)構(gòu)來表示處理邏輯,從其圖形上可以一目了然地看清用戶的業(yè)務(wù)在什么條件下采取什么樣的處理方式。判定樹左邊是樹根,是決策序列的起點(diǎn);右邊是各個分支,即每一個條件的取值狀態(tài);最右側(cè)為應(yīng)該采取的策略。從樹根開始,自左至右沿著某一分支,能夠作出一系列的決策。3.?判定表判定表又稱決策表。在處理邏輯中,如果決策樹的條件較多,各個條件又相互結(jié)合,相應(yīng)的決策方案比較多,在這種情況下用決策樹表示,樹的結(jié)構(gòu)比較復(fù)雜,圖中各項(xiàng)注釋也比較煩瑣。判定表采用二維表格形式來表達(dá)這類過程,處理問題就比較容易,表格分成4個部分,左上角為條件說明,左下角為條件和行動說明,右上角為各種條件的組合說明,右下角為各條件組合下執(zhí)行的相應(yīng)行動。判定表的格式如表9.1所示。9.3面向?qū)ο蟮南到y(tǒng)分析9.3.1面向?qū)ο蟮南到y(tǒng)分析概述面向?qū)ο蟮南到y(tǒng)分析是指采用面向?qū)ο蟮乃枷?,對系統(tǒng)進(jìn)行分析,根據(jù)用戶需求提取出系統(tǒng)應(yīng)具有的屬性和行為,是屬于問題抽象階段,解決“做什么”的問題。面向?qū)ο笙到y(tǒng)分析的任務(wù)首先是進(jìn)行面向?qū)ο蟮南到y(tǒng)需求分析,然后在系統(tǒng)需求分析的基礎(chǔ)上,繼續(xù)識別待開發(fā)系統(tǒng)應(yīng)用領(lǐng)域的對象,分析對象間的關(guān)系,建立符合系統(tǒng)需求的兩種模型:一是對象/類靜態(tài)模型;二是對象/類動態(tài)模型。一種系統(tǒng)開發(fā)方法應(yīng)由建模語言和開發(fā)過程組成。建模語言是設(shè)計(jì)的表示符號,而過程則是描述如何進(jìn)行開發(fā)所需的步驟。UML只是一種建模語言,可以與任何開發(fā)過程配套使用。本章中的面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)采用UML作為建模語言,而選用的開發(fā)過程包括需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、實(shí)施等階段。UML軟件開發(fā)過程就是一個反復(fù)修改、逐步完善的迭代過程。在實(shí)際工作中,建模的步驟并不一定嚴(yán)格按照前面講述的次序進(jìn)行。面向?qū)ο蟮南到y(tǒng)需求分析主要任務(wù)是確定使用者,定義用例,建立UML用例圖和用例描述以描述系統(tǒng)的需求。面向?qū)ο蟮南到y(tǒng)分析階段,根據(jù)用例圖及用例描述,并使用順序圖詳細(xì)描述系統(tǒng)的工作流,推導(dǎo)出所有的關(guān)鍵分析類以及它們之間的關(guān)系,完成UML分析類圖、活動圖等的設(shè)計(jì)。9.3.2需求分析使用面向?qū)ο蟮姆椒ㄟM(jìn)行系統(tǒng)分析設(shè)計(jì)的依據(jù)之一也是用戶的需求。因此,面向?qū)ο蟮拈_發(fā)第一階段的任務(wù)就是要獲取用戶的需求,主要是功能上的需求。需求收集從調(diào)查開始。調(diào)查的對象、方法等可參照本章9.2節(jié)結(jié)構(gòu)化系統(tǒng)分析方法的內(nèi)容。在面向?qū)ο蠓椒ㄖ?,用戶功能需求的描述工具是用例圖,而用例圖的主要組成就是使用者(角色)和用例(功能)。1.?系統(tǒng)功能和角色的識別需求分析階段最重要的內(nèi)容就是對所要開發(fā)的系統(tǒng)能“做什么”(具備哪些功能),即用例進(jìn)行確定;還要分析有哪些人或物參與到應(yīng)用系統(tǒng)中(系統(tǒng)將遇到哪些角色),即使用者(角色)。1)?系統(tǒng)功能的識別系統(tǒng)的功能就是系統(tǒng)所提供的加工、分析和處理用戶請求的方法和過程,它表現(xiàn)在人們?nèi)绾问褂孟到y(tǒng)和系統(tǒng)提供哪些功能兩個方面。系統(tǒng)功能可以利用UML建模技術(shù)中用例圖的方式來描述。比如,學(xué)籍管理系統(tǒng)可以提供學(xué)生檔案管理、班級管理、課程設(shè)置和成績管理等功能,這些都可以作為用例來描述。用例通常用動詞或短語命名,描述客戶看到的最終結(jié)果;同時用例關(guān)注系統(tǒng)外的用戶,每個用例應(yīng)表示用戶與系統(tǒng)之間一個完整的功能,為用戶提供一定價值,使系統(tǒng)的功能更真實(shí)、更準(zhǔn)確。用例在UML圖形上用橢圓來表示,橢圓下(或橢圓中)附上用例的名稱。2)?角色的識別系統(tǒng)參與者又稱角色,它是指與開發(fā)系統(tǒng)進(jìn)行交互的人或物,是與系統(tǒng)直接交互的參與者,在識別和提取角色時,需要在用戶的幫助下進(jìn)行標(biāo)識和描述。角色一般包括以下幾類:(1)?系統(tǒng)操作的主要使用者和系統(tǒng)信息的使用者;(2)?系統(tǒng)信息的來源;(3)?系統(tǒng)管理和維護(hù)的參與者;(4)?與其交互的應(yīng)用系統(tǒng);(5)?系統(tǒng)使用涉及的硬件;(6)?使用者的類型和細(xì)節(jié)功能;(7)?系統(tǒng)使用的外部環(huán)境,如地點(diǎn)、用戶數(shù)量、可選設(shè)備等。角色在UML圖形上用一個下面寫有名稱的小人圖形表示。3)?系統(tǒng)功能和角色的關(guān)系建立用例圖的一個關(guān)鍵步驟是描述關(guān)系。關(guān)系包括角色與用例之間的關(guān)系、角色之間或用例之間的關(guān)系、用例之間的關(guān)系等。這些關(guān)系具體表現(xiàn)為關(guān)聯(lián)關(guān)系、泛化關(guān)系、包含關(guān)系和擴(kuò)展關(guān)系,如表9.4所示。2.?系統(tǒng)需求分析過程系統(tǒng)需求分析過程一般包含系統(tǒng)需求描述、發(fā)現(xiàn)和確定角色、發(fā)現(xiàn)和確定用例、繪制用例圖及進(jìn)行用例描述四個步驟。下面以學(xué)籍管理系統(tǒng)為例來說明系統(tǒng)需求分析具體過程。1)?系統(tǒng)需求描述系統(tǒng)需求描述就是根據(jù)系統(tǒng)需求的層次性,確定系統(tǒng)的范圍和邊界。系統(tǒng)的范圍是指待開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域的目標(biāo)、任務(wù)、規(guī)模以及系統(tǒng)提供的功能和服務(wù)。系統(tǒng)邊界是指一個系統(tǒng)的所有元素與系統(tǒng)之外事務(wù)的分界線。一個系統(tǒng)的范圍與系統(tǒng)開發(fā)的目標(biāo)、任務(wù)和規(guī)模密切相關(guān)。比如一個綜合的企業(yè)管理系統(tǒng),企業(yè)的生產(chǎn)、人事、財(cái)務(wù)、庫存、銷售、訂貨等都是系統(tǒng)開發(fā)的范圍;而對于一個人力資源管理系統(tǒng)來說,其范圍只涉及人員及人員激勵的管理。經(jīng)調(diào)查,學(xué)籍管理系統(tǒng)的需求包括系統(tǒng)基本要求、學(xué)生檔案管理、班級管理、交費(fèi)管理、課程管理、成績管理等方面。2)?發(fā)現(xiàn)和確定角色當(dāng)確定了系統(tǒng)的范圍并明確了系統(tǒng)的邊界后,就要從系統(tǒng)的角度尋找與系統(tǒng)進(jìn)行信息交互的角色??梢詮囊韵路矫鎭戆l(fā)現(xiàn)和確定系統(tǒng)的角色:(1)?系統(tǒng)主要使用者:誰使用系統(tǒng)的主要功能?誰需要系統(tǒng)支持他們的日常工作?(2)?系統(tǒng)輔助使用者:誰來維護(hù)、管理系統(tǒng)使其能正常工作?(3)?系統(tǒng)信息提供者:誰為系統(tǒng)提供信息?(4)?相交互的外部系統(tǒng):系統(tǒng)需要控制哪些硬件?系統(tǒng)需要與其他哪些外部系統(tǒng)交互?學(xué)籍管理系統(tǒng)包含的角色及其關(guān)系如圖9.25所示。3)?發(fā)現(xiàn)和確定用例用例是系統(tǒng)的一種行為,它為角色產(chǎn)生一定價值的結(jié)果。用例描述角色希望系統(tǒng)完成的事情。用例應(yīng)該是一個完整的任務(wù),用來描述從角色看到的系統(tǒng)的全部功能。我們可以通過與每個角色交流來發(fā)現(xiàn)和確定可能的用例:(1)?角色希望系統(tǒng)能提供什么功能?(2)?角色要創(chuàng)建、讀取、更新或刪除什么信息?(3)?系統(tǒng)通知角色什么信息?(4)?系統(tǒng)需要從角色那里得到什么信息?(5)?對系統(tǒng)的維護(hù)、管理等。(6)?與系統(tǒng)交互的外部系統(tǒng)。學(xué)籍管理系統(tǒng)包含的用例如圖9.26所示。還可以進(jìn)一步改進(jìn)和細(xì)化用例,其中,檔案管理細(xì)化后的用例如圖9.27所示。4)?用例描述用例描述的內(nèi)容主要包括以下幾個方面:(1)?用例名稱。(2)?描述:對用例的角色、目的的簡要描述。描述應(yīng)簡明扼要,但要包括角色通過用例所能達(dá)到的效果。(3)?前置條件:執(zhí)行用例之前系統(tǒng)必須要處于的狀態(tài)或者要滿足的條件。前置條件可能是另一個用例已經(jīng)執(zhí)行或用戶具有運(yùn)行當(dāng)前用例的權(quán)限。并不是所有用例都有前置條件。(4)?后置條件:一旦執(zhí)行用例后系統(tǒng)所處的狀態(tài)。如果運(yùn)行一個用例后需要執(zhí)行另一個用例,則可在后置條件中說明這一點(diǎn)。并不是所有用例都有后置條件。(5)?基本事件流:描述該用例的基本流程,即每個流程都正常運(yùn)作時所發(fā)生的事情。(6)?備選事件流:描述該行為或流程是可選的或備選的,并不一定要執(zhí)行。(7)?錯誤流:描述系統(tǒng)本身不能完成的一些功能。學(xué)籍管理系統(tǒng)的完整用例圖如圖9.28所示。以刪除檔案信息為例,用例描述如下:用例名稱:刪除檔案信息。簡要描述:顯示要刪除的檔案信息,提示與檔案信息有關(guān)的收費(fèi)信息、成績信息、選課信息將全部被刪除,做刪除處理,更新數(shù)據(jù)庫中的數(shù)據(jù)表。前置條件:執(zhí)行用例前,操作員已經(jīng)登錄系統(tǒng),且具備檔案管理權(quán)限。后置條件:用例執(zhí)行成功后,操作員可以刪除與檔案信息有關(guān)的收費(fèi)信息、成績信息、選課信息;否則,系統(tǒng)狀態(tài)不變?;臼录鳎?1)?顯示要刪除的檔案信息。(2)?確認(rèn)刪除檔案信息。(3)?提示與檔案信息有關(guān)的收費(fèi)信息、成績信息、選課信息將全部被刪除。(4)?再次確定刪除檔案信息。(5)?做刪除處理,更新數(shù)據(jù)庫中的數(shù)據(jù)表。(6)?顯示刪除檔案信息成功。備選事件流:檢索要刪除的檔案信息是否存在,若不存在,則由操作員確定繼續(xù)檢索還是退出用例。9.3.3系統(tǒng)分析系統(tǒng)分析并不是確定如何解決問題的過程,而是在尋找系統(tǒng)究竟處理什么的過程。在這一環(huán)節(jié)中,需要把那些復(fù)雜的需求分解為若干對象及其關(guān)系,并在此基礎(chǔ)上提出系統(tǒng)的解決方案。系統(tǒng)分析模型分為兩部分:靜態(tài)分析和動態(tài)分析。靜態(tài)分析部分主要使用類圖來描述系統(tǒng)要處理的對象和這些對象之間的相互關(guān)系,而動態(tài)分析部分主要使用交互圖來證明靜態(tài)分析模型的可行性。1.?靜態(tài)分析靜態(tài)分析的主要任務(wù)是建立反映對象靜態(tài)結(jié)構(gòu)的分析類圖,即確定分析類、屬性及關(guān)系。1)?分析類對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,它是?shù)據(jù)和操作的封裝體。系統(tǒng)功能是通過對象之間相互通信、不斷變化來實(shí)現(xiàn)的。因此,為了更清晰地了解系統(tǒng)的運(yùn)行過程,有必要建立對象的分析類圖,可以很容易地觀察到某一時刻活動的對象以及它們之間的關(guān)系。分析類是從現(xiàn)實(shí)世界業(yè)務(wù)映射出來的,是對問題域的抽象。因此,分析模型中所有的分析類都應(yīng)該只描述對象的高層次的屬性和操作。在分析階段,不會在軟件中實(shí)現(xiàn)分析類,通常只用自然語言去描述它的屬性和操作。分析類是為定義設(shè)計(jì)類做準(zhǔn)備,一個分析類可以創(chuàng)建一個或多個設(shè)計(jì)類。在類圖中,類的圖標(biāo)(Icon)是一個長方形,垂直地分出三個框,分別包含類的名稱、屬性、操作。2)?分析類的識別靜態(tài)分析的第一步是確定那些備選的、執(zhí)行用例行為的分析類。這些分析類的實(shí)例可以滿足用例的所有需求。一般來說,有三種不同的分析類:實(shí)體類、邊界類和控制類。在確定分析類時,可以使用三種不同的模式來識別和提取這些類。(1)?實(shí)體類。它是系統(tǒng)表示客觀事物的抽象要素。實(shí)體類一般來源于業(yè)務(wù)分析中所確定的實(shí)體,對應(yīng)著業(yè)務(wù)領(lǐng)域中的某個客觀事物,或是具有較穩(wěn)定信息內(nèi)容的系統(tǒng)元素。通??梢詮臉I(yè)務(wù)領(lǐng)域模型中找到這些實(shí)體類。在學(xué)籍管理系統(tǒng)中,可以按需求描述標(biāo)識出的實(shí)體類有學(xué)生、班級、班主任、成績以及登錄用戶實(shí)體類等。(2)?邊界類。它是描述系統(tǒng)與使用者之間交互的抽象要素。邊界類只對系統(tǒng)與使用者之間的交互進(jìn)行建模,并不描述交互的具體內(nèi)容及交互界面的具體形式。每一個使用者應(yīng)至少擁有一個邊界類,以表示它與系統(tǒng)的交互處理。但如果某個使用者與系統(tǒng)交互比較頻繁,而且各交互內(nèi)容之間也不存在較密切的關(guān)系,就需要為這個使用者設(shè)置一個新的邊界類。一般來說,可以從兩個方面查找邊界類:一方面是根據(jù)每個用例主要使用者至少有一個邊界類的原則來獲取用戶界面邊界類;另一方面是考慮外部設(shè)備或系統(tǒng)與新系統(tǒng)通信之間的接口,根據(jù)這些接口可以獲得一些邊界類。在學(xué)籍管理系統(tǒng)中,登錄界面類、主界面類、學(xué)費(fèi)報(bào)表類都屬于邊界類。(3)?控制類。它是描述系統(tǒng)對其他對象協(xié)調(diào)控制、處理邏輯運(yùn)算的抽象要素。一個較復(fù)雜的用例一般都需要一個或多個控制類來協(xié)調(diào)系統(tǒng)中各個對象的行為??刂祁惖暮锰幨撬梢杂行У匕堰吔鐚ο笈c實(shí)體對象區(qū)分開,使得系統(tǒng)對其邊界內(nèi)發(fā)生的變更具有適應(yīng)性。同時,控制類還可以把用例所特有的行為與實(shí)體對象區(qū)分開,從而提高了實(shí)體對象在用例和系統(tǒng)中的復(fù)用性。3)?分析類的屬性在識別出分析類后,下一步是識別出類的屬性,繼續(xù)細(xì)化和補(bǔ)充分析模型。在找到實(shí)體類后,需要研究類的特性。類包括信息和行為,這些信息就稱為屬性??梢圆殚喰枨竺枋龊陀美枋鰜慝@得屬性,事件流中的名詞有一些是屬性。在標(biāo)識屬性時,應(yīng)將其賦予適當(dāng)?shù)念?,屬性是與類相關(guān)的信息。標(biāo)識對象/類屬性的規(guī)則如下:常識性:按一般常識,該對象應(yīng)具有的屬性;專業(yè)性:在當(dāng)前問題論域中,該對象應(yīng)具有的屬性;功能性:根據(jù)系統(tǒng)功能的要求,該對象應(yīng)具有的屬性;管理性:建立該對象是為了保存和管理哪些屬性;操作性:為了實(shí)現(xiàn)對象的操作功能,需要增設(shè)哪些屬性;標(biāo)志性:是否需要增設(shè)屬性來區(qū)別對象的不同狀態(tài);外聯(lián)性:用什么屬性來表示對象的整體-部分聯(lián)系和實(shí)例鏈接。4)?分析類的關(guān)系類之間的關(guān)系有關(guān)聯(lián)關(guān)系、聚合關(guān)系、組合關(guān)系、泛化關(guān)系、依賴關(guān)系。關(guān)聯(lián)關(guān)系是類之間的一種連接關(guān)系。在類圖上,用一條把類連接在一起的實(shí)線表示關(guān)聯(lián)。關(guān)聯(lián)可以是單向的或雙向的,如果該關(guān)聯(lián)是雙向的,就不必標(biāo)出方向箭頭。單向的消息僅能沿著箭頭的方向傳遞。如果一個關(guān)聯(lián)既是類又是關(guān)聯(lián),則它是一個關(guān)聯(lián)類。關(guān)聯(lián)類定義了一組屬于該關(guān)聯(lián)的特性。關(guān)聯(lián)類的圖標(biāo)用一條虛線連接到關(guān)聯(lián)線上,如圖9.29所示。聚合關(guān)系是表示部分與整體關(guān)系的關(guān)聯(lián)。聚合關(guān)聯(lián)用端點(diǎn)帶有空心菱形的連線表示。菱形與代表整體的聚合類相連接,連線的另一端連接代表部分事物的類,如圖9.30所示。組合關(guān)系表示更強(qiáng)形式的部分與整體關(guān)系。在組合關(guān)系中,整體與部分之間有很強(qiáng)的所有關(guān)系和一致的生命周期。代表部分事物的對象只屬于一個組合對象,而且與組合對象同時存在、同時消失。組合關(guān)系的圖形是一個實(shí)心菱形與代表整體的類相連接,如圖9.31所示。泛化關(guān)系是類的一般描述和具體描述之間的關(guān)系。泛化關(guān)系是在保留對象差異的同時共享對象相似性的一種高度抽象方式。子類不僅具有父類所具有的特性(屬性、操作、關(guān)聯(lián)等),同時還可以有自己的特性;泛化用一條帶空心三角箭頭的實(shí)箭線表示,箭線尾端連接子類,箭頭指向父類,如圖9.32所示。依賴(Dependency)是指一個類的存在需要以另一個類的存在為前提。在類圖中,依賴用一個從客戶指向提供者的虛箭頭表示,位于虛箭頭尾端的類依賴于箭頭所指向的類,如圖9.33所示。描述類之間關(guān)系的手段是繪制類圖。分析階段繪制的類圖稱為分析類圖,邏輯上每個用例對應(yīng)一張完整的分析類圖。分析類圖有兩種,簡略的分析類圖和詳細(xì)的分析類圖。簡略的分析類圖沒有描述每個類的屬性和操作,只突出類之間的關(guān)系。某銀行系統(tǒng)的簡略的分析類圖如圖9.34所示。詳細(xì)的分析類圖用標(biāo)準(zhǔn)方式描述類,在描述類之間關(guān)系的同時,還展示了每個類的屬性和操作。2.?動態(tài)分析靜態(tài)分析完成后,下一步的重要工作是進(jìn)行動態(tài)分析,即檢查系統(tǒng)用例的實(shí)現(xiàn)問題。用例可以轉(zhuǎn)變?yōu)閷ο笾g的協(xié)作,也可以跟蹤對象之間的消息傳遞,從而模擬并檢驗(yàn)用例的實(shí)現(xiàn)。順序圖和協(xié)作圖是專門為用例的實(shí)現(xiàn)而設(shè)計(jì)的,它們可以記錄對象之間傳遞的消息,而且都可以記錄相同的信息。相比而言,協(xié)作圖更適合于用例的實(shí)現(xiàn),因?yàn)閰f(xié)作圖更多關(guān)注的是對象及其連接,而不是傳遞消息的順序,并且協(xié)作圖比較容易生成。下面將分別介紹順序圖和協(xié)作圖是如何實(shí)現(xiàn)用例的。1)?順序圖順序圖不僅描述對象之間的消息通信問題,而且關(guān)注消息傳遞的順序。順序圖描述了對象在時間上是如何交互的,并且側(cè)重于消息的順序。也就是說,順序圖用于描述消息如何在對象間發(fā)送和接收。順序圖可以供不同的人員使用:用戶可以從順序圖中看到業(yè)務(wù)過程的細(xì)節(jié);分析人員可以從順序圖中看到相關(guān)的處理流程;開發(fā)人員可以從順序圖中看到需要開發(fā)的對象以及對這些對象的操作。順序圖一般由對象、消息、生命線、激活等圖形元素組成。其中,生命線和激活是順序圖特有的圖形元素。順序圖的縱軸代表時間,時間沿豎線一直向下延伸;橫軸代表用例中參加交互的對象,在圖的上方依次排列。一個對象到另一個對象的消息用跨越對象生命線的消息線表示。消息前的編號用于表示交互和消息傳遞的順序,自頂向下按時間遞增順序列出各個對象所發(fā)出和接收的消息。繪制順序圖主要從以下幾方面入手:(1)?識別參與交互的對象;(2)?確定系統(tǒng)對象的交互過程;(3)?為每個對象設(shè)置生命線,即確定哪些對象存在于整個交互過程中,哪些對象在交互過程中被創(chuàng)建和撤銷;(4)?從引發(fā)交互過程的初始消息開始,在生命線之間自頂向下依次畫出隨后的個別消息;(5)?如果需要表示消息的嵌套或時間,則采用控制焦點(diǎn);如果需要說明時間約束,則在消息旁加上說明。2)?協(xié)作圖協(xié)作圖和順序圖比較類似,但它不考慮消息的通信時間,而更關(guān)心對象之間的交互(或協(xié)作)。因此,協(xié)作圖主要是用于描述系統(tǒng)的行為是如何由系統(tǒng)的對象協(xié)作完成的。協(xié)作圖側(cè)重描述對象、對象間的連接以及連接對象之間如何發(fā)送消息,它只對相互之間具有交互作用的對象和對象間的關(guān)聯(lián)建模,而忽略了其他對象和關(guān)聯(lián)。繪制協(xié)作圖主要從以下幾方面入手:(1)?識別參與交互過程的對象;(2)?確定對象之間的交互過程;(3)?如果需要,為每個對象設(shè)置初始特性;(4)?確定對象之間的鏈,以及沿著鏈的消息;(5)?從引發(fā)交互過程的初始消息開始,將隨后的每個消息附到相應(yīng)的鏈上;(6)?根據(jù)需要表示消息的嵌套;(7)?根據(jù)需要說明消息的時間約束;(8)?根據(jù)需要為每個消息附上前置條件和后置條件。3)?活動圖在結(jié)構(gòu)化的系統(tǒng)分析方法中,使用業(yè)務(wù)流程圖來描述系統(tǒng)的過程步驟。同樣,UML也提供了一種能夠描述用例邏輯流程的工具,稱之為活動圖,可用于對系統(tǒng)的活動過程進(jìn)行建模。活動圖非常類似于業(yè)務(wù)流程圖,它也是用圖形的方式來描述業(yè)務(wù)的過程、用例的工作步驟、流程的圖形。但活動圖也有不同于業(yè)務(wù)流程圖的地方,它支持對于并行活動的描述?;顒訄D用來描述一個操作執(zhí)行過程中所完成的一系列動作,包括操作的活動、判定點(diǎn)和分支等部分,在UML動態(tài)建模過程中,活動圖能夠被附加到任何建模元素上,以描述其動作行為,這些元素包括用例、類、接口、組件、節(jié)點(diǎn)、合作、操作和方法。繪制活動圖主要從以下幾方面入手:(1)?識別要對其工作流進(jìn)行描述的類;(2)?確定各類的動態(tài)行為;(3)?確定動作流;(4)?對動作流建模;(5)?對建模結(jié)果進(jìn)行精化和細(xì)化。9.4系統(tǒng)分析報(bào)告系統(tǒng)分析的過程必須以一個完整、一致、正確、清晰的方式來進(jìn)行,系統(tǒng)分析的成果也必須滿足系統(tǒng)最終用戶的需求。需求說明書是系統(tǒng)分析階段形成的主要文檔,應(yīng)能準(zhǔn)確地描述最終用戶的需求。這個文檔可以由最終用戶起草,也可以由系統(tǒng)開發(fā)團(tuán)隊(duì)來完成。前者對用戶來說,難度比較大;后者可能造成軟件開發(fā)團(tuán)隊(duì)書寫需求說明書時,用戶什么也不做。在這種情況下,技術(shù)人員必須與用戶經(jīng)常溝通交流,來書寫需求說明書的內(nèi)容。因此該需求分析的文檔由用戶和開發(fā)團(tuán)隊(duì)共同來完成。結(jié)構(gòu)化開發(fā)方法的系統(tǒng)分析報(bào)告包含下列內(nèi)容:(1)?引言部分:包括名稱、開發(fā)目標(biāo)、主要功能、開發(fā)背景等。(2)?現(xiàn)行系統(tǒng)概況:包括現(xiàn)行系統(tǒng)現(xiàn)狀詳細(xì)調(diào)查說明,如組織機(jī)構(gòu)圖,系統(tǒng)目標(biāo)、功能一覽表,業(yè)務(wù)流程圖,業(yè)務(wù)流量以及存在的薄弱環(huán)節(jié),數(shù)據(jù),主要算法,現(xiàn)行系統(tǒng)分析,用戶需求及主要存在的問題等。(3)?新系統(tǒng)邏輯方案:包括新系統(tǒng)目標(biāo),新系統(tǒng)邏輯模型,新系統(tǒng)功能分析,新系統(tǒng)在各個處理環(huán)節(jié)上采用的管理方法、模型,與新系統(tǒng)相配套的管理制度和運(yùn)行體制的建立。(4)?下階段工程進(jìn)度計(jì)劃。面向?qū)ο蟮脑O(shè)計(jì)方法的系統(tǒng)分析報(bào)告包含下列內(nèi)容:(1)?引言:包括編寫目的、背景和參考資料等。(2)?系統(tǒng)需求分析:包括用例列表和用例模型。(3)?系統(tǒng)分析:包括分析類圖靜態(tài)模型和順序圖、協(xié)作圖、活動圖等動態(tài)模型。10.1系統(tǒng)設(shè)計(jì)原則

10.2結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)

10.3面向?qū)ο蟮脑O(shè)計(jì)

10.4系統(tǒng)設(shè)計(jì)報(bào)告10.1系統(tǒng)設(shè)計(jì)原則1.?系統(tǒng)性原則系統(tǒng)作為一個整體而存在,因此在系統(tǒng)設(shè)計(jì)中要從整個系統(tǒng)的角度進(jìn)行考慮,注意保證系統(tǒng)的一致性和完整性。系統(tǒng)的代碼要統(tǒng)一,設(shè)計(jì)規(guī)范要標(biāo)準(zhǔn),傳遞語言要盡可能一致。2.?靈活性原則靈活性是指系統(tǒng)對外界環(huán)境變化的適應(yīng)能力。企業(yè)的信息系統(tǒng)必須具有相當(dāng)程度的靈活性才能支持企業(yè)在不斷變化的外界環(huán)境中取得競爭優(yōu)勢。3.?可靠性原則可靠性是指系統(tǒng)抵御外界干擾的能力及受外界干擾時的恢復(fù)能力。一個成功的MIS必須具有較高的可靠性才能保證系統(tǒng)質(zhì)量并得到用戶的信任。衡量系統(tǒng)可靠性的指標(biāo)有平均故障時間、平均維護(hù)時間、安全保密性、抗病毒、防火墻能力等。平均故障時間指平均的前后聯(lián)系發(fā)生故障的時間,反映了系統(tǒng)安全運(yùn)行時間。平均維護(hù)時間指故障后平均每次所用的修復(fù)時間,反映了系統(tǒng)可維護(hù)性的好壞。4.?經(jīng)濟(jì)性原則經(jīng)濟(jì)性是指在滿足系統(tǒng)要求的前提下,不僅追求給用戶帶來一定的效益,還應(yīng)盡可能減少系統(tǒng)不必要的開銷。一方面在硬件的投資上不過分追求先進(jìn),另一方面系統(tǒng)應(yīng)盡可能簡單,避免不必要的復(fù)雜化,將設(shè)計(jì)更加簡潔,從而減少處理費(fèi)用,提高系統(tǒng)效益,便于實(shí)現(xiàn)和管理。10.2結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)10.2.1結(jié)構(gòu)化設(shè)計(jì)目標(biāo)系統(tǒng)設(shè)計(jì)必須保證從系統(tǒng)易變更性入手,設(shè)計(jì)出一個易于理解、容易維護(hù)的系統(tǒng)。為了使系統(tǒng)容易修改,首先要使其容易理解,必須注意以下幾個問題:(1)?把系統(tǒng)劃分成為一些部分,其中每一部分的功能簡單明確,內(nèi)容簡明易懂,易于修改,我們把這樣的部分稱為模塊。(2)?系統(tǒng)分成模塊的工作按層次進(jìn)行,首先,把整個系統(tǒng)看成一個模塊,按功能分解成若干個第一層的模塊,這些模塊互相配合,共同完成整個系統(tǒng)的功能;然后按功能再分解第一層的各個模塊,依次下去,直到每個模塊都十分簡單為止。(3)?每一個模塊應(yīng)盡可能獨(dú)立,即盡可能減少模塊的調(diào)用關(guān)系和數(shù)據(jù)交換關(guān)系。當(dāng)然,系統(tǒng)中模塊不可能與其他模塊沒有聯(lián)系,只是要求這種聯(lián)系盡可能少。(4)?模塊間的關(guān)系要闡明,這樣在修改的時候可以追蹤和控制。10.2.2結(jié)構(gòu)化設(shè)計(jì)內(nèi)容系統(tǒng)設(shè)計(jì)階段的任務(wù)是提出物理設(shè)計(jì)方案。該方案是這個階段工作成果的體現(xiàn),最終以系統(tǒng)設(shè)計(jì)說明書的形式提出,批準(zhǔn)后將成為系統(tǒng)實(shí)施階段的工作依據(jù)。系統(tǒng)設(shè)計(jì)的基本內(nèi)容大體可以分成兩個方面:(1)?把總?cè)蝿?wù)分解成許多基本的具體任務(wù),這些具體的任務(wù)合理地組織起來構(gòu)成總?cè)蝿?wù),稱為總體設(shè)計(jì),又稱為概要設(shè)計(jì)。其基本任務(wù)包括:①將系統(tǒng)劃分為模塊;②決定每個模塊的功能;③決定模塊的調(diào)用關(guān)系;④決定模塊的界面,即模塊間信息的傳遞形式??傮w設(shè)計(jì)是系統(tǒng)開發(fā)過程中很關(guān)鍵的一步,系統(tǒng)的質(zhì)量及一些整體特性基本上是這一步?jīng)Q定的。系統(tǒng)越大,總體設(shè)計(jì)的影響越大。(2)?為各個具體任務(wù)選擇適當(dāng)?shù)募夹g(shù)手段和處理方法,這便是詳細(xì)設(shè)計(jì),包括MIS系統(tǒng)流程設(shè)計(jì)、代碼設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、輸出設(shè)計(jì)、輸入設(shè)計(jì)、處理過程設(shè)計(jì)等。10.2.3總體設(shè)計(jì)1.?劃分的依據(jù)一個合理的子系統(tǒng)或模塊劃分,應(yīng)該是內(nèi)部聯(lián)系強(qiáng),子系統(tǒng)或模塊間盡可能獨(dú)立,接口明確、簡單,盡量適應(yīng)用戶的組織體系,有適當(dāng)?shù)墓灿眯浴0凑战Y(jié)構(gòu)化設(shè)計(jì)的思想,對模塊或子系統(tǒng)進(jìn)行劃分的依據(jù)通常有以下幾種:(1)?按邏輯劃分,把相類似的處理邏輯功能放在一個子系統(tǒng)或模塊里。例如,把“對所有業(yè)務(wù)輸入數(shù)據(jù)進(jìn)行編輯”的功能放在一個子系統(tǒng)或模塊里,不管是庫存還是財(cái)務(wù),只要有業(yè)務(wù)輸入數(shù)據(jù)都由這個子系統(tǒng)或模塊來校錯、編輯。(2)?按時間劃分,把要在同一時間段執(zhí)行的各種處理結(jié)合成一個子系統(tǒng)或模塊。(3)?按過程劃分,即按工作流程劃分。從控制流程的角度看,同一子系統(tǒng)或模塊的許多功能都應(yīng)該是相關(guān)的。(4)?按通信劃分,把相互需要較多通信的處理結(jié)合成一個子系統(tǒng)或模塊。這樣可減少子系統(tǒng)間或模塊間的通信,使接口變得簡單。(5)?按職能劃分,即按管理的功能劃分。例如,財(cái)務(wù)、物資、銷售子系統(tǒng),或輸入記賬憑證、計(jì)算機(jī)優(yōu)解子系統(tǒng)或模塊等。一般來說,按職能劃分子系統(tǒng),按邏輯劃分模塊的方式是比較合理和方便的。2.?總體功能結(jié)構(gòu)設(shè)計(jì)總體功能結(jié)構(gòu)設(shè)計(jì)是根據(jù)系統(tǒng)規(guī)劃中U/C矩陣明確了的各個子系統(tǒng)界限的劃分和各個子系統(tǒng)涵蓋的主要功能,結(jié)合系統(tǒng)分析報(bào)告的業(yè)務(wù)流程分析、數(shù)據(jù)流程分析的內(nèi)容,構(gòu)建系統(tǒng)總體功能結(jié)構(gòu),并進(jìn)行分層功能結(jié)構(gòu)設(shè)計(jì),經(jīng)過層層分解,把一個復(fù)雜的系統(tǒng)分解為多個功能較為簡單、大小適當(dāng)、任務(wù)單一、相對獨(dú)立、易于實(shí)現(xiàn)的功能模塊。頂層功能較為綜合,底層功能更加具體,以系統(tǒng)總體功能結(jié)構(gòu)圖的方式反映系統(tǒng)的各項(xiàng)功能關(guān)系。根據(jù)系統(tǒng)分析階段產(chǎn)生的數(shù)據(jù)處理過程分析、數(shù)據(jù)字典等內(nèi)容,系統(tǒng)設(shè)計(jì)人員編寫系統(tǒng)的功能模塊說明。在總體功能結(jié)構(gòu)設(shè)計(jì)時,應(yīng)注意以下問題:(1)?在MIS總體功能結(jié)構(gòu)設(shè)計(jì)時,業(yè)務(wù)內(nèi)容或者處理邏輯功能相近的模塊應(yīng)盡可能劃分到同一個子系統(tǒng)或同一主功能模塊下,做到層次結(jié)構(gòu)分明、一目了然,同時應(yīng)盡量避免不同系統(tǒng)模塊的功能交叉。(2)?系統(tǒng)設(shè)計(jì)人員要將初步確定的系統(tǒng)總體功能結(jié)構(gòu)同系統(tǒng)實(shí)施人員進(jìn)行交流,充分考慮系統(tǒng)功能結(jié)構(gòu)實(shí)施的難易程度及可能存在的問題,做到功能結(jié)構(gòu)合理、操作可行、實(shí)施簡單方便。(3)?總體功能設(shè)計(jì)還要與用戶進(jìn)行溝通,給用戶講解系統(tǒng)的功能結(jié)構(gòu),聽取用戶對系統(tǒng)功能布局的意見,經(jīng)過幾輪的交流修改后,確定最終的系統(tǒng)總體功能結(jié)構(gòu)。(4)?模塊之間的相互關(guān)系則通過模塊結(jié)構(gòu)圖予以詳細(xì)說明,各模塊在這些關(guān)系的約束下,共同構(gòu)成了一個統(tǒng)一的信息系統(tǒng),完成系統(tǒng)的功能。圖10.1是某工資管理信息系統(tǒng)的功能結(jié)構(gòu)圖。3.?模塊結(jié)構(gòu)設(shè)計(jì)模塊是指獨(dú)立命名并且擁有明確定義的實(shí)體。系統(tǒng)中任何一個處理功能都可以看成是一個模塊。模塊結(jié)構(gòu)設(shè)計(jì)的主要目標(biāo)是在系統(tǒng)總體功能結(jié)構(gòu)的基礎(chǔ)上,將結(jié)構(gòu)化系統(tǒng)分析方法得到的數(shù)據(jù)流程圖轉(zhuǎn)化為系統(tǒng)的功能模塊結(jié)構(gòu),并明確各模塊之間的控制關(guān)系,即導(dǎo)出模塊結(jié)構(gòu)圖的過程。因此,結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)采用模塊結(jié)構(gòu)圖來描述系統(tǒng)的模塊結(jié)構(gòu)和模塊之間的關(guān)系。結(jié)構(gòu)化方法的基本思想就是模塊化,即把系統(tǒng)功能自頂向下、由抽象到具體地劃分為多層次的獨(dú)立功能模塊,每個模塊完成一個特定的功能,一直分解到能簡單地用程序?qū)崿F(xiàn)為止。這些模塊以某種結(jié)構(gòu)形式組成一個整體,可以完成指定的功能。模塊劃分要兼顧組織實(shí)際情況,經(jīng)過對實(shí)際系統(tǒng)業(yè)務(wù)流程、管理功能、數(shù)據(jù)流程等方面的詳細(xì)了解和分析后,從整體上考慮新系統(tǒng)的功能。這種設(shè)計(jì)方法能夠使系統(tǒng)結(jié)構(gòu)更加清晰,提高了系統(tǒng)的可理解性和可用性。通過簡化軟件的設(shè)計(jì)和實(shí)施,有助于信息系統(tǒng)開發(fā)和組織管理,增強(qiáng)可維護(hù)性。1)?模塊結(jié)構(gòu)圖介紹模塊結(jié)構(gòu)圖又稱控制結(jié)構(gòu)圖、系統(tǒng)結(jié)構(gòu)圖,它用一組特殊的圖形符號按照一定的規(guī)則描述系統(tǒng)整體結(jié)構(gòu)。模塊結(jié)構(gòu)圖中的主要成分:模塊、調(diào)用、數(shù)據(jù)和控制信息,如圖10.2所示。調(diào)用是從一個模塊指向另一個模塊的,箭頭表示前一個模塊調(diào)用后一個模塊。模塊調(diào)用又有直接調(diào)用、通過條件判斷進(jìn)行判斷調(diào)用和上層模塊重復(fù)調(diào)用下層模塊的循環(huán)調(diào)用三種調(diào)用方式,如圖10.3所示。數(shù)據(jù)是反映事物某些特征的具體數(shù)據(jù)。當(dāng)一個模塊調(diào)用另一個模塊時,調(diào)用模塊可以把數(shù)據(jù)傳送到被調(diào)用模塊處供處理,而被調(diào)用模塊又可以將處理的結(jié)果數(shù)據(jù)送回到調(diào)用模塊;控制信息是為了指導(dǎo)程序下一步的執(zhí)行必須傳遞的某些信息,例如,數(shù)據(jù)輸入完成后給出的結(jié)束標(biāo)志,文件讀到末尾所產(chǎn)生的文件結(jié)束標(biāo)志等,如圖10.4所示。2)?模塊結(jié)構(gòu)設(shè)計(jì)過程MIS的數(shù)據(jù)流程圖一般有兩種典型結(jié)構(gòu):變換型結(jié)構(gòu)的數(shù)據(jù)流程圖和事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流程圖。(1)?變換型結(jié)構(gòu)的數(shù)據(jù)流程圖。①找出變換型結(jié)構(gòu)數(shù)據(jù)流程圖中的變換中心,確定為主加工,如圖10.5所示。②設(shè)計(jì)頂層模塊和第一層模塊,如圖10.6所示。③設(shè)計(jì)中、下層模塊。該過程由頂向下遞歸進(jìn)行,直到系統(tǒng)的物理輸入端或物理輸出端為止。每設(shè)計(jì)出一個新模塊,應(yīng)給它起一個能反映模塊功能的名字。圖10.7為變換型結(jié)構(gòu)數(shù)據(jù)流程圖的應(yīng)用舉例。(2)?事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流程圖。①?確定以事務(wù)為中心的結(jié)構(gòu),包括找出事務(wù)中心和事務(wù)來源。②?按功能劃分事務(wù),將具備相同功能的事務(wù)歸為同一類,建立事務(wù)模塊。③?為每個事務(wù)處理模塊建立全部的操作層模塊。其建立方法與變換型結(jié)構(gòu)的方法類似,但事務(wù)處理模塊可以共享某些操作模塊。④?若有必要,則為操作層模塊定義相應(yīng)的細(xì)節(jié)模塊,并盡可能使細(xì)節(jié)模塊被多個操作模塊共享。如圖10.8為事務(wù)型結(jié)構(gòu)數(shù)據(jù)流程圖的應(yīng)用舉例。3)?模塊間的聯(lián)系在一個管理信息系統(tǒng)中,系統(tǒng)的各組成部分之間總是存在著各種聯(lián)系的,將系統(tǒng)或子系統(tǒng)劃分成若干模塊,則一個模塊內(nèi)部的聯(lián)系就是塊內(nèi)聯(lián)系,而穿越模塊邊界的聯(lián)系就是塊間聯(lián)系。模塊化設(shè)計(jì)的一個基本思想是系統(tǒng)模塊結(jié)構(gòu)的獨(dú)立性,同時模塊的內(nèi)部功能應(yīng)緊密聯(lián)系,不要過于松散。由于模塊之間的互相聯(lián)系越多,模塊的獨(dú)立性就越少,因此引入了模塊耦合和內(nèi)聚的概念。衡量模塊的獨(dú)立性程度的指標(biāo)是模塊耦合和模塊內(nèi)聚,它們從不同的角度反映了模塊的獨(dú)立性。(1)?模塊耦合。模塊間的信息聯(lián)系稱為模塊耦合,用于表征模塊的外部特征,反映出模塊之間聯(lián)系的緊密程度。模塊耦合形式和獨(dú)立性如圖10.9所示。(2)?模塊內(nèi)聚。模塊內(nèi)部自身功能的內(nèi)在聯(lián)系稱為模塊內(nèi)聚,也稱為模塊內(nèi)部緊湊性,是用以衡量模塊內(nèi)部自身功能的內(nèi)在聯(lián)系是否緊密的指標(biāo)。模塊內(nèi)聚形式和獨(dú)立性如圖10.10所示。4)?模塊設(shè)計(jì)優(yōu)化的原則(1)?模塊的獨(dú)立性。模塊的獨(dú)立性包括內(nèi)聚和耦合兩個指標(biāo)。耦合度越低,相互影響越小,系統(tǒng)獨(dú)立性越強(qiáng),故應(yīng)盡量降低模塊間的耦合度;相反,內(nèi)聚性越高,系統(tǒng)獨(dú)立性越強(qiáng)。內(nèi)聚性的強(qiáng)弱將直接影響系統(tǒng)功能實(shí)現(xiàn)的復(fù)雜性,應(yīng)盡量提高模塊的內(nèi)聚性。根據(jù)“高內(nèi)聚、低耦合”原則來提高模塊的獨(dú)立性,可使其便于實(shí)現(xiàn)、修改和維護(hù)。(2)?模塊的大小。模塊的大小指的是實(shí)現(xiàn)模塊所需編寫程序的行數(shù)。過大的模塊常常使系統(tǒng)分解不充分,其內(nèi)部可能包含了若干部分的功能;過小的模塊有可能降低模塊的獨(dú)立性,造成系統(tǒng)接口的復(fù)雜。模塊的大小設(shè)計(jì)應(yīng)盡量減少設(shè)計(jì)復(fù)雜性,提高程序可讀性和可維護(hù)性。雖然模塊設(shè)計(jì)得不能過大也不能過小,但也不能生硬地劃分,設(shè)計(jì)的出發(fā)點(diǎn)還應(yīng)是保證功能劃分的合理性。(3)?扇入和扇出。在進(jìn)行系統(tǒng)模塊結(jié)構(gòu)的層次設(shè)計(jì)時,模塊的扇入系數(shù)和扇出系數(shù)要合理。扇出系數(shù)就是一個模塊調(diào)用其他模塊的個數(shù)。扇入系數(shù)就是直接調(diào)用該模塊的模塊個數(shù)。經(jīng)驗(yàn)表明,一個設(shè)計(jì)好的系統(tǒng)應(yīng)有較高的扇出系數(shù)和較低的扇入系數(shù),平均扇入、扇出系數(shù)通常是3或4,一般不應(yīng)超過7,否則會引起出錯概率的增加。通常高層扇出系數(shù)較高,中層扇出系數(shù)較少,底層扇入系數(shù)較高。(4)?作用范圍和控制范圍。判斷的作用范圍是指受這個判斷影響的模塊,即操作執(zhí)行依賴于此判定的模塊。模塊的控制范圍是指模塊本身及其所有的下屬模塊。好的模塊設(shè)計(jì)應(yīng)滿足判定的作用范圍在模塊的控制范圍之內(nèi),判定所在的模塊在模塊層次結(jié)構(gòu)中的位置不能太高。10.2.4系統(tǒng)流程設(shè)計(jì)數(shù)據(jù)流程圖描述了系統(tǒng)從輸入到信息輸出的邏輯過程,模塊結(jié)構(gòu)圖從功能的角度描述了系統(tǒng)的應(yīng)用結(jié)構(gòu),但在系統(tǒng)實(shí)施時,還需要了解各個功能模塊之間的數(shù)據(jù)傳遞關(guān)系,因此需要對系統(tǒng)流程進(jìn)行設(shè)計(jì)。事實(shí)上,MIS中功能模塊數(shù)據(jù)傳遞大多是以數(shù)據(jù)庫表的形式進(jìn)行的,本節(jié)以數(shù)據(jù)流程圖和模塊結(jié)構(gòu)圖為基礎(chǔ),用系統(tǒng)流程圖的方式來描述模塊間的數(shù)據(jù)關(guān)系。系統(tǒng)流程圖的圖例元素如圖10.11所示。從數(shù)據(jù)流程圖到系統(tǒng)流程圖并非僅僅是符號的改換,還應(yīng)考慮哪些處理功能可以合并,或者可以進(jìn)一步分解,然后把有關(guān)的處理看成是系統(tǒng)流程圖中的一個處理功能。圖10.12是一個新系統(tǒng)的數(shù)據(jù)流程圖轉(zhuǎn)換為系統(tǒng)流程圖的示例。圖10.13是某企業(yè)工資管理子系統(tǒng)的系統(tǒng)流程圖。10.2.5代碼設(shè)計(jì)為了適應(yīng)計(jì)算機(jī)處理信息的特點(diǎn),在管理信息系統(tǒng)中,對大量的實(shí)體信息都要進(jìn)行代碼設(shè)計(jì),以便于檢索,如職工編號、物資編號、部門編號、產(chǎn)品編號、零部件及材料編號等,這一活動被稱為代碼設(shè)計(jì)。1.?代碼的作用代碼是人為確定的用以代表客觀事物(實(shí)體)名稱、屬性或狀態(tài)等的數(shù)字、字母等符號。代碼以簡短的符號形式代替了具體的文字說明,具有簡潔、形象、便于記憶、便于計(jì)算機(jī)識別和處理的特點(diǎn)。在MIS中代碼的作用有以下3個方面:(1)?唯一化。在現(xiàn)實(shí)世界中有很多事物,如果我們不加標(biāo)識是無法區(qū)分的,這時機(jī)器處理就十分困難。所以能否將原來不能確定的事物,唯一地加以標(biāo)識是編制代碼的首要任務(wù)。(2)?規(guī)范化。唯一化雖是代碼設(shè)計(jì)的首要任務(wù),但如果我們僅僅為了唯一化來編制代碼,那么編出的代碼可能是雜亂無章的,使人無法辨認(rèn),而且使用起來也不方便。(3)?系統(tǒng)化。系統(tǒng)所用代碼應(yīng)盡量標(biāo)準(zhǔn)化。在實(shí)際工作中,一般企業(yè)所用的大部分編碼都遵循國家標(biāo)準(zhǔn)或行業(yè)標(biāo)準(zhǔn)。2.?代碼的種類代碼的種類很多,根據(jù)代碼符號的表示形式可分成數(shù)字碼、字符碼和混合碼,根據(jù)代碼的組成和含義可以分成順序碼、區(qū)間碼、助記碼等。1)?順序碼順序碼又稱系列碼,是一種用連續(xù)數(shù)字代表編碼對象的碼。例如:用1代表廠長,2代表科長,3代表科員,4代表生產(chǎn)工人等。優(yōu)點(diǎn):短而簡單,記錄的定位方法簡單,易于管理。缺點(diǎn):代碼本身沒有給出對象的任何其他信息(沒有邏輯基礎(chǔ))。2)?區(qū)間碼區(qū)間碼把數(shù)據(jù)項(xiàng)分成若干組,每一區(qū)間代表一個組,碼中數(shù)字的值和位置都代表一定的意義。圖10.14為郵政編碼,這種編碼形式就屬于區(qū)間碼。3)?助記碼助憶碼是為了幫助記憶,用文字、數(shù)字或文字?jǐn)?shù)字結(jié)合進(jìn)行描述的代碼,其特點(diǎn)是可以通過聯(lián)想幫助記憶。3.?代碼設(shè)計(jì)的原則代碼設(shè)計(jì)必須遵循以下基本原則:(1)?唯一性和統(tǒng)一性。盡管編碼對象有不同的名稱、不同的描述,但編碼必須保證一個編碼對象僅被賦予一個代碼,一個代碼只反映一個編碼對象。(2)?適應(yīng)性和可擴(kuò)性。代碼結(jié)構(gòu)必須能適應(yīng)編碼對象不斷增加的需要,也就是說,必須為新的編碼對象留有足夠的備用碼,以適應(yīng)分類編碼對象的特征或?qū)傩砸约捌湎嗷リP(guān)系可能出現(xiàn)的變化。(3)?可識別性和含義性。代碼應(yīng)盡可能反映分類編碼對象的特點(diǎn),以助于記憶,便于人們了解和使用,并減少機(jī)器處理時間。(4)?穩(wěn)定性和規(guī)范性。代碼不宜頻繁變動,編碼時應(yīng)考慮其變化的可能性,盡可能保持代碼系統(tǒng)的相對穩(wěn)定性。4.?代碼的設(shè)計(jì)步驟代碼設(shè)計(jì)可按下列步驟進(jìn)行:(1)?確定代碼對象。(2)?考查是否已有標(biāo)準(zhǔn)代碼。如果國家標(biāo)準(zhǔn)局、某個部門對某些事物已規(guī)定了標(biāo)準(zhǔn)代碼,那么應(yīng)遵循這些標(biāo)準(zhǔn)代碼。如果沒有標(biāo)準(zhǔn)代碼,那么在代碼設(shè)計(jì)時要參考國際標(biāo)準(zhǔn)化組織、其他國家、其他部門、其他單位的編碼標(biāo)準(zhǔn),設(shè)計(jì)出便于今后標(biāo)準(zhǔn)化的代碼。(3)?根據(jù)代碼的使用范圍、使用時間,根據(jù)實(shí)際情況選擇代碼的種類與類型。(4)?考慮檢錯功能。(5)?編寫代碼表。代碼編好后,要編制代碼表,做詳細(xì)說明,通知有關(guān)部門并組織學(xué)習(xí),以便正確使用。10.2.6數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是MIS系統(tǒng)設(shè)計(jì)的核心工作之一。從20世紀(jì)70年代以來,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,數(shù)據(jù)庫技術(shù)得到迅速發(fā)展,MIS中的很多數(shù)據(jù)是以數(shù)據(jù)庫為組織形式來存儲的。數(shù)據(jù)庫設(shè)計(jì)是在用戶需求分析的基礎(chǔ)上,進(jìn)行數(shù)據(jù)庫的概念結(jié)構(gòu)、邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三部分內(nèi)容的設(shè)計(jì)工作。數(shù)據(jù)庫設(shè)計(jì)根據(jù)系統(tǒng)數(shù)據(jù)的加工處理過程、數(shù)據(jù)的分布和存儲形式、安全保密要求等方面,來決定數(shù)據(jù)的整體組織形式、數(shù)據(jù)庫表或文件的存放形式、數(shù)據(jù)庫表的物理結(jié)構(gòu)和相互關(guān)系等一系列的問題。數(shù)據(jù)庫設(shè)計(jì)的主要步驟如圖10.15所示。1.?數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的關(guān)鍵環(huán)節(jié)之一,其設(shè)計(jì)目標(biāo)是在選定的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)上建立數(shù)據(jù)庫,是數(shù)據(jù)存儲的具體實(shí)現(xiàn),為數(shù)據(jù)處理過程實(shí)現(xiàn)提供數(shù)據(jù)的輸入和輸出的平臺。良好的數(shù)據(jù)庫設(shè)計(jì)應(yīng)體現(xiàn)在對系統(tǒng)各類數(shù)據(jù)的管理上,滿足組織管理工作的需求,操作簡單,維護(hù)方便。數(shù)據(jù)庫設(shè)計(jì)應(yīng)滿足下列要求:(1)?用戶的應(yīng)用需求。數(shù)據(jù)庫設(shè)計(jì)首先應(yīng)滿足用戶的各類信息要求和各種數(shù)據(jù)處理請求,其次要考慮所選用的數(shù)據(jù)庫管理系統(tǒng)性能是否滿足用戶的需求,最后考慮數(shù)據(jù)庫對系統(tǒng)經(jīng)濟(jì)效益的影響。(2)?良好的數(shù)據(jù)庫管理性能。數(shù)據(jù)庫設(shè)計(jì)除了滿足用戶的需求外,還應(yīng)保證系統(tǒng)數(shù)據(jù)的完整性、一致性、可靠性、共享性、最小冗余以及數(shù)據(jù)安全,同時還要有良好的數(shù)據(jù)維護(hù)功能。(3)?數(shù)據(jù)庫設(shè)計(jì)人員的要求。由于數(shù)據(jù)庫設(shè)計(jì)涉及MIS開發(fā)的各個環(huán)節(jié),因此,數(shù)據(jù)庫設(shè)計(jì)時要求有系統(tǒng)分析員、設(shè)計(jì)員、編程人員、數(shù)據(jù)庫理論專家、系統(tǒng)數(shù)據(jù)庫管理員等人員的共同參與。2.?數(shù)據(jù)庫設(shè)計(jì)的步驟數(shù)據(jù)庫設(shè)計(jì)過程具有一定的規(guī)律和標(biāo)準(zhǔn)。在設(shè)計(jì)過程中,通常采用“分階段法”,即“自頂向下,逐步求精”的設(shè)計(jì)原則。將數(shù)據(jù)庫設(shè)計(jì)過程分解為若干相互依存的階段,稱之為步驟。每一階段采用不同的技術(shù)、工具解決不同的問題,從而將一個大的問題局部化,減少局部問題對整體設(shè)計(jì)的影響及依賴,并利于多人合作。目前數(shù)據(jù)庫設(shè)計(jì)主要采用以邏輯數(shù)據(jù)庫設(shè)計(jì)和物理數(shù)據(jù)庫設(shè)計(jì)為核心的規(guī)范化設(shè)計(jì)方法,即將數(shù)據(jù)庫設(shè)計(jì)分為需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫物理設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫運(yùn)行和維護(hù)六個階段。(1)?需求分析階段。需求分析是對用戶提出的各種要求加以分析,對各種原始數(shù)據(jù)加以綜合、整理,是形成最終設(shè)計(jì)目標(biāo)的首要階段,也是整個數(shù)據(jù)庫設(shè)計(jì)過程中最困難的階段,是以后各階段任務(wù)的基礎(chǔ)。因此,對用戶的各種需求及數(shù)據(jù)能否作出準(zhǔn)確無誤、充分完備的分析,并在此基礎(chǔ)上形成最終目標(biāo),是整個數(shù)據(jù)庫設(shè)計(jì)成敗的關(guān)鍵。(2)?概念結(jié)構(gòu)設(shè)計(jì)階段。概念結(jié)構(gòu)設(shè)計(jì)是對用戶需求進(jìn)行進(jìn)一步抽象、歸納,并形成獨(dú)立于DBMS和有關(guān)軟、硬件的概念數(shù)據(jù)模型的設(shè)計(jì)過程,這是對現(xiàn)實(shí)世界中具體數(shù)據(jù)的首次抽象,完成從現(xiàn)實(shí)世界到信息世界的轉(zhuǎn)化過程。數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì),都是以概念結(jié)構(gòu)設(shè)計(jì)階段所形成的抽象結(jié)構(gòu)為基礎(chǔ)進(jìn)行的。因此,概念結(jié)構(gòu)設(shè)計(jì)是數(shù)據(jù)庫設(shè)計(jì)的一個重要環(huán)節(jié)。數(shù)據(jù)庫的概念結(jié)構(gòu)通常用E-R模型等來刻畫。(3)?邏輯結(jié)構(gòu)設(shè)計(jì)階段。邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)化為某個DBMS所支持的數(shù)據(jù)模型,并進(jìn)行優(yōu)化的設(shè)計(jì)過程。由于邏輯結(jié)構(gòu)設(shè)計(jì)是一個基于具體DBMS的實(shí)現(xiàn)過程,所以選擇什么樣的數(shù)據(jù)模型尤為重要,其次是數(shù)據(jù)模型的優(yōu)化。數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P偷?,設(shè)計(jì)人員可選擇其中之一,并結(jié)合具體的DBMS實(shí)現(xiàn)。在邏輯結(jié)構(gòu)設(shè)計(jì)階段后期的優(yōu)化工作,已成為影響數(shù)據(jù)庫設(shè)計(jì)質(zhì)量的一項(xiàng)重要工作。(4)?數(shù)據(jù)庫物理設(shè)計(jì)階段。數(shù)據(jù)庫物理設(shè)計(jì)階段是將邏輯結(jié)構(gòu)設(shè)計(jì)階段所產(chǎn)生的邏輯數(shù)據(jù)模型,轉(zhuǎn)換為某種計(jì)算機(jī)系統(tǒng)所支持的數(shù)據(jù)庫物理結(jié)構(gòu)的實(shí)現(xiàn)過程。這里,數(shù)據(jù)庫在相關(guān)存儲設(shè)備上的存儲結(jié)構(gòu)和存取方法,稱為數(shù)據(jù)庫的物理結(jié)構(gòu)。完成物理結(jié)構(gòu)設(shè)計(jì)后,對該物理結(jié)構(gòu)做出相應(yīng)的性能評價,若評價結(jié)果符合原設(shè)計(jì)要求,則進(jìn)一步實(shí)現(xiàn)該物理結(jié)構(gòu);否則,對該物理結(jié)構(gòu)做出相應(yīng)的修改。屬于最初設(shè)計(jì)問題所導(dǎo)致的物理結(jié)構(gòu)的缺陷,必須返回到概念設(shè)計(jì)階段修改其概念數(shù)據(jù)模型或重新建立概念數(shù)據(jù)模型,如此反復(fù),直至評價結(jié)構(gòu)最終滿足原設(shè)計(jì)要求為止。(5)?數(shù)據(jù)庫實(shí)施階段。數(shù)據(jù)庫實(shí)施階段即數(shù)據(jù)庫調(diào)試、試運(yùn)行階段。一旦數(shù)據(jù)庫物理結(jié)構(gòu)形成,就可以用已選定的DBMS來定義、描述相應(yīng)的數(shù)據(jù)庫結(jié)構(gòu),裝入數(shù)據(jù)庫數(shù)據(jù),以生成完整的數(shù)據(jù)庫,編制有關(guān)應(yīng)用程序,進(jìn)行聯(lián)機(jī)調(diào)試并轉(zhuǎn)入試運(yùn)行,同時進(jìn)行時間、空間等性能分析。若不符合要求,則需調(diào)整物理結(jié)構(gòu)、修改應(yīng)用程序,直至高效、穩(wěn)定、正確地運(yùn)行該數(shù)據(jù)庫系統(tǒng)為止。(6)?數(shù)據(jù)庫運(yùn)行和維護(hù)階段。數(shù)據(jù)庫實(shí)施階段結(jié)束,標(biāo)志著數(shù)據(jù)庫系統(tǒng)投入正常運(yùn)行工作的開始。隨著對數(shù)據(jù)庫設(shè)計(jì)的深刻了解和設(shè)計(jì)水平的不斷提高,人們已經(jīng)充分認(rèn)識到數(shù)據(jù)庫運(yùn)行和維護(hù)工作與數(shù)據(jù)庫設(shè)計(jì)的緊密聯(lián)系。數(shù)據(jù)庫是一種動態(tài)和不斷完善的運(yùn)行過程,運(yùn)行和維護(hù)階段的開始,并不意味著設(shè)計(jì)過程的結(jié)束,哪怕只有微小的結(jié)構(gòu)改變,也可能會引起對物理結(jié)構(gòu)的調(diào)整、修改,甚至物理結(jié)構(gòu)的完全改變,因此數(shù)據(jù)庫運(yùn)行和維護(hù)階段是保證數(shù)據(jù)庫日?;顒拥囊粋€重要階段。3.?概念結(jié)構(gòu)設(shè)計(jì)階段采用E-R方法進(jìn)行數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì),建立概念模型。E-R方法是設(shè)計(jì)概念模型時常用的方法。用設(shè)計(jì)好的E-R圖再附相應(yīng)的說明書可作為階段成果。1)?建立局部概念模型建立局部E-R圖的步驟如下:(1)?確定局部概念模型的范圍。(2)?定義實(shí)體。(3)?定義聯(lián)系。(4)?確定屬性。確定屬性的原則是:屬性是不可再分解的語義單位,實(shí)體與屬性間應(yīng)是1∶n的關(guān)聯(lián),隸屬不同實(shí)體型的屬性間無直接關(guān)聯(lián),不宜隸屬任一實(shí)體型的屬性應(yīng)作為聯(lián)系的屬性。(5)?逐一畫出所有的局部E-R圖,附以相應(yīng)的說明文件。2)?建立全局概念模型建立全局E-R圖的步驟如下:(1)?確定公共實(shí)體類型。檢查存在于多個局部E-R圖的公共實(shí)體類型。這里的公共實(shí)體類型是指同名的實(shí)體類型和具有相同鍵的實(shí)體類型。(2)?合并局部E-R圖。把局部E-R圖逐一合并到全局E-R圖中,對每個局部E-R圖,首先合并公共實(shí)體類型,其次合并那些有聯(lián)系的局部結(jié)構(gòu),最后加入其他獨(dú)立的局部結(jié)構(gòu)。(3)?消除不一致因素。局部E-R圖間存在的不一致又稱沖突,有命名沖突、屬性沖突、結(jié)構(gòu)沖突等。(4)?優(yōu)化全局E-R圖。對并得到的全局E-R圖進(jìn)行優(yōu)化。(5)?畫出全局E-R圖,附以相應(yīng)的說明文件。3)?概念模型的優(yōu)化與評審一個好的全局E-R圖除能反映用戶功能需求外,還應(yīng)滿足下列條件:實(shí)體類型個數(shù)盡可能少;實(shí)體類型所含屬性盡可能少;實(shí)體類型間聯(lián)系無冗余。優(yōu)化就是要達(dá)到這三個目的,即相關(guān)實(shí)體類型的合并、冗余屬性的消除、冗余聯(lián)系的消除。但要注意效率,根據(jù)具體情況可存在適當(dāng)冗余。全局E-R圖的優(yōu)化原則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論