- •1. Что такое промышленный программный продукт. Дать определения пакета прикладных программ, программной системы.
- •2. Основные причины неудач программных проектов. Критичность и масштабность программных проектов.
- •3. Жизненный цикл программного обеспечения. Дать краткую характеристику каждого этапа.
- •4. Каскадные модели разработки по.
- •5. Итеративные модели разработки по.
- •7. Техническое задание. Перечислить и охарактеризовать разделы, входящие в техническое задание.
- •8. Технология экстремального программирования.
- •9 . Унифицированный процесс разработки программного обеспечения. Жизненный цикл унифицированного процесса.
- •10. Унифицированный процесс разработки программного обеспечения. Первый этап.
- •11. Унифицированный процесс разработки программного обеспечения. Этап проектирования.
- •12. Унифицированный процесс разработки программного обеспечения. Этап внедрения.
- •13. Принципы унифицированного процесса.
- •14. Работа с кадрами. Перечислить роли разработчиков и дать характеристику каждой из них.
- •Дополнительные роли разработчиков в крупных программных проектах.
- •15. Дать определения проекта, процесса, продукта с точки зрения унифицированного процесса разработки программного обеспечения.
- •Использование языка uml при проектировании сложных программных систем. Какие диаграммы используются в uml для создания моделей программной системы.
- •Use case diagram (диаграммы сценариев);
- •Deployment diagram (диаграммы топологии);
- •Этап 3: Определение атрибутов классов
- •Этап 4: Выделение операторов (методов) классов.
- •Диаграмма вариантов использования, ее назначение. Рассказать о варианте использования и действующем лице. Правила построения диаграммы вариантов использования.
- •Диаграмма классов. Ее назначение. Что она включает. Рассказать об основных видах связей между классами.
- •Дать определение тестированию и отладке. Особенности и объекты тестирования. Автономное и комплексное тестирование.
- •Дать определение тестированию и отладке. Локализация ошибок. Классификация ошибок.
- •Оценки ошибок.
- •Правила и принципы построения интерфейса пользователя.
- •Документирование. Состав и содержание документов прилагаемых к программной системе.
- •Что такое качество с точки зрения квалиметрии. Дать определение свойству и показателю качества по. Основные задачи решаемые при оценке качества.
- •Оценка качества программного обеспечения. Методы оценки свойств программного обеспечения.
- •Система обеспечения качества по серии стандартов iso.
8. Технология экстремального программирования.
Принципы:
Игра-планирование. Быстрое определение области действия следующей реализации путем объединения деловых приоритетов и технических оценок
Частая смена версий. Быстрый запуск производства простой системы. Смена версии каждые 2 недели.
Метафора. Вся разработка ведется на основе простой общедоступной идеи.
Простое проектирование. Проектирование выполняется настолько просто, насколько возможно.
Тестирование. Непрерывное написание тестов для разработанных модулей. Тесты создаются заказчиками. Тесты выполняются безупречно.
Реорганизация. Система реконструируется, но ее поведение не изменяется.
Парное программирование. Код каждой подсистемы пишется 2 программистами, причем работают посменно.
Коллективное владение кодом. Каждый может вносить изменения в код в любое время.
Непрерывная интеграция. Система интегрируется и собирается по нескольку раз в день.
40-часовая рабочая неделя.
Локальный заказчик. В группе разработчиков постоянно присутствует представитель заказчика.
Стандарты кодирования.
9 . Унифицированный процесс разработки программного обеспечения. Жизненный цикл унифицированного процесса.
Результатом каждого цикла является новый выпуск системы, а каждый выпуск – это готовый к поставке продукт. Для того чтобы эффективно выполнить цикл разработчикам необходимо иметь представление о программном продукте. (см. рисунок ниже).
Описание:
Модель вариантов использования со всеми вариантами использования.
Модель анализа целью, которой является уточнение вариантов использования.
Модель проектирования, в которой реализуется модель вариантов использования.
Модель развертывания, в которой компоненты распределяются по узлам, а каждый узел – компьютер.
Модель реализации – это диаграмма компонентов.
Модель тестирования, которая предназначена для тестирования и отладки нашего программного продукта.
Разделение цикла разработки на фазы.
Каждый цикл осуществляется в течение некоторого времени. Это время делится на следующие фазы:
анализ и планирование требований
проектирование
построение
внедрение
Каждая фаза заканчивается вехами.
Веха – это измеримый и определяемый результат.
Вехи служат многим целям, наиболее важная из них дать руководителям возможность принять некие критические решения перед переходом на следующую фазу разработки.
10. Унифицированный процесс разработки программного обеспечения. Первый этап.
Цели:
1) Понять что создавать
Для реализации данной цели необходимо определить концепцию, границы системы, уточнить кому система нужна и во сколько она обойдется.
2) Выяснить ключевые функции системы
Для реализации данной цели необходимо определить какой функционал является ключевым для приложения или использует ключевые интерфейсы системы, определить какие функции должны быть реализованы, определить какие функциональности охватывают облатсь архитектуры не охватывают никакие другие ключевые варианты использования.
3) Выявить хотя бы одно возможное решение
Необходимо построить хотя бы одну архитектуру
4) Оценить стоимость, сроки и риски
5) Решить какому процессу следовать и какие средства использовать
Выбор процесса означает: настройку унифицированной технологии программного обеспечения под конкретный проект т. е. определения масштаба проекта, степени его формализации, а также выбор утилит для поддержки процесса. Определяется набор технологий и программных средств, которые будут использоваться при решении проекта.
Начальная фаза как правило выполняется за 1 итерацию. Однако некоторые проекты могут потребовать несколько итераций.
Причины:
1) Проект вели и команде трудно понять его границы
2) Существуют большие технологические риски, которые необходимо уменьшить путем создания прототипа
3) Система не имеет аналогов и трудно понять, что она должна делать
4) Есть множество заинтересованных сторон и их взаимоотношения сложны
5) Трудно получить экономическое обоснование с первого раза
