Rambler's Top100IT • archiv

rus / eng | Логин | Комментарий к колонке | Печать | Почта | Клуб




Колонки


Приемы объектно-ориентированного анализа и дизайна. Аннотированная библиография

 
(Мартин Фаулер)

Когда я только начинал проводить исследования, я читал все книги и статьи по OO анализу и дизайну, которые мне только попадались. Я вынужден был отказаться от такого подхода очень давно -- уж слишком много накоплено информации в этой области. Здесь я представляю мою личную аннотированную библиографию работ, которые я прочитал и нашел достаточно интересными и полезными.

[Beck]

Beck, K. Smalltalk Best Practice Patterns. Prentice Hall, Englewood Cliffs, NJ, 1997.

Строго говоря, это книга не о методах анализа и дизайна, но все-таки полезна, так как многие из ее паттернов затрагивают плохо описанную область рефакторинга. Многие паттерны полезны и для других OO языков, так что ее стоит прочитать даже если вы не программируете на smalltalk.

[Beck and Cunningham]

Beck K and Cunningham W "A laboratory for teaching object-oriented thinking" Procedings of OOPSLA 89

Эта статья впервые описала карты CRC.

[Booch]

Booch, G. Object-Oriented Analysis and Design with Applications,(Second Edition Addison-Wesley, Menlo Park CA, 1993.

Если вам нужна вводная книга по по объектно-ориентированному дизайну, это стоящая вещь. В книге вы найдете несколько глав, посвященных концепции ОО, описание его нотации и методологии, и, в завершение, несколько примеров, которые обсуждают, как использовать эти подходы в С++. Как один из авторов UML, Буч сыграл выдающуюуся роль в его развитии. Наибольшим из недостатков книги является сильный уклон в сторону реализации, так что я рекоммендую [Odell foundations] для баланса. Примеры книги оформлены не в нотации UML, но идеи все-равно стоящие.

[Booch solutions]

Booch, G. Object Solutions: Managing the Object-Oriented Project, Addison-Wesley, Menlo Park CA, 1996

Это книга Буча по управлению проектом и вцелом интересное чтение. Он делает упор на последовательный процесс с акцентом на активную атаку на риски. Он описывает массу реальных примеров и дает кучу полезных советов. Книжка не очень большая, и не такая подробная, как [Goldberg and Rubin] но стоящая.

[Buschmann et al]

Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M, Pattern-Oriented Software Architecture: A System of Patterns, Wiley, Chichester UK, 1996

Паттерны, которые были собраны несколькими разработчиками из Siemens. Включает несколько архитектурных паттернов и паттернов дизайна.

[Coad, North, Mayfield]

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 and Daniels]

Cook, S. and Daniels, J. Designing Object Systems: object-oriented modeling with Syntropy, Prentice Hall International, Hemel Hempstead, UK, 1994.

Одна из моих любимых книг. Cook и Daniels хотели написать очень строгую книгу с серьезным формальным подходом, но скрыть этот формализм под диаграммами OMT. Для тех кто любит формальный строгий подход, это наилучшая книга. Если вы не любите формализм, их идеи стоят прочтения книги. В частности, интересна их дискуссия о перспективах диаграмм классов и информация о графах состояний Херела. Это достаточно сложная книга и я не рекомендую ее для новичков.

[Cockburn]

Cockburn, A. Surviving Object-Oriented Projects, Addison Wesley, 1997

Прекрасная книга, которая сосредотачивается на управлении проектом с упором на поэтапную разработку. Каждый, кто управляет объектным проектом, должен прочитать эту книгу.

[Fowler]

Fowler M, Analysis Patterns: Reusable Object Models, Addison-Wesley, Reading MA, 1997

Выжимка из доменных моделей, с которыми я столкнулся, когда разрабатывал объектно-ориентированное ПО (примеры из здравоохранения, биржевых торгов, бухгалтерии, планирования и слоевых архитектур).
 

[Fowler, UML]

Fowler M with Scott K, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, Reading MA, 1997

Сжатое (примерно сантиметр толщиной) руководство по новому UML. Написано для тех, кто уже знаком с основами ОО моделирования и хочет быстро получить представление о важных концепциях UML.

[Gang of Four]

Gamma E, Helm R, Johnson R, and Vlissides J, Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, Reading MA, 1995

Первый проблеск движения в поддержку использования паттернов и одна из наиболее важных книг по программному обеспечению за последние десять лет. Каталог из 23 распространенных дизайнов с объяснениями, моделями и примерами кода. Если вы серьезно занимаетесь объектно-ориентированным программированием, у вас должна быть эта книга.

[Goldberg and Rubin]

Goldberg A. and Rubin K., Suceeding with Objects: Decision Frameworks for Project Management, Addison-Wesley, Reading MA, 1995

Подробная книга об управлении проектами и внедрении объектных технологий с массой примеров. Более общая по сравнению с [Booch].

[Graham]

Graham I., Migrating to Object Technology, Addison-Wesley, Wokingham UK, 1995

Один из лучших первоисточников по правилам, включает применение нечеткой логики в объектных системах. Содержит подробное описание процесса разработки. Полезные идеи по вариантам использования.

[Jacobson]

Jacobson I., Christerson M., Jonsson P. and Цvergaard G. (1992) Object-Oriented Software Engineering: a use case driven approach, Addison-Wesley.

Эта книга положила начало применению вариантов использования в объектных методах. Очень влиятельная книга в результате. Работа с вариантами использования является основной ценностью книги. Многие из приемов моделирования были внесены в UML.

[Jacobson BPR]

Jacobson, I., Ericsson, M. and Jacobson, A. The Object Advantage: business process engineering with object technology, Addison-Wesley, 1995.

Якобсон применяет варианты использования в бизнесе. Понятие компьютерных технологий возможно несколько растянуто, но все, кто применяют варианты использования должны подумать о более широких примерах из бизнеса.

[Martin]

Martin, R.C. Designing Object-Oriented C++ Applications Using the Booch Method, Prentice Hall, Englewood Cliffs, NJ, 1995.

Содержит набор больших (для книги) и подробных примеров из жизни. Для каждого примера он ведет вас через дизайн с использованием диаграмм классов, диаграм взаимодействий и диаграмм пакетов с использованием метода Буча. На примере дизайна он показывает, как использовать С++. Это книга является лучшим руководством по диаграмам пакетов.

[Meyer]

Meyer B. Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, NJ, 1997

Обновленная и огромная, но, несмотря на размер, ценная книга по объектной технологии с точки зрения разработчика ПО. Важнейшая часть книги -- обсуждение design by contract.

[Odell foundations]

Martin, J. and Odell, J. Object oriented methods: a foundation, (UML Edition), Prentice Hall, Englewood Cliffs, NJ, 1995.

Очень важная книга, так как рассматривает объекты с точки зрения концепции. В этом смысле это одна из немногих книг, которая сосредотачивается на анализе. Включает хорошее описание множественной и динамической классификации и подробности о диаграммах событий -- основу диаграмм действий в UML. Этак книга была недавно обновлена и теперь использует UML нотацию и является первой глубокой книгой об использованиии UML.

[Odell pragmatics]

Martin, J. and Odell, J. Object oriented methods: pragmatic considerations, Prentice Hall, Englewood Cliffs, NJ, 1996.

Рассматривает как перейти от моделей к коду, повторному использованию и проектированию методов -- способу создания собственных методов для компаний-разработчиков.

[PLoP 1 and 2]

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]

Reenskaug, T., Wold, P. and Lehne, O.A. Working with objects: the OOram software engineering method, Manning Publications, Greenwich, CT, 1996.

Использует иной подход, рассматривая роли и их взаимодействия и затем синтезируя роли в классы. Reenskaug рассказывает, как произвести такой безопасный синтез: это обеспечивает корректную работу синтезированной модели без необходимости анализировать синтезированный код. Обычно, такой синтез выполняют на этапе моделирования, без добавления еще одного шага, так что большинство методов концентрируется на классах, а не на ролях.

[Rumbaugh]

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]

Wirfs-Brock R., Wilkerson B. and Wiener L. (1990) Designing Object-Oriented Software, Prentice Hall.

Кажется, что эта книга слишком устарела, чтобы занять место в этом списке. Но на самом деле эта книга до сих пор преподает хороший урок о роли ответственности в проекте и основам объектного дизайна. Хороший источник информации по картам CRC.

TOC | Часть 5 >



Перевод на русский © Сергей Миссан, 2001

Справка | Условия Copyright © 1999 — 2008, IT • archiv.
В начало | Логин | Комментарий к колонке | Поиск | Почта