정보처리기사 필기 정리 - 1과목

업데이트:

2020년 개정된 정보처리기사 필기를 신청해뒀고 공부한 내용을 정리해본다.

총 5과목에 걸쳐 1과목씩 정리 예정이다. 내용이 길면 2편에 나눠서 할 생각이다.

1과목은 소프트웨어 설계이다.

1. 요구사항 확인

1-1. 현행 시스템 분석

현행 시스템 파악

  • 현행 시스템 파악 절차
    • 구성/기능/인터페이스 파악
      • 현행 시스템 구성 현황
      • 기능 현황
      • 인터페이스 현황
    • 아키텍처 및 소프트웨어 구성 파악
      • 아키텍처 파악
      • 소프트웨어 구성 파악
    • 하드웨어 및 네트워크 구성 파악
      • 시스템 하드웨어 현황 파악
      • 네트워크 구성 파악
  • 구성요소
    • 현행 시스템 아키텍처 구성도
    • 소프트웨어 구성도
    • 하드웨어 구성도
    • 네트워크 구성도

개발 기술환경 정의

  • 기술 환경 요소
    • 운영체제
      • 구축비용
      • 신뢰도
      • 성능
    • DBMS
      • 가용성
      • 성능
      • 기술 지원
      • 상호 호환성
      • 구축 비용
    • 미들웨어
      • 가용성
      • 성능
      • 기술 지원
      • 구축 비용
    • 오픈 소스 소프트웨어
      • 라이선스의 종류
      • 사용자 수
      • 기술의 지속 가능성
      • 라이선스 문제에 대한 판단여부가 어렵다면 → 전자정부 표준 프레임워크 OSS 참조

1-2. 요구사항 확인

요구사항 정의

  • 요구사항 개발 프로세스
    • 요구사항 도출(Elicitation)
      • 요구사항 소스
      • 요구사항 도출기법
    • 분석(Analysis)
      • 요구사항 분류
      • 개념 모델링
      • 기술 구조 설계 및 요구사항 할당
      • 요구사항 협상
    • 명세(Specification)
      • 시스템 정의서
      • 시스템 요구사항 명세서
      • 소프트웨어 요구사항 명세서
    • 확인(Validation)
      • 검토
      • 프로토타이핑
      • 모델 검증
      • 인수 테스트

요구사항의 시스템화 타당성 분석

  • 요구사항의 기술적 타당성 검토요소
    • 성능 및 용량산정의 적정성
    • 시스템 간 상호 운용성
    • IT 시장 성숙도 및 트렌드 부합성
    • 기술적 위험 분석
      • 복잡성
      • 검증 여부
      • 의존성

1-3. 분석모델 확인

분석모델 검증

  • 유스케이스 모델 검증
    • 액터
    • 유스케이스
    • 유스케이스 명세서
  • 개념 수준의 분석 클래스 검증
    • 클래스 도출
    • 클래스 이름과 속성
    • 클래스들간 관계
      • 0..1 : 0 또는 1개의 인스턴스 n..m은 n에서부터 m까지 범위
      • 0..* 또는 * : 0을 포함한 무한개의 인스턴스
      • 1 : 1개의 인스턴스
      • 1..* : 1개 이상의 인스턴스
  • 분석 클래스 검증
    • 스테레오 타입
      • 경계 boundary
      • 엔터티 entity
      • 제어 control
    • 경계 및 제어 클래스도출
    • 관계 및 상세화 정도

분석모델의 시스템화 타당성 분석

1-2의 요구사항의 시스템화 타당성 분석과 동일

  • 성능 및 용량산정 적정성
  • 시스템 간 상호 운용성
  • 시장성숙도 및 트렌드부합성
  • 기술적 위험 분석

2. 화면 설계

2-1. UI 요구사항 확인

소프트웨어 설계의 종류

  • 상위 설계

    • 아키텍처 설계
    • 데이터 설계
    • 인터페이스 정의
    • 사용자 인터페이스 설계
  • 하위 설계

    • 모듈 설계

    • 자료구조 설계

    • 알고리즘 설계

소프트웨어 아키텍처

  • ISO/IEC 9126 모델 소프트웨어 품질 특성
    • 기능성
      • 적절성
      • 정밀성
      • 상호 운용성
      • 보안성
      • 호환성
    • 신뢰성
      • 성숙성
      • 고장 허용성
      • 회복성
    • 사용성
      • 이해성
      • 학습성
      • 운용성
    • 효율성
      • 시간 효율성
      • 자원 효율성
    • 유지 보수성
      • 분석성
      • 변경성
      • 안정성
      • 시험성
    • 이식성
      • 적용성
      • 설치성
      • 대체성

UI 표준과 지침

  • UI 분야

    • 물리적 제어

    • 구성

    • 기능

  • UI 설계 원칙

    • 직관성

    • 유효성

    • 학습성

    • 유연성

  • UI 설계 지침

    • 사용자 중심

    • 일관성

    • 단순성

    • 결과 예측 가능

    • 가시성

    • 표준화

    • 접근성

    • 명확성

    • 오류 발생 해결

스토리보드

  • 스토리보드 작성 순서
    • 메뉴 구성도 만들기
    • 스타일 확정
    • 설계하기

2-2. UI 설계

UI 흐름 설계

  • UI 설계서 구성
    • UI 설계서 표지
    • UI 설계서 개정 이력
    • UI 요구사항 정의
    • 시스템 구조
    • 사이트 맵
    • 프로세스 정의
    • 화면 설계
  • 유용성 개념
    • 실행 차 : 실행 가능한 기능과 사용자의 원래 목적이 서로 상이
      • 실행 차 최소화 설계
        • 사용 의도 파악
        • 행위 순서 규정
        • 행위의 순서대로 실행
    • 평가 차 : 시스템의 실행 결과와 사용자의 원래 목적이 서로 상이
      • 평가 차 최소화 설계
        • 수행한 키 조작의 결과와 키 조작으로 변화된 시스템 상태를 사용자가 빠르게 지각하도록 유도
        • 사용자가 가진 원래 의도와 시스템 결과 간의 유사 정도를 사용자가 쉽게 파악하도록 유도

UI 상세 설계

  • UI 시나리오
    • 사용자 그룹
    • 시놉시스
    • 니즈
    • 불편 사항
    • 대안 마련
    • 서비스 구성
    • 감성 요소
  • UI 시나리오 문서 작성 요건

    • 완전성

    • 일관성

    • 이해성

    • 가독성

    • 수정 용이성

    • 추적 용이성

    • 모범적인 UI 시나리오 문서의 효과

  • UI 프로토타입 제작
    • 주요 키의 위치와 기능
    • 공통 UI 요소
    • 기본 스크린 레이아웃
    • 기본 인터랙션 규칙
    • 공통 단위 태스크 흐름
    • 케이스 문서

감성공학

  • 관련 기술
    • 생체측정 기술
    • 오감 센서 및 감성 처리 기술
    • 감성 디자인 기술
    • 마이크로 가공 기술
    • 인간에 대한 적합성을 판단하고 새로운 감성을 창출하기 위한 기술

3. 애플리케이션 설계

3-1. 공통 모듈 설계

공통 모듈 개요

  • 사용 목적
    • 재사용
    • 중복개발 방지
    • 모듈 간 표준화
  • 종류
    • 클래스 : 공통 모듈을 실제로 구현한 객체
    • 라이브러리 : 클래스가 여러 개 합쳐진 묶음
    • 컴포넌트 : 라이브러리가 체계화된 형태의 소프트웨어
    • 프레임워크 : 어떠한 기능을 수행하는 클래스 혹은 컴포넌트의 집합

공통 모듈 도출

  • 하향식 기법 : 개발 프레임워크에서 공통적인 모듈을 도출
  • 상향식 기법 : 기능 목록을 기준으로 여러 부서에서 공통으로 사용되는 모듈 도출

공통 모듈 설계

  • 요구사항 분석 : 유스케이스 다이어그램
  • 정적 분석 : 클래스 다이어그램
  • 동적 분석 : 시퀀스 다이어그램

공통 모듈 평가

  • 응집도(Cohesion)

    • 공통 모듈 내부의 클래스 간의 유기적인 관계를 나타냄

    • 높을수록 품질이 좋음

    • 종류

      • 기능적

      • 순차적

      • 통신적

      • 절차적

      • 시간적

      • 논리적

      • 우연적

  • 결합도(Coupling)

    • 공통 모듈 간의 연관관계를 나타냄
    • 낮을수록 품질이 좋음
    • 종류
      • 내용
      • 공통
      • 외부
      • 제어
      • 스탬프
      • 자료

3-2. 객체지향 설계

객체지향의 개념과 특징

  • 객체지향의 특징
    • 추상화
    • 상속
    • 다형성
    • 캡슐화
    • 정보은닉

클래스 간의 관계와 설계 원칙

  • 클래스 간 관계의 종류
    • 연관
    • 일반화-특수화 : 두 클래스 간의 상속 관계
    • 집합연관
    • 복합연관
  • 클래스 설계 원칙
    • 단일 책임 원칙
    • 개방 폐쇄 원칙
    • 리스코프 교체 원칙 : 상위 클래스는 하위 클래스로 대체할 수 있어야 한다.
    • 의존 관계 역전 원칙
    • 인터페이스 분리 원칙

디자인 패턴

  • GoF 디자인패턴 종류

    • 생성패턴 : 객체의 생성과정에 관여하는 패턴

      • Abstract Factory
      • Builder
      • Factory Method : 상위 클래스에서 인스턴스 작성법의 뼈대를 세우고 구체적인 작성은 하위 클래스에서 실행하는 패턴
      • Prototype
      • Singleton : 인스턴스가 하나만 존재하는 패턴
    • 구조패턴 : 클래스나 객체의 합성에 관한 패턴

      • Adapter : 서로 다른 인터페이스를 갖는 클래스들을 연결하는 패턴
      • Bridge
      • Composite
      • Decorator
      • Facade : 복잡하게 얽힌 클래스를 개별적으로 제어하는 것이 아니라 창구 역할을 하는 클래스를 하나 배치해서 시스템 전체의 조작성을 좋게 하는 패턴
      • Flyweight
      • Proxy
    • 행위패턴 : 클래스나 객체들의 상호작용과 책임을 분산하는 방법

      • Chain of Responsibility

      • Command

      • Interpreter

      • Iterator

      • Mediator

      • Memento

      • Observer

      • State

      • Strategy : 알고리즘을 전부 교체해서 수정하기 쉽도록 하는 패턴

      • Template Method

      • Visitor

4. 인터페이스 설계

4-1. 인터페이스 요구사항 확인

인터페이스 요구사항 분석

  • 시스템 인터페이스 요구사항
    • 기능적 요구사항 : 입력, 출력 및 그들 사이의 처리 과정
    • 비기능적 요구사항 : 내외부의 제약 조건
  • 요구사항 분석 기법
    • 요구사항 분류
    • 개념 모델링을 통한 요구기능 분석
    • 요구사항 할당
    • 요구사항 협상

인터페이스 요구사항 검증

  • 인터페이스 요구사항 검증 절차
    • 요구사항 검토 계획을 수립한다.
    • 요구사항 명세서를 검토하고 오류를 수정한다
    • 요구사항 베이스라인을 설정한다
  • 인터페이스 요구사항 검증 항목
    • 인터페이스 목록
    • 과제 범위
    • 인터페이스 명세서
    • 기술 요건
  • 인터페이스 요구사항 검증 방법

    • 요구사항 검토
      • 동료 검토(Peer Review)
      • 워크 스루(Walk Through)
      • 인스펙션(Inspection)
      • CASE 도구 활용
    • 프로토타이핑
    • 테스트 설계

4-2. 인터페이스 대상 식별

인터페이스 시스템 식별

  • 인터페이스 시스템 구성
    • 송신 시스템
    • 수신 시스템
    • 중계 서버

송수신 데이터 식별

  • 송수신 전문 구성

    • 시스템 공통부

    • 거래 공통부

    • 송수신 데이터 개별 항목

    • 공통 코드

  • 인터페이스 설계 데이터베이스 산출물

    • 개체 정의서
    • 테이블 정의서
    • 코드 정의서

4-3. 인터페이스 상세 설계

인터페이스 방법 명세화

  • 내외부 송수신 연계 방식
    • 직접 연계 방식
    • 간접 연계 방식
  • 내외부 송수신 연계 기술
    • 시스템 연계 기술
      • DB Link
      • DB Connection
      • API/OpenAPI
      • JDBC
      • Hyper Link
      • Socket
      • Web Service
  • 인터페이스 처리 유형
    • 실시간 방식
      • 단방향
      • 동기(Sync)
      • 비동기(Async)
    • 지연 처리 방식
    • 배치 방식
  • 인터페이스 오류 유형
    • 연계 서버
    • 송신 시스템 연계 프로그램
    • 연계 데이터
    • 수신 시스템 연계 프로그램

인터페이스 설계서 작성

  • 인터페이스 목록의 주요 항목
    • 인터페이스 ID
    • 인터페이스명
    • 시스템 및 대내외 구분
    • 연계 방식
    • 통신 유형
    • 처리 유형
    • 주기
    • 데이터 형식
    • 관련 요구 사항 ID
  • 인터페이스 정의서의 주요 항목
    • 인터페이스 ID
    • 최대 처리 횟수
    • 데이터 크기(평균/최대)
    • 시스템 정보(송수신 시스템 각각 작성)
    • 데이터 정보(송수신 시스템 각각 작성)

카테고리:

업데이트:

댓글남기기