구조도

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

1. 개요

구조도는 시스템의 모듈 구조를 나타내는 다이어그램으로, 하향식 모듈 설계를 위한 도구이다. 컴퓨터 프로그램의 고수준 설계 또는 아키텍처를 지정하는 데 사용되며, 프로그래머가 큰 소프트웨어 문제를 작은 부분으로 분해하는 데 도움을 준다. 구조도는 시스템의 크기와 복잡성을 파악하고, 기능 및 모듈의 수를 식별하며, 실행 스트림 또는 스레드를 구성하는 요소를 시각화하는 데 활용된다. 구조도 작성은 하향식 설계를 따르며, 소프트웨어 개발의 초기 단계에서 청사진 역할을 하고, 이해 관계자 간의 소통 도구로 사용된다.

구조도
📚 더 읽어볼만한 페이지
  • 시스템 분석 - 수학적 최적화
    수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다.
  • 시스템 분석 - 시스템 통합
    시스템 통합은 오픈 시스템 환경에서 다양한 벤더의 제품을 조합하여 전체 시스템을 구축하는 서비스로, 정보 시스템 구축 아웃소싱과 함께 발전했지만 IT 환경 변화로 쇠퇴기에 접어들어 현재는 새로운 사업 모델을 모색하고 있으며, IT 컨설팅부터 유지 보수까지 다양한 단계를 거쳐 수직적, 스타, 수평적 통합 등 여러 통합 방법을 사용한다.
  • 차트 - 레이더 차트
    레이더 차트는 여러 변수의 상대적 크기를 시각적으로 비교하는 차트로, 중심점에서 방사형으로 뻗어나가는 축을 사용하여 데이터 패턴 파악, 유사성 비교, 이상치 탐색 등에 활용되지만, 면적 왜곡 등의 단점도 존재하여 데이터 해석 시 주의가 필요하다.
  • 차트 - 가계도
    가계도는 가족 구성원 간의 혈통 관계를 도표로 나타내며, 족보나 계통도 형태로 개인의 조상, 특정 성씨 구성원, 특정 직위 소유자 등을 포함하여 가족사 기록, 사회적 지위 표현, 문화적 전통 나타내는 데 사용되고, 최근에는 유전학적 분석을 활용하기도 한다.
  • 한국어 위키백과의 링크가 위키데이터와 같은 위키공용분류 - 라우토카
    라우토카는 피지 비치레부섬 서부에 위치한 피지에서 두 번째로 큰 도시이자 서부 지방의 행정 중심지로, 사탕수수 산업이 발달하여 "설탕 도시"로 알려져 있으며, 인도에서 온 계약 노동자들의 거주와 미 해군 기지 건설의 역사를 가지고 있고, 피지 산업 생산의 상당 부분을 담당하는 주요 기관들이 위치해 있다.
  • 한국어 위키백과의 링크가 위키데이터와 같은 위키공용분류 - 코코넛
    코코넛은 코코넛 야자나무의 열매로 식용 및 유지로 사용되며, 조리되지 않은 과육은 100g당 354kcal의 열량을 내는 다양한 영양 성분으로 구성되어 있고, 코코넛 파우더의 식이섬유는 대부분 불용성 식이섬유인 셀룰로오스이며, 태국 일부 지역에서는 코코넛 수확에 훈련된 원숭이를 이용하는 동물 학대 문제가 있다.

2. 구조도의 개념

단순 계층 차트 그림.
이 계층 차트는 두 모듈 간에 데이터를 전달하는 것을 나타낸다. Pay_Bill 모듈이 실행되면 의사 코드는 영수증을 검색하여 청구서가 이미 지불되었는지 확인한다(Search_Receipt 실행). 영수증이 없으면 Give_Money_To_Debt_Collector 모듈을 실행하여 작업을 완료한다.


구조도는 컴퓨터 프로그램의 고수준 설계 또는 아키텍처를 지정하는 데 사용되는 하향식 설계 도구이다. 프로그래머는 구조도를 사용하여 건축가가 청사진을 사용하여 집을 짓는 방식과 유사하게 프로그램을 구축한다. 기능적 분해를 통해 큰 소프트웨어 문제를 인간의 두뇌가 이해할 수 있을 정도로 작은 부분으로 재귀적으로 분해하여 설계하며, 클라이언트와 다양한 소프트웨어 설계자가 소통하는 수단 및 프로그램 구현시 "마스터 플랜"으로 참조된다.

2.1. 구성 요소

구조도는 하향식 모듈 설계 도구로, 시스템의 서로 다른 모듈을 나타내는 사각형과 모듈을 연결하는 선으로 구성된다. 선은 조직도에서 사용되는 활동과 하위 활동 간의 연결 또는 소유권을 나타낸다.

구조도는 실행 스트림 또는 스레드를 구성하는 관련 요소를 다이어그램으로 표시하는 데에도 사용된다. 이는 종종 계층 다이어그램으로 개발되지만 다른 표현도 허용된다. 표현은 구성 시스템을 서브 시스템 및 최저 관리 가능한 수준으로 분해해야 한다. 정확하고 완전한 구조도는 구성 항목(CI) 결정의 핵심이며, 구성 시스템과 CI 간의 내부 인터페이스를 시각적으로 표현한 것이다(CI를 명확하게 정의한다). 구성 제어 프로세스 동안 구조도는 제안된 변경 사항이 영향을 미칠 수 있는 CI 및 관련 아티팩트를 식별하는 데 사용된다.

2.2. 목적

구조도는 시스템의 크기와 복잡성을 파악하고, 기능 및 모듈의 수를 식별하며, 각 기능의 분해 필요성을 판단하는 데 사용된다.

또한, 실행 스트림 또는 스레드를 구성하는 요소를 다이어그램으로 시각화하는 데 사용되며, 계층 다이어그램 등으로 표현된다. 구조도는 구성 시스템을 서브 시스템 및 최저 관리 수준으로 분해해야 한다.

정확하고 완전한 구조도는 구성 항목(CI) 결정의 핵심이며, 구성 시스템과 CI 간의 내부 인터페이스를 시각적으로 보여준다. 구성 제어 프로세스에서 구조도는 변경의 영향을 받는 CI 및 관련 아티팩트를 식별하는 데 사용된다.

3. 구조도 작성

구조도는 하향식 설계 방식을 따른다. Wolber(2009)는 구조도 작성 단계를 설명했으며, 실제로는 먼저 구조도가 이미 개발되었는지 확인하고, 필요에 따라 수정하는 과정을 거친다.

3.1. 단계

Wolber(2009)에 따르면 "구조도는 구조를 생성하는 것부터 시작하여 개발할 수 있으며, 이는 구조도를 형성하는 거꾸로 된 트리의 루트를 배치하는 것이다. 다음 단계는 문제를 해결하기 위해 프로그램이 수행해야 하는 주요 하위 작업을 개념화하는 것이다. 다음으로 프로그래머는 각 하위 작업에 개별적으로 초점을 맞추고, 각 하위 작업을 더 작은 작업으로 세분화할 수 있는 방법을 개념화한다. 결국 프로그램은 트리의 잎이 단 몇 개의 프로그램 문으로 코딩할 수 있는 간단한 메서드를 나타내는 지점까지 세분화된다."

--

실제로 그림을 보면, 먼저 구조도가 이미 개발되었는지 확인한다. 그렇다면 전문가는 현재 구조를 나타내는지 확인하고, 필요에 따라 차트를 업데이트하기 위해 검토해야 한다.

3.2. 활용

-- Wolber(2009)는 "구조도는 구조를 생성하는 것부터 시작하여 개발할 수 있으며, 이는 구조도를 형성하는 거꾸로 된 트리의 루트를 배치하는 것이다. 다음 단계는 문제를 해결하기 위해 프로그램이 수행해야 하는 주요 하위 작업을 개념화하는 것이다. 이후 프로그래머는 각 하위 작업에 개별적으로 초점을 맞추고, 각 하위 작업을 더 작은 작업으로 세분화할 수 있는 방법을 개념화한다. 결국 프로그램은 트리의 잎이 단 몇 개의 프로그램 문으로 코딩할 수 있는 간단한 메서드를 나타내는 지점까지 세분화된다."라고 설명한다.

실제 그림을 보면, 먼저 구조도가 이미 개발되었는지 확인한다. 만약 그렇다면 전문가는 현재 구조를 나타내는지 확인하고, 필요에 따라 차트를 업데이트하기 위해 검토해야 한다.