一、軟件定義
1、問題定義
- 問題的背景
- 系統要求
- 性質、類型和範圍
- 目標、功能和規模
- 開發條件和環境要求
2、問題定義的方法
- 詳細調研
- 閱讀資料
- 調查背景
- 反覆討論
- 寫出報告
3、開題報告
二、可行性研究
可行性研究就是制定軟件 系統的計劃的第一步
目的:
確定問題是否值得去解決
任務:
針對具體的問題用最小的代價、在儘可能短的 時間內確定問題是否能解決
考慮的方面:
- 經濟可行性
- 操作可行性
- 技術可行性
1、經濟可行性
成本分析:開發成本、安裝成本、運行成本
效益分析:直接效益、可見的間接效益、不可見的效益
2、操作可行性
從法律、社會 效益等更廣泛的方面研究每種解法的可行性。
3、技術可行性
4、研究步驟
- 複查系統規模和目標
- 研究目前正在使用的系統
- 導出新系統的高層邏輯模型
- 進一步定義問題
- 導出和評價供選擇的解法
- 推薦行動方針
- 草擬開發計劃
- 書寫文檔提交審查
可行性研究報告的基本內容:
5、系統流程圖
系統流程圖是描繪物理系統的傳統工具。 基本思想是用圖形符號以黑盒子形式描繪系統裏面的每個部件。
系統流程圖表達的是部件的信息流程,反映信息在各部分間流動的情況。
系統流程圖是一種模型。
建立模型的目的:
- 加強對事務的理解
- 幫助思考和交流
- 從中產生出最終的產品
系統流程圖的用途:
- 可行性研究階段:瞭解和分析現有的系統,概括地標識對現有系統的認識
- 設計階段:把設想的新系統的邏輯模型鑽變爲物理模型
符號
6、分層
分層應用於複雜的系統,用一幅高層次系統流程圖描繪概貌,分層次地逐步描述。
7、成本 / 效益分析
經濟效益是指使用新系統而增加的收入。通常表現爲減少運行費用或增加收入。
社會效益是一種無形的效 益,主要從性質上、心理 上進行衡量
目的是從經濟角度評價開發一個新項目是否可行、是否划算,從而幫助負責人正確地作出決定。
軟件開發成本主要表現爲:
- 人力消耗
估算技術
代碼行技術:
把開發每個軟件功能的成本和實現這個功能需要用的源代碼行數聯繫起來。 一旦估計出源代碼行數以後,用每行代碼的平均成本 乘以行數就可以確定軟件的成本
- 目前逐漸淘汰
任務分解技術:
法首先把軟件開發工程分解爲若干個相對獨立的任務。再分別估計每個單獨的開發任務的成本,最後累加起來得出軟件開發工程的總成本。
- 估計偏差可能較大。
自動估計成本技術:
採用自動估計成本的軟件工具估算成本,可 以減輕人的勞動,並且使得估計的結果更客觀
- 必須有長期蒐集的大量歷 史數據爲基礎
效益分析方法
採用新系統後增加的收入再加上使用新系統後節約的運行費用。
度量經濟效益:
- 投入產出比
- 成本回收時間
- 純收入
- 貨幣的時間價值(年利率)
貨幣的時間價值:
由於利率的存在,貨幣的時間價值是能夠準確估算的。假設年利率爲i,現在投入 P元,則n年後能夠得到
投入產出比也需要考慮到貨幣的時間價值
就算每年的收益一樣都是9.6萬,但是當前收益逐年減少