CHAPTER 05 프로세스 및 프로그램 설계
5.1 프로세스 설계의 기본[1] 프로세스 설계시 유의사항 신뢰성과 정확성을 고려하여 명확한 처리 과정을 표현함 시스템의 상태 및 구성 요소, 기능 등을 종합적으로 표현함 각 부문별 담당자의 책임 범위를 고려하여 설계함 새로운 시스템 및 현행 시스템의 프로세스 설계에 대한 문제점 분석이 가능하도록 설계함
5.1 프로세스 설계의 기본[2] 프로세스 설계시 고려사항 프로그래머의 코딩 능력을 고려하여야 함 프로세스 전개의 개념을 통일하여야 함 대상 시스템에서 각 루틴 상호간의 관련성을 고려하여야 함 하드웨어의 구성 및 소프트웨어의 처리 능력을 고려하여야 함 작성 프로그램의 수 및 필요한 유틸리티 프로그램의 종류를 고려하여야 함 입력 데이터의 종류 및 기억 매체, 데이터의 발생 주기를 고려하여야 함 오류 처리를 간소화하여야 함 오퍼레이터 개입을 최소화하여야 함 분류 처리는 가급적 최소화하여야 함 정보의 양과 질에 유의하여야 함
5.1 프로세스 설계의 기본[3] 흐름도(Flowchart) 개념 : 사무 및 생산 분야에서의 업무 처리 과정, 작업 공정 등의 분석을 처음부터 끝까지의 진행 과정을 체계적으로 그 흐름을 나타내는 것 목적 : - 시스템의 상태 및 그 구성요소, 기능의 배열순서와 전체적인 관계를 약속된 기호나 도형으로 나타내기 위해서 - 시스템에 있어서 정보의 처리 과정, 기능의 전체적인 관계를 가시적으 로 표현하고 논리적으로 이해하기 위해서 - 현행 시스템의 조사 및 분석, 새로운 시스템의 프로세스 설계를 효율적으로 하기 위해서 역할 : - 프로그램 코딩의 기본자료로 제공됨 - 처리과정을 논리적 판단 및 정확성 검토가 용이함 - 문제의 분석과 타인에게 전달이 용이함 - 프로그램 보관, 유지보수 자료로 활용됨
5.1 프로세스 설계의 기본[4] 블록차트(Block Chart) 시스템의 목적 을 달성하는데 필요한 모든 기능 및 각 부서를 나타낸 흐름도
시스템 흐름도(System Flowchart) 5.1 프로세스 설계의 기본[5] 시스템 흐름도(System Flowchart) 시스템에 있어서 데이터의 발생으로부터 처리 과정, 처리된 정보의 배부 및 축적하는 전체적인 과정을 도식화한 흐름도
프로세스 흐름도(Process Flowchart) 5.1 프로세스 설계의 기본[6] 프로세스 흐름도(Process Flowchart) 컴퓨터의 입력 → 처리 → 출력되는 하나의 처리 과정을 그림으로 나타낸 것으로 런 차트(Run Chart)임
프로그램 흐름도(Program Flowchart) 5.1 프로세스 설계의 기본[7] 프로그램 흐름도(Program Flowchart) 전체적인 흐름을 파악할 수 있는 개략 흐름도와 프로그래머가 직접 코딩할 수 있는 단계까지 구체적으로 기술한 상세 흐름도로 구분함 개략 흐름도 상세 흐름도
5.1 프로세스 설계의 기본[8] 흐름도의 기호 시스템 흐름도의 기호(1) 시스템 흐름도(System Flowchart) : <표 5.1> 참조(PP. 151) 프로그램 흐름도(Program Flowchart) : <표 5.2> 참조(PP. 152) 시스템 흐름도의 기호(1)
시스템 흐름도의 기호(2)
시스템 흐름도의 기호(3)
프로그램 흐름도의 기호(1)
프로그램 흐름도의 기호(2)
5.1 프로세스 설계의 기본[9] ※ 흐름도의 3가지 제어구조 순차 구조(Sequence Structure) 어떤 문제를 처리할 때 분기나 반복없이 처리 순서가 순차적으로 진행 선택 구조(Selection Structure) 어떤 조건에 따라서 조건에 맞는 각각의 처리 부분으로 흐름이 분기 반복 구조(Iteration Structure) 조건에 맞추어 처리의 일정 횟수를 반복
5.1 프로세스 설계의 기본[9] 순차 구조(Sequence Structure) 어떤 문제를 해결할 때 조건에 따라 분기나 반복 없이 처리 순서가 순차적으로 진행되는 구조
5.1 프로세스 설계의 기본[10] 선택 구조(Selection Structure) 어떤 조건을 검사하여 그 조건에 해당하는 처리를 수행해야 할 경우 각각의 처리 부분으로 그 흐름이 분기되는 구조
5.1 프로세스 설계의 기본[11] 반복 구조(Iteration Structure) 조건을 검사하여 만족하면 처리 부분을 반복하는 경우와 처리 부분을 실행한 후 조건을 검사하여 아직 만족하지 목한 경우 계속 반복하는 구조 Do While 구조 Repeat Until 구조
5.1 프로세스 설계의 기본[12] 흐름도의 작성요령 및 고려사항 흐름도 작성 용지 : <그림 5.8> 참조(PP. 154) 흐름도 작성자 : <그림 5.9> 참조(PP. 155) 국제 표준 기구에서 제정한 표준 기호를 사용함 처리 과정은 모두 표현함 논리적 흐름 방향은 위에서 아래로, 왼쪽에서 오른쪽으로 향하게 화살표 기호를 연결하는 것이 좋음 흐름선은 가능한 교차되지 않도록 작성함 간단 명료하게 작성함 처리과정이 길거나 복잡한 경우에는 분리하여 작성하되 연결자로 연결함 흐름도 기호의 내부에는 처리할 내용을 간단히 기술함 가급적이면 흐름도 작성자(Template)를 이용함
5.1 프로세스 설계의 기본[13] 프로세스 설계 절차 : 설계 원칙 입력 정보로부터 올바른 출력 정보를 얻을 때까지의 기본 처리 과정 을 명확하게 표현함 작업 처리 절차에 맞게 프로세스 흐름도를 먼저 작성한 후, 그 내용에 따라 각각의 프로세스의 논리 설계를 함 표준 처리 패턴을 적절히 조합하여 처리 절차에 따라 순서를 나열하 는 방식으로 도표를 작성함 신뢰성과 정확성을 고려하여 처리 과정을 명확하게 표현함 발생 가능성이 있는 오류에 대한 체크 시스템을 고려함 시스템의 상태, 구성요소 및 기능 등을 종합적으로 표시함 새로운 시스템의 프로세스 설계뿐만 아니라 기존 시스템의 문제점 분 석이 가능하도록 설계함 정보의 흐름, 처리과정에 대한 이해의 수단이 되도록 표준화함 하드웨어와 프로그래머의 능력을 고려함
5.1 프로세스 설계의 기본[14] 프로세스 설계 순서 ① 기본 사항 확인 - 입력 정보의 발생 장소 및 발생 시간 - 최종 사용자의 요구사항 - 출력 정보의 사용 장소 및 사용 시간 - 응답 시간의 허용 범위 - 처리할 정보의 양과 발생 빈도 ② 처리 방식 결정 - 집중 처리 방식과 분산 처리 방식의 결정 - 일괄 처리 방식과 실시간 처리 방식의 결정 - 온라인 시스템과 오프라인 시스템의 결정 ③ 작업 설계 - 시스템 분할 - 시스템 요건 확인 - 입력-처리-출력(IPO) 대응 - 수행(Run)의 분할 - 프로세스 흐름도 작성
5.2 표준 처리 패턴[1] 일괄 처리 시스템 매체변환 (Conversion) 병합 ( Merge) 대조 (Matching) 추출 (Extract) 생성 (Generate) 정렬 (Sort) 조합 (Collate)) 갱신 (Update) 분배 (Distribution 보고서 작성 (Reporting 보고서 작성
5.2 표준 처리 패턴[2] 매체 변환(Conversion) 컴퓨터의 저장 장치인 파일 매체 사이의 변환을 의미함 입력 변환 출력 변환
5.2 표준 처리 패턴[3] 정렬(Sorting) 정렬후 정렬전 순서 없이 나열된 데이터를 일정한 기준에 의하여 오름차순, 내림차순으로 배열하는 것
5.2 표준 처리 패턴[4] 병합(Merge) 동일한 파일 형식을 가지고 있는 2개 이상의 파일을 하나로 정리하는 것 병합전 병합후 병합전 동일한 파일 형식을 가지고 있는 2개 이상의 파일을 하나로 정리하는 것
5.2 표준 처리 패턴[5] 조합(Collate) 파일 내의 데이터와 대조 파일에 있는 데이터와 동일한 것들만골라서 파일을 만드는 것
5.2 표준 처리 패턴[6] 대조(Matching) 2개의 파일을 대조하여 그 기록 순서나 기록 내용을 검사하는 것으로 정상적인 데이터가 아니면 체크 리스트로 출력함
5.2 표준 처리 패턴[7] 갱신(Update) 마스터 파일내의 데이터를 트랜잭션 파일로 추가, 수정, 삭제하여 항상 올바른 최신 정보를 유지하기 위한 것
5.2 표준 처리 패턴[8] 추출(Extract) 어떤 특정의 조건을 제시하여 그 조건에 부합되는 데이터를 파일 중에서 추출해 내는 것
5.2 표준 처리 패턴[9] 분배(Distribution) 어느 특정의 조건을 주어진 파일 중에서 그 조건을 만족하는 것과 만족하지 않는 것으로 분리 처리하는 것
5.2 표준 처리 패턴[10] 생성(Generate) 하나 이상의 파일을 읽어서 변형 및 가공한 후, 새로운 파일을 만들어 내는 것을 의미함
5.2 표준 처리 패턴[11] 보고서 작성(Reporting) 컴퓨터의 처리 결과를 단일 보고서, 복수 보고서, 집계표 등을 출력 정보로 출력하는 것
5.2 표준 처리 패턴[12] 온라인 실시간 처리 시스템 응용 분야 응용 대상(예) 시스템 입력 시스템 시스템 POS 시스템 : 항공 좌석 예약 등 입력 시스템 원격지에서 중앙 컴퓨터로 데이터와 프로그램을 동시 에 전송 원격지에서 고속으로 카드 판독 및 인쇄 등 시스템 PC 통신 등
5.2 표준 처리 패턴[13] 온라인 실시간 처리 시스템(계속) 응용 분야 응용 대상(예) 시스템 처리 시스템 처리 시스템 정보 검색 시스템 등 처리 시스템 단말기에서 데이터를 중앙 컴퓨터에 입력하여 즉시 처리 및 전송 처리는 중앙 컴퓨터, 입력은 원격지 단말 처리 시스템 단말기로부터 프로그램과 데이터를 입력 컴퓨터 네트워크 시스템 전자 자료 교환(Electronic Data Interchange : EDI) 시스템
5.3 체크 시스템과 종류[1] 오류 체크 단계/주의사항 체크의 필요성 및 중요성을 인식하고 체크 방법을 결정함 하드웨어에 의한 방법으로 체크함 입력될 데이터를 작성한 사람이 이중으로 체크함 소프트웨어에 의한 방법으로 체크함 오류가 발생한 데이터를 복구하기 위한 방법을 준비함 반환 시스템(Turn Around System)으로 출력 내용을 다시 읽어서 확인함
5.3 체크 시스템과 종류[2] 원시 데이터 발생 장소에서의 체크 입력 매체 변환 단계에서의 체크 원시 전표의 분실 전표 조작의 미숙 사용 회선의 신뢰도 전표 기입 상의 오류 : 전표 작성자의 교육 및 홍보 입력 매체 변환 단계에서의 체크 입력 데이터 양식을 천공 요원이 보기 쉽게 설계하면 입력의 속도 가 빨라질 뿐만 아니라 오류도 줄일 수 있음 공통 항목이나 특수 코드를 자동 삽입하는 방법으로서 고정항목, 공통항목, 특수 코드에 에지 천공 카드(Edge Punch Card) 또는 프 로그램 테이프를 삽입하는 방법, 각 항목내의 데이터 자릿수를 가 변하는 방법, 프로그램 카드를 사용하는 방법 등을 이용함
5.3 체크 시스템과 종류[3] 컴퓨터 처리 단계에서의 체크 [컴퓨터 처리 단계] [컴퓨터 입력 단계] 이중 레코드 체크 숫자 체크, 형식 체크 범위 체크, 순차 체크 합계 체크, 대조 체크 균형 체크, 공백 체크 검사 자리 체크 이중 레코드 체크 불일치 레코드 체크 양수-음수 체크 한계 초과 체크 제로 균형 체크 불능 체크 [컴퓨터 처리 단계] [컴퓨터 입력 단계]
5.3 체크 시스템과 종류[4] 오류 데이터의 수정 방법 오류 데이터를 수정하여 올바른 데이터에 포함시켜 한꺼번에 처리함 올바른 데이터만 중간 파일에 출력하고, 오류 데이터는 수정하여 이 수정 데이터만을 모아 재투입해서 중간 파일과 병합하여 올바른 데이터 파일을 만듬 올바른 데이터만으로 모든 처리를 완료한 후, 수정 데이터만 가지고 다시 동일한 작업을 반복함 올바른 데이터만으로 전부 처리하여 결과 파일을 만들고 수정 데이터로써 결과 파일을 다시 수정함
5.4 프로그램 설계[1] 프로그램 설계의 개요 작성 목적 : 시스템 분석가, 프로그래머, 오퍼레이터 등의 업무를 수행하는데 어려움 없이 설계된 대로 처리함으로써 빠르고 정확한 업무를 수행하는데 있음 설계 대상 : - 대상 시스템의 구조 설계 - 절차적 흐름도의 설계 - 흐름도에 따른 프로그램의 설계 - 표준화된 문서화의 설계
5.4 프로그램 설계[2] 프로그램 설계서 작성 효과 프로그래머의 인사 이동이 발생했을 때 일어나는 결함을 방지함 공동 작업이 용이하며, 시스템의 수정, 변경, 보수가 간단하게 이루어짐 컴퓨터의 기종 변경이 있을 때 프로그램 변환이 용이하여 생산성이 향상됨 교육 및 훈련이 효율적으로 수행됨 비용이 절감되며, 장기 계획을 수립할 수 있음 운영 및 유지보수가 용이하며, 각 부문별 담당자의 책임 범위가 명확해짐
5.4 프로그램 설계[3] 프로그램 설계서 작성 방법 [1] 시스템 명칭 및 업무 코드 [2] 설계 방침 [3] 프로세스 흐름도 [4] 코드표 [5] 입출력 설계표 [6] 프로그래밍 지시서 ① 프로그램 명칭 ② 작성자(소속, 직위, 직급, 성명) ③ 프로그램 작성기간, 작성비용, 실시시기 ④ 입출력 일람표 ⑤ 처리개요 ⑥ 처리명세(전처리, 입력처리, 기간처리, 출력처리, 후처리) ⑦ 프로그램 작성 후 제출해야 할 사항 ⑧ 참고자료
5.4 프로그램 설계[4] 프로그램 테스트 : 논의사항 디버깅(Debugging) 특수한 기법을 사용해야 할 경우 처리 시간에 문제가 있을 경우 프로그램 설계를 변경할 필요가 있을 경우 시스템 프로그램 또는 하드웨어의 제한에 저촉될 경우 디버깅(Debugging) 데스크 디버깅(Desk Debugging) : 책상 위에서 프로그램을 보고 오류를 찾는 방법 기계 디버깅(Machine Debugging) : 컴퓨터에 의해 오류를 찾아내는 방법
5.4 프로그램 설계[5] 통합 테스트(Integration Test) 작동 매뉴얼에 따라 동작하는가? 오류 데이터는 전부 오류 리스트(Error Test)에 출력되는가? 계산의 결과는 맞는가? 부분적으로 장애는 없는가? 편집은 바르게 되어져 있는가? 조직상에 불편하고 부적합한 것은 없는가?
5.4 프로그램 설계[6] 시스템 테스트(System Test) 각 프로그램은 공히 연속적인 처리 흐름에 완전히 동작하는가? 각 작동 매뉴얼에 따라 조작이 되는가? 전산실의 작업은 정해진 순서대로 되는가? 각 단계에서 처리 시간 측정은 예상대로인가? 계산 결과는 최종적으로 맞는가? 오류 데이터는 어느 정도 발생하고, 그 처리에 대해서는 어느 정도의 시간과 방법을 취하는가? 입출력 시간의 한계는 염려 없는가?