본문 바로가기
자격증/정보처리기사

[정보처리기사 실기] 소프트웨어 개발방법론

by 코난_ 2021. 6. 19.
728x90

정보처리기사 실기를 준비하면서 공부도 할겸 기록을 해본다.

필기는 객관식이지만 실기는 필답형으로 단답식과 서술형이함께 섞여있기 때문에 꼼꼼하게 공부를 해야한다.

 

소프트웨어 개발방법론부터 시작해보자!

 

1. 소프트웨어 생명주기 (SDLC; Software Development Life Cycle) 모델 개념

- 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.

 

2. 소프트웨어 생명주기 모델 프로세스

순서 : 요구사항분석 - 설계 - 구현 - 테스트 - 유지보수

 

3. 소프트웨어 생명주기 모델 종류

- 폭포수 모델(Waterfall Model)

- 프로토타이핑 모델(Prototyping Model)

- 나선형 모델(Spiral Model)

- 반복적 모델(Iteration Model)


4. 소프트웨어 개발방법론(Software Development Methodology)

- 소프트웨어 개발 전 과정에 지속적으로 적용가능한 방법, 절차, 기법 이다.

 

5. 소프트웨어 개발방법론 종류

- 구조적 방법론(Structured Development)

- 정보공학 방법론(Information Engineering Development)

- 객체지향 방법론(Object-Oriented Development)

- 컴포넌트 기반 방법론(CBD; Component Based Development)

- 애자일 방법론(Agile Development)

- 제품 계열 방법론(Product Line Development)

 

애자일 방법론의 개념

- 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론이다.

 

애자일 방법론의 유형

- XP

- 린(Lean)

- 스크럼(SCRUM)


6. 비용산정 모형 개념 및 분류

- 개념 : 소프트웨어 규모파악을 통한 투입자원, 소요시간을 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식이다.

- 분류 : 하향식 산정방법, 상향식 산정방법

 

비용산정 모형 종류

- Loc(Lines of Code) 모형 : 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식이다.

 

- Man Month 모형 :  한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식이다.

(Man Month) = (Loc)/(프로그래머의 월간 생산성)
(프로젝트기간) = (Man Month)/(프로젝트 인력)

- COCOMO(COmstructive COst MOdel) 모형 : 보헴(Bohem)이 제안한 모형으로 프로그램 규모에 비용을 산정하는 방식이다.

COCOMO의 소프트웨어 개발 유형
- 조직형(Organic Mode)
- 반 분리형(Semi-Detached Mode)
- 임베디드형(Embeded Mode)

- 푸트남(Putnam) 모형 : 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식이다.

 

- 기능점수(FP; Function Point)모형 : 요구 기능을 증가시키는 인자별로 가중치를 부여, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식이다.

 

일정관리 모델 개념 및 종류

- 개념 : 프로젝트가 일정 기한 내에 적절하게 완료될 수 있도록 관리하는 모델이다.

- 종류 :

  • 주 공정법(CPM; Critical Path Method) 
  • PERT(Program Evaluation and Review Technique)
  • 중요 연쇄 프로젝트 관리(CCPM; Critical Chain Project Management)
기출문제
2020년 1회
문제 : Loc(Line of Code)가 30,000라인이고, 개발자가 5명이며, 개발자가 월평균 300라인을 개발한다. 이때 프로젝트 개발 기간과 계산식을 쓰시오.
답 : 
프로젝트 개발 기간 : 20개월 
계산식 : (30,000라인÷300라인)÷5명 = 20개월
2020년 2회
문제 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론으로, 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론은 무엇인가?
답 : 애자일 방법론 또는 Agile