프로그래머스 데브코스
[클라우딩 어플리케이션 엔지니어링 TIL] 5. 소프트웨어 공학
모든 것을 처음 시작하는 초짜 개발자
2024. 4. 17. 23:15
1.학습 주제
- 소프트웨어 공학 정의와 중요한 이유
- 소프트웨어 개발방법론
2.주요 메모 사항 소개
- 소프트웨어 공학 정의와 중요한 이유
- 정의: 소프트웨어를 제품화함에 있어서 적용할 수 있는 품질보증 및 개선 활동을 규정하는 프로세스
- 중요한 이유: 소프트웨어의 결함은 인명의 손실이나 비지니스에 큰 타격을 줄 수 있음
- 품질 보증이 어려운 이유
- 검증을 위한 프로토타입의 제작과 양산 단계 구별 어려움
- 코드의 변경과 개선이 끊임없이 일어남
- 잦고 유연한 릴리스 때문에 통제된 공정을 적용하기 어려움
- 개발 조직의 역량 평가 모델: CMMI(Capability Maturity Model Integrated), SPICE(Software Process Improvement and Capability dEtermination)
- 소프트웨어 개발방법론
- 시스템을 개발하기 위한 방법
- 폭포수(waterfall)모델
- 가장 단순하면서도 고전적인 모델
- 단계별로 서술하지만 이전 단계로 돌아가는 "loopback"을 적극 채택
- 애자일(agile) 모델
- 애자일(Agile=기민한, 좋은것을 빠르고 낭비없게 만드는 것) 개발을 가능하게 해 주는 다양한 방법론 전체를 일컫는 말
- 대표적으로인 모델로 스크럼(Scrum)이 존재
- 짝 프로그래밍(Pair Programming) : 하나의 워크스테이션에서 둘이서 개발
- 코드 리뷰(Code Review): 개발자가 작성한 코드를 다른 개발자가 정해진 방법을 통하여 검토
- 코드 인스펙션(Code Inspection)
3. 공부하며 느낀점
굉장히 많은 소프트웨어 개발방법론에 대하여 배웠다. 스크럼이 도움이 될까 생각했는데 효과가 크다고 하니 좀 놀라웠다.
4.출처
[1]https://commons.wikimedia.org/wiki/File:Waterfall_model.svg
File:Waterfall model.svg - Wikimedia Commons
commons.wikimedia.org