소프트웨어 개발 생명주기 6단계 : 계획은 비용, 기간, 위험 분석, 문제 정의(시스템의 목표 및 제약 조건) 등 프로젝트 수행에 필요한 것을 계획한다. 요구 분석은 개발할 소프트웨어의 기능 및 제약 조건, 목표 등을 사용자와 함께 정의한다. 설계는 요구 분석 단계에서 표현한 다이어그램을 가지고 이를 구현할 수 있도록 구체화한다. 즉, 소프트웨어의 구조 및 알고리즘을 설계한다. 구현은 프로그래밍 언어로 실제 프로그램을 작성한다. 프로그래밍 언어 선택, 프로그래밍 기법과 스타일 등을 정한다. 테스트는 개발한 프로그램이 요구사항을 만족하는지, 실행 결과가 예상 결과와 맞는지, 오류는 없는지 등 완성도를 높인다. 유지 보수는 프로그램이 인수되고, 배포 후 일어나는 모든 활동으로, 시스템 결함 수정, 성능 개선..