////
Search
Duplicate

1. 소프트웨어 구현으로의 초대

소프트웨어 개발에서 construction이라는 용어는 구현이라고 한다.
개발에서의 구현 과정에서는 계획과 설계, 작업 내용 확인 등이 포함되지만 대개 구현이라고 하면 무언가를 만드는 작업을 의미한다.

1. 소프트웨어 구현이란 무엇인가?

컴퓨터 소프트웨어 개발 과정에는 다음과 같은 수많은 활동들이 존재한다.
문제 정의, 요구사항 개발, 구현 계획 수립, 소프트웨어 아키텍처 또는 고급 수준 설계, 상세 설계
구현은 코드를 작성하고 디버깅하는 것이라고 일반적으로 받아들여지지만 그와 더불어 상세 설계, 구현 계획 수립, 단위 테스트 등을 비롯한 다른 활동들도 포함된다.
이 책에서 의미하는 구현은 프로그래밍과 같다. 구체적인 구현 활동은 다음이 있겠다.
성공적인 구현 활동을 위한 기초 작업 검증, 코드에 대한 테스트 방법 결정, 클래스 및 루틴 설계와 작성

2. 소프트웨어 구현이 중요한 이유는 무엇인가?

구현은 소프트웨어 개발에서 큰 비중을 차지한다.
프로젝트의 크기에 따라 일반적으로 구현은 전체 프로젝트 기간의 30%에서 80%를 차지한다. 따라서 중요하다.
구현은 소프트웨어 개발 과정에서 중심적인 활동이다.
요구사항 분석과 설계는 효과적인 구현을 위해 구현보다 앞서 이뤄진다. 시스템 테스트는 구현이 제대로 되었는지 검증하기 위해 구현 후에 수행한다. 구현은 소프트웨어 개발 과정의 중심에 있다.
구현에 집중함으로써 프로그래머의 생산성을 크게 향상할 수 있다.
구현의 결과물인 소스코드만이 소프트웨어를 정확하게 설명하는 경우가 많다.
많은 프로젝트에서 개발자에게 허용된 유일한 문서는 코드 자체다. 요구사항 명세서와 설계 문서는 최신 정보를 반영하지 못할 수 있다.
소스코드는 항상 최신 내용이다. 따라서 소스코드는 항상 최고의 품질을 유지해야 한다.
구현은 반드시 해야 하는 유일한 활동이다.
이상적인 프로젝트는 구현을 시작하기 전 요구사항을 정의하고 아키텍처를 설계한다.
이상적인 프로젝트는 구현을 끝내고난 후 통계를 기반으로 한 포괄적인 시스템 테스트를 거친다.
하지만 위 둘은 생략이 가능하다. 프로젝트에서 생략이 불가능한 것은 구현이다.

3. 이 책을 읽는 방법

통독도 원하는 것만 읽는 것도 좋다.

요점 정리

소프트웨어 구현은 소프트웨어 개발 과정의 중심적인 활동이다. 그리고 구현은 모든 프로젝트에서 반드시 수행해야 하는 유일한 활동이다.
구현 과정의 주요 활동은 상세 설계, 코드 작성, 디버깅, 통합, 개발자 테스트(단위 테스트, 통합 테스트)다.
구현은 흔히 코드 작성 또는 프로그래밍이라고 한다.
구현 품질은 소프트웨어 품질에 많은 영향을 준다.
결국 구현 방법을 얼마나 잘 이해하느냐가 얼마나 훌륭한 프로그래머인지를 결정하고 이 책의 나머지 내용도 그에 대한 것이다.