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

[정보처리기사 실기] 01. 요구사항 확인 - 소프트웨어 개발 방법론

by 가든가든 2022. 9. 21.
728x90

소프트웨어 개발 방법론

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

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

- 폭포수 모델 (Waterfall Model) : 각 단계를 확실히 마무리 지은 후에 다음단계로 넘어간다.

- 프로토타이핑 모델 (Prototyping Model) : 프로토타입을 구현해, 고객의 피드백을 반영하며 만들어 간다.

- 나선형 모델 (Sprial Model) : 위험을 최소화하기 위해 점진적으로 개발한다.

- 반복적 모델 (Iteration Model) : 구축 대상을 나누어 병렬적으로 개발 후 통합하거나 반복적으로 개발한다.

 

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

- 구조적 방법론 (Structured) : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합한다. (나씨-슈나이더만 차트 사용)

- 정보공학 방법론 (Information Engineering Devleopment) : 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론

- 객체 지향 방법론 (Object-Oriented Development) : '객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론

컴포넌트 기반 방법론 (CBD; Component Based Development) : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론

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

 

애자일 방법론의 유형

- XP : 의사소통 개선즉각적 피드백으로 소프트웨어 품질 높이기 위한 방법론

- SCRUM : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 방법론

- LEAN : 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해 낭비 요소를 제거하는 방법론

 

XP의 12가지 기본원리

- 짝 프로그래밍 (Pair Programming) : 개발자 둘이서 짝으로 코딩하는 원리

- 공동 코드 소유 (Collective Ownership) : 시스템에 있는 코드는 누구든지 언제라도 수정 가능하다는 원리

- 지속적인 통합 (CI; Continuous Integration) : 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리

- 메타포어 (Metaphor) : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자간의 의사소통 원할하게 함

- 테스트 기반 개발 (TDD; Test Driven Develop) : 만들 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다.

- 리팩토링 (Refactoring) : 프로그램의 기능은 바꾸지 않고 중복제거, 단순화 등을 위해 시스템 재구성을 함

 

객체 지향 분석 방법론

객체 지향 분석(OOA; Object Oriented Analysis)은 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의하여 모델링하는 기법이다.

 

객체 지향 분석 방법론 종류

  • OOSE (Object Oriented Software Engineering) - 제이콥슨(Jacobson)
    • 유스케이스에 의한 접근 방법으로 유스케이스를 모든 모델의 근간으로 활용되는 방법론
    • 분석, 설계, 구현 단계로 구성
    • 기능적 요구사항 중심의 시스템
  • OMT (Object Modeling Technology) - 럼바우(Rumbaugh)
    • 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론
    • 분석 절차 = 객체 모델링 → 동적 모델링 → 기능 모델링
  • OOD (Object Oriented Design) - 부치(Booch)
    • 설계 문서화를 강조하여 다이어그램 중심으로 개발하는 방법론
    • 분석과 설계의 분리가 가능

델파이 기법 (하향식 산정방법)

- 전문가의 경험적 지식을 통해 문제 해결 및 미래예측을 위한 기법 (전문가 합의법이라고도 함)

비용 산정 모형 종류 (상향식 산정방법)

- LOC(Line Of Code) 모형 : 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정해 예측치를 구해 비용을 산정하는 방식

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

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

- COCOMO 모형 : 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식

  • 조직형(Organic Mode) : 5만 라인 이하
  • 반 분리형(Semi-Detached Mode) : 30만 라인 이하
  • 임베디드형(Embedded Mode) : 30만 라인 이상

- 푸트남 모형 (Putnam) : 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식, 생명주기 예측 모형,
Rayleigh-Norden 곡선

- 기능점수(FP; Function Point) 모형 : 요구 기능에 따른 가중치 부여

일정관리 모델

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

일정관리 모델 종류

- 주 공정법 (CPM; Critical Path Method) : 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법

⭕주 공정(Critical Path; 임계 경로) : 프로젝트의 시작에서 종료까지 가장 긴 시간이 걸리는 경로

- PERT (Program Evaluation and Review Technique) : 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추첨방식을 통해 일정을 관리하는 기법

- 중요 연쇄 프로젝트 관리 (CCPM; Critical Chain Project Management) : 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법

 

728x90