book_lover 2024. 3. 14. 09:37

소프트웨어 생명 주기

  • 소프트웨어를 개발하기 위한 과정을 각 단계 별로 나눈 것
  • 소프트웨어 개발 단계와 각 단계별 주요활동, 결과에 대한 산출물로 표현함
  • 대표적인 생명 주기 모형
    • 폭포수 모형
    • 프로토타입 모형
    • 나선형 모형
    • 애자일 모형

폭포수 모형(Waterfall Model)

이전 단계로 돌아갈 수 없다

  • 각 단계를 확실하게 매듭짓고 그 결과를 철저하게 검토하고 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론
  • 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형
  • 고전적 생명 주기 모형이라고도함
  • 모형을 적용한 경험과 성공 사례가 많음
  • 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출 되어야 함
  • 선형이다 - 순차적이다

https://freemoa-blog.com/930

프로토타입 모형(Prototype Model, 원형 모형)

  • 사용자의 요구사항을 파악하기 위해 실제 개발될 소프트웨어에 대한 "견본품"을 만들어 최종 결과물을 예측하는 모형
  • 견본품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발함

https://sevendollars.tistory.com/42

 

나선형 모델(Spiral Model, 점진적 모형)

  • 나선형 모형은 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
  • 보헴이 제안하였음
  • 폭포수 모형과 프로토 타입 모형의 장점에 "위험 분석" 기능을 추가한 모형
  • 누락되거나 추가된 요구사항을 첨가할 수 있음
  • 유지보수 과정이 필요 없음

https://itproda.tistory.com/85

애자일 모델 (Agile Model)

  • '민첩한', '기민한'이라는 의미로, 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
  • 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭
  • 폭포수 모형과 대조적임
  • 기업 활동 전반에 걸쳐 사용됨
  • 대표적인 개발 모형
    • 스크럼
    • XP
    • 칸반
    • Lean
    • 기능 중심 개발(FDD, Feature Driven Development)

https://post.naver.com/viewer/postView.naver?volumeNo=16807486&memberNo=25828090

 

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

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

소프트웨어 공학

  • 소프트웨어 위기를 극복하기 위한 방안으로 연구된 학문
  • 여러 가지 방법론, 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성 향상을 목적으로 하는 학문
  • 소프트웨어 공학의 기본 원칙
    - 현대적인 프로그래밍 기술을 계속적으로 적용
    - 소프트웨어의 품질이 유지되도록 지속적으로 검증
    - 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지

https://www.youtube.com/watch?v=baJEnXpLei4&list=PLpYNFXUfkvDpQTrvcqsCI4E3JidQ8IYOW