IEEE 1471

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IEEE 1471은 시스템 및 소프트웨어 아키텍처를 설명하기 위한 표준으로, 아키텍처적 사고를 IEEE 표준에 통합하기 위해 제정되었다. 이 표준은 2000년에 처음 승인되었으며, 이후 ISO/IEC 42010으로 채택되어 ISO/IEC/IEEE 42010:2011으로 대체되었다. IEEE 1471은 시스템의 표현, 이해 관계자 간의 의사소통, 아키텍처의 평가 및 비교, 시스템 개발 관리, 시스템 특성 표현, 구현 준수 확인, 지식 기반 기여 등을 목적으로 한다. 이 표준은 아키텍처 기술서, 이해 관계자, 관점, 뷰, 아키텍처 모델 등 다양한 용어와 개념적 프레임워크를 정의하며, 아키텍처 설명 준수를 위한 필수 정보, 이해 관계자 및 관심사 식별, 관점 사양 및 근거, 아키텍처 뷰, 불일치 기록, 아키텍처 근거 제시 등을 요구한다.

IEEE 1471
일반 정보

이미지 준비중입니다.

IEEE 1471-2000 PDF 파일
다른 이름ANSI/IEEE 1471-2000
유형표준
상태대체됨
대체 표준ISO/IEC/IEEE 42010
발표일2000년
제목권장 관행 - 소프트웨어 집중 시스템의 아키텍처 설명을 위한
대체 제목소프트웨어 집약적 시스템의 아키텍처 설명을 위한 권장 관행
범위이해 관계자, 우려 사항 및 아키텍처 설명을 포함한 소프트웨어 아키텍처 프레임워크
언어영어
📚 더 읽어볼만한 페이지
  • IEEE 표준 - IEEE 754
    IEEE 754는 부동소수점 숫자를 표현하고 처리하기 위한 국제 표준으로, 다양한 형식과 연산, 반올림 규칙, 예외 처리 등을 정의한다.
  • IEEE 표준 - IEEE 802.2
    IEEE 802.2는 데이터 링크 계층의 LLC 서브레이어를 정의하는 IEEE 802 표준의 일부로, 비연결 및 연결 지향 모드를 지원하며, LLC 클래스 I, II, III, IV를 통해 다양한 서비스 유형을 제공하고, DSAP, SSAP 주소 및 제어 필드로 구성된 헤더와 필요에 따라 SNAP 확장을 사용해 네트워크 통신을 관리한다.

2. 역사

IEEE 1471은 ANSI/IEEE 1471-2000 (소프트웨어 집약 시스템의 아키텍처 설명에 대한 권장 사례)으로 알려진 표준의 약칭이다. 이 표준은 2007년에 ISO/IEC JTC1/SC7에 의해 ISO/IEC 42010:2007, 시스템 및 소프트웨어 엔지니어링 - 소프트웨어 집약 시스템의 아키텍처 설명을 위한 권장 관행으로 채택되었다.

"아키텍처"가 시스템 수명주기에 큰 영향을 미친다는 것은 오랫동안 인식되어 왔지만, 비교적 최근까지 하드웨어 문제가 아키텍처적 사고를 지배하는 경향이 있었고, 전체적으로 고려했을 때 소프트웨어 측면은 개발 압력으로 인해 가장 먼저 손상되는 경우가 많았다. IEEE 1471은 소프트웨어 집약적인 시스템의 아키텍처에 대한 사고의 기반을 제공하기 위해 만들어졌다.

2.1. IEEE 1471-2000 제정

1995년 8월, IEEE 소프트웨어 공학 표준 위원회(SESC)는 IEEE 아키텍처 계획 그룹(APG)을 설립하여 아키텍처적 사고를 IEEE 표준에 통합하는 방향을 설정했다. 1996년 4월, APG의 권고 사항을 구현하기 위해 아키텍처 워킹 그룹(AWG)이 SESC에 의해 설립되었다. AWG는 Basil Sherlund가 의장을 맡았고, Ronald Wade와 David Emery가 부의장을, Rich Hilliard가 명세 편집을 담당했다. AWG는 25명의 위원으로 구성되었으며, 130명의 국제 검토자들이 명세 초안에 대해 투표하고 의견을 제시했다. 2000년 9월, IEEE-SA 표준 위원회는 해당 명세를 IEEE Std 1471-2000으로 승인했다.

2.2. ISO/IEC 42010:2007 채택

2006년, ISO/IEC 합동 기술 위원회 1(JTC1) 정보 기술/소위원회 SC 7, 소프트웨어 및 시스템 공학은 특별 "패스트 트랙 절차"에 따라 이 명세를 ISO/IEC 42010으로 채택했으며, 이는 ISO 및 IEC의 국가 기구 승인과 동시에 진행되었다. ISO/IEC 패스트 트랙 투표 성공에 따라, 그리고 IEEE 표준의 5년 검토에 맞춰, 2006년에 ISO/IEC JTC1/SC7/WG42와 IEEE CS에 의한 이 표준의 조율된 개정이 시작되었다.

2.3. ISO/IEC/IEEE 42010:2011 대체

2011년 11월, IEEE 1471-2000 및 ISO/IEC 42010:2007은 ISO/IEC/IEEE 42010:2011 시스템 및 소프트웨어 공학 — 아키텍처 기술로 대체되었다.

3. 목적

IEEE 1471은 소프트웨어 집약적인 시스템의 아키텍처를 설명하기 위한 표준이다. 이 표준은 시스템의 수명주기에 큰 영향을 미치는 아키텍처에 대한 사고의 기반을 제공한다.

IEEE 1471은 다음과 같은 주요 목적을 가진다:

* 아키텍처 설명에 대한 정의와 메타 모델을 제공한다.
* 아키텍처는 시스템 이해 관계자의 관심사를 해결해야 한다고 명시한다.
* 아키텍처 설명은 본질적으로 다중 뷰를 가지며, 모든 이해 관계자의 관심사를 적절하게 포착하는 단일 는 없다고 주장한다.
* 뷰포인트의 개념을 정의한다. 뷰포인트는 관심사 집합과 이러한 관심사를 해결하기 위해 아키텍처를 설명하는 데 사용되는 표현 및 모델링 기법을 식별하며, 는 특정 시스템에 뷰포인트를 적용한 결과이다.
* 아키텍처 설명에 대한 내용 요구 사항과 적합한 아키텍처 설명이 뷰포인트와 뷰 사이에 일대일 대응을 갖는다는 아이디어를 설정한다.
* 아키텍처 이론적 근거를 캡처하고 아키텍처 설명 내 뷰 간의 불일치 및 해결되지 않은 문제를 식별하기 위한 지침을 제공한다.

3.1. 시스템 표현 및 의사소통

IEEE 1471에 따르면, 아키텍처 기술은 다음과 같은 목적으로 사용될 수 있다.

* 시스템 및 시스템 진화의 표현
* 시스템 이해 관계자 간의 의사소통
* 일관된 방식으로 아키텍처 평가 및 비교
* 시스템 개발 활동의 계획, 관리 및 실행
* 허용 가능한 변경을 유도하기 위한 시스템의 영구적인 특성 및 지원 원칙 표현
* 시스템 구현의 아키텍처 기술 준수 여부 확인
* 소프트웨어 집약적 시스템 아키텍처 지식 기반에 대한 기여 기록

3.2. 아키텍처 평가 및 비교

IEEE 1471은 아키텍처 기술을 일관된 방식으로 평가하고 비교하는 데 사용될 수 있다고 명시한다.

3.3. 시스템 개발 관리

IEEE 1471은 시스템 개발 활동을 계획, 관리 및 실행하는 데 도움을 주는 도구로 사용될 수 있다. 이를 위해 아키텍처 기술은 다음과 같은 목적으로 활용된다.

* 시스템 및 시스템 발전 과정을 표현한다.
* 시스템 이해관계자 간의 원활한 의사소통을 돕는다.
* 여러 아키텍처를 일관성 있게 평가하고 비교할 수 있도록 한다.
* 시스템 개발 활동을 계획, 관리 및 실행하는 데 필요한 정보를 제공한다.
* 허용 가능한 변경 사항을 유도하기 위해 시스템의 지속적인 특성과 지원 원칙을 명확하게 표현한다.
* 시스템 구현이 아키텍처 기술을 준수하는지 확인한다.
* 소프트웨어 집약적 시스템 아키텍처 지식 기반에 기여한 내용을 기록한다.

3.4. 시스템 특성 표현

IEEE 1471에 따르면, 아키텍처 기술은 허용 가능한 변경을 유도하기 위한 시스템의 영구적인 특성 및 지원 원칙을 표현하는 데 사용될 수 있다.

3.5. 구현 준수 확인

IEEE 1471에 따르면, 아키텍처 기술은 시스템 구현이 아키텍처 기술에 준수하는지 확인하는 데 사용될 수 있다.

3.6. 지식 기반 기여

IEEE 1471에 따르면, 아키텍처 기술은 소프트웨어 집약적 시스템 아키텍처 지식 기반에 대한 기여를 기록하는 데 사용될 수 있다.

4. 용어

IEEE 1471은 소프트웨어 집약적인 시스템의 아키텍처를 설명하기 위한 표준이다. 이 표준에서 사용되는 주요 용어들은 다음과 같다.

* [[소프트웨어 아키텍처|아키텍처]]: 시스템의 구성 요소, 구성 요소 간의 관계, 환경과의 관계, 그리고 설계와 진화를 안내하는 원칙을 포함하는 시스템의 기본 구성이다.
* 시스템: 특정 기능 또는 기능 집합을 수행하도록 구성된 구성 요소의 모음이다. "시스템"이라는 용어는 개별 애플리케이션, 전통적인 의미의 시스템, 하위 시스템, 시스템의 시스템, 제품 라인, 제품군, 전체 기업 및 기타 관심 집합체를 포괄한다.
* [[이해 관계자|시스템 이해 관계자]]: 시스템에 관심 또는 관련 우려 사항이 있는 개인, 팀 또는 조직(또는 그 클래스)이다.
* [[뷰 모델|뷰]]: 관련 관심사 집합의 관점에서 전체 시스템을 표현한 것이다.
* [[뷰 모델|관점]]: 뷰를 구축하고 사용하기 위한 규칙의 명세이다. 뷰의 목적과 대상, 뷰 생성 및 분석 기법을 설정하여 개별 뷰를 개발하기 위한 패턴 또는 템플릿이다.

위 용어들은 '핵심 용어' 절에서 상세하게 다루고 있으므로, 여기서는 간략하게 정의만 제시한다.

4.1. 핵심 용어

IEEE 소프트웨어 공학 용어집에 따르면, 다음과 같은 핵심 용어가 정의된다.

* 아키텍트: 시스템 아키텍처 설계를 담당하는 개인, 팀 또는 조직이다.
* 아키텍처 기술서(AD): 아키텍처를 문서화하기 위한 일련의 산출물이다.
* 아키텍처: 구성 요소, 구성 요소 간의 관계, 환경과의 관계, 그리고 설계와 진화를 안내하는 원칙을 포함하는 시스템의 기본 구성이다.
* 설계: 아키텍처의 적절한 구현을 정의, 문서화, 유지 관리, 개선 및 인증하는 활동이다.
* 시스템: 특정 기능 또는 기능 집합을 수행하도록 구성된 구성 요소의 모음이다. "시스템"이라는 용어는 개별 애플리케이션, 전통적인 의미의 시스템, 하위 시스템, 시스템의 시스템, 제품 라인, 제품군, 전체 기업 및 기타 관심 집합체를 포괄한다.
* 시스템 이해 관계자: 시스템에 관심 또는 관련 우려 사항이 있는 개인, 팀 또는 조직(또는 그 클래스)이다.
* : 관련 관심사 집합의 관점에서 전체 시스템을 표현한 것이다.
* 관점: 뷰를 구축하고 사용하기 위한 규칙의 명세이다. 뷰의 목적과 대상, 뷰 생성 및 분석 기법을 설정하여 개별 뷰를 개발하기 위한 패턴 또는 템플릿이다.

5. 개념적 프레임워크

IEEE 1471은 소프트웨어 집약 시스템의 아키텍처를 설명하기 위한 개념적 프레임워크를 제공한다. 이 프레임워크는 시스템, 이해 관계자, 관심사, 뷰, 관점 등 여러 핵심 요소들로 구성된다.

IEEE 1471의 개념적 프레임워크는 다음과 같이 요약될 수 있다.

* 아키텍처는 시스템의 이해 관계자관심사를 다루어야 한다.
* 아키텍처 설명은 본질적으로 다면적 뷰이며, 단일 로는 모든 이해 관계자의 관심사를 적절하게 포착할 수 없다.
* 관점는 분리되어야 한다.
* 아키텍처의 근거를 확보하고, 아키텍처 기술내에서 간의 불일치/미해결 과제를 식별하기 위한 지침이 제공되어야 한다.

IEEE 1471은 RM-ODP 및 IEEE 12207을 포함하여 다른 표준의 아키텍처 개념과 해당 개념을 관련시키는 정보를 제공하는 부록을 제공한다.

5.1. 시스템과 환경 (컨텍스트)

시스템의 환경(컨텍스트)은 해당 시스템에 영향을 미칠 수 있다. 환경에는 시스템과 직접 또는 간접적으로 상호 작용하는 다른 시스템들이 포함될 수 있다. 이러한 환경은 다른 시스템들과 관련하여 해당 시스템의 범위를 결정하는 경계를 정한다.

5.2. 이해 관계자와 관심사

IEEE 1471은 시스템의 이해 관계자와 그들의 관심사를 중요하게 다룬다.

* 이해 관계자 (Stakeholder): 시스템에 대해 관심을 가지는 개인, 팀, 조직 또는 그들의 집합을 의미한다. 모든 시스템은 하나 이상의 이해 관계자를 가지며, 각 이해 관계자는 시스템과 관련된 관심사나 우려 사항을 갖는다.
* 관심사 (Concern): 시스템의 개발, 운영 또는 기타 측면과 관련하여 하나 이상의 이해 관계자에게 중요하거나 영향을 미치는 모든 것을 의미한다. 여기에는 성능, 신뢰성, 보안, 배포, 진화 가능성 등 시스템의 다양한 측면이 포함된다.

IEEE 1471에 따르면, 시스템 아키텍처는 이러한 이해 관계자들의 다양한 관심사를 해결해야 한다. 아키텍처 설명은 이해 관계자와 그들의 관심사를 고려하여 작성되며, 각 뷰는 특정 이해 관계자의 관심사를 반영한다.

5.3. 미션과 아키텍처

모든 시스템은 이해 관계자들이 특정 목표를 달성하기 위해 의도한 사용 또는 작동 방식인 미션을 가진다. 시스템은 환경에서 하나 이상의 미션을 수행하기 위해 존재한다.

모든 시스템은 아키텍처를 가지며, 이는 아키텍처 설명으로 기록될 수 있다.

5.4. 뷰와 관점

IEEE 1471에서 아키텍처 설명은 여러 개의 [[뷰 모델|뷰(View)]] 로 구성된다. 각 뷰는 시스템 이해 관계자들의 특정 관심사를 다루며, 시스템 아키텍처를 부분적으로 표현한다.

[[뷰 모델|관점(Viewpoint)]] 은 뷰를 만들고, 표현하고, 분석하는 규칙을 정의한다. 뷰는 이 규칙에 따라 작성되므로, 해당 관점에 "부합"한다고 할 수 있다. 관점은 뷰를 설명하는 데 사용되는 언어(표기법, 모델, 제품 유형 포함)와 관련된 모델링 방법, 분석 기법을 결정한다. 이러한 언어와 기법은 관점에서 다루는 관심사와 관련된 결과를 얻는 데 사용된다.

간단히 말해, 뷰는 시스템의 특정 측면을 보여주는 그림이고, 관점은 그 그림을 그리는 방법과 규칙을 설명하는 것이다.

5.5. 아키텍처 모델

IEEE 1471에서 아키텍처 설명은 하나 이상의 아키텍처 뷰로 구성된다. 각 뷰는 시스템 이해 관계자들의 관심사 하나 이상을 다루며, 특정 관점에 따라 시스템 아키텍처를 부분적으로 표현한다.

뷰는 하나 이상의 아키텍처 모델로 구성될 수 있으며, 각 모델은 관련된 아키텍처 관점에서 정한 방법을 사용하여 개발된다. 하나의 아키텍처 모델은 둘 이상의 뷰에 참여할 수 있다.

5.6. 관점 선정

아키텍처 설명(AD)은 사용할 관점을 선정해야 한다. 관점 선정은 일반적으로 AD가 다루는 이해 관계자와 그들의 관심사를 고려하여 이루어진다.

관점 선정 기준은 다음과 같다.

* 이해 관계자: 시스템과 관련된 이해 관계자들을 식별한다.
* 관심사: 각 이해 관계자들이 시스템에 대해 가지는 관심사(예: 성능, 보안, 확장성)를 파악한다.

관점 정의는 AD 자체에서 만들어질 수도 있고, 다른 곳에서 정의된 "라이브러리 관점"을 참고할 수도 있다.

6. 준수

IEEE 1471은 아키텍처 설명 준수를 위해 다음과 같은 규범적 요구 사항을 정의한다.

👆
좌우로 밀어서 보기
절 번호내용
5.1AD 식별, 버전 및 개요 정보 제공
5.2시스템 이해 관계자 및 해당 관심사 식별
5.3각 관점의 사양과 선택 근거 제시
5.4하나 이상의 아키텍처 뷰 제시
5.5알려진 모든 불일치 기록
5.6아키텍처 선택에 대한 근거 제시

6.1. 필수 정보

ANSI/IEEE 1471-2000영어은 "소프트웨어 집약 시스템의 아키텍처 설명 권장 실무"로 알려진 표준이다. 아키텍처 기술서는 식별, 버전, 개요 정보를 제공해야 한다.

6.2. 이해 관계자 및 관심사 식별

IEEE 1471은 시스템 아키텍처와 관련된 이해 관계자 및 그들의 관심사를 식별하도록 요구한다. 이는 아키텍처 설명의 필수 요소이며, 5.2절에서 다룬다.

6.3. 관점 사양 및 근거

IEEE 1471은 아키텍처 표현을 구성하기 위해 선택된 각 관점의 사양과 해당 선택에 대한 근거 제시를 요구한다. 이는 아키텍처 결정의 투명성과 이해도를 높이기 위한 조치이다. 각 관점은 특정 이해 관계자의 관심사를 반영하여 설계되었으므로, 그 선택 근거는 시스템의 목표와 제약 조건을 명확히 하는 데 도움이 된다.

6.4. 아키텍처 뷰

IEEE 1471은 하나 이상의 아키텍처 뷰 제시를 요구한다.

6.5. 불일치 기록

IEEE 1471은 아키텍처 설명의 필수 구성 요소 간에 알려진 모든 불일치를 기록하도록 요구한다. 이는 5.5절에 해당한다.

6.6. 아키텍처 근거

IEEE 1471은 아키텍처 선택에 대한 근거 제시를 요구한다. 이 내용은 표준의 5.6절에 명시되어 있다.