




已閱讀5頁,還剩120頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1 軟件需求分析的任務(wù)和過程結(jié)構(gòu)化分析方法原型化方法動(dòng)態(tài)分析方法數(shù)據(jù)及數(shù)據(jù)庫需求 軟件需求分析 2 軟件需求分析的任務(wù) 深入描述軟件的功能和性能確定軟件設(shè)計(jì)的約束和軟件同其它系統(tǒng)元素的接口細(xì)節(jié)定義軟件的其它有效性需求 3 需求分析研究的對象是軟件項(xiàng)目的用戶要求準(zhǔn)確地表達(dá)被接受的用戶要求確定被開發(fā)軟件系統(tǒng)的系統(tǒng)元素將功能和信息結(jié)構(gòu)分配到這些系統(tǒng)元素中 4 需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型 解決目標(biāo)系統(tǒng)的 做什么 的問題 5 通常軟件開發(fā)項(xiàng)目是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型目標(biāo)系統(tǒng)的具體物理模型是由它的邏輯模型經(jīng)實(shí)例化 即具體到某個(gè)業(yè)務(wù)領(lǐng)域而得到的 6 需求分析的過程 1 問題識別從系統(tǒng)的角度來理解軟件并評審軟件范圍是否恰當(dāng)確定對目標(biāo)系統(tǒng)的綜合要求 即軟件的需求提出這些需求實(shí)現(xiàn)條件 以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn) 7 軟件的需求包括 功能需求性能需求環(huán)境需求可靠性需求安全保密要求用戶界面需求 資源使用需求成本消耗需求開發(fā)進(jìn)度需求預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo) 8 問題識別的另一項(xiàng)工作是建立分析所需要的通信途徑 以保證能順利地對問題進(jìn)行分析 9 2 分析與綜合從信息流和信息結(jié)構(gòu)出發(fā) 逐步細(xì)化所有的軟件功能 找出系統(tǒng)各元素之間的聯(lián)系 接口特性和設(shè)計(jì)上的約束 分析它們是否滿足功能要求 是否合理 剔除其不合理的部分 增加其需要部分 最終綜合成系統(tǒng)的解決方案 給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型 10 常用的分析方法 面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法 SA 面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法 JSD 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法 DSSD 面向?qū)ο蟮姆治龇椒?OOA 等 11 3 編制需求分析階段的文檔軟件需求說明書數(shù)據(jù)要求說明書初步的用戶手冊修改 完善與確定軟件開發(fā)實(shí)施計(jì)劃 12 4 需求分析評審 系統(tǒng)定義的目標(biāo)是否與用戶的要求一致 系統(tǒng)需求分析階段提供的文檔資料是否齊全 文檔中的所有描述是否完整 清晰 準(zhǔn)確反映用戶要求 與所有其它系統(tǒng)成分的重要接口是否都已經(jīng)描述 13 被開發(fā)項(xiàng)目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否足夠 確定 所有圖表是否清楚 在不補(bǔ)充說明時(shí)能否理解 主要功能是否已包括在規(guī)定的軟件范圍之內(nèi) 是否都已充分說明 設(shè)計(jì)的約束條件或限制條件是否符合實(shí)際 開發(fā)的技術(shù)風(fēng)險(xiǎn)是什么 14 是否考慮過軟件需求的其它方案 是否考慮過將來可能會(huì)提出的軟件需求 是否詳細(xì)制定了檢驗(yàn)標(biāo)準(zhǔn) 它們能否對系統(tǒng)定義是否成功進(jìn)行確認(rèn) 15 需求分析流程 16 軟件需求分析的原則 需要能夠表達(dá)和理解問題的信息域和功能域要能以層次化的方式對問題進(jìn)行分解和不斷細(xì)化要給出系統(tǒng)的邏輯視圖和物理視圖 17 18 軟件需求規(guī)格說明的原則 從現(xiàn)實(shí)中分離功能 即描述要 做什么 而不是 怎樣實(shí)現(xiàn) 要求使用面向處理的規(guī)格說明語言 或稱系統(tǒng)定義語言 如果被開發(fā)軟件只是一個(gè)大系統(tǒng)中的一個(gè)元素 那么整個(gè)大系統(tǒng)也包括在規(guī)格說明的描述之中 19 規(guī)格說明必須包括系統(tǒng)運(yùn)行環(huán)境規(guī)格說明必須是一個(gè)認(rèn)識模型規(guī)格說明必須是可操作的規(guī)格說明必須容許不完備性并允許擴(kuò)充規(guī)格說明必須局部化和松散耦合 20 軟件需求方法 需求分析方法由對軟件問題的信息域和功能域的系統(tǒng)分析過程及其表示方法組成大多數(shù)的需求分析方法是由信息驅(qū)動(dòng)的信息域具有三種屬性 信息流 信息內(nèi)容和信息結(jié)構(gòu) 21 結(jié)構(gòu)化分析方法 面向數(shù)據(jù)流進(jìn)行需求分析的方法結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析具體來說 結(jié)構(gòu)化分析方法就是用抽象模型的概念 按照軟件內(nèi)部數(shù)據(jù)傳遞 變換的關(guān)系 自頂向下逐層分解 直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止 22 結(jié)構(gòu)化分析方法使用工具 數(shù)據(jù)流圖數(shù)據(jù)詞典結(jié)構(gòu)化英語判定表與判定樹 23 數(shù)據(jù)流圖 數(shù)據(jù)流圖中的主要圖形元素 數(shù)據(jù)加工 數(shù)據(jù)變換 數(shù)據(jù)源點(diǎn)或終點(diǎn) 外部實(shí)體 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ)文件 24 描述銀行取款過程的數(shù)據(jù)流圖 25 數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系 26 數(shù)據(jù)流圖的層次結(jié)構(gòu) 為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況 需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖 按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解 并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系 能清楚地表達(dá)和容易理解整個(gè)系統(tǒng) 27 分層的數(shù)據(jù)流圖 28 在多層數(shù)據(jù)流圖中 頂層流圖僅包含一個(gè)加工 它代表被開發(fā)系統(tǒng) 它的輸入流是該系統(tǒng)的輸入數(shù)據(jù) 輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖 它處在最底層中間層流圖則表示對其上層父圖的細(xì)化 它的每一加工可能繼續(xù)細(xì)化 形成子圖 29 結(jié)構(gòu)化分析方法步驟示例商店業(yè)務(wù)處理系統(tǒng) 30 這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型 它反映了目標(biāo)系統(tǒng)要實(shí)現(xiàn)的功能數(shù)據(jù)流圖繪制步驟首先確定系統(tǒng)的輸入和輸出根據(jù)商店業(yè)務(wù) 畫出頂層數(shù)據(jù)流圖 以反映最主要業(yè)務(wù)處理流程 31 經(jīng)過分析 商店業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有銷售 采購 會(huì)計(jì)三大項(xiàng) 主要數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是顧客和供應(yīng)商 然后從輸入端開始 根據(jù)商店業(yè)務(wù)工作流程 畫出數(shù)據(jù)流流經(jīng)的各加工框 逐步畫到輸出端 得到第一層數(shù)據(jù)流圖 32 第一層數(shù)據(jù)流圖 33 加細(xì)每一個(gè)加工框銷售細(xì)化 34 采購細(xì)化 35 檢查和修改數(shù)據(jù)流圖的原則 數(shù)據(jù)流圖上所有圖形符號只限于前述四種基本圖形元素?cái)?shù)據(jù)流圖的主圖必須包括前述四種基本元素 缺一不可數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流 36 在數(shù)據(jù)流圖中 需按層給加工框編號 編號表明該加工所處層次及上下層的親子關(guān)系規(guī)定任何一個(gè)數(shù)據(jù)流子圖必須與它上一層的一個(gè)加工對應(yīng) 兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致 此即父圖與子圖的平衡可以在數(shù)據(jù)流圖中加入物質(zhì)流 幫助用戶理解數(shù)據(jù)流圖 37 圖上每個(gè)元素都必須有名字?jǐn)?shù)據(jù)流圖中不可夾帶控制流初畫時(shí)可以忽略瑣碎的細(xì)節(jié) 以集中精力于主要數(shù)據(jù)流 38 數(shù)據(jù)詞典 數(shù)據(jù)詞典與數(shù)據(jù)流圖配合 能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述 對于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素 均加以定義 其內(nèi)容有 名字 別名或編號 分類 描述 定義 位置 其它 等 39 1 數(shù)據(jù)流詞條描述 數(shù)據(jù)流名 說明 簡要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源 來自何方數(shù)據(jù)流去向 去向何處數(shù)據(jù)流組成 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量 數(shù)據(jù)量 流通量 40 2 數(shù)據(jù)元素詞條描述 數(shù)據(jù)元素名 類型 數(shù)字 離散值 連續(xù)值 文字 編碼類型 長度 取值范圍 相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu) 41 3 數(shù)據(jù)文件詞條描述 數(shù)據(jù)文件名 簡述 存放的是什么數(shù)據(jù)輸入數(shù)據(jù) 輸出數(shù)據(jù) 數(shù)據(jù)文件組成 數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式 順序 直接 關(guān)鍵碼存取頻率 42 4 加工邏輯詞條描述 加工名 加工編號 反映該加工的層次簡要描述 加工邏輯及功能簡述輸入數(shù)據(jù)流 輸出數(shù)據(jù)流 加工邏輯 簡述加工程序 加工順序 43 5 源點(diǎn)及匯 終 點(diǎn)詞條描述 名稱 外部實(shí)體名簡要描述 什么外部實(shí)體有關(guān)數(shù)據(jù)流 數(shù)目 44 數(shù)據(jù)結(jié)構(gòu)的描述 符號含義舉例 被定義為 與x a b 或 或x a b x a b 或m n重復(fù)x a x 3 a 8 可選x a 基本數(shù)據(jù)元素x a 連結(jié)符x 1 9 45 存折格式 46 存折 戶名 所號 帳號 開戶日 性質(zhì) 印密 1 存取行 50戶名 2 字母 24所號 001 999 帳號 00000001 99999999 開戶日 年 月 日性質(zhì) 1 6 注 1 表示普通戶 5 表示工資戶等印密 0 注 印密在存折上不顯示存取行 日期 摘要 支出 存入 余額 操作 復(fù)核 47 對數(shù)據(jù)流圖的每一個(gè)基本加工 必須有一個(gè)基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則加工邏輯說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)加工邏輯說明中包含的信息應(yīng)是充足的 完備的 有用的 無冗余的 基本加工邏輯說明 48 用于寫加工邏輯說明的工具 結(jié)構(gòu)化英語判定表判定樹 49 1 結(jié)構(gòu)化英語 結(jié)構(gòu)化英語的詞匯表由英語命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF THEN ELSE CASE OF WHILE DO REPEAT UNTIL等組成 50 是一種介于自然語言和形式化語言之間的語言語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割 加工中的操作用自然語言短語來表示其基本控制結(jié)構(gòu)有三種 簡單陳述句結(jié)構(gòu) 避免復(fù)合語句 重復(fù)結(jié)構(gòu) while do或repeat until結(jié)構(gòu) 判定結(jié)構(gòu) if then else或case of結(jié)構(gòu) 51 商店業(yè)務(wù)處理系統(tǒng)中 檢查發(fā)貨單 if發(fā)貨單金額超過 500thenif欠款超過了60天then在償還欠款前不予批準(zhǔn)else 欠款未超期 發(fā)批準(zhǔn)書 發(fā)貨單else 發(fā)貨單金額未超過 500 if欠款超過60天then發(fā)批準(zhǔn)書 發(fā)貨單及賒欠報(bào)告else 欠款未超期 發(fā)批準(zhǔn)書 發(fā)貨單 52 2 判定表 如果數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值 使用判定表來描述比較合適 53 以 檢查發(fā)貨單 為例 54 55 3 判定樹 判定樹也是用來表達(dá)加工邏輯的一種工具 有時(shí)侯它比判定表更直觀 檢查發(fā)貨單 金額 500 金額 500 欠款 60天 不發(fā)出批準(zhǔn)書 欠款 60天 發(fā)貨單 發(fā)出批準(zhǔn)書 欠款 60天 發(fā)出批準(zhǔn)書 發(fā)貨單及賒欠報(bào)告 欠款 60天 發(fā)出批準(zhǔn)書 發(fā)貨單 56 原型化方法 在開發(fā)初期 要想得到一個(gè)完整準(zhǔn)確的規(guī)格說明不是一件容易的事 特別是對一些大型的軟件項(xiàng)目 用戶往往對系統(tǒng)只有一個(gè)模糊的想法 很難完全準(zhǔn)確地表達(dá)對系統(tǒng)的全面要求 軟件開發(fā)者對于所要解決的應(yīng)用問題認(rèn)識更是模糊不清 57 隨著開發(fā)工作向前推進(jìn) 用戶可能會(huì)產(chǎn)生新的要求 或因環(huán)境變化 要求系統(tǒng)也能隨之變化 開發(fā)者又可能在設(shè)計(jì)與實(shí)現(xiàn)的過程中遇到些沒有預(yù)料到的實(shí)際困難 需要以改變需求來解脫困境 因此規(guī)格說明難以完善 需求的變更 以及通信中的模糊和誤解 都會(huì)成為軟件開發(fā)順利推進(jìn)的障礙 為解決這些問題 逐漸形成了軟件系統(tǒng)的快速原型的概念 58 軟件原型的分類 在軟件開發(fā)中 原型是軟件的一個(gè)早期可運(yùn)行的版本 它反映最終系統(tǒng)的部分重要特性 探索型 目的是要弄清對目標(biāo)系統(tǒng)的要求 確定所希望的特性 并探討多種方案的可行性 59 實(shí)驗(yàn)型 這種原型用于大規(guī)模開發(fā)和實(shí)現(xiàn)之前 考核方案是否合適 規(guī)格說明是否可靠 進(jìn)化型 這種原型的目的不在于改進(jìn)規(guī)格說明 而是將系統(tǒng)建造得易于變化 在改進(jìn)原型的過程中 逐步將原型進(jìn)化成最終系統(tǒng) 60 原型使用策略 廢棄策略追加策略 61 建立快速原型 進(jìn)行系統(tǒng)的分析和構(gòu)造的好處 增進(jìn)軟件者和用戶對系統(tǒng)服務(wù)需求的理解 使比較含糊的具有不確定性的軟件需求 主要是功能 明確化 軟件原型化方法提供了一種有力的學(xué)習(xí)手段 62 使用原型化方法 可以容易地確定系統(tǒng)的性能 確認(rèn)各項(xiàng)主要系統(tǒng)服務(wù)的可應(yīng)用性 確認(rèn)系統(tǒng)設(shè)計(jì)的可行性 確認(rèn)系統(tǒng)作為產(chǎn)品的結(jié)果 軟件原型的最終版本 有的可以原封不動(dòng)地成為產(chǎn)品 有的略加修改就可以成為最終系統(tǒng)的一個(gè)組成部分 這樣有利于建成最終系統(tǒng) 63 64 65 原型開發(fā)技術(shù) 可執(zhí)行規(guī)格說明基于腳本 scenario 的設(shè)計(jì)自動(dòng)程序設(shè)計(jì)專用語言可復(fù)用 reusable 的軟件簡化假設(shè) 66 可執(zhí)行規(guī)格說明 可執(zhí)行規(guī)格說明是用于需求規(guī)格說明的一種自動(dòng)化技術(shù) 使用這種方法 人們可以直接觀察他們用語言規(guī)定的任何系統(tǒng)性行為 包括代數(shù)規(guī)格說明有限狀態(tài)模型可執(zhí)行的數(shù)據(jù)流圖 67 1 代數(shù)規(guī)格說明 代數(shù)規(guī)格說明使用集合 定義于這些集合上的函數(shù)和定義于這些函數(shù)上的方程來描述對象 規(guī)格說明的操作語義用這些方程表示 68 NEW STACK StackPUSH Stack Element StackPOP Stack Element Undefined POP NEW STACK UndefinedPOP PUSH stk elem elem其中 前三行定義了操作的語法 后兩行把它們的語義定義為一些方程 舉例 定義一個(gè)無界的棧及其操作 69 2 有限狀態(tài)模型 parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說明形式 從一個(gè)初始狀態(tài)開始接收輸入 到產(chǎn)生輸出 狀態(tài)在推移變化 施加在狀態(tài)元素上的約束確定了有效狀態(tài)的推移 70 舉例 建立用戶 程序?qū)υ?71 3 可執(zhí)行的數(shù)據(jù)流圖 數(shù)據(jù)流圖是基于結(jié)構(gòu)化開發(fā)方法的結(jié)構(gòu)化規(guī)格說明用一種可執(zhí)行的語言程序代替定義處理邏輯的結(jié)構(gòu)化英語 數(shù)據(jù)流圖就成為由可執(zhí)行語言程序模塊組成的網(wǎng)絡(luò) 在一定環(huán)境或工具的支持下就可成為一個(gè)可以執(zhí)行的原型系統(tǒng) 72 基于腳本的設(shè)計(jì) 腳本是指用戶界面的原型 一個(gè)腳本用以模擬在系統(tǒng)運(yùn)行期間用戶經(jīng)歷的事件 它提供了輸入 處理 輸出的屏幕格式和有關(guān)對話的模型 因此 軟件開發(fā)者能夠給用戶顯示系統(tǒng)的逼真的視圖 使用戶得以判斷是否符合他的意圖 73 可在任一腳本中使用一套可復(fù)用的軟件模塊 以表達(dá)某一方面的要求 可使用一種原型語言來描述原型系統(tǒng) 原型開發(fā)過程中用這種語言來定義屏幕 數(shù)據(jù)項(xiàng) 及其相關(guān)的操作 從系統(tǒng)的外部描述開始 開發(fā)與數(shù)據(jù)庫的接口 錯(cuò)誤處理和恢復(fù)過程等系統(tǒng)的與外部視圖一致的細(xì)節(jié) 74 自動(dòng)程序設(shè)計(jì) 自動(dòng)程序設(shè)計(jì)是指在程序自動(dòng)生成環(huán)境的支持下 利用計(jì)算機(jī)實(shí)現(xiàn)軟件的開發(fā) 它可以自動(dòng)地或半自動(dòng)地把用戶的非過程式問題規(guī)格說明轉(zhuǎn)換為某種高級語言程序 演繹綜合手段 基于數(shù)學(xué)推理的構(gòu)造式證明 75 程序變換手段 將一程序轉(zhuǎn)換成另一功能等價(jià)的程序 并保持其正確性不變 實(shí)例推廣手段 從實(shí)例特征出發(fā) 將它推廣為待編程序的特征 最后得到程序 過程化手段 研究甚高級語言的編譯和知識的過程化 76 專用語言 專用語言是應(yīng)用領(lǐng)域的模型化語言 在原型開發(fā)中使用專用語言 可方便用戶和軟件開發(fā)者在計(jì)劃中的系統(tǒng)特性方面的交流 77 軟件復(fù)用技術(shù) 利用可復(fù)用的模塊 做出適當(dāng)?shù)慕M合 就可得到快速構(gòu)造的原型系統(tǒng) 為了快速地構(gòu)造原型 這些模塊首先必須有簡單而清晰的界面 其次它們應(yīng)當(dāng)盡量不依賴其它的模塊或數(shù)據(jù)結(jié)構(gòu) 第三 它們應(yīng)具有一些通用的功能 78 簡化假設(shè) 簡化假設(shè)是在開發(fā)過程中使設(shè)計(jì)者迅速得到一個(gè)簡化的系統(tǒng)所做的假設(shè) 盡管這些假設(shè)可能實(shí)際上并不能成立 但它們在原型開發(fā)過程中可以使開發(fā)者的注意力集中在一些主要的方面 79 在修改一個(gè)文件時(shí) 可以假設(shè)這個(gè)文件確實(shí)存在在存取文件時(shí) 待存取的記錄總是存在一旦計(jì)劃中的系統(tǒng)滿足用戶所有的要求 就可以撤消這些假設(shè) 并追加一些細(xì)節(jié) 80 系統(tǒng)動(dòng)態(tài)分析 系統(tǒng)的需求規(guī)格說明通常是用自然語言來敘述的 但是用自然語言描述往往會(huì)出現(xiàn)歧義性 為了直觀地分析系統(tǒng)的動(dòng)作 從特定的視點(diǎn)出發(fā)描述系統(tǒng)的行為 需要采用動(dòng)態(tài)分析的方法 81 最常用的動(dòng)態(tài)分析方法 狀態(tài)遷移圖時(shí)序圖Petri網(wǎng) 82 狀態(tài)遷移圖 狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何相應(yīng)外部的信號進(jìn)行推移的一種圖形表示 圓圈 表示可得到的系統(tǒng)狀態(tài)箭頭 表示從一種狀態(tài)向另一種狀態(tài)的遷移 83 例如 當(dāng)有多個(gè)申請占用CPU運(yùn)行的進(jìn)程時(shí) 有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移 84 可得到的狀態(tài) 就緒 運(yùn)行 等待生成的事件 t1 t2 t3 t4 t1 中斷事件 t2 中斷已處理 t3 分配CPU t4 用完CPU時(shí)間 85 狀態(tài)遷移圖的優(yōu)點(diǎn) 狀態(tài)之間的關(guān)系能夠直觀地捕捉到由于狀態(tài)遷移圖的單純性 能夠機(jī)械地分析許多情況 可很容易地建立分析工具 86 在系統(tǒng)分析中 用時(shí)序圖于對比在系統(tǒng)中處理事件的時(shí)序和相應(yīng)的處理時(shí)間 在右圖中 對于事件e 功能1 功能3的處理時(shí)間總計(jì)為 T1 T2 T3 其中功能間切換時(shí)間0 時(shí)序圖 87 采用擴(kuò)充時(shí)序圖可表示進(jìn)程間的通信流 用于分析幾個(gè)事件的交錯(cuò)現(xiàn)象 C1與C2 R1與R2是交錯(cuò)的 因此 可以做如下分析 必須設(shè)計(jì)成 HOST1在等待C1的回答R1期間要能接收從HOST2發(fā)出的命令C2 88 Petri網(wǎng) Petri網(wǎng)已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開發(fā)中 它適用于描述與分析相互獨(dú)立 協(xié)同操作的處理系統(tǒng) 也就是并發(fā)執(zhí)行的處理系統(tǒng) 89 Petri網(wǎng)簡稱PNG PetriNetGraph 它有兩種結(jié)點(diǎn) 位置 place 符號為 它用來表示系統(tǒng)的狀態(tài) 轉(zhuǎn)移 transition 符號為 它用來表示系統(tǒng)中的事件 圖中的有向邊表示對轉(zhuǎn)移的輸入 或由轉(zhuǎn)移的輸出 90 標(biāo)記 或稱令牌 token 是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志 91 92 93 處理兩個(gè)進(jìn)程的同步問題 94 95 數(shù)據(jù)及數(shù)據(jù)庫需求 在數(shù)據(jù)詞典中 強(qiáng)調(diào)對數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的邏輯設(shè)計(jì) 并用數(shù)據(jù)結(jié)構(gòu)表達(dá)數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系 但任何一個(gè)軟件系統(tǒng)都可能有成千上萬個(gè)數(shù)據(jù)項(xiàng) 僅僅描述這些數(shù)據(jù)項(xiàng)是不夠的 更重要的是如何把它們以最優(yōu)的方式組織起來 以滿足系統(tǒng)對數(shù)據(jù)的要求 96 有關(guān)數(shù)據(jù)庫的基本概念 在軟件系統(tǒng)中需要處理的數(shù)據(jù)是現(xiàn)實(shí)世界中存在的事物及其聯(lián)系的反映 人們通常將與數(shù)據(jù)處理有關(guān)的的領(lǐng)域分為三個(gè)世界 現(xiàn)實(shí)世界信息世界數(shù)據(jù)世界 97 現(xiàn)實(shí)世界是存在于人們頭腦之外的客觀世界 現(xiàn)實(shí)世界中的事物可分成對象和性質(zhì)兩大類 對象可以是人 是物 還可以是實(shí)際的東西或概念的東西 例如 大學(xué) 城市等 對象還可以指事物與事物間的聯(lián)系 性質(zhì)則是指事物的性質(zhì)或特征 98 信息世界也叫做觀念世界 是現(xiàn)實(shí)世界在人們頭腦中的反映 客觀世界中的事物在信息世界中叫做實(shí)體 反映事物之間聯(lián)系的叫做實(shí)體模型 實(shí)體是由若干屬性的屬性值組成 屬性是實(shí)體某一方面的特征 相應(yīng)于事物的性質(zhì) 例如 一個(gè)學(xué)生實(shí)體是如下的一個(gè)5元組 951149 袁秋慧 女 19 軟件 99 5元組中每一元素是學(xué)生的某一屬性的屬性值 他們對應(yīng)的屬性集合是 這些屬性集合表征了 學(xué)生 實(shí)體的類型 叫做實(shí)體型 同一類型的實(shí)體的集合叫做實(shí)體集 數(shù)據(jù)世界則是信息世界中信息的數(shù)據(jù)化 現(xiàn)實(shí)世界中的事物及其聯(lián)系在數(shù)據(jù)世界中用數(shù)據(jù)模型描述 學(xué)號 姓名 性別 年齡 專業(yè) 100 描述每一實(shí)體的數(shù)據(jù)稱為記錄 描述屬性的數(shù)據(jù)叫做數(shù)據(jù)項(xiàng)或字段 與實(shí)體集相對應(yīng)的稱為文件 例如 學(xué)生文件就由多個(gè)記錄組成 這些記錄放在一起構(gòu)成一個(gè)二維表 表中每一橫排叫做一個(gè)記錄或元組 每一縱列叫做一個(gè)屬性 101 102 記錄由數(shù)據(jù)項(xiàng)組成 正如實(shí)體由若干屬性的屬性值組成一樣 一般數(shù)據(jù)項(xiàng)沿用屬性名 用做屬性名時(shí)表示觀念信息 用做數(shù)據(jù)項(xiàng)名時(shí)表示數(shù)據(jù)信息 每個(gè)數(shù)據(jù)項(xiàng)包括兩個(gè)特征 即數(shù)據(jù)類型和數(shù)據(jù)長度 若干同類型的記錄構(gòu)成文件 為了對文件中的記錄有效組織和存取 通常指定一個(gè)數(shù)據(jù)項(xiàng)進(jìn)行區(qū)別 這個(gè)數(shù)據(jù)項(xiàng)叫做關(guān)鍵字 103 E R方法 Entity RelationshipApproach 和實(shí)體模型 在需求分析階段進(jìn)行數(shù)據(jù)庫邏輯設(shè)計(jì)過程中 使用E R圖 可定義一個(gè)實(shí)體模型 實(shí)體模型是現(xiàn)實(shí)世界的純表示 它不涉及數(shù)據(jù)世界的數(shù)據(jù)結(jié)構(gòu) 存取路徑 存取效率等問題 因此 它可以轉(zhuǎn)換成數(shù)據(jù)庫中的數(shù)據(jù)模型 104 數(shù)據(jù)可以按相應(yīng)數(shù)據(jù)模型進(jìn)行組織 E R圖中表示實(shí)體聯(lián)系的符號如下 105 在E R圖中 每個(gè)方框表示實(shí)體型或?qū)傩?方框之間的連線表示實(shí)體之間 或?qū)嶓w與屬性之間的聯(lián)系 出現(xiàn)在連線上的短豎線可以看成是 1 而圓圈隱含表示 0 例如 在教學(xué)管理中 一個(gè)教師可以教授零門 一門或多門課程 每位學(xué)生也需要學(xué)習(xí)幾門課程 因此 教學(xué)管理中涉及的對象 實(shí)體型 有學(xué)生 教師和課程 106 用E R圖描述它們之間的聯(lián)系 得下圖 其中 學(xué)生與課程是多對多的聯(lián)系 而教師與課程的聯(lián)系是零 一對多 107 進(jìn)一步 要確定屬性 例如 學(xué)生具有學(xué)號 姓名 性別 年齡 專業(yè) 其它略 等屬性 課程具有課程號 課程名 學(xué)分 學(xué)時(shí)數(shù)等屬性 教師具有職工號 姓名 年齡 職稱等屬性 此外 學(xué)生通過學(xué)號 分?jǐn)?shù)與課程發(fā)生聯(lián)系 如此可得教學(xué)實(shí)體模型 108 教學(xué)實(shí)體模型 109 數(shù)據(jù)結(jié)構(gòu)的規(guī)范化 信息域分析需要確定數(shù)據(jù)的內(nèi)容 每個(gè)數(shù)據(jù)項(xiàng)要用表格列出 最后組織成文件的邏輯結(jié)構(gòu) 即面向應(yīng)用而不是面向存儲(chǔ)的結(jié)構(gòu) 為了便于數(shù)據(jù)庫的設(shè)計(jì) 常常要對這種結(jié)構(gòu)做一些簡化 其中最常見的一種方法就是規(guī)范化技術(shù) 110 規(guī)范化 將數(shù)據(jù)的邏輯結(jié)構(gòu)歸結(jié)為滿足一定條件的二維表 關(guān)系 表格中每個(gè)信息項(xiàng)必須是一個(gè)不可分割的數(shù)據(jù)項(xiàng) 不可是組項(xiàng) 表格中每一列 列表示屬性 中所有信息項(xiàng)必須是同一類型 各列的名字 屬性名 互異 列的次序任意 表格中各行 行表示元組 互不相同 行的次序任意 111 不滿足上述要求的二維表或關(guān)系 叫做非規(guī)范化關(guān)系 對于非規(guī)范化的關(guān)系 必須將它規(guī)范化 即利用更單純 更規(guī)則的關(guān)系來代替原來的關(guān)系 規(guī)范化的目的是 消除數(shù)據(jù)冗余 即消除表格中數(shù)據(jù)的重復(fù) 消除多義性 使關(guān)系中的屬性含義清楚 單一 112 使關(guān)系的 概念 單一化 讓每個(gè)數(shù)據(jù)項(xiàng)只是一個(gè)簡單的數(shù)或字符串 而不是一個(gè)組項(xiàng)或重復(fù)組 方便操作 使數(shù)據(jù)的插入 刪除與修改操作可行并方便 使關(guān)系模式更靈活 易于實(shí)現(xiàn)接近自然語言的查詢方式 113 用教學(xué)管理例說明如何規(guī)范化 有三個(gè)實(shí)體型 即課程 學(xué)生和教師 用三個(gè)關(guān)系保存它們的信息 學(xué)生 學(xué)號 姓名 性別 年齡 專業(yè) 籍貫 教師 職工號 姓名 年齡 職稱 工資級別 工資 課程 課程號 課程名 學(xué)分 學(xué)時(shí) 課程類型 114 為表示實(shí)體型之間的聯(lián)系 又建立兩個(gè)關(guān)系 選課 學(xué)號 課程號 聽課出勤率 作業(yè)完成率 分?jǐn)?shù) 教課 職工號 課程號 這五個(gè)關(guān)系 組成了數(shù)據(jù)庫的模型 在每個(gè)關(guān)系中 屬性名下加下劃線 指明關(guān)鍵字 并規(guī)定關(guān)鍵字能唯一地標(biāo)識一個(gè)元組 115 關(guān)系規(guī)范化的程度 通常按屬性間的依賴程度來區(qū)分 并以范式NF NormalForm 來表達(dá) 常用的范式分為第一范式 1NF 第二范式 2NF 和第三范式 3NF 設(shè) 是一個(gè)關(guān)系 和 是 中的兩個(gè)屬性 若對于 的任一個(gè)值 僅有一個(gè)值與之對應(yīng) 則稱 的屬性 函數(shù)依賴于屬性 例如 116 教師 職工號 姓名 年齡 其中 屬性 姓名 年齡 等都函數(shù)依賴于屬性 職工號 屬性 可以是復(fù)合屬性 如 選課 學(xué)號 課程號 聽課出勤率 117 如果屬性 函數(shù)依賴于復(fù)合屬性 而不與 的任何真子集
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國合式放大鏡數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國PVC地毯保護(hù)地墊數(shù)據(jù)監(jiān)測研究報(bào)告
- 郵政面試筆試題及答案
- 專題5 功和簡單機(jī)械 2021年和2022年江蘇省南通市中考物理模擬試題匯編
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識自我檢測試卷A卷附答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)真題練習(xí)試卷A卷附答案
- 酒店合同范本(2篇)
- 2023年黑龍江公務(wù)員《行政職業(yè)能力測驗(yàn)》試題真題及答案
- 環(huán)境保護(hù)與可持續(xù)發(fā)展知識點(diǎn)測試
- 語文課本里的經(jīng)典詩文賞析
- 《澳大利亞》導(dǎo)學(xué)案
- 2025四川省安全員A證考試題庫附答案
- 2025年高考語文備考訓(xùn)練之社會(huì)現(xiàn)象:“數(shù)字囤積癥”
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫帶答案
- 蘇教版三年級科學(xué)下冊第一單元第3課《植物開花了》課件
- 休閑海島開發(fā)策劃方案
- DB36-T 2097-2024 固定資產(chǎn)投資項(xiàng)目節(jié)能報(bào)告編制規(guī)范
- 健康與保健課件
- 《運(yùn)營管理 第7版》課件全套 馬風(fēng)才 第01-15章 運(yùn)營管理概論- 互聯(lián)網(wǎng)運(yùn)營
- 課件-DeepSeek從入門到精通
- 2025年度典型火災(zāi)案例及消防安全知識專題培訓(xùn)
評論
0/150
提交評論