軟件工程CH04-概要設計_第1頁
軟件工程CH04-概要設計_第2頁
軟件工程CH04-概要設計_第3頁
軟件工程CH04-概要設計_第4頁
軟件工程CH04-概要設計_第5頁
已閱讀5頁,還剩222頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件工程軟件工程劉迎春軟件工程7/7/20231第四章概要設計問題定義可行性研究可行否?否是需求分析終止項目概要設計計劃時期開發時期主要內容4.1任務4.2軟件結構設計及優化4.3圖形工具4.4結構化設計(方法)4.5數據結構設計7/7/202324.1概要設計的任務【起點】需求分析階段得出的DFD圖,數據字典【任務】從需求分析階段的工作結果出發,進行軟件結構設計與數據設計,編寫《概要設計說明書》。軟件結構設計(是概要設計階段的主要工作)系統中每個程序由哪些模塊組成以及這些模塊間的關系數據設計將分析階段創建的信息模型(數據字典)轉換為實現系統所需要的數據結構7/7/202334.1概要設計的任務【方案選擇】分析員應該綜合分析對比各種合理方案的利弊,推薦一個最佳的方案,并且為推薦的方案制定詳細的實現計劃通常至少選取低成本、中等成本及高成本的三種方案7/7/202344.2軟件結構設計及優化【結構設計的任務】建立良好的模塊功能結構確定模塊、模塊間的關系【主要內容】4.2.1模塊和模塊化4.2.2軟件結構風格4.2.3耦合與內聚4.2.4好的軟件設計特性7/7/202354.2.1模塊和模塊化【1、模塊】數據說明、可執行語句等程序對象的集合。單獨命名且可通過名字來訪問如表單(Form、窗口)、過程、函數等。【基本屬性】功能:描述該模塊實現的功能;狀態:該模塊使用時的環境和條件;邏輯:描述模塊內部怎么做;【內部特性、外部特性】內部特性是指完成其功能的程序代碼和僅供該模塊內部使用的數據外部特性是指模塊名和參數表(輸入參數、輸出參數),以及對程序及整個系統造成的影響使用黑盒子的概念,站在較高的層次上進行思維,從而避免過早地陷入具體的條件邏輯、算法和過程步等實現細節7/7/202364.2.1模塊和模塊化【2、模塊化】把系統劃分成若干個模塊,每個模塊完成一個子功能,模塊既獨立且相互之間又有一定的聯系,把他們組成一個有機的整體,完成指定的功能。高層模塊隱蔽了細節,能夠從整體上把握問題需要時,可以深入較低層次以了解進一步的細節模塊化是軟件結構設計的一個基本準則7/7/20237Netscape公司的故事1/3對于PC軟件,有一個神話講:設計不是很重要,因為市場是隨著時間改變的。在這方面Netscape公司的倒閉是一個值得深思的故事。最初Illinois大學的NCSAMosaic小組開發了第一個廣泛使用的瀏覽器。他們創建了Netscape公司,在1994年4月到12月之間發行了Netscape1.0,它可以在3個平臺上運行,很快就成為了Windows、Unix和Mac上的占有統治地位的瀏覽器。Microsoft公司于1994年10月開始開發Internet

Explorer1.0,并在1995年綁定在Windows95上。7/7/20238Netscape公司的故事2/3從1995年到1997年,在Netscape公司的快速發展期間,開發者努力工作來產生新的特點,而很少花時間進行設計。Microsoft公司意識到了需要建立可靠的設計,它使用共享組件重構Office套裝,建立了NT操作系統,并花費了時間來重構IE3.0。拉近了與Netscape的差距。Netscape的開發在繼續。通過Communicator4.0,已有120個開發者(從最初的10個)和3百萬行代碼。MichaelToy(開發經理)說道:“我們處于一個很壞的情形下……我們應該在一年前就停住綁定這些代碼。這是死的……這就像被粗魯地喚醒……我們為走得太快而付出了代價。”7/7/20239Netscape公司的故事3/31997年Netscape公司內部關于模塊設計的爭論Netscape用了2個月來重新設計瀏覽器,但是這還不夠長。Mozzila5.0版本作為開源發布,但是這也毫無幫助:沒有人想在類似意大利細面條似的代碼上進行工作。最后,Microsoft贏得了瀏覽器的戰爭,AOL收購了Netscape。當然,這不是Microsoft瀏覽器戰勝Netscape瀏覽器的全部故事。7/7/202310

資本市場供應市場協同供應協同計劃協同設計[供應鏈管理]協同服務協同銷售[客戶關系管理]協同市場投資者關系管理戰略目標管理管理駕駛艙[企業績效管理][財務管理]財務會計管理會計稅務會計資金管理計劃管理車間管理質量管理設備管理[人力資源管理]人事管理薪酬管理招聘培訓績效管理辦公自動化[知識管理]信息門戶內容管理采購管理[制造管理][物流管理]倉存管理銷售管理分銷管理采購管理消費市場知識市場例:金蝶K/3ERP系統的結構7/7/202311K/3模塊配置行業應用配置政府財政信托管理證券管理銀行管理金蝶K/3標準產品第三方產品接口工具集醫藥GSP房地產進出口醫藥GMP汽車DMS業務環境配置個性化業務需求設計按角色配置多語言配置應用集成配置業務流程配置成功企業流程快速復制柔性化流程設計靈活的管理控制方式7/7/202312選課管理考試報名畢業設計科研項目論文管理成績管理排課管理信息維護成績查詢SQLSERVERInterbase教務WEB系統7/7/202313iBATIS.NET數據庫訪問類Mapper分頁類Paginate選課管理SQLSERVERInterbase常用數據轉換工具類Tools教師模版頁Js.master管理員模版頁Gly.master學生模版頁Xs.master考試報名畢業設計科研項目論文管理成績管理排課管理信息維護成績查詢相關頁面分頁類繼承自Paginate其他類如,課程類,成績類,賬號7/7/2023144.2.2軟件結構風格軟件結構風格程序的模塊結構,各個模塊的組織情況一個模塊和其它模塊的獨立程度是評價一個設計好壞的重要度量尺度。軟件結構風格的總體要求——獨立性高一個模塊的功能不是同其它模塊緊密地聯系在一起。7/7/2023154.2.2軟件結構風格【獨立性高的優點】當一個模塊的功能不是同其它模塊緊密地聯系在一起時,獨立性較強,比較容易理解;獨立性較強的模塊修改時不會或者較小的影響其他模塊。獨立性較強的模塊修改不容易受其他模塊改變的影響。如何評價模塊間聯系的緊密程度?7/7/2023164.2.3耦合與內聚耦合模塊之間的互相依賴的緊密程度的度量耦合越松散,模塊之間的聯系就越小內聚模塊內部各個元素彼此結合的緊密程度的度量內聚越高,模塊內部各成份之間的關聯也就越強獨立性強的模塊應是高內聚、低耦合的模塊7/7/2023171耦合:模塊間聯系的程度。 (依賴于模塊間接口的復雜性)非直接耦合數據耦合特征耦合控制耦合外部耦合公共耦合內容耦合1)非直接耦合:兩模塊間沒有直接關系。

主控模塊2模塊1模塊4模塊3例如:模塊1和模塊2,無直接聯系。7/7/2023182)數據耦合:兩模塊間交換的是簡單數據(輸入、輸出參數)

計算應扣款計算水費計算電費用水量水費電費用電量7/7/2023193)特征耦合:模塊間交換的是數據結構(輸入、輸出參數)計算應扣款計算總扣除房租水電總扣除房租水電=用水量+用電量+租房開始日期房租水電=用水量+用電量+租期7/7/2023204)控制耦合:傳遞的信息中有控制信息(中等耦合)如果一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。7/7/2023215)外部耦合:一組模塊都訪問同一全局變量主控模塊2模塊1模塊4模塊3日期7/7/2023226)公共耦合:一組模塊都訪問同一全局數據結構主控模塊2模塊1模塊4模塊3數據結構、文件或數據庫7/7/202323某個模塊究竟用了哪幾個數據?某個數據究竟被哪幾個模塊使用?使用公共數據區的任—模塊如果出現BUG該BUG是否會是其他使用該數據區的模塊造成的?該BUG可能會影響那些使用該數據區的模塊?數據的名稱、類型發生變化;要尋找哪些模塊隨之改變。外部、公共耦合帶來的復雜性必須弄清修改影響的范圍,不要輕率地進行修改7/7/2023247)內容耦合:(最高的耦合)...GOTOA..……..A:..…....1)一個模塊直接調用另一個模塊中的數據。2)一個模塊直接轉移到另一個模塊中去。3)一個模塊有多個入口。4)兩個模塊有一部分程序代碼重疊。病態耦合關系!!MN7/7/202325非直接耦合數據耦合特征耦合控制耦合外部耦合公共耦合內容耦合低高結論:

耦合是影響軟件復雜程度的重要因素

盡量使用數據耦合少用控制耦合限制外部和公共耦合不用病態的內容耦合。

7/7/202326耦合練習下圖中的程序由A、B、C、D、E5個模塊組成,下表中描述了這些模塊之間的接口,每—個接口有一個編號。此外,模塊A、D和E都要引用一個專用數據區。那么A和E之間耦合關系是____(10)____。A.公共耦合 B.控制耦合C.內容耦合 D.無耦合編號參數返回值1數據項數據項2數據項數據項3功能碼無4功能碼列表5無列表A7/7/2023271)偶然內聚:模塊內各組成成分在功能上是 不相關。如:把幾個模塊都要執行的一組語句放到一個模塊中。偶然的原因把他們放在一塊偶然內聚邏輯內聚時間內聚過程內聚通信內聚順序內聚功能內聚2內聚:模塊內各成份間的緊密程度j++i,j,ki++k++7/7/2023282)邏輯內聚:通常由若干個邏輯功能相同或相似的成份組成;目的:省去程序中的重復部分如:計算全班學生的平均分和最高分7/7/202329讀入分數平均/最高計算最高計算平均輸出結果邏輯功能相同邏輯功能相同可能需要從模塊外引入用作判斷的開關量,形成控制耦合7/7/2023303)時間內聚:相同的時間執行的成分組合在一個模塊內。

如:對系統的初始化等一系列的工作。

7/7/2023314)過程內聚:一個模塊內部包含一組任務并必須以特定次序執行。(中等)讀取顧客的姓名讀取顧客的地址讀取顧客的電話號碼7/7/2023325)通信內聚:模塊內使用了同一組輸入數據,或產生同一組的輸出結果。開領書單登記售書領書單售書登記表有效書單7/7/2023335)通信內聚:模塊內使用了同一組輸入數據,或產生同一組的輸出結果。計算年齡輸出年齡計算工資輸出工資雇員生日7/7/2023345)通信內聚:模塊內使用了同一組輸入數據,或產生同一組的輸出結果。新增7/7/2023357/7/2023366)順序內聚:模塊中各成份密切相關,一個組成部分的輸出作為另一個組成部分的輸入7/7/2023376)順序內聚:模塊中各成份密切相關,一個組成部分的輸出作為另一個組成部分的輸入計算年齡輸出年齡計算工資輸出工資雇員生日7/7/2023387)功能內聚:模塊內部各成份結合在一起完成單一的功能。如:按雇員生日,計算年齡計算年齡輸出年齡雇員生日7/7/202339結論:盡量采用功能內聚避免邏輯和耦然內聚。

偶然內聚邏輯內聚時間內聚過程內聚通信內聚順序內聚功能內聚高低一個模塊一個功能是軟件設計人員模塊化設計的一條準則7/7/202340耦合與內聚的衡量內聚度高,耦合弱,標志著模塊的獨立性強;實踐證明,內聚比耦合更重要,應該把更多注意力集中到提高模塊的內聚度上來。7/7/202341360安全衛士360殺毒殺毒核心7/7/202342密碼安全文件傳輸安全安全網絡安全7/7/202343聊天記錄漫游QQ會員管理?7/7/202344計08-2劉新QQ軟件結構7/7/2023457/7/202346計08-2包偉偉360軟件結構7/7/2023477/7/2023487/7/2023494.2.4好的軟件設計特性1.改進軟件結構,提高模塊獨立性2.模塊規模適中3.深度、寬度、扇出和扇入4.模塊的作用域應該在控制域之內5.降低模塊接口的復雜性6.模塊功能可以預測目的:幫助改進軟件設計,提高軟件質量7/7/202350一、改進軟件結構,提高模塊獨立性1.審查軟件結構是否合理寧要塔型不要餅型提倡甕型7/7/202351教務WEB系統選課管理考試報名畢業設計科研項目論文管理成績管理學生選課信息維護成績查詢SQLSERVERInterbase教務WEB系統7/7/202352iBATIS.NET數據庫訪問類Mapper分頁類Paginate選課管理SQLSERVERInterbase常用數據轉換工具類Tools教師模版頁Js.master管理員模版頁Gly.master學生模版頁Xs.master考試報名畢業設計科研項目論文管理成績管理選課管理信息維護成績查詢相關頁面分頁類繼承自Paginate其他類如,課程類,成績類,賬號教務WEB系統7/7/202353一、改進軟件結構,提高模塊獨立性1.審查軟件結構是否合理2.提高模塊獨立性(觀察耦合與內聚)

7/7/202354一、改進軟件結構,提高模塊獨立性⑴⑵⑶(1)選擇工程量(2)選擇工程量變更(3)填寫申報表(3)填寫申報表(3)填寫申報表如果你僅僅因為一組方法具有相似的實現就把它們放在一個模塊里,那么你將犯“創建邏輯內聚對象(logicallycohesiveobject)”的錯誤7/7/202355(1)選擇工程量(2)選擇工程量變更(3)填寫申報表3個模塊《數據耦合》7/7/202356⑴(3)填寫申報表7/7/202357⑵(3)填寫申報表(1)選擇工程量7/7/202358⑵(3)填寫申報表(2)選擇工程量變更7/7/2023591個模塊管理6種單位信息《邏輯內聚》每個單位都有單位名稱、法人代表7/7/2023601個主控模塊2個中間控制模塊(新建、打開/編輯)6種新建單位模塊6中單位編輯模塊1個刪除單位模塊1個單位類型管理模塊《通信內聚》7/7/202361打開/編輯監理單位7/7/202362二、模塊規模要適中60行?30行?100行?過少——模塊增多接口代價高過多——模塊內的復雜度提高7/7/202363三、軟件深度、寬度、扇出和扇入深度深度:軟件結構控制的層數(0~49)7/7/202364三、軟件深度、寬度、扇出和扇入寬度:軟件結構中最多模塊層的模塊數寬度7/7/202365三、軟件深度、寬度、扇出和扇入ABCDGFEJIHK扇出:某模塊直接控制的模塊數如:C模塊的扇出系數為3扇出一般3-4較好

7/7/202366三、軟件深度、寬度、扇出和扇入ABCDGFEJIHK扇入:某模塊被多少模塊調用

如:I模塊的扇入系數為2(被E、F調用)扇入越多越好(在模塊獨立性允許原則下)7/7/202367控制7/7/202368三、軟件深度、寬度、扇出和扇入結論:一個好的軟件結構,一般上層扇出較高,中層扇出較少,低層扇入較高。(甕型結構)提倡甕型7/7/202369四、控制域與作用域的關系1.控制域:模塊本身極其下屬模塊均屬于該模塊的控制域ABCDGFEJIHKA的控制域:A,B,C,D,E,F,G,H,I,J,KG的控制域:G,J,K7/7/2023702.作用域的關系:

作用域:受該模塊內判定影響的所有模塊ABDHC的作用域:E,F,G,I,J,KCGFEJIK7/7/202371TOPXYABB2B1B:判定A:作用B-Y-AB1:作用7/7/202372TOPXYABB2B1B:<判定>根據Y輸入的學號,讀取成績,判斷學生畢業、肄業……返回判斷結果0——授予學位證書1——授予畢業證書2——授予肄業證書A:受B中的判斷作用B的判定結果有模塊Y輸入根據判定結果打印相應證書B-Y-AB1:受B中的判定作用7/7/202373TOPXYABB2B1控制域與作用域的關系:作用域在控制域內且越近越好TOPXYABB2B1把做判斷的點往上移,把判斷從模塊B移到模塊Y。但B1的傳遞路徑仍然比較長把那些在作用域內但不在控制域內的模塊移到控制域內7/7/202374

五、降低模塊接口的復雜程度接口的影響:1.接口簡單,低耦合高內聚2.接口復雜,高耦合低內聚7/7/202375降低模塊接口的復雜性模塊接口復雜是軟件發生錯誤的一個主要原因。應該認真設計模塊接口,使得信息傳遞簡單并保持參數的一致性。

求一元二次方程的根的模塊,比較:QUAD_ROOT(TBL,X)QUAD_ROOT(A,B,C,ROOTl,ROOT2)7/7/202376六、模塊功能可以預測一個模塊可以當做一個黑盒子,只要輸入的數據相同就產生同樣的輸出結果,這種模塊的功能就是可以預測的帶有內部狀態的模塊的功能有時是不可預測的,因為它的輸出取決于所處的狀態,由于內部狀態對于上級模塊而言是不可見的,所以這樣的模塊既不易理解又難于測試和維護7/7/202377360瀏覽器中的兩個URLse:homese:blank7/7/2023784.3圖形工具4.3.1層次圖和HIPO圖4.3.2結構圖(StructureChart,SC)7/7/2023794.3.1層次圖和HIPO圖層次圖用來描繪軟件的層次結構。層次圖中的矩形框表示模塊矩形框間的連線表示調用關系HIPO圖是美國IBM公司發明的“層次圖+IPO圖”的英文縮寫層次圖每個模塊都加了編號與層次圖中每個模塊相對應,應該有一張IPO圖描繪模塊的處理過程。HIPO圖是由一個帶編號的H圖和一組模塊的IPO圖組成7/7/202380

4.3.1層次圖和HIPO圖1.層次圖(H圖)成績管理系統3錄入成績2待錄成績單管理1查詢3.1導入課程成績3.2百分制成績錄入3.2等級制成績錄入2.1個別學生成績單2.2成批學生成績單1.1查詢課程1.2查詢上課班級1.3查詢學生成績7/7/202381

2.IPO圖課程信息成績數據文件學生信息百分制成績等級制成績2待錄成績單管理3.1導入課程成績3.2百分制成績錄入3.3等級制成績錄入空成績記錄

成績記錄

3錄入成績7/7/202382二、結構圖:(SC)1.傳入模塊:從下層模塊取得數據,經過某些處理,再將其結果傳遞給上級模塊。2.傳出模塊:從上級模塊獲得數據,進行某些處理,再將其結果傳送給下級模塊。3.變換模塊:從上級模塊獲得數據,進行特定處理,轉換成其它形式,再將其結果傳送給上級模塊。x

yx

xy

y7/7/202383二、結構圖:(SC)4.源模塊:不調用其它模塊的傳入模塊。5.漏模塊:不調用其它模塊的傳出模塊。6.協調模塊:對下屬模塊進行控制和管理的模塊。

x

x

yx7/7/202384附加符號:(調用方式)

選擇調用

循環調用BCA注意:表示調用關系 不表示調用次序;2不指明什么時間調用;3層次圖作為文檔較合適。4結構圖作為檢查復審軟件結構的好方法。BCAD7/7/202385HIPO圖和SC圖的檢驗傳送的每個數據元素是否為完成模塊功能所必須的;完成模塊功能必須的每個數據元素是否都傳送來了;結構圖上模塊間的聯系是否容易解釋檢查設計的正確性和評價模塊獨立性7/7/2023864.4結構化設計方法一、概念與步驟二、變換映射三、事務映射四、優化設計7/7/2023874.4結構化設計方法(SD)一、有關概念國際流行的應用最廣泛的技術、最完善的系統設計方法基于數據流的系統分析、設計方法:SA和SD(這種方法在理論上可以適用于任何非并發軟件的開發工作。)結構化設計(SD)任務:將系統邏輯模型(DFD)—— 軟件結構圖(HIPO圖、SC圖)指導思想:自頂向上的逐步求精7/7/202388DFD圖軟件結構方法映射方法:

變換型DFD變換映射

事務型DFD事務映射7/7/202389

變換型特征:t輸入流變換中心輸出流數據隨時間的推移而流動即:隨著t的變化,輸入流通過變換中心(變換流)最后形成輸出流。外部表示內部表示1.變換型7/7/202390數字儀表板系統數據流圖7/7/202391數字儀表板控制接收傳感器信號數據轉換控制驅動儀表板輸出加/減速顯示顯示mph顯示里程顯示mpg發出鈴聲發光二極管顯示讀旋轉信號To___△sps

sps

Torpm計算gph讀燃料流確定加/減速計算mph超速值計算里程計算mpg數字儀表板控制系統軟件結構7/7/202392

事務型特征:事務事務中心T動作序列以事務中心為核心根據事務的要求去執行不同的通路2.事務型7/7/2023933.設計步驟復查并精化數據流圖流類型導出接口描述和全程數據結構變換映射用啟發式設計規則精化軟件結構事務映射復查“事務”“變換”詳細設計有問題無問題7/7/202394二、變換映射1.步驟1識別輸入邊界、輸出邊界和變換中心三部分。

邏輯輸入:離物理輸入端(輸入始端)最遠,但仍可作為輸入的數據流。邏輯輸出:離物理輸出端(輸出始端)最遠,但仍可作為輸出的數據流。2進行第一級分解(映射頂層和第一層) 設計主控模塊和第一層軟件結構 1)輸入模塊ca。功能:為主控模塊提供數據。 2)輸出模塊ce。功能:為主控模塊提供數據的輸出。 3)變換模塊ct。功能:將邏輯輸入轉換為邏輯輸出。7/7/202395二、變換映射

3完成“第二級和下層的映射”任務:將DFD中的每一個處理映射到程序結構中的模塊.方法:從變換中心的邊界開始,沿輸入路徑和輸出路徑 向外,將處理依次映射到從屬層的軟件結構4優化軟件設計

具體做法?7/7/202396ABCPRWUVDEQabcdeprwuv傳入部分傳出部分變換部分7/7/202397ABCPRWUVDEQabcdeprwuv傳入部分傳出部分變換部分數據流動情況7/7/202398ABCPRWUVDEQabcdeprwuv傳入部分傳出部分變換部分7/7/202399ABCPRWUVDEQabcdeprwuv傳入部分傳出部分變換部分變換部分ABCPRWUVDEQabcdeprwuv傳入部分傳出部分7/7/2023100MM3M2M1C,EC,EU,WU,W一級分解M1EDCBAabcdeM2RPQepC,prrU,wM3VUWwuv二級分解7/7/2023101二、變換映射例1:已知汽車數字儀表板的功能描述和數據流圖,設計軟件結構。假設數字儀表板將完成下述功能:1)通過模-數轉換實現傳感器和微處理機接口2)在面板上顯示數據3)指示每小時英里數(mph),行駛的里程,每加侖油行駛的英里數(mpg)等等4)指示加速或減速5)超速警告:如果車速超過55英里/小時,則發出超速警告鈴聲。7/7/2023102數字儀表板系統數據流圖7/7/2023103二、變換映射

例1:已知數字儀表板系統的功能描述和數據流圖設計軟件結構。

1識別輸入邊界、輸出邊界和變換中心三部分7/7/2023104二、變換映射

例1:已知數字儀表板系統的功能描述和數據流圖設計軟件結構。

1識別輸入、輸出和變換中心三部分2進行第一級分解(映射頂層和第一層) 設計主控模塊和第一層軟件結構 1)輸入模塊。功能:為主控模塊提供數據。 2)輸出模塊。功能:為主控模塊提供數據的輸出。 3)變換模塊。功能:將邏輯輸入轉換為邏輯輸出。7/7/2023105數字儀表板系統數據流圖

輸入輸出變換中心7/7/2023106輸入輸出變換中心數字儀表板控制接收傳感器信號數據轉換控制驅動儀表板輸出△sps,rpm,gphmpg,mph,英里,超速值7/7/2023107二、變換映射

例1:已知數字儀表板系統的功能描述和數據流圖設計軟件結構。

1識別輸入、輸出和變換中心三部分2進行第一級分解(映射頂層和第一層)

3進行第二層分解(按子系統分解)7/7/2023108數字儀表板系統數據流圖

輸入輸出變換中心輸入7/7/2023109接收傳感器信號讀旋轉信號計算___△sps

sps

計算rpm△sps,rpm___△sps,spssps計算gphgph讀燃料流

燃料流輸入結構7/7/2023110數字儀表板系統數據流圖

輸入變換中心輸出7/7/2023111驅動儀表板輸出加/減速顯示顯示mph顯示里程加/減速,mpg,mph英里,發生信息顯示mpg發出鈴聲發光二極管顯示輸出結構7/7/2023112數字儀表板系統數據流圖

輸入輸出變換中心7/7/2023113數據轉換控制確定加/減速計算mph超速值計算里程計算mpg變換結構7/7/2023114數字儀表板控制接收傳感器信號數據轉換控制驅動儀表板輸出加/減速顯示顯示mph顯示里程顯示mpg發出鈴聲發光二極管顯示讀旋轉信號To___△sps

sps

Torpm計算gph讀燃料流確定加/減速計算mph超速值計算里程計算mpg數字儀表板控制系統軟件結構7/7/2023115二、變換映射

例1:已知數字儀表板系統的功能描述和數據流圖設計軟件結構。

1識別輸入、輸出和變換中心三部分2進行第一級分解(映射頂層和第一層)

3進行下層分解(按子系統分解)4優化7/7/2023116結構設計的優化原則1、分割、合并模塊和變動調用關系2、保持高扇入、低扇出的原則3、作用域、控制域規則7/7/2023117變換映射小結:

1.指導思想:自頂向下,逐步求精2.根據數據流圖找出輸入邊界、輸出邊界和變換中心3.形成各層次的軟件結構4.根據模塊獨立性和啟發規則優化軟件結構。

7/7/2023118三、事務映射(一)指導思想:自頂向下,逐步求精。(二)什么是事務:引起或觸發某一動作的數據。(控制信號、事件或狀態變化)7/7/2023119三、事務映射(三)步驟1識別事務輸入、通路和事務中心三部分。

2進行第一級分解(映射頂層和第一層) 設計事務控制模塊和第一層軟件結構 1)輸入模塊。功能:為主控模塊提供數據。 2)調度模塊。根據輸入的要求調度相應的執行通路

3進行第二級分解:設計中下層模塊方法:對通路再進行識別、劃分、映射,反復此過程直到全部映射完畢4優化軟件設計

7/7/2023120事務型SC圖的上層結構

第一級分解事務控制模塊輸入調度返回7/7/2023121動作分支的典型結構PTiT2T1DkD2A1D1A2A3Aj處理層:調度模塊事務層操作層細節層返回7/7/2023122事務控制模塊輸入P(調度)TiT2T1DkD2A1D1A2A3Aj初始SC圖事務層操作層細節層7/7/2023123

事務映射過程:依據事務型特征識別事務輸入、通路、事務中心事務通路事務中心事務控制輸入調度B2-2細節層B-1B-2B-3操作層ABC...事務層7/7/2023124典型的事務型軟件結構產生事務事務處理7/7/2023125例2:汽車儀表板控制程序問題定義:儀表板有6個功能鍵,通過選擇不同的功能鍵可以完成6個不同的操作。功能要求:1初始化發動機的點火序列2啟動雷達探測裝置3顯示發動機狀態,如:油壓、溫度4初始化“行程計算機”并輸出數據5“行程計算機”清零6作廢上次按下的功能鍵7/7/2023126功能要求:1初始化發動機的點火序列2啟動雷達探測裝置3顯示發動機狀態,如:油壓、溫度4初始化“行程計算機”并輸出數據5“行程計算機”清零6作廢上次按下的功能鍵123456汽車儀表板控制板顯示器溫度顯示油壓7/7/2023127消除反跳有效檢查功能鍵動作輸入行程計算機數據作廢上次按鍵補救操作提示生成與顯示消除反跳有效檢查X—K頻段監視接收點火數碼封鎖點火器計時器取得發動機狀態檢查數碼顯示與告警距離計算顯示行程計算機按功能鍵“重試”提示“作廢”提示行程數據….計算結果….油壓、溫度……….告警提示“重復”提示重復次數太多點火數碼表數碼正確數碼不正確數碼距離信息距離接收信號數字按數字鍵#1#2#3#4#5#6“重試”提示輸入事務中心通路7/7/2023128功能鍵控制讀鍵板啟動鍵板功能點火碼求值雷達探測作廢按鍵發動機狀態汽車儀表板控制上層結構鍵號鍵號7/7/2023129消除反跳有效檢查功能鍵動作輸入行程計算機數據作廢上次按鍵補救操作提示生成與顯示消除反跳有效檢查X—K頻段監視接收點火數碼封鎖點火器計時器取得發動機狀態檢查數碼顯示與告警距離計算顯示行程計算機按功能鍵“重試”提示“作廢”提示行程數據….計算結果….油壓、溫度……….告警提示“重復”提示重復次數太多點火數碼表數碼正確數碼不正確數碼距離信息距離接收信號數字按數字鍵#1#2#3#4#5#6“重試”提示接收事務中心通路輸入輸出變換中心7/7/2023130雷達探測子系統結構雷達探測X—K頻段監視距離計算顯示提示距離顯示/告警距離正常距離#2告警響鈴接收信號接收信號超限距離鍵號7/7/2023131消除反跳有效檢查功能鍵動作輸入行程計算機數據作廢上次按鍵補救操作提示生成與顯示消除反跳有效檢查X—K頻段監視接收點火數碼封鎖點火器計時器取得發動機狀態檢查數碼顯示與告警距離計算顯示行程計算機按功能鍵“重試”提示“作廢”提示行程數據….計算結果….油壓、溫度……….告警提示“重復”提示重復次數太多點火數碼表數碼正確數碼不正確數碼距離信息距離接收信號數字按數字鍵#1#2#3#4#5#6“重試”提示接收事務中心通路輸入輸出變換中心7/7/2023132點火碼求值子系統結構“封鎖”提示封鎖不正確碼錯誤處理檢查點火碼接收點火碼點火碼求值正確碼,不正確碼數碼數碼數字鍵讀入正確數碼#1顯示提示封鎖計時器“重復”提示數字鍵號7/7/2023133汽車儀表板控制系統讀鍵板啟動鍵板功能接收點火碼檢查點火碼錯誤處理……點火碼求值雷達探測顯示/告警X—K頻段監視距離計算作廢按鍵數字鍵讀入封鎖計時器告警鈴聲顯示提示發動機狀態汽車儀表板控制系統軟件結構SC7/7/2023134消除反跳有效檢查功能鍵動作輸入行程計算機數據作廢上次按鍵補救操作提示生成與顯示消除反跳有效檢查X—K頻段監視接收點火數碼封鎖點火器計時器取得發動機狀態檢查數碼顯示與告警距離計算顯示行程計算機按功能鍵“重試”提示“作廢”提示行程數據….計算結果….油壓、溫度……….告警提示“重復”提示重復次數太多點火數碼表數碼正確數碼不正確數碼距離信息距離接收信號數字按數字鍵#1#2#3#4#5#6“重試”提示接收事務中心通路7/7/2023135汽車儀表板控制系統讀鍵板接收點火碼檢查點火碼錯誤處理……點火碼求值雷達探測顯示/告警X—K頻段監視距離計算作廢按鍵數字鍵讀入封鎖計時器告警鈴聲顯示提示發動機狀態汽車儀表板控制系統軟件結構上層事務型下層變換型7/7/2023136例3、教材購銷系統的結構化設計補售書單暫缺書單領書單發票購書單無效書單F4售書登記表F3各班學生用書表F2缺書登記表F1教材存量表1.6補售教材1.5登記缺書學生有效購書單進書通知學生1.4登記并開領書單1.2開發票1.1審查有效性采購1.3打印發票發票發票第二層DFD圖——教材銷售系統7/7/2023137銷售采購員2.3修改教材庫存和待購量2.2按出版社統計缺書F6教材一覽表F1教材存量表2.1按書號匯總缺書F2缺書登記表F5待購教材表進書通知進書通知缺書單第二層DFD圖—采購子系統7/7/20231381、復查并細化DFD補售書單暫缺書單領書單發票購書單無效書單F4售書登記表F3各班學生用書表F2缺書登記表F1教材存量表1.6補售教材1.5登記缺書學生有效購書單進書通知學生1.4登記并開領書單1.2開發票1.1審查有效性采購1.3打印發票發票發票第二層DFD圖——教材銷售系統7/7/2023139補售書單暫缺書單領書單發票購書單無效書單F4售書登記表F3各班學生用書表F2缺書登記表F1教材存量表1.6補售教材1.5登記缺書學生有效購書單進書通知學生1.2開發票1.1審查有效性采購1.3打印發票發票發票第二層DFD圖——教材銷售系統1.4登記售書1.7打印領書單發票7/7/20231402、鑒別DFD圖的類型補售書單暫缺書單領書單發票購書單無效書單F4售書登記表F3各班學生用書表F2缺書登記表F1教材存量表1.6補售教材1.5登記缺書學生有效購書單進書通知學生1.2開發票1.1審查有效性采購1.3打印發票發票發票第二層DFD圖——教材銷售系統1.4登記售書1.7打印領書單發票輸入輸出變換中心7/7/20231412、鑒別DFD圖的類型補售書單暫缺書單領書單發票購書單無效書單F4售書登記表F3各班學生用書表F2缺書登記表F1教材存量表1.6補售教材1.5登記缺書學生有效購書單進書通知學生1.2開發票1.1審查有效性采購1.3打印發票發票發票第二層DFD圖——教材銷售系統1.4登記售書1.7打印領書單發票銷售類型初售補售銷售命令7/7/2023142銷售采購員2.3修改教材庫存和待購量2.2按出版社統計缺書F6教材一覽表F1教材存量表2.1按書號匯總缺書F2缺書登記表F5待購教材表進書通知進書通知缺書單第二層DFD圖—采購子系統采購類型統計命令登記命令采購命令7/7/2023143

第一層DFD圖——教材購銷系統進書通知F2缺書登記表1銷售學生購書單領書單采購員缺書單進書通知2采購F1教材存量表購銷命令用戶命令銷售命令采購命令7/7/2023144教材購銷系統的上層框架教材購銷系統讀用戶選擇分析用戶命令銷售采購初售補售統計缺書登記進書用戶命令銷售命令補售命令初售命令采購命令統計命令登記命令7/7/20231453、進行第二級分解——分解工作分支(補充操作層和細節層)銷售初售補售采購統計缺書登記進書7/7/2023146

上層變換型下層事務型7/7/2023147概要設計練習頂層數據流圖條形碼掃描儀POS機銷售系統鍵盤購物條命令數據顯示器打印機商品條形碼提示信息7/7/2023148概要設計練習—2條形碼掃描儀1輸入數量/條形碼鍵盤條形碼2讀取鍵盤命令&數據4登錄注銷用戶名/密碼3維護購物清單5付款6打印已購商品清單顯示器打印機購物條商品信息命令數據總價/已付款/找零會員ID/已付款數量條形碼數量條形碼交易命令打印命令交易記錄表第一層數據流圖7/7/2023149事務映射小結:1.指導思想:自頂向下,逐步求精2.根據DFD找出事務輸入、通路和事務中心3.按事務映射第一層,和下列各層,形成層次的軟件結構(下層可根據圖形特征映射)4.根據模塊獨立性和啟發規則優化軟件結構。

7/7/2023150總結:概要設計的目標和任務概要設計過程概要設計的概念、原理、規則圖形工具結構化設計方法(SD)

7/7/2023151再見7/7/2023152謝謝觀看/歡迎下載BYFAITHIMEANAVISIONOFGOODONECHERISHESANDTHEENTHUSIASMTHATPUSHESONETOSEEKITSFULFILLMENTREGARDLESSOFOBSTACLES.BYFAITHIBYFAITH一本萬利工程1、背景驅動2、盈利策略3、選菜試菜4、價值創造5、完美呈現6、成功面試7、持續改造(一)、一本萬利工程的背景驅動

1、什么是一本萬利

2、餐飲時代的變遷菜單經驗的指導方針運營市場定位的體現經營水平的體現體現餐廳的特色與水準溝通的工具餐廳對顧客的承諾菜單承諾的六大表現1、名字的承諾2、質量的承諾3、價格的承諾4、規格標準的承諾5、外文翻譯的準確6、保證供應的承諾

1、顧客滿意度餐廳價值、價格、合理感、愉快感、安心感、美味感、便利感、滿足感、有價值感、喜悅感、特別感2-2、初期投資餐廳面積、保證金、設備投資、店鋪裝潢、器具用品投資、制服選定、菜單制作2-1、開業準備廚具、供應商選定、設計、用品選定、餐廳配置、員工訓練、餐廳氣氛、促銷方式3、經營數據營業額、客流量、成本率、人均消費、顧客回頭率、出品速度、人事費用菜單內容決定決定相關相關決定決定決定決定以菜單為導向的硬件投資

1、餐廳的裝修風格2、硬件設施服務操作3、餐廳動線4、餐具與家俬5、廚房布局6、廚房設備菜單設計正果1、能誘導顧客購買你想讓他買的餐點2、能迅速傳達餐廳要表達的東西3、雙贏:顧客喜歡、餐廳好賣餐廳時代的變遷食物時代硬體時代軟體時代心體時代食物食品饑食飽食品質挑食品味品食品德懼食體驗人們正在追尋更多的感受,更多的意義更多的體驗,更多的幸福(二)盈利策略1、組建工程團隊2、確定核心價值3、確定盈利目標4、確定客單價5、設計盈利策略6、確定核心產品誰來設計菜單?產品=做得出來的物品商品=賣得出去的物品商家=產品具備商品附加值物(什么產品)+事(滿足顧客何種需求)從物到事從食物到餐飲從吃什么到為什么吃產品本身決定一本,產品附加值決定萬利從生理到心理從物質到精神從概念到五覺體驗創造產品的五覺附加值體驗何來

一家企業以服務為舞臺以商品為道具,讓消費者完全投入的時候,體驗就出現了PART01物=你的企業賣什么產品+事=能滿足顧客何種需求?確定核心價值理念核心價值理念1、賣什么樣的菜2、賣什么樣的氛圍?3、如何接待顧客?賣給誰?賣什么事?賣什么價?企業目標的設定1、理論導向的目標設定2、預算3、制定利潤目標費用營業額虧損區利潤區臨界點變動費用總費用營業額曲線費用線X型損益圖利潤導向的目標設定確定目標設定營業收入=固定成本+目標利潤1-變動成本率-營業稅率例:A餐廳每月固定成本40萬,變動成本50%,營業稅率5.5%,目標利率每月8萬,問A餐廳的月營業收入:月營收入=(40+8)÷(1-50%-5.5%)=48÷0.445=108萬測算損益平衡點保本線=固定成本1-變動成本率-營業稅率例:A餐廳保本線=40÷(1-50%-5.5%)

=40÷0.445

=90萬定價的三重意義2、向競爭對手發出的信息和信號1、是利潤最大化和最重要的決定

溫馨提示

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

評論

0/150

提交評論