
- •Сосновский Ю.В.
- •Технологические основы языков программирования высокого уровня
- •СЛОЖНОСТЬ ЗАДАЧ
- •КАК БОРОТЬСЯ СО
- •ТЕХНОЛОГИИ
- •ОПРЕДЕЛЕНИЯ
- •Модель жизненного цикла ПП – описание набора фаз (этапов, стадий) проекта по созданию
- •Отладка (Debugging) – деятельность, направленная на установление точной природы известной ошибки, а затем
- •ПРОЦЕСС РАЗРАБОТКИ ПО
- •ЖИЗНЕННЫЙ ЦИКЛ ПО
- •ЖИЗНЕННЫЙ ЦИКЛ ПРОЕКТА
- •УРОВНИ ЖИЗНЕННОГО ЦИКЛА
- •PDCA-ЦИКЛ
- •КАСКАДНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА ПО
- •КАСКАДНАЯ МОДЕЛЬ
- •МАКЕТИРОВАНИЕ (ПРОТОТИПИРОВАНИЕ)
- •ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖЦ РАЗРАБОТКИ ПО
- •Требования и планирование
- •1-й инкремент
- •снижается риск неудачи и изменения требований
- •ИТЕРАЦИОННАЯ МОДЕЛЬ
- •СПИРАЛЬНАЯ МОДЕЛЬ
- •СПИРАЛЬНАЯ (ЭВОЛЮЦИОННАЯ) МОДЕЛЬ РАЗРАБОТКИ П
- •ОСОБЕННОСТИ СПИРАЛЬНОЙ МОДЕЛИ
- •V-МОДЕЛЬ ЖИЗНЕННОГО
- •Планирование
- •ПРЕИМУЩЕСТВА V-МОДЕЛИ
- •AGILE МЕТОДОЛОГИИ
- •АКТУАЛЬНЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПО
- •ГИБКАЯ РАЗРАБОТКА (AGILE)
- •AGILE MANIFESTO
- •AGILE MANIFESTO
- •ТЕХНОЛОГИЯ RAD
- •ЭТАПЫ RAD
- •ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ
- •ОСНОВНЫЕ ПРИНЦИПЫ ХР
- •Extreme programming explained
- •РЕФАКТОРИНГ
- •НЕОБХОДИМОСТЬ РЕФАКТОРИНГА
- •SCRUM
- •С ЧЕГО ВСЕ НАЧИНАЛОСЬ
- •РОЛИ
- •Product Backlog — приоритезированный список
- •ПЛАНИРОВАНИЕ СПРИНТА
- •ПРОЦЕСС. ВСТРЕЧИ
- •SCRUM
- •СООТНОШЕНИЕ SCRUM VS RUP
- •ОБЩЕЕ СООТНОШЕНИЕ
- •ОСНОВНЫЕ КРИТЕРИИ КАЧЕСТВА ПО
- •ПРЕДСТАВЛЕНИЕ КАЧЕСТВА В СТАНДАРТЕ ISO 9126
- •КРИТЕРИИ КАЧЕСТВА ПО
- •ISO 9004:2000 Quality management systems — Guidelines for performance improvements
- •ХАРАКТЕРИСТИКИ И АТРИБУТЫ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПО ISO 9126
- •СТОИМОСТЬ КАЧЕСТВА
- •СТОИМОСТЬ КАЧЕСТВА
- •УПРАВЛЕНИЕ ТРЕБОВАНИЯМИ
- •ТРЕБОВАНИЯ К ПО
- •ТЕСТИРОВАНИЕ ПО
- •СТАНДАРТЫ ТЕСТИРОВАНИЯ
- •ОРГАНИЗАЦИОННЫЕ ПРИНЦИПЫ УПРАВЛЕНИЯ ТЕСТИРОВАНИЕМ
- •ТЕСТОВЫЕ МЕТРИКИ
- •ТЕСТИРОВАНИЕ ПО
- •УРОВНИ ТЕСТИРОВАНИЯ
- •ТЕСТИРОВАНИЕ
- •ВИДЫ ТЕСТИРОВАНИЯ
- •ТИПЫ ДЕФЕКТОВ И СТАТИЧЕСКИЕ МЕТОДЫ ТЕСТИРОВАНИЯ (Майерс)
- •ВЫЯВЛЕНИЕ
- •ИЗВЕСТНЫЕ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
- •Технологические основы языков программирования высокого уровня
- •ОБЪЕКТНЫЙ ПОДХОД...
- •ОБЪЕКТНЫЙ ПОДХОД
- •ПРИНЦИПЫ ОБЪЕКТНОГО
- •ТЕНДЕНЦИЯ ПОСЛЕДНЕГО ДЕСЯТИЛЕТИЯ
- •ИСТОРИЯ ПОДХОДОВ В ПРОГРАММИРОВАНИИ
- •СТРУКТУРА СТАНДАРТА UML
- •ЛЕГЕНДА О ВАВИЛОНСКОЙ
- •МОДЕЛИ UML
- •ДИАГРАММЫ UML
- •ПОНЯТИЯ UML
- •АКТЕРЫ И
- •СВЯЗЬ АКТЕРОВ И ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
- •ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
- •http://staruml.sourceforge.net/en/

ПРЕИМУЩЕСТВА V-МОДЕЛИ
в модели особое значение придается планированию, направленному на верификацию и аттестацию разрабатываемого продукта
в модели предусмотрены аттестация и верификация всех внешних и внутренних полученных данных, а не только самого ПП
определение требований выполняется перед разработкой проекта системы, а проектирование программного обеспечения — перед разработкой компонентов
модель определяет продукты, которые должны быть получены в результате процесса разработки, причем каждые полученные данные должны подвергаться
тестированию
менеджеры проекта может отслеживать ход процесса разработки
Использование модели эффективно в том случае, когда
доступными являются информация о методе реализации
решения и технология, а персонал владеет необходимыми

AGILE МЕТОДОЛОГИИ
Модели "скоростного" жизненного цикла
(Bullock 2003)
2001 - "Манифест скоростной разработки программного обеспечения« (Agile-manifesto)
Гибкая методология разработки (англ. Agile software development) — это концептуальный каркас, в рамках которого выполняется разработка программного обеспечения

АКТУАЛЬНЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПО
Agile-программирование Rational Unified Process (RUP)
Ранняя идентификация и непрерывное устранение основных рисков.
Концентрация на выполнении требований заказчиков к программе (анализ и построение модели прецедентов (вариантов использования)).
Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
Постоянное обеспечение качества на всех этапах разработки проекта.


ГИБКАЯ РАЗРАБОТКА (AGILE)
Короткие циклы – итерации (программный проект в миниатюре)
Личности и их взаимодействия важнее, чем процессы и инструменты (один офис)
Работающее программное обеспечение важнее, чем полная документация
Сотрудничество с заказчиком важнее, чем контрактные обязательства
Реакция на изменения важнее, чем следование плану

AGILE MANIFESTO
удовлетворение клиента за счѐт ранней и бесперебойной поставки ценного ПО;
приветствие изменения требований, даже в конце разработки ( это может повысить конкурентоспособность полученного продукта);
частая поставка рабочего ПО (каждый месяц или неделю или ещѐ чаще);
тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
рекомендуемый метод передачи информации — личный разговор (лицом к лицу);

AGILE MANIFESTO
работающее ПО — лучший измеритель прогресса;
спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок;
постоянное внимание на улучшение технического мастерства и удобный дизайн;
простота — искусство НЕ делать лишней работы;
лучшие технические требования, дизайн и архитектура получаются у
самоорганизованной команды;
постоянная адаптация к изменяющимся обстоятельствам.

ТЕХНОЛОГИЯ RAD
Rapid Application Development — быстрая разработка приложений. Она предусматривает:
ведение разработки небольшими группами (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы (улучшает управляемость проекта);
использование готовых компонентов (уменьшение времени получения работоспособного прототипа);
наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца (увеличивает эффективность работы).
RAD хорошо зарекомендовал себя для небольших стандартных проектов для конкретного заказчика.
RAD ориентирован на разработку информационных43

ЭТАПЫ RAD
Бизнес-моделирование (моделируются
информационные потоки между бизнес- функциями)
Моделирование данных (набор объектов, которые требуются для поддержки бизнес-
процессов)
Моделирование обработки (определяются
преобразования объектов, обеспечивающие
реализацию бизнес-функций. Описание обработки для добавления, изменения, удаления и поиска данных)
Создание приложения (используются готовые
компоненты и утилиты автоматизации) |
44 |

ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Цель экстремального программирования (ХР)
— устранить высокую стоимость изменений, вносимых в ПО в процессе как разработки, так и эксплуатации.
Цикл разработки в ХР состоит из очень Авторы:
коротких итераций. |
Кент Бек, |
||
|
выслушивание заказчика |
Уорд |
|
|
проектирование |
Каннингем, |
|
Мартин |
|||
|
кодирование |
||
|
Фаулер и |
||
|
тестирование. |
др., 1996- |
1999
Заказчик постоянно присутствует в группе разработчиков.
При принятии решений всегда стремятся выбрать самое простое, тесты пишутся еще до написания кода.
Сборка системы выполняется ежедневно.