소프트웨어에서 각 컴포넌트는 내부 및 외부 인터페이스의 특징이 명백히 구분되기 때문에 분류하여 명세를 하고는 한다.
보통 소프트웨어의 한 컴포넌트에는 하나의 소프트웨어적 동작을 이행하는 함수 및 함수 집단이 들어 있다고 볼 수 있다
먼저 외부인터페이스에 대해서..
각각의 컴포넌트들은 다른 컴포넌트들과 특정한 데이터로 정보를 교환한다(이런 관계를 나열하는 것이 특정 컴포넌트에 대한 외부 인터페이스를 작성하는 것이다) 참고로 여기서 특정 컴포넌트와 정보를 교환하는 다른 컴포넌트들은 하나의 모듈이라고 부르기도 한다. 그래서 특정 컴포넌트에 대한 입력 모듈 출력 모듈이라고 표현하기도 함
→ 특정 컴포넌트의 외부 인터페이스에 대해서 나열하는 것
- 통신방식(외부 인터페이스는 다양한 데이터들과 정보를 교환하기 때문에 통신 방식도 다양할 수 있어
통신 방식을 적는 듯?) - 특정 컴포넌트와 연결된 입력 모듈(컴포넌트), 출력 모듈(컴포넌트)
- 컴포넌트와 각 모듈간에 주고 받는 데이터의 이름
- 각 데이터가 뭔지에 대한 설명
내부인터페이스에 대해서..
내부 인터페이스는 특정 컴포넌트 안에서만 무슨 일이 벌어지는 것이 관심이다. 각 컴포넌트의 내부 안에서도 하나 이상의 함수가 들어있기 때문에 정보 교환을 하는 데이터들이 있을 것이다. 이것을 입출력 데이터라 부른다.
→ 특정 컴포넌트의 내부 인터페이스에 대해서 나열하는 것
- 특정 컴포넌트의 내부에서 활용되는 입출력 데이터
- 그 입출력 데이터에 대한 설명