본문 바로가기

카테고리 없음

구조적 분석 및 설계

구조적 방법은 상향식 접근과 goto의 사용, 프로그램의 생산성 저하 문제를 해결하기 위해 제안된 방법으로 1960년대 말에 소개되어 1970년대부터 크게 각광을 받아온 기법으로 소프트웨어 라이프 싸이클을 통괄하는 기술로 발전되었다. 따라서 구조적 방법은 프로세스 중심의 개발 방법으로 시스템 분석 및 설계 단계에서 프로세스를 가장 우선순위로 하여 개발하여야 한다. 이러한 구조적 방법의 가장 큰 문제점은 분석 및 설계시 데이터 중심이 아닌 처리 중심의 모델을 작성하기 때문에, 설계 모델과 구현 모델의 불일치성을 내포하고 있다는 것이다. 따라서 소프트웨어를 분석, 설계하는 데는 많은 도구들과 방법들이 있으나, 이중 가장 보편화된 방법이 구조적 방법론에 대하여 살펴본다.

 

*구조적 방법의 특성*

사용자가 소프트웨어 개발에 많은 참여를 한다.

구조를 알아보기 쉽게 도형 또는 도표를 제공한다.

소프트웨어 개발단계마다 면세서를 작성한다.

하향식 접근을 통한 소프트웨어 개발을 한다.

자료흐름도에 근거를 두고 구조적 접근을 한다.

작은 서브시스템 단위로 분할하여 개발한다.

 

[구조적 분석]

구조적 분석이란 자료흐름도, 자료사전 등 구조적인 도구를 이용하여 시스템을 여러 개의 미니 시스템으로 분할하여 새로운 형태의 분석명세서인 구조적 분석 명세서를 작성하는 일을 말한다.

 

*구조적 분석의 개념*

구조적 분석 방법은 효율적인 시스템 분석 명세서를 작성하기 위하여 널리 사용되고 있는 시스템 개발 방법 중의 하나로, 도형 중심의 분석용 도구인 자료흐름도 자료사전 소단위 명세서 등을 이용하여 새로운 목표 문서인 구조적 명세서를 만드는 기법이다. 즉, 이러한 분석 절차를 이용하여 사용자 요구사항을 파악하고 문서화하는 체계적이고 효율적인 분석 기법이다. 따라서 구조적 분석을 함으로써 시스템 분석의 질을 향상시킬 수 있으며, 시스템 모형을 구축하고 이용하기 위한 도구를 제공하고, 의사소통의 문제를 해결 할 수 있다는 이점을 가지고 있다. 다음은 구조적 분석의 목표 및 장점 그리고 효과에 대하여 알아본다.

 

구조적 분석에서는 종래의 기능 명세서를 구조적 명세서로 대치시키는 것으로 다음과 같은 목표를 가지고 분석을 해야한다.

1. 분석작업의 생산물은 반드시 유지 보수가 용이해야 한다.

2. 대규모 시스템을 효과적인 분할방법에 의해 다룬다.

3. 가능하면 그림, 도표 등을 많이 이용한다.

4. 논리성과 실제성을 분명히 구별하여 분석가와 사용자를 구별하는 데에 기초를 두고 책임할당을 명확히 한다.

5. 구현이전에 사용자가 시스템 특성에서 친밀감을 얻을 수 있도록 논리적 시스템 모형을 만들어야 한다.

 

구조적 분석 방법은 종래의 분석 방법에 비하여 다음과 같은 장점을 가지고 있다.

1. 시스템 분석의 질적 향상을 가져온다.

2. 도형 중심으로 이루어지기 때문에 사용자와 분석자간의 의사소통을 원활히 할 수 있다.

3. 시스템 모형 작성 도구를 제공한다.

4. 시스템 분석을 할 때 사용자 참여의 기회가 확대된다.

5. 시스템 개발 전체 과정의 명세서를 작성한다.

6. 전체시스템을 일관성 있게 이해할 수 있다.

7. 하향식 원리를 적용함으로써 분석상의 중복을 배제한다.

 

분석은 문제 해결을 위한 것이므로 문제로 제기된 주제와 문제 해결의 결과를 고찰함으로써 시스템 분석에 대해 이해할 수 있다. 따라서 시스템 모형을 두 가지 관점에서 살표보도록 한다.

*논리적 관점*

논리적 관점이란 실행 기술이나 실행 방법에는 관계하지 않고, 시스템을 사용자의 요구사항을 위한 기능 또는 활동 중심으로만 생각하는 관점이다. 즉 논리적 모형은 시스템 요구사항 중에서 특정 구현 기법 혹은 기술에 관계없이 시스템에대한 사용자의 순수한 요구사항만을 표현한 것으로 처리 방침 모형 또는 필수적 모형이라고도 한다.

 

*물리적 관점*

물리적 관점이란 경영 방침에 대한 요구사항들을 어떤 프로세서에 어떻게 분담시킬 것인가 하는 실행위주로 시스템을 생각하는 관점이다. 즉 시스템의 목표달성을 위하여 처리해야 할 요구사항을 분할, 할당하는 방법에 초점을 맞춘 관점이 물리적 관점이다. 그리고 사용자의 순수한 요구사항을 실제로 구현하기 위하여 처리기에 할당된 내역을 포함한 것이 물리적 모형 또는 구현 모형이라고도 한다.

 

*물리적 모형의 장점*

시스템 구현에 관한 명확한 관점을 제공한다.

시스템에 대한 처리기의 영향을 표시한다.

비용/효과 분석의 기초 자료를 제공한다.

의사소통의 기초를 제공한다.

 

[구조적 분석 도구]

구조적 분석 기법은 시스템을 프로세스의 집합으로 보고 프로세스간에 어떠한 데이터가 흐르는가를 파악하는 처리 중심 기법으로서, 구조적 분석에 사용되는 도구로는 분할용 도구로서의 자료흐름도, 연관관계용 도구로서 자료사전, 논리적인 파일 구조를 기술하는 자료구조도, 그리고 처리과정의 논리를 기술해주는 도구로서 일상 언어가아닌 구조적언어, 의사결정표, 의사결정도 등의 도구를 이용한 미니명세서를 이용하여 시스템을 모델링 한다. 따라서 본 장에서는 이들 도구에 대하여 간단히 알아본다.

 

*자료흐름도*

자료흐름도는 구조적 분석의 분할용 도구로서 시스템의 구성요소와 구성 요소간의 관계를 자료의 경로로 연결한 네트워크 형식의 도형이다. 따라서 자료 흐름도는 자료의 흐름을 보여주는 것이지, 제어의 흐름을 보여주지는 않는다. 즉 자료가 흐르는 관점에 따라 처리 절차를 표현한 도형으로 DFD, Data, Flow, Graph, Bubble, Chart 등으로 불리기도 하며 구조적 분석의 핵심이 되는 작업으로 다음과 같이 3단계 레벨링을 통한 작업으로 수행된다.

상위도(0레벨) : 전체시스템의 개략적인 처리를 표현한 배경도

중위도(1레벨) : 상위도 보다는 자세하고 하위도 보다는 개략적인 중간 도형

하위도(2레벨) : 더 이상 분해 할 수 없는 가장 세분화된 기능 처리도형

 

*자료흐름도의 특징*

그림 중심의 표현이다.

하향식 분할의 원리를 적용한다.

다차원 적이다.

자료의 흐름에 중점을 두는 분석용 도구이다.

제어의 흐름은 중요시 하지 않는다.