티스토리 뷰

Goal 

 - 시스템의 개요

 - 시스템 분석가(SA)

 - 시스템 개발 생명 주기 (SDLC)

 - 코드 설계

 - 코드의 종류

 - 코드의 오류 발생 형태

1. 시스템의 개요

 

시스템이란 공통의 목적을 달성하기 위하여 여러 가지 상호 관련된 요소들을 유기적으로 결합한 것.

 

시스템의 특성으로는 목적성, 자동성, 제어성, 종합성이 있다.

 

목적성 : 서로 다른 기능을 가지고 있는 시스템의 각 구성 요소들이 어떤 하나의 공통된 최종 목표에 도달하고자 하는 특성.

 

자동성 : 어떤 조건이나 상황의 변화에 대응하여 스스로 대처할 수 있는 특성.

 

제어성 : 시스템이 오류 없이 그 기능을 발휘하기 위하여 정해진 규정이나 한계 또는 궤도로부터 이탈되는 현상을 사전에 감지하여 그것을 바르게 수정해 가능 특성.

 

종합성 : 항상 관련된 다른 시스템과 상호 의존 관계로 통합되는 특성.

 

시스템의 기본 요소 

 

입력(input) : 처리할 데이터, 처리 방법, 처리 조건을 시스템에 투입하는 것

처리(Process) : 입력된 데이터를 처리 방법과 조건에 따라 변환하거나 가공하는 것

출력(Output) : 처리된 결과를 시스템에서 산출하는 것

제어(Control) : 자료가 입력되어 출력될 때 처리 과정이 올바르게 행해지는지 감독하는 것

피드백(Feedback) : 출력된 결과가 예정된 목적을 만족시키지 못한 경우 목적 달성을 위해 반복 처리하는 것

2. 시스템 분석가(SA)

- 시스템의 전반적인 흐름과 사용자들의 요구사항을 파악하고 해결책을 마련하는 사람.

- 기업의 목적과 현행 시스템의 문제점을 정확히 이해하고 해결책을 제시할 수 있어야 한다.

- 업무 내용이나 시스템에 대한 분석 능력이 있어야 한다.

컴퓨터 기술과 관리 기법을 알아야 한다.

- 시간 배정과 계획 등을 빠른 시간 내에 파악할 수 있어야 한다.

컴퓨터 하드웨어와 소프트웨어에 대한 전반적인 지식을 가져야 한다.

업계의 동향 및 관계 법규등을 파악할 수 있어야 한다.

창조력, 응용력, 현장 분석 경험이 있어야 한다.

- 사용자와 프로그래머, 경영진 간의 의사소통을 원활히 하는 해결사 역할을 수행할 수 있어야 한다.

 

3. 시스템 개발 생명 주기(SDLC)

 - 시스템의 개발하는 과정에서 공통적으로 반복되는 단계.

 

시스템 개발 생명 주기의 순서 : 1) 시스템 조사 -> 2) 시스템 분석 -> 3) 시스템 설계 -> 4) 시스템 구현 -> 5) 테스트 -> 6) 시스템 운용 -> 7) 유지보수

 

1) 시스템 조사 : 현행 시스템의 상태와 문제점을 파악하고 해결 방안을 제안하는 단계로, 예비 조사기초조사로 나뉨.

 

2) 시스템 분석 : 조사 단계에서 조사된 사용자의 요구 사항과 현행 시스템의 문제점을 명확히 파악하여 요구 분석 명세서를 작성하는 과정으로, 기능 분석, 예비 설계, 비용 효과 분석 순으로 진행됨. 기업 환경 조사, 현장 조사, 기업이 필요로 하는 기능과 활동을 조사하고, 자료 흐름도, 자료 사전, 소단위 명세서 등 기능 분석을 위한 도구를 사용하여 모델을 설계함.

 

3) 시스템 설계 : 시스템 분석에 의해 정의된 시스템 요구 분석 명세서를토대로 하여 새로운 시스템을 구체화하는 단계. 기본설계 : 분석 결과에 따라 사용자 입장에서 시스템 전체를 개괄적으로 설계하는 단계 상세 설계 : 각 기능의 논리적인 절차를 확정하고, 구체적인 입출력 내용, 코드 설계, 파일의 구체적사양을 결정하기 위한 단계.

 

4) 시스템 구현 : 설계 단계에서 산출된 설계 사양에 따라 프로그래밍 언어를 이용하여 원시 코드를 작성하는 단계로, 프로그래밍(Programming) 또는 코딩(Coding)이라고 함.

 

5) 테스트 : 사용자의 요구에 따라 시스템이 구현되었는지 검증 하는 단계로, 테스트의 종류에는 통합 테스트, 시스템 테스트, 인수 테스트가 있음.

 

6) 시스템 운용(이행) : 개발된 시스템을 실제 업무 처리에 적용하여 활용하는 단계.

 

7) 유지보수 : 시스템 개발 단계 중 가장 많은 비용이 투입되는 단계. 수정 유지보수, 적응 유지보수, 완전 유지보수, 예방 유지보수.

 

T.M.Ho의 시스템 개발 주기 순서 : 목적 설정 -> 상황 조사 -> 현행 시스템의 연구 -> 사용자 요구 사항 분석 -> 대안 평가 -> 새로운 하드웨어와 소프트웨어 선택 -> 새 시스템의 설계 -> 새 시스템의 구축 -> 새 시스템의 인도.

4. 코드 설계

 - 코드는 컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정 자료의 추출을 쉽게 하기 위해서 사용하는 기호이다. 또한 어떤 단위별 수치를 알거나 파일을 체계화하기 위해서 사용된다.

 

코드의 기능

1) 3대 기능 : 분류, 식별, 배열

2) 그 밖의 기능 : 간소화, 표준화, 암호화, 단순화, 연상(표의성), 오류 검출, 구별, 추출

 

코드 설계 순서 : 1) 코드화 대상 선정 -> 2) 코드화 목적의 명확화 -> 3) 코드 부여 대상 수 확인 -> 4) 사용 범위 결정 -> 5) 사용 기간 결정 -> 6) 코드화 대상의 특성 분석 -> 7) 코드 부여 방식의 결정 -> 8) 코드의 문서화

 

1) 코드화 대상 선정 : 어떤 항목을 대상으로 코드화할 것인지를 결정 하는 단계. 정보의 체계화 유무, 정보처리 효율성 유무, 정보 호환성 유무, 정보 표준화 유무 등을 고려하여 대상 항목을 결정함.

2) 코드화 목적의 명확화 : 무엇을 위해 코드가 필요한지 목적을 명확하게 밝히고, 코드에 부여할 기능을 결정함

3) 코드 부여 대상 수 확인 : 현장 조사 자료를 근거로 코드화 대상을 확인하되, 현재의 자료량과 이후 동향에 대해서도 고려함

4) 사용 범위 결정 : 코드 대상 항목에 대하여 설계된 코드의 사용이 컴퓨터 처리에 한정되는가, 해당 업무에만 한정되는가, 관련 부분의 업무에 공통적으로 사용되는가, 기업 전체에 사용되는가, 관련 있는 타기업 또는 공공 기관이 공통으로 사용할 것인지 등을 결정함.

5) 사용 기간 결정 : 만든 코드를 영구적으로 사용할 것인지, 한시적으로 사용할 것인지를 결정함

6) 코드화 대상의 특성 분석 : 코드화 대상 항목의 사용 경로, 코드 변경 유무, 코드의 추가 및 삭제의 빈도율 등을 면밀히 분석함.

7) 코드 부여 방식의 결정 : 자료의 특성에 따라 코드 체계, 체크 디지트의 사용 여부, 코드 자릿수, 코드 부여 요령 등을 결정함

8) 코드의 문서화 : 코드를 실제로 사용할 프로그래머가 이해할 수 있도록 코드와 관련한 전반적인 내용을 문서화하여 작성함

 

코드 설계시 유의 사항 : 기계 처리의 용이성, 취급의 용이성, 분류의 편리성(공통성, 체계성), 확장성, 단순성, 고유성, 표의성, 함축성 

5. 코드의 종류

순서 코드(Sequence Code) : 자료의 발생 순서, 크기 순서 등 일정 기준에 따라 최초의 자료부터 차례로 일련 번호를 부여하는 방법(순차 코드, 일련 번호식 코드) / 항목수가 적고, 변경이 적은 자료에 적합함 / 일정 순서대로 코드를 할당하기 때문에 기억 공간의 낭비가 없고 자릿수가 가장 짧음 / 단순 명료하고 이해하기 쉬움 / 발생 순서에 따른 코드인 경우 추가가 매우 편리함(확장성 용이) / 고유성이 있으므로 기억이 용이함 / 코드 중간에 누락된 자료를 삽입하기 어려움(융통성이 적음)

 

구분 코드(Block Code) : 코드화 대상 항목 중에서 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련 번호를 부여하는 방법 / 자릿수가 비교적 짧고, 블록별로 식별과 분류가 쉬움 / 블록마다 여유 코드를 두어 코드의 추가를 쉽게 할 수 있지만, 여유 코드는 코드 낭비의 요인이 되기도 함 / 기계 처리가 어려움 

 

그룹 분류식 코드(Group Classification Code) : 코드화 대상 항목을 일정 기준에 따라 대분류, 중분류, 소분류 등으로 구분하고, 각 그룹 안에서 일련 번호를 부여하는 방법 / 분류 기준이 명확한 경우에 이용도가 높으며, 기계 처리에 가장 적합함 / 각 자리가 특정한 의미를 가지고 있어 구분별 분류와 집계가 편리하며 그 의미가 명확함 / 여유 부분이 있어 자료 추가가 쉬움 / 자릿수가 길어질 수 있음

 

10진 코드 (Decimal Code) : 코드화 대상 항목을 0 ~ 9까지 10진 분할하고, 그 각각에 대하여 다시 10진 분할 하는 방법을 필요한 만큼 반복하는 코드(도서 분류식 코드) / 도서관에서 도서 정리 목적으로 널리 사용 / 코드 체계가 명확하고 무한대로 확장이 가능함 / 삽입 및 추가가 용이하고, 배열이나 집계가 가능함 / 분류 항목이 10개 이상 있을 떄는 비 효율적 / 자릿수가 길어질 수 있고 기계 처리가 어려움

 

표의 숫자 코드 (Significant Digit Code) : 코드화 대상 항목의 성질, 즉 길이, 넓이, 부피, 지름, 높이 등의 물리적인 수치를 그대로 코드에 적용시키는 방법(유효 숫자 코드) / 코드에 대상체의 성질을 그대로 표현하므로 기억하기 쉬움 / 코드의 추가 및 삭제가 용이함 / 자릿수가 길어질 수 있고, 기계 처리에 불편함.

 

연상 코드 (Mnemonic Code) : 코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법(기호 코드) / 코드만 보고도 대상 품목을 쉽게 연상할 수 있음 / 지명, 물건명, 상호명에 많이 적용함 / 자릿수가 길어질 수 있음 

 

6. 코드의 오류 발생 형태

 

필사 오류 (Transcription Error) : 입력 시 임의의 한 자리를 잘못 기록한 경우 발생 (오자 오류)

 

전위 오류 (Transposition Error) : 입력 시 좌우 자리를 바꾸어 기록한 경우 발생 

 

이중 오류 (Double Transposition Error) : 전위 오류가 2개 이상 발생한 경우

 

생략 오류 (Omission Error) : 입력 시 한 자리를 빼놓고 기록한 경우 발생. 

 

추가 오류 (Addition Error) : 입력 시 한 자리를 더 추가하여 기록한 경우 발생

 

임의 오류 (Random Error) : 위의 오류가 2가지 이상 결합 하여 발생한 경우.

 

 

 

 

 

 

*각 키워드의 핵심을 파악하라, 어차피 문제가 나올 때는 핵심이외의 문장은 다 만들어져서 출제 된다.

댓글