Pink Transparent Star

이외 개발 스터디/정보처리기사

[ 정보처리기사 ] 1과목 - 소프트웨어 생명 주기

채유나 2024. 3. 8. 16:56
728x90

1과목 소프트웨어 설계

소프트웨어 생명주기(Software Life Cycle)

 : 개발과 유지보수 등에 필요한 작업들의 과정을 체계적으로 정리한 개발 방법론의 바탕

 : 비용, 자원을 예측하여 단계별로 나눈 것

 : 각 단계에 따라 활동, 결과에 대한 산출물로 표현

 

소프트웨어 생명주기를 사용하는 이유

🔸 비용과 개발 계획을 잡는 골격을 짤 수 있다.

🔸 용어와 기술의 표준화

🔸관리에 용의

 

대표적인 생명 주기 모형

🔸폭포수형 모형

🔸 프로토타입 모형

🔸 나선형 모형

🔸 애자일

 

생명 주기 모형

폭포수 모형(Waterfall Model)

: 이전 단계로 돌아갈 수 없다는 전제를 깔아 둔 뒤 각 단계를 확실하게 진행하여 마친 후 다음 단계로 진행하는 과정

 

◽1970년대의 모형으로 가장 오래되곡 폭넓게 사용된 전통적인 모델( 고전적 생명 주기 모형 ) 

◽각 단계를 마친 후 다음 단계를 위한 결과물이 명확해야함 ( 2개 이상의 과정을 병행 불가능)

◽새로운 요구사항을 받아드리기 어렵다

개발 완료 후 발견 된 오류는 수정이 불가능하여 메뉴얼 작성이 필요

◽사용자의 요구사항이 명확 할 때 사용

 

순서

🔻계획

🔻요구분석

🔻설계

🔻수현

🔻테스트

🔻 유지보수

 

프로토타입 모형(Prototype Model)

: 사용자의 요구사항을 명확히 파악하기 위한 모델, 개발 초기 시스템 모형(원형, prototype)을 간단하게 만들어 최종 완성될 결과물을 사용자에게 보여줌

 

◽폭포수 모델의 단점을 보완하기 위한 모델(개발 완료 후 오류가 발생 했을 경우)

◽사용자의 요구사항이 명확하지 않을 때 사용

◽인터페이스 중심으로 개발

변경 사항에 변경이 용의

◽변경 사항이 추가 될 수록 비용. 시간이 추가됨

 

순서

🔻  요구분석

🔻  프로토타입 설계

🔻  프로토타입 개발

🔻  고객 평가

 

나선형 모델(Spiral Model)

: 고객과의 소통을 통하여 복잡해지고 있는 소프트웨어 개발 환경에 위험 요소를 분석하고 해결할 수 있도록 지원하는 모델

 

여러 번의 개발과정을 거쳐 점진적으로 결과를 완성

◽개발 중 발생하는 위험을 관리하고 최소화 하는 것이 목적

◽고객의 요구사항을 모으고 재정할 수 있음

◽비용이 많이 들고 기간이 길다

◽대규모 프로젝트에 적합한 모델

 

순서 ( 4 단계 반복 진행 )

🔻 계획수립

🔻 위험분석

🔻 개발 : 위험 분석의 요소를 해결해 나가며 개발

🔻 고객평가

 

 

애자일 모델(Agile Model)

: Agile(민첩함, 기민한)  고객과의 소통을 하여 요구 사항에 유연하게 대응하는 것에 초점을 맞춘 방법론

 

고객의 소통에 초점을 맞춘 방법론 ( 소통을 매우 중시하는 방법론 )

개발 주기는 고객의 요구사항의 우선순위를 부여하여 개발 작업을 진행

 소규모 프로젝트에 적합

 

종류

▪ 스크럼

▪ 익스트림 프로그래밍(XP)

▪ 적응형 소프트웨어 개발 방법론

▪ 린 소프트웨어 개발 방법론

▪ 크리스털 패밀리

▪ 기능 주도 개발 방법론

동적 시스템 개발 방법론

애자일 UP

 

* 애자일과 폭포수 모델을 비교하는 문제가 자주 나옴

728x90