- •1. Технология разработки программного обеспечения. Определение. Основные этапы на примере классического жизненного цикла.
- •2. Два взгляда на по: научная разработка, программное изделие. Свободное по.
- •3. Парадигмы проектирования программных систем. Макетирование.
- •4.Парадигмы проектирования пс. Инкрементная модель.
- •5. Парадигмы проектирования программных систем. Быстрая разработка приложений.
- •6. Парадигмы проектирования программных систем. Спиральная модель.
- •7. Парадигмы проектирования программных систем. Компонентно-ориентированная модель.
- •8. Парадигмы проектирования программных систем. Унифицированный процесс. Rup.
- •1. Начало
- •2. Уточнение
- •3. Построение (Конструирование)
- •4. Внедрение
- •9. Парадигмы проектирования программных систем. Экстремальное программирование.
- •10. Спецификация требований. Виды требований.
- •1) Пользовательские требования
- •2) Системные требования
- •3) Проектная системная спецификация.
- •11. Функциональные требования.
- •12. Нефункциональные требования.
- •13. Требования предметной области.
- •14. Пользовательские требования.
- •15. Системные требования.
- •16. Описание технического задания по гост.
- •17. Прецеденты. Определение. Актеры. Сценарии.
- •18. Задачи и рамки прецедентов.
- •19. Степень формализации прецедентов. Сжатый, свободный и развёрнутый формат описания.
- •20. Пояснения к прецедентам. Предусловия и постусловия. Альтернативные сценарии.
- •22. Объектно-ориентированные анализ и проектирование программных систем. Основные определения.
- •23. Основные принципы объектно-ориентированной разработки программ.
- •24. Обязанности объектов. Разложение системы на объекты. Crc-карты.
- •25. Инкапсуляция. Связность внутри классов и зацепление между классами.
- •26. Композиция и наследование. Абстрактные классы. Интерфейс класса. Рекомендации.
- •27. Методы, операции, сообщения. Разделение команд и запросов.
- •28. Проектирование по контракту. Предусловия и постусловия в методах. Инварианты.
- •29. Паттерны проектирования. Определение. Формат описания.
- •30. Виды паттернов по уровню абстракции и по цели. Примеры.
- •36. Минимальное грубое тестирование
- •37. Автоматизированные тесты. Основные определения. XUnit
- •38. Разработка через тестирование
- •39. Особенности командной разработки по
- •40. Оценка стоимости по. Модели и методики. Модель cocomo
8. Парадигмы проектирования программных систем. Унифицированный процесс. Rup.
Rational Unified Process - методология разработки ПО, созданная фирмой Rational. Мы будем рассматривать просто UP. Процессы, которые основаны на RUP – тяжеловесные.
Принципы:
Ранее обнаружение и устранение основных рисков.
Концентрация на выполнение требований заказчиков к программе (требования реализуются в виде модели прецедентов)
Ожидание изменений в требованиях, проектных решениях или реализация в процессе разработки.
Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
Постоянное обеспечение качества на всех этапах разработки проектов.
Работа в команде. Ключевая роль принадлежит архитектору.
Жизненный цикл разработки
RUP использует итеративную модель разработки. В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролировать качество создаваемого продукта.
Полный жизненный цикл разработки продукта состоит из четырех фаз, каждая из которых включает в себя одну или несколько итераций:
1. Начало
В фазе «Начало»:
Формируются видение и границы проекта (общее видение того, что нужно сделать.
Создается экономическое обоснование (бизнес план) проекта.
Определяются основные требования, ограничения и ключевая функциональность продукта.
Создается базовая версия модели прецедентов.
Оцениваются риски.
При завершении начальной фазы оценивается достижение вехи целей жизненного цикла, которое предполагает соглашение заинтересованных сторон о продолжении проекта.
Основные цели достигнуты, если достигнуто единое мнение организаторов об области действия предложенной системы. Архитектура устраняет ряд критических требований высокого уровня. Бизнес план достаточно обоснован. Веха – точка, в которой менеджеры принимают важные решения относительно разработки проекта.
В случае положительного решения они определяют границы проекта, бюджет и расписание. Вехи присутствуют в конце каждой стадии (фазы).
2. Уточнение
В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:
Документирование требований (включая детальное описание для большинства прецедентов).
Спроектированную, реализованную и оттестированную исполняемую архитектуру.
Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
Сниженные основные риски.
Успешное выполнение фазы разработки означает достижение вехи архитектуры жизненного цикла.
При этом модель прецедентов охватывает большинство функциональных требований системы. Архитектура представляет собой небольшую и компактную систему (основа для последующей разработки). Составлен успешный бизнес-план. Команда имеет план проекта, который описывает следующую стадию.