版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件需求工程3第三 章第三章 軟件需求工程33.1 軟件需求分析的根本概念3.2 結(jié)構(gòu)化分析方法3.3 原型化方法3.4 驗(yàn)證軟件需求學(xué)習(xí)目的與要求: 掌握需求分析的任務(wù)、原那么、步驟以及獲取需求的方法; 理解結(jié)構(gòu)化分析方法的根本思想; 熟練應(yīng)用數(shù)據(jù)詞典和加工邏輯說明; 掌握建模方法。第三章 軟件需求工程(維護(hù)報(bào)告)問題定義編 碼需求分析設(shè) 計(jì)可行性研究運(yùn)行與維護(hù)測(cè) 試開發(fā)時(shí)期運(yùn)行時(shí)期計(jì)劃時(shí)期(目標(biāo)與范圍說明書)(可行性論證論告)(測(cè)試報(bào)告)(程序)(設(shè)計(jì)文檔)(需求說明書)瀑布模型軟件需求分析是軟件生命期中重要的一步,也是決定性的一步。3.1 軟件需求分析的根本概念 對(duì)系統(tǒng)應(yīng)該提供的效勞和所
2、受到的約束進(jìn)行理解、分析、建立文檔、檢驗(yàn)的過程需求工程1.什么是軟件需求工程?2.軟件需求分析的任務(wù)是什么?3.需求工程過程4.軟件需求分析方法3.1 軟件需求分析的根本概念 3.1.1 軟件需求分析的任務(wù)需求分析階段的任務(wù):在可行性分析的根底上,進(jìn)一步了解確定用戶需求。準(zhǔn)確地答復(fù) “系統(tǒng)必須做什么? 的問題。獲得需求規(guī)格說明書。 Boehm對(duì)軟件需求的定義:研究一種無(wú)二義性的表達(dá)工具,它能為用戶和軟件人員雙方都接受并能夠把“需求嚴(yán)格地、形式地表達(dá)出來。由于需求分析方法不同,描述形式不同。其實(shí)現(xiàn)步驟如以下圖所示: 當(dāng)前系統(tǒng)模型化目標(biāo)系統(tǒng)物理模型具體化物理模型抽象化邏輯模型實(shí)例化邏輯模型做什么導(dǎo)
3、出理解需求 表達(dá)需求3.1.1 軟件需求分析的任務(wù)軟 件需 求用 戶需 求系 統(tǒng)需 求功能需求非功能需求領(lǐng)域需求1、確定對(duì)系統(tǒng)的綜合要求2、分析系統(tǒng)的數(shù)據(jù)要求3、導(dǎo)出系統(tǒng)的邏輯模型4、修正系統(tǒng)開發(fā)方案5、開發(fā)原型系統(tǒng)樣機(jī)模型6、編寫軟件需求規(guī)格說明書任務(wù)分解3.1.1 軟件需求分析的任務(wù)3.1.1.1 軟件需求分析的任務(wù)-確定對(duì)系統(tǒng)的綜合要求3.1.1.1 確定對(duì)系統(tǒng)的綜合要求功能需求 (2) 性能需求(3) 環(huán)境需求(4) 界面需求(n將來可能提出的要求3.1.1.1 軟件需求分析的任務(wù)-確定對(duì)系統(tǒng)的綜合要求3.1.1.1 確定對(duì)系統(tǒng)的綜合要求(1) 功能需求 系統(tǒng)做什么? 系統(tǒng)何時(shí)做什么?
4、 系統(tǒng)何時(shí)及如何修改或升級(jí)?(2) 性能需求 軟件開發(fā)的技術(shù)性指標(biāo)例如: 存儲(chǔ)容量限制 執(zhí)行速度、相應(yīng)時(shí)間 吞吐量3.1.1.1 軟件需求分析的任務(wù)-確定對(duì)系統(tǒng)的綜合要求3.1.1.1 確定對(duì)系統(tǒng)的綜合要求(3) 環(huán)境需求 硬件設(shè)備:機(jī)型、外設(shè)、接口、地點(diǎn)、 分布、溫度、濕度、磁場(chǎng)干擾等軟件: 操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)(4) 界面需求 有來自其它系統(tǒng)的輸入嗎?有到自其它系統(tǒng)的輸出嗎? 對(duì)數(shù)據(jù)格式有規(guī)定嗎? 對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)有規(guī)定嗎?3.1.1.1 軟件需求分析的任務(wù)-分析系統(tǒng)的數(shù)據(jù)要求3.1.1.2 分析系統(tǒng)的數(shù)據(jù)要求 軟件需求分析的一個(gè)重要任務(wù)是分析系統(tǒng)的數(shù)據(jù)要求。通常采用建立概念模型的方法,并
5、輔助圖形工具,如:層次方框圖、Warnier圖等。 復(fù)雜的數(shù)據(jù)由許多根本的數(shù)據(jù)元素組成,數(shù)據(jù)元素之間的邏輯關(guān)系用數(shù)據(jù)結(jié)構(gòu)表示。利用數(shù)據(jù)字典可以全面準(zhǔn)確地定義數(shù)據(jù),但是不夠形象直觀缺點(diǎn)。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方框圖和Warnier圖。 軟件系統(tǒng)經(jīng)常使用各種長(zhǎng)期保存的信息,這些信息通常以一定的方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中,為減少數(shù)據(jù)冗余,需要簡(jiǎn)化修改數(shù)據(jù)的過程,通常需要把數(shù)據(jù)結(jié)構(gòu)標(biāo)準(zhǔn)化。 3.1.1.1 軟件需求分析的任務(wù)-導(dǎo)出系統(tǒng)的邏輯模型3.1.1.3 導(dǎo)出系統(tǒng)的邏輯模型 根據(jù)系統(tǒng)的綜合要求和系統(tǒng)的數(shù)據(jù)要求的結(jié)果,導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型。通
6、常用數(shù)據(jù)流圖、數(shù)據(jù)字典和主要的處理算法描述。3.1.1.1 軟件需求分析的任務(wù)-修正系統(tǒng)開發(fā)方案3.1.1.4 修正系統(tǒng)開發(fā)方案 在分析過程中對(duì)系統(tǒng)更深入更具體的了解,可以比較準(zhǔn)確地估計(jì)系統(tǒng)的本錢和進(jìn)度,修正以前制定的開發(fā)方案3.1.1.1 軟件需求分析的任務(wù)-開發(fā)原型系統(tǒng)樣機(jī)模型3.1.1.5 開發(fā)原型系統(tǒng)樣機(jī)模型 在第一章我們講過軟件開發(fā)三種模型當(dāng)中,有一種原型模型也稱樣機(jī)模型。在需求分析當(dāng)中,使用樣機(jī)的主要目的是:使用戶通過實(shí)踐獲得關(guān)于未來的系統(tǒng)將怎樣為他們工作的更直接更具體的概念,從而可以更準(zhǔn)確地提出和解決他們的要求。 3.1.1.1 軟件需求分析的任務(wù)-編寫軟件需求規(guī)格說明書3.1.
7、1.6 編寫軟件需求規(guī)格說明書編寫提綱見下表1、引言 1.1 目的 1.2 背景 1.3 定義 1.4 參考資料2、工程概述 2.1 產(chǎn)品描述 2.2 產(chǎn)品功能 2.3 用戶特點(diǎn) 2.4 一般約束 2.5 假設(shè)與依據(jù)3、具體需求 3.1 功能需求 3.1.1 規(guī)格說明 3.1.1.1 引言 3.1.1.2 輸入 3.1.1.3 輸出 3.1.1.4 加工 3.1.2 外部接口 3.1.2.1 用戶接口 3.1.2.2 硬件接口 3.1.2.3 軟件接口 3.1.2.4 通訊接口 3.2 性能需求 3.2.1 數(shù)據(jù)精度 3.2.2 時(shí)間特性 3.2.3 適應(yīng)性3.3 設(shè)計(jì)約束3.4 屬性需求 3
8、.4.1 平安性 3.4.2 可維護(hù)性 3.4.3 保密性 附錄索引3.1.2 需求工程過程 問題識(shí)別分析與綜合編寫文檔分析評(píng)審3.1.2 需求分析過程可行性研究需求導(dǎo)出和分析需求描述需求有效性驗(yàn)證可行性報(bào)告系統(tǒng)模型用戶需求和系統(tǒng)需求需求文擋近幾年來已提出許多軟件需求分析與說明的方法,每一種分析方法都有獨(dú)特的觀點(diǎn)和表示方法,但都適用下面的根本原那么。 3.1.3 需求分析的原那么3.1.3 需求分析的原那么1、能夠表達(dá)和理解問題的信息域和功能域?qū)τ谟?jì)算機(jī)程序處理的數(shù)據(jù),其信息域包括信息流如以下圖,即數(shù)據(jù)通過一個(gè)系統(tǒng)時(shí)的變化方式)、信息內(nèi)容和信息結(jié)構(gòu),而功能域反映上述三方面的控制信息。數(shù)據(jù)存儲(chǔ)轉(zhuǎn)
9、換1轉(zhuǎn)換2附加數(shù)據(jù)輸入數(shù)據(jù)中間數(shù)據(jù)結(jié)果數(shù)據(jù)3.1.3 需求分析的原那么2、能夠?qū)栴}進(jìn)行分解和不斷細(xì)化,建立問題的層次結(jié)構(gòu)。3、需要給出系統(tǒng)的邏輯視圖和物理視圖軟件需求的邏輯視圖給出的是軟件要到達(dá)的功能和要處理信息之間的關(guān)系,而不是實(shí)現(xiàn)的細(xì)節(jié)。軟件需求的物理視圖給出的是處理功能和信息結(jié)構(gòu)的實(shí)際表現(xiàn)形式,這往往是由設(shè)備本身決定的。 3.1.4 需求分析方法不同的開發(fā)方法,需求分析的方法也有所不同,常見的分析方法有:3.1.4 需求分析方法功能分析方法 將系統(tǒng)看作若干功能模塊的集合,每個(gè)功能又可以分解為若干子功能,子功能還可繼續(xù)分解,分解的結(jié)果已經(jīng)是系統(tǒng)的雛形。面向?qū)ο蟮姆治龇椒?面向?qū)ο蟮姆治龇?/p>
10、法(OOA)的關(guān)鍵是識(shí)別問題域內(nèi)的對(duì)象,分析它們之間的關(guān)系,并建立起三類模型。信息建模法 是從數(shù)據(jù)的角度對(duì)現(xiàn)實(shí)世界建立模型的,基本工具是ER圖。結(jié)構(gòu)化分析方法 是一種以數(shù)據(jù)、數(shù)據(jù)的封閉性為基礎(chǔ),從問題空間到某種表示的映射方法,由數(shù)據(jù)流圖(DFD圖)表示。 結(jié)構(gòu)化開發(fā)方法Structured Developing Method是現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速,自然和方便。結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精。它的根本原那么是功能的分解與抽象。3.2 結(jié)構(gòu)化分析方法結(jié)構(gòu)化開發(fā)方法的組成 70年代初 結(jié)構(gòu)化程序設(shè)計(jì)方法 SP法Structured Program 7
11、0年代中 結(jié)構(gòu)化設(shè)計(jì)方法 SD法Structured Design 70年代末 結(jié)構(gòu)化分析方法 SA法Structured Analysis SA,SD,SP 法相互銜接,形成了一整套開發(fā)方法。假設(shè)將SA,SD 法結(jié)合起來,又稱為結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)SADT 技術(shù)。 3.2.1 SA法概述分解:對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可以把大問題分解成假設(shè)干小問題,然后分別解決如右圖。一、SA法的根本思想 結(jié)構(gòu)化分析方法的根本思想是“分解和“抽象。抽象:分解可以分層進(jìn)行,即先考慮問題最本質(zhì)的屬性,暫把細(xì)節(jié)略去,以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)
12、系統(tǒng)的方法就是“抽象。3.2.1 SA法的概述1.11.21.3x2132.12.22.31.11.31、建立當(dāng)前系統(tǒng)的“具體模型。 根本思想與步驟三、SA法的描述方法1、分層的數(shù)據(jù)流圖2、數(shù)據(jù)詞典3、描述加工邏輯的結(jié)構(gòu)化語(yǔ)言、判定表及判定樹3.2.1 SA法的概念二、SA法的步驟4、為了對(duì)目標(biāo)系統(tǒng)做完整的描述,還需要考慮人機(jī)界面和其他一些問題。3、建立目標(biāo)系統(tǒng)的邏輯模型。2、抽象出當(dāng)前系統(tǒng)的邏輯模型。顧客出版社驗(yàn)證訂單匯總訂單訂單出版社 訂單圖書目錄文件顧客檔案待處理訂單文件正確訂單一批訂單出版社檔案文件訂貨存根文件DFD圖的例子加工名編號(hào)加工名編號(hào)文件名文件名顧客出版社驗(yàn)證訂單匯總訂單訂單
13、出版社 訂單圖書目錄文件顧客檔案待處理訂單文件正確訂單一批訂單出版社檔案文件訂貨存根文件畫圖步驟 : 1、確定外部實(shí)體及輸入、輸出數(shù)據(jù)流。 2、確定分解頂層的加工。 3、確定使用的文件。 4、用數(shù)據(jù)流將各局部連接起來,形成數(shù)據(jù)封閉。注意:標(biāo)注各加工框及數(shù)據(jù)流名稱。例1:圖書預(yù)定系統(tǒng)頂層DFD圖3.2.2 數(shù)據(jù)流圖數(shù)據(jù)流圖Data Flow Diagram,DFD是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。數(shù)據(jù)存儲(chǔ)數(shù)據(jù)源點(diǎn)或終點(diǎn)加 工加工名數(shù)據(jù)流數(shù)據(jù)流名文件名實(shí)體名箭 頭圓或橢圓單或雙杠矩形框還有一些輔助的圖例:3.2.2 分
14、層的數(shù)據(jù)流圖一、數(shù)據(jù)流圖的圖符四種根本圖形符號(hào):TAB*CTAB*CTAB+CTAB+CTABC+TABC+* 與 + 或互斥+ “先全局后局部,先整體后細(xì)節(jié),先抽象后具體 通常可將這種分層的DFD圖,分為頂層、中間層、底層。 具體步驟: 1。先確定系統(tǒng)范圍,畫出頂層的DFD圖。 2。逐層分解頂層DFD圖,獲得假設(shè)干中間層DFD圖。 3。畫出底層的DFD圖。 3.2.3 畫分層DFD圖的方法 頂層圖說明了系統(tǒng)的邊界,即系統(tǒng)的輸入和輸出數(shù)據(jù)流,頂層圖只有一張。底層圖由一些不能再分解的加工組成,這些加工都已足夠簡(jiǎn)單,稱為根本加工。在頂層和底層之間的是中間層。中間層的數(shù)據(jù)流圖描述了某個(gè)加工的分解,而
15、它的組成局部又要進(jìn)一步分解。 畫各層DFD圖時(shí),“由外向內(nèi)。X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1頂層中 間 層底 層先全局后局部,先整體后細(xì)節(jié),先抽象后具體.0圖1圖2圖1.1圖2.1圖2.2圖分層DFD 圖經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥血壓、體溫、脈搏等。2、定時(shí)更新病歷。3、病員出現(xiàn)異常情況時(shí)報(bào)警。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。3.2.4 實(shí)例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)產(chǎn)生病情報(bào)告監(jiān)視病情更新病歷3.2.4 實(shí)例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)系統(tǒng)功能要求: 1、監(jiān)視病員的病癥血壓、體溫、脈搏等
16、 2、定時(shí)更新病歷 3、病員出現(xiàn)異常情況時(shí)報(bào)警。 4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。頂層:病員護(hù)士護(hù)士病員監(jiān)護(hù)系統(tǒng)病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警例2 醫(yī)院病房監(jiān)護(hù)系統(tǒng)第一層:病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號(hào)極限值1324日志數(shù)據(jù)日志數(shù)據(jù)醫(yī)院病房監(jiān)護(hù)系統(tǒng)頂層DFD圖第二層:加工“中央監(jiān)視分解計(jì)算超過極限值否病員數(shù)據(jù)超過極限值報(bào)警開解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.13.23.33.4醫(yī)院病房監(jiān)護(hù)系統(tǒng)二層DFD圖計(jì)算超過極限值否病員
17、數(shù)據(jù)超過極限值報(bào)警開解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫、脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.13.23.33.4第二層:加工“中央監(jiān)視”分解醫(yī)院病房監(jiān)護(hù)系統(tǒng)分層DFD圖圖 2.15第一層格式化病員數(shù)據(jù)生理信號(hào)極限值病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)圖 2.16加工分解的原那么自然性:概念上合理、清晰; 均勻性:理想的分解是將一個(gè)問題分解成大小均勻的幾個(gè)局部;分解度:一般每一個(gè)加工每次分解最多不要超過個(gè)子加工,分解應(yīng)分解到根本加工為止。3.2.5 畫分層DFD圖的根本原那么數(shù)據(jù)守
18、恒與數(shù)據(jù)封閉原那么 所謂數(shù)據(jù)守恒是指加工的輸入輸出數(shù)據(jù)流是否匹配,即每一個(gè)加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流?;蛘哒f一個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流,一個(gè)輸出數(shù)據(jù)流。 數(shù)據(jù)封閉是對(duì)整個(gè)系統(tǒng)而言。合理使用文件 當(dāng)文件作為某些加工之間的交界面時(shí),文件必須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同時(shí)表達(dá)出來。注意DFD圖不是流程圖,不表示軟件的控制流程。3.2.5 畫分層DFD圖的根本原那么子圖與父圖的“平衡父圖中某個(gè)加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)的子圖的輸入輸出相同(相對(duì)應(yīng),分層數(shù)據(jù)流圖的這種特點(diǎn)稱為子圖與父圖“平衡。3.2.6 分層DFD圖的改進(jìn) DFD圖必
19、須經(jīng)過反復(fù)修改,才能獲得最終的目標(biāo)系統(tǒng)的邏輯模型目標(biāo)系統(tǒng)的DFD圖??蓮囊韵路矫婵紤]DFD圖的改進(jìn): 1、檢查數(shù)據(jù)流的正確性 數(shù)據(jù)守恒 子圖、父圖的平衡 文件使用是否合理。特別注意輸入/出文件的數(shù)據(jù)流。 2、改進(jìn)DFD圖的易理解性 簡(jiǎn)化加工之間的聯(lián)系加工間的數(shù)據(jù)流越少,獨(dú)立性越強(qiáng),易理解性越好。 改進(jìn)分解的均勻性。 適當(dāng)命名各成分名稱無(wú)二義性,準(zhǔn)確、具體。 分層數(shù)據(jù)流圖只是表達(dá)了系統(tǒng)的“分解,為了完整地描述這個(gè)系統(tǒng),還需借助“數(shù)據(jù)詞典和“小說明對(duì)圖中的每個(gè)數(shù)據(jù)和加工給出解釋。 對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合構(gòu)成了數(shù)據(jù)詞典。詞典中可有以下四種類型的條目:3.2.7 數(shù)據(jù)詞典(DD) 數(shù)據(jù)
20、流 文件 數(shù)據(jù)項(xiàng) 加工 A、 數(shù)據(jù)流條目給出某個(gè)數(shù)據(jù)流的定義,通常是列出該 數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng)。 例如:報(bào)名單姓名單位名年齡性別課程名 常用符號(hào):、C、 數(shù)據(jù)項(xiàng)條目 數(shù)據(jù)項(xiàng)條目給出某個(gè)數(shù)據(jù)單項(xiàng)的定義,通常是數(shù)據(jù)項(xiàng)的值類型,允許的取值范圍。B、文件條目給出某個(gè)文件的定義,同數(shù)據(jù)流一樣,文件的定義通常是列出文件記錄的組成數(shù)據(jù)流例如某銷售系統(tǒng)的訂單文件:訂單文件訂單編號(hào)顧客名稱產(chǎn)品名稱訂貨數(shù)量交貨日期D. 加工條目加工類條目就是“加工小說明。一般應(yīng)該單獨(dú)列出。3.2.8 加工說明結(jié)構(gòu)化語(yǔ)言判定表判定樹圖形工具E-R圖-概念模型 對(duì)數(shù)據(jù)流圖中每一個(gè)不能再分解的根本加工都必須有一個(gè)小說明給出這個(gè)加工的
21、精確描述。小說明中應(yīng)精確地描述加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率和出錯(cuò)處理等。加工邏輯是其中最根本的局部,是指用戶對(duì)這個(gè)加工的邏輯要求。 結(jié)構(gòu)化需求分析工具如下,其中對(duì)根本加工說明有三種描述方式: 結(jié)構(gòu)化語(yǔ)言是介于自然語(yǔ)言和形式語(yǔ)言之間的一種半形式語(yǔ)言,它是自然語(yǔ)言的一個(gè)受限制的子集。一般分為兩層結(jié)構(gòu):外層語(yǔ)法較具體,為控制結(jié)構(gòu)順序、選擇、循環(huán),內(nèi)層較靈活,表達(dá)“做什么。一、 結(jié)構(gòu)化語(yǔ)言例如:外層可為以下結(jié)構(gòu):1、順序結(jié)構(gòu)2、選擇結(jié)構(gòu) IFTHEN-ELSE; CASE-OF-ENDCASE;3、循環(huán)結(jié)構(gòu) WHILE-DO; REPEAT-UNTIL 結(jié)構(gòu)化語(yǔ)言舉例IF the Cur
22、rentCapitalValue is less then $1000 Then Set DepreciatedAmount to CurrentCapitalValue. Set CurrentCapitalValue to zero. Otherwise Set DepreciatedAmount to 10% of CurrentCapitalValue. Reduce Current Capital-Value by 10%.結(jié)構(gòu)化語(yǔ)言特點(diǎn):簡(jiǎn)單,易學(xué),少二義性。不好處理組合條件。例:一圖書銷售系統(tǒng),其中一加工為“優(yōu)惠處理,條件是:顧客的營(yíng)業(yè)額大于1000元,同時(shí)必須信譽(yù)好,或者雖然信
23、譽(yù)不好,但是20年以上的老主顧。應(yīng)用舉例一用結(jié)構(gòu)化語(yǔ)言來描述: 如果 營(yíng)業(yè)額大于1000元 同時(shí) 如果信譽(yù)好 那么 優(yōu)惠處理。 否那么 正常處理。 否那么 信譽(yù)不好 但是20年以上的老主顧,那么優(yōu)惠處理。 否那么 營(yíng)業(yè)額小于、等于1000元 那么 正常處理。顯然,用結(jié)構(gòu)化語(yǔ)言來描述組合條件不清晰。應(yīng)用舉例二IF 發(fā)貨單金額超過$500 THEN IF 欠款超過了60天 THEN 在歸還欠款前不予批準(zhǔn) ELSE 欠款未超期 發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE 發(fā)貨單金額未超過$500 IF 欠款超過60天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告 ELSE 欠款未超期 發(fā)批準(zhǔn)書,發(fā)貨單 ENDIF
24、ENDIF商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單應(yīng)用舉例三IF 文化是小學(xué) THEN IF 年齡18歲 THEN 脫產(chǎn)學(xué)習(xí) ELSE IF 18歲年齡40歲 THEN IF 性別是男 THEN 鉗工 ELSE 車工 ELSE 材料員ELSE IF 文化是中學(xué) THEN IF 年齡18歲 THEN 電工 ELSE IF 18歲年齡40歲 THEN IF 性別是男 THEN 鉗工 ELSE 車工 ELSE 材料員 ELSE 技術(shù)員 職工分配工作: 判定表是一種二維的表格,常用于較復(fù)雜的組合條件與結(jié)構(gòu)化語(yǔ)言比較。 條件框 條件條目 操作框 操作條目二、 判定表特點(diǎn):可處理較復(fù)雜的組合條件,但不易理解.不易輸
25、入計(jì)算機(jī)。通常由四局部組成。條件框 條件定義。操作框 操作的定義。條件條目 各條件的取值及組合。操作條目 在各條件取值組合下所執(zhí)行的操作。例如: 對(duì)商店每天的營(yíng)業(yè)額所收稅率營(yíng)業(yè)額X ()1000X50005000 X1000元 Y Y Y N 信譽(yù)好 Y N N - 20 年 - Y N - 優(yōu) 惠 X X 正 常 X X 化簡(jiǎn)后 1 2 3 4 5 6 7 8 1000元 Y Y Y Y N N N N 信譽(yù)好 Y Y N N Y Y N N20 年 Y N Y N Y N Y N優(yōu) 惠 X X X正 常 X X X X XY-滿足條件 N-不滿足條件 X-選中判定的結(jié)論判定表應(yīng)用舉例判定表
26、應(yīng)用舉例以“檢查發(fā)貨單為例判定表應(yīng)用舉例例:航空行李托運(yùn)費(fèi)的算法按規(guī)定:重量不超過30公斤的行李可免費(fèi)托運(yùn)。重量超過30公斤時(shí),對(duì)超運(yùn)局部,頭等艙國(guó)內(nèi)乘客收4元/公斤;其它艙位國(guó)內(nèi)乘客收6元/公斤;外國(guó)乘客收費(fèi)為國(guó)內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的1/2。 判定表應(yīng)用舉例RulesRule numbers Condition rowsAction rows判定表應(yīng)用舉例旅游時(shí)間訂 票 量折 扣 量79,12月16,10,11月2020 20 20 15% 5% 20% 30%處理名:計(jì)算折扣率(MHGP534MD)編號(hào)激活條件:收到預(yù)訂票信息處理邏輯:計(jì)算折扣率執(zhí)行頻率: 實(shí)時(shí)判定表應(yīng)用
27、舉例 例如:某人事部門對(duì)職工分配工作的原那么如下:年齡 文化 性別 分配政策18歲18歲,40歲40歲小學(xué)中學(xué)大學(xué)小學(xué)中學(xué)大學(xué)小學(xué)中學(xué)大學(xué)男(女)男(女)男女男(女)男(女)男(女)男(女)脫產(chǎn)學(xué)習(xí)電工鉗工車工技術(shù)員材料員材料員技術(shù)員判定表應(yīng)用舉例分析:性別C1 年齡C2 文化C3 0 男,1 女0 18歲1 18歲, 1000元 1000元 正常處理好的支付信譽(yù) 優(yōu)惠處理壞的支付信譽(yù) 20年 優(yōu)惠處理 30行李重量W 30免費(fèi)國(guó)內(nèi)乘客外國(guó)乘客頭等艙其他艙殘疾乘客正常乘客(W-30) 2(W-30) 4殘疾乘客正常乘客(W-30) 3(W-30) 6頭等艙其他艙殘疾乘客正常乘客(W-30) 4
28、(W-30) 8殘疾乘客正常乘客(W-30) 6(W-30) 12用判定樹表示計(jì)算行李費(fèi)的算法三、 判定樹舉例 判定樹是判定表的變種,可以省去許多不必要的條件組合,更適合結(jié)構(gòu)化語(yǔ)言的表達(dá)。上表的判定表改為判定樹如以下圖:文化小學(xué)18歲18且40歲40歲學(xué)習(xí)鉗工車工材料員男女中學(xué)18歲18且40歲40歲男女鉗工車工材料員電工大學(xué)技術(shù)員政策年齡性別分配職工工作分配的判定樹四、 圖形工具IPO(Input Process Output)圖 IPO圖是輸入/處理/輸出圖的簡(jiǎn)稱,能夠方便地描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。常用于對(duì)當(dāng)前系統(tǒng)簡(jiǎn)單的算法描述。這種描述比較粗糙,隱含了詳細(xì)的數(shù)據(jù)流
29、。 根本形式是:在左方框中列出輸入數(shù)據(jù),中間列出加工處理的條目,右方框中列出輸出數(shù)據(jù)條目,各框之間用粗箭頭表示數(shù)據(jù)通訊信息。例如:教材銷售管理系統(tǒng)IPO圖。如以下圖審查購(gòu)書申請(qǐng)開購(gòu)書票打印領(lǐng)書單缺書處理購(gòu)書申請(qǐng)學(xué)生用書表教材庫(kù)存領(lǐng)書單補(bǔ)購(gòu)?fù)ㄖ膸?kù)存InputProcessOutput四、 圖形工具IPO圖 在實(shí)際應(yīng)用中,可以采用一種叫做改進(jìn)的IPO圖 ,圖中附加些信息。見以下圖。 IPO表系統(tǒng):_ _模型:_日期:_編號(hào):_被調(diào)用:調(diào)用:輸入:輸出:處理局部數(shù)據(jù)元素:注釋:四、 圖形工具HC圖 2層次方框圖 Hierarchy Chart 是用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。
30、樹根代表完整數(shù)據(jù)結(jié)構(gòu),下面是數(shù)據(jù)子集,最底層的各框代表不可分割的數(shù)據(jù)元素。以下圖是描繪一家計(jì)算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)。產(chǎn)品軟件效勞硬件主存主機(jī)外設(shè)系統(tǒng)應(yīng)用軟件效勞硬件效勞培訓(xùn)四、 圖形工具HC圖四、 圖形工具HC圖四、 圖形工具Warnier圖 3Warnier圖是法國(guó)科學(xué)家提出的表示層次或樹形數(shù)據(jù)的工具。和層次方框圖類似。圖3-7是用Warnier圖描繪一類軟件產(chǎn)品的例子。 圖中花括號(hào)用來區(qū)分?jǐn)?shù)據(jù)結(jié)構(gòu)的層次,在一個(gè)花括號(hào)內(nèi)表示屬一類數(shù)據(jù),符號(hào)表示上下數(shù)據(jù)的異或關(guān)系,括號(hào)中的數(shù)字表示數(shù)據(jù)的重復(fù)次數(shù) (見下例)。軟件產(chǎn)品系統(tǒng)軟件應(yīng)用軟件軟件工具編輯程序2測(cè)試驅(qū)動(dòng)程序6設(shè)計(jì)輔助工具4操作系統(tǒng)3編
31、譯程序5四、 圖形工具Warnier圖例: 頭條新聞 地區(qū)隊(duì) 頭版 國(guó)內(nèi)新聞 體育新聞 職業(yè)隊(duì) 本地新聞 拳擊 社論(1,1) 經(jīng)營(yíng)簡(jiǎn)訊 專欄(1,3) 報(bào)紙 社論 讀者來信(1,3) 副刊 商業(yè)新聞 雇員簡(jiǎn)訊 諷刺漫畫(0,1) 一般新聞 體育新聞聯(lián)播 招生 副刊 商業(yè)新聞 廣告 招聘 廣告 求助細(xì)化:層次(n1 ,n2):重復(fù)n1到n2次:二者擇一按照傳統(tǒng)的瀑布模型進(jìn)行軟件開發(fā),由于將軟件開發(fā)這樣一個(gè)充滿回朔的過程硬性地割裂開,雖然強(qiáng)調(diào)各個(gè)階段的復(fù)審,而用戶所提出的需求往往是模糊的,因此很難得到一個(gè)完整精確的規(guī)格說明,直接影響到后期的開發(fā),針對(duì)其主要缺點(diǎn)推出了原型化方法。 3.3 原型化方
32、法 3.3 原型化方法什么是原型化方法Prototyping Method ?原型是軟件開發(fā)過程中,軟件的一個(gè)早期可運(yùn)行的版本,它反映了最終系統(tǒng)的局部重要特性。原型化方法的根本思想是花費(fèi)少量代價(jià)建立一個(gè)可運(yùn)行的系統(tǒng),使用戶及早獲得學(xué)習(xí)的時(shí)機(jī),原型化方法又稱速成原型法Rapid Prototyping,強(qiáng)調(diào)的是軟件開發(fā)人員與用戶的不斷交互,通過原型的演進(jìn)不斷適應(yīng)用戶任務(wù)改變的需求。將維護(hù)和修改階段的工作盡早進(jìn)行,使用戶驗(yàn)收提前,從而使軟件產(chǎn)品更加適用。由于軟件工程的特點(diǎn)和運(yùn)行原型的目的不同,分為兩種類型: 3.3.1 軟件原型的分類3.3.1 軟件原型的分類2、追加add on型也稱快速建立漸進(jìn)
33、原型RCP法Rapid Cyclic Prototyping法采用循環(huán)漸進(jìn)的開發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)精化,即先構(gòu)造一個(gè)功能簡(jiǎn)單而且質(zhì)量要求不高的模型系統(tǒng),將系統(tǒng)需要具備的性質(zhì)逐步添加上去,通過不斷地?cái)U(kuò)充修改,逐步追加新的要求,直至所有性質(zhì)全部滿足,此時(shí)的原型模型也就是最終的產(chǎn)品。1、廢棄throw away型也稱為快速建立需求規(guī)格原型RSP法Rapid Specific Prototyping,先構(gòu)造一個(gè)功能簡(jiǎn)單而且質(zhì)量要求不高的模型系統(tǒng),針對(duì)這個(gè)模型系統(tǒng)反復(fù)進(jìn)行分析修改,讓用戶學(xué)習(xí)。待需求說明書一旦確定,原型將被廢棄,后階段的工作仍按照瀑布模型開發(fā)。快速分析 快速確定軟件系統(tǒng)的根本要求,確
34、定原型所要表達(dá)的特性總體結(jié)構(gòu),功能,性能、界面等。2.構(gòu)造原型 根據(jù)根本規(guī)格說明,忽略細(xì)節(jié),只考慮主要特性,快速構(gòu)造一個(gè)可運(yùn)行的系統(tǒng)。有三類原型:用戶界面原型,功能原型,性能原型。3.運(yùn)行和評(píng)價(jià)原型用戶試用原型并與開發(fā)者之間頻繁交流,發(fā)現(xiàn)問題,目的是驗(yàn)證原型的正確性。4.修正與改進(jìn) 對(duì)原型進(jìn)行修改,增刪。運(yùn) 行評(píng)價(jià) 構(gòu)造快速分析或修改 3.3.2 快速原型開發(fā)模型快速原型法的工作模型如下圖,按以下步驟循環(huán)執(zhí)行。原型化模型3.3.2 快速原型開發(fā)模型構(gòu)造原型運(yùn)行/評(píng)價(jià)原型原型完成否要細(xì)部說明否嚴(yán)格說明細(xì)部效果滿意否整理原型提供文檔修正改進(jìn)原型YYNN快速分析,確定初步規(guī)格說明YN快速原型化開發(fā)過
35、程3.3.2 快速原型開發(fā)模型 快速建立系統(tǒng)原型進(jìn)行系統(tǒng)的分析和構(gòu)造有如下優(yōu)點(diǎn): 1、增進(jìn)軟件開發(fā)人員和用戶對(duì)系統(tǒng)需求的理解。便于將用戶模糊的功能需求明確化。2、為用戶提供了一種強(qiáng)有力的學(xué)習(xí)手段。3、易于確定系統(tǒng)的性能,是理解和確認(rèn)軟件需求規(guī)格說明的工具。4、按照RCP 法建立的原型即為最終的產(chǎn)品。 細(xì)化的原型化模型3.4 驗(yàn)證軟件需求 3.4 驗(yàn)證軟件需求1、驗(yàn)證軟件需求的正確性主要表達(dá)在以下幾個(gè)方面 1可行性: 2必要性: 3優(yōu)先性: 4明確性: 5可證實(shí):3.4 驗(yàn)證軟件需求 3.4 驗(yàn)證軟件需求2、驗(yàn)證軟件需求的方法 1驗(yàn)證需求的一致性: 方法:用人工技術(shù)審查驗(yàn)證軟件系統(tǒng)規(guī)格說明書,但不能保證效果;用軟件工具驗(yàn)證需求的一致性,能有效地保證軟件需求的一致性,但要求需求規(guī)格說明書必須是用形式化的需求陳述語(yǔ)言書寫。 2驗(yàn)證需求的現(xiàn)實(shí)性: 方法:參照經(jīng)驗(yàn),用現(xiàn)有的軟、硬件技術(shù)實(shí)現(xiàn)目標(biāo)系統(tǒng)的可能性;采用仿
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度拆除工程安全教育培訓(xùn)拆房協(xié)議范本4篇
- 個(gè)人家居裝潢服務(wù)協(xié)議(2024版)版B版
- 二零二五年度FXBIB房地產(chǎn)經(jīng)紀(jì)網(wǎng)絡(luò)平臺(tái)合作協(xié)議3篇
- 2025年度產(chǎn)業(yè)園企業(yè)入駐產(chǎn)業(yè)園區(qū)安全與應(yīng)急管理合作協(xié)議4篇
- 2025年度高科技園區(qū)產(chǎn)權(quán)轉(zhuǎn)讓合同模板及范文3篇
- 二零二五年度南京市房產(chǎn)贈(zèng)與合同(親情關(guān)懷版)3篇
- 事業(yè)單位固定期限勞動(dòng)協(xié)議樣式版A版
- 2025年度城市軌道交通建設(shè)合同協(xié)議4篇
- 2025年度老舊廠房拆遷評(píng)估及補(bǔ)償執(zhí)行標(biāo)準(zhǔn)合同3篇
- 2025年度戶外活動(dòng)柴油補(bǔ)給服務(wù)協(xié)議4篇
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 手術(shù)器械與敷料的傳遞
- 提高護(hù)士手衛(wèi)生執(zhí)行率PDCA案例匯報(bào)課件(32張)
- 日本人的色彩意識(shí)與自然觀
- 校園網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)規(guī)劃任務(wù)書
- 部編版5年級(jí)語(yǔ)文下冊(cè)第五單元學(xué)歷案
- 建造師建設(shè)工程項(xiàng)目管理二局培訓(xùn)精簡(jiǎn)版課件
- 電工(三級(jí))理論知識(shí)考核要素細(xì)目表
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機(jī)構(gòu)監(jiān)督
- 初中英語(yǔ)知識(shí)大匯總(374張)
評(píng)論
0/150
提交評(píng)論