Programming/Data Structure

소프트웨어 생명 주기 6단계

경원구 2015. 11. 29. 11:17

1단계. 요구 분석 단계

문제 분석 단계이며, 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 정의하는 단계
개발할 소프트웨어의 성격을 이해하고 개발 방법과 필요한 개발 자원 및 예산을 측정하고, 요구 사항 명세서도 작성한다.

 

2단계. 시스템 명세 단계

시스템이 무엇을 수행해야 하는가를 정의하는 단계이며, 시스템 기능 명세서를 작성한다.

입력 자료, 처리 내용, 생성되는 출력이 무엇인지를 정의

 

3단계. 설계 단계

시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정

① 시스템 구조 설계
- 시스템을 구성하는 내부 프로그램이나 모듈 간의 관계와 구조 설계
② 프로그램 설계
- 프로그램 내의 각 모듈에서의 처리 절차나 알고리즘을 설계
③ 사용자 인터페이스 설계
- 사용자가 시스템을 사용하기 위해 보여지는 부분 설계

 

설계방법 3가지

- 하향식 설계 방법

각 단계를 내려갈수록 수행 방법을 구체적으로 정의하고 세분화하는 방법. 하위단계로 내려갈수록 구체적인 세부 문제를 정의, 분할 정복이라고도 한다.



- 상향식 설계 방법

최하위 단계에 있는 작은 단위를 먼저 결정하고 좀 더 큰 단위인 상위 단계의 문제를 해결하는 방법.




- 객체지향 설계 방법

상향시 설계 방법과 유사하나 자료와 처리 방법이 하나의 객체로 만들어진다는 차이가 있다.

 

4단계. 구현 단계

프로그래밍 언어를 사용하여 실제로 프로그램으로 작성하는 단계이다.

프로그래밍 언어를 선택해야 하고 프로그래밍 기법과 스타일, 프로그래밍 순서 등을 결정해야 한다.

[프로그래밍 기법 2가지]

① 구조화 프로그래밍 : 지정문, 조건문, 반복문만 사용하여 프로그램을 작성. 순차, 선택, 반복 구조의 3가지 제어 구조로 표현하는 프로그래밍 기법.

 

② 모듈러 프로그래밍 : 프로그램을 여러 개의 작은 모듈로 나누어서 계층 관계를 갖도록 구성.

 

5단계. 테스트 단계

개발한 시스템이 요구사항을 만족하는지, 실행 결과가 예상 결과와 맞는지, 숨어있는 오류는 없는지를 찾아내 완성도를 높이는 단계다.

① 단위 테스트 : 요구 사항 명세서에 있는 기능들을 제대로 수행하는지 테스트

② 통합 테스트 : 단위 테스트를 통과한 모듈을 연결하여 전체 시스템으로 완성하여 통합적으로 시행하는 테스트

- 하향식 테스트 : 최상위 단계의 모듈들을 통합하여 테스트 한 후, 하위 단계로 내려가면서 테스트

- 상향식 테스트 : 최하위 단계의 모듈들을 통합하여 테스트 한 후, 상위 단계로 올라가면서 테스트

③ 인수 테스트 : 완성된 시스템을 인수하기 위해서 실제 자료를 사용한 최종 테스트

 

6. 유지보수 단계

시스템이 인수되고 설치된 후 일어나는 모든 활동이며, 소프트웨어 생명주기에서 가장 긴 기간이다.
[유지보수의 유형]
• 수정형 유지보수 − 사용 중에 발견한 프로그램의 오류 수정 작업
• 적응형 유지보수 − 시스템과 관련한 환경적 변화에 적응하기 위한 재조정 작업
• 완전형 유지보수 − 시스템의 성능을 향상시키기 위한 개선 작업
• 예방형 유지보수 − 앞으로 발생할지 모를 변경 사항을 수용하기 위한 대비 작업

 

소프트웨어의 품질은 정확성, 유지보수성, 무결성, 사용성에 따라 평가된다.

 

 




Copyrightⓒ2014 By 한빛아카데미(주)


LIST