[2021 정보처리기사 필기 1과목] 소프트웨어 생명주기 / 스크럼 / XP
[정보처리기사 1과목 필기 예상 키워드] 목록으로 돌아가기 |
|
과목: 1. 소프트웨어 설계 챕터: 1장 요구사항 확인 키워드: 소프트웨어 생명주기 |
#폭포수 #프로토타입 #나선형 #애자일 #스크럼 #XP |
목차
소프트웨어 생명주기(Software Life Cycle)
개요
✔ 소프트웨어 개발 방법론의 바탕이 되어 소프트웨어를 개발하기 위해 정의하고 운용 유지보수 등의 과정을 각 단계별로 나눈 것
✔ 소프트웨어 개발 단계와 각 단계별 주요 활동 및 활동의 결과를 산출물로 표현
✔ 생명주기 모델을 소프트웨어 생명 주기 모형, 소프트웨어 프로세스 모형, 소프트웨어 공학 패러다임이라고 함
폭포수모형
✔ 이전 단계를 확실히 마무리하고 다음 단계로 진행
✔ 가장 오래됐고 폭넓게 사용
✔ 선형 순차적 모델
✔ 매뉴얼 작성 필수
✔ 결과물 명확
프로토타입 모형
✔ 시제품을 만들어 최종 결과물 예측
✔ 사용자와 시스템 사이 인터페이스에 중점
나선형 모형
✔ 폭포수 모형+ 프로토타입 모형 + 위험분석 기능
✔ 나선을 따라 돌듯이 여러 번의 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어 개발
✔ 위험 관리 및 최소화가 목적
✔ 누락되거나 추가된 요구사항을 첨가할 수 있음
✔ 정밀하고 유지보수 과정이 필요 없음
애자일 모형
✔ 고객 요구사항 변화에 빠르고 유연하게 대응
✔ 일정한 주기를 반복하며 진행
✔ 고객과의 소통에 초점을 맞춘 모든 방법론을 통칭
✔ 스프린트 또는 이터레이션이라 불리는 짧은 개발 주기 반복
✔ 반복되는 주기마다 결과물에 대한 평가와 요구 수용
✔ 스크럼, XP, 칸반, Lean, 크리스탈, ASD, FDD, DSDM등
스크럼 기법
개요
팀이 중심이 되어 개발의 효율성을 높임
팀원 스스로가 팀을 구성하고 개발 작업에 대한 모든것을 스스로 해결할 수 있어야 함
스크럼 참여자
✔ 제품책임자
> 개발 의뢰자나 사용자가 담당
> 의사결정권자
> 제품에 대한 요구사항 작성
✔ 스크럼마스터
> 팀이 잘 수행할 수 있도록 객관적인 시각에서 조언해주는 가이드
> 일일 스크럼회의 주관, 진행사항 점검, 장애요소 처리
✔ 개발팀(디자이너, 테스터 포함)
스크럼 개발 프로세스
✔ 제품 백로그(Product Backlog)
> 개발에 필요한 요구사항을 우선순위에 따라 나열한 목록
> 새롭게 도출되는 요구사항으로 인해 지속적인 업데이트
> 작성된 사용자 스토리 기반 릴리즈 계획 수립
✔ 스프린트 계획 회의(Sprint Planning Meeting)
> 스프린트에서 수행할 작업을 대상으로 단기 일정 수립
> 개발자별로 테스크를 나누고 스프린트 백로그(Sprint Backlog) 작성
✔ 스프린트(Sprint)
> 실제 개발 작업 진행
> 개발자가 원하는 테스크를 직접 선정
> 할 일, 진행 중, 완료의 상태를 거침
✔ 일일 스크럼 회의(Daily Scrum Meeting)
> 매일 약속된 시간에 짧은 시간동안 진행상황 점검
> 남은 시간은 소멸차트에 기록
✔ 스프린트 검토 회의(Sprint Reveiw)
> 부분 또는 완성 제품이 요구사항에 잘 부합하는지 사용자가 포함된 참석자 앞에서 테스트
✔ 스프린트 회고(Srpint Restrospective)
> 스프린트가 끝나고 정해놓은 규칙을 잘 준수했는지 개선할 점은 없는지 점검하고 수행
XP 기법
개요
✔ 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객 참여와 개발 과정 반복을 극대화하여 개발 생산성을 향상
✔ 짧고 반복적인 개발주기, 단순 설계, 고객 참여를 통해 빠르게 개발하는 것이 목적
✔ 릴리즈 기간을 짧게 반복하면서(Iteration) 요구사항 반영에 대한 가시성 높임
XP의 핵심가치 5가지
✔ 피: 피드백
✔ 존: 존중
✔ 의: 의사소통
✔ 용: 용기
✔ 단: 단순성
XP의 주요 실천방법
-Pair Programming: 다른 사람과 함께 프로그래밍 수행
-Test-Driven Development: 실제 코드 작성 전 테스트 케이스를 먼저 작성하여 무엇을 할지 파악
-Whole Team: 개발에 참여하는 모든 구성원은 각기 역할에 있어 책임을 다함
-Continuous Intergration: 모듈 단위로 나눠 개발한 코드는 하나의 작업이 마무리되면 지속적으로 통합
-Design Improvement / Refactoring: 프로그램 기능의 변경 없이 시스템 재구성
-Small Release: 릴리즈 기간을 짧게 하여 고객의 요구 변화에 신속히 대응
정보처리기사 1과목 필기 총정리 (상시업데이트)
[2021 정보처리기사 키워드 정리] 1. 소프트웨어 설계 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정
y-oni.tistory.com
참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV