




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章軟件工程概述軟件:軟件的概念嚴(yán)格說來,軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。軟件的特點(diǎn)(分類、發(fā)展)軟件是一種具有抽象特性的邏輯實(shí)體軟件的生產(chǎn)、開發(fā)無明顯的制造過程,容易復(fù)制軟件的使用、運(yùn)行期間無機(jī)械磨損……(8)軟件危機(jī)(1)軟件開發(fā)的進(jìn)度和開發(fā)成本估計(jì)不準(zhǔn),用戶不滿意;(2)軟件質(zhì)量不可靠;(3)軟件維護(hù)困難;(4)軟件不容易使用和管理,缺乏文檔資料;(5)軟件的開發(fā)跟不上硬件的發(fā)展和用戶要求的日益增長(zhǎng);(6)缺乏高素質(zhì)的軟件開發(fā)人員。產(chǎn)生軟件危機(jī)的原因:(1)軟件本身的問題(2)軟件人員本身的問題(3)軟件生命期中的管理問題解決軟件危機(jī)的辦法:(1)開發(fā)新型的計(jì)算機(jī)系統(tǒng),使用新的監(jiān)督與控制機(jī)制;(2)總結(jié)和吸取前人的經(jīng)驗(yàn)和教訓(xùn),使用成熟的開發(fā)方法;(3)消除錯(cuò)誤思想和觀念,探索新的方法;(4)使用良好的開發(fā)工具和環(huán)境,提高開發(fā)效率;(5)進(jìn)行嚴(yán)格的組織和管理,采取有效的監(jiān)督。軟件危機(jī)的含義:在軟件開發(fā)和維護(hù)過程中所產(chǎn)生的一系列嚴(yán)重問題的現(xiàn)象,統(tǒng)稱為軟件危機(jī)。軟件工程:概念:是采用工程的概念、原理、技術(shù)和方法來開發(fā)、維護(hù)軟件,是開發(fā)與維護(hù)軟件的規(guī)范化系統(tǒng)方法,它將完善的工程原理應(yīng)用于經(jīng)濟(jì)地生產(chǎn)既可靠、又能在實(shí)際機(jī)器上有效運(yùn)行的軟件。其核心內(nèi)容就是“以工程化的方式組織軟件的開發(fā)”,涉及軟件計(jì)劃、開發(fā)和維護(hù)各個(gè)階段。軟件工程的基本目標(biāo)軟件工程的七條原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性三種軟件開發(fā)模型(瀑布、漸增、快速原型化)的優(yōu)缺點(diǎn)機(jī)適用范圍。軟件生命周期的經(jīng)典模型——瀑布模型計(jì)劃:?jiǎn)栴}定義可行性研究開發(fā):需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行維護(hù)注意:各個(gè)階段產(chǎn)生的文檔資料的名稱。(13份)各個(gè)階段結(jié)束標(biāo)志(文檔的內(nèi)容)軟件生命周期的定義軟件工程的產(chǎn)生問題定義要解決的問題是什么?可行性研究可行性分析對(duì)于上一階段確定的問題有行得通的解決方法嗎?(可行性分析的目的)進(jìn)一步分析和澄清問題定義探索若干種可能的解法
Operationalfeasibility,操作可行性系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通?Technicalfeasibility,技術(shù)可行性使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?Economicfeasibility,經(jīng)濟(jì)可行性這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?對(duì)以后的行動(dòng)方針提出建議例如,修改一個(gè)已有的庫(kù)存清單系統(tǒng),使它能在每天送給采購(gòu)員一份定貨報(bào)表。修改已有的庫(kù)存清單程序并且編寫產(chǎn)生報(bào)表的程序,估計(jì)共需5000元;系統(tǒng)修改后能及時(shí)定貨將消除零件短缺問題,估計(jì)因此每年可以節(jié)省2500元,五年共可節(jié)省12500元。但是,不能簡(jiǎn)單地把5000元和12500元相比較,因?yàn)榍罢呤乾F(xiàn)在投資的錢,后者是若干年以后節(jié)省的錢。假定年利率為12%,利用上面計(jì)算貨幣現(xiàn)在價(jià)值的公式可以算出修改庫(kù)存清單系統(tǒng)后每年預(yù)計(jì)節(jié)省的錢的現(xiàn)在價(jià)值,如表所示。年將來值現(xiàn)在值累計(jì)現(xiàn)在值125001.122232.142232.14225001.251992.984225.12325001.401779.456004.57425001.571588.807593.37525001.761418.579011.94(1)貨幣的時(shí)間價(jià)值
(2)投資回收期通常用投資回收期衡量一項(xiàng)開發(fā)工程的價(jià)值。所謂投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間。顯然,投資回收期越短就能越快獲得利潤(rùn),因此這項(xiàng)工程也就越值得投資。
例如,修改庫(kù)存清單系統(tǒng)兩年以后可以節(jié)省4225.12元,比最初的投資(5000元)還少774.88元,第三年以后將再節(jié)省1779.45元。774.88/1779.45=0.44,因此,投資回收期是2.44年。投資回收期僅僅是一項(xiàng)經(jīng)濟(jì)指標(biāo);為了衡量一項(xiàng)開發(fā)工程的價(jià)值,還應(yīng)該考慮其他經(jīng)濟(jì)指標(biāo)。(3)純收入衡量工程價(jià)值的另一項(xiàng)經(jīng)濟(jì)指標(biāo)是工程的純收入,也就是在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。這相當(dāng)于比較投資開發(fā)一個(gè)軟件系統(tǒng)和把錢存在銀行中(或貸給其他企業(yè))這兩種方案的優(yōu)劣。如果純收入為零,則工程的預(yù)期效益和在銀行存款一樣,但是開發(fā)一個(gè)系統(tǒng)要冒風(fēng)險(xiǎn),因此從經(jīng)濟(jì)觀點(diǎn)看這項(xiàng)工程可能是不值得投資的。如果純收入小于零,那么這項(xiàng)工程顯然不值得投資。
例如,上述修改庫(kù)存清單系統(tǒng),工程的純收入預(yù)計(jì)是9011.94-5000=4011.94(元)需求分析所謂軟件需求是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。具體任務(wù)確定對(duì)系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求需求分析的本質(zhì)就是對(duì)數(shù)據(jù)和加工進(jìn)行分析。導(dǎo)出系統(tǒng)的邏輯模型通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和主要的處理算法描述這個(gè)邏輯模型修正系統(tǒng)開發(fā)計(jì)劃開發(fā)原型系統(tǒng)(可選)調(diào)查組織概況組織的業(yè)務(wù)活動(dòng)存在問題、約束條件未來要求需求獲取技術(shù)訪談與會(huì)議書面調(diào)查法觀察用戶工作流程用戶和開發(fā)人員共同組成聯(lián)合小組數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動(dòng)和處理的情況。主要包括四種基本成分:數(shù)據(jù)源點(diǎn)/終點(diǎn)數(shù)據(jù)流加工數(shù)據(jù)存儲(chǔ)/文件基本系統(tǒng)模型
系統(tǒng)
輸入1
輸入2
輸出1
輸出2
機(jī)票預(yù)定系統(tǒng)
帳單
訂票單
機(jī)票
下圖是一一個(gè)飛機(jī)機(jī)機(jī)票預(yù)預(yù)定系統(tǒng)統(tǒng)的基本本系統(tǒng)模模型
旅行社
預(yù)定機(jī)票
機(jī)票準(zhǔn)備
旅客
記帳
訂票單
機(jī)票
航班目錄
費(fèi)用
帳單
記帳文件
航班
下圖是機(jī)機(jī)票預(yù)定定系統(tǒng)的的DFDDFD圖各成分分的作用用和注意意事項(xiàng)::數(shù)據(jù)流由由一組數(shù)據(jù)項(xiàng)項(xiàng)組成數(shù)據(jù)流可以從從加工流向加加工;從源點(diǎn)點(diǎn)流向加工;;從加工流向向終點(diǎn);從加加工流向文件件或從文件流流向加工兩個(gè)加工之間間可以有幾股股數(shù)據(jù)流,這這些數(shù)據(jù)流之之間沒有任何何聯(lián)系,DFD也不表明它們們的流動(dòng)次序序數(shù)據(jù)流命名的的原則:現(xiàn)實(shí)環(huán)境中,,傳遞的一些些表格、單據(jù)據(jù)的名字可直直接作為數(shù)據(jù)據(jù)流的名字。。把現(xiàn)實(shí)環(huán)境中中傳遞的一組組數(shù)據(jù)中最重重要的那個(gè)數(shù)數(shù)據(jù)作為數(shù)據(jù)據(jù)流的名字。。不要把控制流流作為數(shù)據(jù)流流。在數(shù)據(jù)流命名名時(shí),不要僅僅使用“數(shù)據(jù)據(jù)”、“信息息”等缺乏實(shí)實(shí)際具體含義義的詞匯作為為數(shù)據(jù)流的名名字。加工是對(duì)數(shù)數(shù)據(jù)進(jìn)行處理理的單元。在分層DFD中,要對(duì)加工工進(jìn)行編號(hào),,以便于管理理。加工也要要選取適當(dāng)?shù)牡拿?,以提提高DFD的易讀性。加工命名原則則是:頂層的加工名名可以是軟件件項(xiàng)目的名字字通常先為數(shù)據(jù)據(jù)流命名,然然后再為與之之相關(guān)聯(lián)的加加工命名。加工的名字最最好是由一個(gè)個(gè)謂語動(dòng)詞加加上一個(gè)賓語語組成,也可可把賓語和謂謂語顛倒書寫寫應(yīng)該避免僅使使用“加工””、“處理””這樣空洞籠籠統(tǒng)的動(dòng)詞做做加工名。名字應(yīng)該反映映整個(gè)加工的的功能,而不不是它的一部部分功能通常名字中僅僅包括一個(gè)動(dòng)動(dòng)詞如果在為某個(gè)個(gè)加工命名時(shí)時(shí)遇到困難,,則很可能是是發(fā)現(xiàn)了分解解不當(dāng)?shù)嫩E象象,應(yīng)考慮重重新分解文件文件是用來暫暫時(shí)存儲(chǔ)數(shù)據(jù)據(jù)的。在分層層DFD中,文件一般般都局部于某某一層或某幾幾層。源點(diǎn)和終點(diǎn)是軟件系統(tǒng)之之外的實(shí)體,,可以是人、、物或其他軟軟件系統(tǒng)。源源點(diǎn)和終點(diǎn)是是為了幫助理理解系統(tǒng)接口口界面而引入入的,在DFD中不需要進(jìn)一一步描述它們們。分層圖的編號(hào)號(hào)原則是:(1)頂層圖圖編號(hào)為0,,頂層圖只有有一張,它的的加工就是整整個(gè)系統(tǒng);(2)頂層圖圖的子圖稱為為第一層數(shù)據(jù)據(jù)流圖,其中中的各個(gè)加工工按自然數(shù)順順序1,2,,3,…進(jìn)進(jìn)行編號(hào),第第一層數(shù)據(jù)流流圖也只有一一張;(3)在第一一層以下的各各分層圖中,,每個(gè)加工的的編號(hào)應(yīng)該是是其所在的父父圖的編號(hào)加加小數(shù)點(diǎn),再再加該圖的局局部加工編號(hào)號(hào)構(gòu)成。每個(gè)個(gè)加工編號(hào)中中所含小數(shù)點(diǎn)點(diǎn)的個(gè)數(shù)加1,就是該圖圖所在的層次次數(shù);幾點(diǎn)說明:一個(gè)加工并不不一定是一個(gè)個(gè)程序。一個(gè)個(gè)數(shù)據(jù)存儲(chǔ)也也不等同于一一個(gè)文件數(shù)據(jù)存儲(chǔ)和數(shù)數(shù)據(jù)流都是數(shù)數(shù)據(jù),僅僅所所處的狀態(tài)不不同通常在數(shù)據(jù)流流圖中忽略出出錯(cuò)處理,也也不包括諸如如打開或關(guān)閉閉文件之類的的內(nèi)務(wù)處理。。數(shù)據(jù)流的基基本要點(diǎn)是描描繪“做什么么”而不考慮慮“怎么做””。有時(shí)數(shù)數(shù)據(jù)的的源點(diǎn)點(diǎn)和終終點(diǎn)相相同,,如果果只用用一個(gè)個(gè)符號(hào)號(hào)代表表數(shù)據(jù)據(jù)的源源點(diǎn)和和終點(diǎn)點(diǎn),則則至少少將有有兩個(gè)個(gè)箭頭頭和這這個(gè)符符號(hào)相相連((一個(gè)個(gè)進(jìn)一一個(gè)出出),,可能能其中中一條條箭頭頭線相相當(dāng)長(zhǎng)長(zhǎng),這這將降降低數(shù)數(shù)據(jù)流流圖的的清晰晰度。。另一一種表表示方方法是是再重重復(fù)畫畫一個(gè)個(gè)同樣樣的符符號(hào)表表示數(shù)數(shù)據(jù)的的終點(diǎn)點(diǎn)。有有時(shí)數(shù)數(shù)據(jù)存存儲(chǔ)也也需要要重復(fù)復(fù),以以增加加數(shù)據(jù)據(jù)流圖圖的清清晰度度。假設(shè)設(shè)一一家家工工廠廠的的采采購(gòu)購(gòu)部部每每天天需需要要一一張張定定貨貨報(bào)報(bào)表表,,報(bào)報(bào)表表按按零零件件編編號(hào)號(hào)排排序序,,表表中中列列出出所所有有需需要要再再次次定定貨貨的的零零件件。。對(duì)對(duì)于于每每個(gè)個(gè)需需要要再再次次定定貨貨的的零零件件應(yīng)應(yīng)該該列列出出下下述述數(shù)數(shù)據(jù)據(jù)::零零件件編編號(hào)號(hào)、、零零件件名名稱稱、、定定貨貨數(shù)數(shù)量量、、目目前前價(jià)價(jià)格格、、主主要要供供應(yīng)應(yīng)者者、、次次要要供供應(yīng)應(yīng)者者。。零零件件入入庫(kù)庫(kù)或或出出庫(kù)庫(kù)稱稱為為事事務(wù)務(wù),,通通過過放放在在倉(cāng)倉(cāng)庫(kù)庫(kù)中中的的CRT終端把事事務(wù)報(bào)告告給定貨貨系統(tǒng)。。當(dāng)某種種零件的的庫(kù)存數(shù)數(shù)量少于于庫(kù)存量量臨界值值時(shí)就應(yīng)應(yīng)該再次次定貨。。分析:第一步可可以從問問題描述述中提取取數(shù)據(jù)流流圖的四四種成分分首先考慮慮數(shù)據(jù)的的源點(diǎn)和和終點(diǎn)接下來考考慮加工工最后,考考慮數(shù)據(jù)據(jù)流和數(shù)數(shù)據(jù)存儲(chǔ)儲(chǔ)注意,并并不是所所有數(shù)據(jù)據(jù)存儲(chǔ)和和數(shù)據(jù)流流都能直直接從問問題描述述中提取取出來定貨
系統(tǒng)
倉(cāng)庫(kù)
管理員
采購(gòu)員
事務(wù)
定貨報(bào)表
倉(cāng)庫(kù)
管理員
1處理事務(wù)
2產(chǎn)生報(bào)表
采購(gòu)員
庫(kù)存清單
庫(kù)存清單
事務(wù)
定貨報(bào)表
定貨信息
定貨信息
定貨信息
1.1接收事務(wù)
1.2更新庫(kù)存清單
2產(chǎn)生報(bào)表
1.3處理定貨
倉(cāng)庫(kù)
管理員
采購(gòu)員
庫(kù)存清單
事務(wù)
事務(wù)
庫(kù)存信息
庫(kù)存清單
定貨信息
定貨信息
定貨報(bào)表
定貨信息
數(shù)據(jù)字典((DD)數(shù)據(jù)字典是是關(guān)于數(shù)據(jù)據(jù)的信息的的集合,也也就是對(duì)數(shù)數(shù)據(jù)流圖中中包含的系系統(tǒng)元素的的定義的集集合。有了DFD和DD,才算是完完整地描描述了一一個(gè)系統(tǒng)統(tǒng)。數(shù)據(jù)據(jù)流圖和和數(shù)據(jù)字字典是需需求規(guī)格格說明書書的主要要組成部部分。數(shù)據(jù)流條條目數(shù)據(jù)流條條目是定定義數(shù)據(jù)據(jù)流的。。定義的的方式一一般是列列出該數(shù)數(shù)據(jù)流的的各組成成數(shù)據(jù)項(xiàng)項(xiàng)。在定定義數(shù)據(jù)據(jù)流時(shí),,通常借借助于一一些簡(jiǎn)單單的符號(hào)號(hào)。存折={戶名+所號(hào)+帳號(hào)+開戶日日+性質(zhì)質(zhì)+(印印密)+1{存存取行}50}0000000099999999戶名=2{字字母}24所號(hào)=“001”…“999”帳號(hào)=“00000001”…“99999999”開戶日=年+月+日性質(zhì)=“1””..“6””印密=“0””存取行=日期期+(摘要))+支出+存存入+余額+操作+復(fù)核核日期=年+月月+日年=“0001”..““9999””月=“01””..“12”日=“01””..“31”摘要=1{字字母}4支出=金額金額=“0000000.01”..“9999999.99”操作=“00001”..“99999”…………數(shù)據(jù)文件條目目文件條目是定定義文件的,,一般只需列列出文件的組組成數(shù)據(jù)項(xiàng),,以及文件的的組織方式存折={戶名名+所號(hào)+帳帳號(hào)+開戶日日+性質(zhì)+((印密)+1{存取行}50}0000000099999999組織:按帳號(hào)號(hào)次序從小至至大排列加工條目(小小說明)小說明集中描描述一個(gè)加工工“做什么””,即加工邏邏輯,也包括括其它一些與與加工有關(guān)的的信息,如執(zhí)執(zhí)行條件、優(yōu)優(yōu)先級(jí)、執(zhí)行行頻率、出錯(cuò)錯(cuò)處理等。目前用于寫小小說明的工具具有結(jié)構(gòu)化英英語、判定表表和判定樹。。下面是商店業(yè)業(yè)務(wù)處理系統(tǒng)統(tǒng)中“檢查發(fā)發(fā)貨單”的例例子IFtheinvoiceexceeds$500THENIFtheaccounthasanyinvoicemorethan60daysoverdue THENtheconfirmationpendingresolutionofthedebtELSEissueconfirmationandinvoiceENDIFELSEIFtheaccounthasanyinvoicemorethan60daysoverdueTHENissueconfirmation,invoiceandwritemessageoncreditactionreportELSEissueconfirmationandinvoiceENDIFENDIF
1234條件發(fā)貨單金額>$500>$500≤$500≤$500賒欠情況>60天≤60天>60天≤60天操作不發(fā)出批準(zhǔn)書√
發(fā)出批準(zhǔn)書
√√√發(fā)出發(fā)貨單
√√√發(fā)出賒欠報(bào)告
√
檢查發(fā)貨單
金額>$500
金額?$500
欠款>60天——不發(fā)出批準(zhǔn)書
欠款?60天——發(fā)出批準(zhǔn)書、發(fā)貨單
欠款>60天——發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報(bào)告
欠款?60天——發(fā)出批準(zhǔn)書、發(fā)貨單
從工程管理的的角度看,軟軟件設(shè)計(jì)可分分為概要設(shè)計(jì)計(jì)/總體設(shè)計(jì)計(jì)和詳細(xì)(detail)設(shè)計(jì)兩大步驟驟。概要設(shè)計(jì)計(jì)是根據(jù)需求求確定軟件和和數(shù)據(jù)的總體體框架,詳細(xì)細(xì)設(shè)計(jì)是將其其進(jìn)一步精化化成軟件的算算法表示和數(shù)數(shù)據(jù)結(jié)構(gòu)。從技術(shù)角度來來看,軟件設(shè)設(shè)計(jì)可分為數(shù)數(shù)據(jù)設(shè)計(jì)、系系統(tǒng)結(jié)構(gòu)設(shè)計(jì)計(jì)和過程設(shè)計(jì)計(jì)。數(shù)據(jù)設(shè)計(jì)計(jì)把分析階段段建立的信息息描述轉(zhuǎn)換為為實(shí)現(xiàn)軟件所所要求的數(shù)據(jù)據(jù)結(jié)構(gòu),側(cè)重重于數(shù)據(jù)結(jié)構(gòu)構(gòu)的定義;系系統(tǒng)結(jié)構(gòu)設(shè)計(jì)計(jì)定義軟件系系統(tǒng)各主要部部件、成分之之間的關(guān)系,,過程設(shè)計(jì)則則是把結(jié)構(gòu)成成分轉(zhuǎn)換成軟軟件的過程性性描述即完成成每一部件的的過程化描述述。概要設(shè)計(jì)在進(jìn)行軟件結(jié)結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)應(yīng)該遵循的最最重要的原理理是模塊獨(dú)立立原理。采用模塊化原原理的優(yōu)點(diǎn)::可以使軟件結(jié)結(jié)構(gòu)清晰,容容易設(shè)計(jì)、容容易閱讀和理理解、容易測(cè)測(cè)試和調(diào)試。。提高軟件的可可靠性。有利利于軟件開發(fā)發(fā)工程的組織織管理。模塊獨(dú)立性可可用兩個(gè)定量量準(zhǔn)則來度量量:耦合和內(nèi)內(nèi)聚。耦合分七級(jí)::非直接耦合合、數(shù)據(jù)耦合合、特征耦合合/標(biāo)記耦合合、控制耦合合、外部耦合合、公共耦合合、內(nèi)容耦合合。內(nèi)聚分七級(jí)::偶然內(nèi)聚、、邏輯內(nèi)聚、、時(shí)間內(nèi)聚、、過程內(nèi)聚、、通信內(nèi)聚、、順序內(nèi)聚、、功能內(nèi)聚。。內(nèi)聚和耦合是是相互關(guān)聯(lián)的的。軟件概要設(shè)計(jì)計(jì)的目標(biāo)是力力求增加模塊塊的內(nèi)聚,盡盡量減少模塊塊間的耦合。。但增加內(nèi)聚聚比減少耦合合更重要,二二者不能兼顧顧的情況下,,應(yīng)當(dāng)把更多多的注意力集集中到提高模模塊的內(nèi)聚程程度上來。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)計(jì)的七條啟發(fā)發(fā)式原則改進(jìn)軟件結(jié)構(gòu)構(gòu)提高模塊獨(dú)獨(dú)立性模塊規(guī)模應(yīng)該該適中深度、寬度、、扇出和扇入入都應(yīng)適當(dāng)模塊的作用范范圍應(yīng)在控制制范圍之內(nèi)力爭(zhēng)降低模塊塊接口的復(fù)雜雜程度設(shè)計(jì)單入口單單出口的模塊塊模塊功能應(yīng)該該可以預(yù)測(cè)概要設(shè)計(jì)常用用圖形工具有有:層次圖、、HIPO圖、結(jié)構(gòu)圖。。變換流的DFD是一個(gè)線性結(jié)結(jié)構(gòu),由輸入入、變換和輸輸出三部分組組成。數(shù)據(jù)沿輸入通通路到達(dá)一個(gè)個(gè)處理,這個(gè)個(gè)處理根據(jù)輸輸入數(shù)據(jù)的類類型在若干個(gè)個(gè)動(dòng)作序列中中選出一個(gè)來來執(zhí)行。這類類數(shù)據(jù)流稱為為事務(wù)流。概要設(shè)計(jì)的步步驟:分析DFD確定DFD的特點(diǎn)及邊界界映射為軟件結(jié)結(jié)構(gòu)細(xì)化后,得到到初始結(jié)構(gòu)圖圖獲得最終的軟軟件結(jié)構(gòu)圖變換分析事務(wù)分析扇入深度寬度軟件層次結(jié)構(gòu)圖扇出扇出
A
B
C
DEFEGH
IJKLM結(jié)構(gòu)圖參數(shù)舉例:深度:5寬度:5A的扇出:3M的扇入:3變換型分析舉舉例第一級(jí)分解McMAMTMEC,eC,eu,wu,wMcMA1ME1CeruMA2ME2QPRepc,pru,wwMcMAMTMEC,eC,eu,wu,werQPRpc,pru,wGetCGetEWriteWWriteUecGetBBtoCcbReadDDtoEedReadAAtoBbaadbuwUtoVWriteVuvv下面以信用卡卡報(bào)賬系統(tǒng)為為例某商店開展信信用卡購(gòu)物業(yè)業(yè)務(wù)。建立了了兩個(gè)賬目付付款賬目和用用戶總賬目。。前者記錄了了每位用戶每每次付款的日日期、金額,,由用戶的賬賬號(hào)、日期和和交易金額組組成。后者記記錄了用戶存存款余額。這這兩個(gè)賬目都都是按用戶的的賬號(hào)進(jìn)行登登錄的(見圖圖)。店方每每隔一段時(shí)間間都需要根據(jù)據(jù)上述兩個(gè)賬賬目產(chǎn)生一個(gè)個(gè)會(huì)計(jì)報(bào)告。。包括賬號(hào)、、日期、交易易金額、舊余余額、新余額額等內(nèi)容(見見圖)?,F(xiàn)在在要求用Jackson方法設(shè)計(jì)一個(gè)個(gè)能夠產(chǎn)生上上述會(huì)計(jì)報(bào)告告的程序。顧客賬號(hào)支付日期交易金額.........顧客賬號(hào)存款余額......用戶數(shù)據(jù)顧客賬號(hào)支付日期交易金額舊存款余額新存款余額...店方數(shù)據(jù)店方總計(jì)付款賬目用戶總賬目會(huì)計(jì)報(bào)告Jackson開發(fā)方法實(shí)現(xiàn)現(xiàn)步驟①畫數(shù)據(jù)結(jié)構(gòu)構(gòu)圖這個(gè)系統(tǒng)的兩兩個(gè)輸入文件件是付賬賬目目和用戶總賬賬目。輸出文文件是會(huì)計(jì)報(bào)報(bào)告。兩個(gè)輸輸入文件是以以用戶賬號(hào)組組織記錄的。。他們的輸出出數(shù)據(jù)結(jié)構(gòu)的的Jackson圖表示如圖圖所示。付賬賬目用戶賬號(hào)組付賬記錄存款余額用戶總賬號(hào)用戶記錄信用卡報(bào)賬賬系統(tǒng)的輸輸入會(huì)計(jì)報(bào)告中中最后一行行店方總計(jì)計(jì)中由兩項(xiàng)項(xiàng)內(nèi)容組成成即交易額額總計(jì)和點(diǎn)點(diǎn)方余額總總計(jì)。報(bào)告告其他部分分是顧客數(shù)數(shù)據(jù)。其輸輸出數(shù)據(jù)結(jié)結(jié)構(gòu)的Jackson圖表示如圖圖所示。會(huì)計(jì)報(bào)告顧客數(shù)據(jù)店方數(shù)據(jù)用戶賬號(hào)組*交易金額總計(jì)存款金額總計(jì)用戶賬號(hào)存款記錄用戶總支付存款余額新存款余額舊存款余額報(bào)告行*信用卡報(bào)賬系統(tǒng)的輸出處理付款賬目和用戶總賬目并給出會(huì)計(jì)報(bào)告處理報(bào)告行*處理店方數(shù)據(jù)處理用戶賬號(hào)組*處理用戶賬號(hào)處理付款記錄計(jì)算交易金額總計(jì)計(jì)算存款余額總計(jì)計(jì)算舊存款余額計(jì)算用戶總支付計(jì)算新存款余額處理用戶數(shù)據(jù)計(jì)算存款余額I1I2圖4-47信用卡報(bào)賬系統(tǒng)程序結(jié)構(gòu)圖③寫出程序序的過程性性描述首先列出圖圖4-47中的循環(huán)環(huán)結(jié)構(gòu)的終終止條件I1和I2.I1:付款賬目文文件結(jié)束;;I2:用戶賬號(hào)組組結(jié)束。必要的可執(zhí)執(zhí)行操作和和輔助操作作說明。打開文件::open讀取文件數(shù)數(shù)據(jù):read向文件寫數(shù)數(shù)據(jù):write尋找數(shù)據(jù)項(xiàng)項(xiàng):finds關(guān)閉文件::close用Jackson偽代碼寫出出過程性描描述:({}內(nèi)為注釋釋部分),,處理付款款賬目和用戶總賬目目并給出會(huì)會(huì)計(jì)報(bào)告seq。open會(huì)計(jì)報(bào)告;;open付款賬目;;open用戶總賬目目;處理用戶數(shù)數(shù)據(jù)iteruntil付款賬目文文件結(jié)束;;處理用戶賬賬號(hào)組seq;read付款賬目;;處理用戶賬賬號(hào){write處理用戶賬賬號(hào)行};;處理付款記記錄iteruntil用戶賬號(hào)組組結(jié)束;write報(bào)告行;計(jì)算交易金金額總計(jì);;read付款賬目;;end付款記錄;;計(jì)算用戶總總支付;計(jì)算存款余余額seq;處理舊存款款余額{read用戶總賬目目finds存款余額};計(jì)算新存款款余額;{write總計(jì)行}end計(jì)算存款余余額;end處理用戶賬賬號(hào)組;end處理用戶數(shù)數(shù)據(jù);處理店方數(shù)數(shù)據(jù)seq;計(jì)算交易金金額總計(jì);;計(jì)算存款余余額總計(jì);;write店方總計(jì)行行;end處理店方數(shù)數(shù)據(jù);close付款賬目;;close用戶總賬目目;close會(huì)計(jì)報(bào)告;;end處理付款賬賬目和用戶戶總賬目并并給出會(huì)計(jì)計(jì)報(bào)告。用Jackson方法得到的的程序結(jié)構(gòu)構(gòu)圖一般都都需要求精精和優(yōu)化。。因?yàn)檫@種種方法是從從輸入輸出出數(shù)據(jù)結(jié)構(gòu)構(gòu)導(dǎo)出程序序結(jié)構(gòu)圖,,因此有些些中間處理理過程在結(jié)結(jié)構(gòu)圖中無無法反映出出來。在求求精過程和和,不斷對(duì)對(duì)數(shù)據(jù)結(jié)構(gòu)構(gòu)圖進(jìn)行改改進(jìn)和細(xì)化化,使之完完整。詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階階段采用自自頂向下逐逐步求精的的方法,把把一個(gè)模塊塊的功能逐逐步分解細(xì)細(xì)化為一系系列具體的的處理步驟驟。結(jié)構(gòu)化程序序設(shè)計(jì)技術(shù)術(shù)是詳細(xì)設(shè)設(shè)計(jì)的邏輯輯基礎(chǔ)。結(jié)構(gòu)化程序序設(shè)計(jì)的三三種基本控控制結(jié)構(gòu)是是順序、選選擇、循環(huán)環(huán)。結(jié)構(gòu)化程序序設(shè)計(jì)目前前一個(gè)比較較流行的定定義是:結(jié)構(gòu)化程序序設(shè)計(jì)是一一種設(shè)計(jì)程程序的技術(shù)術(shù),它采用用自頂向下下逐步求精精的設(shè)計(jì)方方法和單入入口單出口口的控制結(jié)結(jié)構(gòu)。怎么判斷一一個(gè)程序是是否為結(jié)構(gòu)構(gòu)化的呢??如果對(duì)流流程圖中每每一構(gòu)件用用“邊框””圈起來,,邊界之間間不出現(xiàn)交交叉,則說說明所有構(gòu)構(gòu)件都為單單入口單出出口,則稱稱此程序?yàn)闉榻Y(jié)構(gòu)化程程序。
begin
A
1
B
3
4
2
B
6
5
C
7
D
8
end
F
F
F
F
F
T
T
T
T
T
begin
A
1B3
4
2B6
5C
7D
end
F
FFF
T
T
T58F=0F=1F=0?
F
T
C
7
D
8
7
FTT程序流程圖圖、盒圖、、PAD圖、判定表表、判定樹樹和PDL語言等都是是完成詳細(xì)細(xì)設(shè)計(jì)的工工具,選擇擇合適的工工具并且正正確地使用用它們是十十分重要的的。注意:各種圖形形的特點(diǎn),,優(yōu)缺點(diǎn),,適用范圍圍等,各種圖形之之間的轉(zhuǎn)換換。PAD圖應(yīng)用舉例例(N-S圖→PAD圖)abTxiFfx2Tx4F=1=2=3ix5gdo-whiledeDo-untilhx3cDo-untilx6jaUntilx6bx1fx4Untilx5ighjUntilx3ede=1=2=3x2對(duì)應(yīng)的PAD圖程序流程圖圖的優(yōu)點(diǎn)是是:直觀、、易學(xué)、歷歷史長(zhǎng)、使使用廣泛。。缺點(diǎn)是:誘誘使程序員員過早地考考慮控制流流,容易忽忽略整體結(jié)結(jié)構(gòu);控制制流繪制時(shí)時(shí)容易亂轉(zhuǎn)轉(zhuǎn)移,破壞壞結(jié)構(gòu);不不容易表示示數(shù)據(jù)結(jié)構(gòu)構(gòu);不適于于大型程序序的設(shè)計(jì)僅僅適于小規(guī)規(guī)模程序的的設(shè)計(jì);例如:前面面講到的折折扣率例題題購(gòu)貨時(shí)間4~6、10、12
1~3、7~9、11
購(gòu)貨數(shù)量〈1010~20〉20〈1010~20〉20折扣率5%10%20%10%20%30%讀入購(gòu)貨月份T和購(gòu)貨量WTin{4-6,10,12}折扣率=5%W<10W>20W<10W>20折扣率=10%折扣率=20%折扣率=20%折扣率=30%結(jié)束TFTFTFTFTF購(gòu)貨時(shí)間T與購(gòu)貨量WTTin{4-6,10,12}FTW<10FTW<10F折扣率為5%TW>20F折扣率為10%TW>20F折扣率為20%折扣率為10%折扣率為30%折扣率為20%折扣率問題題的N-S圖編碼所謂編碼就就是把軟件件設(shè)計(jì)的結(jié)結(jié)果翻譯成成計(jì)算機(jī)可可以“理解解”的形式式—用某種種程序設(shè)計(jì)計(jì)語言書寫寫的程序。。按照軟件工工程的方法法論,編碼碼是在對(duì)軟軟件進(jìn)行了了概要設(shè)計(jì)計(jì)和詳細(xì)設(shè)設(shè)計(jì)之后進(jìn)進(jìn)行的,編編碼不過是是把軟件設(shè)設(shè)計(jì)的結(jié)果果翻譯成用用某種程序序設(shè)計(jì)語言言書寫的程程序。因此
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青海大學(xué)《多元統(tǒng)計(jì)分析與建?!?023-2024學(xué)年第二學(xué)期期末試卷
- 浙江工商職業(yè)技術(shù)學(xué)院《物流裝備課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央財(cái)經(jīng)大學(xué)《ndustraOrganatonofBankng》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年山東省德州市平原縣第一中學(xué)高三新時(shí)代NT抗疫愛心卷(II)物理試題含解析
- 江蘇商貿(mào)職業(yè)學(xué)院《現(xiàn)代人工智能技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 高平市2024-2025學(xué)年三年級(jí)數(shù)學(xué)第二學(xué)期期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 貴州體育職業(yè)學(xué)院《基礎(chǔ)醫(yī)學(xué)概論下》2023-2024學(xué)年第二學(xué)期期末試卷
- 公共交通智能調(diào)度管理制度
- 工傷認(rèn)證所有流程
- 中水管線施工方案
- DB12T 1315-2024城市內(nèi)澇氣象風(fēng)險(xiǎn)等級(jí)
- 歷史-浙江天域全國(guó)名校協(xié)作體2025屆高三下學(xué)期3月聯(lián)考試題和解析
- 高等數(shù)學(xué)(慕課版)教案 教學(xué)設(shè)計(jì)-1.3 極限的運(yùn)算法則;1.4 極限存在準(zhǔn)則與兩個(gè)重要極限
- 2025年淮北職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 2025屆高三化學(xué)一輪復(fù)習(xí) 化學(xué)工藝流程題說題 課件
- 第四周主題班會(huì)教案38婦女節(jié)《“致敬了不起的她”》
- 2025中國(guó)福州外輪代理限公司招聘15人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 醫(yī)院化驗(yàn)室管理制度
- 新課標(biāo)(水平三)體育與健康《籃球》大單元教學(xué)計(jì)劃及配套教案(18課時(shí))
- 記賬實(shí)操-新能源科技有限公司的賬務(wù)處理示例
- 《籃球規(guī)則》課件
評(píng)論
0/150
提交評(píng)論