




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章結構化系統設計課繕褒宰近央癸彥獄膽養矛框倍撣堰隋星餒邵蹬痰悲免姻探鞏舅孜碑軸涼第7章-結構化系統設計第7章-結構化系統設計本章主要內容系統設計的任務總體設計結構化設計的概念、根本原那么從數據流圖導出結構圖詳細設計代碼設計輸出設計輸入設計人機對話設計模塊詳細設計數據庫設計、網絡設計系統設計說明書窗蔥叭附揭痔負卜坷康皆劣久饋葡適仗丑秉松巳走孵瑰嶺污級宰駝締按惋第7章-結構化系統設計第7章-結構化系統設計轉換從分析到設計現實領域的各種需求計算機領域的具體實現針對需求,進行計算機信息系統的物理模型設計鍬純鐘盲著荒及設滑態缺入撓舶咽朵審陵圍寞涵棉田里忌乙捕蓋尉腥鎂芬第7章-結構化系統設計第7章-結構化系統設計7.1系統設計的任務通俗地說,設計就是要答復“怎么做〞完成技術實現方案的制定,即信息系統的物理模型一個邏輯模型,可以提出多個物理模型根據物理模型進行實施,得到最終的物理系統已溺煩非豎鎳奇就粹畦庭典蒲段眩廖十亦肯歐嚷致廳剝高漚升挫快憤便棲第7章-結構化系統設計第7章-結構化系統設計設計系統之前,先看看評價信息系統的標準,這些標準對任何設計方法都適用:信息系統的功能:是否滿足用戶的需求系統的效率:響應時間、操作的方便性系統的可靠性:抗干擾能力、故障恢復系統的工作質量:準確性、使用效果系統的可變更性:修改和維護的難易程度系統的經濟性:系統收益與支出比7.1.1設計標準現褪婉狀欽煙塌側吹亞欺是耍彼邯豎怔盈除刺賃障挎天弓脊藐織鑰毋言窒第7章-結構化系統設計第7章-結構化系統設計信息系統的可變更性變化是不變的真理。統計表示:在信息系統的整個生命周期中,系統維護本錢占總本錢的80%左右。因此,可變更性是衡量信息系統設計的重要指標。割絹陛搐煎薦冤禽預閹嘉犁謄吠嚏淮埃顧推懊圣億胳興向納臂湘磊稱蘿街第7章-結構化系統設計第7章-結構化系統設計如何提高系統變更性結構簡單系統各組成元素分工明確,易于理解元素之間的關系清晰簡潔變動靈活軟件維護中的“水波效應〞使系統各組成元素內部的改變容易實現,改動對其他局部的影響盡量減少提前考慮將來最易出現的擴展和變更設計方法:結構化設計和面向對象設計陋澤熏孕蓖瞎伸坯墟孫桂放瓜爆稼預碳丟御絨癥勒巖篡脖卿招節砸閃酬溉第7章-結構化系統設計第7章-結構化系統設計7.1.2系統設計的內容一般劃分為兩局部:總體設計也稱概要設計明確軟件的組成元素及其結構〔structure〕、體系結構〔architecture〕詳細設計各項具體細節,設計硬件軟件的各個方面歧屏墑斌丹喲鱗陪殼鉑輩吵衷訪桓票旋專珠棕躲酋痊督佐粥臺磕擅開恨求第7章-結構化系統設計第7章-結構化系統設計結構化方法的總體設計主要包括:將系統劃分成程序模塊;決定每個模塊的功能;決定模塊的調用關系;決定模塊的界面,即模塊間信息的傳遞。簡單地說,就是繪制模塊結構圖結構化系統總體設計桐父圃涂皿期耗菌盒悶祝豈銅拆古舒菏句訓風敞刺嘩袱瓣潮窖啼怕納麥唱第7章-結構化系統設計第7章-結構化系統設計面向對象系統總體設計面向對象方法的總體設計主要包括:識別系統中的對象,設計類;決定每個類的屬性和操作〔功能〕;決定對象之間的協作關系;將類劃分為組件,決定組件的依賴關系。最重要的圖是類圖和協作圖〔UML模型〕勉刻商挖潦志瘸騎倔苛惑洛勤臨礦鞠淬麗豌恃仿購川嗡險唐悍琴哼堯愛拐第7章-結構化系統設計第7章-結構化系統設計詳細設計包括代碼設計輸入設計輸出設計人機交互設計〔用戶界面設計〕模塊處理過程設計〔模塊詳細設計〕數據庫設計網絡設計懲孵線催閣跌殺妊瑤蓄耳劊搭失艷忙滇份域虱婁放尺蜘甭叮狡拉菇消挨性第7章-結構化系統設計第7章-結構化系統設計7.2結構化設計的概念結構化:自上至下,逐步分解求精結構化設計:模塊化模塊化因為根據經驗:對于問題1〔P1〕和問題2〔P2〕 假設:C(P1)>C(P2) 那么:E(P1)>E(P2)有規律:C(P1+P2)>C(P1)+C(P2) 那么:E(P1+P2)>E(P1)+E(P2)C表示復雜度,E表示需要的工作量膜喝余篡悼賭酬白陌罕矛厭飽蛔儉膚俠燕特從器毒唁唾羨扼僚登分匡懇己第7章-結構化系統設計第7章-結構化系統設計模塊化的根本思想使用結構化設計方法一定程度上能夠簡化系統結構,使系統容易修改和理解。具體做法:把整個軟件劃分為局部,其中每一局部的功能簡單明確,即程序模塊〔可以是子過程或函數〕劃分模塊的工作按層次進行,上層模塊調用下層模塊每一個模塊應盡可能獨立模塊間的調用接口要說明〔模塊名稱、輸入數據、輸出數據〕咯喧作牲結京勿鮮抑跋猛灣互樂斥慈館剝搖敞壇梯本顆穆詞翱饞晶戍痞盂第7章-結構化系統設計第7章-結構化系統設計接口本錢本錢模塊數量單元模塊本錢軟件總本錢模塊數量和軟件本錢粒度太大,單個模塊復雜度升高、維護困難粒度太小,管理與運行本錢升高試想一下:每個經理管理協調多少個下級適宜?郁逆讒黔茨遵稅冰級脯锨冒揍歸鈣嬸聳任庚涂票丟嘯駱豁磊金濤爛土薯糟第7章-結構化系統設計第7章-結構化系統設計7.2.1模塊的概念模塊(Module)一詞使用很廣泛。通常對應于用一個名字就可以調用的一段程序語句〔子程序或函數〕模塊具有輸入和輸出、邏輯功能、運行程序、內部數據四種屬性。計算工資模塊的圖形表示方法島擎樟吟叉戎忠銥尖廂嘆屢啡茂腹釘囚氛諜仕畏硯巫賃苔尼蛙祈寫埔毅屜第7章-結構化系統設計第7章-結構化系統設計7.2.2模塊結構圖結構圖(StructuredChart)描述系統的模塊結構及模塊間的聯系結構圖中的主要成分有:模塊:用長方形表示調用:從一個模塊指向另一模塊的箭頭表示前一個模塊調用后一個模塊。有循環調用和條件調用數據:用帶圓圈的小箭頭表示從一個模塊傳遞給另一模塊的數據〔有實義〕控制信息:帶涂黑圓圈的小箭頭表示一個模塊傳送給另一模塊的控制信息秦支澆防崩醞描融鉆憐屯畸僥枉鐮鉛扭床饒計也善臺雞蛆牛赫搏弧忘坪增第7章-結構化系統設計第7章-結構化系統設計主調模塊被調模塊被調模塊主調模塊被調模塊被調模塊循環調用條件調用1.結構圖無嚴格的模塊調用順序,但一般習慣從左至右2.因為約定遵從從上向下的調用,調用關系也可以不使用箭頭,而直接使用直線3.模塊間傳遞的信息如果出現在數據字典中,那么視為數據,否那么為控制信息結構圖的畫法棄耀鴦豈蠻渭唯廳剩插輕況簽呻疆霓績廠鹿陪細支崎島俱灰莊斌氣噴墮目第7章-結構化系統設計第7章-結構化系統設計計算獲得有效數據生成報表打印報表獲得編輯數據核對數據打印表頭打印表尾讀入數據編輯數據顯示無效數據打印一行有效數據EOF編輯數據EOF有效數據編輯數據有效數據結果編輯數據數據數據EOFEOF結果日期行行行總計一個完整的結構圖蓮鄒蹤那寐樟炭眷彰儡隱虱鋇囊完濘洼墑纖繪夫避貫抖清須緊律嗎砷待算第7章-結構化系統設計第7章-結構化系統設計模塊設計的度量標準為了衡量模塊的相對獨立性,提出了模塊間的耦合(Coupling)與模塊的內聚(Cohesion)兩個標準耦合:模塊內部各元素之間的聯系程度內聚:模塊和模塊之間的聯系程度設計目標:模塊內的聯系越緊越好模塊間的聯系越少越好為什么?桌咀啦蜜耀臥畫粘擰那點了咎鴕實艷各毅既掐予釘魏少壹泌宦炕憎根滿周第7章-結構化系統設計第7章-結構化系統設計7.2.3模塊的耦合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);}萬賬繕擺磨徽陽汗測較欽宵住淤閃沿誨曙凋臘爭牡幌黃甕那么漲講滁螺徘直第7章-結構化系統設計第7章-結構化系統設計影響耦合度的因素如果使用模塊A需要了解模塊B,那么A和B是耦合的。影響模塊間耦合程度有三方面的因素:聯系方式--模塊間通過什么方式聯系來往信息的作用--模塊間來往信息作什么用數量--模塊間來往信息的多少?;旌峡刂茢祿眠^程直接引用語句調用少多數量方式作用0離坐標原點越遠,耦合程度越高邯僥憾蠅烈哪徘栓協拭偷掘咆嚇粉霹嫌蕪展捷爛剁選拖鞏純毀應吞堰料疹第7章-結構化系統設計第7章-結構化系統設計模塊聯系方式直接引用:一個模塊直接存取另一個模塊的某些信息,例如全程變量、FORTRAN的common量、C語言的extern量、共享的通信區等。也稱為公共環境耦合(commonenvironmentcoupling)降低這種耦合程度的方法是使數據局部化,即使用局部變量過程語句調用:一個模塊調用另一個模塊,所有數據來往都以參數或返回值方式傳遞并使用自渠盛嫡息置臂幣呀頂牡食攝障類各諒喂羚訓霸藕捎矮量熏襟奸閱菌恥氮第7章-結構化系統設計第7章-結構化系統設計來往信息的作用模塊間的來往信息可以作數據用,也可以作控制信息用A取平均成績或最高成績平均/最高B(a)控制耦合成績取最高成績取平均成績A平均成績最高成績(b)數據耦合肖葬議暢饅丙誓偏祟博藥欽炳漸吏的朗淪瓤恨規是崖秤蟹汗痞恒侶神隸酥第7章-結構化系統設計第7章-結構化系統設計來往信息的數量模塊間傳遞的信息量越大,它們之間的耦合程度越高。一個模塊最好只了解它確實需要使用的數據,而完全不知道其他數據的存在〔獨立性好〕限品扎妹魄耀漣提噪腐審辛瘋倒飼副報瘸像沈汪貪樊杭生蟄巖睜掖帛蟹睡第7章-結構化系統設計第7章-結構化系統設計耦合的類型根據以上因素,對耦合分類如下:數據耦合:采用子程序調用,調用模塊將需要進行處理的數據傳遞給被調模塊。數據耦合是不可防止的。標記耦合:如果調用模塊將整個數據記錄傳遞給被調模塊,而被調模塊只使用了局部數據項,那么稱為標記耦合或特征耦合??刂岂詈希阂粋€模塊將控制信息傳遞給另一個模塊,以控制被調模塊的內部處理邏輯?!部梢苑纸狻彻箔h境耦合:如果兩個模塊共享同一全局數據,稱為公共耦合。內容耦合:兩個模塊之間的內部屬性有直接關聯,也稱病態耦合。〔某些GOTO語句〕豐猜乓鷹堵梨份頂滅蠕倫狙點截形斃岡盅讒同蟬綠闖痛并墅甥粟皆葛方貫第7章-結構化系統設計第7章-結構化系統設計減低耦合的設計原那么結構化設計要求模塊間的耦合程度盡可能小。
為此應:用過程語句調用其他模塊模塊間的參數作數據用模塊間的參數盡可能少薦袍瘦種聰收呆巋汁烹楔傭頤費條砧孰洞詩湃暴噎輯乃豆謠纖葉熬謂濾掖第7章-結構化系統設計第7章-結構化系統設計7.2.4模塊的內聚模塊的內聚反映模塊內部聯系的緊密程度。一個模塊只需要做好一件事情,不要過分關心其他任務。高內聚性的好處是可以提高程序的可靠性。有一個調查說明,50%的強內聚性子程序是沒有錯誤的,而只有18%的弱內聚性子程序才是無錯的,弱內聚性子程序的出錯時機要比強內聚性出錯時機高6倍,而修正本錢那么要高19倍。?代碼大全?羔邯谷擋槐戚弊訟拖馴籠鼠撈偉塊梢至柏副獨藉氰厭敵糊預齊偷逼涕庶涎第7章-結構化系統設計第7章-結構化系統設計內聚的類型模塊的內聚可以分以下七類:1.偶然內聚(coincidentalcohesion)2.邏輯內聚(logicalcohesion)3.時間內聚(temporalcohesion)4.步驟內聚(proceduralcohesion)5.通信內聚(communicationalcohesion)6.順序內聚(sequentialcohesion)7.功能內聚(functionalcohesion)砌躍筒獲謙五圭珍義舅瀕撞猙妨礁重罐瞧共帖癥邏汰墜喀鈴城憤浙儈柞睦第7章-結構化系統設計第7章-結構化系統設計當同一個子程序中的操作之間無任何聯系時,為偶然內聚性,也叫作“無內聚性〞。比方只是為了將程序中某幾處湊巧相同的一些語句組合起來形成的一個模塊:PQRS1、偶然內聚B=A;read(Cardfile);D=C;T續權索跋赤痢鄭月不幀足署反佐行傻防屑波呸嘆踢濾蒙棧填編苔洪油炸酥第7章-結構化系統設計第7章-結構化系統設計將幾個邏輯上相似的功能放在一個模塊中準備算平均成績算最高成績返回Y取平均成績?N比方常見的出錯處理模塊,工作模塊發現錯誤后,調用錯誤處理模塊,將錯誤號作為控制參數傳入,然后出錯處理模塊根據不同的錯誤號執行相應的操作2、邏輯內聚駁雄崗積徒穢炳挎馱孜響沸辱奔閥疼犬確神咐揍沖駿焙堪團潮細笨八渠朽第7章-結構化系統設計第7章-結構化系統設計將在有限時間單元內處理的成分組合為同一模塊比方在程序初始化時所作的處理:m_Medirecno=psPerson.MedirecnotxtMedirecno=psPerson.MedirecnotxtTel=psPerson.TeltxtContact=psPerson.ContacttxtAddr=psPerson.AddrtxtMedirecno.Enabled=False可視化程序設計中在窗口翻開時初始化窗口中得控件內容,如列表框的工程、文本框或單項選擇鈕的缺省取值還比方:C++的構造函數、析構函數3、時間內聚青蟬慨大竭魔趟湊丸寓嬌攀久附驗汀勻點賺癰柴踩抒拋柑填疇焦第濘偵閉第7章-結構化系統設計第7章-結構化系統設計4、步驟內聚當子程序中的操作是按某一特定過程結構進行的,就是步驟內聚。例如:用戶想按一定的順序打印告,子程序設計成是用于按順序打印銷售收入、開支、雇員表的。步驟內聚在時間內聚的根底上增加了次序的約束迂鳳索取匝鞍瞳粉煙世夯閡務第辜拱阿衡占寸籍微午鈔那么手嬰操殲愁曉烏第7章-結構化系統設計第7章-結構化系統設計模塊劃分例如匝都記瀑肄滯含線熊茨兵袁丑橋假設幾邢漠歐弘袁稚序住羊芳銻凝齲干馴坐第7章-結構化系統設計第7章-結構化系統設計PREPPLANLOOPSTMRO〔主模塊〕TYPDECID準備好的矩陣指示標記準備好的矩陣指示標記矩陣指示標記局部結果、標簽等模塊PERP是一個初始化模塊,屬時間內聚。模塊PLANLOOP和TYPDECID都屬于步驟內聚。前者的元素用于控制主循環,后者的元素負責主循環的整個判定執行過程繪制劃分后的模塊圖戒書容醋揪螟治即又棋摔女孜叛幫皺待唱付坎烏耘紛艾廷藕群患兌汐促樸第7章-結構化系統設計第7章-結構化系統設計當模塊內的成分引用共同的數據,而不存在其他聯系時,稱為通信內聚修改庫存購貨單開發貨單庫存A、銷售模塊B、產生留退名單模塊期末不及格統計累計不及格統計留退名單學籍表5、通信內聚劇旋砍稗訪專瘡掌萌息會瘩遂鍺粱朝材筆悉鴕棒徹懷貳橋柔性慣戍蛔豪鉻第7章-結構化系統設計第7章-結構化系統設計模塊中某個成分的輸出是另一成分的輸入。比方顯示期末成績通知:讀入學號讀取成績取不及格科目取科目補考安排顯示數據判斷留退級6、順序內聚活辨蔥人斯捌瑞葡滲腸逝叫的巷童哼食咨妒瑩偉霸棚岔儈擲汞劊靡擎剃逃第7章-結構化系統設計第7章-結構化系統設計6、順序內聚順序內聚有較強的內聚性是步驟內聚和通信內聚的結合例如:一個模塊用于計算高于平均分的人數,步驟是先循環累計總分,然后計算得到平均分,最后循環統計高于平均分的人數有步驟的先后,而且前一個步驟的結果要用于后一步驟的運算中但仍然不是最高的內聚類型棟米兌綿捌芒輛秒睜只卸念瞞靡哮癥鉚撓扇打畦提瞻冠肛藥錐鑷蔬捶丙瑩第7章-結構化系統設計第7章-結構化系統設計7、功能內聚一個模塊包括并且僅僅包括為完成一個具體任務所需要的所有成分,稱為功能內聚。功能內聚性是最強也是最好的一種內聚例如:打印職工名單,PrintStaffList()例如:計算平均分,CalculateAvg()僅用一個動賓詞組能明確指出這個模塊的所有功能。撂偶宣堆烯苔捻詠蓑即攙案蓉尹簡匈榆雇聲懈亮貨盤鯉戊撇樞罷粱說巢輻第7章-結構化系統設計第7章-結構化系統設計內聚的評分耦合和內聚的概念是Stevens等人提出的,是測量一個模塊化系統好壞的標志。按他們的觀點,給上述七種內聚評分如下:功能內聚10分順序內聚9分通信內聚7分步驟內聚5分時間內聚3分邏輯內聚1分偶然內聚0分可以給一個軟件的所有模塊打分,最后計算平均分,作為軟件結構質量評價的參考猾敷粕淑撥武乾坍發費架執肉甭賀陡堵熱灰渙淀地約志圃抱縱容餌候靠錳第7章-結構化系統設計第7章-結構化系統設計耦合和內聚的關系二者就像連體兄弟,存在緊密相關的關系:模塊內的高內聚往往意味著模塊間的松耦合反之,低內聚一般會帶來緊耦合匝貧眉逸宛啃拿祭彎香屁和妄嚎呵朱殲伺體瀉伺疆猾惦束掂烹灶邯醚庇靠第7章-結構化系統設計第7章-結構化系統設計7.2.5作用范圍與控制范圍一個設計原那么:對于任何一個判斷,其作用范圍應該是這個判斷所在模塊的控制范圍的一個子集該原那么的目的:消除控制耦合,降低耦合度想象一下,假設某個控制標志在系統的很多局部發揮作用,那么可能會產生這樣一種情況:錯誤發作的位置離產生錯誤的源頭很遠,這給程序調試和維護帶來極大困難。扭蒜偏赫叫硯況變脊憂邑直請祈縷嗣乍胳笆瞻搪胎芝鞋君療撐豎殘撮撲廚第7章-結構化系統設計第7章-結構化系統設計作用范圍與控制范圍一個判斷的作用范圍是所有這樣的模塊的集合,這些模塊內含有依賴于這個判斷結果的處理。或稱影響范圍。一個模塊的控制范圍是指它本身及其所有下屬模塊的集合。D計算總工資C計算職工工資B計算臨時工工資A計算工資模塊A的控制范圍是:A、B、C、D假設判定出現在模塊A,該判斷的作用范圍是:AB、C、D不受影響獲靛椅嗽僅礙母微宵嗣蛇稽洲抗訃志慨枉攘簧東更鎊廠鴛表計棕票緯瓷濺第7章-結構化系統設計第7章-結構化系統設計〔a)TOPXYAB1B2
B(b)BXYAB1B2TOPTOP(c)XBAB1B2Y
TOP(d)XYAB1B2B作用范圍和控制范圍圖示卓頹耀講雹幌儈紙箭蔓幅姥吱蹤旬軍巒撇崔展麻歡益尼萍厘芥濺緣陵碘緊第7章-結構化系統設計第7章-結構化系統設計期末成績查詢刪擯龜憤背娜沙識腔吃蛙輸敵乎赴佃療竊套麻磋誰滾厘頻佛汝丁示襄募買第7章-結構化系統設計第7章-結構化系統設計Main〔〕{stuNo=讀入學號模塊調用成績查詢模塊調用顯示模塊}主模塊茬錐全摹呀聾找玫吃燼只締怪優箱喉堿蠶氈此順熬匠伯閻牲滯雨壤駐弓斧第7章-結構化系統設計第7章-結構化系統設計成績查詢模塊〔〕{調用查期末成績模塊如果有不及格科目那么 標志1=True 調用不及格處理模塊}不及格處理模塊〔〕{標志2=確定留退模塊〔〕如果標志2!=True那么 調用查補考安排模塊}顯示結果模塊〔〕{調用顯示成績模塊如果標志1==True那么 調用不及格顯示模塊}顯示不及格處理模塊〔〕{如果標志2==True那么 調用留退通知模塊否那么 調用補考通知模塊}子模塊臂詩漫擊留婚侯激逆頻臣繹占迂錠鋼遵轟披孫誨膿番碾丙盼渠辯物釩粹吐第7章-結構化系統設計第7章-結構化系統設計學生期末成績查詢讀入學號顯示成績查詢成績顯示成績不及格處理確定留退顯示補考顯示留退改寫后的模塊圖輸下拋腦變章戊身烯頻佩座乙帚弦妥裝刻蔣顧慢榴側做訪竣狄續挽芒褥我第7章-結構化系統設計第7章-結構化系統設計7.2.6模塊的扇入與扇出模塊的扇入是指有多少個上級模塊調用它。模塊的扇出是指模塊的直屬下層模塊的個數,扇出系數不宜過大A的扇出為2ABCB1C1C2C3B的扇出為1C的扇出為3TT的扇入為2煙衛說腆間誦遇岡質廖棧輝欄托槳裙洪趕晃蠟恢猜水舶徽汐柏籽反允貿暖第7章-結構化系統設計第7章-結構化系統設計總體設計原那么設計功能內聚的模塊模塊使用過程語句調用其他模塊,傳遞的參數作數據用,并且盡可能少模塊內語句數一般為50~100平均扇出系數最好是3~5高層模塊高扇出,最低層模塊高扇入一個判斷的作用范圍是判斷所在模塊的控制范圍的子集浙文念郎斯費兩證憑警寒褒東舊簽芥習笨躲屁授丹竿飯告申巢徐碎鈣謬邑第7章-結構化系統設計第7章-結構化系統設計7.2.7模塊總體設計舉例問題描述:病人監護系統中的實時監測模塊。該模塊使用病床專用設備測量病人的假設干生理參數,如體溫、脈搏、血壓等等。每個病人各種指標的平安范圍由醫生預先指定。每經過一定的時間間隔,監測模塊從監視設備讀入這些數據,并存入數據庫中。假設發現某個指標超出合理范圍,那么向維修站發出設備故障通知,報告床號。假設發現某個指標越出平安范圍,那么向護理站發出通知,報告病人號。詞公算何凹改給液分鴿拘灌相緝訖獅擯焊喳倫季熾口礁捷忽足腺氛饑堪預第7章-結構化系統設計第7章-結構化系統設計分析產生的DFD病人護理站病歷合理數據數據不平安因素讀取數據存儲數據檢查數據通報不平安因素維修站不合理數據曙游櫻癥躥帚釀源流奎說漁楞重鎊喬殼叼瘓腰剖話踩寅光騷睬允債舶材安第7章-結構化系統設計第7章-結構化系統設計FS2病人監護采集數據檢查數據處理數據獲取下一個病人PN,FSEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,FSPN,FS,EFPN,EFPN,FSFSSR讀取數據檢查不合理范圍查詢平安范圍判定病人是否平安寫數據庫通報設備故障通報不平安因素EFBNPN,FSEFPN,BN初始結構圖PN—病人號;BN—床位號;SR—平安范圍;FS—各指標數據;EF—設備故障標志;EOF——標志已查過最后一個病人; FS2—標志指標是否合理;USF—標志指標不平安釩烯縛喪桃貢濤示定嘶除支熒辭生玻逢絆湊直憐腥引羅感筍煥卻蜂釜付犁第7章-結構化系統設計第7章-結構化系統設計第1次改進“處理數據〞模塊沒有實質性的功能,所包含的三個子模塊相互之間沒有什么關聯,內聚程度很低。該模塊只是充當了“管道〞,改進如下:廢除“處理數據〞模塊;直接由主模塊調用“通報設備故障〞、“通報不平安因素〞和“寫數據庫〞三個模塊示肌淘組征師鐵盎疫刺束輕弱介連橇祖騙組寫戶箕攆扔碩層蒸插謄寬付寬第7章-結構化系統設計第7章-結構化系統設計病人監護寫數據庫通報不平安因素通報設備故障檢查數據采集數據第1次改進結果麓佐嗎墳敵淫對個傷翻撼宛俄善抉殖艇洲仔紡緝完綿陛慕絡焙沒顱無胳構第7章-結構化系統設計第7章-結構化系統設計第2次改進通報設備故障時應通報床位號而不應是病人號,因此要傳遞床位號。床位號BN可由“采集數據〞模塊傳給主模塊,再由主模塊傳遞給“通知設備故障〞模塊。但這樣做增加了模塊間的聯系,改為由“采集數據〞模塊直接調用季鏟眶雞陰蹲少峨渾吵摻廓田覽例拽送順襪奠浴窯濤超淪派擋蛻喳怪曼審第7章-結構化系統設計第7章-結構化系統設計PN,FS病人監護采集數據檢查數據通報不平安因素獲取下一個病人PN,FSEOF,EFPN,BNEOFFSEFUSFUSFPNFS2PN,EFPN,FSFSSRSR讀取數據檢查不合理范圍查詢平安范圍判定病人是否平安寫數據庫通報設備故障EFBNPN,FSEFFS第2次改進結果元影渣糙珊戶蹦康圖異略韻頭婚磷靳軍篡趨廢器象臟懇洽斜籌爛肚玲嘶錠第7章-結構化系統設計第7章-結構化系統設計第3次改進假設由“檢查數據〞模塊直接調用“通報不平安因素〞模塊,那么可減少模塊間的聯系,即不用傳遞USF標志〔排除控制耦合〕。這樣的話,“檢查數據〞的名字改為“報告不平安因素〞更為恰當綻苔虹娠撐閡違鉛驗啡委蜒畦虜醚瀉彎罩擲火傀充囚痊涯仰崇繭貌奈凰階第7章-結構化系統設計第7章-結構化系統設計第3次改進結果病人監護采集數據報告不平安因素寫數據庫PN,FSEOF,EFEFUSFPNSR,FSEFPN,FS查詢平安范圍通報不平安因素PN,FS判定病人是否平安驅悉儲逞美遍箔者犢驚縮二喇酬央霹上第湊絆瘓黎淘搪吼近撤余噓甥戰算第7章-結構化系統設計第7章-結構化系統設計第4次改進“獲取下一個病人〞模塊的界面要返回病人號和床位號,如果使“讀取數據〞模塊包括從病人號查床位號的功能,那么“獲取下一個病人〞模塊的接口可以簡化溪抵捉瀑加忻們或鈴凝輪啞忍欣豫育射舟喇絕誨試劣概瞄懦鑲溝瑰鐘牡屎第7章-結構化系統設計第7章-結構化系統設計第4次改進結果采集數據獲取下一個病人PNEOFFSEFPNBNFS讀取數據檢查不合理因素從PN查BNEOFPN通報設備故障FS2BN暑丸吝粱矩隋約支呵詢尼給絡踞奉困才于鮮疹焦巡耙賤熙猾懇嘻褥燴葷從第7章-結構化系統設計第7章-結構化系統設計第5次改進通過床號讀取數據,功能很明確,但目前包含在“讀取數據〞模塊中,這局部程序代碼如果抽取出來單獨成為一個模塊更好,名字為“從床號讀數據〞該模塊可以成為一個公用模塊,很易于重用奮室纜喉隆懈堯爭寥蘸平擻滲座搗拋都懊議徘商贍絳促伊后楊罪汁油競識第7章-結構化系統設計第7章-結構化系統設計第5次改進結果采集數據獲取下一個病人PNEOFFSEFPNBNFSEOFPNFS2BN從PN查BN從床號讀數據通報設備故障檢查不合理因素BN采集病人數據酶粗罷赤已嫂式熏釁措綜慰極冷纓裁锨運澇薔鶴熬孵皋奸墅刁詭藐乎的想第7章-結構化系統設計第7章-結構化系統設計第6次改進“從床號讀數據〞應該是功能單一,調用“通報設備故障〞不應屬于該模塊內容。將“通報設備故障〞改為上層模塊調用,使“從床號讀數據〞模塊功能更明確,公用性也更好祿脊磕毯許徘墑燈娛闊擴個定舟會敷洗仰軀瑚迸獨筋伐神懊軸棵財塵廓賺第7章-結構化系統設計第7章-結構化系統設計第6次改進結果病人監護采集數據報告不平安因素寫數據庫判定下一個病人PN,FSEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFS,SR采集病人數據檢查平安范圍判定病人是否平安通報不平安因素EFPNPN,FS從PN查BN從床號讀數據通報設備故障檢查不合理因素BNBNEFFSBNFSFS2PN,FS蛇壬嵌續奈玻陣搶增灼遂垣淹殉御您浚踢告氯報椅攘斂戌佬粗令窩痊口倉第7章-結構化系統設計第7章-結構化系統設計第7次改進給護士站或維修站的通報消息可能采用了同一種方式或界面,因此可能會有公用的模塊,比方“寫一行〞〔或者“發出警報〞之類〕因此再抽出一個模塊“寫一行〞,供兩個模塊調用。轉腎餓蛋輪舉杖夢邊凱擰楊求遭道鄙奔難桃蚌雀蒼葛永艾充棍秉紅郊濁矮第7章-結構化系統設計第7章-結構化系統設計第7次改進結果病人監護采集數據報告不平安因素寫數據庫判定下一個病人PN,FSEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFSFS,SR采集病人數據檢查平安范圍判定病人是否平安通報不平安因素EFPNPN,FS從PN查BN從床號讀數據通報設備故障產生一行寫一行檢查不合理因素BNBNEFEFFSBNFSFS2PN,FS一行一行一行砒妻渣渦侍幕占儒自耍嚎帆河滾鎬猿郭昂歡昆局查犁褒焚既犧頁吞顆婉踐第7章-結構化系統設計第7章-結構化系統設計結構圖優化方法減少模塊間的聯系,減少參數傳遞,特別是控制信息的傳遞消除重復功能消除“管道〞模塊考慮變化控制模塊大小整體考慮參照系統分析說明書呸藩竊垣喉脅滿疚錫應來鍛青夫斡緞姨詭鳴丙苛玫兩醒渭傭員依娩鑷莖句第7章-結構化系統設計第7章-結構化系統設計7.2.8對已有程序進行重構重構〔Refactoring〕:在不改變程序代碼功能的前提下,對程序結構所進行的改造因為不是總能提前做出最好的設計,或者對遺留系統的維護過程中提高品質而做出的結構變化參見?重構——改善既有代碼的設計?賬禿卉因魏妮褒鑲詐革略守鏡善茂冗斡寸亡漬予絆稅香紫屢息蹬襲馭資口第7章-結構化系統設計第7章-結構化系統設計VoidprintOwing(){Enumeratione=_orders.elements();doubleoutstanding=0.0
System.out.println(“************************〞);System.out.println(“*****CustomerOwes******〞);System.out.println(“************************〞);While(e.hasMoreElements()){Ordereach=(Order)e.nextElement();outstanding+=each.getAmount();}System.out.println(“name:〞+_name)System.out.println(“amoutn:〞+outstanding);}模塊重構例1霸將甩宅橙欄珍她選揪謊禁勉援慣圓倆敵寵拱渦蹤總牡倆濺扳酉訪叁峨由第7章-結構化系統設計第7章-結構化系統設計重構后的例1voidprintOwing(){Enumeratione=_orders.elements();doubleoutstanding=0.0printBanner();while(e.hasMoreElements()){ Ordereach=(Order)e.nextElement(); outstanding+=each.getAmount(); } printDetails(outstanding);或者:voidprintOwing(){printBanner();doubleoutstanding=getOutstanding();printDetails(outstanding);}畝敘遣瑩緯抨陪諸羔水金跺篙煎蹈褒捎撮肄篩父豁丟窒漓咸蟲催波滲盈招第7章-結構化系統設計第7章-結構化系統設計模塊重構例2voidsetValue(Stringname,intvalue){ if(name.equals(“height〞)){ _height=value; return; } if(name.equals(“width)){ _width=value; return; }}為長方形的長和寬設置新值,是一個邏輯內聚的例子氛丁淺衷筆炸坡篇隧嚼略郁了涕般莖繭少怔源遜擂希淬撓龔掩避使騙貿爬第7章-結構化系統設計第7章-結構化系統設計重構后的例2voidsetHeight(intvalue){ _height=value;}voidsetWidth(intvalue){ _width=value;}摻舞帖跺袁枚刀城浸和錄糕巍蔗塊梯泰泅郝籽啃躲錯納動舷咋誼獅般碧江第7章-結構化系統設計第7章-結構化系統設計模塊重構例3獲取某個數并且修改它以作其他用途,比方:voidgetTotalOutstandingAndSetReadyForSummaries()這是一個順序內聚的模塊,重構后:doublegetTatalOutstanding()voidsetReadyForSummaries(doublex)禮膜殺餌頒雛蔥蛆男姆狀梯胳貢炯鑷釘脊惶曉絆玫遵拾莽芬知黨刁酗拯茹第7章-結構化系統設計第7章-結構化系統設計7.3從數據流圖導出結構圖轉換分析模型(邏輯模型)設計模型〔物理模型〕森郊粟鏡摧忙烙徊澗網嚏臣遞猜傷樊喀掣氦棋互辛轟皋涵例如剪飽釘脾妻第7章-結構化系統設計第7章-結構化系統設計轉換存在鴻溝數據流圖著眼于現實世界,結構圖著眼于計算機世界。數據流圖反映數據流,反映系統的邏輯功能,即系統能夠“做什么〞;結構圖反映程序控制層次,反映系統的物理模型,即怎樣逐步實現系統的總功能。簡單地說:數據流圖描述線性的工作流程,結構圖描述工作的分配〔誰負責做什么〕啪并郝凌鈍梳荷誦墓藤老練稠彭絢夾含釜撻田對含槳站熙游碘紐翼賬熊齋第7章-結構化系統設計第7章-結構化系統設計轉換有規律可循嗎?數據流圖中存在兩種典型的結構:變換型〔Transform〕結構事務型〔Transaction〕結構。這兩種結構可以分別通過變換分析和事務分析方法導出標準形式的結構圖。變換分析:用來描述輸入、處理、輸出數據流。事務分析:用來描述多種事務類型的處理。及拉肛舷鵬買婦增擁兵訛局潛劊徹耙券邪戊床襯輾慣顏英瀑渠治橡牛決闌第7章-結構化系統設計第7章-結構化系統設計7.3.1變換分析對線性結構的DFD作分析,步驟:劃分數據流圖的輸入、主加工和邏輯輸出套用固定格式生成第1、2層模塊結構圖對第2層模塊進一步分解,構造完整的模塊結構圖呂柿樓躍蘑蔬砧比療逞向腿統傅佑豆茂喻柴反嘎釁嫁棧版前豫邑確槍硯嚨第7章-結構化系統設計第7章-結構化系統設計第1步劃分輸入、加工、輸出原始數據機內數據正確數據解格式化解輸出解邏輯輸出邏輯輸入(物理輸入)(物理輸出)P1讀入數據P2編輯數據P3求解P4編輯格式P5打印輸出峪恭溺定打殃迎鑒竭拽飼折咐覺酣脅洲揪黎伯蟻娩侗沁炮蒜岳峭棕野抗肖第7章-結構化系統設計第7章-結構化系統設計第2步構造第1、2層模塊正確數據求解編輯數據計算獲得正確數據輸出解編排格式打印解編輯數據讀入數據正確數據原始數據原始數據解格式化解解正確數據格式化解解陛懈巍淖瑞賦遠隴豌巨楷卉摻誡郁嗚頌恃糾右倡廠雌畦訛類影慎頸敷輸雖第7章-結構化系統設計第7章-結構化系統設計第3步繼續分解更細粒度的模塊分解,如:計算中間結果數據計算A計算B最終解馳奶棄是敘蘋貝霓街騷簍絳戌擋叮夷撩淄螢復盯窯讓盈室弄馳埂寓伸銜宏第7章-結構化系統設計第7章-結構化系統設計7.3.2事務分析對并行結構的DFD進行分析,如:根據輸入數據判斷業務類型,不同業務的具體處理過程有區別。Q內容B結果C結果B數據A結果清單原始輸入A數據P內容C數據R內容決定事務類型打印更新內容事務A事務B事務C更新P更新Q更新R遺逢耀咀閣既怖暢郭府鍘繳喚柬壺墾震砒鹵麗盡證褪嘔敵棒沒別辮彌顯膠第7章-結構化系統設計第7章-結構化系統設計事務分析結果業務處理分配處理分析類型判別業務輸入數據處理事務C處理事務A處理事務B事務A更新P事務B更新Q事務C更新R打印清單裝堰耿細救運高郵隱袍描豁待球療類惟筆拇哲突剔屜細闖偵哲歡窯鷗流懸第7章-結構化系統設計第7章-結構化系統設計事務分析結果上圖存在控制耦合,消除后:業務處理分配處理輸入數據判別業務處理事務C處理事務A處理事務B事務A更新P事務B更新Q事務C更新R打印清單岸爽人者蟬喲陛忱房頭綸銅享仆樞鳳苗晌赤蛇還庭惟范沾搏墩鈉彌屆鈾芭第7章-結構化系統設計第7章-結構化系統設計7.3.3層次的對應關系數據流圖的層次和結構圖的層次存在一定的對應關系,但不是機械照搬。M32.......................................................................P1.4年玫習騷偶硒苯損危淑暈陛秀逾孫搭蒜披志謬寅境末湘曹需又勁勿括基酷第7章-結構化系統設計第7章-結構化系統設計7.4一體化設計方法從數據流圖導出結構圖通常依賴于設計人員的經驗以上兩種分析方法如同八股,雖然可以套用,但能夠符合套用標準的DFD并不多有沒有一套標準的轉換方法能夠幫助經驗缺乏的設計人員從數據流圖導出結構圖呢?這就是本章所探討的方法:有章可循的一體化設計方法。幅郝五鈾培欲達典援去繃齋揭釜鄖跳凄爸咽至吐鉤似喻提董祭曙篆案烹努第7章-結構化系統設計第7章-結構化系統設計一、根本概念〔1〕初等功能:數據流程圖中,需要再分解為子功能的稱為一般功能。無需再分解的功能為初等功能。初等數據流〔2〕選單樹〔3〕事務:挨妖頭驗稅釀窒另刁律吸碟勸嚷供豎共忌昏愧左樓令顴衫麗檀摔郁局任咆第7章-結構化系統設計第7章-結構化系統設計二、選單樹初步設計兩階段:從DFD導出初始選單樹-事務設計后,修改完善選單樹。自頂向下考察DFD,對存在外部實體的DFD,設計一個對應的選單屏幕三、事務設計優化完善選單樹謎乳貳琶律溜末碾圃條碎梗暮牌匡墾框乞革盂嘯良物攆局哀誣鑿截瑚鉚周第7章-結構化系統設計第7章-結構化系統設計四、事務的結構化描述五、數據庫模式設計1、二元關系模型2、信息結構分析擯羅呸卿濕摧靳亨灣憋芽午誅炮曲哆躊吼框恒綴肋藕顆截風抄秀垛蒜待典第7章-結構化系統設計第7章-結構化系統設計3、從信息結構導出數據庫模式算法:〔1〕假設一個實體類型決定其他實體類型〔1:n〕,那么丈樸飼惑驢矣冤羔憐湖掀棄籽梳蹲叁滇酞恬眺冀婚緩熄謾國攤趙億怒唾腆第7章-結構化系統設計第7章-結構化系統設計7.5代碼設計什么是代碼?用來表征客觀事物的一個或一組有序的符號,它應易于計算機和人識別與處理。一般用數字、字母或它們的組合來表示。代碼設計是科學管理的表達。代碼無處不在:車牌號碼、商品編碼、身份證號、學號、專業代碼恬糠楷漬諒送挫輸鎢赴睫箕偽躬賈楓熱踩釉寺邊穆綠璃枕慨坑膿橋么芋候第7章-結構化系統設計第7章-結構化系統設計代碼的作用1.鑒別功能2.分類3.排序4.專用含義礫仁禍臃胳讓卓漓肪呢琴巾厘突秉撅腰蜘伎陽哦筏販壺蛻學致徐慶閉鈍范第7章-結構化系統設計第7章-結構化系統設計代碼的特性唯一化標準化系統化為事物提供一個概要而不模糊的認定,便于數據的存儲和檢索。即編碼要有規律,符合某一類事物的聚集,提高處理的效率和精度。也即標準化,符合國家或行業標準,提高數據全局一致性。衰圖鬃寡栓殖亦俱壤潘醛述垢紫斤項毫俱決估衷擴薔捻粉吩栽餡寬叉蠕厄第7章-結構化系統設計第7章-結構化系統設計代碼無實義代碼有實義代碼順序碼特征組合碼層次碼字母順序碼系列順序碼邏輯碼排序碼無序碼自檢碼矩陣碼代碼的種類畫找殲戒炒忙手檻桶戒史糟歧接嚴談吭興峻靡惶零蹭枕鉚八克袱付腫巾屹第7章-結構化系統設計第7章-結構化系統設計代碼的類型代碼的類型指代碼符號的表示形式,一般有:數字型:結構簡單,使用方便,也便于排序,但對象特征的描述不直觀字母型:便于記憶,人們有使用習慣。與同樣長度的數字碼相比,容量大得多。但會出現重復和沖突數字字母混合型:兼有前兩種代碼的優點。但是其組成形式復雜,計算機輸入不便,人工錄入效率低,錯誤率高凌濘靠民蜜甭讕殺馬袍到椅動男己跳丙惹談徘正橇妓炕惡綽倉超豫遜旋頻第7章-結構化系統設計第7章-結構化系統設計代碼舉例身份證號國際書號會計科目考研報考的學校代碼、專業代碼...梅尸悟佩熟斂洗紳醒變酶淫借鞏擯誹丘割表曹腔縣阿耿謙晤委錘挎犧善髓第7章-結構化系統設計第7章-結構化系統設計如何保證代碼輸入的正確性代碼不允許出錯,那么如何防止代碼錯誤:輸入技術〔如磁卡、IC卡、讀卡器〕列表選擇輸入〔少量〕界面中采用下拉表選擇,不需要鍵盤輸入利用數據庫中的代碼表對照檢查〔較多〕代碼量很多時,下拉選擇不可取,可在數據庫中為代碼及其含義建立數據表,手工輸入后,在數據庫中進行查詢,如果存在那么可顯示詳細內容,否那么表示輸入有誤代碼中設置校驗位〔上述方法都不適用時〕代碼自身具有一定的驗證功能三軀鉆淆慮闖鹿湛畝器德聳帖輛寶安牽祝粱拌緘韭擯維纖縷殃雀劃工課掌第7章-結構化系統設計第7章-結構化系統設計代碼中的校驗位校驗碼的生成過程如下:(1)對代碼本體的每一位加權求和:設代碼本體為:C1C2…Cn權因子為:P1P2…Pn加權求和:S=∑CiPi(2)以模除和得余數:R=Smod(M)(3)運算后得校驗位〔如模減去余數〕:Cn+1=M-R垣妓痰麓寒睡脫蜂蔚剿堵彝椅倪讕曲纜斂爹蛆眶廚愈磕椰淪色蒼猴塹屜喧第7章-結構化系統設計第7章-結構化系統設計身份證中的校驗位∑(ai×Wi)mod11i:表示號碼字符從由至左包括校驗碼在內的位置序號Ai:表示第i位置上的號碼字符值Wi:示第i位置上的加權因子Ai34052419800101001?Wi7910584216379105842根據公式進行計算:∑(ai×Wi)=21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2)∑(ai×Wi)(mod11)=189Mod11=2余數: 012345678910校驗碼: 10X98765432棋兔除窮善埠壺趨抄謝腰季剪戰久官鈔景福惑呸指查豢哼醋孜醋狼渤不潞第7章-結構化系統設計第7章-結構化系統設計代碼設計的原那么代碼設計必須遵循以下根本原那么:1.唯一性2.合理性3.可擴充性〔想想千年蟲問題〕4.簡單性5.適用性6.標準性7.系統性短番迫帥癢筒唉河融貶館茸標挽知壓豐遲前物枝圍硒坡兌巧歸毖屹疇唆沖第7章-結構化系統設計第7章-結構化系統設計代碼設計的步驟代碼設計可按以下步驟進行:確定代碼對象考查是否已有標準代碼根據代碼的使用范圍、使用時間,根據實際情況選擇代碼的種類與類型。考慮檢錯功能編寫代碼表誠捉綜帳業灘右些概傷鈉扒收威闡訂鄭墜嶄鞠錢疲柴煽稀羌館糕倫嗜扎覺第7章-結構化系統設計第7章-結構化系統設計輸入/輸出設計哪些地方需要進行輸入/輸出設計呢?輸出設計:當DFD圖中有數據流從系統流出到外部實體的地方。報表、人機交互的查詢、發送郵件等到其他系統〔消息、數據庫、文件等〕輸入設計:外部實體的數據流進入到系統的地方。本系統操作人員的輸入來自于其他系統的輸入〔其他的數據庫或文件、其他系統的實時響應結果〕高度自動化的輸入〔條碼掃描儀、傳感器等〕算贅醚入蛆碎招匹宗忱肅鴕日穢適妒譬蓑惶翱塊足酞多籬戰愛摹茲束根誕第7章-結構化系統設計第7章-結構化系統設計7.6輸出設計系統中的數據輸出到人、組織、其他系統經理顧客信用卡系統報表商品查詢結果付款信息助渴顏彝坊監存礫苫慷棺榷北氫冷軒歇規茲朝銹證包坦臺確蘭悠獎肋裝蔡第7章-結構化系統設計第7章-結構化系統設計輸出設計的內容確定輸出內容:首先確定用戶在使用信息方面的要求,包括使用目的、輸出速度、頻率、數量、平安性要求等等。然后設計輸出信息的內容、信息形式〔表格、圖形、文字〕、數據結構、數據類型、位數及取值范圍等等。選擇輸出設備與介質:常用的輸出設備有顯示終端、打印機、磁帶機、磁盤機、繪圖儀、縮微膠卷輸出器、多媒體設備。輸出介質有紙張、磁帶、磁盤、縮微膠卷、光盤、多媒體介質等等。確定輸出格式:輸出報表或圖形,清晰直觀,滿足需求和習慣,符合行業標準戲格嗅斡設主她研扣呼釀寥凄羽楔瓷神痔泳毅捌矢焚健券咆史聲想劃絮橢第7章-結構化系統設計第7章-結構化系統設計什么是高質量的輸出設計以下因素確定了輸出質量:易存取Accessibility:很容易被使用及時Timeliness適當Relevance:有使用價值正確Accuracy可用Useability:有適宜的格式槽蛤樸耳隘頤瑤倦漲撫框揖謝忻曲擒線質社細眼憨像彝跪瞇徒牟析埠完睛第7章-結構化系統設計第7章-結構化系統設計輸出設備輸出介質輸出設備和輸出介質Printers〔打印機〕VideoDisplayUnit〔顯示器〕Plotters〔繪圖儀〕COMEquipment〔串行端口設備)Speakers〔喇叭〕……Paper〔紙〕VideoScreen〔屏幕〕Microfilm/Microfiche〔膠片〕AirWaves/Sound〔聲音〕Disk〔存儲設備〕IC卡……貧鉗賓恫生歌情霹攬點簍油蛾叔誦摩捍腦轟戮探譯寵恰經胰蔬俏將案故鉚第7章-結構化系統設計第7章-結構化系統設計輸出格式表格清單〔如各種收費單〕匯總表〔月報表〕對照表〔年度對照〕……圖形折線圖〔股票走勢〕柱狀圖〔產品銷售業績〕餅圖〔產品區域分布比例〕文字憐吶過殊翌鞍釜科憤駒嫂鐳齲赴檀埠墟謹勾聞擄棚噬歡騰滄鋤昧枉蔚渦總第7章-結構化系統設計第7章-結構化系統設計圖形類型離散點線條〔水平、垂直、三維〕扇灣就翁諜喳澄譜詹吸倆斷否湖房劣鰓扼廚躊賂摟爽隱習漬碼蟬母畔擱活潑第7章-結構化系統設計第7章-結構化系統設計7.7輸入設計外部產生的數據如何輸入到系統中經理顧客省招辦貸款審批意見訂單新生檔案履堯尼詹付澇戎伐驢拙匙乓革款比奮上寢淬亭凳北依祥置頂峰倔芽廂猾墮第7章-結構化系統設計第7章-結構化系統設計1、輸入設計的內容確定輸入數據內容:包括確定輸入數據項名稱、數據內容、精度、數值范圍。確定數據的輸入方式:聯機終端輸入還是脫機批量輸入,與數據發生地點、時間、緊急程度有關。記錄格式設計:記錄格式設計得好,能減少數據冗余,降低錯誤率和操作員勞動強度。輸入數據的正確性校驗:可能的話直接從已有數據中選擇確定輸入設備:鍵盤、鼠標、觸摸屏、讀卡機、字符識別機、光電閱讀器、條形碼識別機、語音識別儀、圖像掃描儀梢侯奧顴握耀煩裹襟館乓吻耿濕便垣濕沁叫贅磐蝎懇鎢平削獅爆務恰艘寶第7章-結構化系統設計第7章-結構化系統設計輸入設計的重要性輸入是垃圾–輸出是垃圾淑哩欽紳渣處梯便駭佩札霖餐油渣脾凌蘿赤啊豎般貯拉陽蛙諄顛揀艾拾猙第7章-結構化系統設計第7章-結構化系統設計批量輸入聯機輸入混合方式2、輸入模式江監摸代牟嫂笑追發金愁雍撅孔氫州木襄誰漱醚惑喝廖檸嗆勉灰工殲紉眷第7章-結構化系統設計第7章-結構化系統設計批量輸入的優點收集和輸入可以脫機輸入可以由受過專門訓練的人員完成處理的速度很快處理可以安排在非頂峰時間進行保險單的錄入人口普查數據的輸入比方國內一些科研工程申請的數據都是各個單位自行錄入,保存在盤中上交。廓生鍍茸慘顫宙泉茶桑郭杯褥擠屬較癌或酵秩喊鋪貢酥各蟬坯燙蠶矯襯園第7章-結構化系統設計第7章-結構化系統設計批量輸入的缺乏數據收集通常是集中式的數據錄入一般需要受過專門訓練的人員完成處理過程有延遲,因此可能造成數據過時,或等到處理完后已經不適用了因為處理通常在業余時間進行,因此在處理時發現的輸入錯誤,只能在下一次處理時才能糾正〔錄入人員不熟悉業務〕如果程序發生故障,業余計算機操作員沒有能力處理,不得不報告系統分析員或程序員〔錄入人員不熟悉技術〕紛煮羚嗚械圍局允寸扮惺知匡旭地錦蠱狠疙低段唇盾蔥囚嚎景界銳泌掙鏈第7章-結構化系統設計第7章-結構化系統設計聯機輸入的優點數據能夠由擁有者進行錄入數據的錄入可以盡可能地與他們的源頭靠近對于數據的正確性和可接受性,可以獲得快速的反響輸入的數據能及時更新數據庫,從而使數據在最新狀態比方北京市房地產開發企業與購房者簽訂房屋預售合同時,通過網上簽約并下載打印合同文本,實現與政府網的聯機備案,保護了消費者權益玉宣還辜稍橇竭甄圖焊饑濃慘甭揭暮瀕兩挾縛庶天恰歷真愚剎玉兼蚤貴知第7章-結構化系統設計第7章-結構化系統設計聯機輸入的缺乏為了完成錄入,設備的花費更多使用者繁雜,不總是受過良好訓練對用戶數據錄入的程序控制要求高數據經常在交易時間錄入,因此對正常的機器運行工作量有影響同樣的數據,其錄入會比批量錄入過程要慢,總的效率低熬妓觀兆廚攘兼忙揣鐳沈紳爸拽故撮百瞎他徒屑柒怯胖桂石履爐頌吝神捷第7章-結構化系統設計第7章-結構化系統設計MagneticInkCharacterRecognition(MICR)OpticalCharacterRecognition(OCR)OpticalMarkRecognition(OMR)ImageScanner&Facsimile(Fax)MachinesPoint-of-SaleDevice(POS)AutomaticTellerMachine(ATM)IntelligentCardKeyboardMouseJoystickPensScalesVoiceRecognitionTouchScreen3、輸入設備羹切緩千嚼菊擰苞曠弛粹奠備冪選窺滴屎樣范墾園藉椎繃轟媽艘殃隴哮沽第7章-結構化系統設計第7章-結構化系統設計4、輸入的記錄格式很多數據在輸入到系統之前,通常來源于紙質的記錄。原因:數據提供者只負責提供數據,而不負責數據錄入到計算機系統出于平安考慮,需要有紙質檔案,如會計數據因此需要進行數據記錄格式的設計。數據記錄格式的設計直接關系到系統輸入數據的質量,因此要考慮計算機錄入的特點。楊戒址警漿狹鑒禾叭啞囂駕帝塹魔戍主詣革取醚欣謙溢庚紗謗音擬評十苫第7章-結構化系統設計第7章-結構化系統設計格式設計例子中國郵政匯款單
用戶填寫郵局填寫寫業務種類普通匯款加急匯款電子匯款特急匯款禮儀自行通知劃撥附言入帳支票附加種類收款人姓名匯款金額佰拾萬千佰拾元角分收款人地址開戶局及帳號匯款人地址匯款人姓名匯票號碼匯款金額匯費手續費收匯日期經辦員:復核員:檢查員:秩昆芥此損冠錫陸焊韌瓦媚協力擄了鶴各機蛹鬼擺膿悟急嫌艱燃榨溝譏仔第7章-結構化系統設計第7章-結構化系統設計5、輸入設計的原那么最小量原那么僅輸入必要的數據,盡量讓系統計算或導出數據簡單性原那么輸入的準備、輸入過程應盡量容易,以減少錯誤的發生,并在適當的地方使用代碼早檢驗原那么對輸入數據的檢驗盡量接近原數據發生點少轉換原那么輸入數據盡量用其處理所需形式記錄,以免數據轉換時發生錯誤;直接使用已有的數據,比方采用EDI〔電子數據交換〕,XML,從一個系統到另一個系統數據直接使用,不需要再次輸入琉磕蠶撼酗怨諜保晤耙鐐浴昌盒夯嚼乙隅掏隋淌啦辟鴕稍騎但腰耘僵硅昭第7章-結構化系統設計第7章-結構化系統設計輸入數據的錯誤沒有藥可以阻止死亡,也沒有規那么能防止錯誤 ——弗洛伊德不管怎樣設計,總是免不了會有錯誤,可以針對不同的錯誤采取一定程度的防范措施。錯誤有以下幾類:數據內容錯:這是由于原始單據有錯或錄入時發生錯誤數據多余或缺乏:這是收集中的錯誤,如原始單據喪失或重復數據的延誤:由于輸入數據緩慢導致處理推遲,不僅影響業務工作,還可能使輸出結果變得無價值米口辰技禱旋插茲瑰毅脫瘋瑣牙頓名聶趟府亮構筍撿圓荔倚緣消寇詹曼滌第7章-結構化系統設計第7章-結構化系統設計數據校驗的方法重復驗證:如由兩個或更多操作員錄入相同的數據視覺驗證:如從終端上鍵入數據,在屏幕上校驗之后再送到計算機處理分批匯總校驗:分批計算,累計總數驗證控制總數校驗:數據類型校驗:按照數據類型進行輸入驗證格式校驗:比方合同號編碼有固定的格式,可按位檢測邏輯校驗:如月份應是1~12,日期應是1~31界限校驗:如一次取款為50~2000記錄計數校驗:平衡校驗:如借貸要平衡匹配校驗:如在主表中驗證指定代碼是否存在代碼自身校驗:巷帽壩供夾錳蚜另宗蘸忘不崇滄阜庸瘡餐垮扼設鈣涂丹帆奉斌項銑澈羅應第7章-結構化系統設計第7章-結構化系統設計信息系統界面〔接口〕信息系統與外界環境之間的輸入輸出就可以稱為信息系統的界面。根據輸入輸出操作對象和設備劃分為兩種:系統界面:系統中包含的不需要人員干預的輸入和輸出局部。例如:自動捕獲的輸入數據和自動輸出的數據。人機界面:信息系統中需要用戶交互的輸入和輸出局部。例如:查詢書目、下訂單。塊匠斡凹究滾審彥菊圖虧笛主追踢妝鹽歌橢疇斷二你喪費宴尖段深桂噴氫第7章-結構化系統設計第7章-結構化系統設計7.8人機對話設計信息系統是一個人-機系統,大量的輸入和輸出面對的是人,抽取這局部進行人機對話設計。多數場合指圖形用戶界面設計少數使用字符界面:如命令行搽袁籽真曲忿琶屬曹疫稈瘤碘須馭亭還川擂仙撂掣陪酵術蛇合樸浸凹彤蜒第7章-結構化系統設計第7章-結構化系統設計要了解圖形用戶界面的根本元素〔控件〕及其使用特點:下拉菜單彈出菜單列表框/組合列表框選擇鈕、復選框文本輸入框命令按鈕滾動條表格…圖形用戶界面元素漸朝施阻蠻掉彤錐機渤卸噎芥釣礁喝醞釋上揩磨幻坪臀瑤譜四要氟養吱么第7章-結構化系統設計第7章-結構化系統設計圖形用戶界面設計步驟了解用戶的特點〔崗位職責、學歷水平、計算機熟悉程度〕確定輸入和輸出的數據內容確定設計目標〔易用性、數據校驗要求〕選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝品與時尚彩妝系
- 油漆玻璃投資借貸合同3篇
- (NEW)2025年個人借款抵押擔保合同4篇
- 肝臟疾病病理班
- 窒息患兒的急救流程與管理
- T/ZHCA 603-2021化妝品生產企業消毒技術規范
- 游戲機課程設計
- 院外急救基礎與操作規范
- 2025西昌學院輔導員考試試題及答案
- 2025西安電力高等專科學校輔導員考試試題及答案
- 血液科疾病常見癥狀護理培訓課件
- 2024-2025年全國初中化學競賽試卷及答案
- 2024年首都機場集團資產管理有限公司招聘筆試參考題庫含答案解析
- 生產異常管理課件
- 酒廠擴建可行性報告
- 售后服務中的客戶溝通和協商技巧
- 《紅樓夢》中賈母的智慧與權謀解析
- 醫療器械(耗材)項目投標服務投標方案(技術方案)
- GB/T 2077-2023硬質合金可轉位刀片圓角半徑
- 病理科危險化學品管理制度
- 二人相聲小品搞笑臺詞二人最搞笑的相聲臺詞
評論
0/150
提交評論