
- •Раздел 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
Контрольные вопросы
Вопросы к §5.1
1. Дайте определение понятию «стиль программирования».
2. Перечислите свойства хорошего стиля программирования.
3. Как формируется стиль программирования?
4. Как связан стиль программирования с методологиями разработки?
5. Дайте определение понятию «защитное программирование».
6. Перечислите основные принципы защитного программирования.
7. Перечислите общие рекомендации по защитному программированию.
8. Перечислите и поясните механизмы защитного программирования.
9. Как защитное программирование связано с аспектным сборочным программированием?
10. Что представляет собой подход Проектирование по контракту?
11. Поясните механизм, используемый Проектированием по контракту?
Вопросы к §5.2
12. Что такоеCASE-средство?
13. Перечислите особенностиCASE-средств.
14. Перечислите компонентыCASE-средств.
15. Перечислите основные признаки классификацииCASE-средств.
16. Приведите классификациюCASE-средств по типам.
17. Приведите классификациюCASE-средств по категориям.
18. Приведите классификациюCASE-средств по уровням.
19. Кратко охарактеризуйте системы автоматизации.
Раздел6. Методические указания
В данный раздел включены методические указания по дисциплине для проведения лабораторных работ, а также курсовой и самостоятельной работы.
6.1. Лабораторные работы
Наиболее известной CASE-системой на основе объектно-ориентированной (ОО) методологии является семействоCASE-средств ОО анализа и проектированияRational Rose(RR) отIBM Rational.RRпредназначен для автоматизации анализа и проектирования ПО, а также для генерации кодов на различных языках программирования (ЯП) и выпуска проектной документации.Ониспользует ОО методологию, основанную на языкеUML.
RRпозволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать код. Кроме того,RRсодержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.
RRможно рассматривать как графический редактор, позволяющий моделировать сложные системы на основе графических диаграмм UML. В составеRRможно выделить 6 основных компонент: репозиторий, графический интерфейс пользователя, средства просмотра проекта (browser), средства контроля проекта, средства сбора статистики и генератор документов. К ним добавляются генератор кода (индивидуальный для каждого ЯП) и анализатор, обеспечивающий реинжиниринг – восстановление модели проекта по исходному коду программ.
Репозиторий представляет собой ОО базу данных. Средства просмотра обеспечивают «навигацию» по проекту, в том числе, перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д. Средства контроля и сбора статистики дают возможность находить и устранять ошибки по мере развития проекта, а не после завершения его выполнения. Генератор отчётов формирует тексты выходных документов на основе содержащейся в репозитории информации. Средства автоматической генерации кодов программ, используя информацию, содержащуюся в моделях проекта, формируют файлы описаний классов и объектов. Создаваемый таким образом скелет программы может быть уточнён путём прямого программирования.
В результате разработки проекта с помощью RRформируются следующие документы: диаграммы прецедентов; диаграммы классов; диаграммы взаимодействия (диаграммы последовательности и кооперации); диаграммы переходов состояний (диаграммы состояний и деятельности); диаграммы реализации (диаграммы компонентов и развертывания); спецификации классов, объектов, атрибутов и операций; заготовки текстов программ; модель разрабатываемой программной системы. Тексты программ являются заготовками для последующей работы программистов и в дальнейшем развиваются программистами в полноценные программы. Для групповой работы вRRвозможно разбиение модели на подмодели. Каждая из них независимо сохраняется на диске или загружается в модель. Наиболее эффективно групповая работа организуется при интеграцииRRсо средствами управления конфигурацией и контроля версий (PVCS).
RRфункционирует на платформах:IBM PC(Windows), станцииSun SPARC(UNIX, Solaris, SunOS),Hewlett-Packard(HP UX),IBM RS/6000(AIX).
В стандартной поставке RRне предусмотрена возможность работы сDelphi, ноIBM Rationalведёт программу по поддержке сторонних производителей программ-мостов (Links) междуRRи другими средствами разработки. В рамках этой программы фирмойEnsemble Systemsбыла разработана программа-мостRose Delphi Link(RDL), связывающаяRRиDelphi. Основные функции кодогенератораRDL– генерация кода и обратное проектирование.
Среду Roseтакже можно расширить с помощью встроенного ЯПRoseScript. НаRoseScriptможно написать код для автоматического внесения изменений в модель, для создания отчётов и выполнения других задач.
Семейство продуктов Rational Rose призвано обеспечить разработчика полным набором инструментов визуального моделирования для эффективного решения сложных задач с использованием архитектуры клиент/сервер, распределённых сред и систем реального времени.