소프트웨어 생명주기(1과목)

개발로 쓰는 개발 노트·2023년 6월 20일

정보처리기사 준비

목록 보기
1/57

소프트웨어 생명주기

  • 소프트웨어 생명주기 모형 -> 소프트웨어 생명주기를 표현하는 형태
  • 소프트웨어 개발 방법론의 바탕이 되는 것, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
  • 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형 등이 있다.

소프트웨어 공학

  • 소프트웨어 공학의 기본 원칙
    • 현대적인 프로그래밍 기술을 계속적으로 적용해야 한다.
    • 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
    • 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.

폭포수 모형

  • 폭포수 모형은 폭포에서 떨어진 물이 거슬러 올라갈 수 없듯 개발 단계가 이전으로 돌아가지 못함을 의미한다. 각 단계를 철저하게 검토하여 승인과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.
  • 한번 떨어진 물은 거슬러 올라갈 수 없음.(css의 cascade느낌인거 같음)
  • 고전적 생명주기 모형이라고도 함.
  • 모형을 적용한 경험과 성공 사례가 많음
  • 절대 두 개 이상의 과정이 병행하지 않음.
  • 제품의 일부가 될 매뉴얼이 있어야함.

프로토타입 모형(원형 모형)

  • 견본제품(prototype)을 만들어 최종 결과물을 예측한다.
  • 시제품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발한다.
  • 개발이 완료된 시점에서 오류가 발견되는 폭포수 모형의 단점을 보완하기 위한 모형이다.

나선형 모형(점진적 모형)

  • 나선을 따라 돌 듯 여러번 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것
  • 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.
  • 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리, 최소화하는 것이 목적이다.
  • 계획 수립, 위험 분석, 개발 및 검증, 고객 평가의 순으로 개발된다.
    • 계획, 분석, 개발, 평가 순서

애자일 모형

  • 애자일은 민첩한, 기민한 이란 의미임.
  • 고객의 요구사항 변화에 유연하게 대응할 수 있는 개발 과정
  • 일정한 주기를 반복하면서 개발과정을 진행한다.
    • 특정 개발방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.
    • 고객의 요구사항에 우선순위를 부여하여 개발 작업을 진행한다.
    • 스크럼, XP, 칸반, Lean, 크리스탈, ASD, 기능 중심 개발, DSDM, DAD 등이 있다.

애자일개발 4가지 핵심 가치

  • 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
  • 방대한 문서보다 실행되는 SW에 가치를 둔다.
  • 계약 협상보다는 고객과의 협업에 더 가치를 둔다.
  • 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.

폭포수 모형과 애자일의 비교

구분 폭포수 모형 애자일 모형
새로운 요구 사항 반영 어려움 지속적으로 반영
고객과의 의사소통 적음 지속적임
테스트 마지막에 모든 기능을 테스트 반복되는 일정 주기가 끝날 때마다 테스트
개발 중심 계획, 문서(메뉴얼) 고객

다음은 스크럼 기법에 대해 알아보겠다.
섹션이 125가지가 있다.
7월 9일이 시험이니 최대한 빠르게 정리하는걸 목표로 해야겠다.

출처 : 2022 시나공 기본서 1권 정보처리기사 필기

profile
비전공자 개발초보입니다!

0개의 댓글