정리는 틈틈이 ~
소프트웨어 개발 생명주기(SDLC)
소프트웨어의 생성에서 소멸까지의 과정을 단계별로 나눈 것으로,
각 단계별 주요활동과 산출물을 통해 프로젝트의 진행방향을 명확하게 파악하고,
관리를 용이하게 한다.
생명주기 활동 구분
타당성 검토 - 개발 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 운용 - 유지보수
소프트웨어 생명주기 모델 종류
V 모델, VP 모델, 점증적 모델, 진화 모델
생명주기 모델은 "개폭프나반라" 6개 정도는 알고 있으면 좋습니다.
V 모델
시스템 요구사항이 모두 식별되고 명확할 때 이상적인 생명주기 모델
특징
- 프로젝트에 적용, 관리하기가 용이하다
- 개발 활동의 시작/종료 조건 및 프로젝트를 효과적으로 관리할 수 있는 척도 등이 명확하게 정의될 수 있다.
- 프로젝트의 검증 및 확인(Verification and Validation)을 강조하는 모델이다. 즉, 요구사항 분석, 설계와 같은 개발 활동과 테스트 활동이 어떻게 연관 관계가 있는지를 잘 설명하고 있으며, 전체 개발 주기 동안 개발 활동과 이에 해당하는 테스트 활동이 병행되어진다.
- 이를 통해 테스트 동안 결함이 발견되었을 경우, 개발 활동의 어느 단계를 재 수행되어야 하는지 알 수 있다.
테스트는 단통시인
VP 모델
프로토타이핑 : 시스템에 대한 이해 또는 리스크, 불확실성 요소와 같은 이슈를 해결하기 위해 시스템 혹은 시스템의 일부분을 빠르게 개발하는 방법
V 모델에 프로토타이핑(Prototyping) 기법 추가
접근방법 1: 적용 가능한 해결책을 조사하고, 이를 적용해 본다.
접근방법 2: 여러 가지 선택 가능한 해결책을 열거하고, 정해진 기준에 따라 이를 평가한다.
점증적 모델과 진화 모델, 그림 중심으로 차이점을 아는 게 중요합니다.
참고 자료의 링크된 블로그 보시길 권고합니다.
점증적 모델(Incremental Model)
핵심이 되는 부분을 먼저 개발하여 동작 가능하게 만든 후, 나머지 기능을 구현하는 방식이다.
진화 모델(Evolutionary Model)
점증적 모델과는 달리 시스템에 대한 개발 단계가 여러 번 반복된다.
각 시스템은 사용자에게 모든 기능을 제공한다.
하나의 시스템이 개발되어 사용되면서 변경 사항이 도출되고,
이 변경사항은 다음 시스템 개발에 반영된다.
두음달인
2022.06.28 - [정보관리기술사/SW 공학] - 소프트웨어 개발 생명주기 단계 -"타요분설개시유"
2022.06.29 - [정보관리기술사/SW 공학] - 소프트웨어 생명 주기 모델 - "개폭프나반라"
2022.10.09 - [정보관리기술사/SW 공학] - V 모델, 개발 단계에 따른 테스트 - "단통시인"
기출 문제
(응용 89-2-2)
소프트웨어 개발 생명주기(Software Development Life Cycle) 공정(Process)을 설정하고
설정한 소프트웨어 개발 생명주기 공정에 따른 모든 산출물(Design Output)의 종류에 대하여 정의한 후 각각의 산출물에 포함시켜야 할 주요 내용들을 설명하시오.
(관리 105-1-5)
반복 점증적 개발 방법과 폭포수형 개발 방법을 비교하여 설명하시오.
(응용 120-3-4)
머신러닝(Machine Learning)의 학습 방법은 크게 3가지[지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)]로 분류한다.
인공지능 소프트웨어 개발 프로세스를 V 모델 기준으로 도식화하고 관련 기술의 최신 동향 및 안전 취약성을 설명하시오.
참고 자료
탑싯 에센스 - 소프트웨어 개발
소프트웨어 개발 생명주기 - IT위키 (itwiki.kr)
https://devuna.tistory.com/100
증분형 개발 모델과 진화형 개발 모델을 그림을 잘 설명해 놓은 블로그입니다. 추천!!
https://itproda.tistory.com/77
소프트웨어 개발 프로세스 - 나선형 모델과 V 모델 (tistory.com)
'(Pilot) 탑기공 > 소프트웨어 개발' 카테고리의 다른 글
[탑기공] 역공학 (0) | 2022.12.14 |
---|---|
[탑기공] 소프트웨어 재사용 (0) | 2022.12.13 |
[탑기공] 04. 애자일 개발 방법론 (0) | 2022.12.12 |
[탑기공] 03. 소프트웨어 개발 방법론 (0) | 2022.12.07 |
[탑기공] 01. 소프트웨어 공학의 배경과 목적 (0) | 2022.12.06 |
댓글