2021.03.07에 있을 정보처리기사 필기에 응시하려고 합니다.
수제비 책 1회독 중인데 전공이 아니어서 그런지 하나도 모르겠어서 유튜브에 있는 영상을 참고하고 있어요
제가 참고하여 아래와 같이 내용 정리한 유튜브 주소는 아래에 첨부해 두었습니다.
Ⅰ.소프트웨어 설계
A. 요구사항 확인
* 소프트웨어 생명 주기: 소프트웨어 개발과정을 단계별로 나눈 것
1. 폭포수 모형(Waterfall model)
- 이전 단계로 되돌아 갈 수 없므로 각 단계를 확실히 매듭지어야 함
- 2개 이상의 과정을 병행할 수 없음
- 매뉴얼 작성 필요(반드시!)
개발 완료 후 발견된 오류 해결 불가능
2. 프로토타입 모델(원형 모델)
- 프로토타입을 기초로 한 완전한 소프트웨어를 개발
- 최대한 기능적인 부분만 개발(인터페이스 중심으로 개발
- 폭포수 모형의 단점 보완
- 다시 만들어 본다는 것은 소프트웨어의 완성도에 큰 영향
3. 나선형 모형계획(Spiral Model)
- 계획-분석-개발-평가(오류방지) 의 반복
- 여러 번의 개발 과정을 거침 => 중요한 소프트웨어의 경우에 사용
- 점진적 개발: 정밀함, 유지보수 불필요
- 위험 관리, 최소화가 목적
왜 이런 모델들이 등장했는가?
: 고객의 요구사향을 좀 더 완벽하게 만족시키게 하기 위해서
하지만 위와같은 개발의 방향은 계획과 문서를 중심으로 진행될 수 밖에 없다.
이러한 문제를 해결하고 고객과 소통을 지속적으로 유지하면서 그를 중심으로 개발을 진행하는 모델 등장!
==>
1. 애자일 모형(agile Model)
- 변화에 빠르게 반응할 수 있음
- 절차: 상호작용
- 문서: 소프트웨어
- 계약: 협업
- 계획: 변화에 반응
1-1. 스크럼 기법(Scrum)
- 애자일 모델 중 하나
- 팀 중심 => 제품 책임자(PO): 의사결정권이 있는 사람 / 스크럼 마스터(SM) / 개발팀(DT): 디자이너, 테스터 등 포함
1) 소통을 통해 백로그(Backlog)에 기록
-- 이야기 형식으로 되어있어서 story라고 부름(Story: 요구사항)
-- 백로그의 우선순의는 제품 책임자에 의해서만 변경 가능
2) 백로그가 준비되면 SM은 => 계획회의 준비
3) 회의를 통해 각 개발자들은 세부 개발목표, 시간 할당받음
-- '스프린트'라고 부름. 개별 백로그를 '스트린트 백로그' 라고 함
* 계획 회의: 개발자 별로 스프린트 백로그 작성
* 스프린트: 할일, 진행, 완료의 상태
* 일일회의: 소멸차트, 장애요소 해결
* 검토회의: 전체인원, 주별진행, PO피드백(SM주도 X)
* 회고: 지난 일정 되돌아보기
1-2. XP(eXtreme Programming)기법
- 고객과의 소통을 극도로 끌어올림
- 짧고 반복적인 개발 주기 + 고객의 적극적 참여 = 가시성 향상
- 소규모 개발 프로젝트에 효과적 (대규모: 막대한 개발비용)
- 핵심가치: 피드백, 존중, 용기, 단순, 의사소통
* 릴리즈: 프로그램을 배포하는 단위
예) 1.0, 1.1, 2.0
* 스파이크: 특정 기능 하나를 테스트 하기 위해서 작성되는 프로그램
- 스파이크가 완성되었다면 이터레이션이 진행됨
*이터레이션: 릴리즈를 좀 더 세분화한 단위
1-2주에 완성될 수 있는 기능을 모아서 고객이 직접 평가할 수 있도록 프로그램을 만드는 과정
고객은 승인 검사(부분 소프트웨어가 릴리즈되면 고객이 직접 평가함)를 통해서 평가를 진행
위 과정들이 정상적으로 진행=> 소프트웨어 배포
* 소규모 릴리즈: 릴리즈 별로 고객의 피드백 확인 가능
- 릴리즈계획 작게할 수록 소프트웨어 완성도 up
참고(1,2,3요약했음):
'정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] Ⅰ.소프트웨어 설계(4) (0) | 2021.02.02 |
---|---|
[정보처리기사 필기] Ⅰ.소프트웨어 설계 (3) (0) | 2021.02.02 |
[정보처리기사 필기] Ⅰ. 소프트웨어 설계 (2) (0) | 2021.02.01 |