- •Вопрос 2. Спецификация, представление, реализация абстрактных типов данных.
- •Вопрос 3. Многомашинные вс. Реализация на основе ес эвм. Кластерные вс.
- •Типы кластеров:
- •Вопрос 2. Линейные структуры данных: стек, очередь, дек
- •Вопрос 3. Сравнительный анализ и основные компоненты инструментальных среды разработки пользовательских интерфейсов. Классификация элементов пользовательского интерфейса
- •Вопрос 1. Конкретные реализации языков функционального программирования: язык программирования Лисп, основные объекты, примитивы, списки, правила составления программ.
- •Вопрос 2. Семантическая теория программ. Вычислимость и разрешимость
- •Вопрос 3. Формальные методы описания диалоговых систем. Законы Фитса и Хика.
- •Вопрос 1. Основные конструкции логической программы: факты, правила, запросы, логические переменные. Операционная и декларативная семантика логических программ.
- •1. 5. Декларативный и процедурный смысл программ
- •Вопрос 2. Интерфейсы. Способы согласования аппаратных структур. Организация асинхронных интерфейсов
- •Элементы процесса как поведенческой категории :
- •Дескриптивный асинхронный процесс (dp)
- •Асинхронный процесс (ap)
- •Инициаторы
- •Вопрос 3. Эргономика пользовательского интерфейса. Критерии эргономичности интерфейса. Человеческие ошибки. Методы предотвращения ошибок. Снижение чувствительности системы к ошибкам.
- •Типы ошибок
- •Методы предотвращения ошибок
- •Как избежать сообщений об ошибках
- •Вопрос 1. Интерпретация и корректность логических программ. Абстрактный интерпретатор, значение логической программы, вычислительная модель
- •Вопрос 2. Порядковые статистики (Гулаков сказал что его не будет)
- •Субъективная удовлетворенность
- •Типичные интерфейсные ошибки отечественного по
- •Программа перегружена элементами управления
- •Терминология не адекватна знаниям пользователя о системе
- •От пользователя постоянно требуется дополнительная информация
- •Вопрос 1. Программирование баз данных. Динамическая база данных. Добавление и удаление фактов в процессе работы программы.
- •Вопрос 2. Поиск и кодирование (сжатие) данных, кодовые деревья, оптимальные префиксные коды
- •Вопрос 1. Рекурсивное программирование на логическом языке. Рекурсивные структуры данных – списки. Объявление списков. Составные списки. Голова и хвост списка. Примеры работы со списками.
- •Вопрос 2. Бинарный поиск, хеширование
- •Вопрос 3. Тестирование и отладка программного обеспечения. Структурное и функциональное тестирование. Особенности тестирования объектно-ориентированного по. Автоматизация процесса тестирования.
- •Вопрос1. Вычислительная модель программы на логическом языке. Согласование целевых утверждений. Сопоставление и унификация. Детерминизм.
- •Вопрос 2. Понятие выполнения сети. Свойства сети (устойчивость, безопасность, консервативность).
- •Вопрос 3. Автоматизация проектирования программного обеспечения на базе case-технологий. Принципы построения и т.Д.
- •Вопрос 1. Множественные выражения Программирование второго порядка Недетерминированное программирование
- •Вопрос 2. Нелинейные структуры данных: иерархические списки, деревья и леса, бинарные деревья
- •Вопрос 1. Вне логические предикаты. Ввод-вывод. Доступ к программам и обработка программ. Металогические предикаты. Сравнение не основных термов.
- •Вопрос 2. Алгоритмы сортировки
- •Сортировка разделением (Quicksort)
- •Вопрос 1. Constraint–Пролог: операционная семантика обобщение механизма унификации, понятие constraint'а. Операционная модель Constraint-пролоГа.
- •Вопрос 2. Нелинейные структуры: обходы деревьев
- •Вопрос 3. Качество по. Критерии качества: сложность, корректность, надежность, трудоемкость. Методика оценки качества по. Метрические особенности объектно-ориентированных пс. Сертификация по
- •Вопрос 1. Cancelled мистером г.
- •Вопрос 2. Стандартные схемы программ. Методы формальной спецификации и верификации.
- •Вопрос 1. Использование деревьев в задачах поиска: бинарные деревья поиска, случайные, оптимальные, сбалансированные по высоте и рандомизированные деревья поиска
- •. Деревья цифрового поиска
- •Вопрос 2. Определение асинхронного процесса как описания модели вычислительного процесса. Глобальные свойства – асинхронность, недетерминированность, параллельность.
- •1. Задачи сортировки; внутренняя и внешняя сортировка
- •2. Подклассы асинхронного процесса. Эффективный асинхронный процесс
- •Длительность реакции системы
- •Субъективное восприятие скорости работы
- •Приемы для уменьшения субъективного восприятия
- •1. Оптимальная сортировка.
- •2. Конвейерный процесс. Автономный процесс. Асинхронный процесс как метамодель.
- •Непосредственное манипулирование
- •Потеря фокуса внимания (прерывание)
- •Ограничение принятия решений
- •1. Анализ сложности и эффективности алгоритмов поиска и сортировки.
- •2. Классификация сетей (ординарные, автоматные, маркированный граф).
- •Понятность системы
- •Ментальная модель
- •Метафора
- •Аффорданс
- •Стандарт
- •1. Файлы: организация и обработка, представление деревьями: b-деревья.
- •2. Сетевое представление параллельных процессов. Области применения сетей Петри
- •3. Основы теории формальных языков и грамматик. Основные понятия и определения. Операции над языками. Классификация формальных языков и грамматик по порождающей способности
- •1. Алгоритмы на графах: представления графов, схемы поиска в глубину и ширину, минимальное остовное дерево, кратчайшие пути.
- •2.1.Поиск в глубину
- •2.2 Поиск в ширину.
- •2. Протоколы взаимодействия объектов вычислительных структур. Понятие протокола.
- •3. Вывод контекстно-свободных (кс) – грамматик и правила построения дерева вывода. Синтаксический разбор. Способы задания схем грамматик. Форма Бэкуса-Наура.
- •1. Теория сложности алгоритмов: np-сложные и труднорешаемые задачи.
- •2. Недетерминированные конечные автоматы. Конечные преобразователи и переводы. Преобразование некоторых грамматик к автоматному виду.
- •3. Объектно-ориентированное проектирование. Принципы проектирования. Схемы, диаграммы, инструменты.
- •1. Детерминированные конечные автоматы. Эквивалентные состояния и автоматы.
- •2. Синтаксический анализ. Метод оперативного предшествования. Восходящие и нисходящие методы синтаксического анализа.
- •2. Жизненный цикл программного обеспечения. Структура жизненного цикла согласно международного стандарта.
- •1. Нисходящие распознаватели. Ll(k) – грамматики. Построение детерминированного нисходящего распознавателя.
- •2. Параллельная обработка как основа высокопроизводительных вычислений. Уровни организации параллелизма: уровень заданий, программ и команд. Системы (языки) параллельного программирования.
- •1. Восходящие распознаватели. Lr(k) грамматики. Построение грамматики.
- •2. Понятие архитектуры вычислительной системы (вс). Архитектура как набор компонент и как система уровневых интерфейсов. Основные аппаратные и программные элементы вс.
- •1.1. Архитектура как набор взаимодействующих компонент
- •1.2. Архитектура как интерфейс между уровнями физической системы
- •1. Магазинные преобразователи. Определение магазинного преобразователя. Перевод, определяемый преобразователем.
- •2. Архитектура системы команд. Микропроцессоры (мп) с полным (cisc) и сокращённых (risc) набором команд. Основные принципы risc- архитектуры. Организация risc мп Alpha 21x64 фирмы dec.
- •Особенности архитектуры Alpha компании dec
- •1. Описание перевода или трансляции. Синтаксически-управляемые (су) – схемы.
- •2. Основные идеи объектно-ориентированных языков программирования. Создание абстрактных типов данных. Инкапсуляция. Полиморфизм. Наследование.
- •3. Развитие архитектур современных мп. Конвейеризация и динамическое выполнение потока команд. Суперскалярность. Архитектура epic мп Intel itanium.
- •1. Транслирующие грамматики. Построение транслирующей грамматики по су-схеме. Атрибутные транслирующие грамматики.
- •3. Векторные и векторно-конвейерные вс. Структура векторного процессора. Матричные вс.
- •1. Трансляторы, интерпретаторы и компиляторы. Стадии работы компиляторы. Лексический анализ.
- •3. Системы массовой параллельной обработки (мрр). Супер эвм фирмы sgi - Cray t3e(t3d) -1200.
- •2. Классификация и типы вс. Многомашинные и многопроцессорные вс. Представление вс на основе распределения потоков команд и данных (классификация Флинна)
. Деревья цифрового поиска
Как и в деревьях, обсуждавшихся в предыдущих разделах, в каждой вершине такого дерева хранится полный ключ, но переход по левой или правой ветви происходит не путем сравнения ключа-аргумента со значением ключа, хранящегося в вершине, а на основе значения очередного бита аргумента.
Поиск начинается от корня дерева. Если содержащийся в корневой вершине ключ не совпадает с аргументом поиска, то анализируется самый левый бит аргумента. Если он равен 0, происходит переход по левой ветви, если 1 - по правой. Если не обнаруживается совпадение ключа с аргументом поиска, то анализируется следующий бит аргумента и т.д., пока либо не будут проверены все биты аргумента, или мы не наткнемся на вершину с отсутствующей левой или правой ссылкой.
Вопрос 2. Определение асинхронного процесса как описания модели вычислительного процесса. Глобальные свойства – асинхронность, недетерминированность, параллельность.
Метамодель – это модель, обобщающая некоторую группу классов, протекающих в вычислительной системе процессов. Асинхронный процесс – это процесс, который протекает в вычислительной системе и ее отдельных частях без жесткой привязки ко времени отдельных составляющих этого процесса. Все системы могут функционировать параллельно.
Процесс – это ход развития какого-либо явления, последовательность, закономерная смена состояний в ходе развития чего-нибудь. Под процессом можно понимать совокупность последовательных действий для достижения какого-либо результата.
Алгоритм – конечный набор правил, позволяющих решить любую конкретную задачу из некоторого класса однотипных задач.
Применение правил решения задачи в вычислительной системе порождает процесс, который характеризует текущее состояние реализованного алгоритма
Состояние – статистический элемент структуры или системы. Представляет собой некоторое упорядоченное множество значений, компонент, параметров или характеристик системы.
Действие – переход от одного состояния к другому.
Асинхронность – отсутствие ограничения на относительных – длительность, состояние и действие, т.е. длительность-состояние и длительность-действие имеют конечную продолжительность.
Согласованность – свойство, отражающее причинно-следственную связь между состояниями. Переход из одного состояния в другое происходит только после окончания первого.
Событие – мгновенное действие, которое в рассматриваемой нами модели не имеет продолжительности.
Ситуация – сочетание условий и обстоятельств, создающих определенную обстановку.
Будем рассматривать 2 вида асинхронных процессов при моделировании : Дескриптивный асинхронный процесс – четверка <S, F, J, R>, в которой:
S – не пустое множество ситуаций;
F – бинарное отношение, определенное на множестве P(S) таких подмножеств ситуаций, которое некоторому подмножеству ситуаций αP(S) ставит в соответствие подмножество βP(S) такое, что α ≠ β;
J – множество инициаторов R – множество результантов
Асинхронный
означает, что привязка ко времени
формально не осуществляется, но
учитывается что время конечно. Привязка
сущности время осуществляется с помощью
отношения F.
Если имеет место соотношение F,
то время перехода из ситуации
в ситуацию
не оговаривается, так как может быть
произвольным, но конечным. Запись F
говорит о том, что
является совокупность причин, а
- возможным следствием. Отношение F
определенное на множестве ситуаций
подчеркивает недетерминированность
модели ДАП. Оно рассматривается как
приблизительность задания этого
отношения, вызванная отсутствием точных
знаний в какой конкретной ситуации из
подмножества ситуаций находится процесс
и в какую ситуацию он должен перейти.
Запись
допускает и запись
.
Отношение не оставляет трактовку
недетерминированности.
Инициаторы – подмножество ситуаций, инициирующих процесс. Назначение инициаторов делается на основе семантики процессов. Введенное ограничение на их выбор говорит лишь о том, что инициатор не может быть только следствием некоторого подмножества ситуаций, он обязательно должен быть причиной.
Результанты – подмножества, состоящие из финальных ситуаций. Их выбор осуществляется на основе семантики процессов. Результанты не могут быть только причиной, они должны быть и следствием какой-то причины.
Асинхронный процесс – четверка <S, E, I, R>, в которых:
S – непустое множество системы; E – отношение непосредственного следствия ситуаций I – множество инициаторов,
R – множество результантов
Вопрос 3. Аппаратные средства графического диалога и мультимедиа устройства. Виртуальные объекты и механизмы диалога. Основные принципы создания интерфейса. Составляющие дружественности интерфейса.
Основные принципы создания интерфейса.
С точки зрения эргономики, самое важное в программе — создать такой пользовательский интерфейс, который сделает работу эффективной и производительной, а также обеспечит удовлетворенность пользователя от работы с программой.
Эффективность работы означает обеспечение точности, функциональной полноты и завершенности при выполнении производственных заданий на рабочем месте пользователя. Создание ПИ должно быть нацелено на показатели эффективности:
Точность работы определяется тем, в какой степени произведенный пользователем продукт (результат работы), соответствует предъявленным к нему требованиям. Показатель точности включает процент ошибок, которые совершил пользователь: число ошибок набора, варианты ложных путей или ответвлений, число неправильных обращений к данным, запросов и пр.
Функциональная полнота отражает степень использования первичных и обработанных данных, списка необходимых процедур обработки или отчетов, число пропущенных технологических операций или этапов при выполнении поставленной пользователю задачи. Этот показатель может определяться через процент применения отдельных функций в РМ.
Завершенность работы описывает степень исполнения производственной задачи средним пользователем за определенный срок Последовательность действий и набор инструментальных средств пользователя в ПИ должны быть подчинены технологическому процессу выполнения производственного задания.
Не надо бояться сложности системы, надо избегать такого интерфейса, который не соответствует алгоритму решения пользовательских задач. Для того, чтобы разобраться в технологии решения задач пользователя, разработчику необходимо выяснить следующие моменты (исследуя деятельность пользователя):- Какая информация необходима пользователю для решения задачи? -Какую информацию пользователь может игнорировать (не учитывать)? -Совместно с пользователем разделить всю информацию на сигнальную, отображаемую, редактируемую, поисковую и результирующую. - Какие решения пользователю необходимо принимать в процессе работы с программой? -Может ли пользователь совершать несколько различных действий (решать несколько задач) одновременно?
- Какие типовые операции использует пользователь при решении задачи? -Что произойдет, если пользователь будет действовать не по предписанному Вами алгоритму, пропуская те или иные шаги или обходя их?
Производительность работы отражает объем затраченных ресурсов при выполнении задачи, как вычислительных, так и психофизиологических.
Дизайн ПИ должен обеспечивать минимизацию усилий пользователя при выполнении работы и приводить к:
сокращению длительности операций чтения, редактирования и поиска информации,
уменьшению времени навигации и выбора команды,
повышению общей продуктивности пользователя, заключающейся в объеме обработанных данных за определенный период времени.
увеличению длительности устойчивой работы пользователя и др.
Сокращение непроизводственных затрат и усилий пользователя - важная составляющая качества программного обеспечения.
Для оценки продуктивности используются соответствующие показатели, проверяемые специалистами по эргономике в процессе usability тестирования рабочего прототипа.
Формирование таких показателей происходит в процессе определения требований к ПИ при изучении следующих вопросов:
Что от пользователя требуется в первую очередь? - Сколько информации, требующей обработки, поступает пользователю за период времени? - Каковы требования к точности и скорости ввода информации? - На какие операции пользователь тратит больше всего времени? - Чем мы можем облегчить работу пользователя при решении типовых задач?
Удовлетворенность пользователя от работы тесно связана с комфортностью его взаимодействия с приложением, и способствует сохранению профессиональных кадров на предприятии Заказчика за счет привлекательности работы на данном рабочем месте.
Требования к удобству и комфортности интерфейса возрастают с увеличением сложности работ и ответственности пользователя за конечный результат. Высокая удовлетворенность от работы достигается в случае:
Прозрачной для пользователя навигации и целевой ориентации в программе. Главное, чтобы было понятно, куда идем, и какую операцию программа после этого шага произведет.
Ясности и четкости понимания пользователем текстов и значения икон. В программе должны быть те слова и графические образы, которые пользователь знает или обязан знать по характеру его работы или занимаемой должности.
Быстроты обучения при работе с программой, для чего необходимо использовать преимущественно стандартные элементы взаимодействия, их традиционное или общепринятое их расположение.
Наличия вспомогательных средств поддержки пользователя (поисковых, справочных, нормативных), в том числе и для принятия решения в неопределенной ситуации (ввод по умолчанию, обход «зависания» процессов и др.).
Для оценки необходимого уровня удобства интерфейса также используются специальные опросники, формуляры, чек-листы, однако к данной работе лучше привлекать специалистов по эргономике. Удобный интерфейс помогает пользователю справиться с усталостью и напряжением при работе в условиях высокой ответственности за результат.
С
оставляющие
дружественности интерфейса.
Пользовательский
интерфейс и его соответствие нуждам
пользователя -- вот основные задачи
usability.
Из рисунка видно, что основным
компонентом разработки пользовательского
интерфейса становятся сами пользователи,
и это вполне понятно. Удивительно лишь
то, насколько часто данным фактором
пренебрегают, полагая, что опытный
дизайнер или программист и так более
или менее ознакомлен со всеми
пользовательскими требованиями и
поэтому никаких дополнений в плане
верификации программного продукта в
области usability не требуется. Если
программное обеспечение или Web-продукт
делается для конкретного клиента
(скажем, банковское ПО или корпоративная
сеть intranet), то здесь знаниям дизайнера
и программиста, пожалуй, можно доверять,
так как в крайнем случае клиенту придется
переучиться или привыкнуть пользоваться
тем интерфейсом, который ему предложат.
В случае же, если продукт нацелен на
более массовый рынок (коммерческое ПО
или Web-сайт), то здесь ошибки в интерфейсе
могут стоить очень дорого, а экономия
на usability скажется на уровне продаж или
количестве посетителей.
Билет 15
