软件架构设计 导言
流程
描述關鍵流程的概覽圖:
架構設計活動位于開發和需求的中間。雖然需求這個階段主要是業務分析人員的責任,但是架構師也會參與這個活動的一些詳細任務。隨后,架構師在創建邏輯架構中首先創建一個大概的邏輯架構,這個時候不考慮技術因素。這步是從需求到物理架構的一個跳板。物理架構是需要考慮技術因素的。邏輯架構會做為邏輯詳細設計執行的任何詳細設計的輸入。
在需求、邏輯架構、邏輯詳細設計的基礎上,架構師對這種架構凝練并最終產生物理架構。物理架構作為物理詳細設計執行的任何詳細設計的輸入。物理詳細設計會成為實現的基礎。詳細設計和實現并不是架構師的職責。但需要架構師在需要的時候為這些團隊提供指導。
架構設計可以看作是戰略上的設計,而詳細設計可以看作是戰術上的設計。
下面詳細的看一下其中的部分活動
定義需求活動中的任務:
這個任務從收集利益相關者的需求開始,它關注于了解各種各樣利益相關者的需求。這些需求為架構師提供了需要設計系統的范圍的一個初始的指示,在整理常用詞匯完成后,架構師非常關注定義系統上下文。因為他定義了與系統交互的外部元素,如最終用戶和外部系統。在這個上下文基礎上,概要說明功能需求和非功能需求。架構師不僅對關鍵的功能性需求感興趣,還應對系統質量(性能)、解決方案約束(非功能性需求)感興趣,處理非功能性需求通常比處理功能性需求有挑戰性。
在某種程度上,架構師參與整個定義需求以確保需求能夠按照可能的技術、在制定的時間和預算內可以實現的方式來制定。就我們關心的需求任務而言,指定需求優先級與架構師關系特別大,架構師要保證優先級受那些能使架構盡可能快速穩定的需求和風險的影響。高優先級的需求會在細化功能性需求和細化非功能性需求中進行細化。接下來,架構師在更新軟件架構文檔中正式的編寫架構上重要需求的概要文檔。最終以和利益相關者復審需求結束。
創建邏輯架構活動中的任務:
基于最高優先級的需求,架構師在個定義架構概圖中概要的說明候選的解決方案,架構概覽定義了架構的整體輪廓。概要說明功能性元素和概要說明部署元素同時進行,接著根據組件,他們的關系和交互精煉這個輪廓。檢驗架構確保功能性元素和部署元素一致,尤其是確保跨這些元素的任何要點都被適當的處理。在構建架構證明中架構師關注證明架構的某些方面,概念證明提供了一個工具來減少某些與架構相關的風險。接下來,架構在系統功能性元素和細化部署元素中得到細化。確認架構確保架構像聲明那樣滿足需求,還確保項目上的一些考慮,如資源,進度和預算約束。然后,架構師在更新軟件架構文檔這個任務中編寫一個不依賴于平臺的架構的概要。由此形成的架構描述用來和利息相關人員溝通架構,這些相關人員包括設計人員,程序員,分析人員,項目經理,維護人員和支持人員。最后,在和利益相關者復審架構中使大家對架構達成一致意見。
創建物理架構于創建邏輯架構任務完全一樣,只不過創建物理架構需要考慮技術因素。
當然,這些順序并不是一個必須遵守的順序(僅僅是一個比較合適的順序),在需要的時候可以重新回到這些任務。
轉載于:https://www.cnblogs.com/ShaYeBlog/archive/2013/05/28/3103951.html
總結
- 上一篇: android 通过GPS获取用户地理位
- 下一篇: strrchr 字符查找函数