1. 소프트웨어 개발 방법론 ★★★

▷ 소프트웨어 생명주기 (SDLC)

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

 

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

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

 

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

  • 폭포수 모델: 가장 오래된 모델로, 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어감
  • 프로토타이핑 모델: 주요기능을 프로토타입으로 구현해, 고객의 피드백을 반영하여 S/W 만듦
  • 나선형 모델: 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발                                                     ( 절차 : 계획 및 정의 -> 위험 분석 -> 개발 -> 고객평가)
  • 반복적 모델: 구축대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발

 

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

  • 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합한다. 나씨-슈나이더만 차트 사용
  • 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체계화
  • 객체지향 방법론 : ‘객체’라는 기본 단위로 시스템 분석 및 설계
  • 컴포넌트 기반 방법론(CBD) : 컴포넌트를 조립해 하나의 새로운 운용 프로그램 작성
  • 애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템 개발
  • 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의해 개발, 임베디드

 

 애자일 방법론의 유형

  • XP(eXtreme Programming): 의사소통 개선과 즉각적 피드백으로 스프트웨어 품질을 높이기 위한 방법론
    • XP 5가지 가치: 용기, 단순성, 의사소통, 피드백, 존중  (피존용단소)
    • XP 12가지 기본원리
      • 짝 프로그래밍 : 개발자 둘이서 짝으로 코딩하는 원리
      • 공동 코드 소유 : 시스템에 있는 코드는 누구든 언제든지 수정 가능
      • 지속적인 통합(CI) : 매일 여러 번씩 소프트웨어를 통합하고 빌드
      • 메타포어(Metaphor) : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자간의 의사소통을 원활하게 한다.
      • 테스트 기반 개발(TDD) : 만들 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다.
      • 리팩토링(Refactoring) : 프로그램의 기능은 바꾸지 않고 중복제거, 단순화 등을 위해 시스템 재구성을 한다.
  • 스크럼(Scrum): 매일 정해진 시간, 장소에서 짤은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
  • 린(Lean): 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 욧를 제거하여 품질을 향상시킨 방법론
    • Lean 7가지 가치: 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화

 

2. 비용산정, 일정관리 모형 ★★★

비용산정 모형 분류 

  • 하향식 : 전문가 판단, 델파이 기법
  • 상향식 : Loc, Man Month, COCOMO 모형, 푸트남, 기능점수FP

 

 비용산정 모형 종류

  • LoC(Line of Code) 모형 : 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정해 예측치를 구해 비용을 산정
  • Man Month 모형 : 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용 산정
  • COCOMO 모형 : 보헴이 제한, 프로그램 규모에 따른 비용 산정
    • 조직형(Organic Mode) : 5만 라인 이하
    • 반 분리형(Semi-Detached Mode) : 30만 라인 이하
    • 임베디드형(Embedded Mode) : 30만 라인 이상
  • 푸트남(Putnam) 모형 : 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식, 생명주기 예측 모형, Rayleigh-Norden 곡선
  • 기능점수(FP; Fuction Point) 모형 : 요구 기능에 따른 가중치 부여

 

일정관리 모델 : 일정 기한 내에 적절하게 완료될 수 있도록 관리

  • 주 공정법(CPM) : 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정 계산
    • 주 공정(Critical Path) : 프로젝트의 시작에서 종료까지 가장 긴 시간이 걸리는 경로
  • PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법, 비관치, 중간치, 낙관치를 이용
  • 주 공정 연쇄법(CCPM) : 자원제약사항을 고려해 일정 작성

 

 

'프로그래밍 > 개발지식' 카테고리의 다른 글

JTW - Spring  (0) 2022.05.19
jwt의 보안  (0) 2022.05.19
정처기 시험대비 메모장 2 - 22년 1회 필기  (0) 2022.05.04
정처기 시험대비 메모장 1  (0) 2022.05.03
JWT 란?  (0) 2022.05.03

+ Recent posts