2010-02-03 3 views
5

프로젝트가 끝나면 아키텍처 오류를 쉽게 알 수 있습니다. X는 우리에게 보안 문제를주었습니다. 또는 Y는 우리에게 많은 추가 작업을했습니다. 이것들은 회고록에 담겨 있지만 더 일찍 붙잡아두면 좋을 것입니다.사전 프로젝트 수행 방법 아키텍처 검토

코딩을 시작하기 전에 아키텍처 검토를 수행 할 계획입니다.

한 가지 방법은 설계자가 프로젝트를 발표하고 설계에서 결함을 발견 할 수 있는지 확인하는 것입니다.

누구나 "생각 해본 적 있습니까?"또는 "어떻게 하시겠습니까?"체크리스트가있는 구조화 된 접근법을 가지고 있습니까?

내가 좋아하는 뭔가 생각 : 업그레이드

  • 보안
  • 로깅
  • 데이터 액세스
  • 배포

답변

2

추가 항목은 특별한 순서없이, 목록에 추가 할 : - 중 대기 시간, 대역폭, 확장 또는 결과물에

  • 지원 가능성을 관련된 다른 요인 -

    • 성능 당신은 이미 로깅,하지만 다른 진단 측정 (Java-JMX, Windows-WMI/성능 카운터 또는 커스텀 커스터마이징)의 배관에 관한 것
    • 유연성 - 나중에 아키텍쳐를 변경하는 데 어려움이 있음 (일반적으로 지나치게 수행되어 필요한 것보다 많은 문제가 발생 함) , 평가가 존재할 때 논의가 있어야한다. 디자인 팅)
    • 스레딩 모델/잠금 모델 - 데이터 보호 방법이 명확합니까? 자원 경합은 어떻게 처리 될 것인가?
    • 리소스 요구 사항 - 다양한 사용 수준에서의 메모리 소비.제약 조건에 맞습니까?
    • 오류 처리 - 제품의 오류가 발생하면 아키텍처가 문제를 깨끗하게 처리하고 알림을 지원합니까?
    • 이해하기 쉽습니다. 지나치게 복잡한 아키텍처는 구현 중에 잊어 버리는 경향이 있습니다. 팀의 대다수, 특히 리드가 아키텍처를 유지할 수 없다면, 그것은 철학과 규칙입니다. 머리 속에는 아키텍처가 중요하지 않습니다.
    • 일관성. 가능한 모든 패턴을 사용하거나 규칙적이고 반복되는 패턴에 집중하려고합니다. 각 문제에 맞는 패턴을 선택하는 것이 좋지 않지만 패턴이 많으면 이해력에 영향을 주어 구현 실수를 야기 할 수 있습니다. 건축가는 모든 프로젝트에서 그들이 아는 모든 것 (또는 최신 멋진 것)을 시연해야합니다.
    • 테스트 가능 - 디자인이 테스트 (시스템 및 통합) 노력을 돕거나 해치고 있습니까? 테스트를 자동화 할 수 있습니까? 아니면 테스터 군대에 의존하여 리그 레션 테스트를 반복하여 팀이 제품을 손상시키지 않았는지 알 수 있습니까?
    • 아키텍처에서 실제로 문제를 해결하고 문제의 범위 내에서 해결합니까? 양면 인쇄가 충분할 때 하늘 긁는 도구를 만들지 마십시오.
  • 1

    당신은 어쩌면 잘 알려진 패턴을 사용한다 아키텍처 프레임 워크를 사용하여 what-if를 줄입니다.

    프로젝트가 끝나면 아키텍처 오류를 보는 것은 비교적 쉽지만, 우리가하는 일의 본질에 있습니다.

    계속해서 아키텍처 검토를하는 것이 좋습니다. 당신이 방금 완료 한 단계가 아닙니다.

    1

    중요한 프로젝트에 대해 우리가하는 한 가지는 솔루션 옵션 문서입니다. 브레인 스토밍을하고, 기존 정보를 수집하고, 중소 기업과 이야기하고, 필요한 사람과 이야기하고, 장단점, 단점, 대략적인 비용 및 예상치와 함께 다양한 옵션을위한 표를 만듭니다. 그렇습니다.이 연습은 오버 헤드입니다 만, 그렇게하면 많은 설명을 할 수 있습니다.

    결국 솔루션을 시각화하기 위해 이유 및 가능한 높은 수준의 아키텍처 다이어그램으로 관리 솔루션을 권장합니다.

    2

    분명히 주제에 많은 책이 있습니다 (E.G., 건축가가 알아야 할 97 가지). 공리의 포괄적 인리스트 here을 찾을 수 있으며 체리는 체크리스트를 위해 프로젝트에 적합한 것을 선택하는 것이 좋습니다.

    2

    변경 사항은 일정하지만 아키텍처가 적용 가능해야합니다.
    사용자 인터페이스는 사용자 환경을 개선합니다.
    Archotecture에 대한 지식을 완전히 공유하십시오.
    구현하기 전에 시도하십시오.
    디자인 패턴을 과도하게 사용하지 마십시오.