본문 바로가기

Programing

[설계] 건축과 소프트웨어 개발

디자인패턴도 건축에서 나온 것으로 알고 있다.

과거부터 소프트웨어를 만드는 것은 건축에서 따온 메타포가 많았다.


하지만 과하면 문제가 생기기 마련. 요구사항 분석 / 설계 / 구현 / 검증(테스트)로 이루어지는 폭포수 모델은 비판이 많았다.


건축과 소프트웨어 개발의 차이점: http://earlybird.kr/1512

글쓰는 프로그래머 :: 소프트웨어 설계가 완벽할 수 없는 다섯 가지 이유: 글쓰는 프로그래머 :: 소프트웨어 설계가 완벽할 수 없는 다섯 가지 이유


켄트 벡의 테스트주도개발에서는 소프트웨어를 정원관리하듯 개발을 하는 것에 대해 저자의 글에서 다루고 있다.

p.27

6)역자 주: 기존의 소프트웨어 공학에서는 소프트웨어 분야에 건축학의 메타포를 주로 적용해왔다. 건축학의 메타포를 적용하여 우리는 소프트웨어를 건축(build)한다고 표현한다. 하지만 켄트 벡은 비롯한 몇몇 기민한 방법론(Agile methods)을 지지하는 사람들은 소프트웨어를 정원 관리(gardening)에 비유한다. 정원 관리의 메타포를 적용하면, 소프트웨어는 건축하는 게 아니라 키우는(grow) 것이 된다.