2 분 소요

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

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

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

소프트웨어 개발 방법론

소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 방법론

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

애자일(Agile) 방법론

  • XP(eXtreme Programming): 의사소통 개선과 즉각적 피드백으로 스프트웨어 품질을 높이기 위한 방법론
    • XP 5가지 가치: 용기, 단순성, 의사소통, 피드백, 존중
  • 스크럼(Scrum): 매일 정해진 시간, 장소에서 짤은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
  • 린(Lean): 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비 요소를 제거하여 품질을 향상시킨 방법론
    • Lean 7가지 가치: 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화

객체 지향 분석 방법론

객체 지향 분석(OOA) : 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의

  • OOSE(Object Oriented Software Engineering): 유스케이스를 모든 모델의 근간으로 활용되는 방법론, 야콥슨 만듦
  • OMT(Object Modeling Technology): 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링, 럼바우 만듦
    • 분석 절차: 객체 모델링 → 동적 모델링 → 기능 모델링
    • 객체 모델링: 객체들 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링, 객체 다이어그램 활용
    • 동적 모델링: 시간의 흐름에 따라 객체들의 동적인 행위를 표현하는 모델링, 상태 다이어그램 활용
    • 기능 모델링: 프로세스들의 자료 흐름을 중심으로 처리 과정 표현하는 모델링, 자료 흐름도(DFD) 활용

비용 산정 모형 분류

  • 하향식 산정방법: 경험이 많은 전문가에게 비용산정 의뢰 또는 전문가와 조정자를 통해 비용산정
    • 전문가 판단
    • 델파이 기법: 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법
  • 상향식 산정방법: 세부적인 요구사항과 기능에 따라 필요한 비용 산정
    • 코드 라인 수(LoC: Lines of Code): 원시 코드 라인수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구해 비용산정
    • Man Month: 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 비용산정
    • COCOMO 모형: 보헴이 제안한 모형으로 프로그램의 규모에 따라 비용산정
      • 조직형(Organic Mode): 5만(50KDSI)라인 이하
      • 반 분리형(Semi-Detached Mode): 30만(300KDSI)라인 이하
      • 임베디드형(Embedded Mode): 30만(300KDSI)라인 이상
    • 푸트남(Putnam) 모형: 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식
    • 기능점수(FP) 모형: 소프트웨어 기능을 증대시키는 요인별로 가중치를 부여하여 비용산정

비용 산정 자동화 추정 도구

  • SLIM: Rayleigh-Norden곡선과 Putnam예측 모델을 기초로 하여 개발된 자동화 추정 도구
  • ESTIMACS: 다양한 프로젝트와 개인별 요소를 수용하도록 FP모형을 기초로 하여 개발된 자동화 추정 도구

일정관리 모델

프로젝트가 일정 기한 내에 완료될 수 있도록 관리하는 모델

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

🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)

댓글남기기