리안이와 함께하는 세상

[소프트웨어공학] 구조적 방법론 본문

9급 공무원/컴퓨터 일반

[소프트웨어공학] 구조적 방법론

리안아범 2017. 3. 5. 21:00

: 업무 활동 중심의 방법론으로 정형화 된 절차 및 도형 중심의 도구를 사용하여 사용자 유구 사항 파악 및 문서화 하는 기법

* 특징
 - 정보와 정보의 구조를 중심으로 분석, 설계 구현
 - 정형화된 분석절차에 따라 사용자 요구 사항을 파악하고 도형 중심의 다이어그램을 이용하여 문서화
 - GOTO 분기 대신 3개의 논리구조로 구성하여 프로그램 흐름의 복잡성 감소
    > 3개의 논리구조 : 순차(Sequencing), 선택(Selection), 반복(Iteration)

* 장·단점
 - 장점
    > 일괄 처리 방식인 자료변환을 중심으로 하는 응용 S/W개발에 적합
    > 소프트웨어 및 시스템 개발의 전형적인 접근법(기능은 사용자의 1차적 요구사항)

 - 단점
    > 기능은 업무영역에서 불안정한 요소
    > 데이터가 은닉되지 않음
    > 시스템 분석, 설계, 개발 구분이 명확하여 단계별 전환 필요
    > 유지보수성 및 재사용성이 낮음 -> 기능은 불완전, 자주 변함


# 구조적 분석 : 소프트웨어 개발 방법론으로, Yourdon등에 의해 개발되어 보급된 이후 널리 사용하고 있는 방법론
    > 자료흐름도(DFD), 자료사전(DD), 소단위명세서(Mini-spec)등의 도구가 있음

* 구조적 분석의 기본 원리 : 추상화, 정형화, 분할 정복, 계층적 구조
 · 추상화 : 대상에 대한 표현 간소화 (불필요한 구체성 제거)
 · 정형화 : 대상을 수학적으로 표현, 품질관리를 위한 기초
 · 분할 정복 : 큰 시스템을 작고 독립적인 서브 시스템으로 나누어 분할된 시스템을 쉽게 해결
 · 계층적 구조 : 나누어진 모듈을 어떻게 배열할 것인가? (분할 정복과 밀접한 연관)

* 모형화 도구 : 자료흐름도(Data Flow Diagram), 자료사전(Data Dictionary), 소단위 명세서(Mini-Spec)
 · 자료흐름도 : 시스템을 처리와 자료의 흐름으로 연결한 네트워크형 구조로 나타냄
 · 자료사전 : 자료흐름도에 기술된 모든 자료들에 대해 구성. 자료항목, 자료에 대한 의미, 자료의 단위 및 값에 대한 사항을 정의
 · 소단위 명세서 : 입력에서 출력으로 나오기 위한 정책이나 규칙을 구체적으로 기술
    > DFD에서 설명하지 않는 '처리과청' 자체를 구조적 문장으로 설명

* 구조적 분석의 특징
 - 시스템을 하향식으로 분할 가능
 - 시스템 모형 작성에 필요한 도구를 제공
 - 도형 중심의 문서화 도구를 사용하여, 분석가와 사용자간의 의사소통 도움
 - 시스템 개발의 모든 단계에서 필요한 명세서 작성 가능
 - 시스템 분석시 사용자의 참여기회 확대
 - 하향식 원리 적용하여, 분석의 중복성 배제 가능
 - 분석도구가 정형화 된 그림 중심의 도형, 도표 형태임
 - 사용자 요구사항의 분석결과 검증 가능.


# 구조적 설계 : 소프트웨어 기능과 프로그램 구조, 모듈을 설계하기 위한 전략, 평가지침, 문서화 도구를 지원하는 체계적 설계기법
    > Flow Chart, HIPO(Hierachical Input Process Output) Chart, N-S Chart, 프로그램 명세서 등 이용
    > GOTO 문 대신 순차(Squencing), 선택(Selection), 반복(Iteration)의 논리구조 이용


#구조적 프로그래밍
 - Dijkstra에 의해 정형화
 - 계층적 형식, 제한된 제어구조, 작성 순서대로 프로그램 실행
 - 연속, 선택, 반복 구조