Chapter 08 구조적 분석과 설계 8.1 구조적 분석(Structured Analysis) 8.2 구조적 설계 (Structured Design)
8.1 구조적 분석[1] 구조적 분석의 정의 효율적인 시스템 분석 명세서를 작성하기 위하여 널리 사용되어 오고 있는 시스템 개발 방법 중의 하나로 “도형 중심”의 체계적인 분석 기법 자료흐름도(Data Flow Diagram : DFD) 자료 사전(Data Dictionary : DD) 소단위 명세서(Mini Specification : MS)
8.1 구조적 분석[2] 구조적 분석의 특징 도형적인 모델 : “한 장의 그림이 천 마디의 말과 같다” 분할 가능한 하향식 모델 : 한 장의 종이에 시스템의 모든 것을 표현하는 것이 불가능함 최소한의 중복 모델 : 같은 정보를 다른 형태로 중복해서 표 현하는 부분이 가능한 적어야 함 간단 명료한 모델 : 시스템 분석가가 의도한 것이 사용자에 게 전달될 수 있도록 애매모호한 표현이 없어야 함
8.1 구조적 분석[3] 구조적 분석의 장점 시스템 분석의 질을 향상시킬 수 있음 시스템 모델 작성에 필요한 도구를 제공함 시스템 분석가와 사용자간의 의사 소통이 원활함 시스템 개발의 모든 단계에서 필요한 명세서 작성 이 가능함 시스템을 분석할 때 사용자의 참여 기회를 확대시 킬 수 있음
8.1 구조적 분석[4] 구조적 분석의 효과 시스템을 분할할 수 있음 시스템 분석가와 사용자간의 의사 소통이 용이함 하향식 원리를 적용하기 때문에 분석의 중복성을 배제할 수 있음 전체 시스템을 일관성 있게 이해할 수 있음
8.1 구조적 분석[5] 구조적 분석의 도구
8.1 구조적 분석[7] 자료흐름도의 기본 개념 도형 중심의 표현 하향식 분할의 표현 자료흐름 중심의 표현 직사각형, 원, 이중선, 화살표 기호를 이용하여 시스템의 활동적인 구성 요소 및 그들간의 연관 관계를 모형화하는 구조적 분석용 문서화 도구 도형 중심의 표현 하향식 분할의 표현 자료흐름 중심의 표현
8.1 구조적 분석[6] 구조적 분석의 절차
8.1 구조적 분석[8] 자료흐름도의 예
8.1 구조적 분석[9] 자료흐름도의 구성 요소
8.1 구조적 분석[10] 처리(Process) 개념 : 입력자료를 출력자료로 변환시키는 것 기호 : 원 구성 : 처리번호+처리명칭 - 처리번호 : 숫자를 이용하여 단계적으로 부여 - 처리명칭 : 목적어+동사 형태의 단어
8.1 구조적 분석[11] 자료흐름(Data Flow) 개념 : 자료들이 이동되는 정보 통로 기호 : 화살표 용도 : 자료흐름도 구성 요소들간의 연결관계를 나타내주며, 처리 사이를 움직이거나 자료저장소, 단말로 들어 가거나 나오게 됨
8.1 구조적 분석[12] 자료저장소(Data Store)
8.1 구조적 분석[13] 단말(Terminator) 개념 : - 발생지(Source) : 시스템에서 필요로 하는 자료들이 들어오는 곳 - 목적지(Sink) : 시스템에 의해 처리된 데이터가 이용되는 곳 기호 : 직사각형 용도 : 자료를 발생하거나 받게 되는 사람, 부서로 분석 대상 범위를 설정함
8.1 구조적 분석[14] 자료흐름도의 작성 방법 : 자료 흐름 모든 입출력 자료흐름을 파 악함 자료가 변환되거나 결합되 는 곳에 처리를 설정함 각 자료흐름에 명칭을 부여 함 각 처리에 명칭을 부여함 일시적으로 자료가 보관되 는 경우, 자료저장소를 설정 하고, 명칭을 부여함
8.1 구조적 분석[15] 자료흐름도의 작성 방법 : 처리 요소 시스템에서 수행되어야 할 처리 요소를 먼저 파악함 시스템에서 수행되어야 할 처리 요소를 먼저 파악함 각 처리가 발생하는 곳에 원을 그림 각 처리에 자료흐름 및 자료저장 소를 연결함 자료흐름과 자료저장소를 공유 한 처리들을 그림 맞추듯이 연결 함
8.1 구조적 분석[16] 확장된 자료흐름도의 예
8.1 구조적 분석[17] 자료흐름도의 단계화 : 체제배경도 분석하고자 하는 시스템과 외부 세계와의 접속 관계를 식별하기 위한 것으로 시스템 분석의 범위를 설정하고, 자료의 발생지와 목적지를 파악하기 위한 것
8.1 구조적 분석[18] 중간단계 자료흐름도 자료흐름도 내의 하나 이상의 처리가 하위 단계의 자료흐름도로 또 다시 분할되는 자료흐름도
8.1 구조적 분석[19] 최하위단계 자료흐름도 자료흐름도 내의 모든 처리가 더 이상 하위 단계의 자료흐름도로 분할되지 않는 자료흐름도
8.1 구조적 분석[20] 자료흐름도의 작성 원칙 자료 보존의 법칙 “어떤 처리의 출력 자료 흐름은 반드시 입력 자료 흐름을 이용하여 생성된 것이어야 한다”는 원칙
8.1 구조적 분석[21] 최소 자료 입력의 법칙 “어떤 처리가 출력 자료 흐름을 산출하는데, 반드시 필요로 하는 최소 자료 흐름만을 입력해야 한다”는 원칙
8.1 구조적 분석[22] 독립성의 법칙 “어떤 처리가 자신의 입력과 출력 자료 흐름을 제외한 시스템 내의 어떤 부분에 대해서도 알아서는 안 된다”는 원칙
8.1 구조적 분석[23] 지속성의 법칙 “처리는 입력 자료 흐름이 나타나기만 하면 항상 수행할 준비를 갖추고 있어야 한다”는 원칙
8.1 구조적 분석[24] 순서 처리의 법칙 “자료 흐름을 통해 입력되는 자료는 도착되는 순서대로 처리하는 반면에, 자료저장소로는 어떤 순서에 의해 접근하여도 무방하다”는 원칙
8.1 구조적 분석[25] 영구성의 법칙 “자료 흐름의 자료는 처리된 후 없어지지만, 자료저장소의 자료는 아무리 읽어도 없어지지 않는다”는 원칙
8.1 구조적 분석[26] 자료 변환의 법칙
8.1 구조적 분석[27] 자료흐름도의 작성 지침 이해하기 쉽도록 간단하게 작성함 한 장의 종이에는 1개의 도면만 작성하되, 그 도면내의 처 리의 개수는 7+2개 정도가 바람직함 같은 개수의 처리로 구성된 도면이라도 자료저장소와 자료 흐름의 개수가 많다고 생각되면 5개 이내로 함 가능한 같은 도면 내의 처리들은 같은 정도의 하위 단계 도 면을 가질 수 있도록 함 자료흐름이 가능한 교차되지 않도록 함 자료흐름의 길이는 길게 그리지 않도록 함
8.1 구조적 분석[28] 자료흐름도의 평가 및 개선 : 정확성 검토 자료흐름의 누락은 없는가? 잘못된 자료흐름은 없는가? 처리의 누락은 없는가? 단계화가 잘못되지 않았는가? 자료흐름명칭이나 처리명칭이 잘못 붙여져 있지 않는가? 제어 정보가 표시되지는 않았는가? 자료저장소가 잘못 설정되지 않았는가? 블랙홀(Black Hole)이나 화이트홀(White Hole)은 없는가? 자료 보존의 법칙이 지켜졌는가?
8.1 구조적 분석[29] 유용성 검토 인터페이스(Interface)가 너무 복잡하지 않는 가? 처리에 대하여 정확한 명칭이 부여되었는가? 자료흐름에 대하여 정확한 명칭이 부여되었는 가? 시스템의 분할로 균형 있게 이루어졌는가?
국산 8.1 구조적 분석[30] 자료 사전의 기본 개념 자료흐름도에 나타난 자료흐름(Data Flow), 자료저장소(Data Store), 자료요소(Data Element) 등과 같은 자료항목을 특별한 기호를 사용하여 그 내용을 쉽게 알아볼 수 있도록 정의한 것 자료흐름도가 단순 명료하게 되어 쉽게 알아볼 수 있음 처리 기기간의 인터페이스를 명시해 줌으로써 자료흐름도가 엄격 하게 작성되도록 해줌 자료 명칭의 중복 정의를 최소화시킴 데이터베이스와 파일 설계의 기초 자료가 됨 입출력 화면이나 입출력 양식 설계의 기초자료가 됨
8.1 구조적 분석[31] 자료 사전의 표기법 자료 항목 정의에 사용함(Equivalence) 복합적인 자료요소의 구성을 나타냄(Sequence) 반복의 의미를 나타냄(Iteration) 선택의 의미를 나타냄(Selection) 생략 가능하다는 것을 의미함(Option) 주석을 나타냄(Comment) 대체 항목 나열을 의미함 = + { } [ ] ( ) * * | 또는 ; 의미 기호
8.1 구조적 분석[32] 정의 기호의 사용 방법 반복 기호의 사용 방법
8.1 구조적 분석[33] 선택 기호의 사용 방법 ※ 복잡한 “계산서”에 대한 자료 사전의 예
8.1 구조적 분석[34] ※ 그룹화된 “계산서”에 대한 자료사전의 예
8.1 구조적 분석[35] 자료 사전의 정의 대상 : 자료흐름
8.1 구조적 분석[36] 자료저장소의 정의 방법
8.1 구조적 분석[37] 자료 요소의 정의 방법 주석 및 동의어의 정의 방법
8.1 구조적 분석[38] 소단위명세서의 기본 개념 구조적 언어(Structured Language) 자료흐름도에 나타난 모든 최소 단위의 처리에 대해 입력 자료흐름이 출력 자료흐름으로 변환되는 절차 또는 논리적인 활동을 기술하는 도구 구조적 언어(Structured Language) 의사결정표(Decision Table) 의사결정도(Decision Tree)
8.1 구조적 분석[39] 구조적 언어
8.1 구조적 분석[40] 의사결정표 의사결정 요소가 많을 때 각 의사결정 변수들이 취할 수 있는 값이 여러개 일 때 조건의 완전성을 판단하기 어려울 때 규칙 스터브 1 2 3 4 5 6 7 8 조 건 [3] 국내선(Y) Y N Y N Y N Y N 처리방침 [2] 무료 봉사(Y) N Y N ?
8.1 구조적 분석[41] 의사결정도