정보처리기사 실기 대비_파트1
28 Jun 2023
정보처리기사 실기 대비
1. 요구사항 확인
Section01 소프트웨어 생명 주기
- 소프트웨어 생명 주기
- 설계
- 운용
- 유지 보수
- 폭포수 모형
- 각 단계 매듭짓고 검토 승인 후 다음 단계 진행
- 고전적 생명 주기 모형
- 프로토타입 모형
- 견본품 만들어 최종 결과물 예측
- 사용자와 시스템 사이의 인터페이스 중점
- 나선형 모형
- 여러 번 소프트웨어 개발해 점진적으로 완벽한 소프트웨어 개발
- 보헴
- 폭포수 + 프로토타입 + 위험 분석 기능
- 누락 or 추가된 요구사항 첨가
- 유지보수 과정 필요 없음
- 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가
- 애자일 모형
- 고객 요구사항 변화에 유연하게 대응 위해 일정 주기 반복하며 개발
- 고객과의 소통에 초점을 맞춘 방법론
- 폭포수 모형과 대조적
- 스크럼
- XP
- 칸반
- Lean
- 기능 중심 개발(FDD)
- 애자일 개발 4가지 핵심 가치
- 개인과 상호 작용에 더 가치를 둠
- 실행되는 SW에 더 가치를 둠
- 고객과 협업에 더 가치를 둠
- 변화에 반응하는 것에 더 가치를 둠
- 소프트웨어 공학
- 위기 극복
- 품질 생산성 향상 목적
- 현대적인 프로그래밍 기술 적용
- 품질 유지, 지속 검증
- 명확한 기록
Section02 스크럼 기법
- 스크럼
- 팀이 중심이 되어 개발 효율성 높임
- 스크럼 팀
- 제품 책임자
- 요구 사항 담긴 백로그 작성 주체
- 이해도 높고 의사 결정
- 스크럼 마스터
- 스크럼 잘 수행하도록 가이드
- 개발팀
- 스크럼 개발 프로세스
- 스프린트 계획 회의
- 백로그 중 수행 작업 대상으로 단기 일정 수립
- 스프린트
- 일일 스크럼 회의
- 스프린트 검토 회의
- 스프린트 회고
Section03 XP 기법
- XP(eXtreme Programming)
- 고객 요구사항 유연 대응 위해 고객 참여와 개발 과정 반복 극대화하여 개발 생산성 향상
- 짧고 반복적인 개발 주기, 단순 설계, 고객 적극적 참여로 빠르게 개발
- 릴리즈 기간 짧게 반복, 요구사항 반영 가시성 높임
- 의사소통
- 단순성
- 용기
- 존중
- 피드백
- XP 개발 프로세스
- 릴리즈 계획 수립(Release Planning)
- 부분 혹은 전체 개발 완료 시점에 대한 일정 수립
- 릴리즈(부분적 기능 완료 제품 제공하는 것)
- 이터레이션(Iteration)
- 실제 개발 작업 진행 과정, 보통 1~3주 진행
- 승인 검사(Acceptance Test)
- 부분 완료 제품 구현되면 수행
- 소규모 릴리즈(Small Release)
- 요구사항에 유연 대응 위해 릴리즈 규모 축소한 것
- XP의 주요 실천 방법
- Pair Programming
- 함께 프로그래밍 수행. 공동 책임
- Collective Ownership
- 코드에 대한 권한 책임 공동 소유
- Test-Driven Development
- 테스트 케이스 먼저 작성. 자동화된 테스트 도구 사용
- Whole Team
- 각자 자기 역할 있고, 책임 있음
- Continuous Integration
- 모듈 단위로 나눠 개발. 마무리 될 때마다 지속 통합
- Refactoring
- 프로그램 기능 변경 없이 시스템 재구성
- 목적 : 프로그램 쉽게 이해, 쉽게 수정, 빠르게 개발
- Small Releases
- 릴리즈 기간 짧게 반복. 고객 요구 변화 신속 대응