본문 바로가기

스터디/웹개발

2022년09월12일 TIL - 정보처리기사 실기 정리

220912 정보처리기사 실기

객체 지향 분석의 개념

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

객체 지향 분석 방법론 종류

  1. OOSE (Object Oriented Software Engineering) - 야콥슨 (Jacobson)
    • 유스케이스에 의한 접근 방법으로 유스케이스를 모든 모델의 근간으로 활용, 분석/설계/구현 단계로 구성, 기능적 요구사항 중심의 시스템
  2. OMT (Object Modeling Technology) - 럼바우 (Rumbaugh)
    • 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링, 절차는 객체 모델링 → 동적 모델링 → 기능 모델링 순서로 진행
      • 객체 모델링 (Object Modeling) : 정보 모델링(Information Modeling) 이라고도 한다, 시스템에서 요구하는 객체를 찾고 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링, 객체 다이어그램 활용
      • 동적 모델링 (Dynaming Modeling) : 시간 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서등의 동적인 행위를 표현, 상태 다이어그램 활용
      • 기능 모델링 (Functional Modeling) : 프로세스의 자료 흐름을 중심으로 처리과정 표현, 자료 흐름도(DFD) 를 활용하여 표현
  3. OOD (Object Oriented Design) - 부치 (Booch)
    • 설계 문서화를 강조하여 다이어그램 중심으로 개발, 분석과 설계의 분리가 불가능, 분석하는 데 이용된 객체 모델의 설계 시 적용

비용 산정 모형

개념

소프트웨어 규모 파악을 통해 투입자원, 소요시간을 파악하여 비용 산정.

분류

  1. 하향식 산정방법 : 경험이 많은 전문가에게 의뢰하거나, 여러 전문가와 조정자를 통해 산정
    • 전문가 판단, 델파이 기법
      • 델파이 기법(Delphi Method): 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법으로 전문가 합의법이라고도 한다.
  2. 상향식 산정방법 : 세부적인 요구사항과 기능에 따라 필요한 비용 계산
    • 코드 라인 수(Loc), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형

종류

LoC(Lines of Code) 모형

원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 비용을 산정한다.

측정이 쉽고 이해하기 쉬워 많이 사용한다.

예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정한다.

  • 예측치 = (o + 4m + p) / 6 (o: 낙관치, m: 중간치, p: 비관치)
  • 비관치: 가장 많이 측정된 코드 라인 수
  • 중간치: 측정된 모든 코드 라인 수의 평균
  • 낙관치: 가장 적게 측정된 코드 라인 수

Man Month 모형

한 사람이 1개월 동안 할 수 있는 양을 기준으로 프로젝트 비용을 산정

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

COCOMO (COnstructive COst MOdel) 모형

보헴(Boehm) 이 제안한 모형으로 프로그램 규모에 따라 비용 산정한다.

비용산정 결과는 프로젝트를 완성하는 데 필요한 노력 (Man-Month) 로 산정한다.

비용 견적의 강도 분석 및 비용 경적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용된다.

규모에 따라 유형이 조직형(=기본형, 단순형), 반 분리형, 임베디드형으로 나뉜다

  • COCOMO의 소프트웨어 개발 유형
    1. 조직형 (Organic Mode)
      • 기관 내부에서 개발된 중 소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 개발에 적용
      • 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형.
    2. 반 분리형 (Semi-Detached Mode)
      • 단순형과 임베디드형의 중간형
      • 트랙잭션 처리 시스템, 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
      • 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
    3. 임베디드형 (Embedded Mode)
      • 초대형 규모의 트랙잭션 처리 시스템이나 운영체제, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적용.
      • 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형

푸트남(Putnam) 모형

  • 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식
  • 푸트남이 제안한 것으로 생명주기 예측 모형이라고 한다.
  • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.

기능점수(FP; Function Point) 모형

요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산해 비용을 산정.

  • 기능점수(FP) = 총 기능점수 x [0.65 + (0.1 x 총 영향도)]

경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여한다.

일정관리 모델

종류

  1. 주 공정법 (CPM; Critical Path Mothod)
    • 여러 잡업의 수행 순서가 얽혀있는 프로젝트의 일정을 계산
    • 모든 자원 제약사항을 배제한 상태로 프로젝트 시작과 끝을 나타내는 노드(Node)와 노드 간의 연결을 통해 공정을 계산하는 액티비티(Activity) 표기법
    • CPM으로 일정 계산 : 프로젝트 시작에서 종료까지 가장 긴 시간이 걸리는 경로를 계산한다. 주 공정(Critical Path; 임계 경로)
  2. PERT (Program Evaluation and Review Technique)
    • 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리
  3. 중요 연쇄 프로젝트 관리 (CCPM; Critical Chain Project Management)
    • 주 공정 연쇄법으로 자원 제약사항을 고려하여 일정을 작성