자격증/정보처리산업기사

Part 01. 정보시스템 기반 기술 | Chapter 05. 애플리케이션 설계

devvnn 2022. 2. 4. 20:11
Section 01. 설계 모델링
1. 행위 모델링은 구성 요소들의 기능적 특성을 모델링 하거나 동적 특성을 모델링 해야한다.
기능적 특성의 모델링의 종류는?
- 입출력 데이터/데이터 흐름/데이터 저장/데이터 변환 등

# 동적 특성 : 상태 전이/데이터 흐름 경로/사건 발생 순서/실행 경로 등

 

2. 설계 모델 요소 중 정적 요소에 해당하는 것?
- 구성 요소들의 유형 및 유형 계통
- 구성 요소들의 인터페이스
- 구성 요소들의 상호 작용 채널

# 동적 요소 : 동적 생성 및 소멸, 동적 결합과 연결, 위치 이동, 복제

 

3. NS(Nassi-Scheiderman) Chart?
- 논리의 기술에 중점을 둔 도형식 표현 방법
- 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현
- 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합

# HIPO Chart가 화살표 사용

 

4. HIPO
- 하향식 설계 도구
- HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표 가있음
- 기능과 자료의 의존 관계를 동시에 표현할 수 있음
- 보기 쉽고 이해하기 쉬움

 

5. 구조적 설계 방법론의 특징
- 표준화된 설계 기법
- 프로그램의 이해가 쉽다
- GO TO문을 되도록이면 사용하지 않은 것을 원칙으로 하되 한정된 범위 내에서 GO TO문을 사용
- 프로그램의 명료성을 증대

 

6. 설계 모델의 구성 요소
① 구조 모델 요소 : 구성 요소/연결 구조/인터페이스/데이터 구조/알고리즘 구조
② 행위 모델 요소 : 시스템 기능/컴포넌트 제어/계산/실행제어/상호작용

 

Section 02. 소프트웨어 아키텍처
1. 소프트웨어 개발 단계 중 아케텍처를 생성하는 단계?
- 요구분석 다음 단계

 

2. 소프트웨어 아키텍처의 비지니스 품질 속성
- 시장 적시성
- 비용과 이익
- 예상 시스템 수명
- 목표 시장
- 신규 발매 일정 또는 공개 일정
- 기존 시스템과의 통합

 

3. 파이프 필터 형태의 소프트웨어 아키텍처의 특징
- 서브 시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복

# 계층화 패턴 종류 : 기능을 분리한 패턴, n-tier 패턴

 

4. 서비스 지향 아키텍처 기반 애플리케이션을 구성하는 층
- 표현 계층/프로세스 계층/비즈니스 논리 계층/데이터 접근 계층

 

5. MVC  패턴의 구성 요소
- Model(응용 프로그램의 데이터를 나타냄)
- View(사용자에게 데이터를 보여주는 부분)
- Controller(데이터와 비즈니스 로직 사이의 상호 동작을 관리)

 

6. 소프트웨어 상위 설계에 속하는 것
- 전체적인 아키텍처 설계
- 인터페이스 정의
- 사용자 인터페이스 설계

# 소프트웨어 아키텍처 설계 : 모듈 설계/컴포넌트 설계

 

Section 03. 코드 설계
1. 코드의 기능
- 식별, 분류, 추가, 간소화, 표준화, 연상, 암호화, 오류 검출

# 복잡성은 X

 

2. 코드 설계의 원칙
- 고유성
- 표의성
- 적응성 및 확장성
- 기계 처리의 용이성

 

3. 코드 설계에서 일정한 일련번호를 부여하는 방식?
- 순차 코드

# 연상 코드 : 대상 항목의 명칭 등을 코드에 반영하여 대상에 대한 연상이 가능하도록 함
# 블록 코드 : 코드화 대상 항목을 미리 공통의 특성에 따라서 임의 크기의 블록으로 구분하고, 각 블록 내에서 순서대로 번호를 부여하는 방식
# 표의 숫자 코드 : 대상 항목의 증량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드

 

4. 코드의 기입 과정에서 원래 '12536'으로 기입되어야 하는데 '12936'으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?
- Transcription Error(코드 기입 시 임의의 한 자리를 잘못 표시한 경우)

# Addition Error : 코드 기입 시 한 글자가 추가되어 기술된 경우
# Omission Error : 코드 기입 시 한 글자를 빠뜨리고 기술한 경우
# Sequence Error : 순서 파일에서 데이터가 정해진 순서대로 저장되어 있지 않은 상태의 오류

 

5. 코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 경우?
- 표의 숫자 코드

 

6. 코드의 오류 형태 중 입력 시 좌우 자리를 바꾸어 발생하는 에러?
- Transposition Error(전위 에러)

 

Section 04. 파일 설계
1. 순차 파일(Sequential File)의 특징
- 처리하는데 불편이 많아 이용도가 낮음
- 데이터의 수록이 다른 파일에 비하여 어려움
- 데이터 검색 시 시간이 많이 걸림
- 파일의 내용을 추가, 변경, 삭제하기가 어려움

 

2. 색인 순차 편성(ISAM) 파일의 인덱스가 아닌 것은?
- 인덱스 구역(트랙 인덱스/실린더 인덱스/마스터 인덱스)

# 오버플로우 구역 : 실린더 오버플로우/독립 오버플로우

 

3. 파일 편성법 중 랜덤 편성법의 특징?
- 처리하고자 하는 레코드를 주소 계산에 의하여 직접 처리할 수 있음
- 어떤 레코드도 평균 엑세스 타임으로 검색이 가능
- 운영체제에 따라서는 키 변환을 자동적으로 하는 것도 있음
- 키-주소 변환 방법에 의하여 충돌이 발생할 수 있으므로 이를 위한 기억 공간의 확보가 필요

 

예상문제
1. 행위 모델의 동적 요소
- 상태 전이/상호 작용 프로토콜/알고리즘

# 입출력 데이터는 기능적 요소

 

2. 소프트웨어 아키텍처 설계
- 아키텍처 설계의 입력물은 아키텍처 드라이버
- 태스크에 의해 아키텍처 설계가 진행됨
- 아키텍처 설계의 출력물은 아키텍처 문서와 가이드라인
- 아키텍처에 영향을 주는 요구사항을 아키텍처 드라이버라고 함

 

3. MVC 모델
- MVC 모델은 인터페이스가 변경에 영향을 덜 받도록 만든 모델
- MODEL은 응용 프로그램의 데이터를 나타냄
- VIEW는 입력 텍스트, 체크 박스 등과 같은 사용자 인터페이스 요소
- VIEW는 사용자가 사용할 결과물을 생성하기 위해 모델로부터 데이터를 가져옴

 

4. 코드의 분류기능
- 정보들에 대하여 특정 기준을 만족하는 그룹과 만족하지 않은 그룹으로 나누거나, 코드 대상이 되는 동일 특성을 가진 데이터를 그룹화하는 기능

 

5. 코드 설계 단계시 고려사항
- 1:1로 대응되어야 함
- 정보 호환성의 유무 고려
- 정보 표준화의 유무 고려
- 정보 체꼐화의 유무 고려

 

6. 블록 코드
- 코드화 대상 자료 전체를 계산하여 이를 필요로 하는 분류 단위로 블록을 구분하고, 각 블록 내에서 순서대로 번호를 부여하는 방식
- 적은 자릿수로 많은 항목의 표시가 가능하고 예비코드를 사용할 수 있어 추가가 용이한 코드.
- 구분 순차 코드라고도 함

 

7. 색인 순차 편성(ISAM) 파일에 대한 특징
- 순차 처리와 임의 처리가 모두 가능
- 레코드의 추가 삭제 시 파일 전체를 복사할 필요 없음
- 어느 특정 레코드 접근 시 인덱스에 의한 처리로 직접 편성 파일보다 접근 시간이 느림
- 오버플로우 되는 레코드가 많아지만 사용중에 파일을 재편성하는 문제점이 발생

 

8. 랜덤 파일
- 처리될 파일의 정보가 기록 순서나 코드 순서와 같은 논리적 순서와 관계없이 특정한 방법으로 키변환을 하여 임의로 자료를 보관하고 처리 시에도 필요한 장소에 직접 접근하도록 만든 파일