- •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.
24. Как осуществляется управление качеством в программной и инженерии?
С точки зрения тестирования ПО нас интересует в этих стандартах стандартизация качества - сначала выпускаемой продукции, а потом и процессов по ее разработки. Здесь срабатывает идея о том, что качественного результата не создать без качественного процесса. Обеспечение качества является более общим контекстом для тестирования. Качество продукта или сервиса, предназначенного потребителю, определяется в стандарте ISO 9000 как степень соответствия его характеристик требованиям - обязательным или подразумеваемым.
25. Методы обеспечения качества по.
Наладка качественного процесса, совершенствование процесса. Используются стандарты CMMI, ISO 9000.
Формальные методы - использование математических формализмов
Исследование и анализ динамических свойств ПО. Для этого широко используется профилирование с использованием специальных программных средств.
Обеспечение качества кода. Сюда относится целый комплекс различных мероприятий и методов. Вот некоторые, самые известные из них:
Разработка стандартов оформления кода в проекте
Рефакторинг - это регулярная деятельность по переписываю кода, но не с целью добавления ново функциональности, а для улучшения его структуры.
Различные варианты инспекции кода.
«Вычитка» кода.
Тестирование. Самый распространенный способ контроля качества ПО, представленный, фактически, в каждом программном проекте.
26. Дайте определение тестирования. Перечислите и кратко охарактеризуете виды тестирования.
Тестирование - это проверка соответствия между реальным поведением программы и ее ожидаемым поведением в специально заданных, искусственных условиях.
Виды тестирования:
Модульное тестирование - тестируется отдельный модуль, в отрыве от остальной системы.
Интеграционное тестирование - две и более компонент тестируются на совместимость.
Системное тестирование - этот тестирование всей системы в целом, как правило, через ее пользовательский интерфейс.
Регрессионное тестирование - тестирование системы в процессе ее разработки и сопровождение на не регресс.
Нагрузочное тестирование - тестирование системы на корректную работу с большими объемами данных.
Стрессовое тестирование - тестирование системы на устойчивость к непредвиденным ситуациям.
Приемочное тестирование - тестирование, выполняемое при приемке системы заказчиков.
27. Что такое cmmi? Перечислите и охарактеризуйте уровни зрелости предприятий.
CMMI является некоторым описанием идеального процесса разработки ПО, предлагает некоторую модель процесса. То есть в процессе выделяются и тщательно описываются некоторые составные части, ключевые с точки зрения CMMI. Эта точка зрения CMMI - совершенствование процессов разработки. То есть эти значимые части процесса - области усовершенствования. В CMMI различаются следующие группы областей усовершенствования: управление процессами, управление проектами, инженерные области, служебные области. При этом все области задаются в виде требований, определяющих не то, как они реализованы, а интерфейсные требования.
Уровни зрелости предприятий:
Начальный уровень - это уровень, на котором, по определению, находится любая компания. На этом уровне разработка ПО ведется более- менее хаотично.
Управляемый уровень - здесь уже появляются политики и процедуры организации процессов, утвержденные на уровне компании. Но в полной мере процессы существуют лишь в рамках отдельных проектов.
Определенный уровень - здесь появляется стандартный процесс на уровне всей компании в целом. Это большой и постоянно пополняющийся набор активов процесса - шаблонов документов, моделей жизненного цикла, программных средств, практик и пр. Любой конкретный процесс получается вырезкой, из этого стандартного.
Управляемый количественно уровень - подразумевает появление системы измерений в компании, которые происходят на базе стандартного процесса и позволяют количественно управлять разработкой.
Оптимизирующийся уровень - подразумевает постоянное улучшение процессов разработки, как постепенных, пошаговых, так и революционных. При этом данные изменения оказываются не вынужденными, а упреждающими проблемы и трудности. Процесс совершенствуется сам и постоянно - есть, реализованы соответствующие механизмы.