소프트웨어 프로세스란?
: 소프트웨어 시스템을 개발하는데 필요한 활동들의 구조화된 집합
1. 명세화(Specification)
2. 설계(Design)
3. 확인(Validation)
4. 진화(Evolution) 등
소프트웨어 명세화(Specification)
: 어떤 서비스가 필요하고, 시스템의 동작과 개발에 대한 제한사항을 설립하는 과정
소프트웨어 설계 및 구현
: 명세서 -> 프로그램 변환 과정
: 설계 - 명세서를 실현하는 소프트웨어 구조 설계
: 구현 - 실행 가능한 프로그램으로 변환
소프트웨어 확인
: 검증과 확인(Verification & vaildation)이란 시스템이 명세서에 적합한지, 고객의 요구사항을 만족하는지 보이는 것
: 검사, 검토, 시스템 테스팅 포함
알파테스트 : 회사에서 시행하는 테스트
베타테스트 : 사용자에게 시행하는 테스트
소프트웨어 진화
: 소프트웨어는 비즈니스 환경 변화에 따라 요구사항이 변화하고, 이에 따라 소프트웨어도 진화한다.
소프트웨어 프로세스 모델이란?
: 공정에 대한 추상적인 표현, 프로세스에 대한 설명을 나타냄
프로세스 모델 종류
1. 폭포수(waterfall) 모델
: 명세화, 개발이 독립적이고 구분되는 단계
: 프로세스가 지나간 후 변경사항을 수용하기 어렵다는 단점이 있음
: 따라서 고객의 요구사항에 실시간으로 대응하는 것이 어려우므로, 요구사항이 잘 정의 되었을 경우 유용
2. 진화적 개발
: 명세화와 개발이 섞여있음
: 프로젝트의 가시성이 부족하며, 종종 시스템의 구조가 나쁘게 됨
3. 정형적 개발
: 수학적인 시스템 모델이 구현으로 공식적으로 변환됨
: 실수가 허용되지 않는 시스템에 주로 사용됨
: 전문적인 기술이 필요함
4. 재사용 기반 기발
: 시스템이 기존 컴포턴트들로부터 조립됨.
프로세스 반복
: 프로젝트가 진행하는 동안 시스템 요구사항은 계속 진호하며, 이를 위해 초기 단계를 계속 반복함
: 점진적(Incremental) 개발, 나선형(Spiral) 개발 2가지의 접근법 존재
점진적(Incremental) 개발
: 시스템을 여러 개로 쪼개서 개발
: 사용자의 요구사항들을 우선순위를 매겨 중요한 요구사항부터 처리
나선형(Spiral) 개발
: 여러 번 위험(Risk)를 측정하는 단계를 거치며, 각 활동을 여러 번 반복
CASE
: 소프트웨어 개발 및 진화 프로세스를 지원하는 소프트웨어
'전공 > 소프트웨어공학' 카테고리의 다른 글
시스템 모델 (0) | 2021.11.09 |
---|---|
요구 공학 프로세스 (0) | 2021.10.16 |
요구 사항과 설계 (0) | 2021.10.16 |
소프트웨어 요구사항 (0) | 2021.10.05 |
소프트웨어 프로젝트 관리 (0) | 2021.10.05 |