Объектно-ориентированные технологии проектирования прикладных программных систем (часть 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 там