이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
옮긴이의 글추천의 글지은이의 글1장. 이 책의 개요다이어그램의 유형 클래스 다이어그램 객체 다이어그램 시퀀스 다이어그램 협력 다이어그램 상태 다이어그램결론2장. 다이어그램으로 작업하기왜 모델을 만들어야 하는가? 왜 소프트웨어 모델을 만드는가? 반드시 코딩을 시작하기에 앞서 포괄적인 설계를 해야 하는가UML을 효과적으로 사용하기 다른 사람들과 의사소통하기 로드맵 백엔드(back-end) 문서 무엇을 보관하고 무엇을 버려야 하는가반복을 통해 다듬기 행위를 제일 먼저 구조를 점검하기 코드를 마음속으로 그려보기 다이어그램의 진화 미니멀리즘언제 다이어그램을 그려야 하며, 어떻게 그려야 하는가 언제 다이어그램을 그려야 하며 언제 멈춰야 하는가 CASE 도구 하지만 문서화는 어떻게 합니까 그러면 Javadoc은?결론3장. 클래스 다이어그램기본 개념 클래스 연관 상속예제 클래스 다이어그램세부사항 클래스 스테레오타입 추상 클래스 프로퍼티 집합 합성 다수성 연관 스테레오타입 내부 클래스 익명 내부 클래스 연관 클래스 연관 한정사결론4장. 시퀀스 다이어그램기본 개념 객체, 생명선, 메시지 등 생성과 소멸 단순한 반복 사례와 시나리오고급 개념 반복과 조건 시간이 걸리는 메시지들 비동기 메시지 다중 스레드 활동적인 객체 인터페이스에 메시지 보내기결론5장. 유스케이스유스케이스 적기 유스케이스란 무엇인가 기본 흐름 대체 흐름 나머지는?유스케이스 다이어그램 시스템 경계 다이어그램 유스케이스 관계결론6장. OOD(객체 지향 개발)의 원칙설계의 품질 나쁜 설계의 냄새 의존 관계 관리하기단 하나의 책임 원칙(The Single Responsibility Principle)개방-폐쇄 원칙(The Open-Closed Principle)리스코프 교체 원칙(Liskov Substitution Principle)의존 관계 역전 원칙(Dependency Inversion Principle)인터페이스 격리 원칙(Interface Segregation Principle)결론7장. 실천방법 : dX반복적인 개발(Iterative Development) 최초의 탐사 작업 각 기능의 추정치 잡기 스파이크계획 짜기 릴리스 계획하기 반복 주기를 계획하기 중간 지점 결과를 속도에 반영하기반복 주기를 관리 단계로 조직하기반복 주기에서는 어떤 일이 일어나는가 짝을 이뤄 개발하기 인수 테스트 단위 테스트 리팩터링 개방된 작업 공간 끊임없는 통합 작업결론8장. 패키지자바 패키지 UML 패키지 의존 관계바이너리 컴포넌트 - .jar 파일패키지 설계의 원칙들 패키지 릴리스/재사용 등가 원칙(Release/Reuse Equivalency Principle) 공통 폐쇄 원칙(Common Closure Principle) 공통 재사용 법칙(Common Reuse Principle) 의존 관계 비순환 원칙(Acyclic Dependencies Principle) 안정된 의존 관계 원칙(Stable Dependencies Principle) 안정된 추상화 원칙(Stable Abstractions Principle)결론9장. 객체 다이어그램어떤 순간의 스냅샷활동적인 객체결론10장. 상태 다이어그램기본 개념 특수 이벤트 상위 상태 최초 의사-상태와 최종 의사-상태FSM 다이어그램을 사용하기 SMC ICE : 사례 연구결론11장. 휴리스틱과 커피마크 IV 특수 커피메이커 마크 IV 특수 커피메이커 도전 자주 제시되긴 하지만, 엉망인 커피메이커 해결 방안 사라진 메서드 허깨비 클래스 상상뿐인 추상화 하나님 클래스커피메이커 해결 방안 선을 넘어간 연결 커피메이커 사용자 인터페이스 유스케이스 1 : 사용자가 끓임(Brew) 버튼을 누른다 유스케이스 2 : ContainmentVessel이 준비되어 있지 않다 유스케이스 3 : 커피가 다 끓었다 유스케이스 4 : 커피를 모두 마셨다 추상 모델을 실제로 구현하기 유스케이스 1 : 사용자가 끓임 버튼을 누른다 isReady() 함수들을 구현하기 start() 함수들을 구현하기 M4UserInterface.checkButton은 어떻게 호출되는가 커피메이커를 마무리짓기 이 설계의 장점 어떻게 이런 설계를 떠올릴 수 있었을까객체지향의 과잉(OOverkill)12장. SMC 원격 서비스 : 사례 연구독자에게 보내는 경고 단위 테스트SMCRemote 시스템SMCRemoteClient SMCRemoteClient 명령줄 SMCRemote 통신 프로토콜 SMCRemoteClient(SMC 원격 클라이언트) 메시지 로거 원격 세션 RemoteSessionBase(원격 세션 ?이스) RemoteRegistrar(원격 등록자) RemoteCompiler(원격 컴파일러) FileCarrier(파일 운반자) SMCRemoteClient에 대한 결론SMCRemoteServer SocketService(소켓 서비스) SMCRemoteService(SMC 원격 서비스) SMCRemoteServer ServerSession(서버 세션) THREE-LEVEL FSM UserRepository(사용자 저장소) OReillyEmailSender(오라일리 전자우편 전송자) PasswordGenerator(비밀번호 생성기)결론SMCRemoteClient를 위한 테스트SocketService를 위한 테스트SMCRemoteServer를 위한 테스트나머지 테스트(SMC가 자동 생성한) 서버 컨트롤러(ServerController)부록 1. 분로(分路) 단위 테스팅 패턴역사이름의 유래부록 2. 프로세스(RUP vs. dX)권리목표가치 시스템RUP(Rational Unified Process)dX : 가장 작은 RUP 공정요약참고문헌용어대역표찾아보기
|