21-03-29 정처기 실기 공부(1)
Ⅰ. 요구사항 확인
Chapter 01 소프트웨어 개발방법론
(1) 소프트웨어 생명주기 모델
- 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
- 폭포수 모델(순차적), 프로토타이핑 모델(프로토타입), 나선형 모델(절차 반복적), 반복적 모델(병행적) 등이 있음
(2) 개발방법론
구조적 방법론 : 기능에 따라 나누어 개발하고 통합하는 분할정복식 접근방법
정보공학 방법론 : 개발주기를 이용해 대형 프로젝트를 수행하는 방법
객체지향 방법론 : ‘객체’ 단위로 시스템을 분석 및 설계
컴포넌트 기반 방법론 : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 응용 프로그램을 작성하는 방법으로 확장성이 용이하며 소프트웨어의 재사용이 가능
애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 경량 개발방법론으로 이터레이션 주기(분석→디자인→개발→테스트를 반복)를 통해 개발됨
- 대표적인 애자일 방법론의 유형 : XP, Lean, 스크럼 등
XP(eXtreme Programming) : 용기, 단순성, 의사소통, 피드백, 존중의 5가지 가치를 가지며 짝프로그래밍을 포함한 12가지 기본 원리로 구성됨
스크럼 : 매일 정해진 시간·장소에서 개발팀을 위한 프로젝트 관리 중심 방법론
- 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번 다운 차트
Lean : Just In Time, 칸반 보드를 사용함
(3) 비용산정, 일정관리 모형
- 하향식, 상향식 산정방법
- Lines of Code(LoC) 모형 : 낙관치, 중간치, 비관치를 측정하여 비용을 산정
- Man Month 모형 : LoC / 프로그래머의 월간 생산성, Man Month / 프로젝트 인력 = 프로젝트 기간
- COCOMO 모형
- 조직형 : 5만라인 이하의 소프트웨어 개발에 적용
- 반 분리형 : 30만라인 이하의 소프트웨어 개발에 적용
- 임베디드형 : 30만라인 이상의 소프트웨어 개발에 적용
- 푸트남 모형 : 단계별로 요구할 인력의 분포를 가정
- 기능점수 모형 : 요인별 가중치를 합산하고 총 기능의 점수를 계산하여 비용을 산정 (기능점수 = 총 기능점수 x (0.65 + (0.1 총 영향도)))
- 일정관리 모델에는 주 공정법, PERT, 중요 연쇄 프로젝트 관리가 있다
기출문제
- 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 갭라할 수 있는 신속 적응적 경량 개발방법론으로, 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론은 무엇인가?
애자일 방법론
- LoC가 30,000 라인이고 개발자가 5명이며, 월평균 300라인을 개발한다면 프로젝트 개발 기간과 계산식을 쓰시오
프로젝트 개발 기간 : Man Month = LoC / 월간 생산성 = 30,000 / 300 = 100개월
프로젝트 기간 = 100 개월 / 5 명 = 20개월
예상문제
- 소프트웨어 생명주기 모델에 대해 서술하시오
시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차로 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때 까지의 작업 프로세스를 모델화 한 것
- 소프트웨어 생명주기 모델 중에서 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계는 무엇인가?
설계 단계
- 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델은 무엇인가?
폭포수 모델
- 전체 시스템을 기능에 따라 나누어 개발하고 이를 통합하는 분할과 정복 접근 방식의 방법론은 무엇인가?
구조적 방법론
- TDD에 대해서 설명하시오
테스트를 기반으로 한 개발 방식으로 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 코드를 작성하는 것
- XP 12가지 가치 중 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리는 무엇인가?
지속적인 통합
- 애자일 방법론 중에서 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론은 무엇인가?
스크럼 기법
- 델파이 기법에 대해 서술하시오
전문가의 경험적 지식을 통한 문제 해결 및 미래 예측을 위한 기법
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고 요인별 가중치를 합산하여 총 기능 점수를 계산하고 비용을 산정하는 방식은 무엇인가?
기능 점수 방식
- 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법은 무엇인가?
PERT
- CPM 네트워크가 다음과 같을 때 임계 경로의 소요기일은 얼마인가?
14일
- LoC가 50,000라인, 개발자 10명, 월평균 250라인을 개발한다면 Man Month는 얼마인가?
50,000 / 250 = 200