본문 바로가기
(Pilot) 탑기공/소프트웨어 개발

[탑기공] 02. 소프트웨어 개발 생명주기

by 두음달인 2022. 12. 6.
반응형


정리는 틈틈이 ~


 

소프트웨어 개발 생명주기(SDLC)

 

소프트웨어의 생성에서 소멸까지의 과정을 단계별로 나눈 것으로,
각 단계별 주요활동과 산출물을 통해 프로젝트의 진행방향을 명확하게 파악하고, 
관리를 용이하게 한다.

 

생명주기 활동 구분

 

타당성 검토 - 개발 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 운용 - 유지보수

 

소프트웨어 생명주기 모델 종류

 

V 모델, VP 모델, 점증적 모델, 진화 모델

 

생명주기 모델은 "개폭프나반라" 6개 정도는 알고 있으면 좋습니다.

 

V 모델

 

시스템 요구사항이 모두 식별되고 명확할 때 이상적인 생명주기 모델

특징


- 프로젝트에 적용, 관리하기가 용이하다
- 개발 활동의 시작/종료 조건 및 프로젝트를 효과적으로 관리할 수 있는 척도 등이 명확하게 정의될 수 있다.
- 프로젝트의 검증 및 확인(Verification and Validation)을 강조하는 모델이다. 즉, 요구사항 분석, 설계와 같은 개발 활동과 테스트 활동이 어떻게 연관 관계가 있는지를 잘 설명하고 있으며, 전체 개발 주기 동안 개발 활동과 이에 해당하는 테스트 활동이 병행되어진다.
- 이를 통해 테스트 동안 결함이 발견되었을 경우, 개발 활동의 어느 단계를 재 수행되어야 하는지 알 수 있다.

 

테스트는 단통시인

VP 모델

 

프로토타이핑 : 시스템에 대한 이해 또는 리스크, 불확실성 요소와 같은 이슈를 해결하기 위해 시스템 혹은 시스템의 일부분을 빠르게 개발하는 방법


V 모델에 프로토타이핑(Prototyping) 기법 추가


접근방법 1: 적용 가능한 해결책을 조사하고, 이를 적용해 본다.


접근방법 2: 여러 가지 선택 가능한 해결책을 열거하고, 정해진 기준에 따라 이를 평가한다.

 

점증적 모델과 진화 모델, 그림 중심으로 차이점을 아는 게 중요합니다.

참고 자료의 링크된 블로그 보시길 권고합니다.

 

점증적 모델(Incremental Model)


핵심이 되는 부분을 먼저 개발하여 동작 가능하게 만든 후, 나머지 기능을 구현하는 방식이다.

 

진화 모델(Evolutionary Model)


점증적 모델과는 달리 시스템에 대한 개발 단계가 여러 번 반복된다. 

각 시스템은 사용자에게 모든 기능을 제공한다.
하나의 시스템이 개발되어 사용되면서 변경 사항이 도출되고, 

이 변경사항은 다음 시스템 개발에 반영된다.

 

두음달인

 

2022.06.28 - [정보관리기술사/SW 공학] - 소프트웨어 개발 생명주기 단계 -"타요분설개시유"

 

소프트웨어 개발 생명주기 단계 -"타요분설개시유"

두음 및 연상 스토리 설명 타요분설개시유, 타요분설구테유 또는 타요설계시설유폐 등 다양한 암기법이 존재합니다. 소프트웨어 개발 생명 주기 단계를 표현하는 다양한 관점이 존재하기 때문

peimsam.tistory.com

 

2022.06.29 - [정보관리기술사/SW 공학] - 소프트웨어 생명 주기 모델 - "개폭프나반라"

 

소프트웨어 생명 주기 모델 - "개폭프나반라"

두음 및 연상 스토리 설명 포스팅 할 때 마다, 인터넷 검색하면서 Cross-check를 하긴 하는데, 새로운 정보를 알게 될 때 개인적으로 뿌듯하기도 합니다. 소프트웨어 생명 주기 모델 관련하여, KISA의

peimsam.tistory.com

 

2022.10.09 - [정보관리기술사/SW 공학] - V 모델, 개발 단계에 따른 테스트 - "단통시인"

 

V 모델, 개발 단계에 따른 테스트 - "단통시인"

V 모델, 테스트 단계 단통시인 단위, 통합, 시스템, 인수 테스트 V 모델 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현 V 모델(V-model)은 소프트웨어 개발 프로세스로 폭포수 모델

peimsam.tistory.com

 

기출 문제

 

(응용 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)

 

IT위키

IT에 관한 모든 지식. 함께 만들어가는 깨끗한 위키

itwiki.kr

 

https://devuna.tistory.com/100

 

[소프트웨어 공학] 개발 프로세스-반복진화형 모델/점증진화형 모델

[소프트웨어공학] 개발 프로세스 - 반복진화형 모델/ 점증진화형 증분 모델 /프로토타이핑 소프트웨어 개발 프로세스는 개발 활동들의 절차이며 프로세스 모델은 프로세스의 추상화된 표현이다

devuna.tistory.com

 

증분형 개발 모델과 진화형 개발 모델을 그림을 잘 설명해 놓은 블로그입니다. 추천!!

https://itproda.tistory.com/77

 

Incremental Development Model(증분형 개발모델) vs Evolutional Development Model(진화형 개발모델) 비교분석

I. 지속적인 프로토타입 반복 개발 모형, 증분형 개발 모델의 개요 가. 증분형 개발 모델(Incremental Development Model)의 정의 - 사용자의 요구사항 또는 제품의 일부분을 점증적으로 병행 개발 후 통합

itproda.tistory.com

 

소프트웨어 개발 프로세스 - 나선형 모델과 V 모델 (tistory.com)

 

소프트웨어 개발 프로세스 - 나선형 모델과 V 모델

소프트웨어 개발 프로세스 - 나선형 모델과 V 모델 소프트웨어 개발 프로세스 모델 중 나선형 모델과 V 모델은 각각 반복 진화형 모델과 폭포수 모델의 확장된 형태이다. 1. 나선형 모델(Spiral Model

atoz-develop.tistory.com

 

반응형

댓글