
- •Раздел 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
8. Порядок выполнения
В ходе выполнения курсовой работы студенты должны разработать архитектуру системы согласно полученным индивидуальным заданиям.
Каждый студент получает индивидуальное задание. Для группы студентов может быть выдано общее задание, если для каждого студента этой группы будет установлена роль и ответственность за выполнение определённой части этого задания, при этом эти части не должны пересекаться и зависеть друг от друга. Эти проблемы решаются студентами группы и во время консультации полученное решение должно быть утверждено руководителем курсовой работы в виде постановки индивидуальной части общего задания.
Определение задания
Постановка индивидуального задания включает в себя следующие части:
1. Тема задания – описание предметной области (ПрО) системы.
2. Функциональные требования к системе – требования заинтересованных лиц, предъявляемые к разрабатываемой системе.
3. Нефункциональные требования к системе – требования, предъявляемые к возможностям системы и/или задающие для неё ограничения.
Постановка задания может быть сформулирована руководителем курсовой работы или самим студентом. Требования к системе должны быть согласованы студентом с руководителем и могут уточняться во время консультаций для прохождения всех этапов выполнения работы.
Этапы выполнения
Для контроля самостоятельной работы студентов в течение семестра и их аттестации, а также проведения консультаций выполнение курсовой работы осуществляется в несколько этапов. Эти этапы во многом соответствуют этапам Процесса ICONIX, а вехи являются моментами проведения консультаций.
В рамках выполнения курсовой работы необходимо следовать следующему поэтапному порядку построения диаграмм UMLдля правильной разработки системы по индивидуальному заданию.
Этап 1«Анализ требований» включает шаги:
– Специфицирование требований. Представление функциональных требований в виде прецедентов. Построение общих диаграмм прецедентов.
– Концептуальное моделирование. Определение (с учётом требований) сущностей ПрО и выявление связей между ними. Построение общей модели ПрО в виде диаграммы классов концептуального уровня.
Веха 1«Обзор требований» служит для проверки того, что диаграммы этого этапа правильно и достаточно полно совместно отражают все функциональные требования.
Этап 2«Начальное проектирование» включает шаги:
– Детализация прецедентов. Формирование текстовых описаний прецедентов в виде основного и альтернативных потоков сценариев работы системы.
– Определение с технической архитектурой. Выбор инструментария и платформы с учётом нефункциональных требований.
Веха 2«Обзор начала дизайна» служит для проверки того, что описания прецедентов соответствуют диаграммам предыдущего этапа, поэтому правильно и достаточно полно совместно отражают все функциональные требования, а выбранная техническая архитектура позволяет разработать систему в соответствии с нефункциональными требованиями.
Этап 3«Проектирование архитектуры» включает шаги:
– Анализ робастности. Построение диаграммы робастности (как диаграммы классов с использованием стереотипов) для каждого сценария прецедента.
– Логическое моделирование структуры. Обновление диаграммы классов с учётом диаграммы робастности. Получение обновлённой модели ПрО в виде диаграммы классов логического уровня.
Веха 3«Обзор дизайна архитектуры» служит для проверки того, что диаграммы этапа соответствуют друг другу, правильно и достаточно полно совместно отражают структуру и поведение системы, а также соответствуют диаграммам предыдущего этапа, а значит и функциональным требованиям.
Этап 4«Проектирование взаимодействия» включает шаги:
– Детализация сценариев. Определение объектов взаимодействия, передаваемых сообщений и используемых методов. Построение диаграмм взаимодействия (диаграмм последовательности и/или кооперации).
– Логическое моделирование поведения. Обновление диаграммы классов с учётом диаграмм взаимодействия. Получение обновлённой модели ПрО в виде диаграммы классов логического уровня.
Веха 4«Обзор дизайна взаимодействия» эквивалентна предыдущей вехе.
Этап 5«Проектирование компонентов» включает шаги:
– Детализация особенностей. Выявление недостаточности построенных моделей при реализации некоторых особенностей системы. Построение диаграмм переходов состояний (диаграмм состояний и/или деятельности).
– Физическое моделирование. Обновление диаграммы классов с учётом диаграмм переходов состояний. Получение детальной модели ПрО в виде диаграммы классов физического уровня.
Веха 5«Обзор дизайна компонентов» эквивалентна предыдущей вехе.
Этап 6«Проектирование реализации» включает шаги:
– Детализация модели. Построение диаграмм реализации (диаграмм компонентов и/или развёртывания).
– Моделирование реализации. Получение окончательной модели ПрО в виде диаграммы классов реализационного уровня.
Веха 6«Обзор дизайна компонентов» эквивалентна предыдущей вехе.
Этап 7«Реализация» включает шаги:
– Генерирование кода. Получение программного кода системы путём автоматической генерации из построенных диаграмм UMLс учётом выбранного инструментария и платформы.
– Программирование. Написание оставшегося программного кода системы.
– Верификация. Проверка полученного программного кода системы.
Веха 7«Обзор дизайна компонентов» служит для проверки того, что программный код соответствует построенным диаграммам, рассматриваемым как руководство к написанию кода.