소프트웨어 構造

위키百科, 우리 모두의 百科事典.

소프트웨어 開發 프로세스
活動과 段階
要求事項 分析   · 機能 明細
救助   · 設計
具現   · 테스팅
配置   · 維持補修
開發 模型
애자일 소프트웨어 開發   · 클린룸
DSDM   · 循次漸增的 開發   · 反復型 開發
RAD   · RUP   · 나선 模型
瀑布水 모델   · 익스트림 프로그래밍
스크럼   · V 모델   · TDD
支援 活動
構成 管理   · 文書化
品質保證   · 프로젝트 管理
使用者 經驗 設計
道具
컴파일러   · 디버거   · 프로파일러
GUI 디자이너   · 統合 開發 環境

소프트웨어 構造 또는 소프트웨어 아키텍처 (software architecture)는 소프트웨어 의 構成要素들 사이에서 有機的 關係를 表現하고 소프트웨어의 設計와 업그레이드를 統制하는 指針과 原則이다.

歷史 [ 編輯 ]

소프트웨어 設計와 構造 間의 比較는 1960年代 末에 처음 그려졌지만 [1] 소프트웨어 構造라는 用語는 1990年代에 모습을 드러냈다. [2]

動機 附與 [ 編輯 ]

소프트웨어 아키텍처는 複雜한 시스템을 "知的으로 理解할 수 있는" 抽象化이다. [3] 이러한 抽象化는 여러 가지 利點을 提供한다:

  • 소프트웨어 시스템을 構築하기 前에 소프트웨어 시스템의 動作을 分析할 수 있는 프레임워크를 提供한다. 未來의 소프트웨어 시스템을 實際로 構築하지 않고도 利害關係者의 要求 事項을 充足하는지 確認할 수 있어 相當한 費用 節減과 危險 減少 效果를 提供한다. [4] 效果的인 아키텍처는 이러한 要求 事項을 充足할 뿐만 아니라 向後 擴張性 및 維持 管理도 容易하게 해준다. [5]
  • 아키텍처는 要素와 솔루션을 再使用할 수 있는 프레임워크를 提供한다. 全體 소프트웨어 아키텍처 또는 個別 아키텍처 戰略 및 솔루션과 같은 一部 要素를 利害關係者가 類似한 品質 屬性 또는 機能을 要求하는 여러 시스템에서 再使用할 수 있으므로 設計 費用을 節減하고 設計 誤謬의 危險을 줄일 수 있다. [6]
  • 시스템의 開發, 配布 및 壽命에 影響을 미치는 初期 設計 決定을 支援한다. 日程과 豫算 超過를 防止하려면 影響力이 큰 初期 意思 決定을 올바르게 내리는 것이 重要하다.
  • 利害關係者와의 커뮤니케이션을 容易하게 하여 利害關係者의 要求를 더 잘 充足하는 시스템을 만드는 데 寄與한다. 利害關係者의 觀點에서 複雜한 시스템에 對한 情報를 提示하면 利害關係者가 明示된 要求事項의 意味를 理解하고 이를 基盤으로 設計 決定을 내리는 데 도움이 된다.
  • 이는 리스크 管理에도 도움이 된다. 소프트웨어 아키텍처는 危險과 失敗 確率을 줄이는 데 도움이 된다. [7]
  • 費用 節減에 도움이 된다. 소프트웨어 아키텍처는 複雜한 IT 프로젝트에서 危險과 費用을 管理하는 手段이다. [8]

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. Naur, Peter ; Randell, Brian , 編輯. (1969). “Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7?11 Oct. 1968.” (PDF) . Brussels: NATO, Scientific Affairs Division, . 2012年 11月 16日에 確認함 .  
  2. P. Kruchten, H. Obbink & J. Stafford (2006). “The past, present and future of software architecture” . 2012年 11月 12日에 確認함 .  
  3. “Software Architecture in Practice” . books.google.com . 2023年 11月 2日에 確認함 .  
  4. “Software Architecture Review and Assessment (SARA) Report” (PDF) . pkruchten.files.wordpress.com . 2023年 11月 2日에 確認함 .  
  5. “Softwarearchitektur: Der ultimative Leitfaden” . tectrain.ch . 2023年 11月 2日에 確認함 .  
  6. “Foundations for the Study of Software Architecture” (PDF) . users.ece.utexas.edu . 2023年 11月 2日에 確認함 .  
  7. “Just Enough Software Architecture: A Risk-driven Approach” . books.google.com . 2023年 11月 2日에 確認함 .  
  8. “RCDA: Architecting as a risk- and cost management discipline” . zenodo.org . 2023年 11月 2日에 確認함 .  

外部 링크 [ 編輯 ]