
- •Требования к оформлению отчетов…………………………….5
- •1 Требования к оформлению отчетов
- •Роли и ответственность участников бизнес-процесса
- •Система показателей для управления бизнес-процессом
- •Ход выполнения работы
- •3 Лабораторная работа №2 Формализация требований к программной системе с использованием Диаграммы прецедентов (Use сase diagram)
- •Теоретические сведения
- •Ход выполнения работы
- •4 Лабораторная работа №3 Разработка модели предметной области с применением Диаграммы классов, Диаграммы объектов и Диаграммы взаимодействия
- •Теоретические сведения
- •Ход выполнения работы
- •6 Лабораторная работа №5 Разработка программной системы с применением Диаграмм классов, Диаграмм объектов и Диаграмм взаимодействия на основе шаблона проектирования
- •Теоретические сведения
- •Ход выполнения работы
- •7 Лабораторная работа №6 Моделирование предметных областей на основе онтологического подхода
- •Теоретические сведения
- •Ход выполнения работы
- •Список рекомендованной литературы
- •Дополнительная литература
- •Методические указания к лабораторным и самостоятельным работам по дисциплине
- •(Для студентов специальности 7, 8.050102 «Информационные технологии проектирования» очной и заочной формы обучения)
Сделать выводы о предполагаемых вариантах программной реализации программного продукта.
Требования к содержанию работы
Название работы.
Цель работы.
Формулировка индивидуального задания.
Диаграмма состояний с ее описанием (особое внимание уделить полноте описания изменяемых параметров в каждом состоянии и условиям перехода из одного состояния программной системы в другое состояние).
Диаграмма компонентов (особое внимание уделить модульной структуре программной системы, назначению файлов системы).
Диаграмма развертывания (особое внимание уделить возможным вариантам развертывания программной системы в узлах).
Анализ разработанного проекта программного продукта с точки зрения его развертывания в узлах.
Выводы о предполагаемых вариантах программной реализации.
Вопросы для контроля и самостоятельной работы
Понятия и виды событий и сигналов в системе.
Характеристика автоматов.
Понятие и этапы моделирования исключений.
Процессы и нити - характеристика понятий.
Характеристика и применение Диаграмм деятельности. Примеры
Характеристика элементов и применение Диаграмм состояний.
Характеристика и применение Диаграмм компонентов
Характеристика и применение Диаграмм развертывания
6 Лабораторная работа №5 Разработка программной системы с применением Диаграмм классов, Диаграмм объектов и Диаграмм взаимодействия на основе шаблона проектирования
Цель работы: научиться выполнять объектно - ориентированное проектирование программного продукта с использованием шаблонов проектирования различного назначения.
Теоретические сведения
Теоретические сведения приведены в материалах лекций и методических указаниях к выполнению лабораторных работ по дисциплинам «Технология программирования» (№4) и «Автоматизированное проектирование сложных объектов и систем», а также «Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода» (ч.1, ч.2).
Теоретические сведения о шаблонах проектирования приведены в литературе [5,8].
Ход выполнения работы
Изучить теоретические сведения.
Выполнить объектно-ориентированное проектирование программного продукта (на уровне проекта программной системы ) с использованием шаблонов проектирования различного назначения, разработать следующие диаграммы программной системы:
классов (с использованием шаблонов проектирования);
объектов (при необходимости);
последовательностей (или кооперации - по согласованию) с учетом реализации на основе шаблонов проектирования (для согласованных прецедентов).
Выполнить программную реализацию программного продукта (с применением шаблонов проектирования).
Выполнить анализ разработанного проекта и кода программного продукта.
Сделать выводы о программной реализации программного продукта.
Требования к содержанию работы
Название работы.
Цель работы.
Формулировка индивидуального задания.
Диаграмма классов с ее описаним (особое внимание уделить описанию функций и работы шаблонов и их взаимодействию с классами предметной области).
Диаграмма последовательностей или кооперации (особое внимание уделить описанию работы шаблонов различных видов и их взаимодействию с классами предметной области (в процессе создания объектов программной системы и последовательности взаимодействия в рамках согласованных прецедентов). Диаграммы могут быть приведены отдельно для каждого прецедента.
Краткое описание кода программного продукта и реализации шаблонов.
Анализ разработанного проекта и кода программного продукта.
Выводы о программной реализации программного продукта.
Вопросы для контроля и самостоятельной работы
Назначение шаблонов проектирования.
Классификация шаблонов проектирования. Группы (виды) шаблонов проектирования.
Элементы описания шаблонов проектирования (4 раздела).
Хранение состояний объекта, его изменение.
Ссигнатура операции, данные, которые она содержит.
Шаблоны проектирования входящие в группу GRASP, их назначение.
Характеристика шаблона «Информационный эксперт» (Information Expert)
Виды обязанностей классов, их реализация
Шаблоны проектирования «Создатель» (Creator), «Снижение связанности» (Low Coupling)
Стандартные способы связывания классов.
Шаблоны проектирования «Высокое зацепление» (High Cohesion), «Контроллер» (Controller), их особенности
Уровни абстракции программных системы
Группы (виды) шаблонов проектирования GoF
Шаблоны проектирования, которые относятся к группе порождающих
Каково назначение (задача) шаблонов “Абстрактна фабрика” (Abstract Factory), “Строитель” (Builder), “Фабричный метод” (Factory method), “Прототип” (Prototype), “Одиночка” (Syngleton). В чем принцип их работы
Шаблоны проектирования, которые относятся к группе структурных
Каково назначение (задача) шаблонов “Адаптер” (Adapter), Мост (Bridge), «Композит” (Composite), “Декоратор” (Decorator), “Фасад” (Fasad). В чем принцип их работы
Каково назначение (задача) шаблонов “Приспособленец” (Flyweight), “Заместитель” (Proxy), Цепь обязанностей (Chein of Responsibility), Команда (Command), Интерпритатор (Interpreter). В чем принцип их работы
Каково назначение (задача) шаблонов Медиатор (Mediator), Хранитель (Memento), Наблюдатель (Observer), Стратегия (Strategy), Темплет-метод (Template method), Посетитель (Visitor). В чем принцип их работы
7 Лабораторная работа №6 Моделирование предметных областей на основе онтологического подхода
Цель работы: научиться разрабатывать различные онтологии предметных областей: понятий, задач и процессов.
Теоретические сведения
Рассмотрим методику онтологического моделирования предметных областей с использованием различных видов концептов.
Для эффективного выполнения задач предметной области при реализации процедур сбора и обработки данных об объектах, действующих в предметной области, необходимо соответствующим образом систематизировать знания о ней, накопленные специалистами и аналитиками, в виде онтологий. Такая систематизация знаний, представление их в форме, позволяющей верифицировать их комплексность, полноту отображения реальной действительности, непротиворечивость, целостность, дает возможность организовать информационное обеспечение деятельности путем реализации информационных систем, основанных на онтологиях. Такие информационные системы позволяют специалистам и аналитикам непосредственно работать со знаниями при решении конкретных задач анализа данных и синтеза проектных решений.
Процесс построения онтологий, который включает в себя представление концептуальных и значимых знаний о предметной области, является творческим процессом, базирующимся на применении набора когнитивных операций для восприятия действительности, понимания и формализации участвующих в конкретном проявлении этой действительности объектов и отношений между ними. Знания в рамках онтологии представляются в декларативной форме, хотя взаимовлияния концептов представляют собой элементы процедурного описания предметной области. Отличием онтологических диаграмм (онтографов) является обобщенное и унифицированное представление знаний о предметной области, которое может быть использовано для решения разных задач исследования различными аналитическими группами. Однако для реализации этого отличия при построении онтологий должны использоваться такие понятийные единицы (концепты, отношения), которые являются общепринятыми, однозначно трактуемыми с семантической точки зрения. При соблюдении такого метода построения получаемые онтологии могут быть затем расширены, пополнены и ограничены, подвергнуты межонтологическим отображениям.
Исходя из вышесказанного, можно сформулировать следующие основные требования, которым должны удовлетворять конструируемые онтологии:
Доходчивость, ясность. Термины (и понятия) онтологии должны отражать реальную действительность. Их символьные обозначения (знаки) должны формироваться на основе общепринятых правил в семиотике и должны выражать общепринятые смыслы реальных объектов.
Обоснованность, связность. Формирование начального набора понятий онтологии и их добавление должно быть обоснованным, определяемым, в первую очередь, требованиями предполагаемой совокупности решаемых задач.
Расширяемость. Ядром онтологии являются первоначально введенные (спроектированные) понятия и описывающие их высказывания. В онтологии должен быть предусмотрен механизм расширения (ограничения) совместно используемых словарей понятий без нарушения целостности системы.
Минимальное влияние кодирования. Необходимо выполнять спецификацию онтологии на уровне представления в общепринятом языке описания онтологии, независимом от платформы реализации. Такое описание можно передать для использования любому аналитику или программному агенту.
Минимальные онтологические обязательства. Важно, чтобы множество понятий онтологии отображало концептуальную структуру предметной области, относительно стабильную на протяжении жизненного цикла информационной системы.
При моделировании предметной области, после формулировки задач обработки материальных потоков и потоков данных, всегда имеется возможность выделить концепты-объекты (сущности), концепты-процессы (явления), в ходе которых выполняется обработка потоков и ресурсов в рамках решаемых задач, а также отношения между ними. Все множество отношений в онтологии, как результата формализации знаний о перечне и поведении сущностей, явлений и процессов в предметной области, можно классифицировать на три группы: таксономические (род-вид, синонимия и т.п.), композиционные (целое-часть, сущность-атрибут и т.п.) и проблемно-специфические («является источником», «участвует (обеспечивает)», «является средой реализации» и т.п.). При обобщении всех рассмотренных компонент в ходе комплексного моделирования предметной области получают следующие виды онтологий:
–
онтология множества объектов (понятий,
концептов, сущностей) предметной
области, которая рассматривается как
иерархическая структура классов,
подклассов и элементов классов;
–
онтология множества процессов предметной
области, которая рассматривается как
иерархическая структура
процессов, подпроцессов, действий и
операций;
–
онтология
совокупности задач анализа и синтеза
(аспектов рассмотрения), которые могут
быть поставлены и решены в предметной
области. Такая онтология рассматривается
как иерархическая структура задач,
подзадач, процедур и операторов.
Для построения эффективной и адекватной онтологии необходимо выполнить этап предварительного анализа предметной области, который включает в себя:
задачу ограничения предметных областей: обоснованный выбор точного (и достаточного) фрагмента предметной области, относительно которой будут ставиться и решаться задачи пользователя;
задачу определения онтологических операций: выбор методов и процедур системно-онтологического анализа, которыми, в частности, могут быть абстрагирование и конкретизация, композиция и декомпозиция, структурирование, кластеризация и классификация, тестирование и верификация;
составление детального словаря (глоссария, тезауруса) терминов и его разбиение на подмножества терминов-объектов, терминов-процессов и терминов-задач.
Рассмотрим процесс построения онтологии объектов предметной области.
В отличие от общей формальной модели онтологии, под онтологией объектов предметной области понимается кортеж четырёх множеств:
, (1)
где
,
,
– конечное множество концептов (понятий)
заданной
предметной области;
,
,
,
–
конечное множество семантически
значимых отношений между концептами
предметной области. Они определяют тип
взаимосвязи между
понятиями. В общем случае, отношения
делят
на
общезначимые
(из
которых выделяют,
как правило, отношения частичного
порядка) и конкретные
отношения заданной
предметной области;
–
конечное множество функций интерпретации,
заданных на концептах и/или отношениях:
–
конечное
множество аксиом, которые используются
для записи всегда истинных высказываний
(определений и ограничений).
Рассмотрим особенности онтологии процессов предметной области. В современной практике моделирования предметной области под поведенческим описанием концептов-процессов или концептов-явлений чаще всего понимают разработку моделей бизнес-процессов. Их результатом являются графические диаграммы (например, диаграммы активностей системы (результат применения методики SADT), и т.п.) и естественно-языковые описания процессов. В рассмотренном выше подходе к построению онтологий предметных областей процессы, непосредственно реализующие преобразования потоков и ресурсов в предметной области для решения задач (достижения целей) ее функционирования, организуют отдельную модель. В такой онтологии отношения между процессами для соседних уровней иерархии соответствуют отношениям «Целое-часть», а внутри каждого уровня являются проблемно-ориентированными. Они также обуславливают начало, окончание и ограничения процессов.
Как было показано выше, самый высокий уровень в анализируемой реализации онтологического подхода к моделированию определен как онтология задач (целей) обработки материальных и информационных потоков в предметной области.
При описании модели предметной области в виде набора онтологий для решения вопроса об их полноте и адекватности, необходимо определить аспекты рассмотрения предметных областей и, следовательно, сформулировать круг задач, решаемых при информационной поддержке с помощью такой модели знаний. При этом задачи должны быть организованы в иерархические структуры и смоделированы в виде онтологии, в которой концепты-задачи могут вступать в различные связи друг в другом.
С помощью полученной онтологии можно выделить некоторое унифицированное (пополняемое) множество базовых задач (типовых фрагментов задач), на основе которых с помощью определённых логических последовательностей конструировать более сложные задачи.
Схема модели онтологии задач описывается кортежем:
, (2)
где
–
обобщённая задача предметной
области,
состоящая из задач, которые, в свою
очередь, состоят из
фрагментов каждая. Каждый фрагмент
представлен процедурой, реализованной
на множестве
операций
каждая;
–
множество методов решения задач;
–
решатель задач.
Построение онтологий рассмотренных трех видов для моделирования предметных областей позволяет указать множество межонтологических связей, определяющих меру и степень взаимодействия концептов-объектов и концептов-процессов при решении отдельных концептов-задач.
Ход выполнения работы
Изучить теоретические сведения.
Выполнить разработку и графическое представление онтологий, разработать следующие онтологии для заданной предметной области:
- онтологию понятий;
- онтологию задач;
- онтологию процессов.
Выполнить анализ разработанных онтологий.
Сделать выводы о полноте разработанных онтологий, видах связей между концептами, выделить концепты, которые будут использованы при программной реализации программного продукта.
Требования к содержанию работы
Название работы.
Цель работы.
Формулировка индивидуального задания.
Текстовое описание и графическое представление онтологий для заданной предметной области:
- онтологии понятий;
- онтологии задач;
- онтологии процессов.
Анализ разработанных онтологий, выделенные концепты, которые будут использованы при проектировании программного продукта.
Выводы об онтологиях для заданной предметной области.
Вопросы для контроля и самостоятельной работы
Понятие онтологии.
Формальная модель онтологии.
Этапы пошаговой методологии разработки онтологии.
Типы онтологий.
Основные принципы онтологического анализа.
Модели онтологии и онтологической системы;
Методология создания и жизненный цикл онтологии;
Пошаговая методология разработки онтологий
Языки описания онтологий.
Системы на основе онтологий.
Список рекомендованной литературы
Буч Г. Объектно-ориентированное проектирование с примерами применения. - К. -М.: Диалектика, Конкорд, 1992. - 519 с.
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. /Пер. с англ. - М.: Бином: Невский диалект, 1999. – 560 с.
Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. - /Пер. с англ.- М.: ДМК, 2000. – 432 с.
Рамбо Д., Якобсон А., Буч Г. UML. Специальный справочник. - СПб.: Питер, 2002. – 656 с.
Ларман К. Применение UML и шаблонов проектирования. 2-е изд.: /Пер. с англ.- М.: Издательский дом «Вильямс», 2002. – 624 с.
Коналлен Д. Разработка Web- приложений с использованием UML. /Пер с англ. – М.: Издательский дом «Вильямс», 2001. - 288 с.
Вендров А.М. CASE - технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика, 1998. –176 с.
Баженова И.О. VISUAL C++6 VISUAL STUDIO 98. Уроки программирования. - М.: Диалог-МИФИ, 1999. - 416 с.
Ален И., Голуб. Си и Си++. Правила программирования. /Под ред.В. Костенко - М.:БИНОМ - 272с.
Гамма Э. Приёмы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р.Джонсон, Дж. Влиссидес. – СПб.: Питер, 2001. – 368 с.
Соммервилл И. Инженерия программного обеспечения. - М.: Вильямс, 2002. ‑624 с.
Орлов С.А. Технологии разработки программного обеспечения. – СПб.: Питер, 2003.‑ 480 с.
Иванова Г.С. Технология программирования. ‑М.: изд-во МГТУ имени Н.Э. Баумана, 2002 - 320 с.
Дополнительная литература
Рыбальченко В. Что такое САSE //Компьютерное обозрение.-1996. - №41(65). - С. 28-31.
Иванова Г.И., Ничушкина Т.Г., Пугачёв Е.К. Объектно – ориентированное программирование. - М.: Издательство МГТУ имени Н.Э. Баумана, 2001.- 320с.
Бєгун А.В. Технологія програмування: об’єктно – орієнтований підхід. – К.: 2000. - 200 с.
Джордан Д. Обработка объектных баз данных в С++. Программное использование стандарта ODMG. - Москва – Санкт-Петербург – Киев, Издательский дом «Вильямс», 2001. - 384 с.
Савитч У. Язык С++. Курс объективно-ориентированного программирования, 3-е изд.: /Пер. с англ. – М. : Издательский дом «Вильямс», 2001. – 704с.
Сван Т. Освоение Borland C++4.5.Практический курс, 2- изд. К.: Диалектика, 1996 - 544 с.
Borland C++ в примерах. /Стивен Поттс, Т.С.Монк.- Минск: Попури, 1996 - 752 с.
Тарасов А.Ф, Билык Г.Б., Винников М.А. Принципы организации информации о системе для эффективной обработки на ЭВМ. //В сб. Надежность режущего инструмента и оптимизация технологических систем – Краматорск, ДГМА, 1999. - С. 52-56.
Тарасов А.Ф. Объектно-ориентированная технология проектирования штамповой оснастки //Надежность режущего инструмента и оптимизация технологических систем. Сб. статей. В 2-х т. Т1. – Краматорск: ДГМА, 1997. – С. 40 – 47.
Методические указания к лабораторным работам по дисциплине «Основы системного анализа объектов и процессов компьютеризации» /Сост. А.Ф. Тарасов, М.А.Винников – Краматорск: ДГМА, 1998 – 20 с.
Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода: Курс лекций с примерами применения для студентов специальности 8.080 402 «Информационные технологии проектирования» дневной и заочной форм обучения. Ч. I /Сост.: А.Ф.Тарасов, А.А.Тарасов. – Краматорск: ДГМА, 2005.- 104 с.
12 Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода: Курс лекций с примерами применения Ч. 2 /Сост.: А.Ф.Тарасов, С.А. Короткий, А.А.Тарасов. – Краматорск: ДГМА, 2005. – 76 с.
13 Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода: методические указания к курсовой работе и самостоятельным работам /cост.: А. Ф. Тарасов, М. А. Винников – Краматорск: ДГМА, 2008. – 28 с.
Методические указания к лабораторным и самостоятельным работам по дисциплине
“СОВРЕМЕННЫЕ МЕТОДЫ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ СИСТЕМ НА ОСНОВЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА”
(Для студентов специальности 7, 8.050102 «Информационные технологии проектирования» очной и заочной формы обучения)
Составители: Александр Фёдорович Тарасов,
Ирина Николаевна Парфенова
Редактор
Подписано в печать Формат 60х84/16.
Ризографич. печать Усл печать л. 4,75. Уч.-изд.л. 3,45.
Тираж 50 экз. Заказ № .
ДГМА. 84313, г. КРАМАТОРСК, ул. Шкадинова,72