소프트웨어 아키텍처 문서화, 뷰 패킷, 정제, 설명적 완결성

  1. 뷰 패킷

    1. 대규모 소프트웨어 시스템에서 사용되는 뷰에는 수백, 수천 개의 요소가 들어간다. 이런 요소와 요소들의 관계를 하나의 문서에 다 포함할 수 없으므로, 이해관계자가 이해할 수 있는 부분들로 나눠서 조각을 나누어서 표현하는 것을 “뷰패킷” 이라고 한다.
    2. 같은 뷰에 속한 뷰 패킷

      1. 형제 뷰 패킷

        1. 동등한 레벨에서의 뷰 패킷, 사람의 , 머리, 가슴, 배 처럼 부분들로 나뉘어진 뷰 패킷
      2. 자식-부모 뷰 패킷

        1. 해당 뷰패킷의 내용을 더 상세화하면 자식 패킷
        2. 좀 더 추상적으로 보여주면 부모 패킷
    3. 다른 뷰에 속한 뷰 패킷

      1. 뷰들이 서로 겹치는 영역에 속한 뷰패킷
  2. 정제

    1. 분할 정제

      1. 실제 뷰 패킷을 기능 별로 자세히 설명하는 것

        1.  A는

          1. A1,A2,A3,A4로 나눠이지고 각각에 대해서 설명하면 분할정제
    2. 구현 정제

      1. 뷰 패킷의 기능을 구현에 가깝게 명확히 적시해 두는 것

        1. 구독, 발행 스타일에서 데이터 전송을 커넥터로 표현

          1. 구현정제 뷰 패킷에서는

            1. 커넥터는 토폴로지로 구현한다.

              1. 모든 구독자들이 서로 연결되어 있다.
            2. 커넥터는 분배기로 구현한다.

              1. 나의 분배 서버에서 각 해당 구독자들에게 알려준다.
              2.  즉, 구체적인 기술 구현 방법이 들어간다.
  3. 설명적 완결성

    1. 정제와 관련
    2. 적용은 선택적, 단 적용시에는 명확하게 표현해야함
    3. 뷰 패킷에 들어있는 요소들이 어떤식으로 연결되어 있는지 표현

      1. A->B, B<–>C 일 때

        1. A와 C는 관계가 있을 수도 있고 없을 수도 있다.
      2. 그러나 실제로 A<->C의 관계가 있을 수도 있으므로

        1. 추상적으로는 연결 안됨

          1. 모듈 뷰의 사용 개념(물리적으로 연결이지만, 논리적으로는 비 연결) 
        2. 실제로는 연결됨