- •Лекция 1. Основные модели разработки по Определение технологии конструирования программного обеспечения
- •Классический жизненный цикл
- •Макетирование
- •Стратегии конструирования по
- •Инкрементная модель
- •Быстрая разработка приложений
- •Спиральная модель
- •Компонентно-ориентированная модель
- •Лекция 2. Анализ программных систем Структурный анализ
- •Диаграммы потоков данных
- •Описание потоков данных и процессов
- •Расширения для систем реального времени
- •Расширение возможностей управления
- •Методы анализа, ориентированные на структуры данных
- •Метод анализа Джексона. Методика Джексона.
- •Методика Джексона
- •Шаг объект-действие
- •Шаг объект-структура
- •Шаг начального моделирования
- •Лекция 3. Синтез программных систем Особенности процесса синтеза программных систем
- •Особенности этапа проектирования
- •Структурирование системы
- •Моделирование управления
- •Декомпозиция подсистем на модули
- •Модульность
- •Информационная закрытость
- •Связность модуля
- •Сцепление модулей
- •Сложность программной системы
- •Лекция 4. Классические методы проектирования
- •Метод структурного проектирования
- •Типы информационных потоков
- •Проектирование для потока данных типа «преобразование»
- •Диаграмма потоков данных пдд
- •Проектирование для потока данных типа «запрос»
- •Диаграмма потоков данных
- •Метод проектирования Джексона
- •Доопределение функций
- •Учет системного времени
- •Принципы объектно-ориентированного представления программных систем
- •Абстрагирование
- •Инкапсуляция
- •Модульность
- •Иерархическая организация
- •Лекция 5. Объекты. Классы. Отношения Объекты
- •Общая характеристика объектов
- •Виды отношений между объектами
- •Видимость объектов
- •Агрегация
- •Общая характеристика классов
- •Виды отношений между классами
- •Ассоциации классов
- •Наследование
- •Полиморфизм
- •Агрегация
- •Зависимость
- •Конкретизация
- •Лекция 6. Базис языка визуального моделирования
- •Унифицированный язык моделирования
- •Предметы в uml
- •Отношения в uml
- •Диаграммы в uml
- •Механизмы расширения в uml
- •Лекция 7. Статические модели объектно-ориентированных программных систем
- •Вершины в диаграммах классов
- •Свойства
- •Операции
- •Организация свойств и операций
- •Множественность
- •Отношения в диаграммах классов
- •Деревья наследования
- •Лекция 8. Динамические модели объектно-ориентированных программных систем
- •Моделирование поведения программной системы
- •Диаграммы схем состояний
- •Действия в состояниях
- •Условные переходы
- •Вложенные состояния
- •Диаграммы деятельности
- •Диаграммы взаимодействия
- •Диаграммы сотрудничества
- •Диаграммы последовательности
- •Лекция 9. Диаграммы use casEe
- •Актеры и элементы Use Case
- •Отношения в диаграммах Use Case
- •Работа с элементами Use Case
- •Пример диаграммы Use Case
- •Построение модели требований
- •Лекция 10. Кооперации и паттерны
- •Паттерн Наблюдатель
- •Паттерн Компоновщик
- •Бизнес-модели
- •Глава 11. Модели реализации объектно-ориентированных программных систем
- •Компонентные диаграммы
- •Компоненты
- •Интерфейсы
- •Компоновка системы
- •Разновидности компонентов
- •Использование компонентных диаграмм
- •Моделирование программного текста системы
- •Моделирование реализации системы
- •Лекция 12. Основы компонентной объектной модели
- •Организация интерфейса сом
- •Идентификация интерфейса
- •Описание интерфейса
- •Реализация интерфейса
- •Unknown — базовый интерфейс com
- •Серверы сом-объектов
- •Преимущества com
- •Работа с сом-объектами
- •Создание сом-объектов
- •IClassFactory :: Createlnstance (iid a); 2 — фабрика класса создает сом-объект и получает
- •Повторное использование сом-объектов
- •Маршалинг
- •Лекция 13. Современные визуальнЫе среды и case - средства
- •Общая характеристика case-системы Rational Rose
- •Создание диаграммы Use Case
- •Создание диаграммы последовательности
- •Создание диаграммы классов
- •Создание компонентной диаграммы
- •Генерация программного кода
- •Лекция 14. Особенности информационных банковских систем и технологий
- •Модульный принцип
- •Ядро системы - базовый модуль
- •Лекция 15. Принцип единства информационного пространства
- •Принцип безопасности
- •Принцип эффективности
- •Принцип взаимодействия
- •Лекция 16. Общие вопросы обеспечения технологии и систем
- •Рынок информационных банковских систем
- •Виды информационных банковских технологий
- •Операционные технологии
- •Документарные информационные технологии
- •Объектные информационные технологии
Маршалинг
Клиент может содержать прямую ссылку на СОМ-объект только в одном случае — когда СОМ-объект размещен в сервере «в процессе». В случае локального или удаленного сервера, как показано на рис. 13.23, он ссылается на посредника.
Посредник — СОМ-объект, размещенный в клиентском процессе и предоставляющий клиенту те же интерфейсы, что и запрашиваемый объект. Запрос клиентом операции через такую ссылку приводит к исполнению кода посредника.
Посредник принимает параметры, переданные клиентом, и упаковывает их для дальнейшей пересылки. Эта процедура называется маршалингом. Затем посредник (с помощью средства коммуникации) посылает запрос в процесс, который на самом деле реализует СОМ-объект.
Рис. 13.23. Организация маршалинга и демаршалинга
По прибытии в процесс локального сервера запрос передается заглушке. Заглушка распаковывает параметры запроса и вызывает операцию СОМ-объекта. Эта процедура называется демаршалингом. После завершения СОМ-операции результаты возвращаются в обратном направлении.
Код посредника и заглушки автоматически генерируется компилятором MIDL (Microsoft IDL) по IDL-описанию интерфейса.
Лекция 13. Современные визуальнЫе среды и case - средства
В современных условиях создание сложных программных приложений невозможно без использования систем автоматизированного конструирования ПО (CASE-систем). CASE-системы существенно сокращают сроки и затраты разработки, оказывая помощь инженеру в проведении рутинных операций, облегчая его работу на самых разных этапах жизненного цикла разработки. Наиболее известной объектно-ориентированной CASE-системой является Rational Rose. В данной главе рассматривается порядок применения Rational Rose при формировании требований, анализе, проектировании и генерации программного кода.
Общая характеристика case-системы Rational Rose
Rational Rose — это CASE-система для визуального моделирования объектно-ориентированных программных продуктов. Визуальное моделирование — процесс графического описания разрабатываемого программного обеспечения. Экран среды Rational Rose показан на рис. 17.1.
В его составе выделим шесть элементов: строку инструментов, панель «инструменты диаграммы», окно диаграммы, браузер, окно спецификации, окно документации.
Как показано на рис. 17.2, кнопки строки инструментов позволяют выполнять стандартные и специальные действия.
Содержание панели инструментов диаграммы меняется в зависимости от активной диаграммы. Окно активной диаграммы имеет синюю строку заголовка (рис. 17.3).
В окне диаграммы можно создавать, отображать и изменять диаграмму на языке UML.
Рис. 17.1. Экран среды Rational Rose
Рис. 17.2. Кнопки строки инструментов Rational Rose
Браузер Rational Rose является инструментом иерархической навигации, позволяющим просматривать названия и пиктограммы, отображающие диаграммы и элементы визуальной модели (рис. 17.4).
Знак плюс (+) рядом с папкой означает, что внутри папки находятся дополнительные элементы. Для «разворачивания» папки надо нажать на знак +. Если папка «развернута», то слева от нее появляется знак минус (-). Для «сворачивания» структуры папки нажимается знак минус.
Окно спецификации позволяет задавать характеристики элемента диаграммы (рис. 17.5).
В поле Documentation этого окна вводится словесное описание данного элемента. Это же описание можно вводить в Окно документации Rational Rose (когда данный элемент выделен в диаграмме).
Рис. 17.3. Панель инструментов и окно активной диаграммы
Рис. 17.4. Браузер Rational Rose
В качестве примера работы с Rational Rose рассмотрим построение модели университетской системы для регистрации учебных курсов (классический пример компании Rational), автор которой — Терри Кватрани [57].
Эта система используется:
профессором — для задания читаемого курса;
студентом — для выбора изучаемого курса;
регистратором — для формирования учебного плана и расписания;
учетной системой — для определения денежных затрат.
Рис. 17.5. Окно спецификации и окно документации Rational Rose
