정보처리기사 도전기

[정보처리기사 실기 이론정리2] 프로젝트 계획 및 분석

츄98 2024. 7. 21. 23:50

1. 프로젝트 관리대상 3P : 사람, 문제, 프로세스

2. 개발 비용 산정 기법

  • 하향식 산정 기법 : 전문가 판단기법, 델파이 기법
  • 상향식 산정 기법 : 원시 코드 라인 수(LOC, Line of Code), 개발 단계별 노력 기법
  • 수학적 산정 기법 :  COCOMO  기법,  PUTNAM  기법, FP(기능 점수) 기법

3. 하향식 산정 기법(Top-Down) : 과거 유사 경험을 바탕으로 회의를 통해 전체 프로젝트의 비용을 산정

  • 전문가 판단 기법
  • 델파이 기법 : 여러 전문가의 의견을 종합해 판단

4. 상향식 산정 기법(Bottom-Up) : 프로젝트 세부 작업 단위별로 비용 산정 후 합산해 전체 비용 계산

  • 원시 코드 라인 수 (LOC, Line Of Code) : 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 중간치를 측정 후  예측치를 구하고, 이를 이용해 비용을 산정
  • 개발 단계별 노력(Effort Per Task) 기법 : LOC  기법을 확장, 소프트웨어 개발 생명주기의 각 단계별로 적용

5. 수학적 산정 기법

  • COCOMO 기법 :
    조직형(Organic Mode) - 5만 라인 이하의 프로젝트
    반분리형(Semidetached Mode) - 30만 라인 이하의 프로젝트
    내장형(Embedded Mode) - 30만 라인 이상의 프로젝트
  • Putnam 기법 : 소프트웨어 프로젝트의 전 과정에서 필요한 노력을 예측하는 모델
    =>  SLIM : Rayleigh - Norden 곡선과 Putnam 예측 모델을 기반으로 한 자동화 추정 도구
  • 기능 점수 기법 (FP, Function Point) : 소프트웨어의 기능 개수를 기준으로 규모를 측정하는 기법
    => ESTIMACS : FP 모형을 기반으로 한 자동화 추정 도구

6. 임계 경로 (Critical Path) : 프로젝트를 끝내기 위해 필요한 최소 소요 시간

7. 간트 차트 : 프로젝트 일정 계획의 시각적 표현

8. CPND(Content Platform Network Device) :  콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을표현하는 무선 인터넷 서비스의 가치사슬

9. 미들웨어 : 양쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어

  • 원격 프로시저 호출 (Remote Procedure Call) : 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
  • 메시지 지향 미들웨어 (Message Oriented Middleware) : 클라이언트가 생성한 메시지는 저장소에 요청할 떄 저장하면서, 다른 업무를 지속할 수 있도록 하는 비동기식 미들웨어
  • ORB (Object Request Broker) : 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원
  • DB 접속 미들웨어 : 애플리케이션과 데이터베이스 서버를 연결
  • TP 모니터 (Transaction Processing Monitor) : 분산 시스템의 애플리케이션을 지원, 트랜젝션이 올바르게 처리되고 있는지 데이터를 감시, 제어
  • 웹 애플리케이션 서버 (Web Application Server) : 웹 애플리케이션 지원
  • 엔터프라이즈 서비스 버스 (Enterprise Service Bus) : 메시지 기반으로 느슨한 결합 형태의 표준 인터페이스 통신을 지원, 기업 안팎에 있는 모든 시스템 환경을 연동

10. 요구공학 : 소프트웨어의 요구사항을 식별, 분석, 문서화하고, 이를 관리하는 과정

11. 요구사항 개발 프로세스 : 도출(Elicitation) -> 분석(Analysis) -> 명세(Specification) -> 확인(Validation)

12. 구조적 분석 도구 : DFD(자료 흐름도), Data Dictionary(자료사전) , Mini-Spec(소단위 명세서), ERD(개체 관계도), STD(상태전이도)

13. 객체 지향 분석 도구 : UML, 모델링

14. 도메인 분석: 요구사항의 배경

15. 요구사항 분석 CASE 도구 : 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술

  • 상위 CASE : 생명주기 전반부에 사용, 소프트웨어의 계획과 요구분석, 설계단계 지원.
    모순검사, 오류검사, 자료 흐름도 작성 등의 기능을 수행
  • 하위 CASE : 생명주기 후반부에 사용, 코드의 작성과 테스트, 문서화하는 과정 지원.
    구문편집기, 코드생성기 등의 기능 수행
  • 통합 CASE : 소프트웨어 생명주기에 포함되는 전체 과정 지원
  • SADT(Structured Analysis and Design Technique) : 시스템 정의, 요구사항 분석, 시스템/소프트웨어 설계에 이용되는 구조적 분석 및 설계도구
  • SREM(Software Requirements Engineering Methodology) : 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발
  • PSL(Problem Statement Language) : 문제 기술언어 
  • PSA(Problem Statement Analyzer) : PSL로 기술된 요구사항을 자동으로 분석하여 다양한 보고서를 출력하는 문제 분석기 
  • TAGS(Technology for Automated Generation of Systems) : 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구

16. HIPO : 하향식 소프트웨어 개발을 위한 문서화 도구, 시스템의 기능을 여러 개의 고유 모듈로 분할해 이들 간의 계층 구조를 표현한 도표

  • 가시적 도표(Visual Table of Content) : 시스템의 전체 기능과 흐름을 보여주는 트리(계층) 구조,.
    입력, 처리, 출력이 없음
  • 총체적 도표(Overview Diagram) : 프로그램을 구성하는 기능을 기술한 것.
    입력, 처리, 출력에 대한 전반적인 정보 제공 
  • 세부적 도표(Detail Diagram) : 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

17. 모델링 : 복잡한 시스템을 이해하고 효과적으로 개발하기 위해 간단한 모델로 표현하는 과정

  • 기능적 모델링, 정적 모델링(클래스 단위로 표현), 동적 모델링

18. 구조적 분석 모델 : 시스템의 프로세스와 데이터 흐름을 중심으로 분석

  • 자료흐름도(DFD) : 시스템 내에서 자료가 어떻게 이동하고 처리되는지를 도형으로 나타내는 모델링 도구
  • 자료사전(DD) : 자료흐름도에 기술된 모든 자료들에 대해 자세한 정의와 설명을 제공

  • 소단위 명세서(Mini-Specification) : 자료 흐름도에서 각 처리가 수행하는 업무를 상세히 작성한 문서.
    프로세스 명세서
  • 개체 관계도(ERD) :  시스템에서 처리되는 구조인 개체와 그 속성, 개체 간의 관계를 도식화하여 모델링

  • 상태전이도(STD) : 시스템의 상태와 상태 간의 전이를 모델화하는 도구. 시스템에 어떤 사건이 발생했을 때 시스템의 상태 변화를 보여준다.

19. 객체지향 분석 모델 : 객체와 클래스 중심으로 시스템 분석

  • 럼바우  방법 : 객동기 순서로 진행
    - 객체 모델링(Object Modeling) : 객체 다이어그램을 통해 시스템의 객체, 속성, 연산, 관계 표현
    - 동적 모델링(Dynamic Modeling) : 상태 다이어그램을 사용하여 시간에 따른 객체의 행동과 상호작용을 표현
    - 기능 모델링(Functional Modeling) :  DFD를 이용해 데이터 흐름과 처리과정을 표현
  • Jacobson 방법 :  UseCase를 중심으로 한 분석 방법, 사용자의 요구사항과 시스템의 상호작용 중심
  • Coad와 Yourdon 방법 : ER다이어그램을 사용

20. 정보공학 분석 모델 : 데이터 중심의 접근 방식으로 시스템 분석

21. 정형화 분석 모델 : 수학적 기법을 사용해 시스템을 정형화하여 분석