소프트웨어 생명주기 모델(SDLC)
Software Development Life Cycle
소프트웨어 생명주기는 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
소프트웨어 생명주기 모델(SDLC) 프로세스
1. 요구사항 분석 : 요구와 조건 결정, 정의하는 단계
기능 요구사항, 비기능 요구사항
2. 설계 : 정의한 기능을 수행할 수 있도록 수행 방법을 논리적으로 결정
시스템 구조설계, 프로그램 설계, 사용자 인터페이스 설계
3. 구현 : 프로그래밍 언어 선택, 실제 프로그램 작성
인터페이스 개발, 자료구조 개발, 오류 처리
4. 테스트 : 정해진 기능 수행 여부 검사 평가
단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
5. 유지보수 : 시스템 설치 후 모든 활동
예방, 완전, 교정, 적응, 유지보수
소프트웨어 생명주기 모델(SDLC) 모델 종류
폭포수 모델(Waterfall Model)
절차도 : (타당성검토) - (계획) - 요구사항 분석 - 설계 - 구현 - 테스트 - (유지보수)
특징, 장점 : 고전적, 순차적, 이해 용이, 관리 편리
단점 : 요구사항변경 어려움
프로토타이핑 모델(Prototyping Model)
절차도 : 요구사항 분석 - 프로토타입 개발 - 프로토타입 평가 - (요구사항 분석으로 되돌아갈 수 있음) - 구현 - 테스트
특징, 장점 : 고객 피드백 반영, 공동의 참조 모델, 요구분석 용이, 타당성 검증 가능
단점 : 프로토타입 폐기에 따른 비용 증가
나선형 모델(Spiral Model)
절차도 : 계획 및 정의 - 위험분석 - 개발 - 고객평가 - (계획 및 정의로 되돌아갈 수 있음)
특징, 장점 : 위험분석, 반복개발, 위험최소화, 점진적
단점 : 단계 반복에 따른 관리 어려움
반복적 모델 (Iteration Model)
절차도 : (병행)개발대상 - 분석 - 설계 - 구현
특징, 장점 : 증분방식, 병행개발, 반복개발, 일정단축
단점 : 병행개발에 따른 관리 비용 증가
소프트웨어 개발 방법론(Software Development Methodology)
소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법
소프트웨어 개발 방법론(Software Development Methodology) 종류
구조적 방법론(Structured Development)
전체 시스템을 기능에 따라 나누어 개발, 통합, 분할과 정복 접근방식, 프로세스 중심 하향식 방법론
나씨 슈나이더만(Nassi-Shneiderman) 차트 : 도형식 표현 방법
정보공학방법론(Information Engineering Development)
정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론, 대형 프로젝트 수행
객체지향방법론(Object-Oriented Development)
객체를 기본단위로 시스템 분석 및 설계, 객체, 클래스, 메시지 이용
컴포넌트기반 방법론(Component Based Development)
컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성, 개발기간 단축, 생산성향상, 확장성, 재사용가능
절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론
제품 계열 방법론(Product Line Development)
공통 기능을 정의 개발, 임베디드 소프트웨어 작성, 영역공학, 응용공학
영역공학 : 분석, 설계, 핵심 자산 구현
응용공학 : 제품 요구분석, 제품 설계, 구현
애자일 방법론, 객체 지향 방법론 시험 출제!
'정보처리기사' 카테고리의 다른 글
객체 지향(Object Oriented) 분석 방법론 (0) | 2023.06.10 |
---|---|
애자일(Agile) (0) | 2023.06.10 |
정보처리기사 실기용어 (요구사항 확인) (0) | 2023.06.10 |
정보처리기사 실기 공부 시작 (0) | 2023.06.10 |
공부계획 - 2회독 실제 (0) | 2023.03.15 |