第2章 可行性分析_第1頁
第2章 可行性分析_第2頁
第2章 可行性分析_第3頁
第2章 可行性分析_第4頁
第2章 可行性分析_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章可行性研究2.1可行性研究的任務2.2可行性研究過程2.3系統流程圖2.4數據流圖2.5數據字典2.6成本/效益分析2.7小結開始問題定義可性行研究可行否?項目實施計劃終止項目的建議結束YN問題的定義與可性行研究Who

為誰設計,用戶是誰?What

要解決哪些問題?Why

為什么要解決這些問題

有用的軟件

3W可行性研究目的:用最小的代價在盡可能短的時間內確定問題是否能夠解決。不是解決問題,而是確定問題是否值得去解決。說明該軟件開發項目的實現在技術上、經濟上和社會條件上的可行性;評述為合理地達到開發目標可能選擇的各種方案。

GB8567-88《計算機軟件產品開發文件編制指南》2.1可行性研究的任務

可行性研究的主要任務是“了解客戶的要求及現實環境,從技術、經濟和社會因素等三方面研究并論證本軟件項目的可行性,編寫可行性研究報告,制定初步項目開發計劃。”

GB8566-88《計算機軟件開發規范》

可行性研究的最根本任務

對軟件開發以后的行動方針提出建議。可行性研究的內容(1)技術可行性(2)經濟可行性(3)操作可行性(4)社會可行性(法律可行性)(5)抉擇技術可行性

度量一個特定技術信息系統解決方案的實用性及技術資源的可用性考慮的問題(1)開發風險分析(2)資源分析(3)相關技術的發展(現有技術能否實現新系統,技術難點、建議采用技術的先進性)經濟可行性度量系統解決方案的性能價格比。考慮的問題成本/效益分析(開發、運行的成本/效益)有形成本、效益無形成本、效益價值和成本的關系質量與價值、成本的關系價值/成本的均衡舉例

12345

年6040200成本-效益(萬元)該系統節省經費該系統成本盈虧平衡點投資回收期---------成本及效益分析圖操作可行性用戶使用可能性時間進度可行性組織和文化上的可行性2.2可行性研究過程1.復查系統規模和目標2.研究目前正在使用的系統3.導出新系統的高層邏輯模型4.進一步定義問題5.導出和評價供選擇的解法6.推薦行動方針7.草擬開發計劃8.書寫文檔提交審查典型的可行性研究過程有下述一些步驟。1.復查系統規模和目標分析員訪問關鍵人員,仔細閱讀和分析有關的材料,以便對問題定義階段書寫的關于規模和目標的報告書進一步復查確認,改正含糊或不確切的敘述,清晰地描述對目標系統的一切限制和約束。這個步驟的工作,實質上是為了確保分析員正在解決的問題確實是要求他解決的問題。2.研究目前正在使用的系統現有的系統是信息的重要來源。新的目標系統必須也能完成它的基本功能;另一方面,如果現有的系統是完美無缺的,用戶自然不會提出開發新系統的要求,因此,現有的系統必然有某些缺點,新系統必須能解決舊系統中存在的問題。此外,運行使用舊系統所需要的費用是一個重要的經濟指標,如果新系統不能增加收入或減少使用費用,那么從經濟角度看新系統就不如舊系統。應該仔細閱讀分析現有系統的文檔資料和使用手冊,也要實地考察現有的系統。應該注意了解這個系統可以做什么,為什么這樣做,還要了解使用這個系統的代價。在了解上述這些信息的時候顯然必須訪問有關的人員。常見的錯誤做法是花費過多時間去分析現有的系統。這個步驟的目的是了解現有系統能做什么,而不是了解它怎樣做這些工作。分析員應該畫出描繪現有系統的高層系統流程圖(見2.3節),并請有關人員檢驗他對現有系統的認識是否正確。千萬不要花費太多時間去了解和描繪現有系統的實現細節。沒有一個系統是在“真空”中運行的,絕大多數系統都和其他系統有聯系。應該注意了解并記錄現有系統和其他系統之間的接口情況,這是設計新系統時的重要約束條件。3.導出新系統的高層邏輯模型優秀的設計過程通常總是從現有的物理系統出發,導出現有系統的邏輯模型,再參考現有系統的邏輯模型,設想目標系統的邏輯模型,最后根據目標系統的邏輯模型建造新的物理系統。通過前一步的工作,分析員對目標系統應該具有的基本功能和所受的約束已有一定了解,能夠使用數據流圖(參看2.4節),描繪數據在系統中流動和處理的情況,從而概括地表達出他對新系統的設想。通常為了把新系統描繪得更清晰準確,還應該有一個初步的數據字典(參看2.5節),定義系統中使用的數據。數據流圖和數據字典共同定義了新系統的邏輯模型,以后可以從這個邏輯模型出發設計新系統。4.進一步定義問題新系統的邏輯模型實質上表達了分析員對新系統必須做什么的看法。分析員應該和用戶一起再次復查問題定義、工程規模和目標,這次復查應該把數據流圖和數據字典作為討論的基礎。如果分析員對問題有誤解或者用戶曾經遺漏了某些要求,那么現在是發現和改正這些錯誤的時候了。可行性研究的前4個步驟實質上構成一個循環。分析員定義問題,分析這個問題,導出一個試探性的解;在此基礎上再次定義問題,再一次分析這個問題,修改這個解;繼續這個循環過程,直到提出的邏輯模型完全符合系統目標。5.導出和評價供選擇的解法分析員應該從他建議的系統邏輯模型出發,導出若干個較高層次的(較抽象的)物理解法供比較和選擇。導出供選擇的解法的最簡單的途徑,是從技術角度出發考慮解決問題的不同方案。還可以使用組合的方法導出若干種可能的物理系統。當從技術角度提出了一些可能的物理系統之后,應該根據技術可行性的考慮初步排除一些不現實的系統。把技術上行不通的解法去掉之后,就剩下了一組技術上可行的方案。其次可以考慮操作方面的可行性。分析員應該根據使用部門處理事務的原則和習慣檢查技術上可行的那些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。接下來應該考慮經濟方面的可行性。分析員應該估計余下的每個可能的系統的開發成本和運行費用,并且估計相對于現有的系統而言這個系統可以節省的開支或可以增加的收入。在這些估計數字的基礎上,對每個可能的系統進行成本/效益分析(參看2.6節)。一般說來,只有投資預計能帶來利潤的系統才值得進一步考慮。最后為每個在技術、操作和經濟等方面都可行的系統制定實現進度表,這個進度表不需要(也不可能)制定得很詳細,通常只需要估計生命周期每個階段的工作量。6.推薦行動方針根據可行性研究結果應該做出的一個關鍵性決定是,是否繼續進行這項開發工程。分析員必須清楚地表明他對這個關鍵性決定的建議。如果分析員認為值得繼續進行這項開發工程,那么他應該選擇一種最好的解法,并且說明選擇這個解決方案的理由。通常使用部門的負責人主要根據經濟上是否劃算決定是否投資于一項開發工程,因此分析員對于所推薦的系統必須進行比較仔細的成本/效益分析。7.草擬開發計劃分析員應該為所推薦的方案草擬一份開發計劃,除了制定工程進度表之外還應該估計對各類開發人員和各種資源的需要情況,應該指明什么時候使用以及使用多長時間。此外還應該估計系統生命周期每個階段的成本。最后應該給出下一個階段(需求分析)的詳細進度表和成本估計。8.書寫文檔提交審查應該把上述可行性研究各個步驟的工作結果寫成清晰的文檔,請用戶、客戶組織的負責人及評審組審查,以決定是否繼續這項工程及是否接受分析員推薦的方案。可行性研究報告的編寫1引言

1.1編寫目的

1.2背景

1.3定義

1.4參考資料2可行性研究的前提

2.1要求

2.2目標

2.3條件、假定和限制

2.4進行可行性研究的方法

2.5評價尺度可行性研究報告的編寫3對現有系統的分析

3.1數據流程和處理流程

3.2工作負荷

3.3費用開支

3.4人員

3.5設備

3.6局限性4所建議的系統

4.1對所建議系統的說明

4.2數據流程和處理流程

4.3改進之處

4.4影響

4.5局限性

4.6技術條件方面的可行性可行性研究報告的編寫5可選擇的其它系統方案

5.1可選擇的其它系統15.2可選擇的其它系統2

......6投資及收益分析

6.1支出

6.2收益

6.3收益/投資比

6.4投資回收周期

6.5敏感性分析7社會條件方面的可行性

7.1法律方面的可行性

7.2使用方面的可行性2.3系統流程圖系統流程圖是概括地描繪物理系統的傳統工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系統的每個部件(程序,文檔,數據庫,人工過程等)。系統流程圖表達的是數據在系統各部件之間流動的情況,而不是對數據進行加工處理的控制過程,因此盡管系統流程圖的某些符號和程序流程圖的符號形式相同,但是它卻是物理數據流圖而不是程序流程圖。基本符號

----以概括的方式抽象地描繪一個實際系統所用符號

---

具體地描繪一個物理系統所用符號系統符號圖2.3庫存清單系統的系統流程圖2.4數據流圖

DFD----DataFlowDiagram一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。在數據流圖中沒有任何具體的物理部件,它只是描繪數據在軟件中流動和被處理的邏輯過程,是系統邏輯功能的圖形表示。設計數據流圖時只需考慮系統必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現這些功能,所以它也是今后進行軟件設計的很好的出發點。數據流圖四種基本符號數據加工/處理/變換數據源點或終點(外部實體)數據流(dataflow)數據存儲文件或或或數據流圖幾種附加符號數據流圖的層次結構為了表達數據處理過程的數據加工情況,需要采用層次結構的數據流圖。按照系統的層次結構進行逐步分解,并以分層的數據流圖反映這種結構關系,能清楚地表達和容易理解整個系統。在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發系統。它的輸入流是該系統的輸入數據,輸出流是系統所輸出數據。底層流圖是指其加工不需再做分解的數據流圖,它處在最底層。中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續細化,形成子圖。分層的數據流圖----

系統邏輯模型數據的加工或變換輸入輸出軟件系統外部實體外部實體……外部實體外部實體……輸入數據流輸入數據流輸出數據流輸出數據流分層的數據流圖

F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n

層第n+2

層舉例

學生購買教材系統學生教材購銷系統購書單領書單缺書單進書通知進書通知保管員1銷售購書單領書單學生缺書單進書通知2采購保管員第1

層第2

層教材存量表F1缺書登記表F2外部實體外部實體教材銷售子系統無效書單購書單1.3登記并開領書單1.2開發票1.1審查有效性1.4登記缺書1.5補售教材采購學生學生進書通知有效書單發票領書單暫缺書單1銷售購書單領書單缺書單進書通知2采購進書通知缺書登記表教材存量表學生保管員第2

層補售書單第3層教材存量表F1缺書登記表F2

F1書號單價數量各班用書表F3售書登記表F4外部項1銷售購書單領書單缺書單進書通知2采購進書通知缺書登記表教材存量表學生保管員采購子系統

第2層第3

層缺書單2.3修改教材庫存和待購量銷售進書通知進書通知2.1按書號匯總缺書2.2按出版社統計缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F2.便于實現.便于使用---采用逐步細化的擴展方法,可避免一次引入過多的細節,有利于控制問題的復雜度;

---用一組圖代替一張總圖,方便用戶及

軟件開發人員閱讀。分層DFD圖的優點

1)

為數據流(或數據存儲)命名(1)名字應代表整個數據流(或數據存儲)的內容,而不是僅僅反映它的某些成分。(2)不要使用空洞的、缺乏具體含義的名字(如“數據”、“信息”、“輸入”之類)。(3)如果在為某個數據流(或數據存儲)起名字時遇到了困難,則很可能是因為對數據流圖分解不恰當造成的,應該試試重新分解,看是否能克服這個困難。畫分層DFD

的指導原則

1.注意數據流圖中成分的命名

2)為處理命名(1)通常先為數據流命名,然后再為與之相關聯的處理命名。這樣命名比較容易,而且體現了人類習慣的“由表及里”的思考過程。(2)名字應該反映整個處理的功能,而不是它的一部分功能。(3)名字最好由一個具體的及物動詞加上一個具體的賓語組成。應該盡量避免使用“加工”、“處理”等空洞籠統的動詞作名字。(4)通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰當些。(5)如果在為某個處理命名時遇到困難,則很可能是發現了分解不當的跡象,應考慮重新分解。畫分層DFD

的指導原則

畫分層DFD

的指導原則2.注意父圖和子圖的平衡/balanceorcoherence發票1.3開領書單領書單(a)父圖1.3.1學生領書單1.3.21.3.3教材(a)子圖

畫分層DFD的指導原則3.區分局部文件和局部外部項1銷售購書單領書單缺書單進書通知2采購進書通知缺書登記表教材存量表學生保管員采購子系統

第2層第3

層缺書單2.3修改教材庫存和待購量銷售進書通知進書通知2.1按書號匯總缺書2.2按出版社統計缺書保管員教材存量表F1待購教材表F5教材一覽表F6缺書登記表F2局部外部項局部文件畫分層DFD

的指導原則4.掌握分解的速度

一般來說,每一個加工每次可分為2-4個子加工,最多不得超過7個。5.遵守加工編號規則頂層加工不編號。第二層的加工編號為1,2,3,…,n號。第三層編號為1.1,1.2,1.3…n.1,n.2…等號,依此類推。2.5數據字典

&用途

DD(DataDictionary)

數據流圖和數據字典共同構成系統的邏輯模型

沒有數據字典數據流圖就不嚴格,沒有數據流圖數據字典也難于發揮作用。數據字典的任務是:對于數據流圖中出現的所有被命名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。數據字典的內容一般說來,數據字典應該由對下列4類元素的定義組成:(1)數據流(2)數據流分量(即數據元素)(3)數據存儲(4)處理數據流名:說明:簡要介紹作用,即它產生的原因和結果。數據流來源:即該數據流來自何方。數據流去向:去向何處。數據流組成:數據結構。每個數據量流通量:數據量、流通量。(1)數據流詞條的描述

數據流名:發票說明:用作學生已付書款的依據數據流來源:來自加工“審查并開發票”數據流去向:流向加工“開領書單”。數據流組成:學號+姓名+書號+單價總價+書費合計審查并開發票發票購書單

數據元素名:類型:數字(離散值、連續值),文字(編碼類型)長度:取值范圍:相關的數據元素及數據結構

(2)數據元素詞條的描述

年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金額=“00000000.01”..“999999999.99”……定義數據符號符號含義例子

=被定義為+與[]x=a+b,則表示x

由a和

b

組成x=[a,b],則表示x

由a或由

b

組成{}或重復x={a},則表示x

由0個或多個a組成()可選

表示在兩個*

之間的內容為詞條的注釋m{}n重復x=3{a}8,則表示x中至少出現3次a,最多出現8次*…*注釋符

x=(a),則表示a在x中出現,也可不出現例:存折格式日期(年月日)摘要支出存入余額操作復核戶名:所號:帳號:開戶日:性質:印密:存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}20戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質=“1”..“6”

注:“1”表示普通戶,…“6”表示工資戶等印密=“0”

注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金額金額=“00000000.01”..“999999999.99”……(3)數據存儲詞條的描述

數據存儲名:簡述:存放的是什么數據。

數據組成:數據結構。存儲方式:順序,直接,關鍵碼。存取頻率:……審查并開發票學生發票購書單各班學生用書表教材存量表

加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數據流:取值范圍:相關的數據元素及數據結構……(4)加工邏輯詞條的描述

1.3審查并開發票學生發票購書單各班學生用書表教材存量表注:加工說明

----(ProcessSpecification)

加工說明是:對DFD中每個加工給予說明。它是從系統功能的角度對DFD作出了注解,與DD一樣是DFD必不可缺少的輔助資料。PS對數據流圖的每一個基本加工,必須有一個基本加工邏輯說明。基本加工邏輯說明必須描述基本加工如何把輸入數據流變換為輸出數據流的加工規則。加工邏輯說明必須描述實現加工的策略而不是實現加工的細節。加工邏輯說明中包含的信息應是充足的,完備的,有用的,無冗余的。加工邏輯說明加工說明組成輸入數據加工邏輯輸出數據加工說明描述工具結構化語言判定表判定樹

描述把輸入數據流變換為輸出數據流的加工過程,是加工說明的主體。自然語言+結構化形式(1)結構化語言選擇結構如果<條件><策略>

If<condition><policy>如果<條件>

則<策略1>

否則<策略2>情況1<條件><策略1>……情況n<條件><策略n>If<condition>

then<policy1>Otherwise<policy2>case1<condition><policy1>……casen<condition><policyn>循環結構對

…,<策略>重復以下<策略>直至<條件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>商店業務處理系統中“檢查發貨單”if發貨單金額超過$500thenif欠款超過了60天then

在償還欠款前不予批準

else(欠款未超期)發批準書,發貨單

else(發貨單金額未超過$500)

if欠款超過60天then

發批準書,發貨單及賒欠報告

else(欠款未超期)發批準書,發貨單

(2)判定表如果數據流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適以“檢查發貨單”為例(3)判定樹判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。檢查發貨單金額>$500金額$500欠款>60天不發出批準書欠款60天發出批準書、發貨單欠款>60天發出批準書、發貨單及賒欠報告欠款60天發出批準書、發貨單

名稱:外部實體名簡要描述:什么外部實體有關數據流:數目:(5)外部實體詞條描述

1銷售購書單領書單缺書單進書通知2采購進書通知缺書登記表教材存量表學生保管員CASE結構化分析與設計工具(大型軟件)卡片形式/excel

orrecordinfile(小型軟件)卡片應該包含下述信息:名字、別名、描述、定義、位置。2.5.4數據字典的實現2.6成本/效益分析

成本/效益分析的目的:從經濟角度分析開發一個特定的新系統是否劃算,從而幫助客戶組織的負責人正確地作出是否投資于這項開發工程的決定。

2.6.1

成本估計---人力成本估計

軟件開發成本主要表現為人力消耗

(乘以平均工資則得到開發費用)

估算技術

1.代碼行技術

2.任務分解技術3.自動估計成本技術

代碼行技術根據經驗和歷史數據估計實現一個功能需要的源程序行數,用每行代碼的平均成本乘以行數就可以確定軟件的成本。每行代碼的平均成本主要取決于軟件的復雜程度和工資水平。代碼行技術是比較簡單的定量估算方法。當有以往開發類似工程的歷史數據可供參考時,這個方法是非常有效的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論