Developer Cafe

2장 소프트웨어 생명주기 본문

자료 구조/자바로 배우는 쉬운 자료구조

2장 소프트웨어 생명주기

개발자 카페 2021. 2. 27. 21:00
728x90

요구분석 > 시스템 명세 > 설계 > 구현 > 테스트 > 유지보수

 

1. 요구분석

- 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계다. 개발 방법과 필요한 자원과 예산을 예측해야 한다. 요구 명세서를 작성하는데, 소프트웨어의 개발 완료 여부를 결정짓는 근거가 되므로 정확하게 작성해야 한다.

 

2. 시스템 명세

- 시스템 기능 명세서를 작성하여 소프트웨어의 입력 데이터는 무엇이며, 입력 데이터로 처리하는 내용과 그 결과 생성되는 출력이 무엇인지 정의한다. 기능 명세서는 개발 과정에서 의견 차이나 오류로 인해서 재개발 작업이나 사용자 불만이 발생하지 않도록 정확하게 작성한다.

 

3. 설계

- 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 논리적으로 결정한다. 기능을 어떻게 해결할 것인지 구체적으로 정의한다. 설계는 시스템 구조 설계와 프로그램 설계, 사용자 인터페이스 설계로 구분할 수 있다. 시스템 구조 설계는 시스템을 구성하는 내부 프로그램이나 모듈 간의 관계와 구조를 설계하고, 프로그램 설계는 프로그램 내의 각 모듈에서의 처리 절차나 알고리즘을 설계한다. 사용자 인터페이스 설계는 시스템을 사용하는 사용자에게 보이는 부분에 대한 설계를 한다. 방법에는 하향식 설계, 상향식 설계가 있다.

 

4. 구현

- 사용할 프로그래밍 언어를 선택하고 프로그래밍 기법 스타일 순서등을 결정한다. 프로그래밍 기법에는 구조화 프로그래밍과 모듈러 프로그래밍이 있다.

 

4-1. 구조화 프로그래밍

- 지정문과 조건문 반복문 만으로 프로그램을 작성함으로써 순차구조, 선택구조, 반복구조로 표현하는 기법이다. 구조가 간단하고 명확하여 정확성 검증이 쉽고, 테스트 유지 보수가 쉽다는 장점이 있다.

 

4-2. 모듈러 프로그래밍

- 프로그램을 여러 개의 작은 모듈로 나누어 계층관계를 갖도록 구성하는 기법이다. 각각 모듈은 구조화 기법으로 작성하고 하나의 기능만을 수행하게 한다. 모듈별 개발과 테스트, 유지 보수가 가능하고 재사용도 가능하다.

 

5. 테스트

- 개발한 시스템이 요구사항을 만족하는지 평가하는 일련의 과정으로 오류를 최대한 찾아내 시스템의 완성도를 높이는 작업이다. 일반적으로 단위 테스트, 통합 테스트, 인수 테스트 3단계로 시행한다.

 

5-1. 단위 테스트

- 모듈 개별적으로 시행하여 요구사항 명세서에 기술된 기능이 제대로 동작하는지 테스트한다

 

5-2. 통합 테스트

- 단위테스트들을 한번에 전체적으로 테스트하는것인데, 바로 통합테스트를 하지않는 이유는 오류 발생시 어디에서 오류가 났는지 구체적으로 찾기 힘들기 때문에 단위테스트를 먼저 거친후 실시한다.

 

5-3. 인수 테스트

- 실제 데이터를 사용해 테스트한다. 개발자 및 관계자가 사용하는 알파 테스트와 제품 사용의사가 있는 고객들로 테스트하는 베타 테스트가 있다.

 

6. 유지보수

- 시스템이 인수되고 설치된 후 일어나는 모든 활동을 포괄적으로 의미한다. 소프트웨어 생명주기에서 가장 긴 시간을 차지한다.

728x90

'자료 구조 > 자바로 배우는 쉬운 자료구조' 카테고리의 다른 글

3장 참조타입  (0) 2021.02.27
3장 자바 플랫폼  (0) 2021.02.27
1장 10진수의 표현  (0) 2021.02.27
1장 2진수 정수 표현  (0) 2021.02.27
1장 자료구조  (0) 2021.02.27
Comments