입력 설계
입력 설계 순서
- 입력 정보의 발생
- 입력 정보의 수집
- 입력 정보의 매체화
- 입력 정보의 투입
- 입력 정보의 내용
입력 매체 장치 선택시 검토 사항
- 시스템의 이행 방법 및 운용 비용
- 입력 정보 발생 분야의 업무 특성
- 입력 매체와 매체화 장치 특성
- 출력 정보를 이용할 시점에 맞게 투입
데이터 입력 방식
집중 매체화 시스템 |
발생한 데이터를 전표상에 기록하고, 일정 시간 단위로 일괄 수집하여 입력 매체에 수록하는 방식 |
분산 매체화 시스템 |
데이터를 발생한 장소에서 매체화하여 처리하는 방식 |
턴 어라운드 시스템 |
입력된 자료가 처리되어 일단 출력된 후 이용자를 경유하여 다시 재입력되는 방식으로, 공과금, 보험료 징수 등의 자료 용지를 처리하는 데 사용 |
원시 전표 설계시 '기입의 측면'에서 고려할 사항
- 빠르고, 정확하고, 쉽게 기입할 수 있어야 함
- 기입 항목은 가능한 한 적게 하고, 간단하게 적을 수 있어야 함
- 전표 번호나 발행 주문과 같은 고정 항목은 미리 인쇄하거나 선택할 수 있게 함
- 일정한 순서대로 기입할 수 있어야 함
- 혼란을 초래할 우려가 있는 것은 기입 요령을 명시함
출력 설계
출력 설계 순서
- 출력 정보의 내용
- 출력 정보의 매체화
- 출력 정보의 분배
- 출력 정보의 이용
출력 정보 내용에 대한 설계 |
출력할 항목과 명칭, 출력 항목의 배열 순서, 크기 자릿수, 출력 항목의 문자 표현 방법, 출력 항목에 대한 집계 방법, 출력 정보의 오류 검사 방법을 결정 |
출력 정보 매체화에 대한 설계 | 출력 형식, 출력 매체 및 장치, 출력 정보의 양과 출력 복사의 매수, 출력 장소와 출력 시기 및 주기, 출력 배열 순서를 결정 |
출력 정보 분배에 대한 설계 | 분배 책임자, 분배 방법 및 형태, 분배 경로, 분배 주기 및 시기에 대해 결정 |
출력 정보 이용에 대한 설계 | 출력 정보명과 출력 정보의 사용 목적, 출력 정보의 이용자와 이용 경로를 결정 |
COM 시스템
출력 정보를 마이크로 필름에 수록하는 것. 축소 보관과 반영구적 보존이 가능하고, 지도, 설계 도면, 학적부, 변원의 기록 등을 보존, 건색, 관리하기에 적합한 방식
파일 설계의 기본
물리 레코드의 형식
비블록화 고정 길이 레코드
하나의 논리 레코드를 그대로 전송하는 방식으로, 레코드의 수만큼 입 · 출력이 발생하므로 시간 낭비가 많고, 경제성이 좋지 않음
블록화 고정 길이 레코드
길이가 동일한 여러 개의 논리 레코드를 묶어 하나의 블록으로 구성한 형태로, 프로그램의 작성이 쉽고, 속도가 빠르며, 경제성이 좋음
비블록화 가변 길이 레코드
길이가 다른 하나의 논리 레코드를 그대로 전송하는 방식으로, 레코드의 길이 정보를 반드시 표시해야 하며, 프로그램의 작성이 어렵고, 시간 낭비되며, 경제성이 좋지 않음
블록화 가변 길이 레코드
길이가 서로 다른 여러 개의 논리 레코드를 묶어 하나의 블록으로 구성한 형태로, 각각의 레코드와 블록의 길이 정보를 반드시 표시해야 하며, 프로그램의 작성이 어렵지만 처리 속도가 빠르며, 경제성 좋음
데이터 파일의 종류
마스터 파일(Master File)
전표 처리에서의 원장 또는 대장에 해당하는 파일로, 자료 관리의 중추적 역할을 담당하며 기본이 되는 파일. 트랜잭션 파일에 의해 갱신됨
트랜잭션 파일(Transaction File)
거래 내역이나 변동 내용 등 일시적인 성격을 지닌 정보를 기록하는 파일로, 마스터 파일을 갱신하거나 조회할 때 사용
요약 파일(Summary File)
다른 파일의 중요 내용이나 합계를 요약해 높은 파일로, 집계용으로 많이 사용됨
히스토리 파일(History File)
후일 통계 처리에 사용할 자료나 사고 발생시 마스터 파일 등을 원상 복구시키기 위한 자료를 보존한 파일
파일 편성의 설계
순차 편성
- 입력되는 데이터들을 논리적인 순서에 따라 물리적 연속 공간에 순차적으로 기록하는 방식으로, 주로 자기 테이프에 사용됨
- 급여 관리 등과 같이 변동 사항이 크지 않고 기간별로 일괄 처리를 주로 하는 경우에 적합함
- 기억 공간을 효율적으로 사용할 수 있음
- 매체 변환이 쉬워 어떠한 매체에도 적용할 수 있음
- 파일 중간에서 레코드를 삽입 · 삭제하는 경우 시간이 많이 소요됨
- 검색 효율이 낮음
색인 순차 편성
- 순차 처리와 랜덤 처리가 모두 가능하도록 레코드들을 키 값순으로 정렬하여 기록하고, 레코드의 키 항목만을 모든 인덱스를 구성하여 편성하는 방식
기본 데이터 구역
실제 레코드들을 기록하는 부분
인덱스 구역
기본 데이터 구역에 대한 인데긋가 기록되는 부분
트랙 인덱스 | 기본 데이터 구역의 한 트랙에 기록되어 있는 데이터 레코드들 중의 최대 키 값과 주소가 기록되는 인덱스로, 한 실린더당 하나씩 만들어짐 |
실린더 인덱스 | 각 트랙 인덱스의 최대 키 값과 해당 레코드가 기록된 실린더의 정보가 기록되는 인덱스로, 한 파일당 하나씩 만들어짐 |
마스터 인덱스 | 실린더 인덱스 구역의 정보가 많을 경우 그것을 일정한 크기의 블록으로 구성하는데, 이때 처리할 레코드가 어느 실린더 인덱스에 기록되어 있는지를 기록하는 인덱스 |
오버플로 구역
기본 데이터 구역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능할 때를 대비하여 예비로 확보해 둔 구역
랜덤 편성
- 입력되는 정보를 기록 순서나 코드 순서와 같은 논리적 순서와 관계업싱 특정한 방법으로 키를 생성하여 임의의 위치에 보고나하고 처리시에도 필요한 장소에 직접 접근할 수 있도록 편성하는 방식
- 처리하고자 하는 레코드를 주소 계산에 의하여 직접 처리할 수 있음
- 은행의 온라인 시스템과 같은 대화식 처리에 가장 효율적인 방식
- 접근 시간이 빠르고 레코드의 삽입, 삭제, 갱신이 용이
- 어떤 레코드라도 평균 접근 시간 내에 검색이 가능
- 충돌이 발생할 염려가 있으므로, 이를 위한 기억 공간의 확보가 필요
- 레코드의 주소 변환 과정을 위한 시간 필요
- 주소 계산 방법에는 직접 주소법과 디렉토리 조사법, 해싱 함수 이용법이 있음
해싱 함수 이용법
해싱은 해싱 함수를 이용하여 계산된 킷값(주소)에 해당하는 기억 공간에 레코드를 보관하거나 보관된 레코드를 검색하는 방법이다
해싱 함수 | 레코드의 키 값에서 레코드가 저장되어 있는 기억장치의 주소를 계산해 내는 사상 함수를 의미 |
버킷 | 하나의 주소를 가지는 영역을 의미하는 것으로, 하나의 버킷은 하나 이상의 레코드를 포함할 수 있음 |
충돌 | 두 개의 서로 다른 레코드가 같은 기억 공간(버킷)을 점유하려고 하는 현상 |
동거자(Synonym) | 같은 주소를 갖는 레코드의 집합(유사어, 동의어) |
해싱 함수 선택시 고려 사항
오버플로의 최소화, 계산 과정의 최소화(해싱 함수의 단순성), 키 변환 속도, 버킷의 속도
리스트 편성
- 레코드 들을 일정한 규칙이나 제약 없이 기억 공간에 자유롭게 기록하고, 각 레코드들은 다음 레코드와 주소를 가지고 있는 포인터를 통해 논리적인 순서로 연결됨
- 레코드는 데이터와 포인터로 구성되며, 포인터에는 다음 레코드의 주소가 저장됨
- 앞뒤의 포인터 내용만 변경하여 레코드를 쉽게 삽입 · 삭제할 수 있음
- 물리적으로 연속적인 공간을 확보하기 어려운 경우나 레코드의 수가 불규칙하게 변하는 경우에 효율적
- 포인터로 인해 레코드의 크기가 커지고, 예비 영역이 필요하므로, 기억 장소가 낭비됨
파일 설계의 순서
파일의 성격 검토 → 파일 항목의 검토 → 파일의 특성 조사 → 파일 매체의 검토 → 편성법 검토
파일의 성격 검토 | 파일의 명칭, 작성 목적과 종류를 결정하고, 파일이 사용되는 적용 업무를 확인 |
파일 항목의 검토 | 항목의 명칭과 저장 형식, 항목의 배열 순서와 자리수, 레코드의 형식과 크기, 블록의 크기를 결정 |
파일의 특성 조사 | 효율적인 파일의 처리 형태와 처리 유형을 결정하고, 추가 · 수정 · 삭제의 발생 빈도와 처리 형태, 파일의 활동률을 확인 |
파일 매체의 검토 | - 기능 검토 사항 : 액세스 형태와 처리 방식, 처리 시간과 정보의 양, 작동의 용이성을 검토 - 종합 검토 사항 : 저장 매체와 매체의 개수, 장치의 대수를 결정 |
편성법 검토 | 순차 편성, 랜덤 편성, 색인 순차 편성, 리스트 편성 등 파일의 편성 방식을 결정 |
프로세스와 프로그램 설계
프로세스 설계시 유의 사항
- 신뢰성과 정확성을 고려하여 처리 과정을 간결하고 명확히 표현
- 오류에 대비한 검사 시스템을 고려
- 시스템의 상태 및 구성요소, 기능 등을 종합적으로 표시
- 새로운 시스템의 프로세스 설계뿐만 아니라 기존 시스템의 문제점 분석이 가능하도록 설계
- 정보의 흐름이나 처리 과정을 모든 사람이 이해할 수 있도록 표준화
- 하드웨어와 프로그램의 능력을 고려
- 분류 처리는 가능한 적게 함
- 조작을 간결화, 자동화하여 사용자의 수동 조작을 적게 함
흐름도(Flowchart)
상태 및 구성 요소, 기능의 배열 순서와 총합 관계를 도형, 기호 등으로 표시한 것
블록 차트(Block Chart)
업무를 개괄적으로 파악하는 데 사용
시스템 흐름도(System Flowchart)
자료 발생부터 결과를 얻기까지 시스템의 전 과정을 나타내는 것
프로세스 흐름도(Process Flowchart)
컴퓨터의 입력, 처리, 출력 과정을 그림으로 표시한 것으로, 오퍼레이터에게 처리 공정을 알려주고 컴퓨터의 전체적인 논리 구조의 파악, 컴퓨터의 사용 시간 계산 등에 사용됨
프로그램 흐름도(Program Flowchart)
시스템 흐름도 중에서 컴퓨터 처리하는 부분을 중심으로 자료처리에 필요한 모든 조작 순서를 표시하는 것으로, 프로그램 전체의 내용을 개괄적으로 설명하는 개요 흐름도와 코딩, 데이터의 검토, 프로그램 기록 등을 위한 세부 사항을 기록하는 상세 흐름도가 있음
표준 처리 패턴
변환(Conversion)
입력 매체 상의 데이터 오류를 제거하고, 컴퓨터가 처리할 수 있는 형태로 편집하여 파일 매체로 변환(입력 변환)하고, 파일 매체에 저장된 내용을 사람이 확인할 수 잇도록 출력 매체로 변환(출력 변환)하는 기능(매체 변환)
병합(Merge)
동일한 파일 형식을 갖는 2개 이상의 파일을 일정한 규칙에 따라 하나의 파일로 통합 처리하는 기능
갱신(Update)
마스터 파일의 내용을 변동 파일에 의해 추가, 삭제, 수정 등의 작업을 하여 새로운 내용의 마스터 파일을 생성하는 것
분배(Distribution)
하나의 파일 안에서 조건에 맞는 것과 그렇지 않은 것을 분리하는 기능
추출(Extract)
파일 안에서 특정 조건에 만족하는 데이터만을 골라내는 기능
조합(Collate)
레코드 형식이 서로 다른 2개 이상의 파일에서 조건에 맞는 것을 골라 새로운 레코드로 파일을 만드는 기능
오류 검사 시스템
컴퓨터 입력 단계에서의 검사 방법
체크 디지트 검사 (Check Digit Check) |
코드를 설계할 때 본래의 코드에 검사할 수 있는 1자리의 숫자를 넣어줌으로써 컴퓨터에 의하여 자동으로 검사 |
균형 검사 (Balanced Check) |
차변과 대변의 한계값을 검사하는 방법으로, 대차의 균형이나 가로, 세로의 합계가 일치하는 가를 검사 |
한계 검사 (Limit Check) |
입력 데이터의 어떤 항목이 규정된 범위 내에 있는지를 검사 |
일괄 합계 검사 (Batch Total Check = Sum Check) |
입력 데이터의 특정 항목 합계값을, 미리 계산해서 이것을 입력 데이터와 함께 입력하고, 컴퓨터상에서 계산한 결과값과 수동 계산 결과값이 같은지를 검사 |
데이터 수 검사 (Data Count Check) |
컴퓨터로 처리할 데이터의 개수를 미리 파악해 두었다가 컴퓨터로 처리한 데이터의 개수와 같은지 여부를 검사 |
계산 처리 단계에서의 검사 방법
부호 검사, 중복 레코드 검사, 불일치 레코드 검사, 오버플로 검사, 제로 균형 검사, 불능 검사
프로그램 설계
프로그램 설계서
프로그래머의 업무 수행을 신속 정확하게 지원하는 작업 지시서의 역할을 하는 것
- 시스템 분석가(SA) 또는 시스템 엔지니어(SE)가 작성
프로그램 설계서의 구성
시스템 명 및 코드명, 설계 방침, 프로세스 흐름도, 코드표, 입출력 설계표, 프로그래밍 지시서
프로그래밍 지시서의 구성
프로그램명, 설계서 작성자명, 프로그램의 작성 기간, 작성 비용, 작성 시기, 입출력 일람, 처리 개요, 처리 명세, 프로그램 작성 후 제출할 사항, 참고 자료