Объектно-ориентированные технологии проектирования прикладных программных систем (часть 2)

Примеры процессов
Примеры процессов Процессы реализуются в виде методов (или их частей) и соответствуют операциям конкретных классов. Потоки данных Поток данных соединяет выход объекта (или процесса) со входом друг...
Потоки данных
Потоки данных Активные объекты Активным называется объект, который обеспечивает движение данных, поставляя или потребляя их. Активные объекты обычно бывают присоединены к входам и выходам ДПД. При...
Активные объекты (экторы)
Активные объекты (экторы) Хранилища данных Хранилище данных - это пассивный объект в составе ДПД, в котором данные сохраняются для последующего доступа. Хранилище данных допускает доступ к хранимы...
Хранилища данных
Хранилища данных Потоки управления ДПД показывает все пути вычисления значений, но не показывает в каком порядке значения вычисляются. Решения о порядке вычислений связаны с управлением программой...
Поток управления
Поток управления На рисунке 2.64 изображен пример потока управления: клиент, желающий снять часть своих денег со счета в банке, вводит в ATM пароль и требуемую сумму, однако фактическое снятие и в...
2.6.2. Описание операций
2.6.2. Описание операций Процессы ДПД в конце концов должны быть реализованы как операции объектов. Каждый процесс нижнего (базового) уровня, так же как и процессы верхних уровней, в состав которы...
Спецификация операции изменить_счет...
Спецификация операции изменить_счет (при описании эффекта операции использованы операции отменить_проводку, выдать_запрос, выдать_деньги, дебетовать_счет и кредитовать_счет) Внешняя спецификация о...
2.6.3. Ограничения
2.6.3. Ограничения Ограничение указывает на зависимость между соответственными значениями двух объектов, либо между различными значениями одного объекта. Ограничение может быть выражено в виде нек...
2.6.4. Функциональная модель банковской сети
2.6.4. Функциональная модель банковской сети Функциональная модель показывает как вычисляются значения в системе и как они зависят одно от другого. Для конструирования функциональной модели необхо...
Входные и выходные значения банковской сети
Входные и выходные значения банковской сети Поскольку все взаимодействия между внешним миром и системой проходят через ATM (или кассовый терминал, который здесь не рассматривается), все входные и...
Процессы верхнего уровня в системе обслуживания банковской сети
Процессы верхнего уровня в системе обслуживания банковской сети На ДПД каждого уровня указываются элементы данных более высоких уровней, чтобы показать данные, обрабатываемые каждым процессом (см....
ДПД процесса выполнить проводку в системе обслуживания банковской сети
ДПД процесса выполнить проводку в системе обслуживания банковской сети ДПД показывают только зависимости между операциями; они не содержат информации о последовательности выполнения операций (опер...
3.3.2. Разработка алгоритмов, реализующих полученные операции
3.3.2. Разработка алгоритмов, реализующих полученные операции Каждой операции, определенной в уточненной объектной модели, должен быть сопоставлен алгоритм, реализующий эту операцию. При выборе ал...
Сравнение рекурсивного и нерекурсивного алгоритмов вычисления n!
Сравнение рекурсивного и нерекурсивного алгоритмов вычисления n! Выбор алгоритмов связан с выбором структур данных, обрабатываемых этими алгоритмами. Удачный выбор структур данных позволяет сущест...
3.3.3. Оптимизация разработки
3.3.3. Оптимизация разработки Объектная модель, построенная на этапе анализа требований к программной системе, содержит информацию о логической структуре системы; на этапе разработки объектная мод...
Ускорение поиска с помощью производной зависимости
Ускорение поиска с помощью производной зависимости Использование производных атрибутов для исключения повторных вычислений показано на рисунке 3.10: запоминание координат однажды найденных атрибут...
Использование производных атрибутов для исключения повторных вычислений
Использование производных атрибутов для исключения повторных вычислений...
Использование производной зависимости
Использование производной зависимости На рисунке 3.11 показано, как введение производной зависимости позволяет не перевычислять координаты перекрывающихся элементов окон в оконной системе для граф...
3.3.4. Реализация управления
3.3.4. Реализация управления Реализация управления связана с реализацией динамической модели объектов системы. Известны три подхода к реализации динамической модели: процедурное управление: состоя...
Псевдокод, соответствующий динамической модели ATM
Псевдокод, соответствующий динамической модели ATM...
3.3.5. Уточнение наследования классов
3.3.5. Уточнение наследования классов Уточняя определения классов и операций, стараемся увеличить степень наследуемости: чем больше классов находятся в отношении наследования, тем меньше функций,...
Реализация стека с использованием наследования(а) и делегирования(б)
Реализация стека с использованием наследования(а) и делегирования(б)...
3.3.6. Разработка зависимостей
3.3.6. Разработка зависимостей Зависимости - это "клей" объектной модели: именно они позволяют рассматривать модель как нечто целое, а не просто как множество классов. Односторонние зависимости мо...
Реализация односторонней зависимости


Реализация односторонней зависимости На рисунке 3.15 показан способ реализации двусторонней зависимости с помощью указателей....
Реализация двусторонней зависимости
Реализация двусторонней зависимости На рисунке 3.16 показан способ реализации зависимости с помощью таблицы (как в реляционных базах данных)....
Реализация зависимости с помощью таблицы
Реализация зависимости с помощью таблицы При реализации зависимостей с помощью указателей атрибуты зависимостей (связей) переносятся в один из классов, участвующих в зависимости....
5.4.4. Реализация наследования
5.4.4. Реализация наследования В языке Eiffel список наследования помещается вслед за ключевым словом inherit: class ITEM export cut, move, pick, ungroup feature cut is deferred end; move (deltax,...
5.4.5. Реализация зависимостей
5.4.5. Реализация зависимостей В языке Eiffel для реализации зависимостей применяются конструкции, аналогичные соответствующим конструкциям языка C++. Поддерживаются параметризованные (родовые (ge...
5.5.1. Преобразование классов в структуры данных
5.5.1. Преобразование классов в структуры данных В языке C класс можно рассматривать как тип структуры, определенный в этом языке: поля структуры соответствуют атрибутам класса (при этом каждый ат...
5.5.2. Передача параметров методам
5.5.2. Передача параметров методам Дополнительный параметр каждого метода, определяющий экземпляр структуры (класса), к которому следует применить этот метод, рекомендуется реализовывать как указа...
5.5.3. Размещение объектов в памяти
5.5.3. Размещение объектов в памяти Объекты, определенные в программе на языке C могут размещаться в памяти программы (статические глобальные объекты), в стеке (автоматически размещаемые локальные...
5.5.4. Реализация наследования
5.5.4. Реализация наследования Наследование в языке C реализуются через указатели. Рассмотрим, например, конкретные подклассы Box и Circle абстрактного класса Shape. На языке C их можно представит...
5.5.5. Выбор методов для операций
5.5.5. Выбор методов для операций В объектно-ориентированных языках одна и та же операция нередко реализуется одновременно несколькими методами (полиморфизм). Выбор нужного метода осуществляется в...
5.5.6. Реализация зависимостей
5.5.6. Реализация зависимостей Для реализации зависимостей есть те же две возможности, что и в случае объектно-ориентированных окружений: отображение зависимостей на указатели (ссылки), или реализ...
5.5.7. Объектно-ориентированное программирование на Фортране
5.5.7. Объектно-ориентированное программирование на Фортране Объектно-ориентированное программирование на Фортране связано с большими техническими трудностями в связи с отсутствием в этом языке ст...
5.5.8. Чем неудобны не объектно-ориентированные системы программирования
5.5.8. Чем неудобны не объектно-ориентированные системы программирования Различия между не объектно-ориентированными и объектно-ориентированными системами программирования в основном связаны не с...

3DS MAX 7 там
Dreamweaver MX там



Содержание раздела