본문 바로가기

정보처리기사

[정보처리기사] 실기 노트 - 요구사항 확인 1

  1. 소프트웨어 생명 주기 (Software Life Cycle)
    1. 소프트웨어 생명 주기란?
      1. 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
    2. 대표적인 생명주기 모형
      1. 폭포수 모형 (Waterfall Model)
      2. 프로토타입 모형 (Prototype Model, 원형 모형)
      3. 나선형 모형 (Spiral Model, 점진적 모형)
      4. 애자일 모형 (Agile Model)
    3. 소프트웨어 공학: 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
    4. 스크럼(Scrum) 기법: 팀이 중심이 되어 개발의 효율성을 높이는 기법
    5. XP (eXtreme Programming) 기법
      1. XP의 개념
        1. XP (eXtreme Programming): 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법
        2. XP의 5가지 핵심 가치
          1. 의사소통 (Communication)
          2. 단순성 (Simplicity)
          3. 용기 (Courage)
          4. 존중 (Respect)
          5. 피드백 (Feedback)
      2. XP 개발 프로세스
        1. 릴리즈 계획 수립 (Release Planning)
        2. 이터레이션 (Iteration, 주기)
        3. 승인 검사 (Acceptance Test, 인수 테스트)
        4. 소규모 릴리즈 (Small Release)
      3. XP의 주요 실천 방법 (Practice)
        1. Pair Programming (짝 프로그래밍)
        2. Collective Ownership (공동 코드 소유)
        3. Test-Driven Development (테스트 주도 개발)
        4. Whole Team (전체 팀)
        5. Continuous Integration (계속적인 통합)
        6. Refactoring (리팩토링)
        7. Small Releases (소규모 릴리즈)
    6. 개발 기술 환경 파악의 개요
      1. 운영체제 (OS, Operating System)
        1. 운영체제: 컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있는 환경을 제공하는 소프트웨어
        2. 운영체제 관련 요구사항 식별 시 고려사항: 가용성, 성능, 기술 지원, 주변 기기, 구축 비용
      2. 데이터 베이스 관리 시스테메 (DBMS; DateBase Management System)
        1. 데이터베이스 관리 시스템: 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터 베이스를 관리해 주는 소프트웨어
        2. DBMS 관련 요구사항 식별 시 고려사항: 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
      3. 웹 애플리케이션 서버 (WAS; Web Application Server)
        1. 웹 애플리케이션 서버: 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
        2. 웹 애플리케이션 서버 관련 요구사항 식별 시 고려사항: 가용성, 성능, 기술 지원, 구축 비용
      4. 오픈 소스 (Open Source)
        1. 오픈 소스: 누구나 별다른 제한 없이 사용할 수 있도록 소스코드를 공개한 소프트웨어
        2. 오픈 소스 관련 요구사항 식별 시 고려사항: 라이선스의 종류, 사용자 수, 기술의 지속 가능성
  2. 요구사항 개발 프로세스
    1. 요구사항 정의
      1. 요구사항: 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건
    2. 요구사항의 유형
      1. 기능 요구사항 (Functional requirements)
      2. 비기능 요구사항 (Non-functional requirements)
      3. 사용자 요구사항 (User requirements)
      4. 시스템 요구사항 (System requirements)
    3. 요구사항 개발 프로세스
      1. 요구사항 도출 (Requirement Elicitation, 요구사항 수집)
      2. 요구사항 분석 (Requirement Analysis)
      3. 요구사항 명세 (Requirement Specification)
      4. 요구사항 확인 (Requirement Validation, 요구사항 검증)
    4. 요구사항 분석에 사용되는 대표적인 도구
      1. 자료 흐름도 (DFD, Data Flow Diagram)
      2. 자료 사전 (DD, Data Dictionary)
      3. 요구사항 분석용 CASE (자동화 도구)
      4. HIPO (Hierarchy Input Process Output)
    5. 요구공학 (Requirements Engineering)
      1. 요구공학: 무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문