系统分析与软体工程课件_第1页
系统分析与软体工程课件_第2页
系统分析与软体工程课件_第3页
系统分析与软体工程课件_第4页
系统分析与软体工程课件_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章系統分析與軟體工程

陳邦治編著旗標出版社資電學院

計算機概論

F7810第12章陳邦治編著資電學院

計算機概論

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

本章重點本章將介紹系統分析(systemanalysis)大綱導論軟體開發生命週期

結構化分析工具及結構化方法結構化軟體開發生命週期

軟體測試系統轉換

軟體開發模式33大綱導論33導論電腦資訊系統開發過程中擔任編寫程式工作的人稱為程式設計師(programmer),而擔任規劃系統架構工作的人則稱為系統分析師(SystemAnalyst;SA)電腦資訊系統品質的優劣絕大部份是取決於系統分析師所執行的系統分析工作品質的好壞,因此系統分析師的素質及專業能力將會影響整體電腦資訊系統的運作績效導論電腦資訊系統開發過程中擔任編寫程式工作的人稱為程式設計系統分析師主要的工作定義問題列出系統目標蒐集資料分析及評估提出解決方案擬定系統開發計畫定義系統規格系統實作

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

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

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

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

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

通常用來表達程式的計算過程的演算法若是以英語來寫作便可視為是以結構化英語來設計的方法

「結構化英語」特點不需語言處理器加以處理,因此較不受語法之結構化軟體開發生命週期本節將介紹利用前節介紹的結構化分析工具及結構化方法設計出來的「結構化軟體開發生命週期」之相關細節結構化軟體開發生命週期本節將介紹利用前節介紹的結構化分析工「結構化軟體開發生命週期」五個階段初步分析與可行性研究結構化分析階段

結構化設計階段系統製作階段

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

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

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

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

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

陳邦治編著旗標出版社資電學院

計算機概論

F7810第12章陳邦治編著資電學院

計算機概論

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

本章重點本章將介紹系統分析(systemanalysis)大綱導論軟體開發生命週期

結構化分析工具及結構化方法結構化軟體開發生命週期

軟體測試系統轉換

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

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

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

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

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

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

通常用來表達程式的計算過程的演算法若是以英語來寫作便可視為是以結構化英語來設計的方法

「結構化英語」特點不需語言處理器加以處理,因此較不受語法之結構化軟體開發生命週期本節將介紹利用前節介紹的結構化分析工具及結構化方法設計出來的「結構化軟體開發生命週期」之相關細節結構化軟體開發生命週期本節將介紹利用前節介紹的結構化分析工「結構化軟體開發生命週期」五個階段初步分析與可行性研究結構化分析階段

結構化設計階段系統製作階段

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

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论