ВУЗ:
сущности Class от связи Teaches, показывает, что каждый преподаватель может проводить более чем одно занятие.
Можно предположить, что среди различных средств, используемых разработчиками программного обеспечения в про-
шлом, диаграммы "сущность – связь" имели больше шансов выжить при переходе к объектно-ориентированным методам.
Действительно, определение сущностей является, по сути, определением объектов системы, а классификация связей между
ними – первый шаг на пути к определению необходимых связей и взаимодействий этих объектов. Поэтому в традиционной
диаграмме "сущность – связь" легко распознать предшественницу диаграммы классов языка UML (рис. 6.4), которая исполь-
зуется в объектно-ориентированной среде проектирования.
Существует также такой полезный инструмент разработки систем программного обеспечения, как словарь данных. Он
представляет собой центральное хранилище информации обо всех элементах данных из всех частей системы. Сюда входят
идентификатор, используемый для обращения к каждому элементу; сведения о том, из каких символов может состоять каж-
дый элемент (Будет ли элемент состоять только из цифр или, возможно, только из букв? Каким будет диапазон значений,
которые могут присваиваться данному элементу?); данные о том, где хранится этот элемент данных (Будет элемент записан
в файл или базу данных; если да, то в какую именно?); а также указания, где именно в программе осуществляются обраще-
ния к элементу (Каким модулям требуется информация из данного элемента данных?).
Разработка словаря данных преследует сразу несколько целей. Одна из них состоит в расширении взаимодействия по-
тенциальных пользователей системы и аналитика, перед которым поставлена задача превращения пожеланий пользователя в
требования и спецификации. Было бы весьма досадно обнаружить уже после завершения реализации системы, что номера
деталей в действительности не являются числовыми или размер инвентаризационной ведомости превышает допустимый в
системе. Процесс создания словаря данных помогает избежать подобных недоразумений.
Другая цель создания словаря данных – установить в системе необходимое единообразие. Обычно именно за счет соз-
дания словаря можно избежать избыточности и противоречивости данных. Например, элемент данных, который в записи
складского учета был назван PartNumber, в записях о продажах может получить имя PartId. Кроме того, отдел кадров может
использовать элемент Name (Имя) по отношению к сотруднику, в то время как в записи складского учета элемент Name (На-
звание) может входить в описание детали.
Наконец, следует упомянуть и CRC (Class-Responsibility-Collaboration – карты взаимодействия классов), которые могут
оказаться полезными при проектировании объектно-ориентированных систем. Карта CRC является, в сущности, традицион-
ной индексной картой, содержащей описание объекта. Метод использования карт CRC состоит в том, что проектировщик
создает карту CRC для каждого объекта предлагаемой системы, а затем использует эти карты для моделирования действий в
системе – например, на поверхности рабочего стола или с помощью "театрализованного" эксперимента, в котором каждый
член команды проектировщиков играет роль объекта, выполняя все действия именно так, как это предписывается соответст-
вующей картой. Такое моделирование используется для обнаружения недостатков в проекте.
Шаблоны проектирования. В своих поисках, предпринимаемых с целью найти способы создания программного обес-
печения из готовых компонентов, разработчики программного обеспечения обратились и к области архитектуры. Особый
интерес здесь представляет книга Кристофера Александера (Christopher Alexander) и др. "A Pattern Language", в которой опи-
сывается набор шаблонов для сообщества архитекторов-проектировщиков. Каждый шаблон состоит из постановки задачи, за
которой следует предлагаемое решение. Приведенные задачи в основном универсальны, а предлагаемое решение является
обобщенным в том смысле, что оно относится к общей природе задачи, а не к конкретному случаю.
Например, один из шаблонов, названный "Quiet Backs" ("тихие уголки"), предназначен для создания в деловом центре
тихих местечек для отдыха. Предлагаемое решение заключается в том, чтобы спроектировать в деловых районах "тихие
уголки". В некоторых случаях следует проектировать район вокруг главной улицы, к которой все здания повернуты фасада-
ми, обеспечивая, таким образом, тихую сторону на улицах, проходящих позади этих зданий. В других случаях "тихие угол-
ки" могут быть получены с помощью парков, рек или соборов.
Важным для нашего обсуждения является то, что в данной работе Александера сделана попытка определить общие за-
дачи и предложить типовые шаблоны их решения. Сегодня многие разработчики программного обеспечения пытаются при-
менить аналогичный подход к проектированию больших систем программного обеспечения. В частности, исследователи
используют шаблоны проектирования в качестве средств создания обобщенных строительных блоков, из которых можно
конструировать системы программного обеспечения.
Среда программирования языка Java. Java был бы просто еще одним объектно-ориентированным языком про-
граммирования, если бы не имел набора структур, разработанных специально для упрощения процесса программирова-
ния на этом языке. Набор этих структур получил общее название "Прикладной программный интерфейс", или API (Ap-
plication Program Interface), и является частью набора инструментальных средств языка Java (JDK – Java Development
Kit), разработанного компанией Sun Microsystems. Структуры API языка Java включают шаблоны для решения таких
задач, как разработка графических интерфейсов пользователя (GUI), работа с аудио- и видеоданными, передача данных
через Internet или разработка анимированных Web-страниц. Таким образом, среда программирования языка Java – это
прогресс в направлении конструирования программного обеспечения из готовых компонентов.
Примером такого шаблона является Publisher – Subscriber (Издатель – Подписчик), состоящий из модуля (издателя), ко-
торый должен посылать копии своих "публикаций" другим модулям (подписчикам), как показано на рис. 6.10. Как частный
случай рассмотрим группу данных, которые изображаются на экране компьютера одновременно в нескольких форматах,
например в виде круговой диаграммы и гистограммы. В этом случае любое изменение данных должно быть отражено сразу
в обоих форматах. Следовательно, модули программного обеспечения, отвечающие за построение диаграмм, должны опо-
вещаться об изменении данных. В данном случае модуль программного обеспечения, управляющий данными, выполняет
роль издателя, посылающего сообщения о произошедших изменениях сразу всем его подписчикам, т.е. модулям, отвечаю-
щим за построение диаграмм.
Страницы
- « первая
- ‹ предыдущая
- …
- 150
- 151
- 152
- 153
- 154
- …
- следующая ›
- последняя »