Page 20 - c언어를 이용한 체험!자료구조 도서 미리보기
P. 20
CHAPTER 1? 프로그래밍 기초와 소프트웨어 공학 7
소프트웨어의 개발 주기는 보통 위와 같은 단계로 구분한다. 이것을 소
프트웨어 생명 주기(Software Life Cycle) 또는 소프트웨어 개발 주기
(Software Development Cycle)라고 한다.
소프트웨어 제작에 소요되는 비용을 사용자 요구 분석 단계에서 유지 보 놀랍다! 보수 단계에 절반 정
수 단계에 이르는 각 단계가 차지하는 비율로 보면, 요구 분석 및 명세 기 도의 비용을 사용한다는 의
술 단계에 약 10%, 설계 단계에 약 10%, 프로그래밍 단계에 약 10%, 테 미이다. 초반의 설계가 얼마
스트 및 디버그 단계에 약 20%, 그리고 유지 보수에 소요되는 비용이 약 나 중요한지를 알 수 있다. 집
50%를 차지한다. 을 지을 때 유지 보수에 드는
우리가 배울 자료 구조는 소프트웨어 설계와 프로그래밍 단계에서 중요 비용이 많아지면 리모델링을
하게 사용되는 분야이다. 하거나 재건축을 하는 것과
같은 이치이다.
1.3? 문제 해결을 위한 프로그래밍의 절차
컴퓨터를 사용하는 주된 목적은 문제 해결이다. 이 문제가 게임 제작일
수도 있고, 웹 애플리케이션 프로그램 제작일 수도 있고, 과학 계산에 필
요한 문제일 수도 있는데, 이와 같은 다양한 문제 해결에 프로그래밍이
사용된다.
혼자서 프로그램을 만들 때는 어떤 개발 방법을 사용해도 된다. 그러나,
문제의 크기가 커지면 혼자가 아니라 여러 명이 같이 개발 프로젝트에 투
입되기도 하고, 몇 년의 개발 기간이 소요되는 아주 큰 프로그램을 작성
하기도 한다. 이렇게 프로그램의 규모가 커질수록 조금 더 체계적인 프로
그래밍 기법이 필요하고, 거기에는 자료 구조와 알고리즘이 필수적인 역
할을 한다.
아래는 어떤 문제를 컴퓨터로 해결하기 위해서 프로그램을 작성하는 경우 이러한 절차는 비단 컴퓨터 프
의 절차를 설명한다. 로그래밍을 위한 절차라기 보
다는 일반적인 문제 해결의
방법이라고 보는 것이 더 정
확하다.