5. What is FrameworksDouglas C. Schmidt Says..Frameworks define “semi-complete” applicationthat embody domain-specific object structures and functionality.+to produce custom application
16. What is The Good Technical DocumentationThe book “Developing Quality Technical Information”
17. Key Issues of Framework Documentation내용측면Usage and Design 정보의 조화Contents의 구조Contents의 표현다양한 경로 제공관리측면일관성과 중복다양한 표현방법Contents의 통합
18. Usage vs Design Information좋은 제품은 내부 구조를 알지 못해도 사용할 수 있어야 한다. 대부분의 프레임워크 문서들은 내부 설계와 아키텍처 설명에 집중되어 있다. But frameworks documentation must mix.
19. What is The Good Framework Documentation?Reader’s point of view :task-oriented informationwell organizedunderstandableeasy to retrieveWriter’s point of view : identifying the documentation needsselecting the contentschoosing the best representationorganizing the contents adequately
20. Pattern LanguagesDocumentation RoadmapFramework Overviewfirst recipewhere is start?how-to’sCookbook and RecipesError Recovery GuideerrorsusesGraded ExamplescodeillustrateCustomizable PointTraversable Codehow it works?Design InternalsindexReference Guide
31. Pattern : Graded ExamplesDocumentation RoadmapFramework Overviewfirst recipewhere is start?how-to’sCookbook and RecipesError Recovery GuideerrorsusesGraded ExamplescodeillustrateCustomizable PointTraversable Codehow it works?Design InternalsindexReference GuidePattern : Graded Examples
32. Problem어떻게 독자가 자신의 애플리케이션에 해당 프레임워크 적용이가능한지 알 수 있도록 도와 줄까?문인은 붓로말하고 무인은 칼로 말한다. 하지만개발자들은 코드로 말한다.Pattern : Graded Examples
33. ForcesTask 중심무엇을 할 수 있고, 어떻게 하면 되나다양한 독자들비용(Cost)대비 효율TDD를 한다면, 별도의 예제를 따로 만들지 않아도 된다.
34. Solution예제를 단계적으로 제공좋은 예제 집합도메인 용어로 구성프레임워크 기능들의 표현다른 문서화를 완성시키는 역할예제는추상화된 설계보다 이해하기 쉽다프레임워크의 유용성을 바로 알 수 있게 해준다프레임워크의 유용성 뿐만 아니라 제한성도 보여 준다. 프레임워크의 설계가 아닌 사용법을 보여준다.Pattern : Graded Examples
39. Problem어떻게 하면 독자가 필요로 하는 정보를 쉽게 찾을 수 있도록 도와 줄 수 있을까?Pattern : Documentation Roadmap
40. Forces다양한 독자들애플리케이션 개발자프레임워크 선별자프레임워크 개발자프레임워크 유지보수인다른 프레임워크 개발자각기 다른 재사용찾는 방법의 난이도Pattern : Documentation Roadmap
41. SolutionTask 중심산발적 읽기도 지원navigating top-down from a main entry point navigating bottom-up from a small piece of information.전체적인 조정 가능성을 향상시켜라관련된(독자/기능/사용순서) 주제끼리 묶어라 탭과 번호, 단락 등을 이용하여 보기 좋게 하라Pattern : Documentation Roadmap
51. Pattern : Customizable PointsDocumentation RoadmapFramework Overviewfirst recipewhere is start?how-to’sCookbook and RecipesError Recovery GuideerrorsusesGraded ExamplescodeillustrateCustomizable PointTraversable Codehow it works?Design InternalsindexReference Guide
52. What is Customizable PointHot-spot 커스터마이제이션은사전에 정의된 개선영역에 의해서 수행된다.Hook변경되어야 하는 영역과 방법 : 따라야 하는 제약사항과 Hook의 영향Hot spot은 하나 이상의 Hook으로 구성Pattern : Customizable Points
61. Solution정확하고 상세한 프레임워크의 내부 설계정보를 제공especially hot-spots. can help them better understand and enable more advanced customizations 아키텍처와 설계원칙디자인 패턴을 이용간단한 표현풍부한 정보 제공Pattern : Design Internals
63. Review : Pattern LanguagesDocumentation RoadmapFramework Overviewfirst recipewhere is start?how-to’sCookbook and RecipesError Recovery GuideerrorsusesGraded ExamplescodeillustrateCustomizable PointTraversable Codehow it works?Design InternalsindexReference Guide
64. Reference“Patterns for Effectively Documenting Frameworks” –Ademar Aguiar and Gabriel David“질서 있는 아키텍처 패턴이야기” – 김용현(마이크로소프트웨어)“Framework Engineering” – 손영수(www.arload.net)www.junit.orgwww.springsource.orgwww.google.comwww.evacast.net