Download presentation
Presentation is loading. Please wait.
1
Chaper 02 코드설계
2
목차 2.1 코드설계의 개념 2.2 코드의 종류 2.3 코드오류 방지와 검사 2.4 코드 설계 절차 2.5 코드의 유지보수
3
2.1 코드 설계의 개념[1] 코드의 개념 코드의 기능 부가적인 기능 3대 기능 기본적인 기능
코드는 대량의 자료를 구별, 동질의 그룹으로 분류하고, 순번으 로 나열하며, 특정 자료를 선별, 수량 파악, 간결한 표현 등 을 용 이하게 하는데 사용함 “코드는 데이터를 사용 목적에 따라 식별, 분류, 배열하기 위해 사용되는 숫자, 문자 또는 기호이다” 코드의 기능 연상 기능 암호화 기능 오류 검출 기능 부가적인 기능 식별 기능 분류 기능 배열 기능 표준화 기능 간소화 기능 3대 기능 기본적인 기능
4
2.1 코드 설계의 개념[2] 코드의 기능 표준화 기능 : 코드 대상이 되는 데이터를 표준화하는 기능
간소화 기능 : 데이터를 코드화함으로써 짧고, 간결하고, 명료화하는 기능 식별 기능 : 각각의 데이터를 상대에 따라 구별하는 기능 분류 기능 : 코드 대상이 되는 동일 특성을 가진 데이터를 그룹화하는 기능 배열 기능 : 데이터를 나열하는 것을 어떤 의미를 주어 결정하는 기능 연상 기능 : 코드의 대상을 연상할 수 있는 기능 암호화 기능 : 코드 대상이 무엇인지 알지 못하게 하는 기능 오류 검출 기능 : 코드 자체에서 오류를 찾게 하는 기능
5
2.1 코드 설계의 개념[3] 코드의 사용목적 함축성 : 적은 자릿수로 많은 자료 항목을 표현할 수 있음
고유성 : 코드는 획일적이어야 하며, 그 의미가 1:1로 대응 되어야 함 편리성 : 코드 분류 기준에 따라 분류가 용이해야 함 확장성 : 자료항목의 증가로 인한 코드 추가가 용이해야 함 표의성 : 사람이 알기 쉬워야 함 독립성 : 코드 체계의 중복성을 배제하여야 함 용이성 : 기계 처리시 집계가 편리해야 하고, 기억과 판단이 쉬워야 함
6
2.2 코드의 종류[1] 순서 코드(Sequence Code)
코드화 대상 항목을 자료의 발생 순서, 크기 순서, 가나다라 순서 등과 같이 어떤 일정한 기준에 따라 일련번호를 부여하는 가장 간단한 코드 분류 방법 사원 이름 사원 번호 행정 구역 코드 홍길동 1 서울특별시 박길동 2 부산광역시 : 김길동 100 제주도 15 사원 번호(발생순서) 행정 구역(크기순서)
7
순서 코드의 장단점 장점 단순하고 이해가 쉬우며, 코드화가 용이 코드의 추가와 기억이 용이 적은 자릿수로 표현이 가능
항목 수가 비교적 적고, 장기간 불변이 경우 적합 단점 코드대상의 항목이 많을 경우 코딩이 어려움 항목에 공통성이 없어 분류 조작에 부적합 코드 사이에 새로운 자료삽입 불가 분류 체계가 아니므로 그룹별 정리에 부적합
8
2.2 코드의 종류[2] 완전 순서 코드 (Complete Sequence Code)
코드 번호에 일정한 여유를 두어 새로운 자료가 발생하면 중간에 삽입할 수 있는 코드 체계 행정 구역 코드 서울특별시 1 경기도 11 부산광역시 2 강원도 12 : 울산광역시 5 제주도 18 행정 구역(크기순서) 여분 코드 : 08∼10
9
완전 순서 코드의 장단점 장점 단점 순차 코드의 단점을 보완한 코드 실수로 누락한 경우 여분의 코드가 있어 사용할 수 있다.
여분의 코드를 여유 있게 둘 경우 혼돈 가능성이 있다,
10
2.2 코드의 종류[3] 블록 코드(Block Code)
몇 개의 블록으로 나누어 각 블록 내에서 순서대로 번호를 부여하는 방식 학생 이름 학번(코드) 부서 소속 코드 강남옥 02-01 (01-05) 총무과 1 강은화 02-02 인사과 2 : 서무과 3 황현정 02-50 경리과 4 김승용 99-01 (06-10) 판매1과 6 박병규 99-02 판매2과 7 판매3과 8 최태웅 99-50 특판과 9 (입학년도 순서) 부서별 분류 코드
11
블록 코드의 장단점 장점 단점 적은 자릿수로 많은 항목을 표시할 수 있다. 예비코드를 사용하여 항목의 추가가 용이
공통된 특성별로 분류 및 집계가 용이 단점 구분마다 예비 코드가 있어 처리가 불편 구분마다 예비 코드가 있어 코드가 낭비 자릿수 및 그룹수가 증가하면 프로그램이 복잡
12
2.2 코드의 종류[4] 십진 분류 코드(Decimal Classification Code)
코드화 대상 항목을 10진법에 따라 분류한 것으로 각각을 다시 10진법으로 중분류하며, 필요에 따라 계속 10진법으로 소분류하는 방법 도서 구분 도서분류(코드) 델파이 4122 분류 수가 9를 넘으면 하위 분류 계층이 필요함
13
십진 분류 코드의 장단점 장점 단점 대량의 자료를 삽입 및 추가가 용이 코드 범위를 무한대로 확장 가능 배열이나 집계가 용이
자릿수가 많을 경우 사용이 불편 자릿수 길이 결정이 어려움 기계처리가 불편
14
2.2 코드의 종류[5] 그룹 분류 코드(Group Classification Code)
블록 코드를 세분화한 것으로 코드화 대상 항목을 대분류, 중분류, 소분류 등으로 구분하여 각 그룹 내에서 순서대로 번호를 부여하는 방법 대분류 중분류 소분류 부 과 계 X 111 : 총무부 인사과 행정계 112 : 총무부 인사과 기획계 113 : 총무부 인사과 관리계 121 : 총무부 경리과 경리계 122 : 총무부 경리과 서무계
15
그룹 분류 코드의 장단점 장점 단점 자료 항목의 구성의 분류 기능이 우수 융통성이 있어 자료의 추가가 용이
대량의 자료를 처리하기에 적합 기계 처리에 가장 적합한 코드 체계 단점 항목수에 비해 자릿수를 많이 차기 전산처리에 있어 코드 낭비가 심하다.
16
※ 관습상 사용되는 약자를 그대로 사용할 수도 있음
2.2 코드의 종류[6] 표의 숫자 코드(Significant Digit Code) 코드화 대상 항목에 관련된 중량, 면적, 용량, 거리, 부피, 성능 등의 구체적인 수치를 직접 코드에 적용시키는 방법 그룹분류코드 + 표의숫자코드의 예 상품명에 표의숫자코드의 예 1319 : 19인치 TV 길이 1245mm의 강판 ※ 관습상 사용되는 약자를 그대로 사용할 수도 있음
17
표의 숫자 코드의 장단점 장점 단점 코드에 물리적 수치를 부여하여 기억이 용이 같은 코드를 재사용하므로 오류가 적다.
코드 작성이 간단하며, 추가 및 삭제가 용이 단점 항목의 자릿수가 길어 분류가 어렵다. 항목의 자릿수가 길어 기계처리가 어려움
18
※ 품목 명칭이나 약호를 코드 속에 포함시켜 작성함
2.2 코드의 종류[7] 연상 코드(Mnemonic Code) 코드 값을 보면 어떤 대상을 의미하는지를 연상할 수 있도록 대상의 의미가 코드에 그대로 부여하여 작성한 코드 코드 값의 의미 CHN : 중국 TV-W-17 : 17인치 흑백 TV ※ 품목 명칭이나 약호를 코드 속에 포함시켜 작성함
19
연상 코드의 장단점 장점 단점 코드만 보면 대상을 쉽게 알 수 있다. 코드 작성이 간단하며, 자료의 추가가 용이
자릿수가 길어 분류 및 기계처리가 어렵다. 항목간의 공통성 결여
20
2.2 코드의 종류[8] 합성 코드(Combined Code)
두 개 이상의 코드를 조합하여 만든 코드로서 다른 코드의 결점을 보완한 코드 연상 코드 + 순차 코드의 예 블록코드 + 특정 자릿수 코드의 예 JAL-131 : 일본항공 131기 : 홍순자 (항공회사 + 일련번호) (입학순서 + 성별)
21
합성 코드의 장단점 장점 단점 코드의 표현에 융통성이 있다 각종 코드의 단점 보완 자릿수가 길어 분류 및 기계처리가 어렵다.
항목간의 공통성 결여
22
2.2 코드의 종류[9] 특정 자릿수 코드(Final Digit Code)
코드의 끝자리 수에 의미를 부여하여 한 자리를 추가해서 항목을 분류할 수 있는 코드 사원 이름 코드 제품 유형 홍길동 11 가공제품 23453 박길자 22 : 한혜숙 102 남성 : 1, 여성 : 2 자가 : 1, 구입 : 2, 가공 : 3 장점 : 분류의 기능을 보완한 코드 단점 : 독립적으로 사용이 불가
23
2.2 코드의 종류[10] 약자식 코드(Letter Type Code)
영문자 시프트(Shift)에 의해 표시되는 영문자나 명사 등의 코드화 종류의 일종으로서 습관적이나 관습상 사용하는 약호 등을 그대로 통상 거래 단위나 도량형 단위 등으로 코드화한 분류 방법 항목 그램 온스 야드 파운드 마력 미터 그램 코드 KG OZ YD LB HP M GM
24
약자식 코드의 장단점 장점 단점 코드만 보면 내용 파악이 용이 코드의 작성이 간단 명료 공통 특징이 없어 분류가 어렵다.
기계처리에 불편
25
2.2 코드의 종류[11] 영숫자 대조 코드(Numerical Alphabetic Code)
코드화 대상을 일정한 방식에 따라 1개의 문자를 2자리 수로 대응시켜 나타낸 코드로서 숫자식 문자 코드라고도 함 대상 코드 A 1 ㄱ B 2 ㄴ : Z 26 ㅎ 14
26
영숫자 대조 코드의 장단점 장점 단점 알파벳 순이나 가나다 순으로 표시할 수 있으므로 색인(Index)이 용이
큰 분류를 요하는 코드에 적합 단점 응용 분야가 한정적 자릿수가 많아 지기 쉽다.
27
2.3 코드 오류 방지와 검사[1], 코드의 오류 오자 오류(Transcription Error) : 코드를 잘못보고 틀리게 입력하여 발생된 오류 : “12345 → 12346” 전위 오류(Transposition Error) : 코드의 앞 뒤 자리를 바꾸어 입력하여 발생된 오류 : “12345 → 21345” 이중 전위 오류(Double Transposition Error) : 앞 뒤 자리를 두 번 바꾸어 발생된 오 류 : “12345 → 21354” 생략 오류(Omission Error) : 입력할 때 한 자리를 빠뜨리고 발생된 오류 : “12345 → 1345” 추가 오류(Addition Error) : 한 자리를 더 추가하여 발생된 오류 :“12345 → ” 랜덤 오류(Random Error) : 위에서 설명한 오류가 2가지 이상 결합되어 발생된 오류 : “12345 → ”
28
2.3 코드 오류 방지와 검사[2] 코드 오류 방지 코드 체계를 기억하고 입력하기 쉽도록 만듬
입력 담당자별로 코드 북(Code Book)을 따로 만들어서 배치시킴 코드 북을 명확하고 자세하게 작성함 입력 담당자를 충분히 교육시키고, 책임 소재를 명확히 함 작은 수의 코드를 여러 번 기록해야 한다면, 사진인쇄방식을 선택함 입력할 코드의 수가 많으면, 전문 코더(Coder)를 활용함 사람 대신에 고무인, 펀치카드, 컴퓨터 등의 기기를 이용함
29
2.3 코드 오류 방지와 검사[3] 코드 오류의 검사 사람에 의한 오류 검사
컴퓨터에 의한 오류 검사 체크 디지트에 의한 오류 검사 사람에 의한 오류 검사 전문 검사원이 직접 눈으로 코드를 확인하여 검사하는 방법 원시 전표와 모니터 시트를 비교해 가며 오류를 검사하는 방법
30
2.3 코드 오류 방지와 검사[4] 컴퓨터에 의한 오류 검사
한계 검사(Limit Check) : 미리 정해진 상한값과 하한값의 범위를 검사 하는 방법 모드 검사(Mode Check) : 입력되는 문자(숫자, 영문자, 특수문자)의 종류를 검사하는 방법 순차 검사(Sequence Check) : 일련의 데이터가 내림차순, 오름차순 으로 정렬되어 있는지를 검사하는 방법 공백 검사(Blank Check) : 입력 데이터 중에서 기입되지 않은 데이터 항목을 검사하는 방법 형식 검사(Format Check) : 데이터 항목의 자릿수나 위치 등이 일치 하는가를 검사하는 방법
31
2.3 코드 오류 방지와 검사[5] 컴퓨터에 의한 오류 검사
유효 범위 검사(Range Check) : 데이터 항목에 지정된 범위를 검사하 는 방법 - 한 달을 구성하는 날수의 유효 범위 1-31 사이를 검사 숫자 검사(Numeric Check) : 숫자 데이터 항목에 숫자 이외의 다른 문 자가 입력되었는지를 검사하는 방법 합계 검사(Total Check) : 입력 정보의 특정 데이터 항목의 합계를 미 리 계산해서 입력 정보와 함께 컴퓨터로 처리한 후 그 결과가 같은지 를 검사하는 방법 균형 검사(Balance Check) : 대차대조표에서 대변과 차변의 합계를 비교 및 검사하는 방법
32
2.3 코드 오류 방지와 검사[6] 컴퓨터에 의한 오류 검사
크기 검사(Size Check) : 주민등록번호와 같이 항상 13개의 숫자로 구성 되어 있는지를 검사하는 방법 타당성 검사(Validity Check) : 영문자만 표시하도록 된 데이터 항목에 숫자가 표현되지 않은가를 검사하는 방법 관련성 검사(Relational Check) : 원시 전표에 기재된 여러개의 코드 중 관련된 코드가 올바르게 기재되었는지 여부를 검사하는 방법 코드 검사(Code Check) : 코드 하나 하나를 마스터 파일의 코드와 비교 하거나 홀수 및 짝수 패리티 검사에 의해 코드의 오류를 검증하는 방법
33
2.3 코드 오류 방지와 검사[7] 컴퓨터에 의한 오류 검사
반향 검사(Echo Check) : 수신한 데이터를 송신측에 되돌려 보내어 원 래의 데이터와 비교하여 오류를 검증하는 방법 블록 검사(Block Check) : 송신 전문을 적당한 크기의 블록으로 나누어 블록 중의 오류를 검사하는 방법 데이터 수 검사(Data Count Check) : 컴퓨터로 처리할 데이터의 개수와 컴퓨터로 처리한 데이터의 개수가 같은지 여부를 검사하는 방법 대조 검사(Matching Check) : 입력 데이터의 코드와 파일에 보관되어 있 는 데이터의 코드를 검사하는 방법
34
2.3 코드 오류 방지와 검사[8] 체크 디지트에 의한 오류 검사
코드의 값에 대해 미리 약속된 연산을 코드값의 각 자리수에 시 행하여 생성된 체크 디지트(Check Digit)를 코드값의 맨 뒷부분 에 추가함으로써 코드 값의 검증을 컴퓨터에 의해 연산과정을 거 쳐 체크 디지트를 자동으로 검사하여 코드값의 오류 여부를 찾아 내는 방법 체크 디지트를 산출하기위해서 Modulus-10 또는 Modulus-11 등 을 이용
35
2.3 코드 오류 방지와 검사[9] 체크 디지트에 의한 오류 검사
[예] 기본 코드 값이 “ ”이라고 할 때, 연산과정을 다음과 같이 결정하였다고 가정한다(Modulus-10). ① 각 자리수마다 특정 가중치를 둔다. 여기서, 가중치는 코드 값의 자리 순서에 따라 “ ”로 가정한다. ② 각 가중치와 코드 값의 각 자리 수를 서로 곱하여 다음과 같이 각각 더한다. ▪ 4*1 + 3*2 + 4*3 + 5*4 +7*5 + 8*6 + 7*7 = 174 ③ 계산된 결과의 값을 10으로 나눈 나머지 값(Modular)을 취한다. ▪ 174 mod 10 = 4 ④ Modulus에서 구한 나머지를 10에서 뺀 값을 체크 디지트로 한다. ▪ = 6 ⑤ 기본 코드값의 끝에 체크 디지트를 추가한다. ▪ ⑥ 검사하는 방법은 동일한 방법으로 검사 합계를 구해서 체크 디지트를 더한다. ▪ = 180 ⑦ Modulus-10으로 나누어서 나머지가 0 이외의 값이 나오면 오류이다. ▪ 180 / 10 = 18(나머지 0)
36
2.3 코드 오류 방지와 검사[9] 주민등록번호의 구성 판별법 (예: 주민등록번호가 123456 - 1234567 인 경우)
앞의 6자리 : 자신의 생년월일 뒤의 7자리 첫번째 자리 (성별) 1 남자, 2 여자, 2000년 출생자로부터는 남자 3, 여자 4 다음 네자리수 : 지역코드 자신이 태어나서 출생신고를 한 동사무소 코드 다음 숫자 : 출생신고를 한 날의 등록순서 만약 2이면 신고한 날에 자신보다 먼저 신고한 사람이 1명 있다는 것을 의미 마지막 숫자 : 체크 디지트 Modulus-11, weight : 판별법 (예: 주민등록번호가 인 경우) Module : 11, weight : 1*2+2*3+3*4+4*5+5*6+6* *8+2*9+3*2+4*3+5*4+6*5 = 206 206/11 = 나머지 > = 3 마지막 숫자가 3이 아니고 7이므로 틀린 주민등록번호.
37
과제 주민등록 판별 프로그램 작성하기 입력 - 임의의 주민등록번호 13자리 출력 - 올바른 번호입니다 / 잘못된 번호입니다.
출력 - 올바른 번호입니다 / 잘못된 번호입니다. 처리 조건 Modulus-11, Weight : 11에서 나머지를 뺀 값이 10이거나 11인경우 각각 0 과 1로 간주 프로그램언어 - 모든 언어 가능(본인이 자신있는 1가지) 제출물 프로그램 코드 프로그램 실행 출력 화면
38
2.4 코드 설계 절차[1] 코드 설계시 고려사항 코드의 경제성 : 코드는 정보를 검색하고 처리하는 기본적인 규칙을 표현 하는 방법으로 가능한 적은 자릿수로 많은 정보를 표현하는 것이 바람직 함 코드의 유연성 : 업무 현장에서 새로 발생하는 정보를 효과적으로 코드화 할 수 있도록 현재뿐만 아니라 미래에 예상되는 변화까지 고려하여 코드 의 기능이나 크기를 설계하여야 함 기계 처리의 적합성 : 전산 처리하기 쉽도록 코드 체계를 설계하여야 함 사용의 편리성 : 사람이 사용하기 쉽도록 설계하여야 함
39
컴퓨터처리 내에 한정, 해당업무에만 한정, 관련부문의 업무에 공통, 기업 전체, 관련 타기업 공공기관의 공통사용 등
2.4 코드 설계 절차[2] 체계적으로 관리할 항목, 표준화가 필요한 항목, 처리나 관리의 효율성을 높이기 위해 필요한 항목 등을 선정 컴퓨터처리 내에 한정, 해당업무에만 한정, 관련부문의 업무에 공통, 기업 전체, 관련 타기업 공공기관의 공통사용 등 코드 설계 순서 P60. 코드 설계서 참조 코드화의 대상이 되는 항목의 개수를 명확화 영구적 사용, 일시적 또는 수시 변경 사용 코드화의 목적을 명확하게 설정 코드의 변경 유무 및 변경 주기 사용기간의 단축 및 연장 현장에서 코드의 중요도 삭제 및 폐기 코드의 취급 여부 코드 설정 기준서 코드표 코드 대장
40
2.5 코드의 유지보수[1] 코드 유지보수의 필요성 코드 작성시 공통성, 장래성, 유연성, 범용성, 일관성 등을 검토함
불합리한 점이나 현실과 거리가 있는 경우 수정을 기하여 통일된 코드를 작성함 코드의 소멸이나 추가, 신설 등의 문제 발생을 예상할 수 있음 코드의 설정기준 및 관리 등의 실체를 파악하고서 작성할 필요가 있음 명문화된 규정집에 준하여 유지보수를 함으로써 사무처리의 합리화, 능률 화, 명확화를 기할 수 있음
41
2.5 코드의 유지보수[2] 코드 유지보수의 조건 코드 유지보수의 작업
코드의 설정 기준 : 코드 명칭, 분류 항목 자릿수 또는 표현 방식 등 코드의 관리 기준 : 코드 갱신의 신청 절차, 신청 코드의 심의 절차, 코드결 정, 코드 관계부서에 통지, 코드등록대장관리 등 코드 유지보수의 작업 코드의 추가 등록 코드의 정정 등록 코드의 폐지 등록 코드대장, 코드표 등의 보관 및 정리
42
2.5 코드의 유지보수[3] 코드 유지보수의 절차 코드 추가, 정정, 폐지할 경우가 발생함
등록 신청서를 작성하여 담당 부서에 신청함 담당 부서는 등록 신청을 받아 심사 및 검토함 등록이 결정되면 등록 승인서를 발행한 후, 등록 결정서를 배포함 등록 신청서를 발행하고 등록 결정서를 관계 부서에 배포함 등록 결정을 근거로 코드 대장, 코드표를 정정 및 갱신함
Similar presentations