본문 바로가기
  • 그라데이션
정보처리기사 실기(개정 후)/1장. 요구사항 확인

[2023 정보처리기사 실기] 1장. 요구사항 확인 개념정리 요약(1)

by 콩리토 2023. 4. 16.
반응형
해당 게시글은 정보처리기사-실기 시험 Chapter 1.[요구사항 확인]의 용어 관련 개념정리 요약글(1)이다.

 


 

소프트웨어 개발 방법론

 

▶ 소프트웨어 생명 주기(SDLC)

시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차

 

▷ 소프트웨어 생명 주기 모델 종류

  • 폭포수 모델 : 각 단계를 확실히 마무리 지은 후에 다음단계로 넘어간다.
  • 프로토타이핑 모델 : 프로토타입을 구현해, 고객의 피드백을 반영하며 만들어 간다.
  • 나선형 모델 : 위험을 최소화하기 위해 점진적으로 개발한다.
  • 반복적 모델 : 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발한다.

 

▶ 소프트웨어 개발 방법론

소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 방법론

 

▷ 소프트웨어 개발 방법론 종류

  • 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합한다. 나씨-슈나이더만 차트 사용
  • 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체계화
  • 객체지향 방법론 : ‘객체’라는 기본 단위로 시스템 분석 및 설계
  • 컴포넌트 기반 방법론(CBD) : 컴포넌트를 조립해 하나의 새로운 운용 프로그램 작성
  • 애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템 개발
    - XP : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질 높이기 위한 방법론
             * XP의 5가지 가치 : 용기, 단순성, 의사소통, 존중, 피드백
    - SCRUM : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 방법론
    - LEAN : 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해 낭비 요소를 제거하는 방법론
             * LEAN의 7가지 가치 : 낭비제거, 품질 내재화, 지식 창출, 빠른 인도, 늦은 확정, 사람 존중, 전체 최적화
  • 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의해 개발, 임베디드

 

▷ XP(eXtreme Programming)의 기본원리

  • 짝 프로그래밍 : 다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경
  • 지속적인 통합(CI) : 매일 여러 번씩 소프트웨어를 통합하고 빌드한다.
  • 메타포어(Metaphor) : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자간의 의사소통을 원활하게 한다.
  • 테스트 주도 개발(TDD) : 만들 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다.
  • 디자인개선 or 리팩토링(Refactoring) : 프로그램의 기능은 바꾸지 않고 중복제거, 단순화 등을 위해 시스템 재구성을 한다.
  • 소규모 릴리즈(Small Releases) : 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응한다.
  • 전체 팀(Whole Team) : 개발에 참여하는 모든 구성원들은 각자 자신의 역할이 있고 책임을 가져야 한다.

 

 XP의 개발 프로세스 순서

: 릴리즈 계획 수립 -> 주기 -> 승인 검사 -> 소규모 릴리즈

 

▶ 객체 지향 분석(OOA)

사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의

 

 객체 지향 분석 방법론 종류

  • OOSE(Object Oriented Software Engineering) : 유스케이스를 모든 모델의 근간으로 활용되는 방법론, 야콥슨이 만듦
  • OMT(Object Modeling Technology) : 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링한 것, 럼바우가 만듦
    - 분석 절차 : 객체 모델링 -> 동적 모델링 -> 기능 모델링
    * 객체 모델링 : 객체들 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델링으로 객체 다이어그램 활용
    * 동적 모델링 : 시간의 흐름에 따라 객체들의 동적인 행위를 표현하는 모델링으로 상태 다이어그램 활용
    * 기능 모델링 : 프로세스들의 자료 흐름을 중심으로 처리 과정 표현하는 모델링으로 자료 흐름도(DFD) 활용

 

▶ 비용 산정 모형 종류

▷ 하향식 산정방법 : 경험이 많은 전문가에게 비용산정을 의뢰하거나 전문가, 조정자를 통해 비용 산정 방식

  • 델파이 기법 : 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법
  • 전문가 판단

 

▷ 상향식 산정방법 : 경험이 많은 전문가에게 비용산정을 의뢰하거나 전문가, 조정자를 통해 비용 산정 방식

  • LoC(Line of Code) 모형 : 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정해 예측치를 구해 비용을 산정하는 방식
  • Man Month 모형 : 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용 산정하는 방식
  • COCOMO 모형 : 보헴이 제한, 프로그램 규모에 따른 비용 산정
    - 조직형(Organic Mode) : 5만 라인 이하 (50KDSI )
    - 반 분리형(Semi-Detached Mode) : 30만 라인 이하 (300KDSI ↓)
    - 임베디드형(Embedded Mode) : 30만 라인 이상 (300KDSI ↑)
  • 푸트남(Putnam) 모형 : 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식, 생명주기 예측 모형, Rayleigh-Norden 곡선
  • 기능점수(FP, Fuction Point) 모형 : 소프트웨어 기능을 증대시키는 요인별로 가중치 부여

 

▷ 비용 산정 자동화 추정 도구

  • SLIM : Rayleigh-Norden곡선과 푸트남(Putnam) 예측 모델을 기초로 도구
  • ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP(Funtion Point) 모형을 기초로 개발된 도구

 

▶ 일정관리 모델

프로젝트가 일정 기한 내에 적절하게 완료될 수 있도록 관리하는 것

  • 주 공정법(CPM) : 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정 계산
    * 주 공정(Critical Path) : 프로젝트의 시작에서 종료까지 가장 긴 시간이 걸리는 경로
  • PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법, 비관치, 중간치, 낙관치를 이용
  • 주 공정 연쇄법(CCPM) : 자원제약사항을 고려해 일정 작성
728x90

댓글