1과목 소프트웨어 설계
소프트웨어 생명주기(Software Life Cycle)
: 개발과 유지보수 등에 필요한 작업들의 과정을 체계적으로 정리한 개발 방법론의 바탕
: 비용, 자원을 예측하여 단계별로 나눈 것
: 각 단계에 따라 활동, 결과에 대한 산출물로 표현
소프트웨어 생명주기를 사용하는 이유
🔸 비용과 개발 계획을 잡는 골격을 짤 수 있다.
🔸 용어와 기술의 표준화
🔸관리에 용의
대표적인 생명 주기 모형
🔸폭포수형 모형
🔸 프로토타입 모형
🔸 나선형 모형
🔸 애자일
생명 주기 모형
폭포수 모형(Waterfall Model)
: 이전 단계로 돌아갈 수 없다는 전제를 깔아 둔 뒤 각 단계를 확실하게 진행하여 마친 후 다음 단계로 진행하는 과정
◽1970년대의 모형으로 가장 오래되곡 폭넓게 사용된 전통적인 모델( 고전적 생명 주기 모형 )
◽각 단계를 마친 후 다음 단계를 위한 결과물이 명확해야함 ( 2개 이상의 과정을 병행 불가능)
◽새로운 요구사항을 받아드리기 어렵다
◽개발 완료 후 발견 된 오류는 수정이 불가능하여 메뉴얼 작성이 필요
◽사용자의 요구사항이 명확 할 때 사용
순서
🔻계획
🔻요구분석
🔻설계
🔻수현
🔻테스트
🔻 유지보수
프로토타입 모형(Prototype Model)
: 사용자의 요구사항을 명확히 파악하기 위한 모델, 개발 초기 시스템 모형(원형, prototype)을 간단하게 만들어 최종 완성될 결과물을 사용자에게 보여줌
◽폭포수 모델의 단점을 보완하기 위한 모델(개발 완료 후 오류가 발생 했을 경우)
◽사용자의 요구사항이 명확하지 않을 때 사용
◽인터페이스 중심으로 개발
◽변경 사항에 변경이 용의함
◽변경 사항이 추가 될 수록 비용. 시간이 추가됨
순서
🔻 요구분석
🔻 프로토타입 설계
🔻 프로토타입 개발
🔻 고객 평가
나선형 모델(Spiral Model)
: 고객과의 소통을 통하여 복잡해지고 있는 소프트웨어 개발 환경에 위험 요소를 분석하고 해결할 수 있도록 지원하는 모델
◽여러 번의 개발과정을 거쳐 점진적으로 결과를 완성
◽개발 중 발생하는 위험을 관리하고 최소화 하는 것이 목적
◽고객의 요구사항을 모으고 재정할 수 있음
◽비용이 많이 들고 기간이 길다
◽대규모 프로젝트에 적합한 모델
순서 ( 4 단계 반복 진행 )
🔻 계획수립
🔻 위험분석
🔻 개발 : 위험 분석의 요소를 해결해 나가며 개발
🔻 고객평가
애자일 모델(Agile Model)
: Agile(민첩함, 기민한) 고객과의 소통을 하여 요구 사항에 유연하게 대응하는 것에 초점을 맞춘 방법론
◽ 고객의 소통에 초점을 맞춘 방법론 ( 소통을 매우 중시하는 방법론 )
◽ 개발 주기는 고객의 요구사항의 우선순위를 부여하여 개발 작업을 진행
◽ 소규모 프로젝트에 적합
종류
▪ 스크럼
▪ 익스트림 프로그래밍(XP)
▪ 적응형 소프트웨어 개발 방법론
▪ 린 소프트웨어 개발 방법론
▪ 크리스털 패밀리
▪ 기능 주도 개발 방법론
▪ 동적 시스템 개발 방법론
▪ 애자일 UP
* 애자일과 폭포수 모델을 비교하는 문제가 자주 나옴
'이외 개발 스터디 > 정보처리기사' 카테고리의 다른 글
[ 정보처리기사 ] 1과목 - 화면설계 3 (사용자 인터페이스(UI)) (0) | 2024.03.15 |
---|---|
[ 정보처리기사 ] 1과목 - 화면설계 2 (사용자 인터페이스(UI)) (1) | 2024.03.14 |
[ 정보처리기사 ] 1과목 - 화면설계 (사용자 인터페이스(UI)) (0) | 2024.03.13 |
[ 정보처리기사 ] 1과목 - 요구사항 관리 (0) | 2024.03.13 |
[ 자격증 ] 정보처리기사 공부 내용 정리 (0) | 2024.03.08 |