![]() |
|
||
|
|
|
Приемы объектно-ориентированного анализа и дизайна. Аннотированная библиография(Мартин Фаулер) Когда я только начинал проводить исследования, я читал все книги и статьи по OO анализу и дизайну, которые мне только попадались. Я вынужден был отказаться от такого подхода очень давно -- уж слишком много накоплено информации в этой области. Здесь я представляю мою личную аннотированную библиографию работ, которые я прочитал и нашел достаточно интересными и полезными. Beck, K. Smalltalk Best Practice Patterns. Prentice Hall, Englewood Cliffs, NJ, 1997. Строго говоря, это книга не о методах анализа и дизайна, но все-таки полезна, так как многие из ее паттернов затрагивают плохо описанную область рефакторинга. Многие паттерны полезны и для других OO языков, так что ее стоит прочитать даже если вы не программируете на smalltalk. Beck K and Cunningham W "A laboratory for teaching object-oriented thinking" Procedings of OOPSLA 89 Эта статья впервые описала карты CRC. Booch, G. Object-Oriented Analysis and Design with Applications,(Second Edition Addison-Wesley, Menlo Park CA, 1993. Если вам нужна вводная книга по по объектно-ориентированному дизайну, это стоящая вещь. В книге вы найдете несколько глав, посвященных концепции ОО, описание его нотации и методологии, и, в завершение, несколько примеров, которые обсуждают, как использовать эти подходы в С++. Как один из авторов UML, Буч сыграл выдающуюуся роль в его развитии. Наибольшим из недостатков книги является сильный уклон в сторону реализации, так что я рекоммендую [Odell foundations] для баланса. Примеры книги оформлены не в нотации UML, но идеи все-равно стоящие. Booch, G. Object Solutions: Managing the Object-Oriented Project, Addison-Wesley, Menlo Park CA, 1996 Это книга Буча по управлению проектом и вцелом интересное чтение. Он делает упор на последовательный процесс с акцентом на активную атаку на риски. Он описывает массу реальных примеров и дает кучу полезных советов. Книжка не очень большая, и не такая подробная, как [Goldberg and Rubin] но стоящая. Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M, Pattern-Oriented Software Architecture: A System of Patterns, Wiley, Chichester UK, 1996 Паттерны, которые были собраны несколькими разработчиками из Siemens. Включает несколько архитектурных паттернов и паттернов дизайна. Coad, P., North, D. and Mayfield, M. Object models: strategies, patterns, & applications, Prentice Hall, 1995. Книга Коада про паттерны. Они отличаются от стиля PLoP. Это типичная смесь моделей. Ключевая глава книги -- 6я, где Коад объясняет, как использовать его паттерны при разработке моделей. Этот подход начинается с поиска некоторых объектов, которые легко заметить. Для I.S. это контейнеры и транзакции. Эти паттерны описывают типичную конфигурацию классов, так что вы можете посмотреть на все эти паттерны для контейнеров и найти подходящий для своей проблемы. Каждый из паттернов также демонстрирует его типичное поведение. http://www.oi.com/oi_home.html Cook, S. and Daniels, J. Designing Object Systems: object-oriented modeling with Syntropy, Prentice Hall International, Hemel Hempstead, UK, 1994. Одна из моих любимых книг. Cook и Daniels хотели написать очень строгую книгу с серьезным формальным подходом, но скрыть этот формализм под диаграммами OMT. Для тех кто любит формальный строгий подход, это наилучшая книга. Если вы не любите формализм, их идеи стоят прочтения книги. В частности, интересна их дискуссия о перспективах диаграмм классов и информация о графах состояний Херела. Это достаточно сложная книга и я не рекомендую ее для новичков. Cockburn, A. Surviving Object-Oriented Projects, Addison Wesley, 1997 Прекрасная книга, которая сосредотачивается на управлении проектом с упором на поэтапную разработку. Каждый, кто управляет объектным проектом, должен прочитать эту книгу. Fowler M, Analysis Patterns: Reusable Object Models, Addison-Wesley, Reading MA, 1997 Выжимка из доменных моделей, с которыми я столкнулся, когда разрабатывал
объектно-ориентированное ПО (примеры из здравоохранения, биржевых торгов, бухгалтерии,
планирования и слоевых архитектур). Fowler M with Scott K, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, Reading MA, 1997 Сжатое (примерно сантиметр толщиной) руководство по новому UML. Написано для тех, кто уже знаком с основами ОО моделирования и хочет быстро получить представление о важных концепциях UML. Gamma E, Helm R, Johnson R, and Vlissides J, Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, Reading MA, 1995 Первый проблеск движения в поддержку использования паттернов и одна из наиболее важных книг по программному обеспечению за последние десять лет. Каталог из 23 распространенных дизайнов с объяснениями, моделями и примерами кода. Если вы серьезно занимаетесь объектно-ориентированным программированием, у вас должна быть эта книга. Goldberg A. and Rubin K., Suceeding with Objects: Decision Frameworks for Project Management, Addison-Wesley, Reading MA, 1995 Подробная книга об управлении проектами и внедрении объектных технологий с массой примеров. Более общая по сравнению с [Booch]. Graham I., Migrating to Object Technology, Addison-Wesley, Wokingham UK, 1995 Один из лучших первоисточников по правилам, включает применение нечеткой логики в объектных системах. Содержит подробное описание процесса разработки. Полезные идеи по вариантам использования. Jacobson I., Christerson M., Jonsson P. and Цvergaard G. (1992) Object-Oriented Software Engineering: a use case driven approach, Addison-Wesley. Эта книга положила начало применению вариантов использования в объектных методах. Очень влиятельная книга в результате. Работа с вариантами использования является основной ценностью книги. Многие из приемов моделирования были внесены в UML. Jacobson, I., Ericsson, M. and Jacobson, A. The Object Advantage: business process engineering with object technology, Addison-Wesley, 1995. Якобсон применяет варианты использования в бизнесе. Понятие компьютерных технологий возможно несколько растянуто, но все, кто применяют варианты использования должны подумать о более широких примерах из бизнеса. Martin, R.C. Designing Object-Oriented C++ Applications Using the Booch Method, Prentice Hall, Englewood Cliffs, NJ, 1995. Содержит набор больших (для книги) и подробных примеров из жизни. Для каждого примера он ведет вас через дизайн с использованием диаграмм классов, диаграм взаимодействий и диаграмм пакетов с использованием метода Буча. На примере дизайна он показывает, как использовать С++. Это книга является лучшим руководством по диаграмам пакетов. Meyer B. Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, NJ, 1997 Обновленная и огромная, но, несмотря на размер, ценная книга по объектной технологии с точки зрения разработчика ПО. Важнейшая часть книги -- обсуждение design by contract. Martin, J. and Odell, J. Object oriented methods: a foundation, (UML Edition), Prentice Hall, Englewood Cliffs, NJ, 1995. Очень важная книга, так как рассматривает объекты с точки зрения концепции. В этом смысле это одна из немногих книг, которая сосредотачивается на анализе. Включает хорошее описание множественной и динамической классификации и подробности о диаграммах событий -- основу диаграмм действий в UML. Этак книга была недавно обновлена и теперь использует UML нотацию и является первой глубокой книгой об использованиии UML. Martin, J. and Odell, J. Object oriented methods: pragmatic considerations, Prentice Hall, Englewood Cliffs, NJ, 1996. Рассматривает как перейти от моделей к коду, повторному использованию и проектированию методов -- способу создания собственных методов для компаний-разработчиков. Coplien, J.O. and Schmidt, D.C. Pattern Languages of Program Design, Addison-Wesley, Reading, MA, 1995. Vlissides, J.M., Coplien, J.O. and Kerth, N.L. ed.Pattern Languages of Program Design 2, Addison-Wesley, 1996. Сборник докладов конференции по паттернам. Широкий набор паттернов, который покрывает все области программного обеспечения. Reenskaug, T., Wold, P. and Lehne, O.A. Working with objects: the OOram software engineering method, Manning Publications, Greenwich, CT, 1996. Использует иной подход, рассматривая роли и их взаимодействия и затем синтезируя роли в классы. Reenskaug рассказывает, как произвести такой безопасный синтез: это обеспечивает корректную работу синтезированной модели без необходимости анализировать синтезированный код. Обычно, такой синтез выполняют на этапе моделирования, без добавления еще одного шага, так что большинство методов концентрируется на классах, а не на ролях. Rumbaugh J., Blaha M., Premerlani W., Eddy F. and Lorensen W. (1991) Object-Oriented Modeling and Design, Prentice Hall. В этой книге Rumbaugh et al объявили о создании OMT, одного из самых популярных методов в OO и одной из ключевых основ UML. Это одно из самых популярных описаний моделирования с хорошими сведениями по диаграммам классов и диаграммам состояний. Честно говоря, сейчас эта книга уже устарела.
[Shlaer and Mellor recursive design] Shlaer S and Mellor SJ, Recursive Design of an Application Independent Architecture, IEEE Software, 14:1 (1997), p61-72 Лучшая дискуссия по рекурсивному дизайну Shlaer/Mellor-а и переводам. Wirfs-Brock R., Wilkerson B. and Wiener L. (1990) Designing Object-Oriented Software, Prentice Hall. Кажется, что эта книга слишком устарела, чтобы занять место в этом списке. Но на самом деле эта книга до сих пор преподает хороший урок о роли ответственности в проекте и основам объектного дизайна. Хороший источник информации по картам CRC. Перевод на русский © Сергей Миссан, 2001 |
| Справка | Условия | |
| В начало | Логин | Комментарий к колонке | Поиск | Почта |