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

viagra joke label | трансфер из аэропорта милана



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


    Объектно-ориентированные технологии проектирования прикладных программных систем
    Объектно-ориентированные технологии проектирования прикладных программных систем С.С. Гайсарян, Центр Информационных Технологий 1. Основные понятия объектно-ориентированного подхода 1.1. Объектно-...
    1. Основные понятия объектно-ориентированного подхода
    1. Основные понятия объектно-ориентированного подхода Объектно-ориентированный подход основан на систематическом использовании моделей для языково-независимой разработки программной системы, на ос...
    Семантика (смысл программы с точки...
    Семантика (смысл программы с точки зрения выполняющего ее компьютера) и прагматика (смысл программы с точки зрения ее пользователей) Модель содержит не все признаки и свойства представляемого ею п...
    Жизненный цикл программной системы
    Жизненный цикл программной системы Объектно-ориентированный подход имеет два аспекта: объектно-ориентированная разработка программного обеспечения ; объектно-ориентированная реализация программног...
    1.1. Объектно-ориентированная разработка программ
    1.1. Объектно-ориентированная разработка программ Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных моделей при разработке программных сис...
    1.2. Объектно-ориентированные языки программирования
    1.2. Объектно-ориентированные языки программирования Вопросы реализации программного обеспечения, разработка которого велась с применением одной из объектно-ориентированных методологий, рассматрив...
    1.3. Сквозной пример
    1.3. Сквозной пример В качестве сквозного примера будет рассмотрена задача о разработке программного обеспечения банковской сети (рисунок 1.3). В состав этой сети входит центральный компьютер, при...
    Схема банковской сети
    Схема банковской сети Клиенты банков имеют пластиковые банковские карточки (один клиент может иметь несколько карточек); карточка содержит код карточки, код банка, код клиента и другую информацию,...
    Схема банкомата (ATM)
    Схема банкомата (ATM) Наряду с описанным примером будет рассмотрено достаточно большое число других примеров, предназначенных для демонстрации особенностей, не охватываемых этим основным примером....
    2. Первая фаза жизненного цикла...
    2. Первая фаза жизненного цикла - анализ требований и предварительное проектирование системы. Объектно-ориентированное моделирование Как известно, проектирование прикладной программной системы нач...
    2.1. Объектная модель системы
    2.1. Объектная модель системы Объектная модель описывает структуру объектов, составляющих систему, их атрибуты, операции, взаимосвязи с другими объектами. В объектной модели должны быть отражены т...
    2.2. Построение объектной модели
    2.2. Построение объектной модели Теперь у нас есть все необходимые понятия, чтобы описать процесс построения объектной модели. Этот процесс включает в себя следующие этапы: определение объектов и...
    2.3. Пример объектной модели
    2.3. Пример объектной модели Рассмотрим процесс построения объектной модели для системы банковского обслуживания (см. п. 1.3 ) в процессе анализа требований и предварительного проектирования этой...
    2.4.1. Понятие подсистемы
    2.4.1. Понятие подсистемы Итак, прикладная система представляет собой множество взаимозависимых объектов (см. п. 2.1 ). Каждый объект характеризуется набором атрибутов, значения которых определяют...
    Объектная диаграмма банковской сети, в которой указан интерфейс с системным окружением
    Объектная диаграмма банковской сети, в которой указан интерфейс с системным окружением...
    Объектная диаграмма банковской сети и ее системного окружения
    Объектная диаграмма банковской сети и ее системного окружения Введение понятия подсистемы и возможность включать в объектную модель наряду с объектами (классами) и подсистемы определяет иерархичес...
    2.5. Динамическая модель системы или подсистемы
    2.5. Динамическая модель системы или подсистемы Объектная модель представляет статическую структуру проектируемой системы (подсистемы). Однако знания статической структуры недостаточно, чтобы поня...
    2.6. Функциональная модель подсистемы
    2.6. Функциональная модель подсистемы Функциональная модель описывает вычисления в системе. Она показывает, каким образом выходные данные вычисляются по входным данным, не рассматривая порядок и с...
    2.7. Заключительные замечания к разделу
    2.7. Заключительные замечания к разделу Цель анализа - обеспечить правильную постановку и адекватное понимание рассматриваемой прикладной задачи, помочь убедиться, что предварительно спроектирован...
    2.1.1. Объекты и классы
    2.1.1. Объекты и классы Объекты По определению будем называть объектом понятие, абстракцию или любую вещь с четко очерченными границами, имеющую смысл в контексте рассматриваемой прикладной пробле...
    Пример класса и объекта этого класса
    Пример класса и объекта этого класса Объединение объектов в классы позволяет ввести в задачу абстракцию и рассмотреть ее в более общей постановке. Класс имеет имя (например лошадь), которое относи...
    2.1.10. Множественное наследование
    2.1.10. Множественное наследование Множественное наследование позволяет классу иметь более одного суперкласса, наследуя свойства (атрибуты и операции) всех своих суперклассов. Класс, имеющий неско...
    Множественное наследование
    Множественное наследование Еще один пример множественного наследования приведен на рисунке 2.21, где рассмотрено множественное наследование от непересекающихся классов. В этом случае, который наиб...
    Множественное наследование от непересекающихся классов
    Множественное наследование от непересекающихся классов В случае, если множественное наследование не поддерживается языком программирования, выбранным для реализации, оно может быть заменено одним...
    Реализация множественного наследования с помощью вложенного простого наследования
    Реализация множественного наследования с помощью вложенного простого наследования...
    Реализация множественного наследования путем делегирования с использованием агрегации ролей
    Реализация множественного наследования путем делегирования с использованием агрегации ролей Еще один способ использования делегирования для реализации множественного наследования показан на рисунк...
    Реализация множественного наследования с использованием простого наследования и делегирования
    Реализация множественного наследования с использованием простого наследования и делегирования Возможны и другие способы замены множественного наследования. Во всех случаях при выборе способа замен...
    2.1.11. Связь объектов с базой данных
    2.1.11. Связь объектов с базой данных В объектно-ориентированном проектировании мы имеем дело с множествами взаимосвязанных объектов. Каждый объект может рассматриваться как переменная или констан...
    Объектная модель, определяющая абстрактный и конкретный классы
    Объектная модель, определяющая абстрактный и конкретный классы Класс описывает множество объектов - экземпляров этого класса. Объекты данного класса порождаются по описанию класса с помощью процес...
    Тиражирование метакласса
    Тиражирование метакласса Использование возможных ключей Возможным ключом (этот термин чаще употребляется в базах данных) называется минимальный набор атрибутов, который однозначно идентифицирует о...
    Возможные ключи бинарных зависимостей
    Возможные ключи бинарных зависимостей На рисунке 2.28 рассмотрены две тренарные зависимости. Первая из них определяется таблицей: Проект Исполнитель Язык САПР радиосхем Иванов Ada ПО АСУ Петров C...
    Возможные ключи тренарных зависимостей
    Возможные ключи тренарных зависимостей Легко видеть, что ни какой-либо из столбцов зависимости, ни какая-либо комбинация из двух столбцов не определяют однозначно строки таблицы. Следовательно, ед...
    Ограничения на объекты
    Ограничения на объекты На рисунке 2.29(а - в) представлены ограничения, накладываемые на объекты: (а) зарплата служащего не может превышать зарплаты его начальника (ограничение на значения одного...
    Ограничения на связи
    Ограничения на связи На рисунке 2.31 приведен пример общих ограничений на зависимости: указано, что зависимость является_председателем между объектами человек и комиссия есть подмножество зависимо...
    Общее ограничение между зависимостями
    Общее ограничение между зависимостями Производные объекты, связи и атрибуты Производный объект определяется как функция от одного или нескольких объектов. Он полностью определяется этими объектами...
    Производный атрибут
    Производный атрибут На рисунке 2.32 показан производный атрибут возраст класса человек, возраст определяется как разность значений объекта текущая_дата (соответствующий класс также показан на рису...
    Производный объект и производная зависимость
    Производный объект и производная зависимость Гомоморфизмы Гомоморфизм - это отображение между двумя зависимостями (как показано на рисунке 2.34). Например, деталь, описанная в каталоге деталей авт...
    Пример гомоморфизма
    Пример гомоморфизма Общий случай гомоморфизма показан на рисунке 2.35. Гомоморфизм отображает связи, определяемые зависимостью u , в связи, определяемые зависимостью t , являясь отображением типа...
    Общий случай гомоморфизма
    Общий случай гомоморфизма...
    2.1.2. Атрибуты объектов
    2.1.2. Атрибуты объектов Атрибут - это значение, характеризующее объект в его классе. Примеры атрибутов: категория, баланс, кредит (атрибуты объектов класса счет); имя, возраст, вес (атрибуты объе...
    2.1.3. Операции и методы
    2.1.3. Операции и методы Операция - это функция (или преобразование), которую можно применять к объектам данного класса. Примеры операций: проверить, снять, поместить (для объектов класса счет - р...
    Другие примеры классов
    Другие примеры классов Все объекты данного класса используют один и тот же экземпляр каждой операции (т.е. увеличение количества объектов некоторого класса не приводит к увеличению количества загр...
    Полное представление объекта в OMT
    Полное представление объекта в OMT...
    Возможные классы для системы AMT (банковское обслуживание)
    Возможные классы для системы AMT (банковское обслуживание)...
    2.1.4. Зависимости между классами (объектами)
    2.1.4. Зависимости между классами (объектами) С каждым объектом связана структура данных, полями которой являются атрибуты этого объекта и указатели функций (фрагментов кода), реализующих операции...
    Зависимости между классами
    Зависимости между классами Зависимости между классами являются двусторонними: все классы в зависимости равноправны. Это так даже в тех случаях, когда имя зависимости как бы вносит направление в эт...
    Дальнейшие примеры зависимостей. Обозначения
    Дальнейшие примеры зависимостей. Обозначения...
    Зависимости между объектами
    Зависимости между объектами Отметим, что при изображении зависимостей между объектами мы, как правило, знаем количество объектов и не нуждаемся в таких обозначениях как "несколько", "два и более",...
    Более сложные зависимости между объектами
    Более сложные зависимости между объектами Понятие зависимости перенесено в объектно-ориентированную технологию проектирования программных систем из технологии проектирования (и моделирования) баз...
    2.1.5. Атрибуты зависимостей
    2.1.5. Атрибуты зависимостей Зависимости, как и классы, могут иметь атрибуты: например, при организации доступа пользователя к файлу разрешение_на_доступ является атрибутом зависимости доступен: с...
    Пример атрибута зависимости
    Пример атрибута зависимости Еще один пример зависимостей, имеющих атрибуты, показан на рисунке 2.11. Из примера видно, что зависимость может иметь несколько атрибутов. Кроме того, на рисунке 2.11...
    Атрибуты двух зависимостей между одним и многими
    Атрибуты двух зависимостей между одним и многими Иногда зависимости, имеющие много атрибутов, представляют с помощью классов. Такие зависимости в базах данных представляются временными таблицами,...
    Представление зависимости в виде класса
    Представление зависимости в виде класса...
    2.1.6. Имена ролей, квалификаторы
    2.1.6. Имена ролей, квалификаторы Роль определяет одну сторону зависимости. В бинарной зависимости определены две роли. Имя роли однозначно определяет одну сторону зависимости. Роли дают возможнос...
    Имена ролей
    Имена ролей Пользователь может быть либо владельцем, либо зарегистрированным пользователем директории; директория может содержать в себе другие директории. Имена ролей следует обязательно указыват...
    Использование квалификаторов
    Использование квалификаторов Рисунок 2.14(в) может быть проинтерпретирован следующим образом: центральный компьютер + код_ATM определяют конкретную ATM (отметим, что код_ATM - имя одного из атрибу...
    2.1.7. Агрегация
    2.1.7. Агрегация Агрегация - это зависимость между классом составных объектов и классами, представляющими компоненты этих объектов (отношение "целое"-"часть"). Агрегация обозначается ромбиком: на...
    Агрегация
    Агрегация Наиболее важным свойством отношения агрегации является его транзитивность (если A есть часть B, а B есть часть C, то A есть часть C): так, из рисунка 2.15 можно заключить, что документ с...
    Примеры агрегации
    Примеры агрегации...
    3. Вторая фаза жизненного цикла - конструирование системы
    3. Вторая фаза жизненного цикла - конструирование системы После того как прикладная задача исследована и результаты ее исследования зафиксированы в виде объектной, динамической и функциональной мо...
    3.1. Разработка архитектуры системы
    3.1. Разработка архитектуры системы Во время анализа требований к системе основное внимание уделялось выяснению того, что должно быть сделано, вне зависимости от того, как это сделать. На этапе ра...
    3.2. Архитектура системы управления банковской сетью
    3.2. Архитектура системы управления банковской сетью Система управления банковской сетью, рассматриваемая нами в качестве примера, является гибридной системой: это, во-первых, система с интерактив...
    Архитектура системы управления банковской сетью
    Архитектура системы управления банковской сетью Постоянные хранилища данных (счета клиентов и банковская отчетная документация) имеются у подсистем банк, которые работают на компьютерах банков. По...
    3.3. Разработка объектов
    3.3. Разработка объектов Разработав архитектуру системы, переходим к разработке объектов (классов), составляющих систему. Часть объектов была выявлена на этапе анализа системы, эти объекты могут р...
    3.1.1. Разбиение системы на модули
    3.1.1. Разбиение системы на модули Первое, что необходимо сделать, начиная этап разработки системы, определить ее разбиение на некоторое количество компонентов - модулей. Модуль не является ни объ...
    Пример системы с уровневой архитектурой
    Пример системы с уровневой архитектурой Разделы Разделы подразделяют систему на несколько независимых или слабо связанных модулей (подсистем), каждая из которых обеспечивает один из видов услуг. Н...
    Типичная структура системы
    Типичная структура системы...
    Топология звезды
    Топология звезды Топология системы Когда все модули и подсистемы всех уровней названы, необходимо показать информационные потоки между модулями и подсистемами, построив ДПД (примеры см. в п. 3.1.8...
    3.1.2. Выявление асинхронного параллелизма
    3.1.2. Выявление асинхронного параллелизма В анализируемой модели, как и в реальном мире и в программном обеспечении все объекты независимы и должны работать асинхронно. Однако в реализации не все...
    3.1.3. Распределение модулей и подсистем по процессорам и задачам
    3.1.3. Распределение модулей и подсистем по процессорам и задачам Каждый асинхронный (независимый) объект (модуль или подсистема) должен быть приписан к одному из устройств аппаратуры: универсальн...
    3.1.4. Управление хранилищами данных
    3.1.4. Управление хранилищами данных Внутренние и внешние хранилища данных являются четкими точками раздела между подсистемами с хорошо определенными интерфейсами. В качестве хранилищ данных могут...
    3.1.5. Управление глобальными ресурсами
    3.1.5. Управление глобальными ресурсами Необходимо определить глобальные ресурсы и разработать механизмы управления доступом к ним. Глобальными ресурсами могут быть: процессоры, устройства внешней...
    3.1.6. Реализация управления программным обеспечением
    3.1.6. Реализация управления программным обеспечением Во время анализа все взаимодействия представляются в виде событий. Управление аппаратурой соответствует этой модели, но необходимо выбрать мет...
    3.1.7. Пограничные ситуации
    3.1.7. Пограничные ситуации Необходимо предусмотреть поведение каждого объекта и всей системы в пограничных ситуациях: инициализации, терминации и обвале. Инициализация. Перед тем, как начать рабо...
    3.1.8. Обзор архитектур прикладных систем
    3.1.8. Обзор архитектур прикладных систем Существует несколько типов архитектур, обычно используемых в существующих системах. Каждая из них хорошо подходит к определенному типу систем. Проектируя...
    Система непрерывной обработки: машинная графика
    Система непрерывной обработки: машинная графика При разработке системы непрерывной обработки необходимо выполнить следующие шаги: Строим диаграмму потока данных; активные объекты в ее начале и в к...
    Система с интерактивным интерфейсом: ATM
    Система с интерактивным интерфейсом: ATM При разработке системы с интерактивным интерфейсом необходимо выполнить следующие шаги: Выделяем объекты, формирующие интерфейс. Если есть возможность, исп...
    3.3.1. Совместное рассмотрение трех моделей
    3.3.1. Совместное рассмотрение трех моделей В результате анализа мы получаем три модели: объектную, динамическую и функциональную. При этом объектная модель составляет базу, вокруг которой осущест...
    4. Сравнительный анализ объектно-ориентированных методологий разработки программных систем
    4. Сравнительный анализ объектно-ориентированных методологий разработки программных систем Разработка программных систем охватывает первые две стадии их жизненного цикла: стадию анализа требований...
    4.1. Методология OMT
    4.1. Методология OMT Методология OMT (Object Modeling Technique), достаточно подробно рассмотренная в разделах 2 и 3 , поддерживает две первые стадии разработки программных систем. Эта методология...
    4.2. Методология SA/SD
    4.2. Методология SA/SD Методология SA/SD (Structured Analysis/Structured Design) содержит несколько вариантов систем обозначений для формальной спецификации программных систем. На этапе анализа тр...
    4.3. Методология JSD
    4.3. Методология JSD Методология JSD (Jackson Structured Development) предлагает свой стиль разработки программных систем; он отличается от стиля, принятого в методологиях SA/SD или OMT. Методолог...
    4.4. Методология OSA
    4.4. Методология OSA Методология OSA (Object-Oriented System Analysis) обеспечивает объектно-ориентированный анализ программных систем и не содержит возможностей, связанных с поддержкой этапа разр...
    Модель зависимостей между объектами для системы управления топкой в теплоцентрали
    Модель зависимостей между объектами для системы управления топкой в теплоцентрали Модель поведения объектов представляет собой набор диаграмм состояний объектов: на этих диаграммах изображаются со...
    Поведение объекта "термостат"
    Поведение объекта "термостат" Модель взаимодействия объектов - это набор представлений проектируемой системы, на которых показаны взаимодействия объектов между собой и с окружением системы (см. ри...
    Различные представления модели топки
    Различные представления модели топки Интерпретация и анализ представлений (моделей) проектируемой системы позволяет полностью формализовать описания объектов и получить строгую формальную специфик...
    Формальная модель топки, разработанная с помощью методологии OSA
    Формальная модель топки, разработанная с помощью методологии OSA...
    5. Третья фаза жизненного цикла - реализация объектно-ориентированного проекта
    5. Третья фаза жизненного цикла - реализация объектно-ориентированного проекта Третья фаза жизненного цикла программной системы состоит в реализации разработанных программных единиц (классов, функ...
    5.1. Объектно-ориентированный стиль программирования
    5.1. Объектно-ориентированный стиль программирования Правильно разработанные программы должны не только удовлетворять своим функциональным требованиям, но и обладать такими свойствами, как: повтор...
    5.2. Объектно-ориентированные системы программирования
    5.2. Объектно-ориентированные системы программирования Рассмотрим проблемы реализации проекта, разработанного с использованием методологии OMT, в системах программирования объектно-ориентированных...
    Часть объектной модели графического редактора
    Часть объектной модели графического редактора Изложение будет вестись на примере реализации графического редактора, часть объектной модели которого представлена на рисунке 5.1. Редактор поддержива...
    5.3. Реализация на языке C++
    5.3. Реализация на языке C++ Язык C++ является наиболее распространенным объектно-ориентированным языком программирования. Поэтому рассмотрение вопросов реализации начнем с этого языка. Поскольку...
    5.4. Другие объектно-ориентированные системы программирования
    5.4. Другие объектно-ориентированные системы программирования Язык C++ является сейчас наиболее распространенным объектно-ориентированным языком. Однако существуют и другие популярные объектно-ори...
    5.5. Не объектно-ориентированные системы программирования
    5.5. Не объектно-ориентированные системы программирования Прикладную программную систему, спроектированную по методологии OMT, совсем не обязательно реализовывать на объектно-ориентированном языке...
    5.3.1. Реализация классов
    5.3.1. Реализация классов Реализация прикладной программной системы, спроектированной с помощью объектно-ориентированной методологии (например, методологии OMT), на языке C++ начинается с определе...
    5.3.2. Порождение объектов
    5.3.2. Порождение объектов В каждом классе языка C++ могут быть определены специальные методы (один, или несколько), обращение к которым приводит к порождению нового объекта этого класса. Такие ме...
    5.3.3. Вызов операций
    5.3.3. Вызов операций В языке C++ операция (метод) определяется как один из членов класса. При вызове операции используются те же обозначения, что и при обращении к атрибутам: операция выбора член...
    5.3.4. Использование наследования
    5.3.4. Использование наследования В языке C++ наследование устанавливается только при составлении программы и не может быть изменено в процессе ее выполнения. Поведение каждого объекта полностью о...
    5.3.5. Реализация зависимостей
    5.3.5. Реализация зависимостей Зависимости в языке C++ реализуются с помощью указателей или с помощью специальных объектов. Например, зависимость "много-к-одному" между классами Item и Group реали...
    5.3.6. Шаблоны в языке C++
    5.3.6. Шаблоны в языке C++ В языке C++ возможно и параметрическое программирование (программирование с использованием родовых компонентов). Родовые (параметризованные) компоненты обладают свойство...
    5.4.1. Реализация классов
    5.4.1. Реализация классов Определение класса Window на языке Eiffel мало отличается от соответствующего определения на языке C++ (сравните с п. 5.3.1 ): class WINDOW export add_box, add_circle, cl...
    5.4.2. Порождение объектов
    5.4.2. Порождение объектов В языке Eiffel объявление переменной (в этом языке вместо термина "переменная" используется термин сущность (entity)) отделено от порождения соответствующего объекта. Об...
    5.4.3. Вызов операций
    5.4.3. Вызов операций В языке Eiffel методы называются подпрограммами (routines). При вызове этих подпрограмм им передаются параметры, которые могут иметь простой тип (REAL, INTEGER, BOOLEAN, или...
    2.1.8. Обобщение и наследование
    2.1.8. Обобщение и наследование Обобщение и наследование позволяют выявить аналогии между различными классами объектов, определяют многоуровневую классификацию объектов. Так, в графических система...
    Обобщение (выделение суперклассов)
    Обобщение (выделение суперклассов) Обобщение позволяет выделить класс одномерные фигуры и считать классы прямая, дуга и сплайн подклассами класса одномерные фигуры, а класс одномерные фигуры - суп...
    Другие примеры обобщения (наследования)
    Другие примеры обобщения (наследования) Необходимо отметить, что, как показывает опыт практического проектирования систем, следует избегать обширных многоуровневых классификаций, так как поведение...
    2.1.9. Абстрактные классы
    2.1.9. Абстрактные классы Рассмотрим пример, представленный на рисунке 2.19. В нем рассмотрена операция подсчет выплат для различных категорий служащих фирмы: временных служащих с почасовой оплато...
    Абстрактный класс
    Абстрактный класс Абстрактный класс не может иметь объектов, так как в нем не определены операции над объектами; объекты должны принадлежать конкретным подклассам абстрактного класса. Абстрактные...
    2.2.1. Определение классов
    2.2.1. Определение классов Анализ внешних требований к проектируемой прикладной системе позволяет определить объекты и классы объектов, связанные с прикладной проблемой, которую должна решать эта...
    2.2.2. Подготовка словаря данных
    2.2.2. Подготовка словаря данных Отдельные слова имеют слишком много интерпретаций. Поэтому необходимо в самом начале проектирования подготовить словарь данных, содержащий четкие и недвусмысленные...
    2.2.3. Определение зависимостей
    2.2.3. Определение зависимостей На следующем этапе построения объектной модели определяются зависимости между классами. Прежде всего из классов исключаются атрибуты, являющиеся явными ссылками на...
    Неизбыточные зависимости
    Неизбыточные зависимости Удалив избыточные зависимости, нужно уточнить семантику оставшихся зависимостей следующим образом: неверно названные зависимости: их следует переименовать, чтобы смысл их...
    2.2.4. Уточнение атрибутов
    2.2.4. Уточнение атрибутов На следующем этапе уточняется система атрибутов: корректируются атрибуты классов, вводятся, в случае необходимости, новые атрибуты. Атрибуты выражают свойства объектов р...
    2.2.5. Организация системы классов, используя наследование
    2.2.5. Организация системы классов, используя наследование Далее необходимо постараться найти суперклассы для введенных классов. Это полезно, так как проясняет структуру модели и облегчает последу...
    2.2.6. Дальнейшее исследование и усовершенствование модели
    2.2.6. Дальнейшее исследование и усовершенствование модели Лишь в очень редких случаях построенная объектная модель сразу же оказывается корректной. Модель должна быть исследована и отлажена. Неко...
    2.3.1. Определение объектов и классов
    2.3.1. Определение объектов и классов В пункте 1.3 сформулирована задача и приведена схема сети банковского обслуживания ( рисунок 1.3 ). Анализируя эту постановку задачи, можно выделить возможные...
    2.3.2. Подготовка словаря данных
    2.3.2. Подготовка словаря данных Приведем часть словаря данных, содержащую определения классов, используемых в проекте. ATM (банкомат) - терминал, который дает возможность клиенту осуществлять сво...
    2.3.3. Определение зависимостей
    2.3.3. Определение зависимостей Следуя рекомендациям п. 2.2.3 , выделяем явные и неявные глагольные обороты из предварительной постановки задачи и рассматриваем их как имена возможных зависимостей...
    Первая версия объектной диаграммы для банковской сети
    Первая версия объектной диаграммы для банковской сети...
    2.3.4. Уточнение атрибутов
    2.3.4. Уточнение атрибутов Применяя критерии, сформулированные в п. 2.2.4 , получим: Карточка содержит код_банка и код_карточки; их можно считать атрибутами объектов класса карточка, но удобнее ис...
    2.3.5. Организация системы классов с использованием наследования
    2.3.5. Организация системы классов с использованием наследования В рассматриваемом примере естественно определить суперклассы для объектов, определяющих различные терминалы: кассовый_терминал и AT...
    Объектная диаграмма для банковской сети после уточнения атрибутов и добавления квалификаторов
    Объектная диаграмма для банковской сети после уточнения атрибутов и добавления квалификаторов...
    Объектная диаграмма для банковской с учетом наследования
    Объектная диаграмма для банковской с учетом наследования...
    2.3.6. Дальнейшее усовершенствование модели
    2.3.6. Дальнейшее усовершенствование модели Карточка выступает в двух сущностях: как регистрационная единица в банке (сберкнижка), обеспечивающая клиенту доступ к его счетам, и как структура данны...
    Окончательный вид объектной диаграммы для банковской сети
    Окончательный вид объектной диаграммы для банковской сети После внесения перечисленных изменений объектная диаграмма примет вид, представленный на рисунке 2.40. На этом построение объектной модели...
    2.4.2. Интерфейсы и окружения
    2.4.2. Интерфейсы и окружения Объекты и подсистемы, составляющие подсистему более высокого уровня, будем называть компонентами последней. Как уже было отмечено, для каждого компонента, входящего в...
    Объектная диаграмма банковской сети после выделения подсистемы банк
    Объектная диаграмма банковской сети после выделения подсистемы банк При этом внешние интерфейсы подсистем банк и окружение вместе с интерфейсами объектов ATM и консорциум образуют внутреннее окруж...
    2.5.1. События, состояния объектов и диаграммы состояний
    2.5.1. События, состояния объектов и диаграммы состояний Текущее состояние объекта характеризуется совокупностью текущих значений его атрибутов и связей. Во время работы системы составляющие ее об...
    Пример сценария: разговор по телефону
    Пример сценария: разговор по телефону Следующим этапом после разработки и анализа сценариев является определение объектов, генерирующих и принимающих каждое событие сценария. Последовательности со...
    Трасса событий для разговора по телефону
    Трасса событий для разговора по телефону Состояния Состояние определяется совокупностью текущих значений атрибутов и связей объекта. Например, банк может иметь состояния платежеспособный и неплате...
    Диаграмма состояний телефонной линии
    Диаграмма состояний телефонной линии На рисунке 2.46 приведена, в качестве примера, диаграмма состояний телефонной линии. Другие примеры диаграмм состояний см. в последующих пунктах....
    2.5.2. Условия
    2.5.2. Условия Условие - это логическая (булева) функция от значений объектов, как например, карточку удалось прочитать, температура ниже нуля и т.п. Условие может выполняться в течение некоторого...
    Диаграмма состояний, на которой указаны условия
    Диаграмма состояний, на которой указаны условия...
    2.5.3. Активности и действия
    2.5.3. Активности и действия Диаграмма состояний была бы не очень полезной, если бы она содержала только переходы (безусловные и условные), соответствующие генерируемым во время работы системы соб...
    Указание активностей и действий на диаграмме состояний
    Указание активностей и действий на диаграмме состояний Действием называется мгновенная операция, связанная с событием: при возникновении события происходит не только переход объекта в новое состоя...
    Диаграмма состояний телефонной линии, на которой указаны активности и действия
    Диаграмма состояний телефонной линии, на которой указаны активности и действия Действия могут также представлять внутренние операции управления объекта, как например, присваивание значений атрибут...
    2.5.4. Одновременные события. Синхронизация
    2.5.4. Одновременные события. Синхронизация На рисунке 2.50 представлена диаграмма состояний составного объекта: он состоит из четырех параллельно и независимо работающих компонентов (состояние ка...
    Диаграмма состояний составного объекта (подсистемы)
    Диаграмма состояний составного объекта (подсистемы) Если синхронизирующее событие вырабатывается вне синхронизируемого объекта, оно может быть передано ему из другого объекта; на диаграмме это обо...
    Передача события из одного объекта другому
    Передача события из одного объекта другому Если объект получает события из нескольких независимых объектов, то состояние, в которое он перейдет, может зависеть от порядка, в котором будут получены...
    Синхронизация в подсистеме
    Синхронизация в подсистеме Из рассмотренного примера видно, что в различных состояниях может параллельно работать разное число процессов (активностей)....
    2.5.5. Вложенные диаграммы состояний
    2.5.5. Вложенные диаграммы состояний Диаграмма состояний компонента трансмиссия ( рисунок 2.50 ) имеет узел (состояние) вперед, который сам является диаграммой состояний (вложенная диаграмма состо...
    2.5.6. Динамическая модель банковской сети
    2.5.6. Динамическая модель банковской сети В качестве примера применения рассмотренных принципов построения динамической модели построим динамическую модель банковской сети. Начнем с составления и...
    Нормальный сценарий для банковской сети
    Нормальный сценарий для банковской сети На рисунке 2.53 представлен нормальный сценарий обслуживания клиента в банковской сети; один из возможных сценариев, содержащих исключительные ситуации, пок...
    Сценарий для банковской сети, содержащий исключительные ситуации
    Сценарий для банковской сети, содержащий исключительные ситуации Для каждого сценария можно составить соответствующую трассу событий (рисунок 2.55). Для этого выделяем в сценарии имена событий (со...
    Трасса событий в банковской сети
    Трасса событий в банковской сети...
    Привязка событий к объектам банковской сети
    Привязка событий к объектам банковской сети Построение диаграмм состояний начинается с привязки событий к объектам банковской сети (см. рисунок 2.56), являющимся источниками этих событий. Сначала...
    Диаграмма состояний объектов класса ATM (банкомат)
    Диаграмма состояний объектов класса ATM (банкомат)...
    Диаграмма состояний объектов класса консорциум
    Диаграмма состояний объектов класса консорциум...
    Диаграмма состояний объектов класса банк
    Диаграмма состояний объектов класса банк...
    2.6.1. Диаграммы потоков данных
    2.6.1. Диаграммы потоков данных Функциональная модель представляет собой набор диаграмм потоков данных (далее - ДПД), которые описывают смысл операций и ограничений. ДПД отражает функциональные за...








Начало