
- •Раздел 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
Итеративная инкрементная разработка (iid)
Итеративная инкрементная разработка(ИИР,IID – Iterative and Incremental Development) – подход разработки, являющийся альтернативой (классическому) каскадному подходу и использующий прототипы.
Идея повышения качества путём организации производства в виде коротких циклов «Планирование – Выполнение – Проверка – Действие» была предложена в 1939 г. в работе У. Шуарта, эксперта по качеству Bell Labs. Эта идея получила развитие в области разработки ПО и привела к созданию в середине 1950‑х гг. подхода ИИР. ИИР использовался в ряде исследовательских проектов, выполненных подразделениемFSD(Отделение федеральных систем) фирмыIBMпо заказу Министерства обороны США.
ИИР стал одним из основных компонентов ряда современных строгих и гибких подходов, в том числе RAD,DSDM,RUPи многих живых подходов.
Подход основан на одноимённой модели, приведённой в §3.3.
Быстрая разработка приложений (rad)
Быстрая разработка приложений(БРП,RAD – Rapid Application Development) – эволюционный подход, сформулированный Дж. Мартином в 1991 г.
В 1980‑х гг. Дж. Мартин, сотрудник фирмы IBM, разработал подход БРП. В 1991 г. он опубликовал книгу под названием «Быстрая разработка приложений», в которой он сформулировал основные положения. В дальнейшем подход БРП стал пониматься более широко и включил в себя другие методики, нацеленные на ускорение разработки приложений.
Разработка с использованием БРП часто связана с достижением компромисса между функциональностью и производительностью системы и ускоренной разработкой и обеспечением сопровождения. Он оказывается эффективным в средних проектах для конкретного заказчика, ориентированных на создание системы с ярко выраженным интерфейсом пользователя, наглядно демонстрирующим логику работы этой системы.
БРП обладает следующими особенностями:
1. Команда разработчиков. Малочисленная проектная команда (от 2 до 10 человек) из опытных, разносторонне подготовленных специалистов, способных заменять друг друга.
2. Подход к управлению командой. Максимальная интеграция управленческого аппарата с командой разработчиков. Короткий, но тщательно проработанный график проекта (от 2 до 6 месяцев).
3. Использование техники прототипирования. Повторяющийся цикл разработки и быстрая разработка прототипа перед каждой итерации для демонстрирования пользователям и уточнения требований для этой итерации.
На основе БРП созданы и другие подходы: Адаптивная разработка ПО (ASD), Метод разработки динамичных систем (DSDM) и т.д.
Основы подхода
К основным принципам БРП следует отнести следующие:
1. Разработка системы итерациями, способствующая параллельному созданию подсистем отдельной группой разработчиков.
2. Использование прототипирования, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя.
3. Обязательное вовлечение пользователей в процесс разработки системы.
4. Ведение разработки немногочисленной хорошо управляемой командой профессионалов.
5. Грамотное руководство разработкой системы, чёткое планирование и контроль выполнения работ.
6. Необязательность полного завершения работ на каждой из фаз ЖЦ.
7. Необходимое применениеCASE-средств, обеспечивающих целостность проекта на всём протяжении ЖЦ.
8. Применение средств управления конфигурацией, облегчающих внесение изменений в проект и сопровождение готовой системы.
9. Непременное использование генераторов кода.
10. Тестирование и развитие проекта одновременно с разработкой.
Для выполнения разработки согласно перечисленным принципам используется метрика – оценка размера приложения. Эта метрика вычисляется на основе так называемых функциональных элементов, к которым относят следующие элементы приложения: входной элемент (документ, экранная форма), выходной элемент (отчёт, документ, экранная форма), запрос (пара «вопрос – ответ», сообщение), файл приложения (совокупность записей данных, используемых внутри приложения), интерфейс приложения (совокупность записей данных, передаваемых другому приложению или получаемых от него).
Подобная метрика не зависит от используемого языка программирования. Размер приложения, которое может быть выполнено с помощью БРП, для хорошо отлаженной среды разработки с максимальным повторным использованием программных компонентов определяется следующим образом:
– один человек при числе функциональных элементов менее 1000,
– одна команда при числе функциональных элементов 1000 – 4000,
– 4000 функциональных элементов на одну команду разработчиков при числе функциональных элементов более 4000.