整個軟體工程的過程就是由抽象到具體的逐步進化過程。傳統軟體工程一次進化,而迭代式則是分為迭代過程,每個迭代為乙個抽象到具體的進化,整個迭代過程也是抽象到具體的進化。記住,測試是貫穿軟體開發始終的。
一.可行性分析:
目的:確定是否立項。
傳統的軟體工程模式:
系統分析員與客戶或領域專家一起分析系統所需的主要功能,評價開發專案的可行性。
通過分析當前系統匯出新系統的高層邏輯模型(粗略的資料流圖)並列出當前存在的問題新系統所必須解決的問題。
匯出用於新系統的解決辦法,並對其作出可行性評價,選出乙個合適的方案。
輸出工件:資料流圖,資料字典。
rup模式:
目的:確定是否立項。
在rup中可行性分析為前景分析,作為需求分析的輸入。
它包括系統的概述,用自然語言來描述整個系統的特徵和應滿足的功能。列出涉眾和使用者。
涉眾代表系統的擁有和提供者,使用者代表系統的使用者和管理者。
列出涉眾和使用者的概念上的要求,以及各自應承擔的責任。
列出系統概念上的功能特性和約束以及非功能屬性。
所有前景分析被記載在前景文件中,前景文件作為是否立項的依據和需求分析的輸入。
二.需求分析:
傳統的軟體工程模式:
目的:開發者與使用者達成對該系統一致的功能需求,對系統的功能作整體上的描述,即分析做什麼,而不是如何做。
在可行性分析階段已經初步定義了系統的基本功能,在需求分析階段在可行性分析階段基礎上完整,清晰,準確地定義出系統的功能要求,效能要求,執行要求,擴充套件要求。
分析系統的資料要求,利用其它工具如層次方框圖(層次方框圖專門針對資料的組成結構),warnier圖(是層次方框圖的更健壯的形式)對資料字典作必要補充。
開發系統原形,並讓使用者進行評價。
分析資料處理過程,主要是對可行性分析階段匯出的資料流圖作精確分析。分析資料的輸入輸出,資料元素的組成,基本演算法(ipo圖)。
對可行性分析階段的資料流圖和資料字典作必要的新增和完善。
細化資料流圖,對粗略描述的資料流圖作細化分析(即更深入的分層),此時應對資料字典作必要的修改和新增。
書寫必要文件(需求規格說明書,資料要求說明,修正計畫,初步的使用者使用說明),並對上述工作進行評審和驗證。
輸出工件:改進的資料流圖,改進的資料字典,ipo圖,er圖,warnier圖,層次方框圖(描述資料分類及組成),需求規格說明書,資料要求說明,修正計畫,初步的使用者使用說明。(需求規格說明書裡包括了資料流圖,ipo圖,資料字典)。
rup模式:
目的:構造出使用者認可的用例,開發者與使用者達成對該系統一致的功能需求,對系統的功能作整體上的描述,即分析做什麼,而不是如何做。
並記載所有已達成共識的需求變更。
基於用例的需求分析主要面向需求較為複雜和不明確,使用者較多的系統。
需求分析是前景分析的擴充套件和進一步的細化(即進一步的具體)。
分析過程:
1.建立基本的用例模型(定義系統)。
捕獲通用詞彙,建立詞彙表(好比資料字典);找到使用和管理該系統的所有使用者;根據使用者定義基本用例;建立他們之間的關係;根據複雜度及風險對用例排序;複審。
2.細化該模型(精化系統定義)。
定義使用者之間的關係(包括使用者泛化等),用例間的關係(包含,擴充套件,使用等);重構用例模型消除冗餘;詳細描述每個用例(包括名稱,簡述,事件流,特殊需求,前置後置條件等根據具體需要而定);複審。
3.記載補充規約。
定義在用例模型中無法表述的需求。
三.分析
傳統軟體工程模式:
在傳統軟體工程中,分析階段又叫總體設計階段。
目的:選取最佳方案,將系統的概念性描述轉化為結構化的模組層次(進一步的具體化)。
與需求階段的定義做什麼相反,現在定義如何做。分析階段主要1.劃分組成系統的物理元素(程式,檔案,資料庫,文件等)。但並不考慮這些元素的細節。2.劃分系統的模組,定義這些模組的相互關係。3.複審。
如何選取最佳方案:
以資料流圖為出發點,定義系統各個處理模組的邊界(部署),根據這些邊界來設想各種實現方案。
根據當前情況(包括技術,資金,時間等)來選擇數個合適的方案。
開發方和使用者方根據上述方案的利弊共同商討出乙個最佳的方案。
劃分系統的物理元素:
程式(即下述系統的模組);資料庫(如涉及到則需進行資料庫設計);制定測試計畫(從現在開始,測試將持續到開發結束);書寫文件(系統說明
,測試計畫,詳細的實現計畫,資料庫設計結果)。
系統模組的設計:
功能的分解,將需求階段得到的資料流圖作進一步的分解,直到每個處理功能都明顯易懂為止。
面向資料流圖的模組建立,根據資料流圖定義出系統的模組結構(層次圖),以及每個模組的演算法(hipo圖,包括輸入,輸出,處理)。
層次圖是描述模組間呼叫和被呼叫關係的圖。與層次方框圖不同,層次方框圖是用來描述實體間的組成關係的圖。
未完
軟體工程 可行性研究
開發一款軟體大致分為6個過程 1.可行性研究 2.需求分析 3.設計 4.程式編碼 5.測試 6.執行維護。每個過程都需要生成必要的文件作為規範,依次是 1.可行性研究報告 2.專案開發計畫書 3.系統需求規格說明書 4.系統概要設計說明書 5.系統詳細設計說明書 6.測試計畫 7.測試分析報告。下...
可行性分析 軟體工程總結
可行性研究的目的是,用最小的代價在盡可能短的時間內確定問題能否解決,從技術 經濟和操作三個方面進行可行性研究。一 可行性研究過程 1.複查系統規模與目標 確保分析員解決的問題正是要求他解決的問題。2.研究目前正在使用的系統 花費適當的時間,分析新舊系統的優缺點,現有系統的文件資料和使用手冊。3.匯出...
軟體工程3 可行性分析
壓縮簡化的系統分析和設計的過程 可行性研究的最根本的任務 是對以後的方針提出建議 可行性研究需要的時間長短 取決於工程的規模,一般來說,可行性研究的成本知識預期工程總成本的5 10 指定工程進度表 評估人員和資源 指定進度表 使用時間點和時長 生命週期每個階段的成本 下乙個階段的詳細進度表和成本估計...