3. Понятие «технология программирования». Характеристики качества программного обеспечения. Сложность по. Пути ограничения сложности. (тп)
ТП – совокупность средств и методов для создания качественного программного продукта. Любая технология программирования базируется на совокупности механизмов, применяемых в процессе разработки ПО и объединенных общим философским подходом.
Качество ПО м.б. описано большим количеством разнородных характеристик.
По ISO 9126:
1-й уровень – характеристики, 2-й уровень – подхарактеристики,3 - метрики.
6 характеристик качества: функциональность, надежность, применимость, эффективность, сопровождаемость, переносимость.
Функциональность – группа свойств программного продута, обуславливающие его способность выполнять установленные функции при определённых условиях.
Подхарактеристики: пригодность для применения, точность, защищенность, способность взаимодействию, соответствие стандартам и правилам проектирования.
Надежность – группа свойств, обуславливающих способность программного продукта сохранять указанный уровень работоспособности в заданных условиях.
Подхаратеристики: устойчивость к отказам, способность к восстановлению после сбоев, соответствие стандартам надежности.
Применимость – группа свойств прог-го продукта, обуславливающая его способность быть понятным, изучаемым и привлекательным для пользователя.
Подхарактеристики: понятность, удобство в изучении, простота использования, работоспособность, соответствие стандартам практичности.
Эффективность – группа свойств, характеризующая соответствия используемых продуктом ресурсом качеству выполнения своих функций.
Подхаратеристики: временнЫе, используемые ресурсы, соответствие стандартам эффективности.
Сопроводаемость – группа свойств, характеризующая возможность быть м\ф-ым.
Подхарактеристики: анализируемость, удобство внесения изменений, контролируемость, удобство проверки, соответствие стандартам сопровождаемости.
Переносимость: группа свойств, характеризующая способность быть переносимым из 1-й среды в другую
Подхарактеристики; адаптируемость, удобство установки, способность к взаимодействию другим ПО, удобство замены другим ПО данным ПО, соответствие стандартам переносимости.
Сложность ПО определяется четырьмя основными причинами:
1)Сложность проблемы.
А) Трудность понимания.
Б) Дополнительные требования. (Удобство,Цена,Надежность)
В) Несовместимость областей знания.
Г) Изменение требований.
Д) Эволюция системы.
2)Сложность управления процессом разработки.
А) Рост числа строк программного кода.
Б) Необходимость в коллективной разработке.
В) Необх-ть в корд-ии и согласов-ии работ отдельных испол-ей.
Г) Целостность основной идеи.
3) Гибкость ПО – в программ-ии разраб-к м-т сам себя обесп-ать всеми необх-ми эл-ми, относ-ся к люб. ур-ю абстракции.
4) Сложность описания поведения отдельных подсистем.
А) Предсказуемость поведения аналоговых систем. Б) Дискретность программных систем.
В) Большое количество переменных, их значений, адресов, стеков. Г) Комбинаторный взрыв.
Д) Стремление к независимости подсистем. Е) Тестирование.
Пути ограничения сложности ПО:
1)Декомпозиция - разделение. При проектировании сложной программной системы нужно составить её из небольших подсистем, каждую из которых можно отладить отдельно от других. Существует 2 способа декомпозиции – алгоритмический и ОО.
Алгоритмическая декомпозиция использует структурное проектирование по методу «сверху вниз». Алгоритм разделяется на модули, каждый из которых выполняет 1 из этапов общего процесса.
ОО декомпозиция в качестве критерия разделения использует принадлежность элементов системы к различным абстракциям данной проблемной области. В этом случае проблемная область представлена списком автономных объектов, которые взаимодействую друг с другом, чтобы обеспечить поведение системы соответствующего более высокому уровню.
Алгоритмическая и ОО декомпозиции решают одну и туже задачу разными способами. Разделение по алгоритму концентрирует внимание на порядке происходящих событий.
Разделение по объектам придаёт особое значение факторам либо вызывающим действиям.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №
- 1. Автоматы и формальные языки. Классификация формальных языков и автоматов. Концепция порождения и распознавания. (та)
- 2. Технологические процессы изготовления печатных плат. (ктоп)
- 3. Прерывания в мпс. Типы прерываний. (мпс)
- 1. Регулярные языки и конечные автоматы. (та)
- 2. Индуктивные паразитные наводки в цепях эва. (ктоп)
- 3. Обмен информацией между микропроцессором и внешним устройством. (мпс)
- 1. Контекстно-свободные грамматики и магазинные автоматы. (та)
- 2. Эффективность электромагнитного экранирования. Расчёт электромагнитных экранов. (ктоп)
- 3. Система ввода-вывода. Параллельный порт. (мпс)
- 1. Произвольные автоматы и машина Тьюринга. (та)
- 2. Емкостные паразитные наводки в цепях эва. (ктоп)
- 3. Понятие «технология программирования». Характеристики качества программного обеспечения. Сложность по. Пути ограничения сложности. (тп)
- 1. Абстрактный синтез конечных автоматов. Минимизация и детерминация конечных автоматов. Автоматы Мили и Мура. (та)
- 2. Понятие надёжности электронного аппарата. Расчёт времени безотказной работы. (ктоп)
- 3. Модели жизненного цикла по. Методологии разработки сложных программных систем. Примеры «тяжелого» и «легкого» процесса. (тп)
- 1. Структурный автомат. Канонический метод структурного синтеза автоматов. Этапы синтеза. (та)
- 2. Конструкции корпусов эа и механизмы переноса тепла в них. (ктоп)
- 3. Универсальный язык моделирования uml, его назначение. Варианты использования. Диаграммы вариантов использования. Диаграммы классов. (тп)
- 1. Память структурного автомата. Элементы памяти. Триггеры. (та)
- 2. Роль стандартизации в технике конструирования. Применение ескд и естд. (ктоп)
- 3. Универсальный язык моделирования uml, его назначение. Диаграммы взаимодействия: последовательные и кооперативные. Применение этих диаграмм. (тп)
- Кооперативные диаграммы
- 1. Экспертный метод весовых коэффициентов важности. (моделирование)
- 2. Понятие вычислительного процесса и ресурса, классификация ресурсов, основные виды ресурсов. (спо)
- 3. Универсальный язык моделирования uml, его назначение. Диаграммы деятельности. Диаграммы состояний. Применение этих диаграмм. (тп)
- 1. Планирование и обработка результатов расслоенного (ступенчатого) эксперимента. (моделирование)
- 2. Процессы, состояния процесса, операции над процессами, планирование и диспетчеризация процессов. (спо)
- 3. Тестирование и отладка по. Основные принципы тестирования. Стратегии тестирования программных модулей. Методы структурного тестирования. (тп)
- 1. Полный факторный эксперимент (пфэ). (моделирование)
- 2. Параллельная обработка процессов, проблемы критических участков, взаимоисключения. Синхронизация параллельных процессов на низком уровне. (спо)
- 3. Тестирование по. Основные принципы тестирования. Структурное и функциональное тестирование. Методы функционального тестирования. (тп)
- 1. Модифицированный метод случайного баланса (ммсб). (моделирование)
- 2. Параллельная обработка процессов, проблемы критических участков, взаимоисключения. Синхронизация параллельных процессов на высоком уровне. (спо)
- 3. Эволюция технологий программирования. Структурное программирование. Объектно-ориентированное программирование. (тп)
- 1. Метод наименьших квадратов с предварительной ортогонализацией факторов (мнко). (моделирование)
- 2. Тупики, типы ресурсов для изучения тупиковых ситуаций, необходимые условия возникновения тупиков, стратегии предотвращения тупиков (спо)
- 3. Стадии разработки новой сапр и программного обеспечения сапр. (сапр)
- 1. Планирование второго порядка. Типы планов, их особенности.
- 2. Стратегии управления памятью: стратегии вталкивания, стратегии размещения, стратегии выталкивания. (спо)
- 3. Основная функция сапр. Классификация объектов сапр. (сапр)
- 1. Задача оптимизации. Метод крутого восхождения (Бокса-Уилсона). (моделирование)
- 2. Файловая система, функции файловой системы, состав файловой системы, архитектура, примеры современных файловых систем. (спо)
- 3. Виды и назначение составляющих компонентов сапр. Аннотация. (сапр)
- 1. Оптимизация в условиях ограничений. (моделирование)
- 2. Иерархия памяти. Эволюция видов организации памяти. Особенности страничной, сегментной и сегментно-страничной организации памяти. (спо) Иерархия памяти
- Эволюция видов организации памяти
- Сегментация
- Страничная организация памяти
- Комбинированная сегментно-страничная организация памяти
- 3. Моделирование в сапр. Виды моделей. Применение.
- 1. Цифровые интегральные микросхемы. Серии интегральных микросхем. Параметры цифровых имс. (схемотехника)
- 2. Концепция файловых систем fat32 и ntfs: структура логического диска, возможности, преимущества. (спо)
- 3. Метод конечных элементов. Особенности р- и h-версий. Применение. (сапр)
- 1. Базовые логические элементы (блэ). Параметры и характеристики блэ. (схемотехника)
- 2. Стандартный интерфейс ieее-1284. (ипу)
- 3. Графические стандарты сапр. Уровни связи. Международные организации, устанавливающие стандарты. (сапр)
- 1. Основные типы (технологии) базовых логических элементов. Сравнительная характеристика серий ттл, ттлш, кмоп, эсл, иил (схемотехника)
- 2. Стандартный интерфейс rs-232c. (ипу)
- 3. Основные концепции графического программирования в сапр. Краткий обзор (сапр)
- 2. Шина расширения eisa. (ипу)
- 3. Виртуальная инженерия. Понятие. Компоненты. (сапр)
- 1. Комбинационные схемы: шинный формирователь, схема сравнения, сумматоры. (схемотехника)
- 1) Шинный формирователь
- Сумматор Сумматор (англ. – adder) – цифровой узел, вычисляющий код арифметической суммы входных кодов. Сумматор с последовательным переносом
- 2. Организация стандартной шины pci. (ипу)
- 3. Типы данных сапр, поддерживаемых субд. Классификация. (сапр)
- 1. Триггеры. Принцип действия основных типов триггеров. (схемотехника)
- 2. Вид и организация устройств памяти. Интерфейсы устройств памяти. (ипу)
- 3. Базы данных сапр. Особенности хранения и применения. (сапр)
- 1. Счётчики. Основные типы счётчиков. (схемотехника)
- 2) Организация стандартной шины pci (ипу)
- 2. Интерфейсы графических адаптеров и мониторов. (ипу)
- 3. Общие принципы построения вычислительных сетей. Состав сети, квалификация вычислительных сетей. Топологии сетей. (сети)
- 1. Постоянное запоминающее устройство (пзу). Характеристика основных типов пзу. (схемотехника)
- 2. Параллельный интерфейс нжмд ата и его последовательная модернизация Serial ata. (ипу)
- 3. Модель osi. Уровни модели osi. Функции, выполняемые уровнями. (сети)
- 1. Оперативное запоминающее устройство (озу). Статическое и динамическое озу. (схемотехника)
- 2. Функциональное устройство звуковой карты, интерфейс midi, электромузыкальный цифровой синтезатор. (ипу)
- Стандарт на аппаратуру и программное обеспечение
- 3. Система передачи данных в сети. Типы линий связи. Основные характеристики каналов связи. (сети)
- 1. Буферная память типа fifo ("очередь") и lifo ("магазин"). (схемотехника)
- 2. Структура центрального процессора. Основные блоки. (мпс)
- 3. Кодирование информации. Виды кодов. Самосинхронизирующиеся коды. (сети)
- 1. Базовый принцип конструирования и конструктивные модули. (ктоп)
- 2. Традиционная архитектура мпс по принципам фон Неймана. (мпс)
- 3. Способы доступа к сети. Метод доступа опроса/выбора. Маркерный метод доступа. (сети)
- 1. Показатели качества конструкции. (ктоп)
- 2. Система ввода-вывода. Последовательный порт. (мпс)
- 3. Технологии локальных сетей. Сравнить особенности технологий Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, fddi. Оборудование локальных сетей. (сети)
- 1. Влияние внешних факторов на работу эа и методы борьбы с ними. (ктоп)
- 2. Типы памяти микропроцессора. Подключение памяти. (мпс)
- 3. Технологии глобальных сетей X.25, Frame Relay, атм. Формат блока данных. Основные процедуры, используемые протоколы. (сети)