본문 바로가기

전공/소프트웨어공학

소프트웨어 프로세스

소프트웨어 프로세스란? 

: 소프트웨어 시스템을 개발하는데 필요한 활동들의 구조화된 집합

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