版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、家庭保安系統(tǒng)的分析與設(shè)計(jì),第一部分 需求獲取與需求分析,這里以“家庭保安系統(tǒng)”為例,簡要說明初步需求的獲取過程。假設(shè)用戶的原始需求描述如下:,根據(jù)家庭保安市場的增長趨勢,我們希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識別異常事件并采取相應(yīng)的報警措施。 這些異常事件有:非法進(jìn)入、火災(zāi)、水淹,等等。當(dāng)傳感器一旦探測出相應(yīng)的異常事件時,系統(tǒng)應(yīng)自動用電話向監(jiān)控中心報警。此外,系統(tǒng)應(yīng)允許戶主對其行為實(shí)施程序式控制。,“家庭保安系統(tǒng)”初步需求的獲取(2),為進(jìn)行初步的需求分析,這里采用開發(fā)方和用戶方組成聯(lián)合小組的方法。為此,聯(lián)合小組應(yīng)制定工作制度:每次會議開始前必須有確定的議程,小組成員必須針對議程進(jìn)
2、行充分準(zhǔn)備并應(yīng)形成文字。 聯(lián)合小組會議首先應(yīng)明確問題的范圍、問題與環(huán)境的關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達(dá)成共識。,“家庭保安系統(tǒng)”初步需求的獲取(3),之后的會議,小組負(fù)責(zé)人要求每位參加者根據(jù)負(fù)責(zé)的范圍列出應(yīng)用問題及環(huán)境中有關(guān)的對象、對象的操作及對象間的關(guān)系。 如市場營銷人員列出控制面板、電話機(jī)、監(jiān)控中心等對象和用戶編程控制、電話撥號、報警等操作; 負(fù)責(zé)傳感器的用戶可能列舉煙霧傳感器、門窗監(jiān)視器、警報器等對象。,“家庭保安系統(tǒng)”初步需求的獲取(4),接著,將對這些列舉的對象和操作進(jìn)行更詳細(xì)的討論和描述,比如,詳細(xì)地描述接收傳感器事件、用戶編程控制、電話報警等操作等。 之后,用戶可能提出一些約束
3、條件。比如,造價不應(yīng)超過3000元,對傳感器事件的響應(yīng)時間不得超過1秒,事件必須按優(yōu)先級順序進(jìn)行處理等等。 會后,小組負(fù)責(zé)人應(yīng)對這些信息加以整理并形成文檔,該文檔應(yīng)能反映“家庭保安系統(tǒng)”的全貌。,“家庭保安系統(tǒng)”初步需求的獲取(4),之后,根據(jù)“家庭保安系統(tǒng)”的特點(diǎn),將聯(lián)合小組分成兩個小組,并行處理用戶編程控制和傳感器檢測兩個子系統(tǒng),以便使子問題的軟件需求進(jìn)一步細(xì)化,這時可能又會增加新對象、新操作、新約束條件。在子系統(tǒng)的需求基本明確并形成文檔后,還應(yīng)就子系統(tǒng)的整合及需求驗(yàn)證標(biāo)準(zhǔn)等進(jìn)行初步的討論。 最后,初步需求分析應(yīng)形成結(jié)論性文檔。比如,經(jīng)過初步的需求分析,“家庭保安系統(tǒng)”的部分初步需求文檔如
4、下:,“家庭保安系統(tǒng)”的部分初步需求文檔(1),“家庭保安系統(tǒng)”的軟件允許用戶在安裝時進(jìn)行系統(tǒng)配置,實(shí)施對傳感器的監(jiān)控并通過控制面板與戶主進(jìn)行信息交互。 系統(tǒng)開機(jī)后,軟件系統(tǒng)負(fù)責(zé)顯示系統(tǒng)當(dāng)前的工作狀態(tài),接收并處理戶主的命令。 當(dāng)系統(tǒng)處于配置狀態(tài),軟件系統(tǒng)允許戶主進(jìn)行配置操作。配置操作包括: 指定每一傳感器的種類和編號; 設(shè)置開、關(guān)機(jī)密碼; 指定報警電話號碼; 指定報警延遲和電話重?fù)苎舆t時間(以秒為單位)。,“家庭保安系統(tǒng)”的部分初步需求文檔(2),當(dāng)系統(tǒng)處于監(jiān)視狀態(tài)時,軟件系統(tǒng)即開始對所有傳感器實(shí)施監(jiān)控。當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判別是否出現(xiàn)異常事件,如果是,則經(jīng)過指定的延遲時間即開
5、始撥報警電話號碼,撥號操作將按照重?fù)苎舆t反復(fù)進(jìn)行,直至電話接通。此時軟件系統(tǒng)負(fù)責(zé)向監(jiān)控中心報告異常事件發(fā)生的地點(diǎn)、時間和性質(zhì)。,“家庭保安系統(tǒng)”的部分初步需求文檔(3),以上文檔沒有包括約束條件、測試標(biāo)準(zhǔn)等方面的內(nèi)容。 初步需求文檔將是后續(xù)詳細(xì)需求分析的基礎(chǔ)。在此基礎(chǔ)上,就可以采用某種需求分析方法進(jìn)行詳細(xì)的需求分析。,圖1 “家庭保安系統(tǒng)”頂級數(shù)據(jù)流圖,警報類別,顯示信息,電話撥號音頻,傳感數(shù)據(jù),用戶命令,家庭保 安系統(tǒng),控制面板,傳感器,顯示器,電話機(jī),警報器,數(shù)據(jù)流圖,圖2 “家庭保安系統(tǒng)”1級數(shù)據(jù)流圖,警報類別,電話撥 號音頻,傳感信息,配置數(shù)據(jù),傳感數(shù)據(jù),配置數(shù)據(jù),原口令,口令有效/
6、口令無效,口令,配置數(shù)據(jù),配置命令,顯示信息,啟動/停止時 的顯示信息,口令有效,啟動/停止 命令,用戶命令,配置信息,控制面板,用戶命令處理,系統(tǒng) 配置,口令 核對,信息 顯示,啟動/停止 處理,顯示面板,傳感器 監(jiān)測,傳感器,警報器,電話機(jī),圖3 “家庭保安系統(tǒng)”2級數(shù)據(jù)流圖: 對“傳感器監(jiān)測”的分解,傳感器ID,類別 傳感數(shù)據(jù) (內(nèi)部表示),傳感 數(shù)據(jù),報警信息,電話撥 號音頻,配置數(shù)據(jù),報警類別,電話號碼,傳感信息,配置信息,讀取傳 感數(shù)據(jù),生成報 警信號,異常數(shù) 據(jù)判別,電話 撥號,過程規(guī)格說明舉例“設(shè)置口令”子功能,1參數(shù):口令;類別:字符串 2處理步驟: 1)檢查系統(tǒng)是否已有口令
7、。若有,則驗(yàn)證用戶輸入口令的有效性。如果有效,則顯示提示信息要求輸入新口令;否則,顯示失敗信息并退出。 2)檢查口令長度是否合法。如果非法,則顯示提示信息要求重新輸入。 3)要求用戶再次鍵入合法口令,以便用戶確認(rèn)和記憶。如果兩次鍵入的口令不符,則返回。 4)將確認(rèn)后的口令按某種加密方法轉(zhuǎn)換為另一字符串存放于系統(tǒng)配置文件中。顯示成功信息并退出。 3約束條件:在上述1)、2)、3)步驟中,用戶重試的機(jī)會不超過3次。,第二部分 軟件設(shè)計(jì),SD方法的設(shè)計(jì)過程和有關(guān)概念,SD方法能方便地將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu),其過程分為五步: 1 確定信息流的類型; 2 劃定流界; 3 將數(shù)據(jù)流圖映射為程序結(jié)構(gòu); 4
8、 提取層次控制結(jié)構(gòu); 5 通過設(shè)計(jì)復(fù)審和使用啟發(fā)式策略進(jìn) 一步精化所得到的結(jié)構(gòu)。,1)變換流,變換流 在基本系統(tǒng)模型(即頂級數(shù)據(jù)流圖)中信息通常以“外部世界”所具有的形式進(jìn)入系統(tǒng),經(jīng)過處理后又以這種形式離開系統(tǒng)。,輸入流,外部表示,內(nèi)部表示,信息,時間,圖3 信息流,輸出流,變換流,1)變換流,圖4 典型的變換流 變換流的特點(diǎn)是:經(jīng)過變換B的數(shù)據(jù)流一部分先經(jīng)過變換C到達(dá)變換E,然后另一部分經(jīng)過變換D到達(dá)E;即C和D是順序結(jié)構(gòu)。,2)事務(wù)流,事務(wù)流單個數(shù)據(jù)項(xiàng)稱為事務(wù)(transaction)沿傳入路徑(也稱接受通道)進(jìn)入系統(tǒng),由外部形式變換為內(nèi)部形式后到達(dá)事務(wù)中心,事務(wù)中心根據(jù)數(shù)據(jù)項(xiàng)計(jì)值結(jié)果從若
9、干動作路徑中選定一條繼續(xù)執(zhí)行。 可見它是一個選擇結(jié)構(gòu)。,事務(wù)中心,T,B,事務(wù),C,A,圖5 事務(wù)流,圖6 面向數(shù)據(jù)流 的設(shè)計(jì),1 變換分析,下面以“家庭保安系統(tǒng)”的傳感器監(jiān)測子系統(tǒng)為例說明變換分析的各個步驟。 步驟一、復(fù)審基本系統(tǒng)模型 基本系統(tǒng)模型指頂級DFD和所有由外部提供的信息。這一設(shè)計(jì)步驟是對系統(tǒng)規(guī)格說明書和軟件需求規(guī)格說明書進(jìn)行評估。這兩個文檔描述軟件界面上信息的流程和結(jié)構(gòu)。,圖6 “家庭保安系統(tǒng)”的頂級數(shù)據(jù)流圖,警報類別,家庭保安 系統(tǒng)軟件,控制面板,顯示器,警報器,電話線,傳感器,用戶命令,顯示信息,傳感數(shù)據(jù),電話撥號音頻,圖7 “家庭保安系統(tǒng)”的第一級DFD,電話撥號音頻,配置
10、數(shù)據(jù),配置 數(shù)據(jù),配置數(shù)據(jù),用戶命令處理,顯示信息 和狀態(tài),傳感器 監(jiān)測,系統(tǒng) 配置,控制面板,顯示器,警報器,電話線,傳感器,配置信息,配置 命令,啟動/ 停止命令,原口令,有效口令,傳感器信息,報警類別,傳感數(shù)據(jù),顯示 信息,用戶命令,口令,啟動/停止 系統(tǒng)和狀態(tài),啟動或 停止消息,口令核對,用 戶 交 互 子 系 統(tǒng),1. 變換分析,步驟二、復(fù)審和精化軟件數(shù)據(jù)流圖 這一步主要是對軟件需求規(guī)格說明書中的分析模型進(jìn)行精化,直至獲得足夠詳細(xì)的DFD。 例如,由“傳感器監(jiān)測子系統(tǒng)”的第一級(圖6的局部)和第二級DFD進(jìn)一步推導(dǎo)出第三級數(shù)據(jù)流圖,此時,每個變換對應(yīng)一個獨(dú)立的功能,可以用一個具有較高
11、內(nèi)聚度的模塊實(shí)現(xiàn),至此已有足夠的信息可用于設(shè)計(jì)“傳感器監(jiān)測子系統(tǒng)”的程序結(jié)構(gòu),精化過程亦可結(jié)束。,圖8 “傳感器監(jiān)測子系統(tǒng)”的第二級DFD,傳感器信息,傳感器標(biāo)志 的類型和位置,傳感數(shù)據(jù),警報類別,警報數(shù)據(jù),顯示 格式,產(chǎn)生警 報信號,電話 撥號,異常數(shù)據(jù)判別,讀取傳感數(shù)據(jù),配 置 信 息,配置數(shù)據(jù),傳感器 標(biāo)識類型,電話號碼,電話撥號音頻,圖9 “傳感器監(jiān)測子系統(tǒng)”的第三級DFD,配 置 信 息,警報條件碼 傳感器標(biāo)志 定時信息,傳感數(shù)據(jù),電話號碼 對應(yīng)的音頻,電話撥 號音頻,傳感器信息,號碼表,電話號碼,讀取傳感數(shù)據(jù),獲取響應(yīng)信息,建立警報條件,選擇電話號碼,連通電話網(wǎng),產(chǎn)生撥號脈沖,產(chǎn)生
12、警報信號,格式化顯示,產(chǎn)生顯示,傳感器標(biāo)志的類型和位置,格式化標(biāo)志的類型和位置,置傳感器標(biāo)識,警報數(shù)據(jù),警報類別,配 置 數(shù) 據(jù),1. 變換分析,步驟三、確定DFD的特性,判定它為變換流還是事務(wù)流。 以圖9所示DFD為例,數(shù)據(jù)沿一個傳入路徑進(jìn)來,沿三個傳出路徑離開,沒有明顯的事務(wù)中心,因此,該信息流應(yīng)屬變換流。 步驟四、劃定輸入流和輸出流的邊界,孤立變換中心。,變換分析,步驟五、執(zhí)行“一級分解”(first level factoring) 一級分解的目標(biāo)是導(dǎo)出具有三個層次的程序結(jié)構(gòu),頂層為主控模塊;底層模塊執(zhí)行輸入、計(jì)算和輸出功能;中層模塊控制、協(xié)調(diào)底層的工作。,變換分析,程序結(jié)構(gòu)可用You
13、rdon結(jié)構(gòu)圖表示。結(jié)構(gòu)圖中,方框代表模塊,框內(nèi)名稱表示模塊的功能;方框之間的有向邊(無二義時也可用無向邊)表示模塊間的調(diào)用關(guān)系。調(diào)用模塊上無標(biāo)志表示順序調(diào)用:從左至右;菱形表示選擇調(diào)用;弧形箭頭表示循環(huán)調(diào)用。但本書后面除了順序調(diào)用外,并沒有遵循這些規(guī)定。,a,c,b,a,c,b,a,b,a) 順序調(diào)用 b) 選擇調(diào)用 c) 循環(huán)調(diào)用,變換分析,圖10所示的結(jié)構(gòu)圖對應(yīng)于一級分解的上兩層模塊,即主控模塊和下面幾個中層控制模塊: 輸入流控制模塊,接收所有輸入數(shù)據(jù); 變換流控制模塊,對內(nèi)部形式數(shù)據(jù)進(jìn)行加工、處理; 輸出流控制模塊,產(chǎn)生輸出數(shù)據(jù)。,變換分析,圖10 一級分解,輸入流,變換流,變換流 控
14、制模塊,輸入流 控制模塊,輸出流,主控模塊,輸出流 控制模塊,A,B,C,D,E,F,G,H,變換分析,圖10展示的是一個簡單三叉結(jié)構(gòu),實(shí)際處理大型系統(tǒng)的復(fù)雜數(shù)據(jù)流時,可能需要多個模塊對應(yīng)圖10中一個模塊的功能。“一級分解”總的原則是,在完成控制功能并保持低耦合度、高內(nèi)聚度的前提下盡可能地減少模塊的數(shù)量。 “傳感器監(jiān)測子系統(tǒng)”一級分解如圖11所示,其中控制模塊的名字概括了所有下屬模塊的功能。,圖11 傳感器監(jiān)測子系統(tǒng)一級分解結(jié)果,警報條件控制模塊,傳感器輸入控制模塊,主控模塊,警報輸出控制模塊,配 置 信 息,變換分析,步驟六、執(zhí)行“二級分解”。 二級分解的任務(wù)是把數(shù)據(jù)流圖中每個處理框映射為結(jié)
15、構(gòu)圖中的一個模塊。其過程是從變換中心的邊界開始沿輸入、輸出通道向外移動;從變換中心的輸入(出)邊界向外移動,把遇到的每個處理框映射為結(jié)構(gòu)圖中相應(yīng)控制模塊下的一個模塊。,圖12 二級分解,輸入流,變換流,輸入流控制模塊,輸出流,主控模塊,A,B,C,D,E,F,G,H,B,D,A,C,變換流控制模塊,輸出流控制模塊,E,F,G,H,變換分析,DFD的處理框與程序結(jié)構(gòu)模塊一一對應(yīng),但按照軟件設(shè)計(jì)原則進(jìn)行設(shè)計(jì)時,可能需要把幾個處理框聚合為一個模塊,或者把一個處理框裂變?yōu)閹讉€模塊??傊?,應(yīng)根據(jù)“良好”設(shè)計(jì)的標(biāo)準(zhǔn),進(jìn)行二級分解。 二級分解后得到的僅僅是程序結(jié)構(gòu)的“雛形”(firstcut),后續(xù)的復(fù)審和
16、精化會反復(fù)修改。,變換分析,程序結(jié)構(gòu)的模塊名已隱含了模塊功能,但仍有必要為每個模塊寫一個簡要的處理說明,它應(yīng)當(dāng)包括: 1進(jìn)出模塊的信息(接口描述); 2模塊的局部信息; 3處理過程陳述,包括任務(wù)和主要的判 斷點(diǎn)的位置、條件; 4對有關(guān)限制和一些專門特性的簡要說 明(例如,文件I/O,獨(dú)立于硬件的 特性,特殊的實(shí)時要求等)。 這些描述構(gòu)成第一版設(shè)計(jì)規(guī)格說明書。,變換分析,步驟七、采用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量 對于程序結(jié)構(gòu)的雛形,以“模塊獨(dú)立”為指導(dǎo)思想,對模塊進(jìn)行整合或分解,旨在追求高內(nèi)聚、低耦合,以及易實(shí)現(xiàn)、易測試、易維護(hù)的軟件結(jié)構(gòu)。,圖9-2-8 結(jié)構(gòu)的優(yōu)化,輸入流
17、控制模塊,主控模塊,B,D,A,C,變換流控制模塊,輸出流控制模塊,E,F,G,H,輸入流控制模塊,主控模塊,B,D,A,C,E,F,G,H,變換分析,上述七個設(shè)計(jì)步驟的目標(biāo)是給出軟件的一個整體描述。 一旦有了這樣一個描述,設(shè)計(jì)人員即可從整體角度評價和精化軟件的總體結(jié)構(gòu),此時修改所需耗費(fèi)不多,卻能大大提高軟件質(zhì)量。,2. 事務(wù)分析,當(dāng)數(shù)據(jù)流具有明顯的事務(wù)特征時,即能找到一個事務(wù)(亦稱觸發(fā)數(shù)據(jù)項(xiàng))和一個事務(wù)中心,采用事務(wù)分析法更為適宜。 下面以“家庭保安系統(tǒng)”中“用戶交互子系統(tǒng)”為例,說明事務(wù)分析法。 該子系統(tǒng)的第一級數(shù)據(jù)流圖精化后得到如圖13 所示第二級數(shù)據(jù)流圖。圖中“用戶命令數(shù)據(jù)”流入系統(tǒng)后
18、,沿三條動作路徑之一離開系統(tǒng),若將數(shù)據(jù)項(xiàng)“命令類型”看作事務(wù),該子系統(tǒng)的信息流具有明顯的事務(wù)特征。,圖13 用戶交互子系統(tǒng)的二級數(shù)據(jù)流圖,無效口令,啟動/停止命令,口令,啟動/停止消息,配置數(shù)據(jù),配置數(shù)據(jù),配置命令,顯示信息,“再試”信息,讀取用戶命令,啟動命令處理,啟動/停止系統(tǒng),產(chǎn)生無效的信息,讀取系統(tǒng)數(shù)據(jù),讀取配置文件,讀取口令,顯示信息和狀態(tài),比較口令 與文件,配 置 信 息,用戶命令數(shù)據(jù),系統(tǒng)參數(shù)和數(shù)據(jù),原始配置項(xiàng),格式化的 配置數(shù)據(jù),命令類型,確認(rèn)口令,四位數(shù),有效口令,事務(wù)分析,事務(wù)分析法可概括為七個步驟: 步驟一、復(fù)審基本系統(tǒng)模型; 步驟二、復(fù)審并精化軟件數(shù)據(jù)流圖; 步驟三、確定數(shù)據(jù)流圖的特征; 顯然,前三步與變換分析法相同。,步驟4,指出事務(wù)中心 ,確定由事務(wù)中心發(fā)出的每一動作路徑的數(shù)據(jù)流特性。數(shù)條動作路徑的公共源頭即為事務(wù)中心,如圖 所示,事物中心定位為“啟動命令處理”框。事務(wù)中心一經(jīng)確定,即可劃定接受路徑與所有動作路徑的界限,隨后判定每一動作路徑上數(shù)據(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院工會財(cái)務(wù)內(nèi)控制度
- 社保內(nèi)控制度匯編
- 工行內(nèi)控制度
- 糧食局內(nèi)控制度
- 醫(yī)院采購行為內(nèi)控制度
- 房子拆遷貸款合同范本
- 2025年母嬰渠道運(yùn)營創(chuàng)新五年趨勢報告
- 美妝直播帶貨2025年五年消費(fèi)者行為報告
- 河南省豫西北教研聯(lián)盟(平許濟(jì)洛)2026屆高三上學(xué)期1月質(zhì)量檢測(二模)歷史試卷(含答案)
- 初中英語演講中面部微表情對真實(shí)情感效果的研究教學(xué)研究課題報告
- 2025年“雄鷹杯”小動物醫(yī)師技能大賽備考試題庫(含答案)
- 2025福建德化閩投抽水蓄能有限公司社會招聘4人歷年真題匯編附答案解析
- 2025榆林市旅游投資集團(tuán)有限公司招聘(15人)考試參考題庫及答案解析
- 廣東省湛江市2024-2025學(xué)年高一上學(xué)期1月期末調(diào)研考試物理試卷(含答案)
- 山東省濟(jì)南市2024-2025學(xué)年高二上學(xué)期期末學(xué)習(xí)質(zhì)量檢測物理試卷(含答案)
- 2026年江蘇省普通高中學(xué)業(yè)水平合格性考試化學(xué)模擬卷(一)(含答案)
- 項(xiàng)目管理入門:WBS任務(wù)分解詳解
- 花都區(qū)2024-2025學(xué)年第一學(xué)期六年級英語期末學(xué)業(yè)測評考點(diǎn)及答案
- 2025年iba事業(yè)單位面試題庫及答案
- 口腔會員協(xié)議書
- 【《77500WDT散貨船總體結(jié)構(gòu)方案初步設(shè)計(jì)》18000字】
評論
0/150
提交評論