본문 바로가기
App/소프트웨어공학

[소프트웨어공학] 03 계획

by 건망망고 2024. 4. 21.

03 계획

01 계획의 이해

소프트웨어 개발의 성패도 비용, 기간, 인력과 같은 자원을 토대로 초기에 얼마나 계획을 잘 세우느냐에 달려있다

 

02 문제 정의

문제가 무엇인지 정의

 

03 타당성 분석

  1. 경제적 타당성 : 경영자 입장에서 의사 결정을 하는데 매우 중요한 요소
  2. 기술적 타당성 : 요구하는 기술을 회사가 가지고 있는지
  3. 법적 타당성 : 오픈소스 - 원시 코드가 개방되어있다는 것이지 아무렇게나 가져다 사용할 수 있는 것은 아니다. 오픈소스도 상용 소프트웨어처럼 저작권, 특허권과 같은 지식 재산권으로 보호받는 소프트웨어이다.

04 개발 비용 산정

  1. 개발 비용 산정의 어려움
  2. 개발 비용에 영향을 주는 요소
    • 프로그래머 자질
    • 소프트웨어 복잡도
    • 소프트웨어 크기
    • 가용시간
    • 요구되는 신뢰도 수준
    • 기술수준

05 비용산정기법 1 : 하향식 산정 기법

  1. 전문가 판단 기법 : 경험이 많은 전문가가 판단을 내린만큼 신뢰성이 있고 편리하다
  2. 델파이기법 : 전문가들의 편견이나 분위기에 영향을 받지 않도록 조정자를 둔다.

06 비용산정기법 2 : 상향식 산정 기법

프로젝트의 세부 작업 단위 별로 비용을 산정한 후 전체비용을 합산하는 방법

  1. 원시 코드 라인수 기법 : 소프트웨어 각 기능에 대한 원시 코드 라인 수의 비관치, 낙관치, 중간치를 측정해서 예측치를 구하고 이를 이용해 산정하는 기법
  2. 개발 단계별 노력 기법

07 비용산정기법 3 : 수학적 산정 기법

  1. COCOMO 방법
    1. 가중치 반영하기
    2. 보정 계수 반영하기
    3. 총 개발 기간 산정하기
  2. COCOMO 2 방법
  3. 기능 점수 산정 방법
  4. 간이 기능 점수법을 이용한 기능 점수 산정 방법
    1. 측정 유형 결정
    2. 측정 범위와 애플리케이션 경계 설정
    3. 데이터 기능 점수 계산
    4. 트랜잭션 기능 점수 계산
    5. 미조정 기능 점수 계산
    6. 보정 전 개발 원가 계산
    7. 보정 계수
    8. 보정 후 개발 원가 계산

08 일정 계획

  1. 일정 계획의 이해
  2. 프로젝트 : 시작지점과 끝지점이 있다는 것 → 소프트웨어를 개발하기 위해 어떤 작업이 필요한지 찾은 후, 이를 진행할 순서를 결정하거나 주어진 기간을 계획
  3. 일정 계획의 시작 : 작업 분할 구조도(WBS)
  4. 프로젝트 목표를 달성하는 데 필요한 활동과 업무를 세분화하는 작업
  5. 일정 계획 기법1 : 네트워크 차트(PERT/CPM)
    • PERT : 프로그램을 평가하고 검토하는 프로젝트 관리 기법
    • CPM : 작업이 확정적 소요 시간을 갖는 프로젝트 관리 기법
      1. CPM 네트워크를 그린다
      2. ES 값을 구한다 : 가능한 빨리 시작할 수 있는 시간
      3. EF 값을 구한다 : ES + 작업 소요 시간
      4. LS 값을 구한다 : 가장 늦게 시작할 수 있는 시간
      5. LF 값을 구한다 : LS + 작업 소요 시간
      6. ST 값을 구한다 : 여유있는 시간
      7. 임계 경로를 구한다 : A B D E H K L M
  6. 일정 계획 기법2 : 간트 차트를 이용한 일정표 작성
  7. 프로젝트 일정 관리를 위한 바 형태의 도구

09 위험 분석

  1. 위험 분석의 이해
  2. 위험 관리 절차
    1. 위험 요소 식별
    2. 위험 분석
    3. 위험 계획 수립
    4. 위험 감시
  3. 소프트웨어 개발에 방해가 되는 요소를 파악하고, 위험 요소의 발생 확률과 영향도를 평가한 뒤, 분석한 결과에 따라 우선순위를 정해 그에 맞게 대책을 세우는 것