-
-
소프트웨어 개발의 모든 것 - 경영자에서 개발자까지 소프트웨어 회사에서 반드시 알아야 할 핵심 노하우, 완전개정판
김익환.전규현 지음 / 페가수스 / 2010년 6월
평점 :
품절
이 책의 주제를 한 문장으로 말한다면 "소프트웨어를 구현하고 개발할 때 기본과 원칙에 충실해야 한다."입니다.
![](https://image.aladin.co.kr/Community/paper/2019/0603/pimg_7385861632209824.jpg)
뛰어난 기술을 가진 소프트웨어 회사들이 주먹구구식으로 구현하고 개발하고 있는 것이 대부분의 모습입니다. 오랜 시간 소프트웨어 공학은 발전하고 진화를 해왔지만 국내 프로젝트에서는 정해진 일정에 급히 개발하려는 상황이다 보니 기본과 원칙을 무시하고 바로 프로그래밍에 들어가는 것이 일반입니다.
![](https://image.aladin.co.kr/Community/paper/2019/0603/pimg_7385861632209825.jpg)
소프트웨어 프로젝트 팀의 역량 평가표
[소스코드관리시스템]
1. 전사적으로 소스코드관리시스템을 사용하고 있다.
2. 모든 소스코드는 소스코드관리시스템에 저장되어 있다.
3. 개발 마일스톤마다 베이스라인을 설정하고 있다.
4. 소스코드 관리시스템에 체크인 시 메시지를 작성하는 규칙이 있다.
5. 모든 소스코드를 리뷰하고 있다.
6. 자동으로 일일빌드를 하고 있다.
[버그관리시스템]
7. 전자적으로 버그관리시스템을 사용하고 있다.
8. 모든 버그를 버그관리시스템에 등록하고 있다.
9. 모든 직원이 버그관리시스템에 스스로 이슈를 등록한다.
[스펙(요구사항)]
10. 프로젝트의 스펙문서를 가지고 있다.
11. 스펙문서를 모든 관련자가 충분히 리뷰한다.
12. 스펙이 바뀜에 따라 스펙문서가 변경되고 있다.
13. 스펙변경이 통제관리되고 있다.
[일정]
14. 1, 2일 단위의 상세한 일정을 가지고 있다.
15. 일정은 개발자가 직접 산정한다.
16. 일정은 지속적으로 업데이트되고 있다.
[테스트]
17. 별도의 테스트 팀이나 테스터가 있다.
18. 테스트 케이스를 가지고 있다.
19. 프로젝트 리스크관리를 하고 있다.
20. 리스트에 대한 플랜이 있으며 리스크관리계획이 주기적으로 갱신된다.
![](https://image.aladin.co.kr/Community/paper/2019/0603/pimg_7385861632209828.jpg)
소프트웨어공학에서의 전문성 10가지 분야
1. 요구사항 (Requirements)
2. 설계 (Design)
3. 개발 (Development)
4. 테스트 (Test)
5. 유지보수 (Maintenance)
6. 형상관리 (Configuration Management)
7. 공학관리 (Engineering Management)
8. 프로세스 (Process)
9. 공학도구와 방법론 (Engineering Tools and Methods)
10. 품질 (Quality)