기본적으로 시스템을 설계하는 두 가지 방법이 있습니다. 장점과 단점은 무엇입니까? 어떤 것을 사용해야합니까? 이러한 접근 방식을 결합해야합니까? 방법? 상향식 (bottom-up) 큰 덩어리로 솔루션 공간의 일부를 구성에서 오는 동안하향식 또는 상향식 디자인?
답변
대략 말하기, 하향식, 하위 문제로 문제 공간의 분해에서 비롯됩니다.
하향식을 효과적으로 사용하려면 문제에 대한 확실한 이해가 필요합니다. 즉, 견고한 요구 사항이 있어야합니다. 상향식 효과를 내기 위해서는 조각이 잘 알려진 '표준'문제를 해결할 필요가 있지만 올바른 어셈블리를 얻으려면 실험을해야 할 수도 있습니다.
이 문제에 관해서는 Parnas 'brilliant paper A rational design process and how to fake it을 읽어야합니다. 대답은 두 가지를 적절하게 사용하는 것입니다. 모든 작업을 하향식으로 수행 한 것처럼 모든 작업을 완료하십시오 (사양, 설계 문서 및 사용자 문서).
좋은 대답과 그 종이에 대한 링크를 주셔서 대단히 감사합니다. –
+1 :«끝나면, 다 마치 다 마치 보이게하십시오. 모든 하향식» – ZJR
민첩한 커뮤니티에서 '케이크 썰기'원칙을 살펴 봐야합니다. 이 원칙은 응용 프로그램을 반복 할 때마다 사용자에게 비즈니스 가치를 추가하는 데 중점을 둡니다. 그런 다음 여기에
이 http://blog.energizedwork.com/2005/05/slicing-cake.html고맙습니다. 반복에 대해 알고 있습니다. 어려운 점은 케이크를 슬라이스하여 다른 슬라이스가 여러 개의 이전 슬라이스를 추가하는 것만 큼 힘들지 않을 것입니다. –
나는 귀하의 질문에 긴 가치가 생각보다 상세하게 원리를 설명하는 링크는 등 다음 슬라이스에 초점을 설계하고 응용 프로그램의 수직 슬라이스를 구현하고 제공하기 위해 시도 그리고 관절 형 답변. 선구자 디자인과 민첩한 기술에 대한 이야기를하는 Martin Fowler의 옛 기사 (cfr, "디자인이 죽었 니?")를 읽어 보시기 바랍니다.
내 경험으로는 항상 모듈의 청색 인쇄 아키텍처 , 시스템 구성 요소 간의 상호 작용. 이 청사진 (어떤 프로젝트에서는 높은 수준이 될 수 있음)을 가짐으로써 모듈/구성 요소의 설계/개발을 시작합니다. 이들 중 일부는 상향식으로 개발할 수도 있습니다.
좋은 참조 항상 감사 :) –
- 1. 하향식 상향식 - 정상화
- 2. ASP.NET : 웹 서비스 디자인 방법론. 하향식 및 상향식. 차이점이 뭐야?
- 3. (구문 트리) 재귀 적으로 트리를 반복하여 현재 하향식 경로가있는 상향식
- 4. 상향식 및 상향식 접근 방식의 차원 성 모델링.
- 5. TDD 사용 : "상향식"대 "상향식"
- 6. Farseer 또는 Box2D? 하향식 슈팅 게임 구현
- 7. 암시 적 상향식 질문
- 8. 플렉스 3.5의 상향식 TileList
- 9. "디자인에 대한 하향식 토론"
- 10. 하향식 구문 분석 C#
- 11. 이미지 뷰어 - 표준 GUI 컨트롤, 상향식 또는 무엇?
- 12. 디자인 및 코딩 - 위에서 아래까지 또는 아래에서 위로?
- 13. 최적화 컨트롤 부모에 의한 하향식
- 14. 테스트를위한 디자인 또는 테스트를위한 디자인 중지
- 15. igraph를 사용하여 "상향식"으로 트리를 그리려면 어떻게해야합니까?
- 16. 대수 데이터 형식의 상향식 상향 탐색
- 17. 상향식 계층 구조에서 집계 된 값 계산
- 18. 하향식 레이싱 게임 도움말 물리학 - Flash/AS3
- 19. 메소드 디자인 - 선명도 또는 다기능
- 20. 콘솔 또는 그래픽 게임 디자인?
- 21. "저널링"또는 "트랜잭션"디자인 패턴?
- 22. 디자인 패턴 작성 또는 상속?
- 23. 무게 편향된 좌익 힙 : 하향식 병합 버전의 장점은 무엇입니까?
- 24. 가로 규칙 : 좋은 디자인 결정 또는 나쁜 디자인 결정
- 25. Photoshop 또는 모든 디자인 도구로 iPhone 응용 프로그램 디자인
- 26. WindowsForms 및 C#의 컨트롤의 동적 인 하향식 목록?
- 27. MongoDB 스키마 디자인 - 새로운 컬렉션 또는 참조?
- 28. JavaEE 디자인 ... InfoHolders 또는 직접 데이터베이스 연결?
- 29. OOP 디자인 문제 : 컨테이너 또는 컨테이너의 책임?
- 30. 먼저 디자인 또는 프로토 타입을 만드시겠습니까?
짧은 질문이지만 답변이 길다는 생각이 듭니다. ... –
왼쪽에서 오른쪽으로 디자인하는 것을 선호합니다. –
@Mitch 밀이 부분적으로 응답하거나 일부 책/논문/기사/블로그로 전환하는 데 충분할 수도 있습니다. :) –