rustandbone Developer

정보처리기사 실기 대비_파트1

정보처리기사 실기 대비


1. 요구사항 확인

Section05 개발 기술 환경 파악

  1. 개발 기술 환경 파악의 개요
    1. 소프트웨어 선정할 때 고려 사항 기술, 오픈 소스 사용 시 주의 내용 제시
  2. 운영체제(OS, Operation System)
    1. 컴퓨터 시스템 자원 효율적 관리
    2. 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경 제공
    3. 사용자와 하드웨어 간의 인터페이스
    4. 다른 응용 프로그램이 유용한 작업하도록 환경 제공
    5. 요구사항 식별 시 고려사항
      1. 가용성
      2. 성능
      3. 기술 지원
      4. 주변 기기
      5. 구축 비용
  3. 데이터베이스 관리 시스템(DBMS, DataBase Management System)
    1. 사용자와 데이터베이스 사이에서 사용자 요구 따라 정보 생성
    2. 데이터베이스를 관리해주는 소프트웨어
    3. 데이터 종속성, 중복성 문제 해결 위해 제안된 시스템
    4. 모든 응용 프로그램이 데이터베이스를 공용할 수 있도록 관리
    5. 요구사항 식별 시 고려사항
      1. 가용성
      2. 성능
      3. 기술 지원
      4. 상호 호환성
      5. 구축 비용
  4. 웹 애플리케이션 서버(WAS, Web Application Server)
    1. 사용자 요구 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
    2. 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리 제공
    3. 데이터베이스 서버와 연동해서 사용
    4. 요구사항 식별 시 고려사항
      1. 가용성
      2. 성능
      3. 기술 지원
      4. 구축 비용
  5. 오픈 소스(Open Source)
    1. 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 소프트웨어
    2. 오픈 소스 라이선스 만족한다
    3. 요구사항 식별 시 고려사항
      1. 라이선스 종류
      2. 사용자 수
      3. 기술의 지속 가능성

Section06 요구사항 정의

  1. 요구사항
    1. 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명
    2. 운영되는데 필요한 제약 조건
    3. 이해관계자들 간의 의사소통 원활하게 하는 데 도움
    4. 유형
      1. 기능 요구사항
      2. 비기능 요수사항
      3. 사용자 요구사항
      4. 시스템 요구사항
  2. 기능 요구사항
    1. 기능이나 수행과 관련된 요구사항
    2. 시스템의 입력, 출력으로 무엇이 포함되어야 하는지
    3. 시스템이 어떤 데이터를 저장하거나 연산을 수행하야 하는지
    4. 시스템이 반드시 수행해야 하는 기능
    5. 사용자가 시스템을 통해 제공받기를 원하는 기능
  3. 비기능 요구사항
    1. 품질이나 제약사항과 관련된 요구사항
    2. 시스템 장비 구성 요구사항
    3. 성능
    4. 인터페이스
    5. 데이터를 구축하기 위해 필요한 요구사항
    6. 테스트
    7. 보안
    8. 품질 요구사항(가용성 정합성 상호호환성 대응성 이식성 확장성 보안성)
    9. 제약 사항
    10. 프로젝트 관리 요구사항
    11. 프로젝트 자원 요구사항
  4. 사용자 요구사항
    1. 사용자 관점에서 본 시스템이 제공해야 할 요구사항
    2. 사용자를 위한 것, 친숙한 표현
  5. 시스템 요구사항
    1. 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항
    2. 전문적, 기술적 용어
    3. 소프트웨어 요구사항

Section07 요구사항 개발 프로세스

  1. 요구사항 개발 프로세스
    1. 요구 사항을 체계적으로 도출, 분석 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동
    2. 타당성 조사가 선행되어야 함
    3. 요구사항 개발은 요구공학의 한 요소
    4. 도출 -> 분석 -> 명세 -> 확인
  2. 요구사항 도출(Requirment Elicitation)
    1. 시스템, 사용자, 개발자 등 시스템 개발에 관련된 사람들이 서로 의견 교환하여 요구사항을 어떻게 수집할 것인지 식별하고 이해하는 과정
    2. 이해관계자가 식별됨
    3. 소프트웨어 개발 생명 주기 동안 지속 반복
    4. 도출 주요 기법
      1. 인터뷰
      2. 설문
      3. 브레인스토밍
      4. 워크샵
      5. 프로토타이핑
      6. 유스케이스
  3. 요구사항 분석(Requirment Analysis)
    1. 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분 발견하고 걸러내기 위한 과정
    2. 타당성 조사
    3. 비용과 일정에 대한 제약 설정
    4. 상충되는 요구사항은 중재
    5. 도구
      1. 자료 흐름도(DFD)
      2. 자료 사전(DD)
  4. 요구사항 명세
    1. 분석된 요구사항 바탕으로 모델 작성하고 문서화하는 것
    2. 기능 요구사항 빠짐없이 기술
    3. 비기능은 필요한 것만
    4. 소단위 명세서 사용 가능
  5. 요구사항 확인
    1. 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동
    2. 이해 관계자들이 검토해야 함
    3. 형상 관리(SCM) 수행
  6. 요구공학
    1. 요구사항 정의, 분석 및 관리는 프로세스를 연구하는 학문
    2. 품질 개선, 실패 최소화 목표
  7. 요구사항 명세 기법
    1. 정형 명세 기법
      1. 수학적 원리 기반, 모델 기반
      2. 수학적 기호, 정형화된 표기법
      3. 요구사항 정확하고 간결하게 ㅍ현
      4. 일관성이 있어 완전성 검증 가능
      5. 표기법 어려워 이해 어려움
      6. VDM
      7. Z
      8. Petri-net
      9. CSP
    2. 비정형 명세 기법
      1. 상태/기능/객체 중심
      2. 일반 명사, 동사 등의 자연어 기반으로 서술, 다이어그램으로 작성
      3. 일관성 떨어지고, 해석이 달라질 수 있음
      4. 이해 쉬움
      5. FSM
      6. Decision Table
      7. ER모델링
      8. State Chart(SADT)

Section08 요구사항 분석

  1. 요구사항 분석
    1. 소프트웨어 개발의 실제적인 첫 단계. 사용자 요구사항 이해, 문서화
    2. 요구 타당성 조사, 비용과 일정에 대한 제약 설정
    3. 요구 정확하게 추출
    4. 목표 정하기
  2. 구조적 분석 기법
    1. 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
    2. 도형 중심의 분석용 도구, 분석 절차 이용. 사용자 요구 사항 파악, 문서화
    3. 하향식 방법으로 시스템 세분화
    4. 분석 중복 배제할 수 있음
    5. 주요 구조적 분석 기법 도구
    6. 자료 흐름도(DFD)
    7. 자료 사전(DD)
    8. 소단위 명세서(Mini-Spec.)
    9. 개체 관계도(ERD)
    10. 상태 전이도(STD)
    11. 제어 명세서
  3. 자료 흐름도(DFD: Data Flow Diagram)
    1. 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
    2. 자료 흐름 그래프, 버블 차트라고도 함
    3. 자료 흐름과 처리를 중심으로 하는 구조적 분석 기법에 이용
  4. 자료 흐름도 기본 기호
    1. 프로세스(Process) : 자료를 변환시키는 시스템의 한 부분(처리 과정)을 나타내며 처리, 기능, 변환, 버블이라고도 함
    2. 자료 흐름(Data Flow) : 자료의 이동(흐름)이나 연관 관계를 나타냄
    3. 자료 저장소(Data Store) : 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄
    4. 단말(Terminator) : 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고 출력 데이터를 받음
  5. 자료 사전(DD: Data Dictionary)
    1. 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
    2. 데이터를 설명하는 데이터, 메타 데이터
    3. 표기 기호
    4. = 자료의 정의 : ~로 구성되어 있다
    5. ’+’ 자료의 연결 : 그리고
    6. () 자료의 생략
    7. [] 자료의 선택 : 또는
    8. {} 자료의 반복 : iteration of
    9. ** 자료의 설명 : 주석

Section09 요구사항 분석 CASE와 HIPO

  1. 요구사항 분석용 CASE(자동화 도구)
    1. 요구사항 자동 분석, 요구사항 분석 명세서를 기술하도록 개발된 도구
    2. 대표적인 요구사항 분석용 CASE
      1. SADT
        1. 시스템 정의 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위한 도구
        2. SoftTech 사에서 개발
        3. 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구
      2. SREM = RSL/REVS
        1. TRW 사가 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 도구
        2. RSL과 REVS를 사용하는 자동화 도구
      3. PSL/PSA
        1. PSL, PSA를 사용하는 자동화 도구
        2. 미시간 대학에서 개발
      4. TAGS
        1. 시스템 공학 방법 응용에 대한 자동 접근 방법
        2. 개발 주기 전 과정에 이용할 수 있는 통합 자동화 도구
  2. HIPO(Hierarchy Input Process Output)
    1. 시스템의 분석 및 설계 또는 문서화에 사용되는 기법
    2. 시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 것
    3. 하향식 소프트웨어 개발을 위한 문서화 도구
    4. 기능과 자료의 의존 관계를 동시에 표현할 수 있음
    5. 기호, 도표 등을 사용하므로 보기 쉽고 이해하기도 쉬움
    6. 시스템의 기능을 여러 개의 고유 모듈로 분할하여 인터페이스 계층 구조로 표현한 것을 HIPO Chart라고 함
    7. HIPO Chart 종류
      1. 가시적 도표(Visual Table of Contents)
      2. 총체적 도표(Overview Diagram)
      3. 세부적 도표(Detail Diagram)

Section10 UML의 개요

  1. UML(Unified Modeling Language)
    1. 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한 객체지향 모델링 언어
    2. Rumbaugh, Booch, Jacobson 등의 객체 지향 방법론의 장점을 통합
    3. OMG(Object Management Group)에서 표준으로 지정
    4. 구성 요소
      1. 사물
      2. 관계
      3. 다이어그램
  2. 사물(Things)
    1. 사물은 다이어그램 안에서 관계가 형성될 수 있는 대상들을 말함
    2. 모델을 구성하는 가장 중요한 기본 요소
    3. 종류
      1. 구조 사물
        1. 시스템의 개념적, 물리적 요소를 표현
        2. 클래스, 유스케이스, 컴포넌트, 노드 등
      2. 행동 사물
        1. 시간과 공간에 따른 요소들의 행위를 표현
        2. 상호작용, 상태 머신 등
      3. 그룹 사물
        1. 요소들을 그룹으로 묶어서 표현
        2. 패키지
      4. 주해 사물
        1. 부가적인 설명이나 제약조건 등 표현
        2. 노트