본문 바로가기
정보처리기사

[정보처리기사 필기] Ⅰ.소프트웨어 설계 (1)

by 콧등치기국수 2021. 2. 1.

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요약했음): 

youtu.be/WWRbRD9W6Eg