Skip to content

Latest commit

 

History

History
70 lines (50 loc) · 2.88 KB

swlc.md

File metadata and controls

70 lines (50 loc) · 2.88 KB

Software Development Life Cycle

: 소프트웨어를 체계적으로 개발하고 관리하기 위해서 개발 과정을 단계별로 나누어 구분한것이다.

모든 일에는 단계적인 계획이 필요하다. 배우거나 기획하거나 만들 때 차근차근 쌓아가야 안정적이다.

소프트웨어 생명주기

1. 요구 분석

개발할 소프트웨어의 기능과 제약조건, 목표 등을 명확히 정의한다.

  • 문제를 분석하는 단계
  • 개발할 소프트웨어의 성격을 이해하고 개발 방법과 필요한 개발 자원이나 예산을 측정한다.

2. 시스템 명세

시스템이 어떻게 동작하는지 정의

  • 입력 자료나 처리 내용, 생성되는 출력이 무엇인지 정의하는 단계.

3. 설계

명세 단계 (2단계)에서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정하는 단계.

  1. 시스템 구조 설계
    시스템을 구성하는 내부 프로그램이나 모듈간의 관계와 구조를 설계

  2. 프로그램 설계
    : 프로그램 내의 각 모듈에서의 처리 절차나 알고리즘을 설계.

  3. 사용자 인터페이스 설계
    : 시스템을 사용하는 사용자에게 보여지는 프로그램을 설계.

4. 구현 또는 개발

: 프로그래밍 언어를 사용하여 실제로 프로그램을 작성하는 단계

  1. 구조화 프로그래밍
    : 지정문, 조건문, 반복문만 사용하여 3가지 제어 구조로 표현
  2. 모듈러 프로그래밍
    : 프로그램은 여러 개의 작은 모듈로 나누어 계층 관계를 갖도록 구성

5. 테스트

개발한 프로그램을 테스트 하는 단계

  1. 단위 테스트
    : 시스템의 최소 구성 요소가 되는 모듈에 대해서 개별적으로 시행

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

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

6. 유지 보수

시스템이 인수되고 설치된 후, 일어나는 모든 활동

소프트웨어 생명 주기 단계에서 가장 오래 걸린다.

  1. 수정형 유지 보수
    : 사용중 발견한 프로그램의 오류 수정 작업

  2. 적응형 유지 보수
    : 시스템과 관련한 환경적 변화에 적응하기 위한 재조정 작업

  3. 완전형 유지 보수
    : 시스템의 성능을 향상 시키기 위한 개선 작업

  4. 예방형 유지 보수
    : 앞으로 발생할지 모를 변경사항을 수용하기 위한 대비 작업