소프트웨어 공학(SE; Software Engineering)
- 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
- 여러가지 방법론과 도구, 관리 기법들을 통해 소프트웨어의 품질과 생산성 향상이 목적
소프트웨어 생명주기(Software Life Cycle)?
- 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것
폭포수 모형(Waterfall Model)
- 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭 짓고 그 결과를 철저하게 검토하여 승인과정을 거친 후 다음 단계를 진행하는 개발 방법론
- 가장 오래되고 폭넓게 사용된 전통적인 소프트웨어 생명주기모델으로 고전적 생명주기 모형이라고도 함
- 모형을 적용한 경험과 성공사례가 많음
- 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 함
프로토타입 모형(Prototype Model, 원형 모형)
- 실제 개발될 소프트웨어에 대한 견본품(prototype)을 만들어 최종 결과물을 예측하는 모형
- 견본품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발
나선형 모형(Spiral Model, 점진적 모형)
- 나선을 따라 돌듯 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트 웨어를 개발 하는 모형 by 보헴
- 폭포수모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형
- 유지보수 과정이 필요 없음
- 계획수립 >> 위험분석 >> 개발 및 검증 >> 고객평가의 4가지 주요활동으로 이루어짐
애자일 모형(Agile Model)
- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하며 개발
- 고객과의 소통에 초점을 맞춘 방법론
- 기업활동 전반에 사용
- 대표적 개발 모형
- 스크럼(Scrum)
- XP(eXtreme Programming)
- 칸반(Kanban)
- Lean
- 기능 중심 개발(FDD; Feature Driven Development)
- 애자일 개발 4가지 핵심 가치
- 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다
- 방대한 문서보다는 실행되는 SW에 더 가치를 둔다
- 계약 협상보다는 고객과 협업에 더 가치를 둔다
- 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다
'개발 > Install, setting, etc' 카테고리의 다른 글
[플랫폼] Firebase(파이어베이스) (1) | 2022.08.29 |
---|---|
[API] REST vs Websokets (0) | 2022.08.27 |
[Git] git clone 하기 (0) | 2022.08.21 |
서버사이드 환경셋팅 [node.js , express.js, Mongo DB] (0) | 2022.08.17 |
[git] 깃 branch 내용 병합하기 (0) | 2022.06.28 |