정보처리기사 실기 준비 #1

hongjungkim·2021년 9월 6일
1

소프트웨어 개발 방법론

1. 소프트웨어 개발방법론

  • 소프트웨어 생명주기 모델

    • 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
  • 소프트웨어 생명주기 모델 프로세스

    • 요구사항 분석 == 정의
    • 설계 == 논리
    • 구현 == 작성
    • 테스트 == 검사
    • 유지보수 == 교정
  • 소프트웨어 생명주기 모델 종류

    • 폭포수 모델 == 선형 순차적 모형, 요구사항 변경의 어려움
      • 타당성 검토 --- 계획 --- 요구사항 분석 --- 설계 --- 구현 --- 테스트 --- 유지보수
    • 프로토타이핑 모델 == 고객의 요구, 피드백 반영
    • 나선형 모델 == 위험 최소화, 점진적 개발
      • 계획 및 정의 --- 위험 분석 --- 개발 --- 고객 평가
    • 반복적 모델 == 병렬적, 반복적
  • 소프트웨어 개발방법론

    • 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법
  • 소프트웨어 개발방법론 종류
    • 구조적 방법론 == 기능에 따라 분할 및 통합
    • 정보공학 방법론 == 정보시스템 개발
    • 객체지향 방법론 == 객체를 기본 단위로 분석 및 설계
    • 컴포넌트 기반 방법론 == 컴포넌트를 조립
    • 애자일 방법론 == 절차보다는 사람이 중심, 신속하고 유연
    • 제품 계열 방법론 == 임베디드 소프트웨어 작성에 유용
  • 애자일 방법론
    • 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응
    • 개발 기간이 짧고 신속함
  • 애자일 방법론의 유형
    • XP (eXtreme Programming)
      • 5가지 가치 (용기, 단순성, 의사소통, 피드백, 존중)
      • 12가지 기본원리 (짝 프로그래밍, 공동 코드 소유, 지속적인 통합, 계획 세우기, 작은 릴리즈, 메타포어, 간단한 디자인, 테스트 기반 개발, 리팩토링, 40시간 작업, 고객 상주, 코드 표준)
    • 스크럼 (SCRUM)
      • 백로그 == 요구사항
      • 스프린트 == 2 ~ 4주의 짧은 개발 기간
      • 스크럼 미팅 == 데일리 미팅
      • 스크럼 마스터 == 프로젝트 리더
      • 스프린트 회고 == 규칙 준수 여부, 개선점 등을 확인
      • 번 다운 차트 == 남아있는 백로그 대비 시간을 표현한 차트
    • 린 (LEAN)
      • 7가지 원칙 (낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화)

2. 비용산정

  • 비용산정 모형
    • 소프트웨어 규모파악을 통한 투입자원, 소요시간을 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식
  • 비용산정 모형 분류
    • 하향식 선정방법 == 전문가 판단, 델파이 기법
    • 상향식 선정방법 == LOC (코드 라인 수), Man Month, COCOMO 모형, 푸트남 모형, 기능점수 모형
  • 비용산정 모형 종류
    • LOC 모형
      • 예측치 = (낙관치 + 4 * 중간치 + 비관치) / 표준편차
    • Man Month 모형
      • Man Month = LOC / (프로그래머의 월간 생산성)
      • 프로젝트 기간 = Man Month / 프로젝트 인력
    • COCOMO 모형
      • 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식
      • 조직형 == 소규모 소프트웨어, 5만 라인 이하의 소프트웨어를 개발하는 유형
      • 반 분리형 == 단순형과 임베디드형의 중간형, 30만 라인 이하의 소프트웨어를 개발하는 유형
      • 임베디드형 == 초대형 규모의 트랙잭션 처리 시스템, 30만 라인 이상의 소프트웨어를 개발하는 유형
    • 푸트남 모형
      • 생명주기 예측 모형
      • 개발주기의 단계별로 요구할 인력의 분포를 가정
      • Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
    • 기능점수 모형
      • 요구 기능을 증가시키는 인자별로 가중치를 부여하고 합산하여 총 기능의 점수 계산
      • 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치 부여

3. 일정관리

  • 일정관리 모델
    • 프로젝트가 일정 기한 내에 적절하게 완료될 수 있도록 관리하는 모델
  • 일정관리 모델 종류
    • CPM (주 공정법)
      • 여러 작업의 수행 순서가 얽혀있는 프로젝트의 일정을 계산하는 기법
    • PERT
      • 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식 사용
    • CCPM (중요 연쇄 프로젝트 관리)
      • 주 공정 연쇄법으로 자원제약사항을 고려하게 일정을 작성하는 기법

Question

  • 애자일 방법론?
  • Man Month와 프로젝트 기간 계산 방법?
  • SDLC (소프트웨어 생명주기 모델)?
  • 소프트웨어 생명주기 모델 중 설계단계?
  • 폭포수 모델?
  • 구조적 방법론?
  • TDD (Test Driven Development)?
  • XP의 12가지 가치 중 CI?
  • 스크럼?
  • 델파이 기법?
  • 기능 점수 (FP)?
  • PERT?
  • 임계경로 구하는 방법?
profile
hangout with 💻 :)

0개의 댓글