軟件開發過程_第1頁
軟件開發過程_第2頁
軟件開發過程_第3頁
軟件開發過程_第4頁
軟件開發過程_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、軟件開發過程朱大治架構設計架構設計領域建模領域建模用例技術用例技術軟件需求過程軟件需求過程軟件過程概述軟件過程概述概念化階段概念化階段分析階段分析階段架構設計階段架構設計階段并行開發與測試階段并行開發與測試階段驗收與交付階段驗收與交付階段愿景愿景需求需求架構架構可執行系統可執行系統交付的系統交付的系統分析階段分析階段需求分析需求分析領域建模領域建模架構設計階段架構設計階段確定關鍵需求確定關鍵需求概念性架構設計概念性架構設計細化架構細化架構驗證架構驗證架構概念性架構概念性架構實際架構實際架構關鍵需求決定架構全面認識需求多視圖探尋架構盡早驗證架構架構設計架構設計領域建模領域建模用例技術用例技術軟件

2、需求過程軟件需求過程軟件過程概述軟件過程概述概念化階段概念化階段分析階段分析階段需求分析需求分析領域建模領域建模架構設計階段架構設計階段l愿景與范圍文檔n項目的起源n項目目標n主要特性n功能范圍n成功要素1.業務需求 a) 項目背景 b) 業務機遇 c) 業務目標 d) 客戶或市場需求 e) 提供給客戶的價值 f) 業務風險2.項目愿景的解決方案 a) 項目愿景陳述 b)主要特性 c) 假設和依賴環境3.范圍和局限性 a) 項目首次發布的范圍 b) 隨后發布的范圍 c)局限性和專用性4.業務環境 a)項目客戶概貌 b)項目的優先級5.產品成功的因素如果軟件開發只能有一份文檔,那它應當就是愿景文

3、檔需求捕獲需求分析系統分析需求捕獲需求分析系統分析需求分析:做什么系統分析:怎么做需求捕獲 采集:需求類型,描述,背景,提出者,記錄者 成果:需求采集卡需求分析 目的:對原始需求進行分析,整理,辨別,歸納 成果:軟件需求規格說明書系統分析 方法:面向對象分析 (結構化分析 ) 成果:分析類圖,魯棒圖,序列圖 (數據流圖) l以建造大橋為例n功能需求:聯結南北的公路交通n約束條件:不能影響萬噸輪從橋下通過n使用期質量屬性:能在湍急的江流中保持穩固n建造期間的質量屬性:施工方便軟件需求功能需求非功能需求約束質量屬性運行期質量屬性開發期質量屬性設計或項目的某些限制條件軟件系統應提供的服務為用戶提供的

4、服務為其他系統提供的服務運行期質量屬性開發期質量屬性性能 (Performance)安全性 (Security)易用性 (Usability)持續可用性 (Availability)可伸縮性 (Scalability)互操作性 (Interoperability)可靠性 (Reliability)魯棒性 (Robustness)易理解性 (Understandability)可擴展性 (Extensibility)可重用性 (Reusability)可測試性 (Testability)可維護性 (Maintainability)可移植性 (Portability)約束架構功能質量屬性遵守限制從

5、根本上支持從根本上影響影響適應導致某些功能需求導致某些質量屬性需求非功能需求功能需求約束運行期質量屬性開發期質量屬性必須執行國家統一規定的利率,并與最新公布的利率調整方案保持一致.可配置性.調整利率的實用功能.對某銀行系統進行的需求分析對某銀行系統進行的需求分析易變化性(低到高)需求種類質量屬性需求約束性需求功能需求l功能需求最易變化n用例圖往往是穩定的n用例規約則可能頻繁變化l質量屬性最為穩定l性能,安全性,持續可用性l約束穩定性稍差l技術趨勢變化,法律法規重新界定,用戶組織調整改組SRS業務目標特性列表用例圖用例簡述用例規約界面原型可執行原型非功能性需求界面原型或可執行原型用來幫助客戶發現

6、他真正想要的功能原型界面產物不應放入SRS,因為它們屬于設計,而不是需求進行需求分析時,不應遺漏業務和技術發展與變化的可能性,必要時,將潛在需求變化記錄在案架構設計架構設計領域建模領域建模用例技術用例技術軟件需求過程軟件需求過程軟件過程概述軟件過程概述用于所有用例的技術:用例圖用例圖用于單個用例的技術用例實現用例實現用例描述用例簡述用例簡述用例規約用例規約用例相關技術魯棒圖(靜態視角)序列圖(動態視角)需求捕獲技術需求分析技術系統分析技術開戶銷戶參與者(Actor):與系統交互的角色或系統用例(Use case):系統能為外部參與者提供的功能柜員用例名稱:銷戶用例簡述:幫助銀行工作人員完成銀行

7、客戶申請的活期賬戶銷戶工作,需客戶提供證件和密碼。優先級:高儲蓄系統“銷戶”用例簡述通過簡短的文字對用例進行描述一般而言,用例簡述應包含成功場景的簡單描述1.用例名稱 銷戶2.簡要說明 幫助銀行工作人員完成銀行客戶申請的活期賬戶銷戶工作3.事件流 3.1 基本事件流 1) 銀行工作人員進入“活期賬戶銷戶”程序界面 2) 銀行工作人員用磁條讀取設備刷取活期存折磁條信息 3) 系統自動顯示此活期賬戶的客戶資料信息和賬戶信息 4) 銀行工作人員核對銷戶申請人的證件,并確認銷戶 5) 系統提示客戶輸入取款密碼 6) 客戶使用密碼輸入器,輸入取款密碼 7) 系統校驗密碼無誤后,計算利息,扣除利息稅(調用

8、結息 用例),計算最終銷戶金額,并打印銷戶和結息清單 8) 系統記錄銷戶流水及其分戶賬信息 3.2 擴展事件流 1) 如果存折磁條信息無法讀出,需要手工輸入賬號 2) 如果銷戶申請人的證件與客戶資料信息不符或其他業務因素,而不 予受理的,銀行工作人員直接退出 3) 如果系統密碼校驗錯誤,提示重新輸入密碼,密碼校驗失敗超過3 次,系統提示并自動退出4.非功能性需求 申請受理處理的過程操作時間應在30秒內 打印的銷戶和結息清單應該清晰明了5.前置條件 賬戶為正常狀態 (即不是掛失,凍結或銷戶狀態)6.后置條件 銷戶成功并將銷戶信息存入數據庫, 證件不符而退出 密碼不符而退出7.擴展點 無8.優先級

9、 高實踐中我們可以對用例規約進行裁剪或擴充,比如增加用例的“使用頻率”,“需求背景及可能的變化”等供架構師在架構設計時進行參考客戶資料銷戶流水活期賬戶利息率利息稅率計算利息銷戶活期賬戶銷戶界面磁條讀取設備打印設備銀行工作人員銷戶用例的用例實現(魯棒圖)業務需求:組織要達到的目標用戶需求:用戶使用系統來做什么行為需求:開發人員需要實現什么用例圖用例簡述用例規約用例實現業務需求用戶需求行為需求初步設計需求采集卡故事卡用例圖+用例簡述用例規約需求捕獲技術需求捕獲技術需求分析技術需求分析技術架構設計不應等到所有用例被細化到用例規約的程度才開始,對架構設計起關鍵作用的功能需求只占功能需求的一小部分,這部

10、分用例應該已經被細化到用例規約的程度,它們和其他非功能需求一起決定架構設計方案架構設計架構設計領域建模領域建模用例技術用例技術軟件需求過程軟件需求過程軟件過程概述軟件過程概述賬戶憑證-生效日-作廢日銀行卡-卡號存折-存折號存單-存單號領域模型UML類圖示例1*領域模型UML狀態圖示例掛失正常凍結銷戶開戶開戶額 10銷戶掛失身份證解掛身份證凍結授權解凍授權存款取款領域模型是對實際問題領域的抽象,它“穿透”用戶想要的功能的表象,專注于分析問題領域本身,發掘重要的業務領域概念,并建立業務領域概念之間的關系,因此,開發方和用戶在”領域模型“上達成的共識,往往比在”功能需求“上達成的共識”更升一級”,從

11、而也更穩固用戶的參與不夠,造成需求分析成果中假設的成分太多用戶的參與不夠,造成需求分析成果中假設的成分太多用戶:需求很明白啊,不用向你們這樣投入這么大的精力吧事實:用戶真正使用軟件系統一段時間之前,他們往往并不確切知道自己需要什么對于需求分析而言,存在一個領域知識的“夯實”概念,我們再需求分析過程中,應該搞清楚一部分領域知識,就將此部分知識建模并將模型在整個項目組公開,再搞清楚一部分領域知識,再建模并將模型在整個項目組公開問題領域太復雜時,需求分析的開展會遇到困難問題領域太復雜時,需求分析的開展會遇到困難 需求分析過程中,可能不斷地因“對關鍵領域問題的理解不足”而卡殼或者爭論不休,例如,銀行系

12、統中客戶,賬戶,憑證的關系因“一本通”,“一卡通”的出現變得復雜了,需求討論可能一而再,再而三的影響需求分析的推進項目啟動領域建模需求分析架構設計詳細設計詳細設計詳細設計需求定義領域模型界面可擴展性等方面的架構決策設計類持久數據模型實現類領域知識及詞匯要展現的內容要持久化的內容精化精化影響可擴展性分析階段分析階段架構設計階段架構設計階段開發階段開發階段架構設計架構設計領域建模領域建模用例技術用例技術軟件需求過程軟件需求過程軟件過程概述軟件過程概述l用例視圖n站在用戶的立場分析系統應提供的服務,其他視圖的出發點l邏輯視圖n最終用戶的功能l過程視圖n非功能性需求l實現視圖n開發人員l物理視圖n系統

13、工程師l簡要描述系統提供的服務(用例)n用例圖n用例簡述l詳細描述系統提供的服務(用例場景)n用例規約n用例場景圖l設計人員把系統分解成一系列的關鍵抽象(組件)以滿足典型和重要的用例場景n魯棒圖(靜態)n時序圖(動態)n狀態遷移圖(動態)nER圖,領域模型n業務實體類(概念類圖,數據字典)l描述系統非功能性需求的解決方案n以進程或線程為視角,說明系統如何滿足諸如可用性,分布式,并發等非功能性需求l明確進程間通信的形式,比如同步或異步消息,RPC,共享內存等l組件(Component)本身是高內聚,松耦合,職責專一的可重用設計元素l但在作UML圖時,在不同階段的設計有可能都使用到Component這個圖元,這時它不拘泥于上述定義,它有可能對應到n一個進程n一個外部系統n一個線程n一個具體類n一個包含多個類的模塊n一個特定任務(Job)l源代碼的組織n代碼層級,程序包或文件目錄設計l代碼的構建n可部署單元列表,依賴關系l內外部接口定義n重要方法(重要的參數或返回值的數據結構)l地理位置l網絡拓撲l節點硬件配置n設備型號,CPU,內存,硬盤,IP地址等l節點軟件配置n操作系統,中間件,執行環境n可部署單元l視角,眼界是整個系統或一個獨立的子系統l將系統分解梳理設計出系統中的重要組件,并進行子系統劃分l關注組件間如何

溫馨提示

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

評論

0/150

提交評論