스파게티 코딩

1960년대

- 작고 간단한 응용 시스템을 만듦

* 제한된 시스템 자원하에서 최대한의 효과를 보고자 노력함

 

- 개발자들의 창조적인 능력에 의해 소프트웨어가 개발됨

 

- 스파게티 코드 생성

 

- 수많은 GOTO 구문은 소프트웨어 시스템을 보수 / 관리하기 어렵게 함

 

 

 

구조적 설계와 분석

1970년대

- AI Constantine과 Ed Yordon의 접근 방법

* 함수(function)들을 빌딩 블록(building block)으로 하여 소프트 웨어 시스템을 만들고자 함

 

특징

- 모듈화 프로그래밍으로 발정을 가져 옴

- 함수는 언제나 변화할 수 있음

* 거의 변하지 않는 자연 법칙에 따라 작성되는 '과학 프로그램'에는 적합하나, 사용자의 요구가 계속정으로 바뀌는 현실 세계의 응용에는 부적합함

- 함수와 프로시저(procedure)는 생성되는 응용 프로그램에 대해 추상화를 제공함

* 함수는 다른 응용에서 재사용 가능함

* 프로시저는 반복적인 작업을 줄여 줌

- 높은 결합도(coupling)와 낮은 응집도(cohesion)에 의한 시스템의 복잡도 증가

* 결합도

- 특정 코드 부분의 다른 코드나 데이터 저장소에 대한 의존성 정도

- 구조적 방법론은 높은 결합도를 보여 줌

*응집도

- 서로 관련된 일련의 코드와 데이터가 얼마나 적합하게 관련을 맺고 있는가에 대한 정도

- 명령형 언어에서 변수는 공통 영역에 존재하면 모든 함수에서 공유가 가능함

- 구조적 방법론은 낮은 응집도를 보여 줌

 

 

 

 

+ Recent posts