본문 바로가기

IT ( 백준 파이썬 , 정보처리기사 , 딥러닝 )/정보처리기사

[ 정보처리기사 ] 소프트웨어 생명주기 및 애자일 스크럼 기법, XP 기법 요약 #1

반응형

안녕하세요 푸쿵의 하루입니다

 

 

 

정보처리기사에서 자주 출제되는 SW 생명주기를 정리하도록하겠습니다

 

 

 

 

함께 같이 공부해 나가요^^

 

 

 

 

 

 

 

 

 

 

 

 

1. 소프웨어의 생명 주기 

 

소프트웨어 생명 주기는 소프트웨어를 개발하기 위해 운용, 설계, 보수 등의 과정을 단계별로 나눈 것이다.

 

 

 

 

 

◆ 생명 주기 모델 종류 ◆


- 폭포수 모형 ( Waterfall Model )



- 프로토타입 모형 ( Prototype Model )



- 나선형 모형 ( Spiral Model )



- 애자일 모형 ( Agile Model )









● 폭포수 모형 ( Waterfall Model ) - 단계를 확실히 처리하고 검토하여 승인 과정을 거친 후 다음 단계로 진행하는 모형이다 ( 이전단계로 돌아갈 수 없다 )

- 가장 오래 사용한 전통적인 소프트웨어 생명 주기 모형
● 프로토타입 모형 ( Prototype Model ) - 사용자의 요구사항을 파악하기 위해 개발된 소프트웨어의 견본품을 만들어 최종 결과물을 예측하는 모형이다.
● 나선형 모형 ( Spiral Model ) - 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형이다

- 보헴 ( Boehm )이 제시

계획수립 -> 위험분석 -> 개발 및 검증 -> 고객평가
( 4가지를 반복 )
● 애자일 모형 ( Agile Model ) - 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하여 개발하는 모형

- 스크럼, XP , 칸반, Lean , 기능 중심 개발




 

 

 

 

※ 참고 문제 ※       

필기 20년 9월 문제입니다

 



1. 시제품을 끊임없이 제작하며 사이클을 반복하는 개발 방법론으로, 워터폴과 대조적이며, 소프트웨어 개발을 넘어 기업 경영 전반에서 사용되고 있다. 고객의 변화하는 요구사항과 환경 변화에 능동적인 sw개발 방법은?



 : 애자일 모형  ( Agile Model )

 

풀이 : 방법론 4가지를 암기해주세요!


 

 

 

 

 

 

※ 참고 문제 ※       

필기 20년 8월 문제입니다

 



2. 다음 보기에서 애자일 ( Agile Mode ) 방법론에 해당하는 것을 고르시오

ㄱ. 스크럼
ㄴ. XP
ㄷ. 기능 중심 모델
ㄹ. 모듈 중심 개발


 : ㄱ , ㄴ ,ㄷ 

 

풀이 : 애자일 모형 문제가 자주 출제됩니다

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

2. 스크럼  ( Scrum ) 기법

 

팀이 중심이 되어 개발의 효율성을 높이는 기법이다

 




◆ 스크럼 구성원 ◆




팀원 역할
제품 책임자
( PO : Product Owner )
- 요구사항의 백로그를 작성

- 제품에 대한 이해도가 높고 요구사항을 책임지고 의사 결정한다
스크럼 마스터
( Sm : Scrum Master )
- 스크럼이 잘 수행되도록 가이드 역할
개발팀
( DT : Development Team )
- 제품 책인자와 스크럼 마스터를 제외한 모든 팀원(개발
자)



◆ 스크럼 프로세스 ◆




프로세스 내용
스프린트 계획 회의 제품 백로그 중에 스프린트에서 수행할 작업을 대상으로 단기 일정 수립한다
스프린트 2~4주 정도 개발하는 과정
일일 스크럼 회의 - 모든 팀원디 약속된 장소에서 매일 회의

- 남은 작업 시간은 소멸 차트에 기록한다
스프린트 검토 회의 부분 or 전체 완성 제품이 요구사항에 잘 부합하는지 테스트하는 회의
스프린트 회고 규칙 준수 여부 및 개선할 점 확인하고 기록해둔다

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

3. XP ( eXtreme Programming ) 기법

 

- 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 생산성을 향상시크는 방법이다 ( 릴리즈의 기간을 짧게 반복하여 고객의 요구사항을 반영한다 )

 

- 의사소통, 단순성, 용기, 존중, 피드백

 




◆ XP 프로세스 ◆




프로세스 내용
릴리즈 계획 수립 - 전체 개발 와료 시점에 대한 일정을 수립한다

- 부분적 기능이 완료된 제품이 릴리즈이다
이터레이션 - 1 ~ 3주의 개발과정 기간
승인 검사 - 하나의 이터레이션 안에서 부분 완료 제품이 구현되면 수행하는 테스트
소규모 릴리즈 - 요구사항에 유연하게 대응할 수 있도록 릴리즈의 규모를 축소한다




◆ XP 종류 ◆




종류 내용
짝 프로그래밍
( Pair Programming )
프로그래밍을 함께 수행함으로써 개발에 대한 책임을 공동으로 나눈다
공동 코드 소유
( Collective Ownership ) 
개발 코드에 대한 권한 책임을 공동으로 소유한다
테스트 주도 개발
( Test - Driven - Development )
- 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 작성하여 파악한다
전체 팀
( Whole Team )
개발에 참여하는 모든 구성원들은 자신의 역할에 책임을 가져야한다
계속적 통합
( Continuous Integration )
- 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합한다.
리팩토링
( Refactoring )
- 프로그램 기능의 변경 없이 시스템 구성

- 프로그램을 쉽게 수정하고 빠르게 개발할 수 있다
소규모 릴리즈
( Small Releases )
릴리즈 기간을 짧게 반복하여 고객에 요구사항을 맞춰준다

 

 

 

 

※ 참고 문제 ※       

필기 20년 10월 문제입니다

 



1. 소프트웨어 공학에서 리팩토링을 하는 목적에 대해 서술하시오


: 프로그램을 쉽게 이해하고 수정하여 빠르게 개발할 수 있도록 한다

 

풀이 :  너무 포괄적으로 나와서 다 암기해야되겠네요....


 

 

 

 

 

※ 참고 문제 ※       필기 20년 10월 문제입니다

 



2. 다음 보기에서 XP의 주요 실천 방법을 모두 골라주세요.

ㄱ. Linear Sequentail Method
ㄴ. Pair Programming
ㄷ. Collective Ownership
ㄹ. Continuous Integration


 :  ㄴ, ㄷ ,ㄹ

 

풀이 :  XP 종류 7개 기억해주세요!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

요구사항 정의 및 요구 사항 분석 #요약2

 

https://sung0woo.tistory.com/432

 

[ 정보처리기사 ] 요구 사항 정의 및 요구 사항 분석 Case와 HIPO #2요약

안녕하세요 푸쿵의 하루 입니다 요구사항 정의 및 요구 사항 분석 Case 와 HIPO 정리해보도록 하겠습니다 1. 요구사항이란? 소프트웨어(SW)가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설

sung0woo.tistory.com

 

반응형