
- •Раздел 1. Основы разработки по 4
- •Раздел1. Основы разработки по
- •1.1. Основные понятия и определения
- •1.2. Понятие «программирование»
- •Программирование как дисциплина
- •Программирование как деятельность
- •1.3. Области разработки по
- •Контрольные вопросы
- •Раздел2. Методология разработки по
- •2.1. Основные понятия и определения
- •2.2. Классификация методологий
- •2.3. Происхождение методологий
- •Практическое происхождение
- •Алгоритмическое происхождение
- •Структурно-языковое происхождение
- •2.4. Методологии программирования
- •Методология императивного программирования
- •Методология объектно-ориентированного программирования
- •Методология функционального программирования
- •Методология логического программирования
- •Методология сентенциального программирования
- •Методология ограничительного программирования
- •Методология структурного императивного программирования
- •Методология императивного параллельного программирования
- •Методология логического параллельного программирования
- •Контрольные вопросы
- •Раздел3. Технология разработки по
- •3.1. Основные понятия и определения
- •3.2. Основные классификации
- •3.3. Модели жизненного цикла по
- •Непланируемая модель
- •Каскадная модель
- •Прототипируемая модель
- •Итеративная инкрементная модель
- •Эволюционная модель
- •Спиральная модель
- •Модифицированная спиральная модель
- •3.4. Классические технологические процессы Процесс 1. Исследование идеи
- •Процесс 2. Управление
- •Процесс 3. Анализ
- •Процесс 4. Проектирование
- •Процесс 5. Кодирование
- •Процесс 6. Тестирование
- •Процесс 7. Ввод в действие
- •Процесс 8. Сопровождение
- •Процесс 9. Снятие с эксплуатации
- •3.5. Методики анализа и проектирования
- •3.6. Стандартные технологические процессы
- •Стандарт iso/iec 12207
- •Основные процессы
- •Вспомогательные процессы
- •Организационные процессы
- •Адаптация стандарта
- •Стандарт iso/iec15288
- •Контрольные вопросы
- •Раздел4. Подходы разработки по
- •4.1. Каскадные технологические подходы
- •4.2. Каркасные технологические подходы
- •Унифицированный процесс (up)
- •Рациональный унифицированный процесс (rup)
- •Основы подхода
- •Жизненный цикл проекта
- •Каркас решений Microsoft(msf)
- •Основы подхода
- •Жизненный цикл проекта
- •Процесс iconix(iconix Process)
- •Основы подхода
- •Жизненный цикл проекта
- •4.3. Эволюционные технологические подходы
- •Подходы прототипирования
- •Итеративная инкрементная разработка (iid)
- •Быстрая разработка приложений (rad)
- •Основы подхода
- •Жизненный цикл проекта
- •4.4. Адаптивные технологические подходы
- •Особенности живых подходов
- •Адаптивная разработка по (asd)
- •Основы подхода
- •Жизненный цикл проекта
- •Экстремальное программирование (xp)
- •Основы подхода
- •Жизненный цикл проекта
- •4.5. Генетические технологические подходы
- •Синтезирующее программирование
- •Конкретизирующее программирование
- •Сборочное программирование
- •4.6. Формальные технологические подходы
- •Формальные генетические подходы
- •Подходы формальной разработки
- •Жизненный цикл проекта
- •Обзор используемых подходов
- •Инженерия стерильного цеха (CrSe)
- •Основы подхода
- •Жизненный цикл проекта
- •Методика подхода
- •Контрольные вопросы
- •Раздел5. Инженерия и инструментарий по
- •5.1. Инженерия по
- •5.2. Инструментарий по
- •Контрольные вопросы
- •Раздел6. Методические указания
- •6.1. Лабораторные работы
- •1. Введение вRational Rose
- •1.1. Цель работы
- •1.2. Общие сведения
- •1.3. Порядок выполнения
- •1.4. Содержание отчёта
- •1.5. Варианты заданий
- •1.6. Контрольные вопросы
- •2. Диаграмма прецедентов
- •2.1. Цель работы
- •2.2. Общие сведения
- •2.3. Порядок выполнения
- •2.4. Содержание отчёта
- •2.5. Варианты заданий
- •2.6. Контрольные вопросы
- •3. Диаграмма классов. Пакеты
- •3.1. Цель работы
- •3.2. Общие сведения
- •3.3. Порядок выполнения
- •3.4. Содержание отчёта
- •3.5. Варианты заданий
- •3.6. Контрольные вопросы
- •4. Диаграммы взаимодействия
- •4.1. Цель работы
- •4.2. Общие сведения
- •4.3. Порядок выполнения
- •4.4. Содержание отчёта
- •4.5. Варианты заданий
- •4.6. Контрольные вопросы
- •5. Диаграммы переходов состояний
- •5.1. Цель работы
- •5.2. Общие сведения
- •5.3. Порядок выполнения
- •5.4. Содержание отчёта
- •5.5. Варианты заданий
- •5.6. Контрольные вопросы
- •6. Диаграмма компонентов
- •6.1. Цель работы
- •6.2. Общие сведения
- •6.3. Порядок выполнения
- •6.4. Содержание отчёта
- •6.5. Варианты заданий
- •6.6. Контрольные вопросы
- •7. Диаграмма развёртывания
- •7.1. Цель работы
- •7.2. Общие сведения
- •7.3. Порядок выполнения
- •7.4. Содержание отчёта
- •7.5. Варианты заданий
- •7.6. Контрольные вопросы
- •8. Дальнейшая работа с моделью
- •8.1. Цель работы
- •8.2. Общие сведения
- •8.3. Порядок выполнения
- •8.4. Содержание отчёта
- •8.5. Варианты заданий
- •8.6. Контрольные вопросы
- •6.2. Курсовая работа
- •7. Общие сведения
- •Обзор языка uml
- •Принципы моделирования
- •Формальное описание
- •Представления модели
- •Диаграмма робастности
- •Процесс iconix
- •Обзор подхода
- •Особенности подхода
- •Ключевые принципы
- •Жизненный цикл проекта
- •8. Порядок выполнения
- •Определение задания
- •Этапы выполнения
- •Содержание отчёта
- •9. Типовые задания
- •Предметные области
- •Примеры автоматизации
- •Варианты заданий
- •6.3. Самостоятельная работа студентов
- •Тема 1. Основы разработки по Содержание темы
- •Самостоятельная работа
- •Контрольные вопросы
- •Тема 2. Методология разработки по Содержание темы
- •Самостоятельная работа
- •Контрольные вопросы
- •Тема 3. Технология разработки по Содержание темы
- •Самостоятельная работа
- •Контрольные вопросы
- •Тема 4. Подходы разработки по Содержание темы
- •Самостоятельная работа
- •Контрольные вопросы
- •Тема 5. Инженерия и инструментарий по Содержание темы
- •Самостоятельная работа
- •Контрольные вопросы
- •6.4. Примерные тестовые задания Тема 1. Основы разработки по
- •Тема 2. Методология разработки по
- •Тема 3. Технология разработки по
- •Тема 4. Подходы разработки по
- •Тема 5. Инженерия и инструментарий по
- •Литература Основная литература
- •Дополнительная литература
- •Документация
- •Интернет – источники
- •Литература по Rational RoseиUml
1.3. Порядок выполнения
1. Изучить назначение основных элементов и освоить интерфейс RR.
2. Изучить назначение и освоить операции меню File,View,Browse, иTools.
1.4. Содержание отчёта
Результаты выполнения лабораторной работы необходимо представить в виде отчёта, который должен содержать краткое изложение изученных элементов и основных операций интерфейса RR.
1.5. Варианты заданий
В данной лабораторной работе варианты заданий не предусмотрены. Студенты выполняют общее для всех задание по изучению интерфейса RR.
1.6. Контрольные вопросы
1. Что представляет собой программа RR?
2. В чём особенности рабочего интерфейса программыRR?
3. Какие документы формируются при разработке проекта с помощьюRR?
4. В чём назначение основных элементов рабочего интерфейсаRR?
5. Какие пункты меню используются для настройки параметров модели?
6. В чём назначение браузера проекта? Перечислите его составляющие.
7. Для чего предназначены операции менюBrowse(Обзор)?
8. В чём отличие специальной панели инструментов от стандартной?
9. Для чего используется окно документации?
2. Диаграмма прецедентов
2.1. Цель работы
Целью данной работы является использование диаграммы прецедентов при разработке программной системы в среде RR.
2.2. Общие сведения
Работа над моделью RRначинается с общего анализа проблемы и построения диаграммы прецедентов (use case diagram, тж. диаграмма вариантов использования), которая отражает функциональное назначение проектируемой системы. Каждый прецедент – это описание набора схожих сценариев поведения, которому следуют актёры (actors). Диаграмма прецедентов показывает совокупность прецедентов и актёров, а также отношения между ними. Актёр изображается фигурой человека или символом класса со стереотипом с кратким именем. Прецедент обозначается эллипсом и кратким именем.
Для вновь создаваемого проекта можно воспользоваться мастером типовых проектов. Мастер типовых проектов доступен из меню File → New(Файл → Новый) или при первоначальной загрузкеRR. В случае разработки проекта, для которого не известна или не выбрана технология его реализации, следует отказаться от мастера, в результате чего появится интерфейсRR с чистым окном активной диаграммы классов.
Для разработки диаграммы прецедентов необходимо активизировать соответствующую диаграмму в окне диаграммы. Это можно сделать следующими способами: а) раскрыть представление прецедентов Use Case Viewв браузере проекта и дважды щелкнуть на значкеMain(Главная); б) с помощью операции менюBrowse → Use Case Diagram(Браузер → Диаграмма прецедентов).
При этом появляется новое окно с чистым рабочим листом диаграммы прецедентов и специальная панель инструментов, содержащая часть кнопок с изображением графических элементов для построения этой диаграммы (табл.2.1).
Добавить кнопки со значками других графических элементов, таких как бизнес-прецедент (business use case), бизнес-актёр (business actor), сотрудник (business worker), или удалить ненужные кнопки можно с помощью настройки специальной панели инструментов. Открыть окно настройки специальных панелей инструментов для диаграмм можно с помощью операции менюTools → Options(Инструменты → Параметры), раскрыв вкладкуToolbars(Панели инструментов).
Таблица 2.1
Значок |
Подсказка |
Назначение кнопки |
|
Selection Tool |
Переключает в режим выделения элементов |
|
Text Box |
Добавляет на диаграмму текстовую область |
|
Note |
Добавляет на диаграмму примечание |
|
Anchor Note to Item |
Добавляет связь примечания с элементом диаграммы |
|
Package |
Добавляет на диаграмму пакет |
|
Use Case |
Добавляет на диаграмму прецедент |
|
Actor |
Добавляет на диаграмму актёра |
|
Unidirectional Association |
Добавляет на диаграмму направленную ассоциацию |
|
Dependency or Instantiates |
Добавляет на диаграмму отношение зависимости |
|
Generalization |
Добавляет на диаграмму отношение обобщения |
Для добавления актёра на диаграмму прецедентов нужно с помощью левой кнопки мыши нажать кнопку со значком актёра на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение актёра. Чтобы изменить расположение изображения графического элемента модели, следует щелчком левой кнопки мыши выделить его, и, не отпуская левой кнопки, переместить в нужное место диаграммы.
Для любого графического элемента модели по щелчку правой кнопкой мыши на выбранном элементе вызывается контекстное меню данного элемента, среди операций которого имеется пункт Open Specification(Открыть спецификацию). В этом случае появляется окно со специальными вкладками, в поля ввода которых можно занести всю информацию по данному элементу (рис.2.1):
Рис.2.1. Диалоговое окно спецификации свойств актёра
Следует отметить, что открыть диалоговое окно спецификации свойств любого элемента модели можно также двойным щелчком левой кнопкой мыши на графическом изображении этого элемента. Хотя в RRактёр является классом, для него некорректно специфицировать атрибуты и операции, поскольку актёр является внешней по отношению к системе сущностью.
Рис.2.2. Диалоговое окно спецификации свойств
Для уточнения назначения актёра в модели следует изменить его стереотип и добавить текст документации в спецификации этого актёра (рис.2.2). Для изменения стереотипа нужно выбрать соответствующий стереотип во вложенном спискеStereotype(например, строкуBusiness Actor). Для добавления текста документации в секциюDocumentationследует ввести требуемый текст и нажать кнопку Apply (Применить) илиOK.
Для уточнения свойств прецедента следует открыть окно спецификации его свойств. Изменение стереотипа осуществляется во вложенном списке Stereotype(например,Business Use Case), добавление текста документации выполняется в секцииDocumentation, далее следует нажать кнопкуApply(Применить) илиOK.
Для добавления ассоциации между актёром и прецедентом на диаграмму нужно с помощью левой кнопки мыши нажать на специальной панели инструментов кнопку со значком направленной ассоциации, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении актёра на диаграмме и отпустить её на изображении прецедента. При необходимости можно сделать направленную ассоциацию ненаправленной, для чего следует воспользоваться диалоговым окном свойств ассоциации. Открыть это окно можно, например, двойным щелчком на изображении линии ассоциации, после чего убрать отметку выбора Navigable(Навигация) на вкладкеRole A Detail(детальные свойства концевой точкиA).
Для добавления на диаграмму отношения зависимости между двумя прецедентами необходимо с помощью левой кнопки мыши нажать кнопку со значком зависимости на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении первого прецедента и отпустить её на изображении второго прецедента. В результате на диаграмме появится изображение отношения зависимости, которое соединяет эти прецеденты.
С целью указания текстового стереотипа для добавленного отношения зависимости между двумя прецедентами необходимо с помощью окна спецификации свойств этого отношения выбрать нужный стереотип из предлагаемого списка (например, стереотип <<include>>). После задания для отношения зависимости стереотипа текст этого стереотипа в угловых скобках появится рядом с пунктирной линией зависимости, связывающей соответствующие прецеденты. Для лучшей визуализации диаграммы текстовую область стереотипа можно переместить в нужное место диаграммы. Выполнить это можно с помощью общего способа перемещения элементов модели. При работе с отношениями на диаграмме следует помнить о назначении отношений в нотацииUML.
Формирование пакета прецедентов выполняется с помощью кнопки Packageна специальной панели инструментов, включение (добавление) прецедентов в пакет осуществляется в браузере проекта методом перемещения.
В дальнейшем построенная диаграмма может быть изменена посредством добавления или удаления элементов. Для удаления любого графического элемента с диаграммы его следует выделить на диаграмме и нажать клавишу Deleteна клавиатуре. При этом выделенный элемент будет удалён с активной диаграммы, но не из модели. Для удаления элемента из модели необходимо выделить удаляемый элемент на диаграмме и воспользоваться операцией главного менюEdit → Delete from Model(Правка → Удалить из модели). Для этой же цели служит комбинация клавиш быстрого доступа Ctrl+D.
Результаты работы необходимо сохранить в файле проекта через меню File → Save(Файл → Сохранить) илиFile → Save As(Файл → Сохранить как). При этом вся информация о проекте, включая диаграммы и спецификации элементов, будет сохранена в одном файле.
Типовой пример
В качестве примера рассматривается система управления банкоматом. В этом примере в модель входят элементы: а) актёры: ‘Клиент банка’ и ‘Банк’; б) прецеденты: ‘Снятие наличных по кредитной карточке’, ‘Проверка ПИН-кода’, ‘Получение справки о состоянии счёта’, ‘Блокирование кредитной карточки’.
Актёр ‘Клиент банка’: стереотип – business actor; текст – ‘Любое физическое лицо, пользующееся услугами банкомата’. Актёр ‘Банк’ – стереотип –service(банкомат использует некоторые услуги Банка в качестве сервиса). Прецедент ‘Снятие наличных по кредитной карточке’: стереотип –business use case; текст – ‘Основной прецедент для разрабатываемой модели банкомата’. Прецедент ‘Получение справки о состоянии счёта’: стереотип –business use case.
В модели добавлены следующие направленные ассоциации: от ‘Клиент банка’ к ‘Снятие наличных по кредитной карточке’ и к ‘Получение справки о состоянии счёта’, от ‘Снятие наличных по кредитной карточке’ и от ‘Получение справки о состоянии счёта’ к ‘Банк’. Добавлены 3 отношения зависимости: 1) с <<include>>: к ‘Проверка ПИН-кода’ от ‘Снятие наличных по кредитной карточке’ и от ‘Получение справки о состоянии счёта’; 3) с <<extend>>: к ‘Проверка ПИН-кода’ от ‘Блокирование кредитной карточки’. При этом отношение зависимости <<extend>> на диаграмме означает следующее. Прецедент ‘Блокирование кредитной карточки’ будет выполняться только в том случае, если в результате проверки ПИН-кода будет установлено, что соответствующая кредитная карточка утрачена её владельцем или признана недействительной.
Вид диаграммы прецедентов для модели банкомата приведён на рис.2.3.
Рис.2.3. Окончательный вид диаграммы прецедентов для модели банкоматов
Характерной особенностью среды RRявляется возможность работы с символами кириллицы. При спецификации элементов модели с последующей генерацией кода следует записывать имена и свойства символами того языка, который поддерживается соответствующим ЯП.