Akashic Records

구조적 방법론 본문

오래된글/소프트웨어공학

구조적 방법론

Andrew's Akashic Records 2018. 4. 19. 10:46
728x90

구조적 방법론은 1960년대 'GO TO 논쟁'으로 촉발되어 1970 초반 구조적 프로그래밍 기법을 도입하면서 시작되었다. 소프트웨어의 개발 생산성 품질향상을 위해서는 프로그래밍 이전 단계의 중요성에 대한 인식이 확산되면서 1970년대 중반의 구조적 설계와 나아가 1970년대 후반의 구조적 분석방법으로 발전하게 되었다. 구조적 설계방법은 다시 기능 중심의 설계방법과 자료중심의 설계방법으로 구분되기도 한다. 구조적 방법론은 크고 복잡한 문제를 작고 단순한 문제로 나누어서 해결하는 하향식 개발방식과 단순한 모형(Model) 사용으로 개발자와 사용자 모두 학습이 용이하다는 장점을 가지고 있다. 하지만 이와 같은 단순한 모형의 사용이라는 장점으로 인해 개발단계 사이에 모형의 완전성 일관성을 유지시키기 어려운 단점도 함께 내포하고 있다. 1980년대 중반 이후에도 현행 신규 시스템의 물리적 모형과 논리적 모형 사이의 자연스러운 변환 방법을 제시한 McMenamin 방법론과 실시간(Real-Time) 시스템의 개발 수요에 대하여 실시간 개념을 반영한 Ward & Mellor 방법론 이들 개념을 하나로 정리한 Yourdon 새로운 방법론이 제안되기도 하였다.


구조적 방법론의 특징

- 1960년대 이후 현재까지 가장 널리 사용되어 방법론

- 구조적 분석, 구조적 설계, 구조적 프로그래밍으로 구성

- 하향식 기능 분할에 기반을 프로세스 중심의 방법론

- 단순한 업무 처리 시스템의 개발에는 효과적이지만 데이터 분석 설계 부분이 취약하며 분석, 설계, 구현에서 상이한 모델을 사용함으로써 단계간의 변환에 많은 노력이 소요

- 대규모의 복잡한 시스템 개발에는 적합하지 않음


구조적 방법론의 표기법

- 자료흐름도(Data Flow Diagram)

- 자료사전(Data Dictionary)

- Minispec

- Structure Chart


구조적 분석

- 시스템 전체를 하나로 보고 높은 차원의 기능을 작은 단위로 쪼개어 나가며 시스템 전체를 이해

- 시스템 전체 이해 분석, 사용자 요구사항 파악 : 자료 흐름도, 자료사전, 미니스펙 작성


구조적 설계

- 프로그램을 Top-down 방식으로 계층적으로 분할하여 독립적으로 개발하고 통합할 있는 구조를 모델링 : Structure Chart, 시스템 흐름도

- 데이터 설계 방법이 결여

- 결합도, 응집도 측정 기준이 모호

- 대규모 시스템, 온라인 시스템에 비효율적


구조적 프로그래밍

- 계층적 형식, 제한된 제어구조, 작성순서대로 프로그램 실행


728x90
Comments