rustandbone Developer

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

정보처리기사 실기 대비


1. 요구사항 확인

Section01 소프트웨어 생명 주기

  1. 소프트웨어 생명 주기
    1. 설계
    2. 운용
    3. 유지 보수
  2. 폭포수 모형
    1. 각 단계 매듭짓고 검토 승인 후 다음 단계 진행
    2. 고전적 생명 주기 모형
  3. 프로토타입 모형
    1. 견본품 만들어 최종 결과물 예측
    2. 사용자와 시스템 사이의 인터페이스 중점
  4. 나선형 모형
    1. 여러 번 소프트웨어 개발해 점진적으로 완벽한 소프트웨어 개발
    2. 보헴
    3. 폭포수 + 프로토타입 + 위험 분석 기능
    4. 누락 or 추가된 요구사항 첨가
    5. 유지보수 과정 필요 없음
    6. 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가
  5. 애자일 모형
    1. 고객 요구사항 변화에 유연하게 대응 위해 일정 주기 반복하며 개발
    2. 고객과의 소통에 초점을 맞춘 방법론
    3. 폭포수 모형과 대조적
    4. 스크럼
    5. XP
    6. 칸반
    7. Lean
    8. 기능 중심 개발(FDD)
  6. 애자일 개발 4가지 핵심 가치
    1. 개인과 상호 작용에 더 가치를 둠
    2. 실행되는 SW에 더 가치를 둠
    3. 고객과 협업에 더 가치를 둠
    4. 변화에 반응하는 것에 더 가치를 둠
  7. 소프트웨어 공학
    1. 위기 극복
    2. 품질 생산성 향상 목적
    3. 현대적인 프로그래밍 기술 적용
    4. 품질 유지, 지속 검증
    5. 명확한 기록

Section02 스크럼 기법

  1. 스크럼
    1. 팀이 중심이 되어 개발 효율성 높임
  2. 스크럼 팀
    1. 제품 책임자
      1. 요구 사항 담긴 백로그 작성 주체
      2. 이해도 높고 의사 결정
    2. 스크럼 마스터
      1. 스크럼 잘 수행하도록 가이드
    3. 개발팀
  3. 스크럼 개발 프로세스
    1. 스프린트 계획 회의
      1. 백로그 중 수행 작업 대상으로 단기 일정 수립
    2. 스프린트
    3. 일일 스크럼 회의
    4. 스프린트 검토 회의
    5. 스프린트 회고

Section03 XP 기법

  1. XP(eXtreme Programming)
    1. 고객 요구사항 유연 대응 위해 고객 참여와 개발 과정 반복 극대화하여 개발 생산성 향상
    2. 짧고 반복적인 개발 주기, 단순 설계, 고객 적극적 참여로 빠르게 개발
    3. 릴리즈 기간 짧게 반복, 요구사항 반영 가시성 높임
    4. 의사소통
    5. 단순성
    6. 용기
    7. 존중
    8. 피드백
  2. XP 개발 프로세스
    1. 릴리즈 계획 수립(Release Planning)
      1. 부분 혹은 전체 개발 완료 시점에 대한 일정 수립
      2. 릴리즈(부분적 기능 완료 제품 제공하는 것)
    2. 이터레이션(Iteration)
      1. 실제 개발 작업 진행 과정, 보통 1~3주 진행
    3. 승인 검사(Acceptance Test)
      1. 부분 완료 제품 구현되면 수행
    4. 소규모 릴리즈(Small Release)
      1. 요구사항에 유연 대응 위해 릴리즈 규모 축소한 것
  3. XP의 주요 실천 방법
    1. Pair Programming
      1. 함께 프로그래밍 수행. 공동 책임
    2. Collective Ownership
      1. 코드에 대한 권한 책임 공동 소유
    3. Test-Driven Development
      1. 테스트 케이스 먼저 작성. 자동화된 테스트 도구 사용
    4. Whole Team
      1. 각자 자기 역할 있고, 책임 있음
    5. Continuous Integration
      1. 모듈 단위로 나눠 개발. 마무리 될 때마다 지속 통합
    6. Refactoring
      1. 프로그램 기능 변경 없이 시스템 재구성
      2. 목적 : 프로그램 쉽게 이해, 쉽게 수정, 빠르게 개발
    7. Small Releases
      1. 릴리즈 기간 짧게 반복. 고객 요구 변화 신속 대응