- •6. V модель жцпо
- •7. Rup технология.
- •8. Инкрементная модель жцпо.
- •9. Xp модель жцпо
- •10. Этапы жцпо. Содержание этапов системный анализ и проектирование.
- •11. Этапы жцпо. Содержание этапов реализации и сопровождения.
- •12. Архитектура по, выбор архитектур.
- •13. Проектирование по, основные подходы к проектированию.
- •14. Проектирование по с помощью uml.
- •15. Основные строительные блоки uml
- •16.Основные типы сущностей в uml.
- •17.Основные типы связей в uml
- •18.Основные типы диаграмм uml.
- •19. Качество по, модель качественного по.
- •Может определяться следующими критериями: Качество исходного кода
- •Факторы качества
- •С точки зрения пользователя
- •Модель качества программного обеспечения
- •20. Основные черты качественного по.
- •21. Качество по: мобильность и модифицируемость.
- •22. Качество по: правильность и надёжность.
- •23. Стиль программирования, необходимость использования стиля программирования.
- •24. Стиль программирования, использование комментариев.
- •25. Стиль программирования, система идентификации.
- •26.Стиль программирования, Венгерская нотация.
- •27. Обоснование выбора языка программирования.
- •28. Различия между языками программирования низкого и высокого уровня.
- •29. Языки программирования системного уровня.
- •30. Языки программирования для научных и инженерных расчетов
- •31. Языки для Web программирования
- •32. Языки для экономических задач
- •34. Средства реализации языков программирования.
- •35. Основные парадигмы программирования.
- •36. Основные рекомендации по оптимизации по.
- •37. Оптимизация циклов.
- •38. Оптимизация условных и логических выражений
- •39. Стратегия оптимизации.
- •40. Использование оптимизирующего компилятора.
- •41. Разработка универсального по. Основные приёмы разработки универсального по.
- •42. Понятие отладки, основные стратегии проведения отладки.
- •43. Характерные ошибки программистов.
- •44. Защитное программирование.
- •45. Инструментальная отладка.
- •46. Тестирование по. Невозможность исчерпывающего тестирования.
- •47. Уровни тестирования.
- •48. Этапы тестирования.
- •49. Методы и стадии тестирования.
- •50. Разработка пользовательского интерфейса.
- •51. Основные стратегии разработки пользовательского интерфейса.
- •52. Основные принципы разработки интерфейса.
- •53. Еспд
40. Использование оптимизирующего компилятора.
Оптимизирующий компилятор - это тот, в котором используются различные методы получения более оптимального программного кода при сохранении его функциональных возможностей. Наиболее распространённые цели оптимизации - это сокращение времени выполнения программы, повышение производительности, экономия памяти, минимизация энергозатрат, уменьшение количества операций ввода-вывода и другие. Оптимизация может происходить неявно во время трансляции программы, но как правило считается отдельным этапом работы компилятора. Компоновщики так же могут выполнять часть оптимизирующей работы, таких как удаление неиспользуемых подпрограмм или их переупорядочивание. Различают низко- и высокоуровневую оптимизацию. Низкоуровневая оптимизация преобразовывает команду на уровне элементарных команд. Например, инструкций процессора конкретной архитектуры Высокоуровневая оптимизация осуществляется на уровне структурных элементов программы, таких как модули, функции, ветвление, циклы. Рассмотрим компилятор g++, который имеет несколько опций оптимизаций.
-O0
-O1
-O2
-O3
Каждая из этих опций включает флаги оптимизации и каждый из флагов представляет собой включение/выключение определённого вида оптимизаций. Каждая следующая опция будет компилировать дольше, но эффективнее. По умолчанию используется -O0. Кроме того, существует опция -Os, которая призвана уменьшить размер кода, и -Og, которая объединяет быструю компиляцию и удобную отладку.
41. Разработка универсального по. Основные приёмы разработки универсального по.
Под универсальностью понимают независимость программы от конкретного набора данных. Написать полностью универсальную программу невозможно. Условия универсальности:
1. Без необходимости не использовать константных значений.
Для того, чтобы уйти от констант, можно написать функцию инициализации, в которой всем переменным, которые требуют присвоения начальных значений, будут присвоены значения, считанные из файла инициализации.
2. Не использовать в программах стандартные имена устройств, имена объектов файловой системы.
3. Для разработки универсальных программ не следует использовать статическое выделение памяти.
4. Для повышения переносимости с одной аппаратной платформы на другую, не рекомендуется пользоваться числовыми значениями размеров типов или объектов
5. Максимально использовать безтиповые указатели с дальнейшим их преобразованием в нужный тип
6. Создание и реализация полиморфных функций методом перегрузки.
7. Универсализации способствует создание собственных библиотек.
8. Использование при разработке ПО таблиц, таких как FAT, NTFS, таблица векторов прерываний, приоритетов и т.д.
42. Понятие отладки, основные стратегии проведения отладки.
Отладка - это этап разработки ПО, на котором локализуют и исправляют ошибки. Отладка и тестирование тесно связаны и вместе с тем это разные этатапы разработки ПО. Типичный цикл, который многократно повторяется включает:
1. Выявление и исправление ошибок программы
2. Тестирование ручное или автоматизированное и обнаружение факта ошибки программистом, тестировщиком или пользователем
3. Исправление ошибок, внесение в программу новой функциональности и снова переход на пункт 1
Существуют различные стратегии отладки:
1. Программирование без ошибок программы и ручное тестирование
2. Использование методов защитного программирования (протоколирование работы программы)
3. Инструментальная отладка, с помощью встроенного отладчика
4. Совмещение различным подходов.