11.6 Список литературы с комментариями
В этой главе мы только поверхностно затронули вопросы проектирования и управления программными
проектами. По этой причине ниже предлагается список литературы с комментариями. Значительно
более обширный список литературы с комментариями можно найти в [2].
[1] Bruce Anderson and Sanjiv Gossain: An Iterative Design Model for Reusable Object-Oriented Software. Proc. OOPSL
Описание модели итеративного проектирования и повторного проектирования с некоторыми
примерами и обсуждением результатов.
[2] Grady Booch: Object Oriented Design. Benjamin Cummings. 1991.
В этой книге есть детальное описание проектирования, определенный метод проектирования с
графической формой записи и несколько больших примеров проекта, записанных на различных
языках. Это превосходная книга, которая во многом повлияла на эту главу. В ней более глубоко
рассматриваются многие из затронутых здесь вопросов.
[3] Fred Brooks: The Mythical Man Month. Addison Wesley. 1982.
Каждый должен перечитывать эту книгу раз в пару лет. Предостережение от высокомерия. Она
несколько устарела в технических вопросах, но совершенно не устарела во всем, что касается
отдельного работника, организации и вопросов размера.
[4] Fred Brooks: No Silver Bullet. IEEE Computer, Vol.20 No.4. April 1987.
Сводка различных подходов к процессу развития больших программных систем с очень
полезным предостережением от веры в магические рецепты ("золотая пуля").
[5] De Marco and Lister: Peopleware. Dorset House Publishing Co. 1987.
Бьерн Страуструп.
Язык программирования С++
305
Одна из немногих книг, посвященных роли человеческого фактора в производстве
программного обеспечения. Необходима для каждого менеджера. Достаточно успокаивающая
для чтения перед сном. Лекарство от многих глупостей.
[6] Ron Kerr: A Materialistic View of the Software "Engineering" Analogy. in SIGPLAN Notices, March
1987. pp 123-125.
Использование аналогии в этой и следующей главах во многом обязано наблюдениям из
указанной статьи, а так же беседам с Р. Керром, которые этому предшествовали.
[7] Barbara Liskov: Data Abstraction and Hierarchy. Proc. OOPSLA'87 (Addendum). Orlando, Florida. pp
17-34.
Исследуется, как использование наследования может повредить концепции абстрактных
данных. Укажем, что в С++ есть специальные языковые средства, помогающие избежать
большинство указанных проблем ($$12.2.5).
[8] C. N. Parkinson: Parkinson's Law and other Studies in Administration. Houghton-Mifflin. Boston. 1957.
Одно из забавных и самых язвительных описаний бед, к которым приводит процесс
администрирования.
[9] Bertrand Meyer: Object Oriented Software Construction. Prentice Hall. 1988.
Страницы 1-64 и 323-334 содержат хорошее описание одного взгляда на объектно-
ориентированное программирование и проектирование, а также много здравых, практических
советов. В остальной части книги описывается язык Эйффель (Eiffel).
[10] Alan Snyder: Encapsulation and Inheritance in Object-Oriented Programming Languages. Proc.
OOPSLA'86. Portland, Oregon. pp.38-45.
Возможно первое хорошее описание взаимодействия оболочки и наследования. В статье так же
на хорошем уровне рассматриваются некоторые понятия, связанные с множественным
наследованием.
[11] Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener: Designing Object-Oriented Software.
Prentice Hall. 1990.
Описывается антропоморфный метод проектирования основанный на специальных карточках
CRC (Classes, Responsibilities, Collaboration) (т.е. Классы, Ответственность, Сотрудничество).
Текст, а может быть и сам метод тяготеет к языку Smalltalk.
Бьерн Страуструп.
Язык программирования С++
306
Достарыңызбен бөлісу: |