S1A - Building Large-Scale, Modular Software - 뢉 해럽
개념적인 통일성
- 분명한 "철학"
=> 설계는 싸고 개발은 비싸다.
복잡도 제어하기
=> 의존성을 제어해야 복잡도를 제어할 수 있다.
책임 주도 설계
=> 연관성이 깊은 데이터를 그룹핑해서 관리하는게 좋다
=> 유즈케이스랑 CRC 카드로 블라 블라...
=> dm 서버를 만들 때 CRC 카드를 사용했다.
Principal 모델
- Logical 패키징
- 동시성 => 에러를 어떻게 수정할 것인지 등등..
Formal methods: Z
=> 시뮬레이션 할 수 있어서 매우 유용하다.
- 하지만.. 난 모르겠다. 저게 뭔 기호인지;;; @.@ 그냥 코드를 보여달라고 코드를.. 이클립스에 프로젝트 띄워서 걍 보여달란 말이야~ ㅠ.ㅠ...
Formal methods: CSP
=> 프로세스와 이벤트를 표현해서 뭔가를 추적할 수 있는;;
- 역시 또 복잡해 보이는 기호..@.@ 아흑...
실용적인 조언
- 테스팅을 스킵하지마
- 리팩터링 하되 "looping" 하진마
- "design quiescent points"를 인식하라
- "analysis paralysis"를 기피하라
dm 서버 자료
- 시스템 뷰
- 모델 진화 과정