본문 바로가기
정보처리기사

[정처기 실기] 3. 프로젝트 계획 및 분석 - 1과목 소프트웨어 구축

by 공불러 2024. 3. 13.
728x90
반응형

[정처기 실기] 프로젝트 계획 및 분석 - 1과목 소프트웨어 구축

프로젝트 계획 및 분석

정처기 실기 1과목에선 3P, 개발비용산정, PERT, DFD 등이 출현합니다.

정보처리기사 실기를 준비하면서 가장 등한시하게 되는 파트가 1과목입니다. 실제 과목당 출제 빈도에서도 높지 않죠. 평균 1~2개 문제가 출제됩니다. 하지만, 언제 나올지 모르고 가장 기본적인 부분이기 때문에 반복학습이 필요합니다. 본 포스팅을 보시면서 천천히 읽고 보시길 바랍니다. 자주 읽으면서 반복하는 학습법은 암기에 도움이 된다고 합니다.

 

목차

    프로젝트 관리

    프로젝트 관리는 특정한 목적을 달성하기 위해 한정된 기간, 예산, 자원을 활용하여 사용자가 만족할 만한 제품이나 서비스를 개발하도록 하는 기술적, 관리적 활동을 말합니다.

    이 말이 조금 어색하게 느껴질 수 있으므로 좀더 실제 업무 측면에서 말하자면, 프로젝트는 하나의 서비스를 총괄하는 업무 단위로 봐도 무방합니다. 

    IDE(개발을 하기 위한 소프트웨어 등)을 사용할 때도 프로젝트를 생성하곤 하는데, 이렇게 하나의 시스템을 총괄합니다. 개발자 면접에서 어떤 프로젝트를 해봤나요? 라는 질문을 받는다면 어떤 시스템 개발해봤어? 라고 묻는 것으로 생각하시면 됩니다.

     

    프로젝트 핵심 관리 3P

    사람, 문제, 프로세스

    People : 프로젝트 팀원과 관련이해자. 말 그대로 사람을 말하며, 개발자 및 클라이언트를 말한다.

    Problem : 프로젝트의 목표달성을 위해 해결해야하는 문제

    Process : 프로젝트의 흐름을 조직하고 관리하는 방법론

     

    프로젝트 관리 방법

    PMBOK (Project Management Body of Knowledge)

    PMI에서 제작한 프로젝트관리 프로세스 및 지식 체계

    * PMI는 PMP 자격증을 주관하는 단체

    PMBOK 단계(착계실통종)

    • 1 단계 - 프로젝트 착수 : 광번위한 범위를 정하는 단계
    • 2 단계 - 프로젝트 계획 : 프로젝트의 세부 범위를 정의하고, 프로젝트 과리 계획을 만드는 단계
      • 비용, 품질, 기간 포함
    • 3 단계 - 프로젝트  실행 : 개발과 완료가 이루어지는 단계
    • 4 단계 - 프로젝트 통제 : 계획 대비 목표의 진척 상황을 모니터링하고 성과를 측정하는 단계
    • 5 단계 - 프로젝트 종료 : 목표의 진척 사항 요구사항 만족을 검증하고 고객에게 확인

    개발 비용 산정(계획 단계)

    하향식 선정 방법

    과거 프로젝트에서의 경험을 기반으로 비슷한 프로젝트에 대한 비용을 추정합니다. 이는 과거의 성과와 실패를 고려하여 현재 프로젝트의 요구 사항을 분석하는 데 사용됩니다.

    • 사람이 하는 것.
    • 과거 유사 경험으로 회의 통해서 선정
    • 전문가 판단 기법
      • 조직 내의 전문가에게 비용 산정 의뢰
      • 조직 내의 전문가에게 비용 산정을 의뢰하여 프로젝트의 복잡성과 리스크를 고려하여 비용을 산정합니다. 전문가는 자신의 경험과 지식을 바탕으로 신뢰할 수 있는 추정을 제공합니다.
    • 델파이 기법
      • 여러 전문가의 의견을 종합하여 객관적으로 산정
      • 여러 전문가가 모여서 특정 주제에 대한 의견을 공유하고 합의하는 방법론입니다. 델파이 기법을 사용하여 전문가의 의견을 종합하고 객관적인 비용 산정을 수행합니다.

    상향식 선정(Bottom up) 방법

    상향식 비용 산정 방법은 소프트웨어 프로젝트의 특성을 기반으로 비용을 추정하는 방법론입니다. 이 방법론은 일반적으로 개발할 기능의 수나 소프트웨어의 크기를 기준으로 비용을 산정합니다.

    코드 줄 수로 하는 것

    LOC

    • 소프트웨어의 크기를 측정하는 가장 일반적인 방법 중 하나입니다. LOC는 개발된 코드의 라인 수를 측정하여 비용을 추정합니다. 이 방법은 소프트웨어의 규모와 복잡성을 고려하여 비용을 산정합니다. 일반적으로 LOC를 기반으로 한 비용 산정은 낙관적인, 중간적인, 비관적인 추정치를 고려하여 평균값을 계산합니다.

    원시코드 라인수 (낙관치 + (4*중간치)+비관치)/6

    수학적 산정 기법

    수학적 산정 기법은 소프트웨어 개발 프로젝트의 규모와 복잡성을 수학적 모델을 사용하여 측정하여 비용을 추정하는 방법론입니다. 이 방법론은 주로 소프트웨어의 크기, 기능, 복잡성 등을 수치화하여 비용을 계산합니다.

     

    줄 수, 기능 점수

    COCOMO 기법

    1. COCOMO (Constructive Cost Model):
      • COCOMO는 소프트웨어의 크기와 특성을 기반으로 비용을 산정하는 모델입니다.
      • 규모 
        • 조직형(organic) 5만이하
        • 반분리형(semidetatched) 30만이하
        • 내장형 (embedded) 30만 초과

    PUTNAM 기법 - 곡선

    PUTNAM 기법은 프로그램 규모를 예측하고 개발 작업을 추적하기 위한 소프트웨어 메트릭 모델 중 하나입니다. 이 모델은 소프트웨어의 규모와 인력 등을 고려하여 개발에 필요한 시간과 비용을 추정합니다

     

    Rayleigh-Borden 곡선을 이용함 - SLIM이라는 자동화 추정 도구를 이용

    FP(기능점수) 기법

    IBM의 A.J. Alercht에 의해 고안된 기법으로 소프트웨어의 기능 갯수에 따라 비용을 산정하는 기법

    FPA는 소프트웨어의 기능을 측정하는 메트릭으로, 외부 입력, 출력, 조회, 내부 파일 및 인터페이스 등의 기능을 계산하여 비용을 산정합니다. FPA는 소프트웨어의 크기와 기능을 정량화하고 비용을 산정하기 위해 사용됩니다.

    ESTIMACS : FP 모형을 기반으로 한 자동화 추정 도구

     

    기능점수 분류

    • 데이터 기능 (Data Functions)
      • 내부 논리 파일(ILF, Internal Logical Files): 시스템 내부에서 생성, 유지, 관리되는 데이터 집합입니다. 내부 논리 파일은 시스템의 기능과 연관된 데이터이며, 시스템에 의해 유지되고 제어됩니다.
      • 외부 연동 파일(EIF, External Interface Files): 외부로부터 수신하거나 송신되는 데이터 집합입니다. 시스템과 외부 시스템 또는 구성 요소 간의 데이터 교환을 위해 사용됩니다.
    • 트랜잭션 기능 (Transaction Functions) - 외부(Extenal만 있음)
      • 외부입력(EI, External Inputs): 시스템으로 들어오는 외부 입력 요청입니다. 외부 입력은 시스템 내부에서 처리되어 결과를 생성하고, 외부로 출력하거나 다른 시스템에 데이터를 전송합니다.
      • 외부출력(EO, External Outputs): 시스템에서 생성되어 외부로 출력되는 결과입니다. 외부 출력은 시스템 내부에서 처리된 데이터를 사용자에게 제공하거나 다른 시스템으로 데이터를 전송합니다.
      • 외부조회(EQ, External InQuiries): 사용자가 시스템에게 제공하는 질문 또는 쿼리입니다. 외부 조회는 사용자가 시스템으로부터 정보를 요청하고, 시스템이 해당 정보를 제공하는 것을 의미합니다.

    소프트웨어 일정 산정

    소프트웨어 개발을 위해 필요한 작업을 정의하고, 이들 작업의 우선순위를 설정하여 전체 프로젝트 일정 계획을 수립한다.

    반응형

    일정 산정 종류

    • WBS(Work Breakdown Structure) : 전체 작업을 작은 단위로 분해하는 것
    • CPM network : Critical Path Method를 사용하여 작업 순서 및 의존성을 정의
    • CPM이 나오면 최소소요기간을 구할 수 있는데, 이는 실제 제일 짧은 기간이 아니라 모두 완료하기 위한 가장 긴 기간을 골라, 최소한 이정도는 시간을 주세요하는 것이다.
      • PERT
        • 미국 해군이 polaris 미사일 개발에서 파생됨
        • 불확실한 상황에서의 시간관리에 사용
        • 낙관치+4*기대치+비관치 / 6
      • CMP (듀폰)
        • 미국 듀폰사와 레밍톤사에서 화학 공장 유지 및 관리를 위해 개발
        • 최소한의 비용
      • PERT/CPM
        • 작업의 선/후 관계를 고려하여 전체 작업의 완료 시간을 결정한다.
        • PERT는 불확실한 시간 | CPM은 비용과 시간의 최적화
        • 임계경로
          • 경로 상 가장 오래걸리는 시간을 임계경로를 정한다.
          • 빠른 착수일 : 앞의 작업이 끝나는 기간
          • 여유기간 : 임계시간으로 발생하는 뜨는 시간
          • 늦은 착수일 : 착수일+여유기간
        • 간트차트
          • 행렬을 그리고 행으로 기간을 표기함
    • 최소 소요 기간 계산 : 각 작업에 필요한 최소한 시간을 계산 - 임계 경로 (실제 최대 기간)
    • 소요 man-month 및 기간 산정 후 CPM 수정 : 작업에 필요한 인력 및 시간을 계산하여 CPM에 업데이트
    • 간트차트(GanttChart) : 프로젝트 일정을 시각적으로 작성한 것

    관련 글

    2024.03.11 - [정보처리기사] - [정보처리기사] 1. 소프트웨어 공학이란? 1과목 소프트 웨어 구축 -

    2024.03.12 - [정보처리기사] - [정보처리기사] 2. 소프트웨어 개발 방법론 - 1과목 소프트웨어 구축

     

    [정보처리기사] 2. 소프트웨어 개발 방법론 - 1과목 소프트웨어 구축

    [정보처리기사] 2. 소프트웨어 개발 방법론 - 1과목 소프트웨어 구축 소프트웨어 개발 방법론은 정처기 실기에서 큰 비중을 차지 하지는 않지만 그냥 지나치기에는 마음이 쓰이는 파트입니다. 전

    shareknowledge-top.tistory.com

     

    [정보처리기사] 1. 소프트웨어 공학이란? 1과목 소프트 웨어 구축 -

    1과목 소프트 웨어 구축 - 소프트웨어 공학이란? 목차 * 정보처리기사 실기에서는 이론보다 프로그램밍언어를 해석하는 문제가 더 많은 비율(40%~50%) 출제 됩니다. 아래 내용들은 꼼꼼히 보시기보

    shareknowledge-top.tistory.com

     

     

    728x90
    반응형

    댓글