본문 바로가기

소프트웨어4

[5부 프로세스의 일부] Chapter19 규격화하기 소프트웨어 규격서 작성하기 소프트웨어 규격서(specification): 프로그램이 어떻게 설계되고 구축될 것인지를 정의 규격서란 무엇인가? 우리가 더 영리하게 일을 하게 만들고, 더 나은 소프트웨어를 만들 수 있게 도와준다 규격서는 팀 내에서의 그리고 팀 사이에서의 의사소통의 한 형태이다 더 안전하고 손실되거나, 잊혀지거나, 잘못 기억될 가능성이 없어진다 접근하기 쉽고 모든 정보가 알려진 위치에 기록되기 때문에 편리하다 더 정확하게 규격서의 유형 여러 가지 유형의 규격서는 소프트웨어 프로세스의 중간에서 각각 관문을 형성한다 요구 규격서 소프트웨어 개발 프로세스가 완전히 붕괴되고, 다른 모든 규격서들이 사라져 버리더라도 당신은 이 문서를 끝까지 사수해야 한다 소프트웨어가 해야 할 일이 무엇인지, 기준에 .. 2017. 11. 28.
[3부 코드의 모습] Chapter15 소프트웨어의 진화 또는 혁명? 소프트웨어의 부패 언제든지 소프트웨어 개발 기간 중에서 유지보수 국면이 가장 오래 걸린다 프로젝트가 완료되었다고 간주된 다음에 더 많은 코드가 작성된다 유지보수 프로그래머는 원작성자의 머리 속에 있는 코드 모델을 알지 못할 수 도 있다; 그것이 적절하지 못한 수정의 원인이 된다 코드를 수정하다가 품질이 떨어지기는 아주 쉽다는 사실을 알아두자. 시스템을 더 나쁘게 만드는 변경을 하고서 만족스러워하지 말자 경고 신호 규모가 큰 클래스와 복잡하고 이해하기 어려운 함수들이 코드 여기저기에 많이 흩어져 있다 함수 이름이 암호 같거나 오해를 하게 만든다 구조가 없다: 어떤 기능을 어디에서 찾을지가 명료하지 않다 중복이 있다: 똑같은 일을 하는 코드 조각이 여러 번 나타난다 커플링이 높다: 의존성이 높다 데이터가 여.. 2017. 11. 18.
[3부 코드의 모습] Chapter14 소프트웨어 아키텍처 소프트웨어 아키텍처란? 상위 수준의 설계 소프트웨어의 청사진 아키텍처 수준의 관점 핵심이 되는 소프트웨어 모듈들을 식별 어느 컴포넌트가 어느 컴포넌트와 통신하는지 식별 여러 가지 서브시스템의 올바른 역할과 책임을 명시하고, 시스템에 있는 모든 중요한 인터페이스들의 특성을 식별하고 결정하도록 도와준다 우아하게 개발~~ 매번 나오는 이야기 아키텍처는 소프트웨어 시스템의 설계와 미래 성장에 가장 큰 영향력을 미친다. 그러므로 개발 단계에서 일찍 올바른 아키텍처를 만들어두는 것이 극히 중요 조망도(view) 아키텍처를 설계하는 과정에서도 여러 개의 소프트웨어 조망도를 개발해야 한다 개념 조망도 시스템에서 중요한 부분과 그 부분들의 상호연결을 보여주는 조망도 구현 조망도 실제로 구현된 모듈을 가지고 제시 프로세스.. 2017. 11. 17.
김익환, 전규현의 <소프트웨어 개발의 모든 것> 소프트웨어 개발의 모든 것국내도서저자 : 김익환,전규현출판 : 페가수스 2010.06.01상세보기 책 이름 그대로 소프트웨어 개발의 모든 것이 들어 있다고 생각한다. 이 책은 소프트웨어 개발 관련 학과생이라면 꼭 읽어봐야 한다고 생각되고, 개발자 친구들에게도 책에 대해서 물어보고 읽어보지 않았으면 읽어보라고 권장하고 싶다. 사실 조엘 온 소프트웨어 책과 비교했을 때 비슷한 부분이 많았다. 하지만 외국 블로그를 번역해 놓은 조엘 온 소프트웨어에서 느껴지는 이질감을이 책에선 느낄 수 없었다. 한국의 소프트웨어 개발을 이해하기 쉽도록 책이 전개되어있다. 배울 점이 상당히 많은 책이었기 때문에책을 구매하고 소장하고 있기로 마음을 먹었다. 그 중에서 몇 가지에 내가 반성할 수 있는 계기가 된 대목들을 이야기 해보.. 2017. 9. 21.