系統(tǒng)分析與軟體工程課件_第1頁
系統(tǒng)分析與軟體工程課件_第2頁
系統(tǒng)分析與軟體工程課件_第3頁
系統(tǒng)分析與軟體工程課件_第4頁
系統(tǒng)分析與軟體工程課件_第5頁
已閱讀5頁,還剩137頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第12章系統(tǒng)分析與軟體工程

陳邦治編著旗標(biāo)出版社資電學(xué)院

計(jì)算機(jī)概論

F7810第12章陳邦治編著資電學(xué)院

計(jì)算機(jī)概論

F7810本章重點(diǎn)本章將介紹系統(tǒng)分析(systemanalysis)與軟體工程(softwareengineering)二個(gè)主題系統(tǒng)分析是指在設(shè)計(jì)系統(tǒng)前,對系統(tǒng)所進(jìn)行的分析工作軟體工程則是研究如何運(yùn)用系統(tǒng)化、規(guī)範(fàn)化及數(shù)量化等工程方法去進(jìn)行軟體的開發(fā)和維護(hù)軟體工程通常被分為軟體發(fā)展技術(shù)和軟體專案管理二部份,而系統(tǒng)分析是軟體發(fā)展技術(shù)的重要主題,所以可將系統(tǒng)分析視為軟體工程的一部份

本章重點(diǎn)本章將介紹系統(tǒng)分析(systemanalysis)大綱導(dǎo)論軟體開發(fā)生命週期

結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化軟體開發(fā)生命週期

軟體測試系統(tǒng)轉(zhuǎn)換

軟體開發(fā)模式33大綱導(dǎo)論33導(dǎo)論電腦資訊系統(tǒng)開發(fā)過程中擔(dān)任編寫程式工作的人稱為程式設(shè)計(jì)師(programmer),而擔(dān)任規(guī)劃系統(tǒng)架構(gòu)工作的人則稱為系統(tǒng)分析師(SystemAnalyst;SA)電腦資訊系統(tǒng)品質(zhì)的優(yōu)劣絕大部份是取決於系統(tǒng)分析師所執(zhí)行的系統(tǒng)分析工作品質(zhì)的好壞,因此系統(tǒng)分析師的素質(zhì)及專業(yè)能力將會(huì)影響整體電腦資訊系統(tǒng)的運(yùn)作績效導(dǎo)論電腦資訊系統(tǒng)開發(fā)過程中擔(dān)任編寫程式工作的人稱為程式設(shè)計(jì)系統(tǒng)分析師主要的工作定義問題列出系統(tǒng)目標(biāo)蒐集資料分析及評(píng)估提出解決方案擬定系統(tǒng)開發(fā)計(jì)畫定義系統(tǒng)規(guī)格系統(tǒng)實(shí)作

系統(tǒng)分析師主要的工作定義問題執(zhí)行系統(tǒng)切割工作時(shí)應(yīng)注意事項(xiàng)系統(tǒng)分析工作會(huì)將系統(tǒng)切割成子系統(tǒng)(subsystem)子系統(tǒng)間的複雜度會(huì)與切割後的子系統(tǒng)數(shù)量成正比,但子系統(tǒng)內(nèi)部本身的複雜度會(huì)與切割後的子系統(tǒng)數(shù)量成反比;也就是說,切割後的子系統(tǒng)數(shù)量愈多,子系統(tǒng)間的複雜度將愈高,但子系統(tǒng)本身內(nèi)部的複雜度將愈低。盡量提高子系統(tǒng)本身之內(nèi)聚力(cohesion),但應(yīng)盡量降低子系統(tǒng)間之耦合力(coupling)執(zhí)行系統(tǒng)切割工作時(shí)應(yīng)注意事項(xiàng)系統(tǒng)分析工作會(huì)將系統(tǒng)切割成子系「軟體工程」基礎(chǔ)是一種可描述軟體工程產(chǎn)品特性的理論與科學(xué)之基礎(chǔ)是一種可對軟體工程產(chǎn)品與產(chǎn)品間關(guān)係建構(gòu)模式進(jìn)行推論的數(shù)學(xué)基礎(chǔ)是一種可對所發(fā)展的軟體產(chǎn)品之特性建立預(yù)測能力的基本原理「軟體工程」基礎(chǔ)是一種可描述軟體工程產(chǎn)品特性的理論與科學(xué)之傳統(tǒng)系統(tǒng)分析過程中,可能遭遇的問題使用者需求可能經(jīng)常變更使用者與系統(tǒng)分析師之間不易溝通使用者不易理解系統(tǒng)完整架構(gòu)系統(tǒng)不易分割,導(dǎo)致分工不易傳統(tǒng)系統(tǒng)分析過程中,可能遭遇的問題使用者需求可能經(jīng)常變更軟體開發(fā)生命週期傳統(tǒng)軟體開發(fā)生命週期分為九個(gè)階段初步分析與可行性研究細(xì)部分析初步設(shè)計(jì)硬體研究評(píng)估細(xì)部設(shè)計(jì)系統(tǒng)製作撰寫系統(tǒng)文件系統(tǒng)評(píng)估系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)軟體開發(fā)生命週期傳統(tǒng)軟體開發(fā)生命週期分為九個(gè)階段初步分析「初步分析」是依據(jù)使用者的需求對系統(tǒng)有初步的了解,本部分主要的工作是分析並瞭解問題確認(rèn)系統(tǒng)範(fàn)圍與目標(biāo)「初步分析」結(jié)束時(shí)會(huì)將結(jié)果撰寫成可行性分析文件,提供「可行性研究」階段使用初步分析「初步分析」是依據(jù)使用者的需求對系統(tǒng)有初步的了解,本可行性研究「可行性研究」主要是根據(jù)已知的相關(guān)資料研究評(píng)估新系統(tǒng)是否可行,評(píng)估的方向包括以下幾點(diǎn):成本因素:評(píng)估開發(fā)新系統(tǒng)所需支出的成本是否能接受社會(huì)因素:評(píng)估新系統(tǒng)是否能被使用者接受時(shí)間因素:評(píng)估開發(fā)新系統(tǒng)是否有足夠的時(shí)間技術(shù)因素:評(píng)估開發(fā)新系統(tǒng)所需的人力及設(shè)備是否足夠法律因素:評(píng)估新系統(tǒng)是否符合現(xiàn)行法令或?qū)砜赡苄抻喌男路畹囊?guī)定管理因素:評(píng)估新系統(tǒng)是否能有較佳的管理功能可行性研究「可行性研究」主要是根據(jù)已知的相關(guān)資料研究評(píng)估新系假設(shè)有一家販?zhǔn)圻\(yùn)動(dòng)彩卷的公司X想要開發(fā)一套資訊系統(tǒng)提供客戶利用手持式行動(dòng)裝置(例如手機(jī)或PDA),隨時(shí)隨地都可利用行動(dòng)電話業(yè)者提供的通訊連線服務(wù)登錄運(yùn)動(dòng)彩卷下注系統(tǒng)進(jìn)行下注,則此系統(tǒng)的可行性分析文件可能如下

假設(shè)有一家販?zhǔn)圻\(yùn)動(dòng)彩卷的公司X想要開發(fā)一套資訊系統(tǒng)提供客戶利細(xì)部分析輸入使用者需求及可行性分析文件。輸出確定系統(tǒng)的需求、範(fàn)圍及目標(biāo)後產(chǎn)生實(shí)體需求(physicalrequirement)及功能規(guī)格書(functionspecification)細(xì)部分析輸入初步設(shè)計(jì)輸入功能規(guī)格書輸出藉由把系統(tǒng)切割成子系統(tǒng)(subsystem),確定每個(gè)子系統(tǒng)在軟體、硬體及人工作業(yè)方面的規(guī)格,本階段輸出為系統(tǒng)規(guī)格書(systemspecification)初步設(shè)計(jì)輸入硬體研究評(píng)估輸入實(shí)體需求(細(xì)部分析階段的輸出)及硬體規(guī)格資料(初步設(shè)計(jì)階段的輸出)。輸出硬體組態(tài)描述(hardwareconfigurationdescription)及硬體訂單硬體研究評(píng)估輸入細(xì)部設(shè)計(jì)輸入系統(tǒng)規(guī)格書(初步設(shè)計(jì)階段的輸出)及硬體組態(tài)描述(硬體研究評(píng)估階段的輸出)。輸出程式規(guī)格書(programspecification),程式規(guī)格書中包括輸出入格式、人工作業(yè)流程、文件及表格、程式細(xì)部流程及實(shí)體資料庫等資料之設(shè)計(jì)細(xì)部設(shè)計(jì)輸入系統(tǒng)製作本階段的工作包括撰寫程式系統(tǒng)測試系統(tǒng)實(shí)際操作測試系統(tǒng)實(shí)施等系統(tǒng)製作本階段的工作包括撰寫系統(tǒng)文件編寫系統(tǒng)文件說明書(systemdocuments)撰寫系統(tǒng)文件編寫系統(tǒng)文件說明書(systemdocumen系統(tǒng)評(píng)估評(píng)估系統(tǒng)的優(yōu)缺點(diǎn)系統(tǒng)評(píng)估評(píng)估系統(tǒng)的優(yōu)缺點(diǎn)系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)藉由修改軟體使系統(tǒng)能符合使用者需求系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)藉由修改軟體使系統(tǒng)能符合使用者需求結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化分析是一種具嚴(yán)謹(jǐn)性及組織性的方法利用結(jié)構(gòu)化分析工具有容易學(xué)習(xí)及方便維護(hù)等優(yōu)點(diǎn)結(jié)構(gòu)化方法(structuredmethodology)是指利用結(jié)構(gòu)化分析工具來表達(dá)資料處理之過程常用的結(jié)構(gòu)化分析工具有以下四種資料流程圖資料字典資料結(jié)構(gòu)圖迷你規(guī)格書結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化分析是一種具嚴(yán)謹(jǐn)性及組織性資料流程圖「資料流程圖」的作法是將系統(tǒng)分成幾個(gè)部份,並利用圖形來描述系統(tǒng)中每個(gè)部份之間資料流動(dòng)的情形,並以網(wǎng)狀結(jié)構(gòu)來表示「資料流程圖」包含四個(gè)基本元件

處理程序(process)資料流(dataflow)源頭或終點(diǎn)(sourceorsink)資料儲(chǔ)存體(datastore)

資料流程圖「資料流程圖」的作法是將系統(tǒng)分成幾個(gè)部份,並利用圖「資料流程圖」的繪製原則先畫「資料流」,若資料必須轉(zhuǎn)換,則在轉(zhuǎn)換處「處理程序」符號(hào)?!纲Y料儲(chǔ)存體」最後才處理「資料流」先命名,「處理程序」次之?!柑幚沓绦颉姑瓌t最的是由一個(gè)動(dòng)詞和一個(gè)名詞組成如果某個(gè)「處理程序」無法適當(dāng)命名,必須考慮是否應(yīng)與其他「處理程序」合併或自行執(zhí)行分割動(dòng)作「資料流程圖」的繪製原則先畫「資料流」,若資料必須轉(zhuǎn)換,則「資料流程圖」範(fàn)例教師與學(xué)生之間關(guān)於成績的輸入及輸出間的「資料流程圖」「資料流程圖」範(fàn)例教師與學(xué)生之間關(guān)於成績的輸入及輸出間的「「資料流程圖」的三個(gè)階層頂層(toplevel)「資料流程圖」只有一個(gè)尚未分割的處理程序,又稱為contextdiagram,本類流程圖可顯示出系統(tǒng)的範(fàn)圍(boundaries)底層(bottomdiagram)「資料流程圖」由一些不能再被分割的處理程序所構(gòu)成,此時(shí)每個(gè)處理程序代表一種基本功能中層(middlediagram)「資料流程圖」介於頂層「資料流程圖」及底層「資料流程圖」間的資料流程圖「資料流程圖」的三個(gè)階層頂層(toplevel)「資料流三個(gè)階層的「資料流程圖」範(fàn)例在上圖的範(fàn)例中,頂層只有一個(gè)名稱為1的處理程序,中層則是將處理程序1分割為三個(gè)子程序1.1、1.2及1.3。中層的三個(gè)子程序再各自切割為底層中不可再分割的處理程序三個(gè)階層的「資料流程圖」範(fàn)例在上圖的範(fàn)例中,頂層只有一個(gè)名資料字典「資料字典」是指所有在「資料流程圖」中所用到項(xiàng)目,分別是「處理程序」、「資料流」、「資料儲(chǔ)存體」及「資料元素」(dataelement)的邏輯定義集合「資料元素」是指不可再細(xì)分的資料流組成元素資料字典「資料字典」是指所有在「資料流程圖」中所用到項(xiàng)目,製作「資料字典」時(shí)應(yīng)遵守的原則資料定義應(yīng)簡單清楚且不可重複定義容易更新搜尋快速製作「資料字典」時(shí)應(yīng)遵守的原則資料定義應(yīng)簡單清楚且不可重複「資料字典」的運(yùn)算子「=」:表示「等於」?!福梗罕硎尽付鄠€(gè)元素依序出現(xiàn)」。例如成績單=準(zhǔn)考證號(hào)碼+姓名+國文成績+數(shù)學(xué)成績「{}」:表示在{}內(nèi)的資料出現(xiàn)0次、1次、...。比方說{考生姓名}的可能結(jié)果有無窮多種,如0位考生、1位考生、2位考生、……..「[]」:表示從多個(gè)元件中選擇一項(xiàng)。比方說代表由三個(gè)考場中選擇一個(gè)「()」:表示選擇或不選擇某一元件「*註解說明*」:表示在「*......*」間的內(nèi)容為註解「資料字典」的運(yùn)算子「=」:表示「等於」?!纲Y料字典」的階層化結(jié)構(gòu)階層化結(jié)構(gòu)是利用由上而下的方式來定義資料例如:考場=臺(tái)北考場+臺(tái)中考場+高雄考場臺(tái)北考場=臺(tái)大考場+師大考場+政大考場臺(tái)中考場=興大考場+東海考場+靜宜考場+逢甲考場高雄考場=中山考場臺(tái)大考場=電機(jī)系考場+資工系考場+醫(yī)學(xué)系考場+外文系考場+中文系考場……………「資料字典」的階層化結(jié)構(gòu)階層化結(jié)構(gòu)是利用由上而下的方式來定資料字典的組成資料字典包含四種不同的項(xiàng)目資料流項(xiàng)目資料元素項(xiàng)目資料儲(chǔ)存體項(xiàng)目處理程序項(xiàng)目資料字典的組成資料字典包含四種不同的項(xiàng)目資料流項(xiàng)目資料流項(xiàng)目由以下四部份所構(gòu)成資料流名稱(name)簡明易懂的名稱為佳別名(alias)若資料流有二個(gè)或二個(gè)以上的名稱,則這些不同的名稱彼此互為別名組成(composition)資料流的組成項(xiàng)目說明(notes)用來記錄其他有關(guān)的特性資料流項(xiàng)目資料流項(xiàng)目由以下四部份所構(gòu)成資料流項(xiàng)目範(fàn)例資料流項(xiàng)目範(fàn)例資料元素項(xiàng)目資料元素是指不能再被細(xì)分的資料流,由以下四部份所構(gòu)成:資料元素名稱(name)別名(alias)值和意義分為連續(xù)式(continuous)及離散式(discrete)二種說明(notes)資料元素項(xiàng)目資料元素是指不能再被細(xì)分的資料流,由以下四部份所資料元素範(fàn)例資料元素範(fàn)例資料儲(chǔ)存體項(xiàng)目資料儲(chǔ)存體名稱(name)別名(alias)組成(composition)組織(organization)組織欄位是用來描述檔案中記錄(record)的存取方式,如索引存取(indexaccess)或循序存取(sequentialaccess)等方法說明(notes)資料儲(chǔ)存體項(xiàng)目資料儲(chǔ)存體名稱(name)資料儲(chǔ)存體範(fàn)例資料儲(chǔ)存體範(fàn)例處理程序項(xiàng)目處理程序項(xiàng)目含以下四項(xiàng)處理程序名稱(name)編號(hào)描述處理程序的處理邏輯描述,通常使用結(jié)構(gòu)化英文、決策樹或決策表描述說明(notes)處理程序項(xiàng)目處理程序項(xiàng)目含以下四項(xiàng)處理程序範(fàn)例處理程序範(fàn)例資料結(jié)構(gòu)圖第三個(gè)要介紹的結(jié)構(gòu)化分析工具是「資料結(jié)構(gòu)圖」(DataStructureDiagram;DSD)「資料結(jié)構(gòu)圖」是用於顯示資料儲(chǔ)存體中,各種資料的存取途徑及描述系統(tǒng)中檔案間的關(guān)係或是資料庫組織架構(gòu)資料結(jié)構(gòu)圖第三個(gè)要介紹的結(jié)構(gòu)化分析工具是「資料結(jié)構(gòu)圖」(D「資料結(jié)構(gòu)圖」之繪製原則一個(gè)資料儲(chǔ)存體(或檔案)利用一個(gè)方形來表示,該資料儲(chǔ)存體的存取鍵(accesskey)標(biāo)示在此圖形的上半部如果資料儲(chǔ)存體X能夠存取資料儲(chǔ)存體Y時(shí),則用箭頭線連結(jié)兩個(gè)資料儲(chǔ)存體,箭頭的方向是由X到Y(jié)。若欲執(zhí)行存取動(dòng)作時(shí),X與Y的存取鍵不同時(shí),應(yīng)把名稱註明在箭頭線旁邊,相同時(shí)則可不寫若被允許存取某個(gè)資料儲(chǔ)存體,則該資料儲(chǔ)存體以及該資料儲(chǔ)存體在資料結(jié)構(gòu)圖中所指向的任何資料儲(chǔ)存體的內(nèi)容均可被存取「資料結(jié)構(gòu)圖」之繪製原則一個(gè)資料儲(chǔ)存體(或檔案)利用一個(gè)方「資料結(jié)構(gòu)圖」範(fàn)例「資料結(jié)構(gòu)圖」範(fàn)例迷你規(guī)格書第四個(gè)要介紹的結(jié)構(gòu)化分析工具是「迷你規(guī)格書」(mini-specification)「迷你規(guī)格書」是「資料字典」中用來描述階層化「資料流程圖」中最底層處理程序的基本功能製作「迷你規(guī)格書」必須符合簡潔且完整之規(guī)定

迷你規(guī)格書第四個(gè)要介紹的結(jié)構(gòu)化分析工具是「迷你規(guī)格書」(m「迷你規(guī)格書」製作原則在階層化的資料流程圖中的每一個(gè)最底層處理程序均必須有對應(yīng)的「迷你規(guī)格書」來描述,其內(nèi)容必須包含該處理程序的輸入和輸出資料流的轉(zhuǎn)變原則描述「做什麼?」(Whattodo?),不必描述「如何做?」(Howtodo?)「迷你規(guī)格書」的內(nèi)容和「結(jié)構(gòu)化規(guī)格書」的內(nèi)容不得重複「迷你規(guī)格書」的內(nèi)容應(yīng)盡量不重覆,也就是達(dá)到正交(orthogonal)的目標(biāo)「迷你規(guī)格書」製作原則在階層化的資料流程圖中的每一個(gè)最底層「迷你規(guī)格書」內(nèi)容「迷你規(guī)格書」內(nèi)容「結(jié)構(gòu)化英語」(structuredEnglish)「結(jié)構(gòu)化英語」(structuredEnglish)是「迷你規(guī)格書」的一種作法「結(jié)構(gòu)化英語」是用英語來表達(dá)計(jì)算過程,主要的處理對象是邏輯結(jié)構(gòu)較複雜且包含重覆結(jié)構(gòu)敘述之問題「結(jié)構(gòu)化英語」的限制是僅提供結(jié)構(gòu)化程式設(shè)計(jì)之三大結(jié)構(gòu):循序、選擇及反覆結(jié)構(gòu)的語法規(guī)則。用英語來表達(dá)計(jì)算過程「結(jié)構(gòu)化英語」(structuredEnglish)「結(jié)結(jié)構(gòu)化英語使用的字彙在結(jié)構(gòu)化英語中使用的字彙有以下三種在資料字典中已定義的字彙循序、選擇及反覆結(jié)構(gòu)中的保留字如for、while、if-then-else等命令式動(dòng)詞結(jié)構(gòu)化英語使用的字彙在結(jié)構(gòu)化英語中使用的字彙有以下三種「結(jié)構(gòu)化英語」特點(diǎn)不需語言處理器加以處理,因此較不受語法之限制具高度之機(jī)器獨(dú)立性可幫助檢查設(shè)計(jì)之邏輯觀念是否正確英語不佳者難以使用

通常用來表達(dá)程式的計(jì)算過程的演算法若是以英語來寫作便可視為是以結(jié)構(gòu)化英語來設(shè)計(jì)的方法

「結(jié)構(gòu)化英語」特點(diǎn)不需語言處理器加以處理,因此較不受語法之結(jié)構(gòu)化軟體開發(fā)生命週期本節(jié)將介紹利用前節(jié)介紹的結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法設(shè)計(jì)出來的「結(jié)構(gòu)化軟體開發(fā)生命週期」之相關(guān)細(xì)節(jié)結(jié)構(gòu)化軟體開發(fā)生命週期本節(jié)將介紹利用前節(jié)介紹的結(jié)構(gòu)化分析工「結(jié)構(gòu)化軟體開發(fā)生命週期」五個(gè)階段初步分析與可行性研究結(jié)構(gòu)化分析階段

結(jié)構(gòu)化設(shè)計(jì)階段系統(tǒng)製作階段

系統(tǒng)維護(hù)階段「結(jié)構(gòu)化軟體開發(fā)生命週期」五個(gè)階段初步分析與可行性研究初步分析與可行性研究本階段主要的工作分為二項(xiàng)「初步分析」期望能初步瞭解系統(tǒng)的目的、功能、需求、作業(yè)流程、及限制條件等事項(xiàng)。「可行性研究」(feasibilitystudy)根據(jù)已知的相關(guān)資料研究評(píng)估是否有足夠的金錢與時(shí)間來完成系統(tǒng),並將結(jié)果撰寫成文件,提供給下一個(gè)分析階段來使用初步分析與可行性研究本階段主要的工作分為二項(xiàng)結(jié)構(gòu)化分析階段本階段包含七個(gè)子階段目前系統(tǒng)環(huán)境研究目前邏輯資料流程圖推導(dǎo)產(chǎn)生出新的邏輯系統(tǒng)得到新的邏輯資料流程圖、迷你規(guī)格書以及資料字典決定系統(tǒng)自動(dòng)化的程度量化選擇得到成本與效益研究報(bào)告選擇根據(jù)新的實(shí)體資料流程圖以及成本效益研究報(bào)告,加以選擇,產(chǎn)生出所要的實(shí)體需求,預(yù)算及進(jìn)度規(guī)劃產(chǎn)生「結(jié)構(gòu)化規(guī)格書」將「迷你規(guī)格書」、「資料字典」及選擇好的「資料流程圖」,加以整理成「結(jié)構(gòu)化規(guī)格書」結(jié)構(gòu)化分析階段本階段包含七個(gè)子階段結(jié)構(gòu)化設(shè)計(jì)階段本階段包含「推導(dǎo)出結(jié)構(gòu)圖」「推導(dǎo)出結(jié)構(gòu)圖」是根據(jù)資料流程圖導(dǎo)出結(jié)構(gòu)圖「模組設(shè)計(jì)」「包裝設(shè)計(jì)」「包裝設(shè)計(jì)」則是得到設(shè)計(jì)結(jié)果及測試計(jì)畫結(jié)構(gòu)化設(shè)計(jì)階段本階段包含系統(tǒng)製作階段系統(tǒng)製作階段主要應(yīng)進(jìn)行的工作撰寫程式碼(coding)測試測試工作分為白箱測試(white-boxtesting)與黑箱測試(black-boxtesting)二類系統(tǒng)文件撰寫系統(tǒng)評(píng)鑑等工作系統(tǒng)製作階段系統(tǒng)製作階段主要應(yīng)進(jìn)行的工作系統(tǒng)維護(hù)階段系統(tǒng)維護(hù)是指修改軟體使其能滿足目前的需求系統(tǒng)維護(hù)是一種高成本的工作系統(tǒng)維護(hù)階段系統(tǒng)維護(hù)是指修改軟體使其能滿足目前的需求「結(jié)構(gòu)化軟體開發(fā)生命週期」各個(gè)階段之關(guān)連圖

「結(jié)構(gòu)化軟體開發(fā)生命週期」各個(gè)階段之關(guān)連圖軟體測試測試階段的工作是檢測在製作階段完成之成品的正確性常見的測試法「白箱測試」「黑箱測試」軟體測試測試階段的工作是檢測在製作階段完成之成品的正確性白箱測試「白箱測試」是測試軟體元件的內(nèi)部結(jié)構(gòu),檢查軟體元件是否能依照設(shè)計(jì)正確無錯(cuò)誤的執(zhí)行本技術(shù)的測試實(shí)例是以程式的控制結(jié)構(gòu)(controlstructure)為依據(jù)進(jìn)而設(shè)計(jì)而得,包括的測試細(xì)節(jié)如下測試所有內(nèi)部資料結(jié)構(gòu)對於所有含有「條件結(jié)構(gòu)」及「反覆結(jié)構(gòu)」中的布林運(yùn)算式之所有可能值均必須被執(zhí)行過對於所有「反覆結(jié)構(gòu)」的內(nèi)部敘述與所有條件可能值均須檢查確保程式中的每一組「獨(dú)立路徑」控制流程均應(yīng)被檢查白箱測試「白箱測試」是測試軟體元件的內(nèi)部結(jié)構(gòu),檢查軟體元件是黑箱測試黑箱測試是依據(jù)軟體元件由外部所見的功能來測試軟體元件是否能夠正確執(zhí)行此類測試主要的目標(biāo)是以程式功能為導(dǎo)向通?!赴紫錅y試」會(huì)先做,確認(rèn)程式本身沒問題後才會(huì)執(zhí)行「黑箱測試」測試過程應(yīng)特別注意檢驗(yàn)輸入資料的最大可能值及最小可能值之執(zhí)行結(jié)果是否有誤

黑箱測試黑箱測試是依據(jù)軟體元件由外部所見的功能來測試軟體元件範(fàn)例假設(shè)有一個(gè)程式可針對最多50筆輸入的整數(shù)資料(值介於0~100之間)進(jìn)行排序,輸出為排序之結(jié)果執(zhí)行受測程式內(nèi)的每一個(gè)敘述至少一次,以確定程式?jīng)]有錯(cuò)誤,這類的測試模式屬於「白箱測試」若以最大值(100)和最小值(0),以及最靠近最大值(99)和最小值(1)的數(shù)值來做作為輸入資料,這種測試方法稱為邊界值分析法(boundarytesting),屬於「黑箱測試」的一種範(fàn)例假設(shè)有一個(gè)程式可針對最多50筆輸入的整數(shù)資料(值介於0系統(tǒng)轉(zhuǎn)換當(dāng)系統(tǒng)完成了程式設(shè)計(jì)與測試後,便進(jìn)入上線前的系統(tǒng)轉(zhuǎn)換階段系統(tǒng)轉(zhuǎn)換應(yīng)考慮到新舊交替的適應(yīng)性問題,同時(shí)程式雖然經(jīng)過測試,但是多半是在模擬的情況下進(jìn)行,在真實(shí)的工作環(huán)境下可能會(huì)發(fā)生事先未曾料到的問題,因此系統(tǒng)轉(zhuǎn)換的過程就顯得十分重要系統(tǒng)轉(zhuǎn)換是指由一個(gè)舊系統(tǒng)轉(zhuǎn)換為新系統(tǒng),通常是系統(tǒng)開發(fā)過程中的最後一個(gè)步驟系統(tǒng)轉(zhuǎn)換當(dāng)系統(tǒng)完成了程式設(shè)計(jì)與測試後,便進(jìn)入上線前的系統(tǒng)轉(zhuǎn)系統(tǒng)轉(zhuǎn)換的方式直接轉(zhuǎn)換(directconversion)平行轉(zhuǎn)換(parallelconversion)試辦轉(zhuǎn)換(pilotconversion)漸進(jìn)式轉(zhuǎn)換(phase-inconversion)系統(tǒng)轉(zhuǎn)換的方式直接轉(zhuǎn)換(directconversion直接轉(zhuǎn)換直接轉(zhuǎn)換又稱為立即轉(zhuǎn)換(immediateconversion)以新系統(tǒng)立即完全替換舊系統(tǒng)若要採用直接轉(zhuǎn)換法必須滿足以下條件新系統(tǒng)已經(jīng)測試完全並保證不會(huì)有任何問題本轉(zhuǎn)換法是最簡單的轉(zhuǎn)換方式,系統(tǒng)轉(zhuǎn)換的成本最低風(fēng)險(xiǎn)最高,因?yàn)橐坏┡f系統(tǒng)完全被取代而新系統(tǒng)卻無法正常運(yùn)作,會(huì)有很大之影響直接轉(zhuǎn)換直接轉(zhuǎn)換又稱為立即轉(zhuǎn)換(immediateconv平行轉(zhuǎn)換平行轉(zhuǎn)換方式適合較複雜的系統(tǒng)在轉(zhuǎn)換的過程中(通常是二至三週),新舊系統(tǒng)同時(shí)運(yùn)作所有的作業(yè)新舊系統(tǒng)皆同時(shí)處理,藉此檢驗(yàn)新系統(tǒng)之運(yùn)作是否正常,待新系統(tǒng)可以正常後才停止舊系統(tǒng)之運(yùn)作本法十分可靠方法但成本很高

平行轉(zhuǎn)換平行轉(zhuǎn)換方式適合較複雜的系統(tǒng)試辦轉(zhuǎn)換利用過去的資料供新系統(tǒng)進(jìn)行處理,然後再與舊系統(tǒng)之結(jié)果比較此法可對新系統(tǒng)做全面性之檢測,因此安全性較高本方法可以讓新系統(tǒng)在轉(zhuǎn)換前徹底被測試,並可讓系統(tǒng)管理人員熟悉新系統(tǒng)之操作系統(tǒng)可靠度較高,但成本很高

試辦轉(zhuǎn)換利用過去的資料供新系統(tǒng)進(jìn)行處理,然後再與舊系統(tǒng)之結(jié)果漸進(jìn)式轉(zhuǎn)換本法混合上述至少兩種的轉(zhuǎn)換方法且將系統(tǒng)細(xì)分成數(shù)個(gè)部份,各個(gè)部份分批且可能利用不同轉(zhuǎn)換方法進(jìn)行轉(zhuǎn)換工作漸進(jìn)式轉(zhuǎn)換本法混合上述至少兩種的轉(zhuǎn)換方法且將系統(tǒng)細(xì)分成數(shù)個(gè)部軟體開發(fā)模式軟體開發(fā)通常會(huì)包含分析、設(shè)計(jì)與製作三個(gè)主要階段常用的軟體開發(fā)模式「建構(gòu)修改循環(huán)模式」「瀑布式開發(fā)模式」軟體開發(fā)模式軟體開發(fā)通常會(huì)包含分析、設(shè)計(jì)與製作三個(gè)主要階段建構(gòu)修改循環(huán)模式(buildandfixedmodel)本模式的作法是先推出一個(gè)初始版本給使用者使用,再根據(jù)使用者的回應(yīng)意見持續(xù)修改系統(tǒng),這個(gè)修改的過程要持續(xù)進(jìn)行到使用者滿意後才會(huì)結(jié)束系統(tǒng)在使用一段時(shí)間之後,若發(fā)現(xiàn)程式有問題或功能不足,另一個(gè)修改循環(huán)將會(huì)開始,而這樣的循環(huán)會(huì)一直持續(xù)下去建構(gòu)修改循環(huán)模式(buildandfixedmodel建構(gòu)修改循環(huán)模式圖示若使用「建構(gòu)修改循環(huán)模式」將耗費(fèi)許多時(shí)間在「修改」的動(dòng)作上,如此一來將使得系統(tǒng)維護(hù)工作比較困難,無法對軟體之功能上做較大幅度的擴(kuò)充,進(jìn)而使得軟體品質(zhì)不佳建構(gòu)修改循環(huán)模式圖示若使用「建構(gòu)修改循環(huán)模式」將耗費(fèi)許多時(shí)間瀑布式開發(fā)模式(waterfallmodel)在本模式中必須將系統(tǒng)的開發(fā)流程定義成多個(gè)階段,各個(gè)階段的開始與結(jié)束均應(yīng)定義明確,不同階段間的轉(zhuǎn)換必須進(jìn)行審查,而且應(yīng)交付的文件也必須清楚定義,各個(gè)階段依順序執(zhí)行且僅循環(huán)一次若系統(tǒng)需求一旦變更,將導(dǎo)致後方的階段也必須變更,因此本模式存在相當(dāng)大的依存問題(dependency)通常這種開發(fā)模式比較適合大型的專案開發(fā),如作業(yè)系統(tǒng)或編譯程式等瀑布式開發(fā)模式(waterfallmodel)在本模式瀑布式開發(fā)模式圖示假設(shè)一系統(tǒng)的開發(fā)分為分析階段、設(shè)計(jì)階段及製作階段等三個(gè)階段,則其「瀑布式開發(fā)模式」將被定義如右圖瀑布式開發(fā)模式圖示假設(shè)一系統(tǒng)的開發(fā)分為分析階段、設(shè)計(jì)階段及製第12章系統(tǒng)分析與軟體工程

陳邦治編著旗標(biāo)出版社資電學(xué)院

計(jì)算機(jī)概論

F7810第12章陳邦治編著資電學(xué)院

計(jì)算機(jī)概論

F7810本章重點(diǎn)本章將介紹系統(tǒng)分析(systemanalysis)與軟體工程(softwareengineering)二個(gè)主題系統(tǒng)分析是指在設(shè)計(jì)系統(tǒng)前,對系統(tǒng)所進(jìn)行的分析工作軟體工程則是研究如何運(yùn)用系統(tǒng)化、規(guī)範(fàn)化及數(shù)量化等工程方法去進(jìn)行軟體的開發(fā)和維護(hù)軟體工程通常被分為軟體發(fā)展技術(shù)和軟體專案管理二部份,而系統(tǒng)分析是軟體發(fā)展技術(shù)的重要主題,所以可將系統(tǒng)分析視為軟體工程的一部份

本章重點(diǎn)本章將介紹系統(tǒng)分析(systemanalysis)大綱導(dǎo)論軟體開發(fā)生命週期

結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化軟體開發(fā)生命週期

軟體測試系統(tǒng)轉(zhuǎn)換

軟體開發(fā)模式7474大綱導(dǎo)論33導(dǎo)論電腦資訊系統(tǒng)開發(fā)過程中擔(dān)任編寫程式工作的人稱為程式設(shè)計(jì)師(programmer),而擔(dān)任規(guī)劃系統(tǒng)架構(gòu)工作的人則稱為系統(tǒng)分析師(SystemAnalyst;SA)電腦資訊系統(tǒng)品質(zhì)的優(yōu)劣絕大部份是取決於系統(tǒng)分析師所執(zhí)行的系統(tǒng)分析工作品質(zhì)的好壞,因此系統(tǒng)分析師的素質(zhì)及專業(yè)能力將會(huì)影響整體電腦資訊系統(tǒng)的運(yùn)作績效導(dǎo)論電腦資訊系統(tǒng)開發(fā)過程中擔(dān)任編寫程式工作的人稱為程式設(shè)計(jì)系統(tǒng)分析師主要的工作定義問題列出系統(tǒng)目標(biāo)蒐集資料分析及評(píng)估提出解決方案擬定系統(tǒng)開發(fā)計(jì)畫定義系統(tǒng)規(guī)格系統(tǒng)實(shí)作

系統(tǒng)分析師主要的工作定義問題執(zhí)行系統(tǒng)切割工作時(shí)應(yīng)注意事項(xiàng)系統(tǒng)分析工作會(huì)將系統(tǒng)切割成子系統(tǒng)(subsystem)子系統(tǒng)間的複雜度會(huì)與切割後的子系統(tǒng)數(shù)量成正比,但子系統(tǒng)內(nèi)部本身的複雜度會(huì)與切割後的子系統(tǒng)數(shù)量成反比;也就是說,切割後的子系統(tǒng)數(shù)量愈多,子系統(tǒng)間的複雜度將愈高,但子系統(tǒng)本身內(nèi)部的複雜度將愈低。盡量提高子系統(tǒng)本身之內(nèi)聚力(cohesion),但應(yīng)盡量降低子系統(tǒng)間之耦合力(coupling)執(zhí)行系統(tǒng)切割工作時(shí)應(yīng)注意事項(xiàng)系統(tǒng)分析工作會(huì)將系統(tǒng)切割成子系「軟體工程」基礎(chǔ)是一種可描述軟體工程產(chǎn)品特性的理論與科學(xué)之基礎(chǔ)是一種可對軟體工程產(chǎn)品與產(chǎn)品間關(guān)係建構(gòu)模式進(jìn)行推論的數(shù)學(xué)基礎(chǔ)是一種可對所發(fā)展的軟體產(chǎn)品之特性建立預(yù)測能力的基本原理「軟體工程」基礎(chǔ)是一種可描述軟體工程產(chǎn)品特性的理論與科學(xué)之傳統(tǒng)系統(tǒng)分析過程中,可能遭遇的問題使用者需求可能經(jīng)常變更使用者與系統(tǒng)分析師之間不易溝通使用者不易理解系統(tǒng)完整架構(gòu)系統(tǒng)不易分割,導(dǎo)致分工不易傳統(tǒng)系統(tǒng)分析過程中,可能遭遇的問題使用者需求可能經(jīng)常變更軟體開發(fā)生命週期傳統(tǒng)軟體開發(fā)生命週期分為九個(gè)階段初步分析與可行性研究細(xì)部分析初步設(shè)計(jì)硬體研究評(píng)估細(xì)部設(shè)計(jì)系統(tǒng)製作撰寫系統(tǒng)文件系統(tǒng)評(píng)估系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)軟體開發(fā)生命週期傳統(tǒng)軟體開發(fā)生命週期分為九個(gè)階段初步分析「初步分析」是依據(jù)使用者的需求對系統(tǒng)有初步的了解,本部分主要的工作是分析並瞭解問題確認(rèn)系統(tǒng)範(fàn)圍與目標(biāo)「初步分析」結(jié)束時(shí)會(huì)將結(jié)果撰寫成可行性分析文件,提供「可行性研究」階段使用初步分析「初步分析」是依據(jù)使用者的需求對系統(tǒng)有初步的了解,本可行性研究「可行性研究」主要是根據(jù)已知的相關(guān)資料研究評(píng)估新系統(tǒng)是否可行,評(píng)估的方向包括以下幾點(diǎn):成本因素:評(píng)估開發(fā)新系統(tǒng)所需支出的成本是否能接受社會(huì)因素:評(píng)估新系統(tǒng)是否能被使用者接受時(shí)間因素:評(píng)估開發(fā)新系統(tǒng)是否有足夠的時(shí)間技術(shù)因素:評(píng)估開發(fā)新系統(tǒng)所需的人力及設(shè)備是否足夠法律因素:評(píng)估新系統(tǒng)是否符合現(xiàn)行法令或?qū)砜赡苄抻喌男路畹囊?guī)定管理因素:評(píng)估新系統(tǒng)是否能有較佳的管理功能可行性研究「可行性研究」主要是根據(jù)已知的相關(guān)資料研究評(píng)估新系假設(shè)有一家販?zhǔn)圻\(yùn)動(dòng)彩卷的公司X想要開發(fā)一套資訊系統(tǒng)提供客戶利用手持式行動(dòng)裝置(例如手機(jī)或PDA),隨時(shí)隨地都可利用行動(dòng)電話業(yè)者提供的通訊連線服務(wù)登錄運(yùn)動(dòng)彩卷下注系統(tǒng)進(jìn)行下注,則此系統(tǒng)的可行性分析文件可能如下

假設(shè)有一家販?zhǔn)圻\(yùn)動(dòng)彩卷的公司X想要開發(fā)一套資訊系統(tǒng)提供客戶利細(xì)部分析輸入使用者需求及可行性分析文件。輸出確定系統(tǒng)的需求、範(fàn)圍及目標(biāo)後產(chǎn)生實(shí)體需求(physicalrequirement)及功能規(guī)格書(functionspecification)細(xì)部分析輸入初步設(shè)計(jì)輸入功能規(guī)格書輸出藉由把系統(tǒng)切割成子系統(tǒng)(subsystem),確定每個(gè)子系統(tǒng)在軟體、硬體及人工作業(yè)方面的規(guī)格,本階段輸出為系統(tǒng)規(guī)格書(systemspecification)初步設(shè)計(jì)輸入硬體研究評(píng)估輸入實(shí)體需求(細(xì)部分析階段的輸出)及硬體規(guī)格資料(初步設(shè)計(jì)階段的輸出)。輸出硬體組態(tài)描述(hardwareconfigurationdescription)及硬體訂單硬體研究評(píng)估輸入細(xì)部設(shè)計(jì)輸入系統(tǒng)規(guī)格書(初步設(shè)計(jì)階段的輸出)及硬體組態(tài)描述(硬體研究評(píng)估階段的輸出)。輸出程式規(guī)格書(programspecification),程式規(guī)格書中包括輸出入格式、人工作業(yè)流程、文件及表格、程式細(xì)部流程及實(shí)體資料庫等資料之設(shè)計(jì)細(xì)部設(shè)計(jì)輸入系統(tǒng)製作本階段的工作包括撰寫程式系統(tǒng)測試系統(tǒng)實(shí)際操作測試系統(tǒng)實(shí)施等系統(tǒng)製作本階段的工作包括撰寫系統(tǒng)文件編寫系統(tǒng)文件說明書(systemdocuments)撰寫系統(tǒng)文件編寫系統(tǒng)文件說明書(systemdocumen系統(tǒng)評(píng)估評(píng)估系統(tǒng)的優(yōu)缺點(diǎn)系統(tǒng)評(píng)估評(píng)估系統(tǒng)的優(yōu)缺點(diǎn)系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)藉由修改軟體使系統(tǒng)能符合使用者需求系統(tǒng)運(yùn)轉(zhuǎn)與維護(hù)藉由修改軟體使系統(tǒng)能符合使用者需求結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化分析是一種具嚴(yán)謹(jǐn)性及組織性的方法利用結(jié)構(gòu)化分析工具有容易學(xué)習(xí)及方便維護(hù)等優(yōu)點(diǎn)結(jié)構(gòu)化方法(structuredmethodology)是指利用結(jié)構(gòu)化分析工具來表達(dá)資料處理之過程常用的結(jié)構(gòu)化分析工具有以下四種資料流程圖資料字典資料結(jié)構(gòu)圖迷你規(guī)格書結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法結(jié)構(gòu)化分析是一種具嚴(yán)謹(jǐn)性及組織性資料流程圖「資料流程圖」的作法是將系統(tǒng)分成幾個(gè)部份,並利用圖形來描述系統(tǒng)中每個(gè)部份之間資料流動(dòng)的情形,並以網(wǎng)狀結(jié)構(gòu)來表示「資料流程圖」包含四個(gè)基本元件

處理程序(process)資料流(dataflow)源頭或終點(diǎn)(sourceorsink)資料儲(chǔ)存體(datastore)

資料流程圖「資料流程圖」的作法是將系統(tǒng)分成幾個(gè)部份,並利用圖「資料流程圖」的繪製原則先畫「資料流」,若資料必須轉(zhuǎn)換,則在轉(zhuǎn)換處「處理程序」符號(hào)。「資料儲(chǔ)存體」最後才處理「資料流」先命名,「處理程序」次之?!柑幚沓绦颉姑瓌t最的是由一個(gè)動(dòng)詞和一個(gè)名詞組成如果某個(gè)「處理程序」無法適當(dāng)命名,必須考慮是否應(yīng)與其他「處理程序」合併或自行執(zhí)行分割動(dòng)作「資料流程圖」的繪製原則先畫「資料流」,若資料必須轉(zhuǎn)換,則「資料流程圖」範(fàn)例教師與學(xué)生之間關(guān)於成績的輸入及輸出間的「資料流程圖」「資料流程圖」範(fàn)例教師與學(xué)生之間關(guān)於成績的輸入及輸出間的「「資料流程圖」的三個(gè)階層頂層(toplevel)「資料流程圖」只有一個(gè)尚未分割的處理程序,又稱為contextdiagram,本類流程圖可顯示出系統(tǒng)的範(fàn)圍(boundaries)底層(bottomdiagram)「資料流程圖」由一些不能再被分割的處理程序所構(gòu)成,此時(shí)每個(gè)處理程序代表一種基本功能中層(middlediagram)「資料流程圖」介於頂層「資料流程圖」及底層「資料流程圖」間的資料流程圖「資料流程圖」的三個(gè)階層頂層(toplevel)「資料流三個(gè)階層的「資料流程圖」範(fàn)例在上圖的範(fàn)例中,頂層只有一個(gè)名稱為1的處理程序,中層則是將處理程序1分割為三個(gè)子程序1.1、1.2及1.3。中層的三個(gè)子程序再各自切割為底層中不可再分割的處理程序三個(gè)階層的「資料流程圖」範(fàn)例在上圖的範(fàn)例中,頂層只有一個(gè)名資料字典「資料字典」是指所有在「資料流程圖」中所用到項(xiàng)目,分別是「處理程序」、「資料流」、「資料儲(chǔ)存體」及「資料元素」(dataelement)的邏輯定義集合「資料元素」是指不可再細(xì)分的資料流組成元素資料字典「資料字典」是指所有在「資料流程圖」中所用到項(xiàng)目,製作「資料字典」時(shí)應(yīng)遵守的原則資料定義應(yīng)簡單清楚且不可重複定義容易更新搜尋快速製作「資料字典」時(shí)應(yīng)遵守的原則資料定義應(yīng)簡單清楚且不可重複「資料字典」的運(yùn)算子「=」:表示「等於」?!福梗罕硎尽付鄠€(gè)元素依序出現(xiàn)」。例如成績單=準(zhǔn)考證號(hào)碼+姓名+國文成績+數(shù)學(xué)成績「{}」:表示在{}內(nèi)的資料出現(xiàn)0次、1次、...。比方說{考生姓名}的可能結(jié)果有無窮多種,如0位考生、1位考生、2位考生、……..「[]」:表示從多個(gè)元件中選擇一項(xiàng)。比方說代表由三個(gè)考場中選擇一個(gè)「()」:表示選擇或不選擇某一元件「*註解說明*」:表示在「*......*」間的內(nèi)容為註解「資料字典」的運(yùn)算子「=」:表示「等於」?!纲Y料字典」的階層化結(jié)構(gòu)階層化結(jié)構(gòu)是利用由上而下的方式來定義資料例如:考場=臺(tái)北考場+臺(tái)中考場+高雄考場臺(tái)北考場=臺(tái)大考場+師大考場+政大考場臺(tái)中考場=興大考場+東海考場+靜宜考場+逢甲考場高雄考場=中山考場臺(tái)大考場=電機(jī)系考場+資工系考場+醫(yī)學(xué)系考場+外文系考場+中文系考場……………「資料字典」的階層化結(jié)構(gòu)階層化結(jié)構(gòu)是利用由上而下的方式來定資料字典的組成資料字典包含四種不同的項(xiàng)目資料流項(xiàng)目資料元素項(xiàng)目資料儲(chǔ)存體項(xiàng)目處理程序項(xiàng)目資料字典的組成資料字典包含四種不同的項(xiàng)目資料流項(xiàng)目資料流項(xiàng)目由以下四部份所構(gòu)成資料流名稱(name)簡明易懂的名稱為佳別名(alias)若資料流有二個(gè)或二個(gè)以上的名稱,則這些不同的名稱彼此互為別名組成(composition)資料流的組成項(xiàng)目說明(notes)用來記錄其他有關(guān)的特性資料流項(xiàng)目資料流項(xiàng)目由以下四部份所構(gòu)成資料流項(xiàng)目範(fàn)例資料流項(xiàng)目範(fàn)例資料元素項(xiàng)目資料元素是指不能再被細(xì)分的資料流,由以下四部份所構(gòu)成:資料元素名稱(name)別名(alias)值和意義分為連續(xù)式(continuous)及離散式(discrete)二種說明(notes)資料元素項(xiàng)目資料元素是指不能再被細(xì)分的資料流,由以下四部份所資料元素範(fàn)例資料元素範(fàn)例資料儲(chǔ)存體項(xiàng)目資料儲(chǔ)存體名稱(name)別名(alias)組成(composition)組織(organization)組織欄位是用來描述檔案中記錄(record)的存取方式,如索引存取(indexaccess)或循序存取(sequentialaccess)等方法說明(notes)資料儲(chǔ)存體項(xiàng)目資料儲(chǔ)存體名稱(name)資料儲(chǔ)存體範(fàn)例資料儲(chǔ)存體範(fàn)例處理程序項(xiàng)目處理程序項(xiàng)目含以下四項(xiàng)處理程序名稱(name)編號(hào)描述處理程序的處理邏輯描述,通常使用結(jié)構(gòu)化英文、決策樹或決策表描述說明(notes)處理程序項(xiàng)目處理程序項(xiàng)目含以下四項(xiàng)處理程序範(fàn)例處理程序範(fàn)例資料結(jié)構(gòu)圖第三個(gè)要介紹的結(jié)構(gòu)化分析工具是「資料結(jié)構(gòu)圖」(DataStructureDiagram;DSD)「資料結(jié)構(gòu)圖」是用於顯示資料儲(chǔ)存體中,各種資料的存取途徑及描述系統(tǒng)中檔案間的關(guān)係或是資料庫組織架構(gòu)資料結(jié)構(gòu)圖第三個(gè)要介紹的結(jié)構(gòu)化分析工具是「資料結(jié)構(gòu)圖」(D「資料結(jié)構(gòu)圖」之繪製原則一個(gè)資料儲(chǔ)存體(或檔案)利用一個(gè)方形來表示,該資料儲(chǔ)存體的存取鍵(accesskey)標(biāo)示在此圖形的上半部如果資料儲(chǔ)存體X能夠存取資料儲(chǔ)存體Y時(shí),則用箭頭線連結(jié)兩個(gè)資料儲(chǔ)存體,箭頭的方向是由X到Y(jié)。若欲執(zhí)行存取動(dòng)作時(shí),X與Y的存取鍵不同時(shí),應(yīng)把名稱註明在箭頭線旁邊,相同時(shí)則可不寫若被允許存取某個(gè)資料儲(chǔ)存體,則該資料儲(chǔ)存體以及該資料儲(chǔ)存體在資料結(jié)構(gòu)圖中所指向的任何資料儲(chǔ)存體的內(nèi)容均可被存取「資料結(jié)構(gòu)圖」之繪製原則一個(gè)資料儲(chǔ)存體(或檔案)利用一個(gè)方「資料結(jié)構(gòu)圖」範(fàn)例「資料結(jié)構(gòu)圖」範(fàn)例迷你規(guī)格書第四個(gè)要介紹的結(jié)構(gòu)化分析工具是「迷你規(guī)格書」(mini-specification)「迷你規(guī)格書」是「資料字典」中用來描述階層化「資料流程圖」中最底層處理程序的基本功能製作「迷你規(guī)格書」必須符合簡潔且完整之規(guī)定

迷你規(guī)格書第四個(gè)要介紹的結(jié)構(gòu)化分析工具是「迷你規(guī)格書」(m「迷你規(guī)格書」製作原則在階層化的資料流程圖中的每一個(gè)最底層處理程序均必須有對應(yīng)的「迷你規(guī)格書」來描述,其內(nèi)容必須包含該處理程序的輸入和輸出資料流的轉(zhuǎn)變原則描述「做什麼?」(Whattodo?),不必描述「如何做?」(Howtodo?)「迷你規(guī)格書」的內(nèi)容和「結(jié)構(gòu)化規(guī)格書」的內(nèi)容不得重複「迷你規(guī)格書」的內(nèi)容應(yīng)盡量不重覆,也就是達(dá)到正交(orthogonal)的目標(biāo)「迷你規(guī)格書」製作原則在階層化的資料流程圖中的每一個(gè)最底層「迷你規(guī)格書」內(nèi)容「迷你規(guī)格書」內(nèi)容「結(jié)構(gòu)化英語」(structuredEnglish)「結(jié)構(gòu)化英語」(structuredEnglish)是「迷你規(guī)格書」的一種作法「結(jié)構(gòu)化英語」是用英語來表達(dá)計(jì)算過程,主要的處理對象是邏輯結(jié)構(gòu)較複雜且包含重覆結(jié)構(gòu)敘述之問題「結(jié)構(gòu)化英語」的限制是僅提供結(jié)構(gòu)化程式設(shè)計(jì)之三大結(jié)構(gòu):循序、選擇及反覆結(jié)構(gòu)的語法規(guī)則。用英語來表達(dá)計(jì)算過程「結(jié)構(gòu)化英語」(structuredEnglish)「結(jié)結(jié)構(gòu)化英語使用的字彙在結(jié)構(gòu)化英語中使用的字彙有以下三種在資料字典中已定義的字彙循序、選擇及反覆結(jié)構(gòu)中的保留字如for、while、if-then-else等命令式動(dòng)詞結(jié)構(gòu)化英語使用的字彙在結(jié)構(gòu)化英語中使用的字彙有以下三種「結(jié)構(gòu)化英語」特點(diǎn)不需語言處理器加以處理,因此較不受語法之限制具高度之機(jī)器獨(dú)立性可幫助檢查設(shè)計(jì)之邏輯觀念是否正確英語不佳者難以使用

通常用來表達(dá)程式的計(jì)算過程的演算法若是以英語來寫作便可視為是以結(jié)構(gòu)化英語來設(shè)計(jì)的方法

「結(jié)構(gòu)化英語」特點(diǎn)不需語言處理器加以處理,因此較不受語法之結(jié)構(gòu)化軟體開發(fā)生命週期本節(jié)將介紹利用前節(jié)介紹的結(jié)構(gòu)化分析工具及結(jié)構(gòu)化方法設(shè)計(jì)出來的「結(jié)構(gòu)化軟體開發(fā)生命週期」之相關(guān)細(xì)節(jié)結(jié)構(gòu)化軟體開發(fā)生命週期本節(jié)將介紹利用前節(jié)介紹的結(jié)構(gòu)化分析工「結(jié)構(gòu)化軟體開發(fā)生命週期」五個(gè)階段初步分析與可行性研究結(jié)構(gòu)化分析階段

結(jié)構(gòu)化設(shè)計(jì)階段系統(tǒng)製作階段

系統(tǒng)維護(hù)階段「結(jié)構(gòu)化軟體開發(fā)生命週期」五個(gè)階段初步分析與可行性研究初步分析與可行性研究本階段主要的工作分為二項(xiàng)「初步分析」期望能初步瞭解系統(tǒng)的目的、功能、需求、作業(yè)流程、及限制條件等事項(xiàng)?!缚尚行匝芯俊?feasibilitystudy)根據(jù)已知的相關(guān)資料研究評(píng)估是否有足夠的金錢與時(shí)間來完成系統(tǒng),並將結(jié)果撰寫成文件,提供給下一個(gè)分析階段來使用初步分析與可行性研究本階段主要的工作分為二項(xiàng)結(jié)構(gòu)化分析階段本階段包含七個(gè)子階段目前系統(tǒng)環(huán)境研究目前邏輯資料流程圖推導(dǎo)產(chǎn)生出新的邏輯系統(tǒng)得到新的邏輯資料流程圖、迷你規(guī)格書以及資料字典決定系統(tǒng)自動(dòng)化的程度量化選擇得到成本與效益研究報(bào)告選擇根據(jù)新的實(shí)體資料流程圖以及成本效益研究報(bào)告,加以選擇,產(chǎn)生出所要的實(shí)體需求,預(yù)算及進(jìn)度規(guī)劃產(chǎn)生「結(jié)構(gòu)化規(guī)格書」將「迷你規(guī)格書」、「資料字典」及選擇好的「資料流程圖」,加以整理成「結(jié)構(gòu)化規(guī)格書」結(jié)構(gòu)化分析階段本階段包含七個(gè)子階段結(jié)構(gòu)化設(shè)計(jì)階段本階段包含「推導(dǎo)出結(jié)構(gòu)圖」「推導(dǎo)出結(jié)構(gòu)圖」是根據(jù)資料流程圖導(dǎo)出結(jié)構(gòu)圖「模組設(shè)計(jì)」「包裝設(shè)計(jì)」「包裝設(shè)計(jì)」則是得到設(shè)計(jì)結(jié)果及測試計(jì)畫結(jié)構(gòu)化設(shè)計(jì)階段本階段包含系統(tǒng)製作階段系統(tǒng)製作階段主要應(yīng)進(jìn)行的工作撰寫程式碼(coding)測試測試工作分為白箱測試(white-boxtesting)與黑箱測試(black-boxtesting)二類系統(tǒng)文件撰寫系統(tǒng)評(píng)鑑等工作系統(tǒng)製作階段系統(tǒng)製作階段主要應(yīng)進(jìn)行的工作系統(tǒng)維護(hù)階段系統(tǒng)維護(hù)是指修改軟體使其能滿足目前的需求系統(tǒng)維護(hù)是一種高成本的工作系統(tǒng)維護(hù)階段系統(tǒng)維護(hù)是指修改軟體使其能滿足目前的需求「結(jié)構(gòu)化軟體開發(fā)生命週期」各個(gè)階段之關(guān)連圖

「結(jié)構(gòu)化軟體開發(fā)生命週期」各個(gè)階段之關(guān)連圖軟體測試測試階段的工作是檢測在製作階段完成之成品的正確性常見的測試法「白箱測試」「黑箱測試」軟體測試測試階段的工作是檢測在製作階段完成之成品的正確性白箱測試「白箱測試」是測試軟體元件的內(nèi)部結(jié)構(gòu),檢查軟體元件是否能依照設(shè)計(jì)正確無錯(cuò)誤的執(zhí)行本技術(shù)的測試實(shí)例是以程式的控制結(jié)構(gòu)(controlstructure)為依據(jù)進(jìn)而設(shè)計(jì)而得,包括的測試細(xì)節(jié)如下測試所有內(nèi)部資料結(jié)構(gòu)對於所有含有「條件結(jié)構(gòu)」及「反覆結(jié)構(gòu)」中的布林運(yùn)算式之所有可能值均必須被執(zhí)行過對於所有「反覆結(jié)構(gòu)」的內(nèi)部敘述與所有條件可能值均須檢查確保程式中的每一組「獨(dú)立路徑」控制流程均應(yīng)被檢查白箱測試「白箱測試」是測試軟體元件的內(nèi)部結(jié)構(gòu),檢查軟體元件是黑箱測試黑箱測試是依據(jù)軟體元件由外部所見的功能來測試軟體元件是否能夠正確執(zhí)行此類測試主要的目標(biāo)是以程式功能為導(dǎo)向通常「白箱測試」會(huì)先做,確認(rèn)程式本身沒問題後才會(huì)執(zhí)行「黑箱測試」測試過程應(yīng)特別注意檢驗(yàn)輸入資料的最大可能值及最小可能值

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論