leesangwon0114

I am Research Engineer. Currently working in KT.

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

15 Aug 2017 » codecomplete

1.1 [소프트웨어 구현(Construction)]

구현 - 코드작성과 디버깅을 중심으로 이뤄지며, 상세설계, 단위테스트, 통합테스트를 비롯한 여러활동 포함

= 코드작성 X, 프로그래밍 O
why? 기계적인 작업 뿐만 아니라 창의성 + 판단력도 필요!

1.2 [구현이 중요한 이유]

소프트웨어 품질과 개발자 생산성을 향상하는 것은 당연히 중요!
구현의 품질은 소프트웨어의 품질에 많은 영향을 준다.

  • 구현은 소프트웨어 개발에서 큰 비중차이(30% ~ 80)
  • 구현은 소프트웨어 개발과정에서 중심적인활동(요구사항분석, 설계 -> 구현 -> 시스템 테스트)
  • 구현에 집중함으로써 프로그래머의 생산성을 크게 향상
    • 색만, 에릭슨, 그랜트의 연구에 따르면 프로그래머 개인의 생산성은 구현동안 10 ~ 20배 차이 존재
  • 구현의 결과물인 소스코드만이 소프트웨어를 정확하게 설명
    • 요구명세와 설계 문서는 최신정보 반영x, 소스코드는 항상 최신 내용
  • 구현은 반드시 해야하는 유일한 활동

결국, 구현 방법을 얼마나 잘 이해하느냐가 얼마나 훌륭한 프로그래머인지를 결정