軟件工程第五章結(jié)構(gòu)設(shè)計_第1頁
軟件工程第五章結(jié)構(gòu)設(shè)計_第2頁
軟件工程第五章結(jié)構(gòu)設(shè)計_第3頁
軟件工程第五章結(jié)構(gòu)設(shè)計_第4頁
軟件工程第五章結(jié)構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三部分軟件設(shè)計與建模第三部分軟件設(shè)計與建模結(jié)構(gòu)化軟件設(shè)計陽王東回答問題什么是軟件設(shè)計?有哪些階段和任務(wù)?什么是軟件設(shè)計?有哪些階段和任務(wù)?什么是模塊化設(shè)計?有哪些原理?什么是模塊化設(shè)計?有哪些原理?什么是軟件結(jié)構(gòu)和體系結(jié)構(gòu)?二者有什么區(qū)別?什么是軟件結(jié)構(gòu)和體系結(jié)構(gòu)?二者有什么區(qū)別?數(shù)據(jù)流有哪些類型?如何區(qū)分?數(shù)據(jù)流有哪些類型?如何區(qū)分?數(shù)據(jù)流映射的步驟是什么?數(shù)據(jù)流映射的步驟是什么?什么是結(jié)構(gòu)化程序設(shè)計?有哪些工具?什么是結(jié)構(gòu)化程序設(shè)計?有哪些工具?什么是什么是jsd方法?具體步驟是什么?方法?具體步驟是什么?第8章 軟件設(shè)計軟件設(shè)計軟件設(shè)計模塊化設(shè)計模塊化設(shè)計軟件架構(gòu)設(shè)計軟件架構(gòu)設(shè)計軟件結(jié)

2、構(gòu)軟件結(jié)構(gòu)軟件設(shè)計概述軟件設(shè)計概述軟件設(shè)計階段的基本目標是構(gòu)造系統(tǒng)軟件設(shè)計階段的基本目標是構(gòu)造系統(tǒng)“怎么做怎么做”的模的模型描述。型描述?!霸O(shè)計先于編碼設(shè)計先于編碼”,這是軟件工程,這是軟件工程“推遲實現(xiàn)推遲實現(xiàn)”基本基本原則原則軟件系統(tǒng)設(shè)計是把軟件需求軟件系統(tǒng)設(shè)計是把軟件需求“變換變換”為用于構(gòu)造軟件為用于構(gòu)造軟件的藍圖。的藍圖。“輸入輸入”是需求分析各種模型元素是需求分析各種模型元素“輸出輸出”是軟件設(shè)計模型和表示是軟件設(shè)計模型和表示軟件設(shè)計的目標是對將要實現(xiàn)的軟件系統(tǒng)的體系結(jié)構(gòu)、軟件設(shè)計的目標是對將要實現(xiàn)的軟件系統(tǒng)的體系結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)模塊間的接口,以及所采用的算法系統(tǒng)的數(shù)據(jù)、系統(tǒng)

3、模塊間的接口,以及所采用的算法給出詳盡的描述。給出詳盡的描述。軟件設(shè)計三類活動軟件設(shè)計三類活動總體設(shè)計,也稱為概要設(shè)計,軟件結(jié)構(gòu)設(shè)計,或高層設(shè)計??傮w設(shè)計,也稱為概要設(shè)計,軟件結(jié)構(gòu)設(shè)計,或高層設(shè)計。分析需求規(guī)格說明分析需求規(guī)格說明模塊劃分,形成具有預(yù)定功能的模塊組成結(jié)構(gòu)模塊劃分,形成具有預(yù)定功能的模塊組成結(jié)構(gòu)表示出模塊間的控制關(guān)系表示出模塊間的控制關(guān)系給出模塊之間的接口給出模塊之間的接口軟件詳細設(shè)計,也稱為(模塊)過程設(shè)計,或低層設(shè)計。軟件詳細設(shè)計,也稱為(模塊)過程設(shè)計,或低層設(shè)計。設(shè)計模塊細節(jié)設(shè)計模塊細節(jié)確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等測試和復(fù)審測試和復(fù)審軟件設(shè)

4、計質(zhì)量原則軟件設(shè)計質(zhì)量原則設(shè)計過程要有全局觀念設(shè)計過程要有全局觀念設(shè)計對于分析模型應(yīng)該是可跟蹤的設(shè)計對于分析模型應(yīng)該是可跟蹤的設(shè)計不應(yīng)該從頭做起設(shè)計不應(yīng)該從頭做起設(shè)計應(yīng)該是可實現(xiàn)的設(shè)計應(yīng)該是可實現(xiàn)的設(shè)計應(yīng)該表現(xiàn)出一致性和集成性設(shè)計應(yīng)該表現(xiàn)出一致性和集成性設(shè)計應(yīng)該能夠適應(yīng)修改設(shè)計應(yīng)該能夠適應(yīng)修改設(shè)計不是編碼設(shè)計不是編碼應(yīng)該復(fù)審每一步設(shè)計,以減少語義性錯誤應(yīng)該復(fù)審每一步設(shè)計,以減少語義性錯誤軟件模塊化設(shè)計軟件模塊化設(shè)計模塊是一個獨立命名的,擁有明確定義的輸入、輸出模塊是一個獨立命名的,擁有明確定義的輸入、輸出和特性的程序?qū)嶓w。和特性的程序?qū)嶓w。軟件的模塊化設(shè)計(軟件的模塊化設(shè)計(modular d

5、esign)。系統(tǒng)是有)。系統(tǒng)是有一個個模塊組裝而成。一個個模塊組裝而成。軟件模塊化設(shè)計優(yōu)點軟件模塊化設(shè)計優(yōu)點可以簡化軟件的設(shè)計和實現(xiàn)可以簡化軟件的設(shè)計和實現(xiàn)提高軟件的可理解性和可測試性提高軟件的可理解性和可測試性軟件更容易得到維護。軟件更容易得到維護。軟件模塊化設(shè)計缺點軟件模塊化設(shè)計缺點模塊劃分的數(shù)量越多,模塊間的聯(lián)系也越多模塊劃分的數(shù)量越多,模塊間的聯(lián)系也越多模塊的接口工作量卻隨著模塊數(shù)增加而增大模塊的接口工作量卻隨著模塊數(shù)增加而增大模塊數(shù)與開發(fā)工作量開開發(fā)發(fā)工工作作量量模塊數(shù)模塊數(shù)最小成本區(qū)最小成本區(qū)模塊成本模塊成本接口成本接口成本總成本總成本軟件模塊化設(shè)計的指導(dǎo)思想分解分解抽象抽象逐步

6、求精逐步求精信息隱蔽信息隱蔽模塊獨立性模塊獨立性分解與抽象分解與抽象分解必然需要抽象的支持。抽象是抓住主要問題,隱分解必然需要抽象的支持。抽象是抓住主要問題,隱藏細節(jié),這樣才能容易分解。藏細節(jié),這樣才能容易分解。抽象具有不同的級別。抽象具有不同的級別。人類解決復(fù)雜問題的基本方法之一。只有抓住事物的人類解決復(fù)雜問題的基本方法之一。只有抓住事物的本質(zhì),才能準確分析和處理問題,找到合理的解決方本質(zhì),才能準確分析和處理問題,找到合理的解決方案。案。逐步求精逐步求精逐步求精,或稱逐步細化,是一種自頂向下的設(shè)計策逐步求精,或稱逐步細化,是一種自頂向下的設(shè)計策略。略。逐步求精是人類采用抽象到具體的過程把一個

7、復(fù)雜問逐步求精是人類采用抽象到具體的過程把一個復(fù)雜問題趨于簡單化控制和管理的有效策略。題趨于簡單化控制和管理的有效策略。抽象和精化是互補的概念。抽象和精化是互補的概念。信息隱藏信息隱藏信息隱蔽原則建議模塊應(yīng)該具有的特征是:每個模塊信息隱蔽原則建議模塊應(yīng)該具有的特征是:每個模塊對其他所有模塊都隱蔽自己的設(shè)計決策。對其他所有模塊都隱蔽自己的設(shè)計決策。信息隱蔽意味著通過一系列獨立的模塊可以得到有效信息隱蔽意味著通過一系列獨立的模塊可以得到有效的模塊化。的模塊化。獨立的構(gòu)件或模塊之間的獨立的構(gòu)件或模塊之間的“接口接口”簡單而清晰。簡單而清晰。模塊的獨立性模塊的獨立性模塊獨立性是指開發(fā)具有獨立功能而和其

8、他模塊沒有模塊獨立性是指開發(fā)具有獨立功能而和其他模塊沒有過多關(guān)聯(lián)的模塊。過多關(guān)聯(lián)的模塊。模塊獨立性兩大優(yōu)點:模塊獨立性兩大優(yōu)點:獨立的模塊由于分解了功能,簡化了接口,使得軟件比獨立的模塊由于分解了功能,簡化了接口,使得軟件比較容易開發(fā);較容易開發(fā);獨立的模塊比較容易測試和維護。獨立的模塊比較容易測試和維護。模塊獨立性由兩個定性標準度量:模塊獨立性由兩個定性標準度量:模塊自身的內(nèi)聚(模塊自身的內(nèi)聚(cohesion),也稱為塊內(nèi)聯(lián)系或),也稱為塊內(nèi)聯(lián)系或模塊強度,模塊強度,模塊之間的耦合(模塊之間的耦合(coupling),也稱為塊間聯(lián)系。,也稱為塊間聯(lián)系。模塊獨立性愈高,則塊內(nèi)聯(lián)系越強,塊間聯(lián)

9、系越弱。模塊獨立性愈高,則塊內(nèi)聯(lián)系越強,塊間聯(lián)系越弱。模塊內(nèi)聚性內(nèi)聚性是從功能的角度對模塊內(nèi)部聚合能力的量度。內(nèi)聚性是從功能的角度對模塊內(nèi)部聚合能力的量度。高內(nèi)聚是模塊獨立性追求的目標。高內(nèi)聚是模塊獨立性追求的目標。分類:分類:偶然性內(nèi)聚偶然性內(nèi)聚邏輯性內(nèi)聚邏輯性內(nèi)聚時間性內(nèi)聚時間性內(nèi)聚過程性內(nèi)聚過程性內(nèi)聚通信性內(nèi)聚通信性內(nèi)聚順序性內(nèi)聚順序性內(nèi)聚功能性內(nèi)聚功能性內(nèi)聚內(nèi)聚性分類偶然性內(nèi)偶然性內(nèi)聚聚弱弱邏輯性邏輯性內(nèi)聚內(nèi)聚時間性時間性內(nèi)聚內(nèi)聚過程性過程性內(nèi)聚內(nèi)聚通信性通信性內(nèi)聚內(nèi)聚順序性順序性內(nèi)聚內(nèi)聚功能性功能性內(nèi)聚內(nèi)聚強強低內(nèi)聚低內(nèi)聚中內(nèi)聚中內(nèi)聚高內(nèi)聚高內(nèi)聚模塊耦合性耦合性是對一個軟件結(jié)構(gòu)內(nèi)不同

10、模塊之間互連程度的度量。耦合性是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合性的強弱取決于模塊間接口的復(fù)雜程度,以及通過接耦合性的強弱取決于模塊間接口的復(fù)雜程度,以及通過接口的數(shù)據(jù)類型和數(shù)目??诘臄?shù)據(jù)類型和數(shù)目。分類:分類: 非直接耦合非直接耦合 數(shù)據(jù)耦合數(shù)據(jù)耦合 控制耦合控制耦合外部耦合外部耦合公共耦合公共耦合內(nèi)容耦合內(nèi)容耦合耦合性分類非直接耦非直接耦合合弱弱數(shù)據(jù)耦合數(shù)據(jù)耦合 特征耦合特征耦合 控制耦合控制耦合 外部耦合外部耦合 公共耦合公共耦合 內(nèi)容耦合內(nèi)容耦合強強弱耦合弱耦合中耦合中耦合強耦合強耦合較強耦合較強耦合模塊化設(shè)計的優(yōu)化模塊化設(shè)計的優(yōu)化改進軟件結(jié)構(gòu)提高模塊獨立性改進軟件結(jié)構(gòu)

11、提高模塊獨立性在滿足模塊化要求的前提下盡量減少模塊數(shù)量,在滿在滿足模塊化要求的前提下盡量減少模塊數(shù)量,在滿足信息需求的前提下盡可能減少復(fù)雜的數(shù)據(jù)結(jié)構(gòu)足信息需求的前提下盡可能減少復(fù)雜的數(shù)據(jù)結(jié)構(gòu)模塊規(guī)模應(yīng)適中模塊規(guī)模應(yīng)適中軟件結(jié)構(gòu)的深度、寬度、軟件結(jié)構(gòu)的深度、寬度、 扇入數(shù)和扇出數(shù)都要適當(dāng)扇入數(shù)和扇出數(shù)都要適當(dāng)模塊的作用域應(yīng)該在控制域之內(nèi)模塊的作用域應(yīng)該在控制域之內(nèi)力求降低模塊接口的復(fù)雜程度,設(shè)計單入口、單出口力求降低模塊接口的復(fù)雜程度,設(shè)計單入口、單出口的模塊的模塊概要設(shè)計概要設(shè)計主要包括三個方面的設(shè)計。首先是系統(tǒng)概要設(shè)計主要包括三個方面的設(shè)計。首先是系統(tǒng)構(gòu)架設(shè)計,然后是軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)結(jié)構(gòu)設(shè)

12、計。構(gòu)架設(shè)計,然后是軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)結(jié)構(gòu)設(shè)計。需求文檔概要設(shè)計文檔設(shè)計系統(tǒng)構(gòu)架需求框架設(shè)計軟件結(jié)構(gòu)功能需求設(shè)計數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)需求子系統(tǒng)數(shù)據(jù)環(huán)境軟件結(jié)構(gòu)系統(tǒng)構(gòu)架數(shù)據(jù)結(jié)構(gòu)軟件架構(gòu)設(shè)計(體系結(jié)構(gòu))軟件架構(gòu)設(shè)計(體系結(jié)構(gòu))軟件體系結(jié)構(gòu)是一種總體表達。軟件體系結(jié)構(gòu)是一種總體表達。大型軟件系統(tǒng)總是被分解成一系列子系統(tǒng),由子系統(tǒng)提供大型軟件系統(tǒng)總是被分解成一系列子系統(tǒng),由子系統(tǒng)提供一些相關(guān)的服務(wù)。一些相關(guān)的服務(wù)。軟件架構(gòu)設(shè)計過程就是識別出這些子系統(tǒng),并建立子系統(tǒng)軟件架構(gòu)設(shè)計過程就是識別出這些子系統(tǒng),并建立子系統(tǒng)控制和通信的框架,最后給出軟件體系結(jié)構(gòu)的一個描述??刂坪屯ㄐ诺目蚣?,最后給出軟件體系結(jié)構(gòu)的一個描述

13、。系統(tǒng)構(gòu)架設(shè)計可以按照以下步驟進行系統(tǒng)構(gòu)架設(shè)計可以按照以下步驟進行定義子系統(tǒng)定義子系統(tǒng)定義子外部接口定義子外部接口定義系統(tǒng)構(gòu)成模型定義系統(tǒng)構(gòu)成模型定義系統(tǒng)控制模型定義系統(tǒng)控制模型系統(tǒng)架構(gòu)設(shè)計主要內(nèi)容子系統(tǒng)劃分方法子系統(tǒng)劃分方法前臺業(yè)務(wù)辦理和后臺數(shù)據(jù)管理前臺業(yè)務(wù)辦理和后臺數(shù)據(jù)管理數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)管理數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)管理界面、控制和實體界面、控制和實體外部接口外部接口通信協(xié)議通信協(xié)議sdk消息消息分布式訪問分布式訪問系統(tǒng)構(gòu)成模型系統(tǒng)構(gòu)成模型以數(shù)據(jù)為中心的結(jié)構(gòu)模型以數(shù)據(jù)為中心的結(jié)構(gòu)模型客戶機客戶機/服務(wù)器結(jié)構(gòu)模型服務(wù)器結(jié)構(gòu)模型抽象機結(jié)構(gòu)模型抽象機結(jié)構(gòu)模型以數(shù)據(jù)為中心的結(jié)構(gòu)模型由一組子

14、系統(tǒng)構(gòu)成,子系統(tǒng)交換信息,協(xié)調(diào)工作由一組子系統(tǒng)構(gòu)成,子系統(tǒng)交換信息,協(xié)調(diào)工作有兩種基本方法:有兩種基本方法:全部共享數(shù)據(jù)放在一個中央數(shù)據(jù)庫中,所有子全部共享數(shù)據(jù)放在一個中央數(shù)據(jù)庫中,所有子系統(tǒng)都能從中存取數(shù)據(jù)。系統(tǒng)都能從中存取數(shù)據(jù)。每個子系統(tǒng)用各自的數(shù)據(jù)庫與其他子系統(tǒng)進行每個子系統(tǒng)用各自的數(shù)據(jù)庫與其他子系統(tǒng)進行數(shù)據(jù)交互,通過消息傳遞來實現(xiàn)。數(shù)據(jù)交互,通過消息傳遞來實現(xiàn)。共享數(shù)據(jù)模型的優(yōu)點是能夠高效地共享大量的數(shù)共享數(shù)據(jù)模型的優(yōu)點是能夠高效地共享大量的數(shù)據(jù);據(jù);缺點是子系統(tǒng)一定要與以數(shù)據(jù)為中心的體系結(jié)構(gòu)缺點是子系統(tǒng)一定要與以數(shù)據(jù)為中心的體系結(jié)構(gòu)模型一致,系統(tǒng)變更或進化比較困難。模型一致,系統(tǒng)變更

15、或進化比較困難。數(shù)據(jù)流體系結(jié)構(gòu)模型當(dāng)輸入數(shù)據(jù)經(jīng)過一系列的計算和操作構(gòu)件或模塊的變當(dāng)輸入數(shù)據(jù)經(jīng)過一系列的計算和操作構(gòu)件或模塊的變換形成輸出數(shù)據(jù)時,可以應(yīng)用數(shù)據(jù)流體系結(jié)構(gòu)。換形成輸出數(shù)據(jù)時,可以應(yīng)用數(shù)據(jù)流體系結(jié)構(gòu)。管道和過濾器結(jié)構(gòu)通過一組由管道連接的過濾器來變管道和過濾器結(jié)構(gòu)通過一組由管道連接的過濾器來變換數(shù)據(jù),并向下傳遞。換數(shù)據(jù),并向下傳遞。管道和過濾器結(jié)構(gòu)過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器過濾器多媒體服務(wù)系統(tǒng)結(jié)構(gòu)網(wǎng)網(wǎng) 絡(luò)絡(luò)目錄服務(wù)器目錄服務(wù)器目錄目錄視頻服務(wù)器視頻服務(wù)器電影文件電影文件圖片服務(wù)器圖片服務(wù)器圖片文件圖片文件web服務(wù)器服務(wù)器

16、超文本文件超文本文件客戶客戶1客戶客戶2客戶客戶n兩層c/s架構(gòu)允許用戶界面和應(yīng)用程序代碼直接訪問數(shù)據(jù)庫和網(wǎng)絡(luò)存儲允許用戶界面和應(yīng)用程序代碼直接訪問數(shù)據(jù)庫和網(wǎng)絡(luò)存儲的的api。應(yīng)用程序使用數(shù)據(jù)庫中存儲的數(shù)據(jù)模型,但是不。應(yīng)用程序使用數(shù)據(jù)庫中存儲的數(shù)據(jù)模型,但是不需要在該模型之上建立邏輯模型。當(dāng)開發(fā)中的系統(tǒng)是一個需要在該模型之上建立邏輯模型。當(dāng)開發(fā)中的系統(tǒng)是一個原型系統(tǒng)或者已經(jīng)知道其生命周期較短,期間原型系統(tǒng)或者已經(jīng)知道其生命周期較短,期間api不會發(fā)不會發(fā)生變化的時候,兩層應(yīng)用程序是理想的。典型情形下,這生變化的時候,兩層應(yīng)用程序是理想的。典型情形下,這種方式用于小型的應(yīng)用程序,它們的開發(fā)成本

17、和時間都很種方式用于小型的應(yīng)用程序,它們的開發(fā)成本和時間都很少。少。 三層c/s架構(gòu)相當(dāng)頻繁的重復(fù)使用是一個主要的設(shè)計考慮因素,在這種相當(dāng)頻繁的重復(fù)使用是一個主要的設(shè)計考慮因素,在這種情形下需要建立應(yīng)用程序模型以允許它的一部分被多個用情形下需要建立應(yīng)用程序模型以允許它的一部分被多個用戶界面查看組件重復(fù)使用。它有一個指導(dǎo)方針是,在應(yīng)用戶界面查看組件重復(fù)使用。它有一個指導(dǎo)方針是,在應(yīng)用程序需要相同數(shù)據(jù)的多個視圖的任何時候,開發(fā)者應(yīng)該考程序需要相同數(shù)據(jù)的多個視圖的任何時候,開發(fā)者應(yīng)該考慮使用三層方式代替兩層方式。慮使用三層方式代替兩層方式。 從兩層模型遷移到三層模型需要考慮的主要問題包括適當(dāng)從兩層模

18、型遷移到三層模型需要考慮的主要問題包括適當(dāng)?shù)木W(wǎng)絡(luò)資源的可用性和管理并發(fā)數(shù)據(jù)訪問的加鎖方案。的網(wǎng)絡(luò)資源的可用性和管理并發(fā)數(shù)據(jù)訪問的加鎖方案。 抽象機模型抽象機模型也稱為分層模型,是建立子系統(tǒng)的接口模抽象機模型也稱為分層模型,是建立子系統(tǒng)的接口模型。它把子系統(tǒng)組織成一系列的層次,每一層提供一型。它把子系統(tǒng)組織成一系列的層次,每一層提供一組服務(wù),每一層定義為一個抽象機。組服務(wù),每一層定義為一個抽象機。例如:網(wǎng)絡(luò)協(xié)議例如:網(wǎng)絡(luò)協(xié)議osi參考模型參考模型通通 信信 介介 質(zhì)質(zhì)應(yīng)用層應(yīng)用層表示層表示層會話層會話層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層用戶用戶b應(yīng)用層應(yīng)用層表示層表示層會話

19、層會話層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層用戶用戶a系統(tǒng)控制模型系統(tǒng)控制模型集中式控制模型集中式控制模型調(diào)用調(diào)用返回模型:這是一個自上而下的子過程模型??胤祷啬P停哼@是一個自上而下的子過程模型??刂剖加谙到y(tǒng)(程序)的頂層,在子系統(tǒng)(程序)調(diào)用過制始于系統(tǒng)(程序)的頂層,在子系統(tǒng)(程序)調(diào)用過程中,控制逐步傳遞到更低的層次中。該模型適用于順程中,控制逐步傳遞到更低的層次中。該模型適用于順序執(zhí)行的系統(tǒng)。序執(zhí)行的系統(tǒng)。管理者模型:這是一種適用于并發(fā)系統(tǒng)的模型。一個系管理者模型:這是一種適用于并發(fā)系統(tǒng)的模型。一個系統(tǒng)組件被指定為系統(tǒng)管理者,控制其他系統(tǒng)過程的啟動、統(tǒng)組件被指定為系

20、統(tǒng)管理者,控制其他系統(tǒng)過程的啟動、終止和協(xié)調(diào)。一個過程就是一個能和其他過程并發(fā)執(zhí)行終止和協(xié)調(diào)。一個過程就是一個能和其他過程并發(fā)執(zhí)行的子系統(tǒng)或模塊。的子系統(tǒng)或模塊。soa架構(gòu)服務(wù)提供者:服務(wù)提供者:一個可通過網(wǎng)絡(luò)尋址的實體,它一個可通過網(wǎng)絡(luò)尋址的實體,它接受和執(zhí)行來自使用者的請求。接受和執(zhí)行來自使用者的請求。它將自己的服務(wù)和接口契約發(fā)布它將自己的服務(wù)和接口契約發(fā)布到服務(wù)注冊中心,以便服務(wù)使用到服務(wù)注冊中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪問該服務(wù)。者可以發(fā)現(xiàn)和訪問該服務(wù)。 服務(wù)使用者:服務(wù)使用者:一個應(yīng)用程序、一個軟件模塊或一個應(yīng)用程序、一個軟件模塊或需要一個服務(wù)的另一個服務(wù)。需要一個服務(wù)的另一個服務(wù)

21、。它發(fā)起對注冊中心中的服務(wù)的查它發(fā)起對注冊中心中的服務(wù)的查詢,通過傳輸綁定服務(wù),并且執(zhí)詢,通過傳輸綁定服務(wù),并且執(zhí)行服務(wù)功能。行服務(wù)功能。服務(wù)使用者根據(jù)接口契約來執(zhí)行服務(wù)使用者根據(jù)接口契約來執(zhí)行服務(wù)。服務(wù)。服務(wù)注冊中心:服務(wù)注冊中心:服務(wù)發(fā)現(xiàn)的支持者;服務(wù)發(fā)現(xiàn)的支持者;它包含一個可用服務(wù)的存儲庫,它包含一個可用服務(wù)的存儲庫,并允許感興趣的服務(wù)使用者查找并允許感興趣的服務(wù)使用者查找服務(wù)提供者接口。服務(wù)提供者接口。服務(wù)注冊中心服務(wù)注冊中心服務(wù)消費者服務(wù)消費者服務(wù)提供者服務(wù)提供者注冊注冊發(fā)現(xiàn)發(fā)現(xiàn)調(diào)用調(diào)用并發(fā)系統(tǒng)的集中式控制模型系系 統(tǒng)統(tǒng) 控控 制制 器器故障處理器故障處理器用戶界面用戶界面?zhèn)鞲衅鬟M程

22、傳感器進程傳動裝置進程傳動裝置進程計算進程計算進程系統(tǒng)控制模型系統(tǒng)控制模型事件驅(qū)動系統(tǒng)事件驅(qū)動系統(tǒng)廣播模型:發(fā)生的事件廣播到所有子系統(tǒng),任何能處理廣播模型:發(fā)生的事件廣播到所有子系統(tǒng),任何能處理該事件的子系統(tǒng)都會響應(yīng)。該模型適用于基于網(wǎng)絡(luò)的分該事件的子系統(tǒng)都會響應(yīng)。該模型適用于基于網(wǎng)絡(luò)的分布式系統(tǒng)。布式系統(tǒng)。廣播模型中的子系統(tǒng)注冊其感興趣的特別事件廣播模型中的子系統(tǒng)注冊其感興趣的特別事件廣播模型的優(yōu)點是進化比較簡單廣播模型的優(yōu)點是進化比較簡單缺點是子系統(tǒng)都知道是否和什么時候處理事件,這可能會引缺點是子系統(tǒng)都知道是否和什么時候處理事件,這可能會引起沖突。起沖突。中斷驅(qū)動模型:由中斷處理器對來自外

23、部的中斷進行檢中斷驅(qū)動模型:由中斷處理器對來自外部的中斷進行檢測,然后在其他組件中處理這些中斷。該模型適用于對測,然后在其他組件中處理這些中斷。該模型適用于對定時有嚴格要求的實時系統(tǒng)。定時有嚴格要求的實時系統(tǒng)。只用在硬件實時系統(tǒng)中,要求對一些事件能做出及時響應(yīng)只用在硬件實時系統(tǒng)中,要求對一些事件能做出及時響應(yīng)總線架構(gòu)像水管一樣隨意接入像水管一樣隨意接入像像pci總線一樣即插即用總線一樣即插即用businessintelligenceservicesserviceregistryb2binteractionscollaborationtoolsportal serviceapplications

24、& data軟件的體系結(jié)構(gòu)模式并發(fā)性并發(fā)性系統(tǒng)必須以一種模擬并行的方式來操作多個任務(wù)系統(tǒng)必須以一種模擬并行的方式來操作多個任務(wù)操作系統(tǒng)進程管理模式操作系統(tǒng)進程管理模式任務(wù)調(diào)度器模式包括一組含有任務(wù)調(diào)度器模式包括一組含有tick()操作的活動對象操作的活動對象持久性持久性如果數(shù)據(jù)從創(chuàng)建它的進程執(zhí)行以來一直存在,則該數(shù)據(jù)是持久性存如果數(shù)據(jù)從創(chuàng)建它的進程執(zhí)行以來一直存在,則該數(shù)據(jù)是持久性存在的數(shù)據(jù)。在的數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)模式將數(shù)據(jù)庫管理系統(tǒng)模式將dbms的存儲和存取能力用于應(yīng)用系統(tǒng)的體的存儲和存取能力用于應(yīng)用系統(tǒng)的體系結(jié)構(gòu)中。系結(jié)構(gòu)中。應(yīng)用級的持久模式在應(yīng)用體系結(jié)構(gòu)中建立了持久性特征。應(yīng)用

25、級的持久模式在應(yīng)用體系結(jié)構(gòu)中建立了持久性特征。分布性分布性強調(diào)系統(tǒng)或系統(tǒng)中構(gòu)件或模塊在一個分布的環(huán)境中相互通信的方式。強調(diào)系統(tǒng)或系統(tǒng)中構(gòu)件或模塊在一個分布的環(huán)境中相互通信的方式。分布性問題有兩個元素:分布性問題有兩個元素:一是實體間連接方式一是實體間連接方式二是實體間通信的特性二是實體間通信的特性代理模式是一種普遍的體系結(jié)構(gòu)模式代理模式是一種普遍的體系結(jié)構(gòu)模式corba就是代理模式的一個范例就是代理模式的一個范例小結(jié)小結(jié)設(shè)計的基本原理和概念包括模塊化、抽象、體系結(jié)構(gòu)、設(shè)計的基本原理和概念包括模塊化、抽象、體系結(jié)構(gòu)、信息隱蔽、模塊獨立、逐步求精和重構(gòu)等。信息隱蔽、模塊獨立、逐步求精和重構(gòu)等。軟件

26、體系結(jié)構(gòu)提供了待建系統(tǒng)的整體視圖,它描述軟軟件體系結(jié)構(gòu)提供了待建系統(tǒng)的整體視圖,它描述軟件構(gòu)件或模塊的結(jié)構(gòu)和組織、構(gòu)件或模塊的性質(zhì)以及件構(gòu)件或模塊的結(jié)構(gòu)和組織、構(gòu)件或模塊的性質(zhì)以及他們之間的連接。他們之間的連接。第9章 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計階段結(jié)構(gòu)化設(shè)計階段數(shù)據(jù)流設(shè)計方法數(shù)據(jù)流設(shè)計方法面向數(shù)據(jù)的設(shè)計面向數(shù)據(jù)的設(shè)計結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計案例分析案例分析結(jié)構(gòu)化設(shè)計概述結(jié)構(gòu)化設(shè)計概述結(jié)構(gòu)化設(shè)計方法(結(jié)構(gòu)化設(shè)計方法(structured design, sd)是基于模是基于模塊化、自頂向下細化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技塊化、自頂向下細化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)基礎(chǔ)上發(fā)展起來的。術(shù)基礎(chǔ)

27、上發(fā)展起來的。結(jié)構(gòu)化設(shè)計方法用模塊結(jié)構(gòu)圖來表達程序模塊之間的結(jié)構(gòu)化設(shè)計方法用模塊結(jié)構(gòu)圖來表達程序模塊之間的關(guān)系。關(guān)系。軟件設(shè)計分為兩個階段:軟件設(shè)計分為兩個階段:概要設(shè)計:面向數(shù)據(jù)流設(shè)計方法概要設(shè)計:面向數(shù)據(jù)流設(shè)計方法詳細設(shè)計:結(jié)構(gòu)化程序設(shè)計方法詳細設(shè)計:結(jié)構(gòu)化程序設(shè)計方法 軟件結(jié)構(gòu)設(shè)計軟件結(jié)構(gòu)設(shè)計也稱總體設(shè)計,確定軟件的結(jié)構(gòu)以及各組成軟件結(jié)構(gòu)設(shè)計也稱總體設(shè)計,確定軟件的結(jié)構(gòu)以及各組成成分成分(子系統(tǒng)或模塊子系統(tǒng)或模塊)之間的相互關(guān)系。之間的相互關(guān)系。軟件結(jié)構(gòu)設(shè)計的主要任務(wù)是:軟件結(jié)構(gòu)設(shè)計的主要任務(wù)是:將系統(tǒng)劃分成模塊;將系統(tǒng)劃分成模塊;決定每個模塊的功能;決定每個模塊的功能;決定模塊的調(diào)用關(guān)

28、系;決定模塊的調(diào)用關(guān)系;決定模塊的界面,即模塊間傳遞的數(shù)據(jù)。決定模塊的界面,即模塊間傳遞的數(shù)據(jù)。軟件結(jié)構(gòu)設(shè)計階段的主要任務(wù)是通過數(shù)據(jù)流圖來確定系統(tǒng)軟件結(jié)構(gòu)設(shè)計階段的主要任務(wù)是通過數(shù)據(jù)流圖來確定系統(tǒng)的結(jié)構(gòu)圖。的結(jié)構(gòu)圖。在軟件結(jié)構(gòu)設(shè)計階段,結(jié)構(gòu)化設(shè)計主要采用面向數(shù)據(jù)流的在軟件結(jié)構(gòu)設(shè)計階段,結(jié)構(gòu)化設(shè)計主要采用面向數(shù)據(jù)流的設(shè)計方法。設(shè)計方法。軟件結(jié)構(gòu)設(shè)計過程軟件結(jié)構(gòu)設(shè)計過程設(shè)計供選擇的方案設(shè)計供選擇的方案選取合理的方案選取合理的方案推薦最佳方案推薦最佳方案功能分解和設(shè)計軟件結(jié)構(gòu)功能分解和設(shè)計軟件結(jié)構(gòu)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計制定軟件設(shè)計測試計劃制定軟件設(shè)計測試計劃編制設(shè)計文檔編制設(shè)計文檔審查和復(fù)審審查和復(fù)審

29、軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖(軟件結(jié)構(gòu)圖(structure chart, 簡稱簡稱sc)是軟件)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn)?,F(xiàn)。軟件結(jié)構(gòu)以層次表示程序的系統(tǒng)結(jié)構(gòu),即一種控軟件結(jié)構(gòu)以層次表示程序的系統(tǒng)結(jié)構(gòu),即一種控制的層次體系,并不表示軟件的具體過程。制的層次體系,并不表示軟件的具體過程。軟件結(jié)構(gòu)圖的主要元素有:軟件結(jié)構(gòu)圖的主要元素有:模塊模塊控制關(guān)系控制關(guān)系信息傳遞信息傳遞循環(huán)調(diào)用和選擇調(diào)用循環(huán)調(diào)用和選擇調(diào)用軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖的形態(tài)特征:軟件結(jié)構(gòu)圖的形態(tài)特征:深度:指結(jié)構(gòu)圖控制的層次,也是模塊的層數(shù)。深度:指結(jié)構(gòu)圖控制的層

30、次,也是模塊的層數(shù)。寬度:指一層中最大的模塊個數(shù)。寬度:指一層中最大的模塊個數(shù)。扇出:指一個模塊直接下屬模塊的個數(shù)。扇出:指一個模塊直接下屬模塊的個數(shù)。扇入:指一個模塊直接上屬模塊的個數(shù)。扇入:指一個模塊直接上屬模塊的個數(shù)。畫結(jié)構(gòu)圖應(yīng)注意的事項:畫結(jié)構(gòu)圖應(yīng)注意的事項:模塊不能重名。模塊不能重名。調(diào)用關(guān)系只能從上到下。調(diào)用關(guān)系只能從上到下。軟件結(jié)構(gòu)圖mnopqghicdatjklefbrs重構(gòu)重構(gòu)重構(gòu)是一種重新組織的技術(shù),可以簡化構(gòu)件或模塊的重構(gòu)是一種重新組織的技術(shù),可以簡化構(gòu)件或模塊的設(shè)計或編碼而無需改變其功能或行為。設(shè)計或編碼而無需改變其功能或行為。重構(gòu)是一種改進程序內(nèi)部結(jié)構(gòu)但不改變代碼或設(shè)

31、計的重構(gòu)是一種改進程序內(nèi)部結(jié)構(gòu)但不改變代碼或設(shè)計的外部行為。外部行為?!跋仁顾D(zhuǎn)起來,再使它快起來先使它轉(zhuǎn)起來,再使它快起來”。面向數(shù)據(jù)流設(shè)計面向數(shù)據(jù)流設(shè)計根據(jù)基本系統(tǒng)模型,數(shù)據(jù)信息必須以根據(jù)基本系統(tǒng)模型,數(shù)據(jù)信息必須以“外部外部”信息形信息形式進入軟件系統(tǒng),經(jīng)過內(nèi)部處理以后再以式進入軟件系統(tǒng),經(jīng)過內(nèi)部處理以后再以“外部外部”的的形式離開系統(tǒng)。形式離開系統(tǒng)。有三種數(shù)據(jù)流類型:有三種數(shù)據(jù)流類型:變換型數(shù)據(jù)流變換型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流混合型數(shù)據(jù)流混合型數(shù)據(jù)流變換流信息沿輸入通路進入系統(tǒng),同時由外部的形式變信息沿輸入通路進入系統(tǒng),同時由外部的形式變換為內(nèi)部形式,進行系統(tǒng)通過變換程序進行加工

32、換為內(nèi)部形式,進行系統(tǒng)通過變換程序進行加工處理后在沿著輸出通路變換外部形式輸出。處理后在沿著輸出通路變換外部形式輸出。事務(wù)流數(shù)據(jù)沿著輸入通路到達一個調(diào)度模塊,調(diào)度模數(shù)據(jù)沿著輸入通路到達一個調(diào)度模塊,調(diào)度模塊根據(jù)輸入數(shù)據(jù)的類型的不同而選擇相應(yīng)的程塊根據(jù)輸入數(shù)據(jù)的類型的不同而選擇相應(yīng)的程序流程來執(zhí)行處理過程。序流程來執(zhí)行處理過程?;旌闲蛿?shù)據(jù)流在一個大型系統(tǒng)的在一個大型系統(tǒng)的dfd中,變換流和事務(wù)流往往會同中,變換流和事務(wù)流往往會同時出現(xiàn)。時出現(xiàn)。例如,在一個事務(wù)型的例如,在一個事務(wù)型的dfd中,分支動作路徑上的信中,分支動作路徑上的信息流也可能會體現(xiàn)出變換流的特征。息流也可能會體現(xiàn)出變換流的特征。

33、這種具有將事務(wù)流和變換流組合出現(xiàn),就是混合型數(shù)這種具有將事務(wù)流和變換流組合出現(xiàn),就是混合型數(shù)據(jù)流,簡稱混合流。據(jù)流,簡稱混合流。混合型數(shù)據(jù)流混合型數(shù)據(jù)流變換變換3變換變換2傳出傳出數(shù)據(jù)數(shù)據(jù)傳入傳入數(shù)據(jù)數(shù)據(jù)事務(wù)事務(wù)中心中心變換變換1結(jié)果結(jié)果面向數(shù)據(jù)流設(shè)計過程確定數(shù)據(jù)流類型確定數(shù)據(jù)流類型確定數(shù)據(jù)流的方向確定數(shù)據(jù)流的方向進行變換或事務(wù)分析進行變換或事務(wù)分析映射軟件結(jié)構(gòu)映射軟件結(jié)構(gòu)導(dǎo)出接口描述和數(shù)據(jù)導(dǎo)出接口描述和數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)復(fù)查復(fù)查進入下一步詳細設(shè)計進入下一步詳細設(shè)計面向數(shù)據(jù)流設(shè)計步驟設(shè)計步驟設(shè)計步驟復(fù)查并精化數(shù)據(jù)流圖。復(fù)查并精化數(shù)據(jù)流圖。初步分析:確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性。初步分析:確定

34、數(shù)據(jù)流圖具有變換特性還是事務(wù)特性。確定輸入流和輸出流的邊界,從而孤立出變換中心和事務(wù)中心。確定輸入流和輸出流的邊界,從而孤立出變換中心和事務(wù)中心。變換中心包括變換中心包括:輸入通道,輸出通路,處理過程輸入通道,輸出通路,處理過程事物中心包括:輸入通路,事物調(diào)度,可執(zhí)行程序流程事物中心包括:輸入通路,事物調(diào)度,可執(zhí)行程序流程完成完成“第一級分解第一級分解”。完成完成“第二級分解第二級分解”。使用設(shè)計度量和啟發(fā)規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進一步使用設(shè)計度量和啟發(fā)規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進一步精化。精化。在線考試系統(tǒng)(1)基本系統(tǒng)模型基本系統(tǒng)模型功能級模型功能級模型試題試題錄入錄入者者在線考

35、試系統(tǒng)在線考試系統(tǒng)考生考生試題信息試題信息試卷試卷答案答案試題庫試題庫試題試題錄入錄入者者試題信息試題信息生成生成試題試題組卷組卷考試考試考生考生考試信息考試信息試題試題考試信息考試信息試題試題試卷試卷答案答案評卷評卷系統(tǒng)系統(tǒng)答卷答卷考試考試信息信息錄入錄入者者初步分析變換處理變換處理生成試卷生成試卷組卷組卷事務(wù)處理事務(wù)處理考試考試在線考試系統(tǒng)(4)試題試題錄入錄入者者試題試題檢查檢查轉(zhuǎn)換轉(zhuǎn)換定制考試定制考試考試信息考試信息錄入者錄入者組卷組卷考生考生答題答題輸輸入入試試題題導(dǎo)導(dǎo)入入試試題題登錄登錄提交提交試題庫試題庫考試信息考試信息考生信息考生信息答卷信息答卷信息試題信息試題信息試題信息試題

36、信息試題信息試題信息試題信息試題信息試題試題試題試題考試信息考試信息試卷試卷考生信息考生信息考生信息考生信息答案答案考試考試狀態(tài)狀態(tài)考生信息考生信息變換中心試題生成試題生成輸入通道:界面輸入、文件導(dǎo)入輸入通道:界面輸入、文件導(dǎo)入輸出通路:導(dǎo)入數(shù)據(jù)庫輸出通路:導(dǎo)入數(shù)據(jù)庫處理過程:試題檢查和轉(zhuǎn)換處理過程:試題檢查和轉(zhuǎn)換定制考試定制考試輸入通道:界面輸入輸入通道:界面輸入輸出通路:導(dǎo)入數(shù)據(jù)庫輸出通路:導(dǎo)入數(shù)據(jù)庫處理過程:考試信息轉(zhuǎn)換(配置參數(shù),時間等)處理過程:考試信息轉(zhuǎn)換(配置參數(shù),時間等)組卷組卷輸入通道:數(shù)據(jù)庫檢索輸入通道:數(shù)據(jù)庫檢索輸出通路:試卷界面輸出通路:試卷界面處理過程:試題選擇處理過

37、程:試題選擇事務(wù)中心登錄登錄輸入通路:登錄界面輸入通路:登錄界面調(diào)度:登錄驗證調(diào)度:登錄驗證可執(zhí)行的程序流程可執(zhí)行的程序流程登錄考試系統(tǒng)登錄考試系統(tǒng)拒絕登錄拒絕登錄答題答題輸入通路:界面提交、時間提交輸入通路:界面提交、時間提交調(diào)度:答題控制調(diào)度:答題控制可執(zhí)行的程序流程可執(zhí)行的程序流程提交答案到服務(wù)器提交答案到服務(wù)器拒絕提交拒絕提交存儲答案于本地存儲答案于本地提交提交輸入通路:界面提交、時間提交輸入通路:界面提交、時間提交調(diào)度:提交控制調(diào)度:提交控制可執(zhí)行的程序流程可執(zhí)行的程序流程提交考試信息到服務(wù)器提交考試信息到服務(wù)器拒絕提交拒絕提交重新提交重新提交存儲本地存儲本地變換中心第一級分解分解方

38、法分解方法對于輸入通路設(shè)置輸入控制模塊(對于輸入通路設(shè)置輸入控制模塊(ca)變換處理設(shè)置控制模塊(變換處理設(shè)置控制模塊(ct)對于輸出通路輸出信息產(chǎn)生和顯示模塊(對于輸出通路輸出信息產(chǎn)生和顯示模塊(ce)試題生成試題生成試題生成獲取試題信息獲取試題信息試題轉(zhuǎn)換試題轉(zhuǎn)換試題存儲試題存儲輸入控制輸入控制變換控制變換控制輸出控制輸出控制定制考試定制考試定制考試獲取考試信息獲取考試信息考試信息轉(zhuǎn)換考試信息轉(zhuǎn)換考試信息存儲考試信息存儲組卷組卷組卷從試題庫查詢試題從試題庫查詢試題試題選擇和組織試題選擇和組織試卷輸出顯示試卷輸出顯示變換中心第二級分解輸入模塊細化輸入模塊細化數(shù)據(jù)獲取數(shù)據(jù)獲取數(shù)據(jù)檢查數(shù)據(jù)檢查數(shù)

39、據(jù)傳遞數(shù)據(jù)傳遞數(shù)據(jù)封裝數(shù)據(jù)封裝控制模塊細化控制模塊細化數(shù)據(jù)預(yù)處理數(shù)據(jù)預(yù)處理數(shù)據(jù)格式轉(zhuǎn)換數(shù)據(jù)格式轉(zhuǎn)換數(shù)據(jù)內(nèi)部屬性生成數(shù)據(jù)內(nèi)部屬性生成輸出模塊細化輸出模塊細化輸出格式轉(zhuǎn)換輸出格式轉(zhuǎn)換顯示格式設(shè)置顯示格式設(shè)置數(shù)據(jù)傳遞數(shù)據(jù)傳遞輸出數(shù)據(jù)生成輸出數(shù)據(jù)生成試題生成試題生成試題生成獲取試題信息獲取試題信息試題轉(zhuǎn)換試題轉(zhuǎn)換試題存儲試題存儲從界從界面讀面讀取信取信息息文文件件選選擇擇檢查輸檢查輸入信息入信息的完整的完整性和有性和有效性效性文件文件格式格式檢查檢查文件內(nèi)文件內(nèi)容的完容的完整性和整性和有效性有效性檢查檢查試題試題格式格式轉(zhuǎn)換轉(zhuǎn)換試題試題編號編號生成生成數(shù)據(jù)庫數(shù)據(jù)庫鏈接鏈接數(shù)據(jù)庫數(shù)據(jù)庫sql生成生成數(shù)據(jù)

40、庫數(shù)據(jù)庫sql執(zhí)行執(zhí)行界面錄界面錄入試題入試題導(dǎo)入外部導(dǎo)入外部試題試題定制考試定制考試定制考試獲取考試信息獲取考試信息考試信息轉(zhuǎn)換考試信息轉(zhuǎn)換考試信息存儲考試信息存儲從界面從界面讀取信讀取信息息檢查輸入檢查輸入信息的完信息的完整性和整性和有效性有效性考試配考試配置參數(shù)置參數(shù)生成生成考試考試編號編號生成生成數(shù)據(jù)庫數(shù)據(jù)庫鏈接鏈接數(shù)據(jù)庫數(shù)據(jù)庫sql生成生成數(shù)據(jù)庫數(shù)據(jù)庫sql執(zhí)行執(zhí)行事務(wù)中心第一級分解輸入控制模塊輸入控制模塊事務(wù)處理模塊事務(wù)處理模塊事務(wù)調(diào)度模塊事務(wù)調(diào)度模塊事務(wù)傳遞模塊事務(wù)傳遞模塊登錄登錄登錄獲取登獲取登錄信息錄信息登錄信登錄信息驗證息驗證登錄登錄考試考試系統(tǒng)系統(tǒng)拒絕拒絕登錄登錄登錄登錄

41、調(diào)度調(diào)度提交考試提交考試提交考試界面界面提交提交時間時間提交提交提交提交控制控制提交到提交到服務(wù)器服務(wù)器拒絕拒絕提交提交重新重新提交提交存儲存儲本地本地提交提交調(diào)度調(diào)度考試考試終止終止繼續(xù)繼續(xù)考試考試事務(wù)中心第二級分解輸入控制模塊輸入控制模塊數(shù)據(jù)獲取數(shù)據(jù)獲取數(shù)據(jù)檢查數(shù)據(jù)檢查數(shù)據(jù)傳遞數(shù)據(jù)傳遞數(shù)據(jù)封裝數(shù)據(jù)封裝事務(wù)處理模塊事務(wù)處理模塊事務(wù)處理步驟分解事務(wù)處理步驟分解事務(wù)調(diào)度模塊事務(wù)調(diào)度模塊調(diào)度監(jiān)控調(diào)度監(jiān)控調(diào)度分配調(diào)度分配事務(wù)傳遞模塊事務(wù)傳遞模塊事務(wù)通信事務(wù)通信事務(wù)現(xiàn)場處理事務(wù)現(xiàn)場處理事務(wù)后續(xù)處理事務(wù)后續(xù)處理登錄登錄登錄獲取登獲取登錄信息錄信息登錄信登錄信息驗證息驗證登錄登錄考試考試系統(tǒng)系統(tǒng)拒絕拒絕登

42、錄登錄登錄登錄調(diào)度調(diào)度輸入輸入用戶用戶名和名和口令口令輸入輸入有效有效性檢性檢查查用戶用戶名檢名檢查查口令口令驗證驗證檢查檢查寫登寫登錄日錄日志志進入進入考試考試界面界面記錄記錄考生考生登錄登錄信息信息錯誤錯誤提示提示界面界面重新重新登錄登錄提交考試提交考試提交考試界面界面提交提交時間時間提交提交提交提交控制控制提交到提交到服務(wù)器服務(wù)器拒絕拒絕提交提交重新重新提交提交存儲存儲本地本地提交提交調(diào)度調(diào)度考試考試終止終止繼續(xù)繼續(xù)考試考試取系取系統(tǒng)時統(tǒng)時鐘鐘定時定時器器傳輸傳輸?shù)椒椒?wù)器務(wù)器存儲存儲考試考試信息信息拒絕拒絕狀態(tài)狀態(tài)判定判定拒絕拒絕提交提交提示提示記錄記錄提交提交狀態(tài)狀態(tài)重新重新提交提

43、交提示提示創(chuàng)建創(chuàng)建本地本地文件文件寫考寫考試信試信息到息到文件文件面向數(shù)據(jù)流設(shè)計小結(jié)變換流和事務(wù)流分析變換流和事務(wù)流分析變換模塊和事務(wù)模塊的劃分變換模塊和事務(wù)模塊的劃分模塊的分解模塊的分解數(shù)據(jù)庫設(shè)計邏輯設(shè)計物理設(shè)計邏輯設(shè)計邏輯設(shè)計的任務(wù),就是采取一定的策略,按照若干準則將概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫管理系統(tǒng)所能接受的一組關(guān)系模式,并利用規(guī)范化的理論和方法對這組關(guān)系模式進行處理。關(guān)系模式設(shè)計關(guān)系模式規(guī)范化模式的評價與改進關(guān)系模式設(shè)計e-r圖是由實體、屬性和聯(lián)系組成的,而關(guān)系數(shù)據(jù)庫邏輯設(shè)計的結(jié)果是一組關(guān)系模式的集合。所以將e-r圖轉(zhuǎn)換為關(guān)系模型實際上就是將實體、屬性和聯(lián)系轉(zhuǎn)換成關(guān)系模式。在轉(zhuǎn)換中要遵循

44、以下原則:一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的鍵就是關(guān)系的鍵。一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各實體的鍵以及聯(lián)系的屬性均轉(zhuǎn)換為該關(guān)系的屬性。該關(guān)系的鍵有三種情況:如果聯(lián)系為1:1,則每個實體的鍵都是關(guān)系的候選鍵如果聯(lián)系為1: n ,則n端實體的鍵是關(guān)系的鍵如果聯(lián)系為n : m,則各實體鍵的組合是關(guān)系的鍵教務(wù)管理系統(tǒng)學(xué)生課程教師課表成績關(guān)系模式規(guī)范化應(yīng)用規(guī)范化理論對上述產(chǎn)生的關(guān)系的邏輯模式進行初步優(yōu)化,以減少乃至消除關(guān)系模式中存在的各種異常,改善完整性、一致性和存儲效率。確定范式級別實施規(guī)范化處理物理設(shè)計數(shù)據(jù)庫最終要存儲在物理設(shè)備上。對于給定的邏輯數(shù)據(jù)模型,選取

45、一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,稱為數(shù)據(jù)庫物理設(shè)計。物理設(shè)計的任務(wù)是為了有效地實現(xiàn)邏輯模式,確定所采取的存儲策略。此階段是以邏輯設(shè)計的結(jié)果作為輸入,結(jié)合具體dbms的特點與存儲設(shè)備特性進行設(shè)計,選定數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。確定物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu)評價物理結(jié)構(gòu),評價的重點是時間和空間效率確定物理結(jié)構(gòu)存儲記錄結(jié)構(gòu)的設(shè)計聚簇索引訪問方法的設(shè)計緩存索引數(shù)據(jù)存放位置的設(shè)計分區(qū)陣列備份系統(tǒng)配置的設(shè)計數(shù)據(jù)庫安全和維護設(shè)計安全策略用戶機制授權(quán)機制加密機制備份策略增量備份完全備份介質(zhì)備份什么是詳細設(shè)計針對一個個模塊的設(shè)計,是過程設(shè)計、算法設(shè)針對一個個模塊的設(shè)計,是

46、過程設(shè)計、算法設(shè)計。計。詳細設(shè)計采用結(jié)構(gòu)化程序設(shè)計方法詳細設(shè)計采用結(jié)構(gòu)化程序設(shè)計方法.詳細設(shè)計僅僅是設(shè)計出程序的詳細設(shè)計僅僅是設(shè)計出程序的“藍圖藍圖”,是編,是編碼的先導(dǎo),但不是編寫程序。碼的先導(dǎo),但不是編寫程序。設(shè)計高效率的程序是基于良好的數(shù)據(jù)結(jié)構(gòu)與算設(shè)計高效率的程序是基于良好的數(shù)據(jù)結(jié)構(gòu)與算法,而不是基于編程小技巧法,而不是基于編程小技巧結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計的理念是在結(jié)構(gòu)化程序設(shè)計的理念是在20世紀世紀60年代,由年代,由dijkstra等人提出并加以完善的。等人提出并加以完善的。結(jié)構(gòu)化的程序一般只需要用三種基本的邏輯結(jié)構(gòu)就能結(jié)構(gòu)化的程序一般只需要用三種基本的邏

47、輯結(jié)構(gòu)就能實現(xiàn)。這三種基本邏輯結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和實現(xiàn)。這三種基本邏輯結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計是一種設(shè)計程序的技術(shù),它采用自頂結(jié)構(gòu)化程序設(shè)計是一種設(shè)計程序的技術(shù),它采用自頂向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu)。向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu)。詳細設(shè)計的任務(wù)每個模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)每個模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)每個模塊的控制算法每個模塊的控制算法內(nèi)部接口描述內(nèi)部接口描述為每一模塊設(shè)計出一組測試用例(為每一模塊設(shè)計出一組測試用例(test cases),因為,因為詳細設(shè)計人員對模塊的功能、邏輯、接口等最了解。詳細設(shè)計人員對模塊的功能、邏輯、接口

48、等最了解。評審評審詳細設(shè)計原則每一種數(shù)據(jù)結(jié)構(gòu)與算法都有其時間、空間的開銷和收每一種數(shù)據(jù)結(jié)構(gòu)與算法都有其時間、空間的開銷和收益。益。 與開銷和收益有關(guān)的是時間與開銷和收益有關(guān)的是時間空間的權(quán)衡??臻g的權(quán)衡。 程序員應(yīng)該充分地了解一些常用的數(shù)據(jù)結(jié)構(gòu)與算法,程序員應(yīng)該充分地了解一些常用的數(shù)據(jù)結(jié)構(gòu)與算法,避免不必要的重復(fù)設(shè)計工作。避免不必要的重復(fù)設(shè)計工作。 數(shù)據(jù)結(jié)構(gòu)與算法為應(yīng)用服務(wù)。數(shù)據(jù)結(jié)構(gòu)與算法為應(yīng)用服務(wù)。 結(jié)構(gòu)程序設(shè)計的類型經(jīng)典的結(jié)構(gòu)程序設(shè)計經(jīng)典的結(jié)構(gòu)程序設(shè)計seq; if-then-else; do-while 擴展的結(jié)構(gòu)程序設(shè)計擴展的結(jié)構(gòu)程序設(shè)計增加增加case; do-until修正的結(jié)構(gòu)程

49、序設(shè)計修正的結(jié)構(gòu)程序設(shè)計允許允許continue; break過程設(shè)計過程設(shè)計在概要設(shè)計完成之后進行,它是詳細設(shè)計階過程設(shè)計在概要設(shè)計完成之后進行,它是詳細設(shè)計階段應(yīng)該完成的主要任務(wù)段應(yīng)該完成的主要任務(wù)過程設(shè)計方法過程設(shè)計方法流程圖流程圖n-s圖圖pad圖圖判定表判定表hipo圖圖流程圖結(jié)構(gòu)(a)順序結(jié)構(gòu)順序結(jié)構(gòu)(b)if-then-else型選擇型選擇(c)do-while型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu)(d)do-until型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu)(e)多分支結(jié)構(gòu)多分支結(jié)構(gòu)程序結(jié)構(gòu)(續(xù))(d)(e)程序流程圖的標準符號試錯限制試錯限制流程圖的實例流程圖的實例-系統(tǒng)登錄系統(tǒng)登錄口口令令驗驗證證用用戶戶名名驗驗證證開始開始輸入輸入用戶名用戶名查詢用戶名查詢用戶名是否存在是否存在該用戶名該用戶名輸入輸入口令口令根據(jù)用戶根據(jù)用戶名比對口令

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論