- •Л1 Введение. Предмет и задачи курса.
- •1. Классификация инструментальных средств
- •1.1. Введение в системы программирования
- •1.1.1. Основные понятия и определения
- •1.1.2. История и эволюция
- •1.1.3. Классификация
- •1.2. Процесс-ориентированный инструментарий (1 группа, подгруппа 1)
- •1. Возникновение и исследование идеи
- •2. Управление
- •3. Анализ требований и проектирование
- •4. Программирование (реализация)
- •1.2.5. Тестирование и отладка
- •1.2.6. Ввод в действие
- •1.2.7. Сопровождение
- •1.2.8. Завершение эксплуатации
- •1.3. Универсальный инструментарий (группа 1, подгруппа 2)
- •1.3.1. Инструменты работы с текстом
- •1.3.2. Системы документирования
- •1.3.3. Системы разработки интерфейсов
- •1.3.4. Системы управления базами данных
- •1.3.5. Системы управления базами знаний и экспертные системы
- •1.3.6. Электронные библиотеки и инструментарий Интернета
- •1.4. Инструментарий поддержки процессов некоторых технологических подходов ????
- •5.4.1. Системы формального преобразования и верификации программ
- •5.4.2. Средства сборочного программирования
- •1.5. Инструментальные системы (группа 2)
- •1.6. Средства поддержки коллективной разработки группа 3
- •Вопрос 2.
Вопрос 2.
Автоматизация процесса разработки ПО.
Преимущества (ускорение разработки, устранение влияния чел. Фактора, ускорение обратной связи, улучшение контроля за состоянием проекта, сокращение трудоемкости, упрощение сопровождения, стандартизация процесса, повышение предсказуемости проекта за счет естественных метрик)
Ме́трика програ́ммного обеспе́чения(англ.software metric) — мера, позволяющая получить численное значение некоторого свойствапрограммного обеспеченияили егоспецификаций.
Поскольку количественные методы хорошо зарекомендовали себя в других областях, многие теоретики и практики информатики пытались перенести данный подход и в разработку программного обеспечения. Как сказалТом ДеМарко, «вы не можете контролировать то, что не можете измерить».
Автоматизация тестирования
Автоматизация планирования
Автоматизация сбора метрик
Что включают (Конференция Глебова-Косякова)
1. Автогенерация кода (CAD, рефакторинг(улучшению структурной целостности и производительности существующих программ)) –phpStorm(создание класса-имякласса=имя файла, станд.шаблон оформления текста, наследование методов…\;вставки фрагментов кода – live templates, автогенерация документации)
Генераторы кода командной строки (rails generate)
2. Автоматизация управления исходным и другими процессами разработки
3.Автоматизация сборки и поставки (подготовительные операции для сборки, поставку на тестирования – ant, rake
Rake— инструмент для автоматизации сборки программного кода. Он подобенSCons,MakeиApache Ant, но имеет несколько отличий. Этот инструмент написан на языке программированияRubyи т. н. Rakefiles (аналоги Makefiles в утилите make) используют синтаксисRuby. Автором Rake является Jim Weirich.
Rake использует блоки анонимных функцийRuby для определения различных задач, используя синтаксис Ruby. В нем есть библиотека основных заданий, таких как функции для задач манипулирования файлами и библиотека для удаления скомпилированных файлов (задача «очистки»). Как и Make, Rake может также синтезировать задачи, основываясь на шаблонах (например, автоматическая сборка задачи компилирования файла на основе шаблонов имен файлов).
4. Автоматизация тестирования и оценки качества
5. Автоматизация планирования
6. Сборка метрик
Степень автоматизации:
Автоматизация никоторых частей проекта
Автоматизация рутины
Постоянная сборка – автоматизация запуска средств автоматизации