2010-04-29 4 views
7

기본적으로 시스템을 설계하는 두 가지 방법이 있습니다. 장점과 단점은 무엇입니까? 어떤 것을 사용해야합니까? 이러한 접근 방식을 결합해야합니까? 방법? 상향식 (bottom-up) 큰 덩어리로 솔루션 공간의 일부를 구성에서 오는 동안하향식 또는 상향식 디자인?

+4

짧은 질문이지만 답변이 길다는 생각이 듭니다. ... –

+1

왼쪽에서 오른쪽으로 디자인하는 것을 선호합니다. –

+0

@Mitch 밀이 부분적으로 응답하거나 일부 책/논문/기사/블로그로 전환하는 데 충분할 수도 있습니다. :) –

답변

21

대략 말하기, 하향식, 하위 문제로 문제 공간의 분해에서 비롯됩니다.

하향식을 효과적으로 사용하려면 문제에 대한 확실한 이해가 필요합니다. 즉, 견고한 요구 사항이 있어야합니다. 상향식 효과를 내기 위해서는 조각이 잘 알려진 '표준'문제를 해결할 필요가 있지만 올바른 어셈블리를 얻으려면 실험을해야 할 수도 있습니다.

이 문제에 관해서는 Parnas 'brilliant paper A rational design process and how to fake it을 읽어야합니다. 대답은 두 가지를 적절하게 사용하는 것입니다. 모든 작업을 하향식으로 수행 한 것처럼 모든 작업을 완료하십시오 (사양, 설계 문서 및 사용자 문서).

+0

좋은 대답과 그 종이에 대한 링크를 주셔서 대단히 감사합니다. –

+4

+1 :«끝나면, 다 마치 다 마치 보이게하십시오. 모든 하향식» – ZJR

2

민첩한 커뮤니티에서 '케이크 썰기'원칙을 살펴 봐야합니다. 이 원칙은 응용 프로그램을 반복 할 때마다 사용자에게 비즈니스 가치를 추가하는 데 중점을 둡니다. 그런 다음 여기에

http://blog.energizedwork.com/2005/05/slicing-cake.html

+0

고맙습니다. 반복에 대해 알고 있습니다. 어려운 점은 케이크를 슬라이스하여 다른 슬라이스가 여러 개의 이전 슬라이스를 추가하는 것만 큼 힘들지 않을 것입니다. –

3

나는 귀하의 질문에 긴 가치가 생각보다 상세하게 원리를 설명하는 링크는 등 다음 슬라이스에 초점을 설계하고 응용 프로그램의 수직 슬라이스를 구현하고 제공하기 위해 시도 그리고 관절 형 답변. 선구자 디자인과 민첩한 기술에 대한 이야기를하는 Martin Fowler의 옛 기사 (cfr, "디자인이 죽었 니?")를 읽어 보시기 바랍니다.

내 경험으로는 항상 모듈의 청색 인쇄 아키텍처 , 시스템 구성 요소 간의 상호 작용. 이 청사진 (어떤 프로젝트에서는 높은 수준이 될 수 있음)을 가짐으로써 모듈/구성 요소의 설계/개발을 시작합니다. 이들 중 일부는 상향식으로 개발할 수도 있습니다.

+0

좋은 참조 항상 감사 :) –

관련 문제