二、軟體開發過程
uml(unified modeling language,統一的建模語言)
在乙個ooad軟體開發過程,我們要完成二個不同的工作:
1) ooa 分析階段我們主要: (要做什麼?what to do? 分析階段考察如何解決現實問題)
. 建立乙個清晰的商業問題的檢視;
. 概述系統必須執行的任務;
. 建立商業問題描述的通用詞彙;
. 概述商業問題的最佳方案。
2) ood 設計階段我們主要:(怎麼做?how to do? 設計階段考察如何用計算機解決問題)
. 解決商業問題;
. 定義「how」代替「what」;
. 介紹將使系統工作的支撐元素;
. 定義系統的實現策略。
開發過程,軟體開發過程的控制。
1) 傳統開發過程:
. 假設在後期階段出現問題,很難返回到先前階段。
. 專案組成員花費大量時間和精力於每個階段確保它是正確的.
. 各階段所用符號和術語均是變化的。完成的軟體雖然正確,但與它所表現的商業邏輯相關甚少。
2) ooad開發過程 --- 統一開發過程
. 典型的處理方式是將乙個專案作為一系列的小專案;
. uml(unified modeling language)是一種符號,不是乙個處理過程;
. usdp(unified software development process)是迭代增量式的;
初啟->細化->構建->移交,每個階段都有特定的目標
統一軟體開發過程是乙個跌代、遞增的開發過程。
. usdp和rup(rational unified process)都是流行的ooad過程。
迭代增量式專案生命週期
1) 「迭代」指生命週期中每乙個步驟;
2) 迭代的結果便是整個專案功能完成的一步步增長;
3) 在每個迭代的構建階段,你應該:
. 選擇並分析相關的用例;
. 使用選擇的體系結構建立乙個設計;
. 用元件實現設計;
. 檢驗元件滿足用例。
迭代增量生命週期的主要階段
1) inception(初始)階段:
. 這個階段的增長集中在:
a. 開始專案;
b. 為這個專案建立起商業原則;
c. 定義乙個商業問題;
d. 識別潛在的風險;
e. 定義對問題更好理解的範圍;
f. 建立對商業問題的解釋文件。
. 每個迴圈包括一至多個反覆,每個階段的完成結果都是里程碑式的。
2) elaboration(細節化階段:
. 這個階段的增長集中在:
a. 高水平的分析和設計;
b. 為專案建立乙個架構體系的基線;
c. 監測潛在的風險;
d. 建立乙個實現專案目標的構建計畫;
3) the construction(構建)階段:
. 這個階段的增長集中在軟體專案日益成型;
4) the transition(提交)階段:
. 這個階段的增長集中在:
a. 發布產品給客戶;
b. 完成beta測試;
c. 實現效能調整、使用者培訓以及接受度測試。
過程圖:
業務建模,需求,設計分析,實現,測試,部署,配置管理,專案管理,環境搭建
階段期間的工作步驟
1) 每次跌代由以下五個工作步驟組成:
. 需求
. 分析
. 設計
. 實現
. 測試
2) 不同的反覆對每個工作步驟完成的程度不同;
3) 早期的反覆在深度上覆蓋了第乙個工作步驟,以後的反覆在深度上覆蓋了最後的工作步驟。
反覆和工作步驟
1) 在每個反覆過程,根據需求你可以包括五個工作步驟中的任何乙個。
2) 早期的反覆過程集中在靠前的工作步驟,後期的反覆過程集中在靠後的工作步驟。
3) 當你發現應該修改早先工作步驟中的某些錯誤,你可以:
. 繼續並在下乙個反覆過程中修正;
. 繼續並增加乙個新的反覆過程修正問題;
. 假如時間允許,返回到當前的反覆並修正這個問題。
4) 不同的反覆執行每個工作步驟於不同的程度。
迭代增量生命週期的好處
1) 錯誤提早發現,降低成本;
2) 對專案進度的更好保證;
3) 對於開發團隊而言開發速度更快;
4) 便於適應使用者需求的動態改變;
白話C 之第二話
1.if語句的用法及格式 當我們需要簡單的分支或判斷的時候,需要用到if語句,格式如下 if 條件 else 例如 int i 100 if i 101 if如果的意思 else else就是指否則的意思 2.switch語句的用法及格式 當我們在需要複雜的分支條件時,需要用到switch語句,但是...
白話C 之第二話
1.if語句的用法及格式 當我們需要簡單的分支或判斷的時候,需要用到if語句,格式如下 if 條件 else 例如 int i 100 if i 101 if如果的意思 else else就是指否則的意思 2.switch語句的用法及格式 當我們在需要複雜的分支條件時,需要用到switch語句,但是...
SHELL指令碼學習總結(第二話)getopts命令
getopts命令 getopts命令內置於bash shell。getopts命令的格式如右 getopts optstring variable optstring定義的內容與getopt命令完全相同。但是其輸出內容與getopt命令完全不同。例子如下 getopt ab cd a b test...