- •1. Что такое программная инженерия? Когда и как она возникла и что изучает?
- •2. С какими дисциплинами и как связана программная инженерия? Чем она отличается от программирования?
- •3. Что такое программное обеспечение (по)?
- •4.Перечислите и охарактеризуйте свойства пo.
- •5.Что такое процесс создания по? Расскажите о видах процессов.
- •6. Необходимость и способы совершенствовании процессов.
- •7. Что такое модели процессов, виды и фазы деятельности?
- •9. Расскажите о водопадной (каскадной) модели, ее достоинствах и недостатках.
- •10. Расскажите о спиральной модели, ее достоинствах и недостатках.
- •11. Что такое рабочий продукт? Для чего он нужен и как используется?
- •12. Что такое дисциплина обязательств?
- •13. Что такое проект? Что такое управление проектами и что оно включает?
- •14. Дайте определение архитектуре по. Расскажите о причинах множественности точек зрения при разработке по.
- •15. Как и для чего моделируются процессы обработки данных и по?
- •16. Что такое uml, для чего и как используется.
- •17. Расскажите о структуре и элементах языка uml.
- •18. Перечислите и кратко прокомментируйте статические диаграммы uml.
- •19. Перечислите и кратко прокомментируйте динамические диаграммы uml.
- •20. Что такое управления требованиями? Виды и свойства требований.
- •21. Формализация требований и работа с требованиями.
- •22. Что включает конфигурационное управление?
- •23. Что такое управление версиями, управление сборками и baseline продукта?
- •24. Как осуществляется управление качеством в программной и инженерии?
- •25. Методы обеспечения качества по.
- •26. Дайте определение тестирования. Перечислите и кратко охарактеризуете виды тестирования.
- •27. Что такое cmmi? Перечислите и охарактеризуйте уровни зрелости предприятий.
- •28. Расскажите об унифицированном процессе разработки по (rup).
- •29. Расскажите о гибких (agile) методах разработки. Положения Agile - манифеста. Экстремальное программирование.
- •30. Что такое Sсrum? Схема процесса, роли, практики.
- •31. Расскажите об msf. Основные принципы, история создания. Разновидности поддерживаемых процессов.
- •32. Модель команды в msf.
28. Расскажите об унифицированном процессе разработки по (rup).
Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software. В основе RUP лежат следующие принципы:
Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
Концентрация на выполнении требований заказчиков к исполняемой программе.
Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
Постоянное обеспечение качества на всех этапах разработки проекта (продукта).
Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.
RUP использует итеративную модель разработки. В конце каждой итерации проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Полный жизненный цикл разработки продукта состоит из четырех фаз, каждая из которых включает в себя одну или несколько итераций:
1. Начало (Inception)
Формируются видение и границы проекта.
Создается экономическое обоснование (business case).
Определяются основные требования, ограничения и ключевая функциональность продукта.
Создается базовая версия модели прецедентов.
Оцениваются риски.
2. Уточнение (Elaboration)
Документирование требований (включая детальное описание для большинства прецедентов).
Спроектированную, реализованную и оттестированную исполняемую архитектуру.
Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
Сниженные основные риски.
3. Построение (Construction)
Реализация большей части функциональности продукта.
4. Внедрение (Transition)
Создается финальная версия продукта и передается от разработчика к заказчику
29. Расскажите о гибких (agile) методах разработки. Положения Agile - манифеста. Экстремальное программирование.
«Гибкие» (agile) методы разработки ПО появились как альтернатива формальным и «тяжеловесным» методологиям, наподобие CMM и RUP. Талантливые программисты не желают превращения разработки ПО в рутину, хотят иметь максимум свобод и обещают взамен высокую эффективность. С другой стороны, практика показывает, что «тяжеловесные» методологии в значительном количестве случаев неэффективны. Основными положениями гибких методов, закрепленных в Agile Manifesto в 2007 году являются следующее:
индивидуалы и взаимодействие вместо процессов и программных средств;
работающее ПО вместо сложной документации;
взаимодействие е с заказчиком вместо жестких контрактов;
реакция на изменения вместо следования плану.
Фактически, гибкие методологии говорят о небольших, самоорганизующихся командах, состоящих из высококвалифицированных и энергичных людей, ориентированных на бизнес, то есть, например, разрабатывающих свой собственный продукт для выпуска его на рынок. У этого подхода есть, очевидно, свои плюсы и свои минусы.
Самым известным гибким методом является Экстремальное программирование (Extreme Programming). Он был создан талантливым специалистом в области программной инженерии Кентом Беком в результате его работы в 1996-1999 годах над системой контроля платежей компании “Крайслер”.
Модель процесса по XP выглядит как частая последовательность выпусков (releases) продукта, столь частых, сколь это возможно. Но при этом обязательно, чтобы в выпуск входила новая целиковая функциональность.
