系统分析与建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章系統分析與建模
章節大綱備註:可依進度點選小節
3-1可行性與需求分析概述
3-2可行性研究
3-4需求文件的製作3-5可行性研究報告的產出3-2需求捕獲3-6需求驗證
可行性是專案能否執行和獲得成功的可能性。可行性研究是專案啟動階段的關鍵活動。從開發團隊的角度來說,對擬定開發的專案應當從管理上、技術上、經濟上、執行上所存在的問題和難點進行可行性分析和闡述。透過逐步弄清客戶的要求,在需求的基礎上,規劃整體解決方案,以此作為專案投資收益評估的依據,預測並評估其效果和可行性程度,對多個專案或產品進行選擇,以便做出合理的投資決策。可行性分析的品質將直接影響專案的執行效果。
對於一個具體的專案,其可行性研究的主要目的是確定專案在滿足品質、時間、成本限制等條件前提下,問題有沒有可行解。如果問題沒有可行解,應當停止該專案,以避免時間、資源、人力和金錢的浪費;如果問題值得解決,分析人員要給出一個較好的解決方案,並且為工程制定一個初步的計畫。
可行性研究的主要內容包括:需要對系統所需要的各種資源和可能的解決方案進行研究,確定專案的規模、目標、和限制;分析人員進行初步的需求分析,抽象出專案的邏輯結構,建立邏輯模型;依據邏輯模型,經過整體性的考量和設計,給出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。
可行性研究的具體步驟如下:
確定專案規模和目標;
研究正在執行的系統,收集、研究、分析現有系統的資料檔,實地研究系統訪問有關人員,然後描繪現有系統的高階系統流程圖;
建立新系統的高階邏輯模型,使用資料流程圖和資料字典描述資料在系統中的流動和處理情況;
導出和評估各種方案,導出若干較高階的實體解決方法,根據技術可行性、經濟可行性、社會可行性進行評估,得到可行的解決方法;
可行性研究的具體步驟如下:
推薦可行性方案,進行成本/效益分析(Cost Benefit Analysis),決定該專案是否值得開發,給出具體的開發解決方案,並且說明該方案可行的原因和理由;
編寫可行性研究報告,將上述可行性流程的結果寫成相應檔案,即可行性研究報告。
經濟可行性
確定和估計系統的成本和效益
•軟體的開發成本,主要包括:辦公室房租、辦公用品、硬體設備、通信費用、資料費、工資、各種軟體的費用、市調費用、訓練費用、產品宣傳費用等。
•整個系統的經濟效益主要有:
–(1)直接效益。例如,使用新系統之後所節省的人力成本;
–(2)間接效益。例如,減少使用者在業務操作流程中出現的錯
誤數,提高工作效率;
–(3)無形效益。例如,使用者對於系統的認可、接受程度。效
益通常難於加以量化。
經濟可行性
評估成本效益
•成本效益分析確定軟體系統有無經濟價值。專案開發投資在前,收益在後。在進行分析時,將來的收益和現在已經耗費的成本不能直接進行比較,必須考量貨幣的時間效益。在度量經濟效益時,通常要計算專案的淨利潤、回收期、投資報酬率、淨現值等。總而言之,要考量現金流問題,如專案貸款、支付開發人員工資等,對於有利潤的專案還要考量其投資報酬時間、投資報酬率等。
技術可行性
進行技術分析的目的是交付系統的技術可行性評估,說明為完成系統功能,達到系統性能指標要採取什麼樣的技術,存在哪些技術風險,並且判定這些技術問題對於成本有什麼影響。透過評估現有資源的有效性,包括人力、可重複使用零件、軟/硬體環境三個層級的資源是否具備,確定相關的技術能否支援這一系統。
社會因素可行性
社會因素的可行性主要包括下列三個層面的因素:市場、法律和政策。
•市場分析是對有關產品市場環境狀況加以系統的分析和評估,主要包括:市場區隔(使用軟體的客戶群)、消費
行為研究、競爭力分析、競爭性產品和銷售策略研究,以及它們之間相互依存關係的研究、產品壽命週期分析、有關的社會因素、生態因素和經濟因素的影響分析。
•政策對軟體發展的影響也非常大。在市場調查及預測的流程中,要對有關的產業政策等因素加以研究,論證專案投資建構的必要性。包括政策可能影響的市場供求預測、競爭力分析、價格分析、市場區隔(Market
Segmentation)、定位及行銷策略論證等。
社會因素可行性
社會因素的可行性主要包括下列三個層面的因素:市場、法律和政策。
•投資活動中的法律可行性研究是指對某一投資活動的行為主體真實性、行為合法性、權利義務明確性、糾紛解決方式的合理性等方面所做的詳細研究,即從法律的角度分析該投資活動(專案)是否可行,能否得到法律保障
。
需求分析是指理解使用者需求,就軟體功能與客戶達成一致,估計軟體風險和評估專案代價,最終形成開發計畫的一個複雜流程。基本概念
軟體需求是使用者為解決某一問題或達到某上一目標所需的軟體功能。
軟體需求包括3個不同的層級:業務需求、使用者需求和功能與非功能需求。
基本概念
•1. 業務需求(Business Requirement)針對具體的業務系統
,反映整個組織機構或客戶對所需系統和產品高層次的目標要求,它們在專案視圖與範圍檔案中予以說明。
•2. 使用者需求(User Requirement)從使用者的角度出發,描述使用者如何使用軟體產品來完成自己的工作和任務。
•3. 功能與非功能需求(Functional and Nonfunctional
Requirement)從開發人員的角度出發,定義系統必須執
行的軟體功能,以及確定在滿足性能要求和各種限制條件的前提下,使得使用者能完成他們的任務,從而滿足業務需求。功能性需求描述系統和環境之間的互動,而非功能性需求或限制描述了應用環境對系統的各種限制。