본문 바로가기

설계2

소프트웨어 설계가 완벽할 수 없는 다섯 가지 이유 소프트웨어 설계란 개발을 위한 초석이며, 설계자가 고객 또는 개발자와 커뮤니케이션하기 위한 도구이다. 소프트웨어 설계는 분명 다른 공학의 설계와는 다른 특성을 갖고 있으며 소프트웨어 설계는 다음의 몇 가지 이유 등으로 인해 완벽할 수 없다. 첫째, 소프트웨어 설계는 일반 공학의 설계가 아닌 시나리오다. 일반 공학, 예를 들어 건축공학에서, 건축 설계의 최종 목적물은 건축물에 대한 스틸 사진이다. 그러나 소프트웨어 설계의 최종 목적물은 시간의 흐름에 따라 혹은 외부의 이벤트에 어떤 행위 즉 기능을 해야 하는 지를 계획하는 것이다. 이 점에서 오히려 영화의 시나리오에 가깝다. 이것은 소프트웨어 설계를 위해 흔히 사용하는 UML이 영화 시나리오를 도식화하기 위해 꽤나 적합하다는 것에서도 알 수 있다. 거꾸로 .. 2020. 10. 15.
Martin Fowler – 설계와 개발의 분리 원문 http://www.martinfowler.com/articles/newMethodology.html#SeparationOfDesignAndConstruction 소프트웨어 개발 방법론은 흔히 토목공학 혹은 기계공학과 같은 공학분야에서 비롯된다. 이들 공학은, 작업을 시작하기 전, 계획단계를 주로 강조한다. 엔지니어들은 무언가를 만들기 위해 무엇이 필요한지, 필요한 것들이 서로 어떻게 조합되어야 하는지를 아주 정교하게 보여주는 일련의 설계도를 그린다. 다리에 가해지는 부하를 어떻게 해결해야 하는 지와 같은 수많은 결정이 이러한 설계도를 작성하는 과정에서 이뤄진다. 이렇게 작성된 설계도는 다른 그룹, 종종 다른 회사에 전달되어 설계도에 따라 다리를 만들게 된다. 시공을 하는 동안 몇 가지 문제에 부딪.. 2010. 7. 17.