반응형
안녕하세요 푸쿵의 하루입니다
정보처리기사에서 자주 출제되는 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
반응형
'IT ( 백준 파이썬 , 정보처리기사 , 딥러닝 ) > 정보처리기사' 카테고리의 다른 글
[ 정보처리기사 ] 소프트웨어 비용 산정 방법 상향식(LOC기법,COCOMO) # 요약4 (1) | 2021.07.02 |
---|---|
[ 정보처리기사 ] UML 다이어그램 종류 유스케이스, 시퀀스 등 총정리 # 3 요약 (2) | 2021.07.01 |
[ 정보처리기사 ] 요구 사항 정의 및 요구 사항 분석 Case와 HIPO #2요약 (5) | 2021.06.29 |
[ 정보처리기사 ] 결합도(Coupling ), 응집도 ( Cohesion ) 소프트웨어 모듈의 독립성 (30) | 2021.03.06 |
[ 정보처리기사 ] 프로세스 선점,비선점 스케줄링 ( FCFS/SJF/HRN/RR/MLQ/MLFQ/SRT) (0) | 2021.03.06 |