管理信息系統(tǒng)第07章_第1頁
管理信息系統(tǒng)第07章_第2頁
管理信息系統(tǒng)第07章_第3頁
管理信息系統(tǒng)第07章_第4頁
管理信息系統(tǒng)第07章_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一節(jié)系統(tǒng)設(shè)計概述 第二節(jié)系統(tǒng)詳細設(shè)計第七章管理信息系統(tǒng)的系統(tǒng)設(shè)計轉(zhuǎn)換從分析到設(shè)計現(xiàn)實領(lǐng)域的各種需求系統(tǒng)的邏輯模型計算機領(lǐng)域的具體實現(xiàn)根據(jù)需求設(shè)計系統(tǒng)物理模型 本節(jié)內(nèi)容:一、系統(tǒng)設(shè)計的任務(wù)二、系統(tǒng)設(shè)計的原那么第一節(jié)系統(tǒng)設(shè)計概述系統(tǒng)設(shè)計的任務(wù)在系統(tǒng)分析提出的邏輯模型的根底上,科學合理地進行物理模型的設(shè)計。主要是解決“怎樣做〞的問題。系統(tǒng)設(shè)計的具體工作總體設(shè)計代碼設(shè)計和設(shè)計標準的制定系統(tǒng)物理配置方案設(shè)計數(shù)據(jù)存儲設(shè)計計算機處理過程設(shè)計一、系統(tǒng)設(shè)計的任務(wù)系統(tǒng)性從整個系統(tǒng)的角度考慮,如系統(tǒng)的代碼要統(tǒng)一,設(shè)計標準要標準,傳遞語言要盡可能一致,對系統(tǒng)的數(shù)據(jù)采集要做到數(shù)出一處、全局共享等。靈活性要求系統(tǒng)具有很強的環(huán)境適應性,如盡量采用模塊化結(jié)構(gòu),提高各模塊的獨立性。可靠性如平安保密性、檢錯、糾錯能力、抗病毒能力等。經(jīng)濟性如不要盲目追求技術(shù)上的先進,盡量防止不必要的復雜化。二、系統(tǒng)設(shè)計的原那么系統(tǒng)設(shè)計的目標設(shè)計系統(tǒng)之前,先看看評價信息系統(tǒng)的標準,這些標準對任何設(shè)計方法都適用:信息系統(tǒng)的功能:是否滿足用戶的需求系統(tǒng)的效率:響應時間、操作的方便性系統(tǒng)的可靠性:抗干擾能力、故障恢復系統(tǒng)的工作質(zhì)量:準確性、使用效果系統(tǒng)的可變更性:修改和維護的難易程度系統(tǒng)的經(jīng)濟性:系統(tǒng)收益與支出比信息系統(tǒng)的可變更性變化是不變的真理。統(tǒng)計表示:在信息系統(tǒng)的整個生命周期中,系統(tǒng)維護本錢占總本錢的80%左右。因此,可變更性是衡量信息系統(tǒng)設(shè)計的重要指標。如何提高系統(tǒng)變更性結(jié)構(gòu)簡單系統(tǒng)各組成元素分工明確,易于理解元素之間的關(guān)系清晰簡潔變動靈活謹防軟件維護中的“水波效應〞使系統(tǒng)各組成元素內(nèi)部的改變?nèi)菀讓崿F(xiàn),改動對其它局部的影響盡量減少提前考慮將來最易出現(xiàn)的擴展和變更設(shè)計方法:結(jié)構(gòu)化設(shè)計技術(shù)和面向?qū)ο笤O(shè)計技術(shù)系統(tǒng)設(shè)計的內(nèi)容一般劃分為兩局部:總體設(shè)計也稱概要設(shè)計明確軟件的體系結(jié)構(gòu)〔也稱架構(gòu)architecture〕、組成元素及其結(jié)構(gòu)〔structure〕架構(gòu)表示抽象的框架模式,結(jié)構(gòu)那么是指具體元素及其關(guān)系詳細設(shè)計各項具體細節(jié),設(shè)計硬件軟件的各個方面結(jié)構(gòu)化方法的總體設(shè)計主要包括:將系統(tǒng)劃分成程序模塊;決定每個模塊的功能;決定模塊的調(diào)用關(guān)系;決定模塊的界面〔接口〕,即調(diào)用時傳入的信息〔函數(shù)參數(shù)〕,以及返回的信息〔返回值〕。簡單地說,就是繪制模塊結(jié)構(gòu)圖〔1〕結(jié)構(gòu)化方法的總體設(shè)計〔2〕面向?qū)ο蠓椒ǖ目傮w設(shè)計面向?qū)ο蠓椒ǖ目傮w設(shè)計主要包括:識別系統(tǒng)中的對象,設(shè)計類;決定每個類的屬性和操作〔功能〕;決定對象之間的協(xié)作關(guān)系;將類劃分為組件,決定組件的依賴關(guān)系?!?〕詳細設(shè)計包括代碼設(shè)計輸入設(shè)計輸出設(shè)計人機交互設(shè)計〔用戶界面設(shè)計〕模塊處理過程詳細設(shè)計/類及用例的詳細設(shè)計數(shù)據(jù)庫設(shè)計技術(shù)系統(tǒng)的設(shè)計結(jié)構(gòu)化設(shè)計的根本概念結(jié)構(gòu)化:自上至下,逐步分解求精結(jié)構(gòu)化設(shè)計:模塊化模塊化因為根據(jù)經(jīng)驗:對于問題1〔P1〕和問題2〔P2〕 假設(shè):C(P1)>C(P2) 那么:E(P1)>E(P2)有規(guī)律顯示:C(P1+P2)>C(P1)+C(P2) 那么:E(P1+P2)>E(P1)+E(P2)C表示復雜度,E表示需要的工作量模塊化設(shè)計方法使用結(jié)構(gòu)化設(shè)計方法一定程度上能夠簡化系統(tǒng)結(jié)構(gòu),使系統(tǒng)容易修改和理解。具體做法:把整個軟件劃分為局部,其中每一局部的功能簡單明確,即程序模塊〔可以是子過程或函數(shù)〕劃分模塊的工作按層次進行,上層模塊調(diào)用下層模塊每一個模塊應盡可能獨立模塊間的調(diào)用接口要說明〔模塊名稱、輸入數(shù)據(jù)、輸出數(shù)據(jù)〕接口本錢/集成本錢本錢/工作量模塊數(shù)量單元模塊本錢軟件總本錢模塊數(shù)量和軟件本錢粒度太大,單個模塊復雜度升高、維護困難粒度太小,管理與運行本錢升高試想一下:每個經(jīng)理管理協(xié)調(diào)多少個下級適宜?一、模塊模塊(Module)一詞使用很廣泛。通常對應于用一個名字就可以調(diào)用的一段程序語句〔子程序或函數(shù)〕模塊具有輸入和輸出、邏輯功能、運行程序、內(nèi)部數(shù)據(jù)四種屬性。計算工資模塊的圖形表示方法模塊的函數(shù)接口表示doublecaculateSalary()二、結(jié)構(gòu)圖結(jié)構(gòu)圖(StructuredChart)描述系統(tǒng)的模塊結(jié)構(gòu)及模塊間的聯(lián)系結(jié)構(gòu)圖中的主要成分有:模塊:用長方形表示調(diào)用:從一個模塊指向另一模塊的箭頭表示前一個模塊調(diào)用后一個模塊。有循環(huán)調(diào)用和條件調(diào)用數(shù)據(jù):用帶圓圈的小箭頭表示從一個模塊傳遞給另一模塊的數(shù)據(jù)〔有實義〕控制信息:帶涂黑圓圈的小箭頭表示一個模塊傳送給另一模塊的控制信息主調(diào)模塊被調(diào)模塊被調(diào)模塊主調(diào)模塊被調(diào)模塊被調(diào)模塊循環(huán)調(diào)用條件調(diào)用1、結(jié)構(gòu)圖無嚴格的模塊調(diào)用順序,但一般習慣從左至右2、因為約定遵從從上向下的調(diào)用,調(diào)用關(guān)系也可以不使用箭頭,而直接使用直線3、模塊間傳遞的信息如果出現(xiàn)在數(shù)據(jù)字典中,那么視為數(shù)據(jù),否那么為控制信息結(jié)構(gòu)圖的畫法計算獲得有效數(shù)據(jù)生成報表打印報表獲得編輯數(shù)據(jù)核對數(shù)據(jù)打印表頭打印表尾讀入數(shù)據(jù)編輯數(shù)據(jù)顯示無效數(shù)據(jù)打印一行有效數(shù)據(jù)EOF編輯數(shù)據(jù)EOF有效數(shù)據(jù)編輯數(shù)據(jù)有效數(shù)據(jù)結(jié)果編輯數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)EOFEOF結(jié)果日期行行行總計一個完整的結(jié)構(gòu)圖三、模塊的聯(lián)系為了衡量模塊的相對獨立性,提出了模塊間的耦合(Coupling)與模塊的內(nèi)聚(Cohesion)兩個標準耦合:模塊和模塊之間的聯(lián)系程度內(nèi)聚:模塊內(nèi)部各元素之間的聯(lián)系程度設(shè)計目標:模塊內(nèi)的聯(lián)系越緊越好模塊間的聯(lián)系越少越好四、模塊的耦合doublecalculateAvg(){doubletotal,average,value[MAX];…… total=sum(value); average=total/MAX;return(average);}calculeteAvg和sum兩個模塊之間存在聯(lián)系影響耦合度的因素如果使用模塊A需要了解模塊B,那么A和B是耦合的。影響模塊間耦合程度有三方面的因素:聯(lián)系方式--模塊間通過什么方式聯(lián)系來往信息的作用--模塊間來往信息作什么用數(shù)量--模塊間來往信息的多少?;旌峡刂茢?shù)據(jù)用過程直接引用語句調(diào)用少多數(shù)量方式作用0離坐標原點越遠,耦合程度越高〔1〕聯(lián)系方式直接引用:一個模塊直接存取另一個模塊的某些信息,例如全程變量、FORTRAN的common量、C語言的extern量、共享的通信區(qū)等。也稱為公共環(huán)境耦合(commonenvironmentcoupling)降低這種耦合程度的方法是使數(shù)據(jù)局部化,即使用局部變量過程語句調(diào)用:一個模塊調(diào)用另一個模塊,所有數(shù)據(jù)來往都以參數(shù)或返回值方式傳遞并使用〔2〕來往信息的作用模塊間的來往信息可以作數(shù)據(jù)用,也可以作控制信息用A取平均成績或最高成績平均/最高B(a)控制耦合成績?nèi)∽罡叱煽內(nèi)∑骄煽傾平均成績最高成績(b)數(shù)據(jù)耦合〔3〕來往信息的數(shù)量模塊間傳遞的信息量越大,它們之間的耦合程度越高。一個模塊最好只了解它確實需要使用的數(shù)據(jù),而完全不知道其他數(shù)據(jù)的存在〔獨立性好〕減低耦合的設(shè)計原那么結(jié)構(gòu)化設(shè)計要求模塊間的耦合程度盡可能小。

為此應:用過程語句調(diào)用其它模塊模塊間的參數(shù)作數(shù)據(jù)用模塊間的參數(shù)盡可能少五、模塊的內(nèi)聚doubleCalculateAvg(){intn;doubletotal,average,value; scanf(“inputvalue:〞,&value); whilevalue<=0.0 { n=n+1; total=total+value; scanf(“\ninputvalue:〞,&value); } average=total/n;return(average);}模塊內(nèi)部各元素〔變量、語句〕之間存在聯(lián)系內(nèi)聚的好處模塊的內(nèi)聚反映模塊內(nèi)部聯(lián)系的緊密程度。一個模塊只需要做好一件事情,不要過分關(guān)心其它任務(wù)。高內(nèi)聚性的好處是可以提高程序的可靠性。有一個調(diào)查說明,50%的強內(nèi)聚性子程序是沒有錯誤的,而只有18%的弱內(nèi)聚性子程序才是無錯的,弱內(nèi)聚性子程序的出錯時機要比強內(nèi)聚性出錯時機高6倍,而修正本錢那么要高19倍。摘自《代碼大全》內(nèi)聚的類型模塊的內(nèi)聚可以分以下七類:1、偶然內(nèi)聚(coincidentalcohesion)2、邏輯內(nèi)聚(Logicalcohesion)3、時間內(nèi)聚(temporalcohesion)4、步驟內(nèi)聚(proceduralcohesion)5、通信內(nèi)聚(communicationalcohesion)6、順序內(nèi)聚(Sequentialcohesion)7、功能內(nèi)聚(functional_cohesion)當同一個子程序中的操作之間無任何聯(lián)系時,為偶然內(nèi)聚性,也叫作“無內(nèi)聚性〞。比方只是為了將程序中某幾處湊巧相同的一些語句組合起來形成的一個模塊:PQRS〔1〕偶然內(nèi)聚B=A;read(Cardfile);D=C;T將幾個邏輯上相似的功能放在一個模塊中準備算平均成績算最高成績返回Y取平均成績?N比方常見的出錯處理模塊,工作模塊發(fā)現(xiàn)錯誤后,調(diào)用錯誤處理模塊,將錯誤號作為控制參數(shù)傳入,然后出錯處理模塊根據(jù)不同的錯誤號執(zhí)行相應的操作〔2〕邏輯內(nèi)聚將在有限時間單元內(nèi)處理的成分組合為同一模塊比方在程序初始化時所作的處理:m_Medirecno=psPerson.MedirecnotxtMedirecno=psPerson.MedirecnotxtTel=psPerson.TeltxtContact=psPerson.ContacttxtAddr=psPerson.AddrtxtMedirecno.Enabled=False可視化程序設(shè)計中在窗口翻開時初始化窗口中得控件內(nèi)容,如列表框的工程、文本框或單項選擇鈕的缺省取值還比方:C++的構(gòu)造函數(shù)、析構(gòu)函數(shù)〔3〕時間內(nèi)聚〔4〕步驟內(nèi)聚當子程序中的操作是按某一特定過程結(jié)構(gòu)進行的,就是步驟內(nèi)聚。例如:用戶想按一定的順序打印告,子程序設(shè)計成是用于按順序打印銷售收入、開支、雇員表的。步驟內(nèi)聚在時間內(nèi)聚的根底上增加了次序的約束模塊劃分例如PREPPLANLOOPSTMRO〔主模塊〕TYPDECID準備好的矩陣指示標記準備好的矩陣指示標記矩陣指示標記局部結(jié)果、標簽等模塊PERP是一個初始化模塊,屬時間內(nèi)聚。模塊PLANLOOP和TYPDECID都屬于步驟內(nèi)聚。前者的元素用于控制主循環(huán),后者的元素負責主循環(huán)的整個判定執(zhí)行過程繪制劃分后的模塊圖當模塊內(nèi)的成分引用共同的數(shù)據(jù),而不存在其他聯(lián)系時,稱為通信內(nèi)聚修改庫存購貨單開發(fā)貨單庫存A、銷售模塊B、產(chǎn)生留退名單模塊期末不及格統(tǒng)計累計不及格統(tǒng)計留退名單學籍表〔5〕通信內(nèi)聚模塊中某個成分的輸出是另一成分的輸入。比方顯示期末成績通知:讀入學號讀取成績?nèi)〔患案窨颇咳】颇垦a考安排顯示數(shù)據(jù)判斷留退級〔6〕順序內(nèi)聚〔6〕順序內(nèi)聚順序內(nèi)聚有較強的內(nèi)聚性是步驟內(nèi)聚和通信內(nèi)聚的結(jié)合例如:一個模塊用于計算高于平均分的人數(shù),步驟是先循環(huán)累計總分,然后計算得到平均分,最后循環(huán)統(tǒng)計高于平均分的人數(shù)有步驟的先后,而且前一個步驟的結(jié)果要用于后一步驟的運算中但仍然不是最高的內(nèi)聚類型〔7〕功能內(nèi)聚一個模塊包括并且僅僅包括為完成一個具體任務(wù)所需要的所有成分,稱為功能內(nèi)聚。功能內(nèi)聚性是最強也是最好的一種內(nèi)聚例如:打印職工名單,PrintStaffList()例如:計算平均分,CalculateAvg()僅用一個動賓詞組能明確指出這個模塊的所有功能。內(nèi)聚的評分耦合和內(nèi)聚的概念是Stevens等人提出的,是測量一個模塊化系統(tǒng)好壞的標志。按他們的觀點,給上述七種內(nèi)聚評分如下:功能內(nèi)聚10分順序內(nèi)聚9分通信內(nèi)聚7分步驟內(nèi)聚5分時間內(nèi)聚3分邏輯內(nèi)聚1分偶然內(nèi)聚0分可以給一個軟件的所有模塊打分,最后計算平均分,作為軟件結(jié)構(gòu)質(zhì)量評價的參考耦合和內(nèi)聚的關(guān)系二者就像連體兄弟,存在緊密相關(guān)的關(guān)系:模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合反之,低內(nèi)聚一般會帶來緊耦合六、作用范圍與控制范圍一個判斷的作用范圍是所有這樣的模塊的集合,這些模塊內(nèi)含有依賴于這個判斷結(jié)果的處理?;蚍Q影響范圍。一個模塊的控制范圍是指它本身及其所有下屬模塊的集合。D計算總工資C計算職工工資B計算臨時工工資A計算工資模塊A的控制范圍是:A、B、C、D假設(shè)判斷x出現(xiàn)在模塊A中,并且僅在A中使用了x,那么該判斷的作用范圍是:A,而B、C、D不受影響判斷的設(shè)計原那么設(shè)計原那么:對于任何一個判斷,其作用范圍應該是這個判斷所在模塊的控制范圍的一個子集該原那么的目的:消除控制耦合,降低耦合度想象一下,假設(shè)某個控制標志在系統(tǒng)的很多局部發(fā)揮作用,那么可能會產(chǎn)生這樣一種情況:錯誤發(fā)作的位置離產(chǎn)生錯誤的源頭很遠,這給程序調(diào)試和維護帶來極大困難?!瞐)TOPXYAB1B2

B(b)BXYAB1B2TOPTOP(c)XBAB1B2Y

TOP(d)XYAB1B2B作用范圍和控制范圍圖示期末成績查詢Main〔〕{stuNo=讀入學號模塊調(diào)用成績查詢模塊調(diào)用顯示模塊}主模塊成績查詢模塊〔〕{調(diào)用查期末成績模塊如果有不及格科目那么 標志1=True 調(diào)用不及格處理模塊}不及格處理模塊〔〕{標志2=確定留退模塊〔〕如果標志2!=True那么 調(diào)用查補考安排模塊}顯示結(jié)果模塊〔〕{調(diào)用顯示成績模塊如果標志1==True那么 調(diào)用不及格顯示模塊}顯示不及格處理模塊〔〕{如果標志2==True那么 調(diào)用留退通知模塊否那么 調(diào)用補考通知模塊}子模塊學生期末成績查詢讀入學號顯示成績查詢成績顯示成績不及格處理確定留退顯示補考顯示留退改寫后的模塊圖七、模塊的扇入與扇出模塊的扇入是指有多少個上級模塊調(diào)用它。模塊的扇出是指模塊的直屬下層模塊的個數(shù),扇出系數(shù)不宜過大A的扇出為2ABCB1C1C2C3B的扇出為1C的扇出為3TT的扇入為2八、實例:病人監(jiān)護系統(tǒng)問題描述:病人監(jiān)護系統(tǒng)中的實時監(jiān)測模塊。該模塊使用病床專用設(shè)備測量病人的假設(shè)干生理參數(shù),如體溫、脈搏、血壓等等。每個病人各種指標的平安范圍由醫(yī)生預先指定。每經(jīng)過一定的時間間隔,監(jiān)測模塊從監(jiān)視設(shè)備讀入這些數(shù)據(jù),并存入數(shù)據(jù)庫中。假設(shè)發(fā)現(xiàn)某個指標超出合理范圍,那么向維修站發(fā)出設(shè)備故障通知,報告床號。假設(shè)發(fā)現(xiàn)某個指標越出平安范圍,那么向護理站發(fā)出通知,報告病人號。分析產(chǎn)生的DFD病人護理站病歷合理數(shù)據(jù)數(shù)據(jù)不平安因素讀取數(shù)據(jù)存儲數(shù)據(jù)檢查數(shù)據(jù)通報不平安因素維修站不合理數(shù)據(jù)可以劃分哪些模塊呢?FS2病人監(jiān)護采集數(shù)據(jù)檢查數(shù)據(jù)處理數(shù)據(jù)獲取下一個病人PN,F(xiàn)SEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,F(xiàn)SPN,F(xiàn)S,EFPN,EFPN,F(xiàn)SFSSR讀取數(shù)據(jù)檢查不合理范圍查詢平安范圍判定病人是否平安寫數(shù)據(jù)庫通報設(shè)備故障通報不平安因素EFBNPN,F(xiàn)SEFPN,BN〔1〕初始結(jié)構(gòu)圖PN—病人號;BN—床位號;SR—平安范圍;FS—各指標數(shù)據(jù);EF—設(shè)備故障標志;EOF——標志已查過最后一個病人; FS2—標志指標是否合理;USF—標志指標不平安〔2〕第1次改進“處理數(shù)據(jù)〞模塊沒有實質(zhì)性的功能,所包含的三個子模塊相互之間沒有什么關(guān)聯(lián),內(nèi)聚程度很低。該模塊只是充當了“管道〞,改進如下:廢除“處理數(shù)據(jù)〞模塊;直接由主模塊調(diào)用“通報設(shè)備故障〞、“通報不平安因素〞和“寫數(shù)據(jù)庫〞三個模塊病人監(jiān)護寫數(shù)據(jù)庫通報不平安因素通報設(shè)備故障檢查數(shù)據(jù)采集數(shù)據(jù)第1次改進結(jié)果〔3〕第2次改進通報設(shè)備故障時應通報床位號而不應是病人號,因此要傳遞床位號。床位號BN可由“采集數(shù)據(jù)〞模塊傳給主模塊,再由主模塊傳遞給“通知設(shè)備故障〞模塊。但這樣做增加了模塊間的聯(lián)系,改為由“采集數(shù)據(jù)〞模塊直接調(diào)用PN,F(xiàn)S病人監(jiān)護采集數(shù)據(jù)檢查數(shù)據(jù)通報不平安因素獲取下一個病人PN,F(xiàn)SEOF,EFPN,BNEOFFSEFUSFUSFPNFS2PN,EFPN,F(xiàn)SFSSRSR讀取數(shù)據(jù)檢查不合理范圍查詢平安范圍判定病人是否平安寫數(shù)據(jù)庫通報設(shè)備故障EFBNPN,F(xiàn)SEFFS第2次改進結(jié)果〔3〕第3次改進假設(shè)由“檢查數(shù)據(jù)〞模塊直接調(diào)用“通報不平安因素〞模塊,那么可減少模塊間的聯(lián)系,即不用傳遞USF標志〔排除控制耦合〕。這樣的話,“檢查數(shù)據(jù)〞的名字改為“報告不平安因素〞更為恰當?shù)?次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不平安因素寫數(shù)據(jù)庫PN,F(xiàn)SEOF,EFEFUSFPNSR,F(xiàn)SEFPN,F(xiàn)S查詢平安范圍通報不平安因素PN,F(xiàn)S判定病人是否平安〔4〕第4次改進“獲取下一個病人〞模塊要返回病人號和床位號,接口比較復雜。如果使“讀取數(shù)據(jù)〞模塊包括從病人號查床位號的功能,那么“獲取下一個病人〞模塊的接口可以簡化第4次改進結(jié)果采集數(shù)據(jù)獲取下一個病人PNEOFFSEFPNBNFS讀取數(shù)據(jù)檢查不合理因素從PN查BNPN通報設(shè)備故障FS2BN〔5〕第5次改進通過床號讀取數(shù)據(jù),功能很明確,但目前包含在“讀取數(shù)據(jù)〞模塊中,這局部程序代碼如果抽取出來單獨成為一個模塊更好,名字為“從床號讀數(shù)據(jù)〞該模塊可以成為一個公用模塊,很易于重用第5次改進結(jié)果采集數(shù)據(jù)獲取下一個病人PNEOFFSEFPNBNFSEOFPNFS2BN從PN查BN從床號讀數(shù)據(jù)通報設(shè)備故障檢查不合理因素BN采集病人數(shù)據(jù)〔6〕第6次改進“從床號讀數(shù)據(jù)〞應該是功能單一,調(diào)用“通報設(shè)備故障〞不應屬于該模塊內(nèi)容。將“通報設(shè)備故障〞改為上層模塊調(diào)用,使“從床號讀數(shù)據(jù)〞模塊功能更明確,公用性也更好第6次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不平安因素寫數(shù)據(jù)庫判定下一個病人PN,F(xiàn)SEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFS,SR采集病人數(shù)據(jù)檢查平安范圍判定病人是否平安通報不平安因素EFPNPN,F(xiàn)S從PN查BN從床號讀數(shù)據(jù)通報設(shè)備故障檢查不合理因素BNBNEFFSBNFSFS2PN,FS〔7〕第7次改進給護士站或維修站的通報消息可能采用了同一種方式或界面,因此可能會有公用的模塊,比方“寫一行〞〔或者“發(fā)出警報〞之類〕因此再抽出一個模塊“寫一行〞,供兩個模塊調(diào)用。第7次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不平安因素寫數(shù)據(jù)庫判定下一個病人PN,F(xiàn)SEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFSFS,SR采集病人數(shù)據(jù)檢查平安范圍判定病人是否平安通報不平安因素EFPNPN,F(xiàn)S從PN查BN從床號讀數(shù)據(jù)通報設(shè)備故障產(chǎn)生一行寫一行檢查不合理因素BNBNEFEFFSBNFSFS2PN,FS一行一行一行結(jié)構(gòu)圖優(yōu)化方法①減少模塊間的聯(lián)系,其中用得最多的是減少傳遞的參數(shù),尤其應注意減少控制信息的傳遞;②消除重復功能;③消除“管道性〞模塊;④考慮將來可能發(fā)生的變化;⑤應控制模塊的大小,一般認為一個模塊在50~100個語句為宜,過大的模塊可按功能分解出下級模塊,過小的模塊可適當合并;⑥盡可能從整個結(jié)構(gòu)圖出發(fā)考慮;⑦初始結(jié)構(gòu)圖中不滿足系統(tǒng)說明書的地方,在改進過程中完善。從數(shù)據(jù)流圖導出結(jié)構(gòu)圖轉(zhuǎn)換分析模型(邏輯模型)設(shè)計模型〔物理模型〕轉(zhuǎn)換存在一定的鴻溝數(shù)據(jù)流圖著眼于現(xiàn)實世界,結(jié)構(gòu)圖著眼于計算機世界。數(shù)據(jù)流圖反映數(shù)據(jù)流,反映系統(tǒng)的邏輯功能,即系統(tǒng)能夠“做什么〞;結(jié)構(gòu)圖反映程序控制層次,反映系統(tǒng)的物理模型,即怎樣逐步實現(xiàn)系統(tǒng)的總功能。簡單地說:數(shù)據(jù)流圖描述線性的工作流程,結(jié)構(gòu)圖描述工作的分配控制〔誰負責做什么〕轉(zhuǎn)換有規(guī)律可循嗎?數(shù)據(jù)流圖的結(jié)構(gòu):層次結(jié)構(gòu)變換型〔Transform〕結(jié)構(gòu)事務(wù)型〔Transaction〕結(jié)構(gòu)這三種結(jié)構(gòu)可以分別通過層次轉(zhuǎn)換、變換分析和事務(wù)分析方法導出標準形式的結(jié)構(gòu)圖。層次轉(zhuǎn)換:高層可以對應模塊結(jié)構(gòu)的層次,但中低層對應關(guān)系不明顯。變換分析:用來描述輸入、處理、輸出數(shù)據(jù)流。事務(wù)分析:用來描述多種事務(wù)類型的處理。一、變換分析對線性結(jié)構(gòu)的DFD作分析,步驟:劃分數(shù)據(jù)流圖的輸入、主加工和邏輯輸出套用固定格式生成第1、2層模塊結(jié)構(gòu)圖對第2層模塊進一步分解,構(gòu)造完整的模塊結(jié)構(gòu)圖〔1〕劃分輸入、加工、輸出原始數(shù)據(jù)機內(nèi)數(shù)據(jù)正確數(shù)據(jù)解格式化解輸出解邏輯輸出邏輯輸入(物理輸入)(物理輸出)P1讀入數(shù)據(jù)P2編輯數(shù)據(jù)P3求解P4編輯格式P5打印輸出〔2〕設(shè)計頂層和第一層模塊正確數(shù)據(jù)求解編輯數(shù)據(jù)計算獲得正確數(shù)據(jù)輸出解編排格式打印解編輯數(shù)據(jù)讀入數(shù)據(jù)正確數(shù)據(jù)原始數(shù)據(jù)原始數(shù)據(jù)解格式化解解正確數(shù)據(jù)格式化解解〔3〕設(shè)計中、下層模塊更細粒度的模塊分解,如:計算中間結(jié)果數(shù)據(jù)計算A計算B最終解二、事務(wù)分析對并行結(jié)構(gòu)的DFD進行分析,如:根據(jù)輸入數(shù)據(jù)判斷業(yè)務(wù)類型,不同業(yè)務(wù)的具體處理過程有區(qū)別。Q內(nèi)容B結(jié)果C結(jié)果B數(shù)據(jù)A結(jié)果清單原始輸入A數(shù)據(jù)P內(nèi)容C數(shù)據(jù)R內(nèi)容決定事務(wù)類型打印更新內(nèi)容事務(wù)A事務(wù)B事務(wù)C更新P更新Q更新R事務(wù)分析結(jié)果業(yè)務(wù)處理分配處理分析類型判別業(yè)務(wù)輸入數(shù)據(jù)處理事務(wù)C處理事務(wù)A處理事務(wù)B事務(wù)A更新P事務(wù)B更新Q事務(wù)C更新R打印清單三、數(shù)據(jù)流圖層次的轉(zhuǎn)換數(shù)據(jù)流圖的層次和結(jié)構(gòu)圖的層次存在一定的對應關(guān)系,但不是機械照搬。M32.......................................................................P1.4成績管理子系統(tǒng)的結(jié)構(gòu)圖成績管理子系統(tǒng)登記期末成績分析期末成績登記補考成績分析補考成績登記期末成績登記素質(zhì)成績轉(zhuǎn)入學籍表評定獎學金查詢成績登記緩考名單登記作弊名單生成期末留退名單打印補考名單成績分布統(tǒng)計讀入學號查詢成績顯示成績顯示留退通知判定留退或補考顯示補考安排統(tǒng)計期末不及格科目統(tǒng)計上期補考不及格科目制作留退報告累計補考不及格科目本節(jié)內(nèi)容: 一、代碼設(shè)計 二、功能結(jié)構(gòu)圖設(shè)計 三、信息系統(tǒng)流程圖設(shè)計 四、系統(tǒng)物理配置方案設(shè)計 五、制訂設(shè)計標準 六、數(shù)據(jù)存儲設(shè)計七、輸出設(shè)計 八、輸入設(shè)計 八、處理流程圖設(shè)計 十、編寫程序設(shè)計說明書和系統(tǒng)設(shè)計報告第二節(jié)系統(tǒng)詳細設(shè)計代碼的定義代碼是代表事物名稱、屬性、狀態(tài)等的符號。代碼的功能為事物提供一個概要而不模糊的認定,便于數(shù)據(jù)的存貯和檢索。使用代碼可以提高處理的效率和精度。提高數(shù)據(jù)的全局一致性。代碼是人和計算機的共同語言,如零件號、圖號等早已使用代碼。一、代碼設(shè)計-1代碼設(shè)計的假設(shè)干原那么邏輯上要滿足用戶需要,結(jié)構(gòu)上要與處理的方法相一致代碼應唯一標志它所代表的事物或?qū)傩?;結(jié)構(gòu)應與處理的方法相一致。例如,有時可利用代碼的結(jié)構(gòu)直接進行記錄的統(tǒng)計;代碼設(shè)計要預留足夠的位置,以適應不斷變化的需要。不要使用易于混淆的字符。要注意盡量采用不易出錯的代碼結(jié)構(gòu)。代碼長于4個字母或5個數(shù)字時,應該分段,這樣讀數(shù)不易出錯一、代碼設(shè)計-2例如假設(shè)碼的位數(shù)為P,每一位上可用字符數(shù)為Si,那么可以組成碼的總數(shù)為:例如,對每位字符為0-9的三位碼,共可組成C=10*10*10=1000種碼。代碼的種類順序碼。順序碼是一種用連續(xù)數(shù)字代表編碼對象的碼,區(qū)間碼。區(qū)間碼把數(shù)據(jù)項分成假設(shè)干組,每一區(qū)間代表一個組,碼中數(shù)字的值和位置都代表一定意義。典型的例子是郵政編碼。助憶碼。例如,用TV-B-12代表12寸黑白電視機,用TV-C-20代表20寸彩色電視機一、代碼設(shè)計-3一、代碼設(shè)計-4區(qū)間碼又可分為以下多種類型多面碼。例如,對于機制螺釘,可作如下表那樣的規(guī)定。代碼2342表示材料為黃銅的φ1.5mm方形頭鍍鉻螺釘。上下關(guān)聯(lián)區(qū)間碼。例如,會計核算方面,用最左位代表核算種類,下一位代表會計核算工程。十進位碼。例如,圖書分類中的十進位分類碼。如何保證代碼輸入的正確性代碼輸入不能出錯,那么如何防止代碼錯誤:輸入技術(shù)〔如條碼掃描、磁卡、IC卡/讀卡器〕列表選擇輸入〔用于數(shù)據(jù)量少的情況〕界面中采用下拉表選擇,不需要鍵盤輸入利用數(shù)據(jù)庫中的代碼表對照檢查〔數(shù)據(jù)量多〕代碼量很多時,下拉選擇不可取,可在數(shù)據(jù)庫中為代碼及其含義建立數(shù)據(jù)表,手工輸入后,在數(shù)據(jù)庫中進行參照查詢,如果存在那么可顯示詳細內(nèi)容,否那么表示輸入有誤。如學生學號代碼中設(shè)置校驗位〔上述方法都不適用時〕代碼自身具有一定的驗證功能,如身份證號一、代碼設(shè)計-5代碼結(jié)構(gòu)中的校驗位為了保證正確輸入,在原有代碼的根底上,另加一個校驗位,作為代碼的一個組成局部。校驗位通過事先規(guī)定的數(shù)學方法計算出來。代碼一旦輸入,計算時機用同樣的數(shù)學運算方法按輸入的代碼數(shù)字計算出校驗位,并將它與輸入的校驗位進行比較,以證實輸入是否有錯。一、代碼設(shè)計-6代碼結(jié)構(gòu)中的校驗位有多種確定校驗位值的方法算術(shù)級數(shù)法原代碼12345各乘以權(quán)65432乘積之和6+10+12+12+10=50以11為模去除乘積之和〔假設(shè)余數(shù)是10,那么按0處理〕,把得出的余數(shù)作為校驗碼:50/11=4……6,因此代碼為123456。幾何級數(shù)法原理同上,但把所乘權(quán)數(shù)改為3216842等。質(zhì)數(shù)法原理同上,但把所乘權(quán)數(shù)改為質(zhì)數(shù)系列,如1713753等。代碼設(shè)計的原那么代碼設(shè)計必須遵循以下根本原那么:1.唯一性2.合理性3.可擴充性〔千年蟲問題〕4.簡單性5.適用性6.標準性7.系統(tǒng)性代碼設(shè)計的步驟代碼設(shè)計可按以下步驟進行:確定代碼對象考查是否已有標準代碼根據(jù)代碼的使用范圍、使用時間,根據(jù)實際情況選擇代碼的種類與類型??紤]檢錯功能編寫代碼表有關(guān)代碼國家標準GB2261-1980人的性別代碼GB/T2659-2000〔ISO3166〕世界各國和地區(qū)名稱代碼GB3304-1991中國各民族名稱的羅馬字母拼寫法和代碼GB4762-1984政治面貌代碼GB4880-1991〔ISO-639〕語種名稱代碼GB/T

4754-2002國民經(jīng)濟行業(yè)分類與代碼GB/T16835-1997高等學校本科、專科專業(yè)名稱代碼二、功能結(jié)構(gòu)圖設(shè)計-1功能結(jié)構(gòu)圖就是按功能附屬關(guān)系畫成的圖表。愈上層功能愈籠統(tǒng),愈下層功能愈具體。功能分解的過程就是一個由抽象到具體、由復雜到簡單的過程。以下圖是工資管理子系統(tǒng)的功能結(jié)構(gòu)圖。二、功能結(jié)構(gòu)圖設(shè)計-2功能模塊功能結(jié)構(gòu)圖中每一個框稱為一個功能模塊。功能模塊可以根據(jù)具體情況分得大一點或小一點。分解得最小的功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊那么可能是完成某一任務(wù)的一組程序。模塊化把一個復雜的系統(tǒng)分解為多個功能較單一的功能模塊的方法稱作模塊化。模塊化是一種重要的設(shè)計思想,它把一個復雜的系統(tǒng)分解為一些規(guī)模較小、功能較簡單的、更易于建立和修改的局部。特點是:各個模塊具有相對獨立性,可以分別加以設(shè)計實現(xiàn);模塊之間的相互關(guān)系〔如信息交換、調(diào)用關(guān)系〕通過一定的方式予以說明。各模塊在這些關(guān)系的約束下共同構(gòu)成一個統(tǒng)一的整體,完成系統(tǒng)的功能。三、信息系統(tǒng)流程圖設(shè)計-1信息系統(tǒng)流程圖表達了各功能之間的數(shù)據(jù)傳送關(guān)系。繪制信息系統(tǒng)流程圖的步驟:先為數(shù)據(jù)流程圖中的每個處理功能畫出數(shù)據(jù)關(guān)系圖。然后,把各個處理功能的數(shù)據(jù)關(guān)系圖綜合起來,形成整個系統(tǒng)的數(shù)據(jù)關(guān)系圖,即信息系統(tǒng)流程圖。數(shù)據(jù)關(guān)系的一般形式三、信息系統(tǒng)流程圖設(shè)計-2常用的系統(tǒng)流程圖符號:從數(shù)據(jù)流程圖到信息系統(tǒng)流程圖并非單純的符號改換脫機操作人工操作手工輸入聯(lián)機存儲器(磁帶、磁盤等)磁盤磁帶顯示器脫機存儲處理穿孔卡片通訊連接打印報告三、信息系統(tǒng)流程圖設(shè)計-3從數(shù)據(jù)流程圖導出信息系統(tǒng)流程圖的例子數(shù)據(jù)存儲#1數(shù)據(jù)存儲#2處理1輸入1處理2處理4處理3輸出2輸出1實體1實體2存儲#1報告1處理1處理1處理3處理2中間文件存儲#2報告2新系統(tǒng)邏輯模型轉(zhuǎn)換為系統(tǒng)流程圖示例圖三、信息系統(tǒng)流程圖設(shè)計-4上月主文件建立扣款文件模塊主文件更新模塊計算打印模塊工資單工資匯總表電費扣款通知病假扣款通知房租變動通知人事變動通知本月主文件扣款文件工資管理子系統(tǒng)的信息系統(tǒng)流程圖三、信息系統(tǒng)流程圖設(shè)計-5建立及修改程序生產(chǎn)能力表必須生產(chǎn)的產(chǎn)品名及產(chǎn)量各產(chǎn)品的工藝路線及利潤

生產(chǎn)能力文件工藝路線文件線性規(guī)劃程序設(shè)備利用率生產(chǎn)計劃表生產(chǎn)方案優(yōu)化系統(tǒng)四、系統(tǒng)物理配置方案設(shè)計-1設(shè)計依據(jù)系統(tǒng)的吞吐量。每秒鐘執(zhí)行的作業(yè)數(shù)稱為系統(tǒng)的吞吐量。系統(tǒng)的吞吐量越大,那么系統(tǒng)的處理能力就越強。系統(tǒng)的響應時間。從用戶向系統(tǒng)發(fā)出一個作業(yè)請求開始,經(jīng)系統(tǒng)處理后,給出應答結(jié)果的時間稱為系統(tǒng)的響應時間。它與CPU運算速度和通訊線路的傳遞速率等有關(guān)。系統(tǒng)的可靠性。系統(tǒng)的可靠性可以用連續(xù)工作時間表示。四、系統(tǒng)物理配置方案設(shè)計-2系統(tǒng)的處理方式。集中式—主機系統(tǒng)或網(wǎng)絡(luò)系統(tǒng),分布式—微機網(wǎng)絡(luò)更能有效發(fā)揮系統(tǒng)性能地域范圍。分布式系統(tǒng):局域網(wǎng)還是廣域網(wǎng)〔城域網(wǎng)〕四、系統(tǒng)物理配置方案設(shè)計-3計算機硬件的選擇速度快、容量大、通道能力強集中式數(shù)據(jù)處理需要有強大的計算能力,可以使用主機-終端模式,或者集群效勞器模式;分布式數(shù)據(jù)處理可以使用以太網(wǎng)計算機主存、CPU始終、I/O通道、顯示方式、外接轉(zhuǎn)儲設(shè)備及其類型防止方案陷入特定應用的優(yōu)化四、系統(tǒng)物理配置方案設(shè)計-4計算機網(wǎng)絡(luò)的選擇:網(wǎng)絡(luò)拓撲結(jié)構(gòu)、邏輯設(shè)計、網(wǎng)絡(luò)操作系統(tǒng)。目前絕大多數(shù)使用以太網(wǎng)架構(gòu)〔有線〕和802.11架構(gòu)〔無線〕DBMS的選擇:性能、系統(tǒng)平臺、平安性、數(shù)據(jù)類型應用軟件的選擇:是否滿足用戶要求、是否有足夠靈活性、是否有長期穩(wěn)定的技術(shù)支持五、制訂設(shè)計標準設(shè)計標準是整個系統(tǒng)的“公用標準〞,規(guī)定了文件名和程序名的統(tǒng)一格式、編碼結(jié)構(gòu)、代碼結(jié)構(gòu)、統(tǒng)一的度量名等。例如,某工資管理信息系統(tǒng)的設(shè)計標準中對程序名的規(guī)定:GAABBXG表示工資系統(tǒng)程序或程序文件。AA表示文件類型,由兩個拼音字母組成。BB表示文件作何種處理。X由一位數(shù)字組成,用以區(qū)分同類型程序。六、數(shù)據(jù)存儲設(shè)計-1文件設(shè)計文件設(shè)計就是根據(jù)文件的使用要求、處理方式、存儲量、數(shù)據(jù)的活動性以及硬件設(shè)備的條件等,合理地確定文件類別,選擇文件介質(zhì),決定文件的組織方式和存取方法。文件按用途可分為:主文件處理文件工作文件周轉(zhuǎn)文件其它文件〔如后備文件〕文件設(shè)計通常從設(shè)計共享文件開始。文件由記錄組成,所以設(shè)計文件主要是設(shè)計文件記錄的格式,詳見文件記錄的格式實例。六、數(shù)據(jù)存儲設(shè)計-2文件記錄的格式實例六、數(shù)據(jù)存儲設(shè)計-3數(shù)據(jù)庫設(shè)計數(shù)據(jù)厙設(shè)計是在選定的數(shù)據(jù)庫管理系統(tǒng)根底上建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫設(shè)計的步驟與系統(tǒng)開發(fā)的各個階段相對應,詳見以下圖。六、數(shù)據(jù)存儲設(shè)計-4數(shù)據(jù)厙的概念結(jié)構(gòu)設(shè)計如前所述,概念結(jié)構(gòu)設(shè)計應在系統(tǒng)分析階段進行。任務(wù)是根據(jù)用戶需求設(shè)計數(shù)據(jù)庫的概念數(shù)據(jù)模型(簡稱概念模型)。概念模型是從用戶角度看到的數(shù)據(jù)庫,它可用第三章中介紹的E-R模型表示,也可以用3NF關(guān)系群來表示。數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計是將概念結(jié)構(gòu)設(shè)計階段完成的概念模型轉(zhuǎn)換成能被選定的數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型。數(shù)據(jù)模型可以由實體聯(lián)系模型轉(zhuǎn)換而來,也可以用基于第三范式(3NF)的方法來設(shè)計。接著是用DBMS提供的數(shù)據(jù)描述語言DDL定義數(shù)據(jù)模型。數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計內(nèi)容包括:選用庫文件的組織形式、存儲介質(zhì)的分配和存取路徑的選擇等。七、輸出設(shè)計-1輸出設(shè)計例如屏幕顯示輸出的設(shè)備調(diào)撥單七、輸出設(shè)計-2中國長江三峽開發(fā)總公司設(shè)備調(diào)撥單請購單位:工程建設(shè)部:右岸工程部1997年5月21日97調(diào)字第設(shè)備名稱棒磨機型號規(guī)格

數(shù)量計劃1賬面價格單價180,200.00總價180,200.00單位設(shè)備編號15073001-001實收數(shù)1結(jié)算價款單價180,200.00總價180,200.0000臺合同號10號倉庫發(fā)貨倉庫中國建設(shè)銀行開戶銀行32100876543賬號

溫馨提示

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

最新文檔

評論

0/150

提交評論