UMKD_Interfeysy









































































































III ЛЕКЦИОННЫЙ КОМПЛЕКС


Лекция №1-2. Обобщенная архитектура прикладной составляющей программного обеспечения систем управления.
Тенденции развития прикладной составляющей программного обеспечения систем управления. Современные подходы в разработке, использование готовых компонентов. Компоненты каркаса пользовательского интерфейса. Концепция открытой модульной архитектуры.
Жизненный цикл изделия и программные средства его поддержки Современное производство сложных изделий машиностроения подразумевает согласованную работу многих предприятий. Для обеспечения согласованной работы всех предприятий, участвующих в проектировании, производстве, реализации и эксплуатации изделий, используется соответствующая информационная поддержка этапов жизненного цикла изделий. Такая поддержка и компьютерное сопровождение жизненного цикла изделия получили название CALS (Continuous Acquisition and Lifecycle Support). Назначение CALS-технологий - обеспечивать представление необходимой информации в нужное время, в нужном виде, в конкретном месте любому пользователю на всех этапах жизненного цикла изделия. Внедрение CALS-технологий в ближайшие годы станет необходимым условием выживания промышленных предприятий при существующей жесткой конкуренции товаров на международных инациональных рынках.

Рис. 1 Этапы жизненного цикла промышленных изделий и системы их автоматизации, применительно к производствам на базе PLC.
В современных условиях участниками жизненного цикла конкретного изделия могут быть юридически и территориально не связанные друг с другом предприятия. CALS-технологии призваны служить средством, интегрирующим существующие на предприятиях автоматизированные системы обработки информации в единую функциональную систему. Главная задача создания и внедрения CALS-технологий - обеспечение единообразных описаний и смысловой интерпретации данных независимо от места и времени их получения в общей системе, имеющей масштабы вплоть до глобальных. CALS-технологии не отвергают существующие автоматизированные системы обработки информации (САПР, АСТПП, АСУ, АСУП и др.), а служат средством их интеграции и эффективного взаимодействия. При этом структура проектной, технологической и эксплуатационной документации, понятийный аппарат и языки представления данных должны быть стандартизованы. Следует отметить, что технические средства, используемые в CALS, не являются специфическими, предназначенными только для CALS-технологий. Специфическими являются прежде всего средства лингвистического, математического и программного обеспечения CALS, а также международные CALS-стандарты, регламентирующие средства информационного и методического обеспечения. Основные типы автоматизированных систем обработки информации в CALS, используемых в жизненном цикле изделия, представлены на рисунке.
САЕ - Computer Aided Engineering (автоматизированные расчеты и анализ);
CAD - Computer Aided Design (автоматизированное проектирование);
САМ - Computer Aided Manufacturing (автоматизированная технологическая
подготовка производства);
PDM - Product Data Management (управление проектными данными);
ERP - Enterprise Resource Planning (планирование и управление предприятием);
MRP-2 - Manufacturing (Material) Requirement Planning (планирование
производства);
MES - Manufacturing Execution System (производственная исполнительная
система);
SCM - Supply Chain Management (управление цепочками поставок);
CRM - Customer Relationship Management (управление взаимоотношениями с
заказчиками);
SCADA - Supervisory Control And Data Acquisition (диспетчерское управление
производстветнтыми процессами);
CNC - Computer Numerical Control (компьютерное числовое управление);
S&SM - Sales and Service Management (управление продажами и обслуживанием);
СРС - Collaborative Product Commerce (совместный электронный бизнес).
Интересующими нас этапами в жизненном цикле изделия являются его проектирование и производство (Рис. 1). Применяемые на этих этапах современные технологии и инструменты (CAE, CAD, CAM, PDM, MES и прочие) являются залогом того, что производство будет эффективным, и изделие качественным и востребованным.CAM, ERP, SCADA и другие инструментальные средства обладают универсальностью, т.е. применимы к широкому кругу производственных задач. В связи с этим возможно выделить уровень систем и приложений более близкий к специфике задач производства и используемому на нем оборудованию. Такое программное обеспечение будет иметь прикладной характер по отношению к производственному процессу.
В настоящее время широкое распространение получили производства (например, деревообработка, полиграфия, сборочные и упаковочные линии), в которых управление производственными процессами реализовано на базе программируемых логических контроллерах (PLC). На таких производствах важную роль играет программное обеспечение, которое используется для компьютерного оборудования на этапах проектирования, подготовки производства и производства. На этих этапах выполняются прикладные задачи создания программ управления электроавтоматикой, настройки аппаратных средств, организации предоставления данных для систем более высокого уровня (SCADA, ERP,MES) и прочее. Программное обеспечение, выполняющее задачи этого уровня называют прикладным программным обеспечением или прикладнойсоставляющей систем управления.
Примеры CAD/CAM/CAE линейки продуктов:
Autodesk (Autodesk, Inc); SolidWorks (SolidWorks Corp США); Delcam (Power Solution Великобртания).

Примеры PDM систем:
PLM Windchill (Parametric Technology Corporation) SWR-PDM (SolidWorks Corp)

Казахстанские:
T-FLEX DOCs (Топ системы) APPIUS PDM (1С:PDM)

И прочие описания доступны в интернете по ключевым словам Современные тенденции построения систем управления электроавтоматикой опираются на следующие особенности:
Аппаратная база предполагает использование технологических и стоимостных
преимуществ персональных компьютеров;
Программная реализация использует все достоинства
объектно-ориентированного и компонентного подходов;
Пользовательский интерфейс имеет стандартное оконное представление;
Технологу-программисту предоставляются удобные средства для разработки
управляющих программ;
Система управления предполагает своё внедрение в работу систем по управлению производством.
Представленные особенности имеют отражение в проектировании и разработке программного обеспечения для систем управления.
Вопросы:
1.Что означает CALS-технологии?
2. В чём заключается главная задача создания и внедрения CALS-технологий?
3.Жизненный цикл изделия и программные средства его поддержки.
4.Этапы жизненного цикла промышленных изделий и системы их автоматизации, применительно к производствам на базе PLC.
5.Назовите основные типы автоматизированных систем обработки информации в CALS.


Лекция №3-4. Обобщенная архитектура систем управления электроавтоматикой. На сегодняшний день обобщенную архитектуру модулей систем управления электроавтоматикой можно представить в следующем виде (Рис. 2). В представленном виде (схематично) выделяются: прикладная часть, ядро системы управления и аппаратное обеспечение производства (последнее не является программными модулями системы управления). Для взаимодействия прикладной части и ядра системы управления используется ряд программных технологий (OPC, DDE, API, COM/DCOM) и ряд сетевых технологий (TCP/IP, Profibus, CANopen и т.п.). Соответственно программные технологии используются для организации программного взаимодействия между компонентами системы вне зависимости от их локального или распределённого расположения. Сетевые технологии применяются для организации взаимодействия компонентов распределенных на нескольких ПК, связанных сетью, а также для организации взаимодействия приложений системы, выполняемых на ПК, с компонентами ядра, расположенных на PLC. 
Рис. 2 Обобщенная архитектура систем управления электроавтоматикой

Характеристики современного процесса разработки прикладной составляющей электроавтоматики Процесс разработки прикладных компонентов систем управления электроавтоматикой обладает своей спецификой. Стоит отметить, что более 80% от объема разрабатываемого кода, приходится исключительно на реализацию компонентов прикладной составляющей. С учётом этого и поскольку интерес к развитию и расширению функций прикладной составляющей неуклонно растёт (в частности, к HMI и средствам взаимодействия с MES и ERP системами), появляются фирмы, специализирующиеся на разработке унифицированного прикладного программного обеспечения. Лидером в этой области является разработчик систем управления Smart Software Solutions – 3S, прикладные компоненты ее продукта CoDeSys применяются в системах управления электроавтоматикой TwinCAT (Beckhoff) и IndraLogic (система управления электроавтоматикой, реализованная на основе информационной системы IndraWorks производителя Bosch Rexroth). TwinCAT PLC Control – редактор управляющих программ поддерживают все 5 стандартных языков программирования логических контроллеров МЭК61131-3. В основу редакторов TwinCAT положен программный продукт CoDeSys фирмы 3S, который Beckhoff использует по лицензионному соглашению.
Таким образом, разработчикам систем управления чаще выгоднее приобрести некоторые готовые и зарекомендовавшие себя прикладные средства, чем вкладывать средства и ресурсы на разработку своих собственных аналогов. Это так же даёт возможность сосредоточить усилия на разработке ядра системы или каких-либо специализированных уникальных прикладных средств. 
Растущие требования к эргономичности пользовательского интерфейса, которые
предполагают реализацию функций, специфичных скорее офисным приложениям, также не остались без внимания. На рынок выходят новые фирмы, предлагающие компоненты для реализации элементов пользовательского оконного интерфейса, такие как Lidor Systems (продукты LidorSystem.Collector и IntegralUI TreeVeiw), TheUltimateToolbox (продукты Ultimate Toolbox 2005, Ultimate Grid, Ultimate TCP/IP) и Divelements Limited (продукты SandRibbon, SandGrid, SandBar, SandDock, Eyefinder, Navisight). Заказчики или производители систем автоматизации могут использовать аппаратное обеспечение СУ различных производителей. Это важно, например, при модернизации производства, когда новая система управления должна уметь взаимодействовать с уже использующимися и зарекомендовавшими себя контроллерами. Ключевое слово “открытая архитектура” наиболее полно раскрывает потенциал новых функциональных возможностей систем электроавтоматики. Важнейшие из них:
Конфигурирование (настраивание);
Внедрение покупных программных продуктов;
Эволюция систем управления; 
Доступ к информации;
Стандартизация пользовательских интерфейсов;
Включение системы в сетевую коммуникационную среду. 
Обобщенно открытую архитектуру прикладного программного обеспечения можно представить нижеследующим образом (Рис.3).Центральное место в архитектуре занимают компоненты, реализующие интеграцию, т.е. взаимодействие и обмен данными между компонентами различных групп, как собственных, так и сторонних разработчиков. Сторонние разработчики поставляют с одной стороны, компоненты, специализированные для реализации пользовательского интерфейса (слева на Рис. 3), с другой стороны, прикладные компоненты инструментария для разработки программ PLC (справа), и прикладные компоненты драйверов и управления контроллера (снизу). В каждой из этих областей присутствуют фирмы-лидеры со своими готовыми компонентами. Для создания прикладного программного обеспечения, на основе наиболее подходящих разработок от ведущих производителей необходимо реализовать компоненты интеграции.

Рис. 3 Обобщенная архитектура открытого прикладного ПО электроавтоматики Главная роль компонентов интеграции – это обеспечение взаимодействия компонентов, реализация конфигурирования их набора и преобразование данных, необходимых для обмена между компонентами. Примером системы управления, которая реализует подобную архитектуру, является IndraLogic, а также отчасти CoDeSys и TwinCAT. Как говорилось выше, IndraLogic реализована на базе информационной системы IndraWorks, которая в свою очередь использует компоненты пользовательского интерфейса DDPFramework.В качестве инструментальных средств разработки используются редакторы управляющих программ контроллеров программного продукта CoDeSys. А со стороны аппаратного обеспечения применяются контроллеры нового поколения IndraLogic L20, L40, контроллеры на базе ПК IndraLogic VE, VP, VS. Использование представленной открытой архитектуры прикладной составляющей в системах управления имеет ряд преимуществ, как для разработчиков, так и для потребителей:
Разработчики системы управления не тратят определённые ресурсы, т.е.
снижаются затраты, на разработку типичных элементов пользовательского интерфейса и зарекомендовавших себя в области систем управления элементов управления, типичных для задач прикладной области (например, редакторов УП, конфигураторов сетевых подключений и т.п.);
Разработчики имеют возможность определения требуемого набора компонентов и реализуемых ими задач, на ранних стадиях проектирования прикладной составляющей;
Разрабатываемая система получается открытой и расширяемой для
разработчиков программного обеспечения, производителей систем автоматизации
и для конечных потребителей; 
Сокращается время выпуска новой системы;
Потребители получают возможности для расширенной настройки пользовательского интерфейса.
Наряду со всеми преимуществами разработки систем с открытой архитектурой, также присутствуют и проблемные области. Основной из них является интеграция
программных компонентов. На данный момент отсутствует единая глобальная концепция внедрения компонентов от различных производителей в состав разрабатываемого прикладного программного обеспечения.
Вопросы:
Прикладное программное обеспечение СУ. Место в обобщенной структуре программного обеспечения СУ.
Обобщенная архитектура прикладной составляющей программного обеспечения СУ.
Тенденции развития архитектуры прикладной составляющей программного обеспечения СУ. Современные подходы в разработке и использовании готовых компонентов обеспечения СУ.


Лекция №5-6. Базовые элементы платформы приложений СУ для построения интерфейса пользователя. Концепция открытой модульной архитектуры в приложениях прикладного программного обеспечения
Базовые элементы платформы для построения интерфейса пользователя.
Специализация элементов управления в пользовательском интерфейсе приложений систем управления. Общие элементы управления. Специфичные для задач элементы управления. Управление и настройка в пользовательского интерфейса. В функциональности прикладной составляющей электроавтоматики выделены две области программных компонентов. Первая область - это компоненты окружения, вторая - прикладные компоненты. Компоненты окружения предоставляют механизмы для организации совместной работы прикладных компонентов и механизмы управления ими в рамках единой системы. С помощью компонентов окружения программно связываются компоненты прикладных задач, осуществляется настройка на конкретную платформу исполнения и происходит настройка (конфигурирование) набора прикладных задач. Они предоставляют главное окно приложения и размещаемые в нём рабочие области: меню, панелей инструментов, окна документов, строки состояния, плавающие окна для инструментария и механизмы управления, диалоги настроек этих элементов. Прикладные компоненты реализуют задачи управления электроавтоматикой. Они осуществляют функциональное наполнение прикладных приложений, используя предоставляемые окружением сервисы и функции для взаимодействия с другими
компонентами. Исходя из функционального назначения, компоненты окружения разделим на три подгруппы:
каркас системы обеспечивает общие механизмы работы компонентов в единой среде исполнения. Эти компоненты определяют правила организации элементов управления (работа с документами, способ передачи фокуса и функции для активизации окон, реализации пунктов меню, панелей инструментов и т.п.), правила взаимодействия и совместной работы компонентов системы (базовые функции для взаимодействия компонентов);
конфигурирование системы позволяет производить настройку состава
компонентов системы управления без перекомпиляции исходных кодов. Таким
образом, конечный пользователь оперирует только тем набором компонентов,
который ему необходим. 
расширенный интерфейс пользователя предоставляет свои интерфейсы для реализации общих для набора прикладных компонентов элементов управленияоператора.
Это предполагает использование дерева проекта, строки состояния, окна пользовательских настроек, библиотек устройств, галереи кнопок панели оператора и т.п. Рост вычислительных мощностей персональных компьютеров позволил сделать пользовательский интерфейс приложений эргономичным и удобным в использовании. Компоненты окружения могут быть применены в реализации приложений различной специализации, как офисной, так и промышленной. С другой стороны, компоненты окружения различных офисных приложений, которые уже отлажены и зарекомендовали себя, могут быть использованы для реализации прикладных приложений систем электроавтоматики. Важной характеристикой инструментария программных комплексов систем управления является переносимость на другие аппаратные платформы. Т.е. одни и те же прикладные компоненты, например задачи создания управляющих программ, должны исполняться на ПК, непосредственно на панелях станков или пультах управления автоматикой в условиях цеха, а так же в сетевых приложениях с удалённым доступом, например через Internet. Переносимость специализированных компонентов может быть достигнута путём реализации зависящих от платформы функций через компоненты окружения. Тогда при необходимости переноса на другие целевые платформы, изменению будут подвергаться только компоненты окружения.
Компоненты каркаса
Использование каркаса применяется для создания комплексных приложений исполняемых в рамках одного процесса, то есть все возможности прикладного программного обеспечения предлагаются не набором приложений, а в рамках одного приложения. Оконный интерфейс в настоящее время достаточно формализован для размещения совокупности инструментария всех функций системы в одном рабочем окне оператора .Применение каркаса было выявлено в системе управления CoDeSys (производитель 3S) и прототипе системы управления IndraWorks (производитель BoschRexroth). Основное назначение каркаса – это предоставлять компонентам системы все необходимые интерфейсы и типы для их функционирования и реализации единого пользовательского интерфейса. Для IndraWorks в качестве каркаса был взят продукт DDPFramework, который обеспечивает: создание и использование объектов пользовательского интерфейса (ToolWindow, DocumentWindow, Menu, ProgressBar, StatusBar и т.п.); предоставляет механизм работы с командами компонентов (для создания элементов меню и панелей инструментов); а также механизмы для взаимодействия между компонентами (передача событий, переменных, загрузка, выгрузка одним компонентом других и т.п.). Основные визуальные объекты пользовательского интерфейса, реализуемые в DDPFramework , представлены на рисунке (Рис. 7).
Главное окно приложения (1) предоставляет интерфейсы для изменения своих свойств (размер, заголовок, положение, состояние и т.п.), передачи событий, служит платформой для размещения оконных элементов управления. Визуальные элементы меню (2) реализуются с использованием предоставляемых каркасом типов и сервисов. Например, типы: MenuBar - реализует панель главного меню, ActionViewItem - реализует визуальное отображение команды меню, ActionSubListItem реализует список команд в меню, а сервис управления главным меню – IMainMenuService – реализует добавление команд, групп команд, в главное меню. Аналогично предоставляются типы и сервисы для создания и управления панелями инструментов (3). Следует обратить внимание на то, что функции пользовательского интерфейса панелей инструментов и меню (такие, как перемещение, позиционирование, сохранение расположения, отображение и прочие) выполняются в каркасе.
Рис. 4 Визуальные элементы, предоставляемые каркасом
Окна документов (4) предназначены для размещения в них элементов управления редакторов Окна инструментов (5) служат для размещения в них инструментария задач системы управленияю. Общие функции окон, такие как их взаимное расположение, размеры, состояния, группировка и присоединение и прочие, реализованы в компоненте каркаса. Кроме того, каркас предоставляет отдельные, более специализированные элементы управления для компонентов – например элементы для организации древовидной структуры в различных навигаторах системы. Такие элементы управления расширяют свойства и функции стандартного элемента управления древовидной структуры, которые предоставляются средствами разработки приложений системы. Проиллюстрированы разные экземпляры одного и того же системного компонента – дерева навигации CoDeSys. Эти экземпляры реализованы как отельные окна, но используют один и тот же системный компонент каркаса для реализации древовидной структуры.
Рис. 5 Дерево навигации СoDeSys
Компоненты конфигурирования
Обобщенная структура компонентов окружения при применении каркаса и системы конфигурирования прикладных приложений продемонстрирована на Рис. 6. 
Рис. 6 Выявленная обобщённая структура компонентов окружения
Компоненты конфигурирования применяется для настройки состава загружаемых компонентов. При запуске системы каркас загружает и использует компоненты конфигурирования для создания загружаемых динамически съёмных компонентов (плагинов). В представленной структуре прикладные компоненты пользовательских задач используют интерфейсы и типы каркаса системы для реализации свои функций и работы в составе системы в роли плагинов (plug-in – съёмный компонент). Плагины окружения, реализующие задачи, например, пользовательского интерфейса, разрабатываются на основе функций каркаса и предоставляют свои сервисы для плагинов прикладной области. CoDeSys реализует систему плагинов, дополнительной функцией которой является возможность использования компонентов различных версий. Для настройки состава компонентов используется утилита с удобным пользовательским интерфейсом
(Рис. 7). Рис. 7 Утилита конфигурирования компонентов CoDeSys Вопросы:
1.Опишите концепцию открытой модульной архитектуры в приложениях прикладного программного обеспечения.
2.Назовите базовые элементы платформы для построения интерфейса пользователя.
3. С какой целью было выявлено применение каркаса в системе управления CoDeSys?
4. Для чего применяются компоненты конфигурирования?
5. Назовите утилита конфигурирования компонентов CoDeSys.
Лекция №7-8. Компоненты средств интерфейса пользователя
Эта группа реализует удобные пользователю функции интерфейса в прикладных приложениях. Средства компонентов интерфейса пользователя обеспечивают общие принципы работы с окнами приложения и позволяют создать одинаковое представление управляющих элементов различных компонентов в едином интерфейсе пользователя.
Основные цели применения средств интерфейса пользователя следующие:
предоставление пользователю одинаковых, стандартных элементов управления, которые реализуют общие функции пользовательского интерфейса для различных компонентов приложения;
сокращение количества элементов управления в пользовательском интерфейсе. Так как разные компоненты получают возможность использовать одни и те же (в интерфейсе пользователя) элементы управления;
сохранение набора элементов управления пользовательского интерфейса при изменении состава компонентов прикладной составляющей электроавтоматики.
Основные места применения средств интерфейса пользователя, представлены на рисунке ниже (Рис. 8). Рис. 8 Основные функции компонентов алгоритмов пользовательского интерфейса
На рисунке представлены наиболее часто используемые в системах управления элементы пользовательского интерфейса: общие команды меню и панелей инструментов; деревья проектов и навигации; библиотеки устройств и программ; окна вывода информации; строка состояния; опции функций системы. Компоненты группы средств пользовательского интерфейса предоставляют открытые интерфейсы взаимодействия для их использования в компонентах прикладной области.

Конфигурирование компонентов в составе системы
Одним из основных результатов применения механизмов единого исполняемого окружения является возможность последующего конфигурирования выполняемых функций в системе и функций её пользовательского интерфейса, согласно требованиям пользователей. Формально, конфигурирование прикладной составляющей электроавтоматики можно разделить на три последовательных этапа (Рис. 9).  Рис. 9 Этапы конфигурирования компонентов системы управления для двух её режимов: Управление и Программа
Этап конфигурирования режимов системы закрепляет набор прикладных задач электроавтоматики за конкретным режимом системы управления. Режимы формируются на базе пользовательских задач электроавтоматики, при этом одна и та же задача может использоваться в нескольких режимах одновременно (Рис. 9).Этап конфигурирования задач определяет компоненты, которые используются в каждой пользовательской задаче. Задачи, одновременно используемые в разных режимах, могут иметь разную конфигурацию. Например, режимы программирования и отладки использует задачу моделирования объекта управления. Разница в том, что режим отладки не использует компоненты для редактирования модели объекта управления и для работы с библиотеками визуальных объектов (Рис. 9).Этап конфигурирование интерфейса пользователя предполагает настройку компонентов уровня визуального представления и размещение элементов управления компонентов задач в окнах прикладных приложений (Рис.9).
Доп. рис.9.Утилита разработки шаблонов расположения оконных элементов
Вопросы
Базовые элементы платформы для построения интерфейса пользователя
Специализация элементов управления в пользовательском интерфейсе приложений СУ
Элементы управления специфичные для прикладных задач СУ и элементы управления общего назначения
Компоненты каркаса и компоненты реализации пользовательского интерфейса.
Управление и настройка пользовательского интерфейса в приложениях СУ.

Лекция №9-10. Принципы классификации прикладных компонентов систем управления. Принцип трехуровневого конфигурирования компонентов в приложениях СУ. Инструменты конфигурирования и их принципы работы.
Принципы классификации прикладных компонентов систем управления. Принцип классификации. Матрица прикладных компонентов. Использование классификации в процессе разработке приложений систем управления. Принцип трёх уровневого конфигурирования приложений. Инструменты конфигурирования и их принцип работы. В соответствии с реализуемыми в компонентах задачами, связанными непосредственно со спецификой систем управления электроавтоматикой, область прикладных компонентов возможно разделить на подгруппы:
разработка управляющих программ - компоненты предназначены для создания управляющих программ электроавтоматики с помощью различных текстовых и графических редакторов и их инструментария, последующей компиляции этих программ под определенную аппаратную платформу PLC, а также для получения информации об оборудовании, для которого разрабатываются УП (например, адреса входов и выходов PLC);
отладка управляющих программ – компоненты обеспечивают эмуляцию выполнения управляющих программ PLC, отслеживание изменений и редактирование значений переменных во время выполнения, вывод графической информации, о значениях переменных;
выполнение управляющих программ - компоненты реализуют запуск управляющих
программ, управление последовательностью вызовов и остановку выполнения набора управляющих программ, реализуют необходимый инструментарий в пользовательском интерфейсе для управления процессом выполнения управляющих программ; 
моделирование объекта управления - компоненты обеспечивают эмуляцию аппаратных панелей управления и процессов производства с использованием виртуальных приборов (тахометров, термометров, панелей настроек и т.п.) и виртуальных технических средств (двигателей, насосов, приводов осей станка и т.д.);
диагностика оборудования - компоненты производят диагностику аппаратных средств, состояний соединений с ними, состояния аппаратуры при исполнении процессов управления, информирует об аппаратных ошибках и аварийных состояниях процесса, неисправностях оборудования;
контекстная помощь - компоненты обеспечивают быстрый доступ пользователя к справочной информации о возможностях системы и алгоритмах их реализации, о синтаксисе и функциях языков программирования PLC. На базе этих компонентов реализуются помощники подсказок (Tool Tips), которые информируют пользователя при выполнении рутинных работ, например, при написании кода управляющей программы, создании проекта, исполнении и отладке управляющей программы; 
конфигурирование PLC - компоненты обеспечивают построение топологии промышленных сетей, настраивают режимы и координируют совместную работу аппаратных средств, формируют логические связи между исполняемыми управляющими программами и контроллерами; 
прочие. Сюда попадают компоненты, не вошедшие в предыдущие подгруппы, но, при условии совместной реализации выделенной задачи, они могут быть объединены во вновь оформившуюся подгруппу.
Расширение пользовательских задач для систем электроавтоматики не ограничено. Конечным пользователям и сторонним производителям предоставляется набор системных средств разработки (Developer’s Kit) для наращивания требуемых функциональных возможности системы. Но основное расширение пользовательских задач осуществляется самими разработчиками программного обеспечения с выпуском очередной версии продукта или пакетом обновления. Предложенная классификация (Рис. 10) позволяет систематизировать компоненты электроавтоматики и определять функциональную нагрузку, которую несет каждая из областей и подгрупп.
Рис. 10 Классификация компонентов систем управления электроавтоматикой Компоненты окружения привязаны к операционной системе и аппаратной платформе исполнения прикладных приложений электроавтоматики. Смена операционной системы влечет за собой изменения в этой области.Компоненты прикладной области абстрагированы от особенностей платформы исполнения, но они привязаны к специфике функций пользовательских задач. Многообразие подгрупп определяется изобилием реализуемых возможностей и разнородностью объектов управления систем электроавтоматики. Такие традиционные задачи, как создание, отладка и выполнение управляющих программ, наиболее часто входят в поставку прикладного программног обеспечения электроавтоматики.
Виртуальная структура прикладной области
Программное обеспечение прикладной области электроавтоматики в своем вертикальном сечении имеет многоуровневую структуру и полностью соответствует виртуальной машине. Рис. 11 Трехуровневая архитектура Windows DNA и уровни прикладной области электроавтоматики
На Рис. 11 проведена аналогия между виртуальной структурой и архитектурой концепции Microsoft Windows DNA (Distributed interNet Applications), которая вводит промежуточные слои бизнес-логики для отделения компонентов представления в интерфейсе пользователя от компонентов специализированных на работе с данными.
В многоуровневой структуре прикладной области необходимо ввести дополнительный подуровень - взаимодействия с аппаратурой. Который будет реализовывать доступ к конкретным аппаратным средствам электроавтоматики. 
Уровень взаимодействия с аппаратурой маскирует особенности работы аппаратных решений. На этом уровне инкапсулируют доступ к PLC-устройствам, реализуют работу с протоколами промышленных сетей (Profibus, CANbus, ProfiNet, DeviceNet и другие), встраивают OPC-серверы для интеграции в SCADA-системы. Уровень хранения и доступа к данным определяет внутреннее представление информации, работу с базой данных, с файловой системой, с сетевыми протоколами обмена данных и т.д. Здесь реализуют менеджеры для предоставления данных, их хранения во внутреннем формате, а также для записи и чтения данных в различных файловых форматах.
Уровень управления данными реализует функциональность двунаправленного управления потоками данных. На этом уровне располагают трансляторы, компиляторы, генераторы кодов для различных процессоров, механизмы конвертирования и фильтрации баз данных. Уровень, отвечающий за преобразование данных, полностью соответствует функциональности уровня бизнес-логики Windows DNA-архитектуры.
Уровень визуального представления  реализует компоненты пользовательского интерфейса по типу виртуальных приборов. На этом уровне располагают редакторы управляющих программ, инструменты моделирования объекта управления, инструменты для построения графиков диагностики и отслеживания состояния процесса, панели управляющих элементов, а также реализуют диалог взаимодействия с оператором.
Многоуровневая структура прикладной области предполагает применение общего подхода при разработке прикладных компонентов электроавтоматики. В этом подходе компоненты специализируются на реализации пользовательского интерфейса и на работе с данными. При этом нет зависимости между компонентами представления и компонентами работы с данными.
Подуровень взаимодействия с аппаратурой позволяет разделять компоненты, работающие с данными приложений и данными PLC устройств. Это обусловлено различиями в способах организации работы с данными. 

Матрица компонентов
Для анализа состава компонентов прикладной части электроавтоматики предлагается оригинальный исследовательский аппарат - матрица компонентов. Матрицу компонентов построим в виде пересечения пользовательских задач по горизонтали с логическими уровнями виртуальной структуры по вертикали (см. Рис. 12). Таким образом, столбцы полученной матрицы определяют многообразие пользовательских задач системы управления электроавтоматикой, а строки - способ компонентой реализации (организации) программного обеспечения. Почему классификация имеет представление в виде матрицы? Системы управления имеют большое число компонентов. Например, 5-ая версия 2000-ого года Windows Control Center от Siemens (сокращенно WinCC) содержит более 30 основных компонентов и множество опций и дополнений, ряд которых может расширяться. Матрица формирует общее представление о наборе компонентов прикладных приложений для систем управления. На Рис. 12 показано абстрактное представление матрицы прикладных компонентов электроавтоматики. Здесь можно представить, в каких ячейках следует искать традиционные модули электроавтоматики, такие как редакторы языков управляющих программ в стандарте МЭК 61131-3, OPC-сервер, драйвера промышленных сетевых протоколов Profibus, CANbus, сервис сетевых подключений, модуль шифрования данных и т.д.
Рис. 12. Принцип построения матрицы компонентов.
Например, в задаче создания управляющих программ на уровне визуального представления размещаются редакторы языков программирования для контроллеров (см. Рис. 12). Драйвера для сетевых протоколов можно разместить сразу на 2 уровнях: хранения и предоставления данных и взаимодействия с аппаратурой. Модульность в реализации пользовательской задачи системы характеризуется количеством логических уровней, которые занимает компонент. Если компонент занимает все 4 уровня матрицы – это означает отсутствие модульности для функций приложения в прикладной задаче.
Применение матрицы компонентов позволяет:
упорядочить необозримое множество компонентов прикладной составляющей современных систем управления электроавтоматикой, разделив их на группы по задачам пользователя и на логические уровни в специализации компонентов в задаче;
выявить полноту охвата пользовательских задач и выделить минимальный (базовый) набор компонентов, достаточный для скорейшего выпуска на рынок изделий с ограниченным набором функций;
исследовать модульность системы с целью ее последующего развития и расширения;
определить набор компонентов на этапе проектирования и разработки системы, что предотвратит дублирование функциональностей.
Более того, как видно из принципа построения матрицы, ряд пользовательских задач не ограничивается. Т.е. в матричном представлении возможно с необходимой детализацией представлять пользовательские задачи. Например, задача разработки управляющих программ может быть разделена на задачу разработки управляющих программ в языках МЭК и задачу разработки управляющих программ на других языках. В матрице можно представить только те задачи, для которых будет вестись разработка. Например, при внедрении функций ряда компонентов внешних производителей.
Вопросы:
1. Опишите принципы классификации прикладных компонентов систем управления
2. Инструменты конфигурирования и их принципы работы
3. Опишите трехуровневую архитектуру Windows DNA и уровни прикладной области электроавтоматики.
4.Что означает «Матрица компонентов»?
5.Расскажите о принципе построения матрицы компонентов.

Лекция № 11-12. Анализ и систематизация набора прикладных компонентов с применением матрицы.
Современные системы электроавтоматики обладают несколькими десятками базовых и множеством дополнительных компонентов, в том числе программными компонентами сторонних производителей. Вследствие этого, приложения прикладной составляющей систем управления, как правило, частично перекрывают, а иногда и дублируют свои функциональные возможности. Конечному пользователю нелегко разобраться в такой ситуации, учитывая, что дополнительные избыточные компоненты – это новые расходы на их приобретение. Структурное и упорядоченное представление прикладных компонентов в виде матрицы позволит сделать анализ структуры систем управления более наглядным и удобным для анализа. Матрица компонентов CoDeSys имеет выраженный модульный характер логических уровней. Компоненты обладают более узкой специализацией, что повышает гибкость настройки пользовательских конфигураций системы.

Принципы взаимодействия .Net с разработанным кодом
Принципы взаимодействия с разработанным кодом. Преобразование исходных кодов в новый формат. Использование двоичных компонентов для организации взаимодействия (COM, ActiveX, DLL).
Зачем нужна миграция приложений на новую платформу? .Net обособленная платформа, обладающая своими механизмами работы (CLR, CTS, CLS). Однако, в мире уже существует более 200 млрд. строк активно используемого кода. Поэтому успех .NET (впрочем, как и любой другой платформы) во многом будет зависеть от успешности миграции существующих приложений разработанных с использованием определённых технологий.
Преимущества .NET для использования существующих систем:
Неизменность языка программирования (сохранение инвестиций (обучение, окружение) психологические преимущества);
Возможность использовать старую систему как базу для новых разработок;
Межъязыковое взаимодействие и улучшенные возможности для повторного использования без привязки к тому или иному языку программирования или компонентной модели В .Net можно выделить следующие два направления во взаимодействии с предшествующими технологиями:
преобразование исходных кодов в новый формат языков .NET для последующей компиляции
использование двоичных компонентов(COM и DLL) для организации взаимодействия с компонентами .NET

Преобразование исходных кодов в новый формат языков .NET
В данном случае имеется возможность для преобразования исходных кодов (С++, VisualBasic, JavA в формат приемлемый для компиляции в среде .NET. Для С++ этот переход имеет следующие возможности:
Перекомпиляция приложения с использованием опции /CLR
Переписывание системных сервисов (c использованием классов .NET)
Переход к managed code (использование C++ managed extensions)
Переход к verifiable code (поддающийся проверке код), уничтожение адресной арифметики, явная запись boxing / unboxing (преобразование структурного типа в ссылочный и наоборот – упаковка / распаковка) и т.д. Процесс перехода к managed C++ может быть постепенным. Однако существуют трудности взаимодействия между managed и unmanaged code (например, распространение исключений, сборка мусорA. Переход к управляемым указателям должен производиться одновременно для всех связанных указателей (нельзя использовать управляемый указатель в неуправляемом коде). Существуют также трудности использования сложных типов данных (ограничение названия: 256 символов).Для не менее популярных языков программирования VisualBasic и Java предусмотрено преобразование исходных кодов с применением специальных механизмов преобразования. Для преобразования исходных кодов VisualBasic применяется подсистема обновления проекта (Upgrade project), где возможно произвести настройки конвертирования. Для Java используется специальный инструмент JUMP (Java Users Migration Path). В качестве решения проблемы независимости от платформы исполнения, предлагается миграция в C#.
Использование двоичных компонентов для организации взаимодействия с компонентами .NET
Обобщенно использование двоичных компонентов заключается в следующем:
Взаимодействие с COM компонентами:
COM сервисы для .NET
.NET сервисы для COM
Использование вызовов функций из DLL
Существует ряд важных причин для использования взаимодействия COM и .NET:
Взаимодействие необходимо для сохранения финансовых вложений в COM-приложения
Для осуществления постепенной пошаговой миграции на новую платформу
Некоторые приложения никогда не будут переписываться под .NET и поэтому необходимо двустороннее взаимодействие, для внедрения новых компонентов в существующие приложения
Естественно для решения задачи взаимодействия с COM модулями необходимо обеспечить какой-то промежуточный уровень. Этот уровень транслирует вызовы .NET в вызовы COM, представляя типы COM в виде типов .NET и наоборот.
Для взаимодействия с сервисами COM, роль промежуточного уровня в .NET выполняет служба RWC (Runtime Callable Wrapper – вызываемая оболочка времени выполнения) Рис. 13 Взаимодействие .NET c COM сервисом
Типы данных из COM можно использовать как обычные управляемые типы:
Можно создавать экземпляры с помощью new
Можно ловить исключения
Можно даже расширять типы данных и наследовать от них! При использовании COM сервисов происходит преобразование типов данных. Модуль RCW предоставляет типы COM для клиента .NET точно так же, как будто это обычные типы .NET. При этом происходит скрытие низкоуровневых интерфейсов (такие как IUnknown, IDispatch, IConnectionPoint и другие). С другой стороны для обеспечения доступа клиента COM к типу .NET используется специальный промежуточный уровень называемый CCW (COM Callable Wrapper – оболочка для COM с возможностью вызовA. Роль CCW представлена на рисунке (Рис. 20):
Рис. 14 Взаимодействие COM c сервисом .NET
Модуль CCW автоматически реализует множество служебных интерфейсов COM, чтобы создать у клиентов COM полную иллюзию, что они имеют дело с соклассом. Помимо этого модуль CWW, конечно же, реализуют пользовательские интерфейсы типов .NET, включая так называемый интерфейс класса (специальный интерфейс, в который помещаются все свойства, методы, поля и события, которые определены в типе как public). CCW также управляет экземплярами, исключениями, преобразованием сигнатур и т.д. Использование вызова функций, реализованных в традиционных двоичных модулях, из кода .NET обеспечивается службой активизации платформ (Platform Invocation Services, PInvoke). PInvoke передаёт параметры при вызове функций, транслируя типы данных .NET в их аналоги в традиционном двоичном коде.
Рис. 15 Использование вызовов DLL

Вопросы
Возможности перехода исходных кодов языка C++ на платформу .Net.
Способ взаимодействия .NET c COM сервисом.
Способ взаимодействие COM клиента c сервисом .NET.
Использование библиотек неуправляемого кода в .NET.


Лекция №13-14. Инструменты отладки приложений в .NET Framework 2.0 и выше.
Утилиты: WinDbg + SOS, adplus.vbs Debug Diagnostic Tool v1.1; Reflector;  CLR Profiler for the .NET Framework 2.0, или более удобный JetBrains dotTrace.WinDbg.
Microsoft Windows Debugger (далее по тексту просто WinDeb) входит в состав множества продуктов: Platform SDK, DDK, WDF, а также поставляется вместе с самостоятельным пакетом «Debugging Tools for Windows», занимающим чуть больше 15 Мб. Причем версия WinDeb из комплекта «Debugging Tools for Windows» обычно самая свежая и содержит наибольшее количество всяких полезных расширений. Скачать ее можно с официального сайта Microsoft. WinDbg.exe - представляет собой типичное GUI-приложение, довольствующееся одним компьютером и позволяющее отлаживать прикладные программы, анализировать дампы памяти, следить за (шпионить) событиями, происходящими в системе. Для отладки драйверов требуется второй компьютер, соединенный сетью или шнурком, но мы обойдемся и без шнурка. SOS Расширение отладки SOS (SOS.dll) помогает отлаживать управляемые программы в отладчике WinDbg.exe и в Visual Studio, предоставляя информацию о внутренней общеязыковой среде выполнения (CLR).Для работы с расширением отладки SOS его следует загрузить в отладчик WinDbg.exe или в Visual Studio 2005. Команды можно выполнять в среде WinDgb.exe или в окне интерпретации Visual Studio.Расширение отладки SOS позволяет просматривать информацию о коде, выполняемом в общеязыковой среде выполнения. Например, с помощью расширения отладки SOS можно получать сведения об управляемой куче, искать повреждения кучи,отображать внутренние типы данных, используемые средой выполнения, и просматривать информацию о любом управляемом коде, запущенном в среде выполнения.

Загрузка расширения отладки SOS
Чтобы загрузить расширение отладки SOS в отладчик WinDbg.exe, выполните в отладчике показанную ниже команду; чтобы загрузить расширение отладки SOS в Visual Studio, выполните эту команду в окне интерпретации во время отладки:  .loadby sos mscorwks.Перед загрузкой расширения отладки SOS необходимо включить отладку неуправляемого кода в настройках проекта решения. В некоторых языковых версиях отладка неуправляемого кода по умолчанию отключается.
Примечание. Чтобы открыть окно интерпретации в Visual Studio 2005, откройте меню Отладка, откройте меню Окна и выберите пункт Интерпретация. Окно интерпретации Visual Studio можно также открыть, нажав клавиши CTRL-ALT-I.
Примеры: Следующая команда отображает содержимое массива по адресу 00ad28d0. Выводятся данные для пяти элементов массива, начиная со второго. dumparray -start 2 -length 5 -detail 00ad28d0 Следующая команда отображает содержимое сборки по адресу 1ca248.dumpassembly 1ca248.Следующая команда отображает информацию о куче сборщика мусора. Dumphea.Следующая команда записывает содержимое журнала нагрузок в памяти в файл Stresslog.txt, расположенный в текущем каталоге.DumpLog.Следующая команда отображает информацию об объекте по адресу a79d40.DumpObj a79d40ADPlus.
ADPlus - это средство службы технической поддержки Майкрософт (Product Support Services - PSS), предназначенное для устранения неполадок в любом процессе или приложении, в которых произошел сбой (аварийное завершение работы) или которые перестали отвечать («зависли»). Средство ADPlus (ADPlus.vbs) в большинстве случаев можно использовать вместо монитора исключений Microsoft Internet Information (IIS) Server Exception Monitor (6.1/7.1) и дампа процесса пользовательского режима (User Mode Process Dump). Эти два средства часто используются службой технической поддержки для определения причины отсутствия ответа (зависание) или неожиданного (аварийного) завершения работы в среде Microsoft Windows DNA.
Средство ADPlus следует использовать для сбора данных в случае перечисленных ниже проблем. 
Процессы, которые перестали отвечать на запросы.
Процессы, которые загружают процессор на 100% для однопроцессорного компьютера, на 50% - для компьютера с двумя процессорами, на 25% - для компьютера с четырьмя процессорами и т.д.
Процессы, которые неожиданно завершают работу.
Debug Diagnostic Tool 1.1
Программа для диагностики системы с целью выяснения причин нестабильной работы приложений и компонентов ОС. Debug Diagnostic Tool может помочь в выяснении причин зависания программ, падения производительности системы, утечки и фрагментации оперативной памяти, остановки из-за ошибки пользовательских приложений. Для определения проблем в программе используются два метода: снятие образа оперативной памяти с последующим анализом и подключение к запущенной программе специальной библиотеки, которая ведет наблюдение за распределением памяти. Кроме того, здесь присутствуют отладочные скрипты для диагностики работы Internet Information Services (IIS) приложений и тестирования работы COM+ компонента и других, связанных с ним технологий Microsoft..Net Reflector. Единственный существующий браузер классов .NET компонентов. Эта уникальная утилита позволяет просматривать мета данные, IL-инструкции, ресурсы и XML документацию, сохраненные в .NET сборках. Более того .NET Reflector является отличным IL-декомпилятором, который значительно проще и удобнее в использовании, нежели Microsoft'овский IL Disassembler. Приложение отлично позволяет декомпилировать код сборок .NET (exe, dll) в код IL, C#, VB .NET, и в другие языки (существует так же поддержка множества plugin'ов). Например, полезный плагин для рефлектора – он генерирует проекты для Visual Studio из сборки, загруженной в рефлектор, думаю переоценить насколько это полезно очень сложно. Другой полезный плагин генерирует граф зависимостей между сборками Рис. 16 Применение средства дизассемблирования .Net Reflector
Рис. 17 Плагин Graph для .Net Reflector


Лекция № 15-16. С# и С++ в приложениях систем управления.С# и С++ в приложениях систем управления. Управляемый и не управляемый код. Преимущества и недостатки неуправляемого кода. Управление памятью, сборщик мусора в C#. Обработка исключений.
Программный код, выполняющийся под управлением CLR, называется управляемым кодом. Программный код, выполняющийся вне среды выполнения CLR, называется неуправляемым кодом. Представителями неуправляемого программного кода являются:
функции Win32 API;
компоненты COM;
интерфейсы ActiveX.
.NET появилась не первой средой разработки. Вновь разрабатываемый управляемый код вынужден взаимодействовать с существующим неуправляемым программным кодом. Поэтому на платформе .NET предусмотрены различные сценарии установления взаимодействия между управляемым и неуправляемым кодами. Microsoft .NET Framework обеспечивает взаимодействие с компонентами COM, службами COM+, внешними библиотеками типов и многими службами операционной системы.CLR скрывает имеющиеся в управляемой и неуправляемой моделях различия. Проблемы, связанные с типами данных, механизмами обработки ошибок и т. д. в управляемой и неуправляемой моделях, решаются CLR "незаметно" как для вызывающей стороны (клиента), так и для вызываемой стороны (серверA. Таким образом, организация взаимодействия между управляемым и неуправляемым кодом выглядит проще, чем могло быть.Реализованные в .NET языки программирования позволяют создавать управляемый код, который может взаимодействовать с неуправляемыми библиотеками Win32 и компонентами на основе модели компонентных объектов Microsoft (COM). Язык программирования C++ .NET является единственным, который позволяет создавать как управляемый, так и неуправляемый код. Это дает возможность не только использовать неуправляемый библиотечный код, но и смешивать управляемый и неуправляемый коды в одном приложении.

Базовые различия
При работе с управляемым кодом программист размещает объекты в управляемой динамически распределяемой области памяти, используя оператор new (создать), причем освобождать их с помощью соответствующих операторов delete (удалить) не нужно. Это освобождает программиста от заботы об утечках памяти, и позволяет сосредоточить основное внимание на важных и полезных задачах, таких как более точная реализация проекта программы, что повышает производительность программирования и качество программного обеспечения. Неуправляемый код C++ .NET должен самостоятельно управлять динамически распределяемой областью в памяти традиционными способами C++, используя операторы new (создать) и delete (удалить). Так как одним из наиболее общих недостатков в программах на C++ является ужасающая утечка памяти, поэтому использование управляемого кода C++ .NET может оказать очень положительное воздействие на многие разработки программного обеспечения.
Сборка мусора в .NET Framework
Сборщик мусора - это подсистема платформы .Net, предназначенная для того, чтобы очищать память. Идея состоит в том, что вся динамически выделяемая память распределяется в области кучи. Всякий раз когда .NET обнаруживает, что управляемая куча данного процесса заполнилась и нуждается в приведении в порядок, он вызывает сборщик мусора. Этот сборщик мусора проходит по всем переменным, находящимся в контексте вашего кода, и проверяет ссылки на объекты, расположенные в области кучи, чтобы идентифицировать, какие из них доступны из кода, то есть, чтобы узнать, на какие объекты существуют ссылки. Любой объект с отсутствием ссылок рассматривается как такой, к которому больше не будет осуществляться доступ из кода, потому объект может быть удален. Подобный этому механизм сборки мусора применяется и в Java.
Сборка мусора работает в .NET потому что IL спроектирован так, чтобы облегчить этот процесс. Принципы организации IL гласят, что вы не можете получить ссылки на существующий объект иначе, кроме как копированием существующих ссылок, а также то, что IL - язык безопасный к типам. В данном контексте мы имеем в виду, что если существует какая-то ссылка на обьект, то в этой ссылке содержится информация, достаточная для того, чтобы в точности определить тип объекта.Механизм сборки мусора невозможно применить с таким языком, как например неуправляемый С++, потому что С++ допускает свободное приведение указателей к другим типам. Одно важное свойство сборки мусора заключается в том, что это недетерминированный процесс. Другими словами, вы не можете знать, когда будет вызван сборщик мусора; он будет вызван тогда, когда CLR решит, что в этом есть необходимость, хотя также можно перекрыть этот процесс и вызвать сборщик мусора из вашего приложения.
Ограничения на использование управляемых типов в C++
Существует множество правил, которые ограничивают использование управляемых типов (классов, структур, интерфейсов), что ведет к затруднениям в работе с ними по сравнению с традиционными неуправляемыми типами в C++:
Управляемый тип не может быть наследован из неуправляемого типа. С другой стороны, неуправляемый тип не может быть наследован из управляемого типа. Это значит, что структуры иерархий наследственности управляемых и неуправляемых классов всегда отделены друг от друга.
В отличие от неуправляемых типов, управляемые не поддерживают множественную наследуемость реализации. 
Управляемый тип может, очевидно, содержать член, который является указателем на управляемый объект. Управляемый тип также может содержать элемент данных, который является неуправляемым объектом или указателем на таковой. С другой стороны, неуправляемый тип не может включать в себя экземпляр управляемого типа или указатель на таковой.
Неуправляемый класс, в котором не указан явно базовый класс, является независимым корневым классом. В то же время управляемый класс, в котором не указан явно ни один класс в качестве базового, является производным от корневого класса System: :Object.
К объекту, участвующему в сборке мусора (т.е. к экземпляру управляемого класса), можно получить доступ только посредством указателя (или ссылки) на объект в управляемой динамически распределяемой области памяти. Это является отличием от неуправляемых типов, которые могут содержаться либо непосредственно в переменной типа значения, либо к ним можно получить доступ посредством указателя на неуправляемую динамически распределяемую область памяти.

Причины смешивания управляемого и неуправляемого кодов
Как и в других средах, где проводится автоматическая сборка мусора (таких как JavA, во время выполнения часто снижается производительность из-за накладных расходов на отслеживание использования объектов (отслеживание ссылок) и удаление их в нужное время.
Нежелательным эффектом, который часто ассоциируется с автоматической сборкой мусора, является повышение объема физической памяти, требуемой для хранения объектов, которые могут быть удалены, но еще не удалены сборщиком мусора. Более агрессивные схемы сборки мусора проигрывают в производительности, а менее агрессивные в избыточном использовании памяти. В традиционной программе C++ программист сам решает, когда именно каждый объект удаляется из динамически распределяемой области памяти. Такой подход потенциально позволяет программисту написать программу, которая одновременно выиграет и в производительности, и в использовании памяти.
Если имеются приложения Win32, написанные на языке C++, которые течение некоторого периода времени нужно преобразовать в приложения .NET. Тогда, в течение переходного периода, будет существовать программа, содержащая смесь управляемого и неуправляемого кода.
Наиболее весомым аргументом является то, что для управляемого кода пока не создано расширения реального времени для Windows. Поэтому компоненты поддерживающие работу в реальном времени разрабатываются в неуправляемом коде.
Рассмотрим пункты 1 и 2 этого списка. В большинстве программ вопросы производительности наиболее эффективно решаются за счет 13LINK
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·14оптимизации15 относительно небольших, но критичных фрагментов программы. Таким образом, часто имеет смысл изначально реализовать программу, используя управляемые расширения (или даже С# или VB.NET), a затем, после внимательного анализа производительности, те участки программы, которые окажутся критичными, могут быть оптимизированы с использованием неуправляемого кода на C++. 
Вопросы
Особенности управляемого кода, CLR, возможность создание неуправляемого кода на платформе .Net.
Сборка мусора в .NET Framework.
Ограничения по использованию управляемых типов в C++.
Причины смешивания управляемого и неуправляемого кодов.


Лекция № 17-18. Платформа автоматизации CoDeSys.
Основные возможности системы CoDeSys.Основные возможности системы CoDeSys. Базовая структура проекта и его элементы. Визуальная разработка и отладка управляющих программ. Инструментарий разработки. Целевая визуализация процессов управления.

Основные возможности системы CoDeSys.
На сегодняшний день лидирующие позиции на рынке систем программирования МЭК занимает комплекс CoDeSys немецкой компании 3S_Smart Software Solutions GmbH. Его применяют 190 компаний во всём мире, большинство из этих компаний – ведущие изготовители оборудования и/или систем промышленной автоматизации. В Казахстане ПЛК с CoDeSys хорошо известны специалистам, диапазон продукции, выпускаемой под управлением этих ПЛК, огромен: от сигарет, соков и жевательной резинки до немецких автомобилей, оборудования малых и больших судов.CoDeSys включает 5 специализированных редакторов для каждого из стандартных языков программирования: Список Инструкций (IL), Функциональные блоковые диаграммы (FBD), Релейноконтактные схемы (LD), Структурированный текст (ST), Последовательные функциональные схемы (SFC). Редакторы поддержаны большим числом вспомогательных инструментов, ускоряющих ввод программ. Это ассистент ввода, автоматическое объявление переменных, интеллектуальная коррекция ввода, цветовое выделение и синтаксический контроль при вводе, масштабирование, автоматическое размещение и соединение графических элементов.В одном проекте можно совмещать программы, написанные на нескольких языках МЭК, либо использовать один из них. Никаких особых требований по выбору языка нет. Он обусловлен исключительно личными предпочтениями. В России наиболее популярен язык ST. Это текстовый язык, представляющий собой несколько адаптированный Паскаль. Второе место по популярности занимает графический язык FBD, далее следует язык LD.Помимо средств подготовки программ, CoDeSys включает встроенный отладчик, эмулятор, инструменты визуализации и управления проектом, конфигураторы ПЛК и сети. Как средство программирования ПЛК CoDeSys можно разделить на 2 части: среду программирования и систему исполнения. Среда программирования функционирует на персональном компьютере в среде Windows:
Рис. 18 Среда программирования и систему исполнения в CoDeSys.
Поскольку CoDeSys дает машинный код, поддержка его исполнения достаточно проста и по минимуму сводится к набору функций поддержки ввода-вывода и отладки. Система исполнения функционирует в ПЛК и обеспечивает загрузку код прикладной программы, "горячее" обновление кода, отладку, управление задачами и ряд сервисных функций. Система исполнения поставляется 3S изготовителям ПЛК (OEM) в виде исходных текстов. Это позволяет максимально эффективно реализовать поддержку аппаратных средств, без каких либо промежуточных механизмов. Изготовителю оборудования требуется, дописать аппаратно-зависимые функции ввода-вывода, возможно, отредактировать функции поддержки канала связи на физическом уровне (через API при наличии ОС) и функции записи кода прикладной программы в ППЗУ (Flash, диск и др.). Далее он компилирует готовую систему исполнения и помещает ее код в ПЗУ (или на загрузочный диск) своего ПЛК.
Концепция CoDeSys
В основу CoDeSys положено несколько важных идей, которые выделяют его в группе лидирующих комплексов МЭК. CoDeSys изначально задумывался как инструмент для профессионального применения и поэтому он не содержит каких-либо ограничений в реализации языков МЭК. Напротив, он включает ряд дополнений, не предусмотренных стандартом (языки CFC и упрощенный SFC, поддержка указателей и действий в функциональных блоках). CoDeSys компилирует прикладные программы в машинный код, поэтому создаваемые пользователями программы имеют наивысшее быстродействие. Комплекс CoDeSys активно развивается, в настоящее время он уже включает целый ряд расширений, таких, как система контроля версий проекта (ENI), средства для создания приложений управления движением (SoftMotion), web-визуализация, библиотеки наиболее популярных функций, например таких, как регуляторы. Важным фактором здесь является то, что компания 3S молода и динамична, и её основатели сами продолжают активнейшую работу над развитием CoDeSys, ведь очевидно, что плоды наёмного труда и творческого вдохновения всегда будут отличаться. С первых лет своей работы компания 3S исключительно активно привлекает пользователей к творческому процессу. Компания ежегодно проводит конференции изготовителей и пользователей ПЛК, на которых обсуждаются не только текущие проблемы, но и оригинальные идеи развития комплекса. До 80% новшеств CoDeSys предложены именно пользователями. В настоящее время идёт активнейшая работа над принципиально новой версией комплекса CoDeSys. Она включает целый ряд передовых идей, включая поддержку объектно-ориентированного программирования на языках МЭК.
Использование CoDeSys предъявляет определённые требования к изготовителю ПЛК, связанные с реализацией одной из ключевых идей CoDeSys – переносом большей части проблем, возникающих при программировании контроллера, с пользователя ПЛК на изготовителя. В чём же проявляются эти требования? Обеспечение развитых сервисных функций требует наличия системы исполнения (специализированной операционной системы), размещённой в ПЛК, а это означает, что пользователь не может взять любой ПЛК и программировать его в CoDeSys. Предварительно изготовитель контроллера должен встроить в свой ПЛК специальным образом настроенную систему исполнения CoDeSys SP. Такая бизнес-модель требует определённых затрат и предварительного выполнения высококвалифицированной работы изготовителем ПЛК, принявшим решение выпускать контроллеры, поддерживающие CoDeSys. Достоинством этой модели является абсолютная ориентация на пользователя ПЛК, который получает полностью готовый для работы контроллер и не должен ничего дополнительно приобретать или лицензировать. Поддержка CoDeSys поэтому является верным признаком не только высокого технического уровня изготовителя ПЛК, но и выражает желание изготовителя обеспечить пользователю своих ПЛК максимально эффективные условия для работы. Идея поддержки пользователя ПЛК заложена и поддерживается разработчиком CoDeSys 3S – среда программирования CoDeSys (то есть та часть CoDeSys, с которой имеет дело пользователь) универсальна, принципиально не имеет никаких ограничений по числу установок, все обновления среды программирования можно загрузить с Интернет сайта компании 3S бесплатно.
Воплощением ещё одной неожиданной идеи, коллективно сформированной пользователями CoDeSys, стало добровольное объединение изготовителей ПЛК, поддерживающих CoDeSys, в некоммерческую организацию CoDeSys Automation Alliance (CAA.
Суть идеи в том, чтобы превратить изготовителей средств промышленной автоматизации, поддерживающих CoDeSys, в партнёров (насколько это возможно на конкурентном рынке) и нейтрализовать последствия конкуренции между изготовителями для пользователей ПЛК. Вместо намеренного создания технических препятствий, не позволяющих пользователям легко применять продукты другой компании, члены CAA целенаправленно принимают меры, призванные обеспечить совместимость своих продуктов. Пользователь может быть уверен, что его прикладная CoDeSys программа будет работать в любом контроллере любой компании, являющейся членом CAA. Потребитель может быть уверен, что используемые им инструменты (CoDeSys) проверены тысячами специалистов во всём мире. Он всегда может обсудить свои затруднения и получить реальную помощь от широкого круга коллег, имевших опыт решения подобных задач. На сегодняшний день членами CoDeSys Automation Alliance являются более 200 компаний. Участие в CAA лишний раз подтверждает, что компания-изготовитель ПЛК обладает определённой бизнес-культурой и ресурсами, позволяющими выпускать продукты на уровне ведущих европейских фирм.

Окно приложения Сodesys:
Рис. 19 Главное окно приложения CoDeSys Главное окно приложения включает в себя:
Окна инструментов
Область документов
Панели инструментов
Меню
Окна инструментов доступны во view:
Навигаторы проектов
Окно вывода сообщ
Окно инструментов
Окна наблюдения переменных
Точки останова
Структура проекта отображается в окнах POUs и Devices.  POUs – используется для организации компонентов программы проекта в древовидной структуре.Devices – используется для организации объектов устройств и ресурсов проекта в древовидной структуре.Окно Messages выводит результаты компиляции кода, ошибки, если они есть. Назначение остальных в системе помощи в разделе User Interface.В режиме отладки УП отображение кода дополняется специальными полями для отображения значений переменных. Доступна работа с точками останова и окнами наблюдения значений переменных. Рис. 20 Главное окно приложения CoDeSys в режиме online.
Вопросы:
1. В чём состоят Основные возможности системы CoDeSys?
2. В чём заключается Концепция CoDeSys?
3.Что включает в себя Главное окно приложения?
4.Какие Окна инструментов доступны во view?

Лекция № 19-20. Возможности CoDeSys как открытой системы.
Компонентная организация. Системные интерфейсы. Возможности встраивания собственных модулей для конфигурирования и управления интерфейсом пользователя.
Архитектура приложений современных систем управления
Требования разработки системы CoDeSys (CoDeSys Automation Platform) базируются на требованиях к современным системам управления для поддержания их конкурентоспособности на рынке. Новые требования были реализованы для новой версии системы CoDeSys v3.0 на основе более ранних версий CoDeSys 2.x.
Рис. 21 Базовые характеристики программной реализации системы CoDeSys Принципы построения системы вытекают непосредственно из требований. Это является основой для формирования единого исполняемого окружения системы CoDeSys. Среди требований следует выделить, что контроль версий файлов данных подразумевает, что создаваемые файлы данных (проекты системы для управляющих программ, библиотеки, описания конфигурации устройств и т.п.) не только соблюдают обратную совместимость, но и направленную вперед совместимость. Т.е. более ранние версии системы (v3.0 например) имеют возможность для работы с данными (пускай не всегда полными) более поздних версий системы (v3.1 например). Это достигается централизацией функций для работы с данными и предоставлением сервисов прочим компонентам системы для работы с их данными.
Для высших стандартов качества системы существует три аспекта:
Компонентная архитектура приводит к лучшему качеству планирования, т.к. нет связей между компонентами, которые не описывались бы интерфейсом.
Есть возможность доказать надёжность и безопасность компонентов через их открытые интерфейсы, посредством автоматизированного тестирования.
Платформа .NET даёт обширные возможности в областях, которые наиболее ненадёжны в системе, особенно управление памятью, обработка исключений и т.п.Представленные требования удовлетворяются реализацией единого исполняемого окружения системы CoDeSys. Обобщённое представление компонентов системы CoDeSys, в структуре единого исполняемого окружения показано на рисунке (Рис. 29).
В структуре единого исполняемого окружения CoDeSys реализует 4 группы компонентов, соотнесённых с классификацией. Компоненты пользовательского интерфейса (стороннего производителя), компоненты каркаса, относятся к компонентам окружения. Системные компоненты из области окружения объединяют в себе центральную управляющую логику системы CoDeSys, доступную для прочих компонентов через предоставляемые интерфейсы. Следующее реализуется для системных компонентов:
Объекты системных компонентов создаются в единственном экземпляре;
Системные компоненты доступны везде в системе, т.е. в любой функциональной реализации системы могут быть использованы функции системных компонентов.
Системные компоненты реализуются в виде плагинов, т.е. обладают возможностью установки различных версий одновременно и предоствляют доступ к функциональности посредством интерфейсных сборок
Часть системных интерфейсов размещаются в общей сборке +Core. 
Рис. 22 Базовое представление компонентов CoDeSys в обобщенной структуре Общие компоненты реализуют базовую функциональность для всех компонентов системы, а так же специфицируют базовые интерфейсы для системных компонентов (в компоненте +Core). В реализации общих компонентов не используются, компоненты пользовательского интерфейса, системные компоненты и плагины.
Компоненты пользовательского интерфейса, это разработанные третьей стороной компоненты, реализующие функции пользовательского интерфейса. В версии 3.1 системы CoDeSys это компоненты SandBar и SandDock производителя Divelements Limited. Функциональность компонентов пользовательского интерфейса полностью инкапсулируется в компонентах окружения и не используется компонентами прикладной области.
Компоненты прикладной области реализуются в виде плагинов, что предоставляет возможность конфигурирования прикладных задач, выполняемых системой. Компоненты специальных функций пользовательского интерфейса, также реализованы в виде съёмных компонентов, т.е. функции пользовательского интерфейса так же могут быть сконфигурированы под требования конечного пользователя. Принцип взаимодействия плагинов представлен на диаграмме (Рис. 30).
Рис.23 Взаимодействие плагинов через их интерфейсные компоненты
Во взаимодействии между плагинами, связующую роль играют интерфейсные компоненты. Интерфейсные компоненты обладают следующими свойствами:
Интерфейсные компоненты не содержат никакой функциональной реализации, они состоят исключительно из описаний интерфейсов.
Для плагинов доступны только последние версии интерфейсных компонентов. Если интерфейс уже существует в системе его нельзя изменить, но можно расширить новым. Новая версия интерфейсной сборки должна содержать все, что было в более ранней версии.
Интерфейсная сборка может содержать статические ссылки на другие интерфейсные сборки и на общие сборки. Не допускаются ссылки на компоненты пользовательского интерфейса, палагины и системные компоненты (которые так же являются плагинами).

Выявление открытых интерфейсов среды
На основе проведённого анализа единого исполняемого окружения CoDeSys, можно сделать вывод, что для реализуемых прикладных задач трёх мерного моделирования объекта управления и управления доступом пользователей необходима реализация компонентов в виде плагинов. Для этого следует выявить интерфейсы интеграции необходимые для реализации общих функций пользовательского интерфейса (окна инструментов, команды меню и панелей инструментов, строки состояния). Интерфейсы для использования функций системных компонентов и плагинов реализации прикладных задач были представлены ранее в анализе требований и программных интерфейсов разрабатываемых компонентов. Ключевые интерфейсы интеграции, приведены в таблице (Таблица 1).
Таблица 1. Ключевые интерфейсы CoDeSys в реализации прикладных задач
Имя открытого типа
Область имён
Краткое описание

IView
_3S.CoDeSys. Core.Views
Интерфейс для реализации оконного элемента управления (tool window) предоставляющего некоторую информацию и набор инструментов для пользователя в немодальной форме.

дд
_3S.CoDeSys. Core.Views
Интерфейс для реализации фабрики оконного элемента управления инструментария.



Класс команды, которая отображаеется в интерфейсе пользователя (в меню, контекстном меню, на панели инструментов) должен реализовывать один из интерфейсов,унаследованных от ICommand

ICommand, IStandard Command, IToggle
Command
_3S.CoDeSys. Core.Commands
IStandardCommand – для реализации простой команды кнопки, выполняемой нажатием.
IToggleCommand – для реализации команды переключателя, имеющего 2 состояния включен (элемент активен) и выключен (элемент не активен).

ICommand Category
_3S.CoDeSys. Core.Commands
Категория для объединения команд в логические группы, например по работе с объектами, редактирование текста, работа с файлами и т.п.

IEngine
_3S.CoDeSys. Core
Сервис главного движка’ системы, организует доступ к системным сервисам и проектам системы.

IObjectManager
_3S.CoDeSys. Core.Objects
Сервис менеджера объектов системы. Предоставляет функции для работы с объектами системы: чтение, запрос на изменение, получение информации об объекте и т.п.

ICommand Manager
_3S.CoDeSys. Core.Commands
Сервис менеджера команд, предоставляет информацию об установленных командах в системе и их категориях.

IObjectFactory Manager
_3S.CoDeSys. Core.Objects
Сервис менеджера фабрик объектов. Предоставляет фабрики для создания объектов.

IProject
_3S.CoDeSys. Core
Интерфейс описывает проект системы. Ссылку на данный интерфейс получают c помощью интерфейса IEngine

IMetaObject
_3S.CoDeSys. Core.Objects
Интерфейс описывает общую для всех объектов информацию: например Guid, Name, родительски дочерние отношения. Также, этот описательный объект содержит в себе копию объекта базы данных (IObject). Описательный объект может обладать правами чтения и записи для размещённого в нём объекта базы данных.

Для реализации компонента системы CoDeSys в виде плагина необходимо выполнить ряд условий оформления сборки .NET:
Для проекта плагина установить следующие свойства:
Assembly Name = abcxyz.plugin – имя сборки плагина
Output Type = Class Library – тип сборки 
Default Namespace = Company.Product.abcxyz – область имён по умолчанию
Post-build Event Command Line = install_dir\Common\IPMCLI.exe /i:"$(TargetPath)" – команда, выполняемая по завершению компиляции, для установки плагина в систему.
Установить ссылку на общую сборку каркаса (+Core);
Изменить файл информации о сборке (AssemblyInfo.cs) в соответствии со следующим содержанием:
Для реализации компонента системы CoDeSys в виде плагина необходимо выполнить ряд условий оформления сборки .NET:
Для проекта плагина установить следующие свойства:
using System.Reflection;
using System.Runtime.CompilerServices;
using _3S.CoDeSys.Core.Components;
[assembly: AssemblyTitle ("ваш заголовок")]
[assembly: AssemblyDescription("ваше описание")]
[assembly: AssemblyCompany("ваша компания")]
[assembly: AssemblyProduct("ваш продукт")]
[assembly: AssemblyCopyright("ваш право на собственность")]
[assembly: AssemblyVersion("a.b.c.d")]
[assembly: PlugInGuid("ваш_заново_созданный_guid)]

Далее реализуется необходимый код в проекте. Добавляются необходимые ссылки на интерфейсные и общие сборки системы.
Любой тип, который планируется для открытого использования, посредством его интерфейса, в едином исполняемом окружении системы CoDeSys, должен иметь атрибут TypeGuid, с наличием которого этот тип может быть однозначно определён. Исходный код для подобного типа выглядит следующим образом:Открытый класс или класс сериализуемый средствами CoDeSys[TypeGuid("ваш_заново_созданный_guid")] public class YourClass :ISomeInterface, ISomeOtherInterface {......}
После создания плагина и его установки он должен быть включен в один из профилей, для его загрузки в соответствующей конфигурации системы.

Встраивание сцены трёхмерного моделирования объекта управления
Интеграция компонентов графического редактора 3D-сцены визуализации объекта управления осуществляется для задачи моделирования объекта управления. На рисунк в виде фрагмента матрицы представлены компоненты графического редактора (сплошной линией) и компоненты интеграции (пунктиром), расположенные на логических уровнях реализации задачи моделирования. 
Главный элемент управления - графический редактор - реализует в компонент VE Main. Для внедрения он обертывается в компонент редактора VE Visual 3D Model Editor. Для хранения и представления данных в структуре проекта CoDeSys на уровне хранения и предоставления данных реализуется компонент интеграции VE Visual 3D Objects, взаимодействующий также с внедряемыми компонентами VE Production Scene (который предоставляет информацию об объектах интерьера сцены) и VE Production Robo1 (который предоставляет информацию об объектах частей роботов).Элементы управления инструментов графического редактора, были реализованы в общем компоненте главного окна приложения Win Dev Main Form в виде классов Solution Explorer для окна библиотеки 3D элементов сцены и окна свойств (PropertyWindow) для этих элементов при расположении в пространстве сцены. Для каждого класса окна инструментария были реализованы соответствующие компоненты интеграции на уровне визуального представления VE Object Explorer View и VE Property Window View соответственно.
Программные интерфейсы взаимодействия компонентов графического редактора в структуре единого исполняемого окружения, служащие для управления данными, вынесены в компонент интеграции VE Visual 3D Interfaces. 


Рис. 24 Результат интеграции компонентов графического редактора

Проиллюстрированный пример графического редактора 3D-сцены визуализации (Рис. 32) позволяет производить отладку управляющих программ, разработанных в среде CoDeSys, на модели робота манипулятора в некотором технологическом окружении. Т.о. процесс разработки и отладки управляющих программ не требует привлечения оборудования производства и может осуществляться параллельно с процессом подготовки и построения производства. Возможен вариант симуляции технологического процесса во время работы системы уже в производстве на основе данных полученных с аппаратных средств технологического процесса.
Вопросы:
1.Как выглядит Базовое представление компонентов CoDeSys в обобщенной структуре?
2.Каким образом следует выявление открытых интерфейсов среды?
3. Какие ключевые интерфейсы CoDeSys в реализации прикладных задач вы знаете?
4. Как происходит встраивание сцены трёхмерного моделирования объекта управления?


Лекция № 21-22. Взаимодействие с аппаратными средствами платформы CoDeSys. Взаимодействие с аппаратными средствами платформы CoDeSys. Особенности программного обеспечения для контроллеров CoDeSys. Soft PLC. Сервисы взаимодействия с PLC: Gateway и PlcHandler.
Основные характеристики и назначение
PLCHandler - класс C++-, который предоставляет удобные возможности для связи между клиентом (напр. Визуализацией диагностики) и контроллерами обладающими средой исполнения CoDeSys SP.
Интерфейс PlcHandler предоставляет следующие функции и сервисы:
Установка и разрыв связи с ПЛК;
Чтение списка переменных управляющих программ, исполняемых на ПЛК;
Циклическое чтение значений переменных ПЛК;
Синхронное чтение переменных из ПЛК;
Синхронная запись значений переменных в ПЛК;
Возможность создания нескольких экземпляров класса PLCHandler для симуляции работы с несколькими ПЛК;
Автоматическое восстановление связи с ПЛК при разрыве соединения;
Автоматический перезапуск (Автоматическое обновление данных) при загрузке новой программы из CoDeSys в ПЛК;
Передача данных из и в PLC (в виде файлов или байт данных для записи в регистры памяти контроллерA.
Таким образом, PLC Handler может быть использован в реализации OPC Server-во диагностики управления технологическими процессами.
С применением PLC Handler доступны следующие виды каналов связи с ПЛК: Simulation – информация о переменных ПЛК читается непосредственно из SDB файла. SDB файл формируется при компиляции программы средой CoDeSys. С использованием этого механизма значения переменных может быть записано и прочитано как при работе с настоящим соединением с ПЛК.
ARTI (Asynchronous Runtime Interface) - открывает символьный доступ к значениям переменных контроллера. ARTI выполняется непосредственно в среде выполнения ПЛК. Чаше всего механизм ARTI используется для непосредственного взаимодействия встроенных приложений, но с помощью TCP/IP можно создавать распределенные системы под WinCE, VxWorks и Linux. ARTI поддерживает возможность связи с ПЛК по TCPIP и последовательным интерфейсам (например, RS232).Gateway – используется только в системах Windows 95/98/NT/2000/XP, но поддерживает различные среды и протоколы связи (TCPIP, RS232, Shared-Memory, CANOpen, ..)Комплект разработки PlcHandler SDK поставляется как набор статически и динамически линкуемых библиотек, набора заголовочных файлов, и базовым примером приложения взаимодействия.Рассмотрим более детально методы класса.

Построения средств диагностики и управления устройствами электроавтоматики на базе OPC технологии
Современные автоматизированные системы управления (АСУ) технологическими процессами (ТП) предусматривают объединение всех подсистем управления отдельными участками производства и технологическими процессами в единую интегрированную систему, которая обеспечивает выполнение всех требуемых функций управления предприятием. В организации управления предприятием выделены уровни, которым соответствуют применяемые на них информационные системы (SCADA, MES, ERP, BPMS). Ключевыми функциями в работе этих информационных систем являются диагностика и управление производственными процессами. Удобными инструментом в реализации вертикали этих функций является OPC технология, предоставляющая единый интерфейс для управления объектами автоматизации и технологическими процессами.OPC (OLE for Process Control) семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC протоколов базируются на Windows-технологиях: OLE, ActiveX, COM/DCOM. Такие OPC протоколы, как OPC XML DA и OPC UA являются платформо-независимыми. Создание и поддержку спецификаций OPC координирует международная некоммерческая организация OPC Foundation, созданная в 1994 году ведущими производителями средств промышленной автоматизации.OPC  набор спецификаций [ Cкачайте файл, чтобы посмотреть ссылку ]. Каждый стандарт описывает набор функций определенного назначения. Текущие стандарты:

OPC DA (Data Access)  основной и наиболее востребованный стандарт. Описывает набор функций [ Cкачайте файл, чтобы посмотреть ссылку ] в реальном времени с [ Cкачайте файл, чтобы посмотреть ссылку ], [ Cкачайте файл, чтобы посмотреть ссылку ], [ Cкачайте файл, чтобы посмотреть ссылку ], [ Cкачайте файл, чтобы посмотреть ссылку ] и другими устройствами. 
OPC AE (Alarms & Events)  предоставляет функции уведомления по требованию о различных событиях: аварийные ситуации, действия оператора, информационные сообщения и другие. 
OPC Batch  предоставляет функции шагового и рецептурного управления технологическим процессом (в соответствии с стандартом S88.01) 
OPC DX (Data eXchange)  предоставляет функции организации обмена данными между OPC-серверами через сеть [ Cкачайте файл, чтобы посмотреть ссылку ]. Основное назначение  создание шлюзов для обмена данными между устройствами и программами разных производителей. 
OPC HDA (Historical Data Access)  в то время как OPC Data Access предоставляет доступ к данным изменяющимся в [ Cкачайте файл, чтобы посмотреть ссылку ], OPC Historical Data Access предоставляет доступ к уже сохраненным данным. 
OPC Security  определяет функции организации прав доступа клиентов к данным системы управления через OPC-сервер. 
OPC XML-DA (XML-Data Access)  предоставляет гибкий, управляемый правилами формат обмена данными через [ Cкачайте файл, чтобы посмотреть ссылку ] и[ Cкачайте файл, чтобы посмотреть ссылку ]. 
OPC UA (Unified Architecture)  последняя по времени выпуска спецификация, которая основана не на технологии Microsoft COM, что предоставляет кросс-платформенную совместимость. 
Исходя из области применения OPC-серверов, в АСУ предприятия различают несколько уровней управления:
нижний уровень обеспечивает доступ к данным и управление полевыми шины (fieldbus) и отдельными устройствами эллектроавтоматики; 
средний уровень предоставляет данные и управление производственными процессами в рамках выделенного участка производства или цеха ; 
уровень АСУ ТП предоставляет обобщенные данные и более общие функции управления технологическим процессом. Является уровнем работы и нформационных систем типа SCADA; 
уровень АСУП уровень приложений управления ресурсами предприятия предоставляет обобщенные данные с нижних уровней управления ТП и других производственных процессов.
Каждый из этих уровней может обслуживаться OPC-сервером, поставляя данные OPC-клиенту на том же или на более высоком уровне.Далее рассмотрим детально представленные на Рис. 34.
Стандартные интерфейсы OPC, предоставляемые сервером;
Интерфейсы интеграции, их реализацию и использование в компонентах интеграции контроллеров электроавтоматики (PLC);
Интерфейсы программных компонентов взаимодействия с PLC на примере PLCHandler устройств электроавтоматики на базе платформы CoDeSys SP.
Рис. 34. Структура компонентов управления устройствами электроавтоматик


Вопросы:
1.Какие особенности программного обеспечения для контроллеров CoDeSys. Soft PLC вы знаете?
2. Какие функции и сервисы предоставляет Интерфейс PlcHandler?
3. Что вы знаете о построении средств диагностики и управления устройствами электроавтоматики на базе OPC технологии?
4. Сколько уровней управления различают в АСУ предприятия?
5.Что представляют собой Стандартные интерфейсы OPC, предоставляемые сервером?



Лекция № 23-24. Особенности механизмов работы OPC серверов.
OPC сервер объединяет следующие типы объектов: OPC сервер, OPC группа и элемент
данных OPC. OPC сервер обеспечивает информацией реальный сервер и является хранилищем всех данных. ОРС группа обеспечивает информацией участников группы и предоставляет механизм обновления и логической организации элементов данных ОРС.
Элементы данных ОРС обеспечивают связь источника данных с сервером. Это означает, что элемент данных ОРС не представляет реальный источник данных, но содержит соответствующий адрес в конфигурации сервера.
Рассмотрим пример реализации компонентов интеграции для предоставления доступа к диагностическим данным контроллеров CoDeSys SP клиентам OPC сервера.




Рис.35.Структура объектной модели OPC сервера.

Каждая OPC группа имеет уникальное имя среди всех групп данного OPC клиента. OPC клиент может изменить это имя позже, задать активное или пассивное состояние группы, включить или выключить получение данных от OPC сервера без перевода OPC группы или элемента данных OPC в пассивное состояние. Таким образом, он не влияет на обмен данными между OPC сервером и системой управления. OPC группы создаются динамически согласно требованиям текущего приложения (Клиента) по списку тэгов и их свойств. В зависимости от этих требований может варьироваться как содержание группы, так и число включенных в нее элементов данных OPC. В отличии от OPC группы и OPC сервера, элемент данных OPC не поддерживает OPC интерфейс и не является, таким образом, COM-объектом. Это внутренний объект OPC сервера, который содержит важную информацию о запросах OPC клиента (например, тип данных, использующихся для загрузки значений, или состояние (активное или пассивное) запрашиваемых значений и т.п.). С точки зрения OPC клиента, элемент данных OPC не представляет собой реальный источник данных, а лишь обеспечивает с ним логическую связь. Количество элементов данных OPC, связанных с одним источником данных, не ограничено (даже в рамах одной OPC группы , одного клиента OPC).
Реализация интерфейсов OPC в сервере.

OPC - (OLE for Process Control) стандартное описание интерфейса для локального и сетевого обмена данными. Технология OPC основана на механизме DCOM (Distributed Component Object Model) Microsoft Windows. Интерфейс IUnknown является базовыминтерфейсом в COM/DCOM. Объект OPC сервера является прямым наследником интерфейса IUnknown (Рис. 36). Идиома точек стыковки выражает общую концепцию регистрации экспортируемых интерфейсов как небольшого числа интерфейсов стандартной инфраструктуры. Наиболее фундаментальным из этих интерфейсов является IConnectionPoint. Интерфейс IOPCServer предоставляет возможностьуправлять OPC группами. Этот интерфейс определяет методы длядобавления и удаления OPC групп. С его помощью можно преобразовать стандартный код ошибки в описание, понятное конечному пользователю. Интерфейс IOPCServer позволяет следить за общим состоянием
сервера.Интерфейс IOPCBrowse является необязательным, позволяет приложению просматривать имена тегов и атрибутов, которые доступны внутри сервера. Интерфейс IOPCItemIOиспользуется для выполнения операций чтения и записи элементов данных OPC сервер вне зависимости от стандарта OPC (Data Access, Alarm & Event, Historical Data Access и т.д.)использует интерфейс IOPCCommon. Этот интерфейс предоставляет возможность устанавливать и запрашивать значение идентификатора LocaleID, который будет действовать для данной клиент-серверной сессии OPC.

Рис. 36. Стандартные интерфейсы OPC сервера.


Благодаря этому, действия одного OPC клиента не затрагивают других клиентов. Также как и для других интерфейсов, например IUnknown, объект, реализующий интерфейс IOPCCommon,для каждого сервера уникален. И объект сервера доступа к данным, и объект сервера уведомлений должны обеспечить реализацию интерфейса IOPCCommon.Клиент, который поддерживает соединение с этими серверами, будет использовать интерфейсы этих двух объектов независимо.

Реализация OPC компонентов диагностики для контроллеров CoDeSys SP
В качестве базовой реализации элементов данных используется класс CDAIItemBase, определенный на стороне OPC сервера (Рис. 37). Наследование от этого класса позволяет не реализовывать базовую функциональность, которая является общей для всех элементов данных. Методы, которые требуют специфической реализации, можно переопределить в производных классах.



Рис. 37. Иерархия классов элементов данных



Внутри компонента интеграции с помощью механизма наследования определяется базовый класс CPlcItem (Рис. 37) для всех разновидностей элементов данных. Характерной особенностью объектов этого класса является то, что они содержат в себе объект CPlcVarList, который представляет собой связующее звено между запросом к элементу данных компонента интеграции и интерфейсом взаимодействия с устройством электроавтоматики (Рис. 34). Конечной реализацией элементов данных являются классы CPlcItemImpls, унаследованные от CPlcItem, которые реализуют получение диагностических данных от контроллеров.
Обобщенная схема получения диагностических данных OPC клиентами представлена на Рис. 38. При обращении OPC клиента к OPC серверу (вызов 1 на Рис. 38) происходит запрос к элементу данных CPlcItemImpl (вызов 2) компонента интеграции в основном потоке. После этого элемент данных добавляется в очередь запросов (вызов 3) и обрабатывается в отдельном потоке функцией обработки запросов (вызов 4). Дополнительный поток обработки запросов необходим для того, чтобы организовать одновременный доступ к синхронным сервисам OPC сервера для его клиентов. Функция обработки запросов (вызов 5), выполняемая в отдельном потоке, осуществляет взаимодействие с устройством электроавтоматики через интерфейс PLCHandler (вызовы 6.1. и 6.2). Уведомление элемента данных CPlcItemImpl (вызов 9) о завершении обработки запроса (вызов 7) происходит через скрытое окно (вызов 8). После этого происходит возврат фокуса управления обратно OPC серверу (вызов 10) и OPC клиенту (вызов 11).

Рис. 38. Обработка синхронного запроса OPC клиента.
Представленный механизм обработки синхронных запросов к устройству электроавтоматики является универсальным для одновременного использования несколькими OPC клиентами. Наличие очереди обусловлено необходимостью обработки нескольких синхронных запросов от OPC клиентов. Уведомление о завершении работы с интерфейсом PLCHandler, отправляемое через скрытое окно, означает готовность поля данных CPlcVarList.

Вопросы
Назначение интерфейса PlcHandler
Создание/уничтожение и конфигурирование экземпляра CPLCHandler.
Подключение/отключение, получение значений переменных управляющих программ исполняемых на контроллере.
Типы коммуникационных каналов для подключения к PLC.

Лекция№ 25-26. Базовые понятия процесса тестирования.
Понятие верификации. Жизненный цикл разработки программного обеспечения. Каскадный жизненный цикл.Типы процессов тестирования и верификации и их место в различных моделях жизненного цикла.
Верификация - это процесс определения, выполняют ли программные средства и их компоненты требования, наложенные на них в последовательных этапах жизненного цикла разрабатываемой программной системы.
Основная цель верификации состоит в подтверждении того, что программное обеспечение соответствует требованиям. Дополнительной целью является выявление и регистрация дефектов и ошибок, которые внесены во время разработки или модификации программы.
Верификация является неотъемлемой частью работ при коллективной разработке программных систем. При этом в задачи верификации включается контроль результатов одних разработчиков при передаче их в качестве исходных данных другим разработчикам.
Для повышения эффективности использования человеческих ресурсов при разработке верификация должна быть тесно интегрирована с процессами проектирования, разработки и сопровождения программной системы.
Заранее разграничим понятия верификации и отладки. Оба этих процесса направлены на уменьшение ошибок в конечном программном продукте, однако отладка - процесс, направленный на локализацию и устранение ошибок в системе, а верификация - процесс, направленный на демонстрацию наличия ошибок и условий их возникновения.
Кроме того, верификация, в отличие от отладки - контролируемый и управляемый процесс. Верификация включает в себя анализ причин возникновения ошибок и последствий, которые вызовет их исправление, планирование процессов поиска ошибок и их исправления, оценку полученных результатов. Все это позволяет говорить о верификации как о процессе обеспечения заранее заданного уровня качества создаваемой программной системы.
Жизненный цикл разработки программного обеспечения
Коллективная разработка, в отличие от индивидуальной, требует четкого планирования работ и их распределения во время создания программной системы. Один из способов организации работ состоит в разбиении процесса разработки на отдельные последовательные стадии, после полного прохождения которых получается конечный продукт или его часть. Такие стадии называют жизненным циклом разработки программной системы. Как правило, жизненный цикл начинается с формирования общего представления о разрабатываемой системе и его формализации в виде требований верхнего уровня. Завершается жизненный цикл разработки вводом системы в эксплуатацию. Однако, нужно понимать, что разработка - только один из процессов, связанных с программной системой, которая также имеет свой жизненный цикл. В отличие от жизненного цикла разработки системы, жизненный цикл самой системы заканчивается выводом ее из эксплуатации и прекращением ее использования.
Жизненный цикл программного обеспечения - совокупность итерационных процедур, связанных с последовательным изменением состояния программного обеспечения от формирования исходных требований к нему до окончания его эксплуатации конечным пользователем. В контексте данного курса практически не будут затрагиваться такие этапы жизненного цикла, как системная интеграция и сопровождение. Для целей курса достаточно ограничиться упрощенным представлением, что после реализации кода и доказательства его соответствия требованиям разработка ПО завершается.
Модели жизненного цикла
Любой этап жизненного цикла имеет четко определенные критерии начала и окончания. Состав этапов жизненного цикла, а также критерии, в конечном итоге определяющие последовательность этапов жизненного цикла, определяется коллективом разработчиков и/или заказчиком. В настоящее время существует несколько основных моделей жизненного цикла, которые могут быть адаптированы под реальную разработку.
Каскадный жизненный цикл
Каскадный жизненный цикл (иногда называемый водопадным) основан на постепенном увеличении степени детализации описания всей разрабатываемой системы. Каждое повышение степени детализации определяет переход к следующему состоянию разработки (Рис. 39).
Рис. 39 Каскадная модель жизненного цикла.
На первом этапе составляется концептуальная структура системы, описываются общие принципы ее построения, правила взаимодействия с окружающим миром, - определяются системные требования.
На втором этапе по системным требованиям составляются требования к программному обеспечению - здесь основное внимание уделяется функциональности программной компоненты, программным интерфейсам. Естественно, все программные комплексы выполняются на какой-либо аппаратной платформе. Если в ходе проекта требуется также разработка аппаратной компоненты, параллельно с требованиями к программному обеспечению идет подготовка требований к аппаратному обеспечению. На третьем этапе на основе требований к программному обеспечению составляется детальная спецификация архитектуры системы - описываются разбиение системы по конкретным модулям, интерфейсы между ними, заголовки отдельных функций и т.п.
На четвертом этапе пишется программный код, соответствующий детальной спецификации, на пятом этапе выполняется тестирование - проверка соответствия программного кода требованиям, определенным на предыдущих этапах. Особенность каскадного жизненного цикла состоит в том, что переход к следующему этапу происходит только тогда, когда полностью завершены все работы предыдущего этапа. То есть сначала полностью готовятся все требования к системе, затем по ним полностью готовятся все требования к программному обеспечению, полностью разрабатывается архитектура системы и так далее до тестирования. Естественно, что в случае достаточно больших систем такой подход себя не оправдывает. Работа на каждом этапе занимает значительное время, а внесение изменений в первичные документы либо невозможно, либо вызывает лавинообразное изменения на всех других этапах.
Как правило, используется модификация каскадной модели, допускающая возврат на любой из ранее выполненных этапов. При этом фактически возникает дополнительная процедура принятия решения. Действительно если тесты обнаружили несоответствие реализации требованиям, то причина может крыться: (а) в неправильном тесте, (б) в ошибке кодирования (реализации), (в) в неверной архитектуре системы, (г) в некорректности требований к программному обеспечению и т.д. Все эти случаи требуют анализа, для того чтобы принять решение о том, на какой этап жизненного цикла надо возвратиться для устранения обнаруженного несоответствия.
Вопросы:
1.Что означает понятие « Верификация »
2. Жизненный цикл разработки программного обеспечения
3.Модели жизненного цикла
4. Каскадный жизненный цикл
5. Каскадная модель жизненного цикла.

Лекция № 27-28. V-образный жизненный цикл.
Спиральный жизненный цикл. Экстремальное программирование. Тестирование, верификация и валидация - различия в понятиях Задачи и цели процесса верификации.
Использование пакетов автоматизации тестирования. Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса.


В качестве своеобразной "работы над ошибками" классической каскадной модели стала применяться модель жизненного цикла, содержащая процессы двух видов - основные процессы разработки, аналогичные процессам каскадной модели, и процессы верификации, представляющие собой цепь обратной связи по отношению к основным процессам (Рис. 40).
Рис. 40 V-образный жизненный цикл 
Таким образом, в конце каждого этапа жизненного цикла разработки, а зачастую и в процессе выполнения этапа, осуществляется проверка взаимной корректности требований различных уровней. Данная модель позволяет более оперативно проверять корректность разработки, однако, как и в каскадной модели, предполагается, что на каждом этапе разрабатываются документы, описывающие поведение всей системы в целом.
Спиральный жизненный цикл
Оба рассмотренных типа жизненных циклов предполагают, что заранее известны все требования пользователей или, по крайней мере, предполагаемые пользователи системы настолько квалифицированы, что могут высказывать свои требования к будущей системе, не видя ее перед глазами.
Естественно, такая картина достаточно утопична, поэтому постепенно появилось решение, исправляющее основной недостаток V-образного жизненного цикла - предположение о том, что на каждом этапе разрабатывается очередное полное описание системы. Этим решением стала спиральная модель жизненного цикла (Рис. 41). Рис. 41 Спиральный жизненный цикл
В спиральной модели разработка системы происходит повторяющимися этапами - витками спирали. Каждый виток спирали - один каскадный или V-образный жизненный цикл. В конце каждого витка получается законченная версия системы, реализующая некоторый набор функций. Затем она предъявляется пользователю, на следующий виток переносится вся документация, разработанная на предыдущем витке, и процесс повторяется. Таким образом, система разрабатывается постепенно, проходя постоянные согласования с заказчиком. На каждом витке спирали функциональность системы расширяется, постепенно дорастая до полной.

Экстремальное программирование
Реалии последних лет показали, что для систем, требования к которым изменяются достаточно часто, необходимо еще больше уменьшить длительность витка спирального жизненного цикла. В связи с этим сейчас стали весьма популярными быстрые жизненные циклы разработки, например, жизненный цикл в методологии eXtreme Programming (XP).
Основная идея жизненного цикла экстремального подхода - максимальное укорачивание длительности одного этапа жизненного цикла и тесное взаимодействие с заказчиком. По сути, на каждом этапе происходит реализация и тестирование одной функции системы, после завершения которых, система сразу передается заказчику на проверку или эксплуатацию.
Основная проблема данного подхода - интерфейсы между модулями, реализующими эту функцию. Если во всех предыдущих типах жизненного цикла интерфейсы достаточно четко определяются в самом начале разработки, поскольку заранее известны все модули, то при экстремальном подходе интерфейсы проектируются "на лету", вместе с разрабатываемыми модулями.
Тестирование, верификация и валидация - различия в понятиях
Несмотря на кажущуюся схожесть, термины "тестирование", "верификация" и "валидация" означают разные уровни проверки корректности работы программной системы. Дабы избежать дальнейшей путаницы, четко определим эти понятия (Рис. 42).
 Тестирование программного обеспечения - вид деятельности в процессе разработки, который связан с выполнением процедур, направленных на обнаружение (доказательство наличия) ошибок (несоответствий, неполноты, двусмысленностей и т.д.) в текущем определении разрабатываемой программной системы. Процесс тестирования относится в первую очередь к проверке корректности программной реализации системы, соответствия реализации требованиям, т.е. тестирование - это управляемое выполнение программы с целью обнаружения несоответствий ее поведения и требований. Рис. 42 Тестирование, верификация и валидация 
Верификация программного обеспечения - более общее понятие, чем тестирование. Целью верификации является достижение гарантии того, что верифицируемый объект (требования или программный код) соответствует требованиям, реализован без непредусмотренных функций и удовлетворяет проектным спецификациям и стандартам. Процесс верификации включает в себя инспекции, тестирование кода, анализ результатов тестирования, формирование и анализ отчетов о проблемах. Таким образом, принято считать, что процесс тестирования является составной частью процесса верификации, такое же допущение сделано и в данном учебном курсе.
Валидация программной системы - целью этого процесса является доказательство того, что в результате разработки системы мы достигли тех целей, которые планировали достичь благодаря ее использованию. Иными словами, валидация - это проверка соответствия системы ожиданиям заказчика. Вопросы, связанные с валидацией, выходят за рамки данного учебного курса и представляют собой отдельную интересную тему для изучения. Если посмотреть на эти три процесса с точки зрения вопроса, на который они дают ответ, то тестирование отвечает на вопрос "Как это сделано?" или "Соответсвует ли поведение разработанной программы требованиям?", верификация - "Что сделано?" или ""Соответствует ли разработанная система требованиям?", а валидация - "Сделано ли то, что нужно?" или "Соответствует ли разработанная система ожиданиям заказчика?"

Задачи и цели процесса верификации
Сначала рассмотрим цели верификации. Основная цель процесса - доказательство того, что результат разработки соответствует предъявленным к нему требованиям. Обычно процесс верификации проводится сверху вниз, начиная от общих требований, заданных в техническом задании и/или спецификации на всю информационную систему, и заканчивая детальными требованиями к программным модулям и их взаимодействию. В состав задач процесса входит последовательная проверка того, что в программной системе:
общие требования к информационной системе, предназначенные для программной реализации, корректно переработаны в спецификацию требований высокого уровня к комплексу программ, удовлетворяющих исходным системным требованиям; 
требования высокого уровня правильно переработаны в архитектуру ПО и в спецификации требований к функциональным компонентам низкого уровня, которые удовлетворяют требованиям высокого уровня; 
спецификации требований к функциональным компонентам ПО, расположенным между компонентами высокого и низкого уровня, удовлетворяют требованиям более высокого уровня; 
архитектура ПО и требования к компонентам низкого уровня корректно переработаны в удовлетворяющие им исходные тексты программных и информационных модулей; 
исходные тексты программ и соответствующий им исполняемый код не содержат ошибок.
Кроме того, верификации на соответствие спецификации требований на конкретный проект программного средства подлежат требования к технологическому обеспечению жизненного цикла ПО, а также требования к эксплуатационной и технологической документации. Цели верификации ПО достигаются посредством последовательного выполнения комбинации из инспекций проектной документации и анализа их результатов, разработки тестовых планов тестирования и тест-требований, тестовых сценариев и процедур и последующего выполнения этих процедур. Тестовые сценарии предназначены для проверки внутренней непротиворечивости и полноты реализации требований. Выполнение тестовых процедур должно обеспечивать демонстрацию соответствия испытываемых программ исходным требованиям. На выбор эффективных методов верификации и последовательность их применения в наибольшей степени влияют основные характеристики тестируемых объектов:
класс комплекса программ, определяющийся глубиной связи его функционирования с реальным временем и случайными воздействиями из внешней среды, а также требования к качеству обработки информации и надежности функционирования; 
сложность или масштаб (объем, размеры) комплекса программ и его функциональных компонентов, являющихся конечными результатами разработки; 
преобладающие элементы в программах: осуществляющие вычисления сложных выражений и преобразования измеряемых величин или обрабатывающие логические и символьные данные для подготовки и отображения решений.
Определим некоторые понятия и определения, связанные с процессом тестирования как составной части верификации.
Тестирование - процесс выполнения программы с целью обнаружения ошибки. Тестовые данные - входы, которые используются для проверки системы. Тестовая ситуация (test case) - входы для проверки системы и предполагаемые выходы в зависимости от входов, если система работает в соответствии со спецификацией требований.  Хорошая тестовая ситуация - та ситуация, которая обладает большой вероятностью обнаружения пока еще необнаруженной ошибки. Удачный тест - тест, который обнаруживает пока еще необнаруженную ошибку. Ошибка - действие программиста на этапе разработки, приводящее к тому, что в программном обеспечении содержится внутренний дефект, который в процессе работы программы может привести к неправильному результату. Отказ - непредсказуемое поведение системы, приводящее к неожидаемому результату, которое могло быть вызвано дефектами, содержащимся в ней. Таким образом, в процессе тестирования программного обеспечения, как правило, проверяют следующее:
программное обеспечение соответствует требованиям на него; 
в ситуациях, не отраженных в требованиях, программное обеспечение ведет себя адекватно, то есть не происходит отказ системы; 
наличие типичных ошибок, которые делают программисты.

Использование пакетов автоматизации тестирования
Использование пакетов автоматизации тестирования. Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса. Ручное тестирование. Сценарии на формальных языках. Система Quick Test.
Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса.
Тестирование функций пользовательского интерфейса может проводиться различными методами - как вручную при непосредственном участии оператора, так и при помощи различного инструментария, автоматизирующего выполнение тестовых примеров. Рассмотрим эти методы более подробно.

1) Ручное тестирование
Ручное тестирование пользовательского интерфейса проводится тестировщиком-оператором, который руководствуется в своей работе описанием тестовых примеров в виде набора сценариев. Каждый сценарий включает в себя перечисление последовательности действий, которые должен выполнить оператор, и описание важных для анализа результатов тестирования ответных реакций системы, отражаемых в пользовательском интерфейсе. Типичная форма записи сценария для проведения ручного тестирования - таблица, в которой в одной колонке описаны действия (шаги сценария), в другой - ожидаемая реакция системы, а третья предназначена для записи того, совпала ли ожидаемая реакция системы с реальной и перечисления несовпадений. Ручное тестирование пользовательского интерфейса удобно тем, что контроль корректности интерфейса проводится человеком, т.е. основным "потребителем" данной части программной системы. К тому же при чисто косметических изменениях в интерфейсах системы, не отраженных в требованиях (например, при перемещении кнопок управления на 10 пикселей влево), анализ успешности прохождения теста будет выполняться не по формальным признакам, а согласно человеческому восприятию.
При этом ручное тестирование имеет и существенный недостаток - для его проведения требуются значительные человеческие и временные ресурсы. Особенно сильно этот недостаток проявляется при проведении регрессионного тестирования и вообще любого повторного тестирования - на каждой итерации повторного тестирования пользовательского интерфейса требуется участие тестировщика-оператора. В связи с этим в последнее десятилетие получили распространение средства автоматизации тестирования пользовательского интерфейса, снижающие нагрузку на тестировщика-оператора.
2) Сценарии на формальных языках
Естественный способ автоматизации тестирования пользовательского интерфейса - использование программных инструментов, эмулирующих поведение тестировщика-оператора при ручном тестировании пользовательского интерфейса. Такие инструменты используют в качестве входной информации сценарии тестовых примеров, записанные на некотором формальном языке, операторы которого соответствуют действиям пользователя - вводу команд, перемещению курсора, активизации пунктов меню и других интерфейсных элементов. При выполнении автоматизированного теста инструмент тестирования имитирует действия пользователя, описанные в сценарии, и анализирует интерфейсную реакцию системы. Для определения ожидаемого состояния пользовательского интерфейса здесь могут применяться различные методы - либо анализ снимков экрана и сравнение их с эталонными, либо доступ к данным интерфейсных элементов средствами операционной системы (например, доступ ко всем кнопкам окна по их дескрипторам и получение значений текстA.
И при передаче информации в тестируемый интерфейс, и при получении информации для анализа могут использоваться два способа доступа к элементам интерфейса: -позиционный, при котором доступ к элементу осуществляется при помощи задания его абсолютных (относительно экрана) или относительных (относительно окна) координат и размеров;
-по идентификатору, при котором доступ к элементу осуществляется при помощи получения интерфейсного элемента при помощи его уникального идентификатора в пределах окна.
При внесении изменений в пользовательский интерфейс при использовании первого метода в результате проведения регрессионного тестирования будет выявлено большое количество не прошедших тестов - достаточно изменения местоположения одного ключевого интерфейсного элемента, как все сценарии начнут работать неверно. Соответственно при таком методе автоматизации тестирования необходимо менять значительную часть сценариев в системе тестов при каждом изменении интерфейса системы. Такой метод автоматизации тестирования подходит для систем с устоявшимся и редко изменяемым интерфейсом.
Второй метод автоматизации тестирования более устойчив к изменению расположения интерфейсных элементов, но изменения тестовых примеров могут потребоваться и здесь в случае изменения логики работы интерфейсных элементов. Например, пусть в первой версии системы при нажатии на кнопку "Передать данные" передача данных начиналась сразу и выводилось окно с индикатором прогресса. Сценарий тестового примера в этом случае включает в себя имитацию нажатия на кнопку и обращение к индикатору прогресса для получения значения прогресса в процентах.
Если во второй версии системы после нажатия на кнопку "Передать данные" вначале выводится окно "Вы уверены?" с кнопками "Да" и "Нет", то для проверки работы индикатора прогресса в тестовый сценарий необходимо добавить имитацию нажатия кнопки "Да".
Даже при обращении при помощи идентификаторов без модификации тестового примера тест не будет корректно выполняться. Тем не менее, этот способ обращения к интерфейсным элементам хорошо подходит для тестирования программных систем, в т.ч. с не устоявшимся пользовательским интерфейсом.
Вопросы:
1. Тестирование, верификация и валидация - различия в понятиях
2. Задачи и цели процесса верификации
3. Использование пакетов автоматизации тестирования
4. Ручное тестирование
5. Сценарии на формальных языках

Лекция №29-30. Тестирование удобства использования пользовательских интерфейсов.
Помощь пользователям в распознавании, диагностике и устранении ошибок.
Принцип использования коммерческих приложений для тестирования пользовательского интерфейса.Использование объекта DataTable и параметризация. Распознавание объектов в QTP и уникальность их свойств.
Удобство использования пользовательского интерфейса (usability) - показатель его качества, который определяет количество усилий, необходимых для изучения принципов работы с программной системой при помощи данного интерфейса, ее использования, подготовки входных данных и интерпретации выходных. Иначе говоря, удобство использования определяет степень простоты доступа пользователя к функциям системы, предоставляемым через человеко-машинный (пользовательский) интерфейс.
Тестирование удобства использования пользовательского интерфейса, вообще говоря, не относится к классическим методам тестирования программных систем. Специалист по тестированию пользовательского интерфейса должен сочетать в себе знания, как в области программной инженерии, так и в физиологии, психологии и эргономике. Данный раздел курса не претендует на полноту изложения вопроса и дает самые общие представления о проблематике, связанной с тестированием удобства использования пользовательского интерфейса.
На удобство использования пользовательского интерфейса влияют следующие факторы:
легкость обучения - быстро ли человек учится использовать систему;
эффективность обучения - быстро ли человек работает после обучения;
запоминаемость обучения - легко ли запоминается все, чему человек научился;
ошибки - часто ли человек допускает ошибки в работе;
общая удовлетворенность - является ли общее впечатление от работы с системой положительным.
Все эти факторы, несмотря на свою неформальность, могут быть измерены. Для таких измерений выбирается группа типичных пользователей системы, и в процессе их работы измеряются показатели их работы с системой (например, количество допущенных ошибок), а также им предлагается высказать собственные впечатления от системы при помощи заполнения опросных листов.
Выделяют следующие этапы тестирования удобства использования пользовательского интерфейса.  1) Исследовательское - проводится после формулирования требований к системе и разработки прототипа интерфейса. Основная цель на этом этапе - провести высокоуровневое обследование интерфейса и выяснить, позволяет ли он с достаточной степенью эффективности решать задачи пользователя. 2)Оценочное - проводится после разработки низкоуровневых требований и детализированного прототипа пользовательского интерфейса. Оценочное тестирование углубляет исследовательское и имеет ту же цель. На данном этапе уже проводятся количественные измерения характеристик пользовательского интерфейса: измеряются количество обращений к системе помощи по отношению к количеству совершенных операций, количество ошибочных операций, время устранения последствий ошибочных операций и т.п.  3) Валидационное - проводится ближе к этапу завершения разработки. На этом этапе проводится анализ соответствия интерфейса программной системы стандартам, регламентирующим вопросы удобства интерфейса (например ISO 13407 [ISO 13407:1999. Human-centred design processes for interactive systems International Organization for Standardization. 01-Jun-1999, 26 p.], ISO 9126 [ISO/IEC 9126-1:2001. Software engineering -- Product quality -- Part 1: Quality model]), проводится общее тестирование всех компонент пользовательского интерфейса с точки зрения конечного пользователя. Под компонентами интерфейса здесь понимается как его программная реализация, так и система помощи и руководство пользователя. Также на данном этапе проверяется отсутствие дефектов удобства использования интерфейса, выявленных на предыдущих этапах.  4) Сравнительное - данный вид тестирования может проводиться на любом этапе разработки интерфейса. В ходе сравнительного тестирования сравниваются два или более вариантов реализации пользовательского интерфейса.
Как правило, при тестировании удобства использования пользовательского интерфейса используются некоторые эвристические критерии и характеристики, которые заменяют точные оценки в классическом тестировании программных систем. Например, Якоб Нильсен в своей работе [Nielsen J Ten Usability Heuristics] выделил 10 эвристических характеристик удобного пользовательского интерфейса, которые с его точки зрения должны проверяться при тестировании удобства использования интерфейса.
 Наблюдаемость состояния системы. Система всегда должна оповещать пользователя о том, что она в данный момент делает, причем через разумные промежутки времени.
 Соотнесение с реальным миром. Терминология, использованная в интерфейсе системы должна соотноситься с пользовательским миром, т.е. это должна быть терминология проблемной области пользователя, а не техническая терминология. Пользовательское управление и свобода действий. Пользователи часто выбирают отдельные интерфейсные элементы и используют функции системы по ошибке. В этом случае необходимо предоставлять четко определенный "аварийный выход", при помощи которого можно вернуться к предыдущему нормальному состоянию. К таким "аварийным выходам" относятся, например, функции отката и обратного отката.
Целостность и стандарты. Для обозначения одних и тех же объектов, ситуаций и действий должны использоваться одинаковые слова во всех частях интерфейса. Более того, терминология сообщений в пользовательском интерфейсе должна учитывать соглашения конкретной платформы.
 Помощь пользователям в распознавании, диагностике и устранении ошибок.
Сообщения об ошибках должны быть написаны на естественном языке, а не заменяться кодами ошибок. Сообщения об ошибках должны четко определять суть возникшей проблемы и предлагать ее конструктивное решение.
Предотвращение ошибок. Продуманный дизайн пользовательского интерфейса, предотвращающий появление ошибок пользователя, всегда лучше хорошо продуманных сообщений об ошибках. При проектировании интерфейса необходимо либо полностью устранить элементы, в которых могут возникать ошибки пользователя, либо проверять ввод пользователя в этих элементах и сообщать ему о потенциально возможном возникновении проблемы. 
 Распознавание, а не вспоминание. При создании интерфейса необходимо минимизировать нагрузку на память пользователя, делая объекты, действия и опции ясными, доступными и явно видимыми. Пользователь не должен запоминать информацию при переходе от одного диалогового окна к другому. Во всех необходимых местах должны быть доступны контекстные инструкции по использованию интерфейса.
Гибкость и эффективность использования. В интерфейсе должны быть предусмотрены горячие клавиши (не обязательные к использованию начинающим пользователем) - они часто значительно ускоряют работу опытного пользователя. Иными словами, система должна предоставлять два способа работы - для новичков и для опытных пользователей. Желательно при этом давать возможность пользователю автоматизировать часто повторяющиеся действия.
Эстетичный и минимально необходимый дизайн. Окна не должны содержать не относящуюся к делу или редко используемую информацию. Каждый интерфейсный элемент, содержащий бесполезную информацию, играет роль информационного шума и отвлекает пользователя от действительно полезных интерфейсных элементов.
Помощь и документация. Несмотря на то, что в идеальном случае лучше, когда системой можно пользоваться без документации, таковая все равно необходима - как в виде системы помощи, так и, возможно, в виде печатного руководства. Информация в документации должна быть структурирована таким образом, чтобы пользователь мог легко найти нужный раздел, посвященный решаемой им задаче. Каждый такой ориентированный на конкретную задачу раздел должен помимо общей информации содержать пошаговые руководства по выполнению задачи и не должен быть слишком длинным. Все эти эвристики могут использоваться при тестировании удобства использования пользовательского интерфейса. Достаточно очевидно, что при тестировании удобства слабо применимы способы автоматизации тестирования при помощи сценариев и подобные методы. Один из наиболее эффективных методов проверки интерфейса на удобство - использование формальной инспекции. Вопросы в бланке инспекции могут быть как общего характера (так, например, можно использовать в качестве вопросов перечисленные выше 10 эвристик), так и вполне конкретными.
Принцип использования коммерческих приложений для тестирования пользовательского интерфейса
Для автоматизированного тестирования пользовательского интерфейса приложения существуют уже готовые средства (программные продукты).
Задача тестирования интерфейса заключается в проверке корректности работы функций графического интерфейса приложения.; выявление возможных ошибок и неправильной обработки событий. Рис. 43 Шаги процесса тестирования
Обзор Quickt Test. Основные понятия
QuickTest Professional (QTP) программный продукт, предназначенный для автоматизации функционального и регрессионного тестирования, обладающий следующими особенностями:
создание сложных наборов тестов с минимальным обучением;
быстрое изолирование дефектов;
гарантирование правильного функционирования приложения во всех средах, при любых наборах данных, и в любых бизнес-процессах;
полное документирование и копирование дефектов для разработчиков;
легкая реализация регрессионного тестирования;
предоставление возможности организации поставлять программные изделия высокого качества.
QTP позволяет тестировать стандартные Windows приложения, Web приложения, управляющие элементы ActiveX, Visual Basic приложения и мультимедийные объекты на Web страницах.Можно также приобрести дополнительные модули (add-in) для некоторых специфических рабочих сред, таких как Java, Oracle, SAP solutions, .NET Windows и Web Forms, Siebel, Web services, PeopleSoft и terminal emulator (Рис. 45). Рис. 45 Окно добавления дополнительных модулей в Mercury QuickTest Professional QuickTest Professional позволяет даже новичку создавать test-case (test-case тест-кейсы, тестовые модули) очень быстро. Вы можете создать test-case просто нажав кнопку Record и используя приложение, чтобы выполнить типичный бизнес-процесс. Например, ведение журнала, составление справочников и т.д.QuickTest Professional может автоматически ставить checkpoints (checkpoints контрольные точки), чтобы проверить прикладные свойства и функциональные возможности приложения. Для каждого шага в Tree View (Tree View дерево представления), есть ActiveScreen (ActiveScreen окно, показывающее текущее состояние теста), в котором представлен вид приложения в данный момент времени. Вы можете также добавить несколько типов checkpoints для любого объекта, проверить, что компоненты ведут себя так, как ожидается, просто, нажимая на объект в ActiveScreen.Также вы можете переключиться на Data Table (Data Table таблица данных), включающую таблицу Excel для работы с данными (Рис. 46), и быстро создавать многократные повторения, чтобы расширить охват test-case. Опытные пользователи могут рассматривать и редактировать test-case в Expert View (Expert View поле кода), с помощью VBScript (Visual Basic Script), которые QuickTest Professional автоматически записывает (Рис. 46). Любые изменения, сделанные в Expert View автоматически синхронизируются с Tree View.
Рис. 46 Основное окно приложения QuickTest Professional. Представлены поле кода и таблица данных.
Как только test-case выполнен, TestFusion показывает все аспекты испытания: краткийобзор результатов, Tree View тестируемого приложения, определяющее точно, где произошли ошибки (отказы), используемые испытательные данные,screenshots(screenshots скриншоты, снимки экрана) для каждого шага, которые четко показывают любынесоответствия, и детальные пояснения для каждого прохода checkpoint ’ a (Рис. 47). Рис. 47 Окно вывода результатов выполнения теста в QuickTest Professional Также подразумевается интеграция с TestDirector для регистрации ошибок.QuickTest Professional поддерживает фактически любое приложение.Использование Actions,Iterations Action это независимый скрипт в составе теста. Он имеет свой контекст имен переменных, свой локальный Object Repository (хранилище описаний объектов пользовательского интерфейса тестируемого приложения), свой Action Sheet (называемый, также Local Sheet таблица для хранения значений параметров; его можно вызывать из других тестов. Кроме того, начиная с QTP 8.0 у Actions есть свои параметры (не путать с Data Table parameters: в данном случае имеются в виду значения переменных, передающихся в action извне, либо выходные параметры, аналогично параметрам функций). В свойствах Action можно указать, сколько раз подряд его надо запустить (количество итераций) это имеет смысл делать при активном использовании параметризации. При использовании параметризации, при каждой следующей итерации Action, все локальные параметры принимают новое значение значение из ряда Action Sheet, совпадающего с номером итерации. Следует иметь в виду, что кроме Action Sheet, существует Global Sheet (один на весь тест) значения параметров, описанные в нём, изменяются при переходе к следующей итерации теста, а не Action.В Mercury считают, что один Action должен примерно соответствовать одной бизнес операции, или одному Use Case. То есть, использование Actions (по Mercury) основной способ функциональной декомпозиции. В реальности, вместо Actions для этих целей часто бывает удобнее использовать функции. Впрочем, это зависит от стиля Ваших тестов, в частности, от того, используете ли Вы параметризацию.Для вызова Action из другого теста (либо из другого Action) необходимо, чтобы в свойствах action (Action Properties) была выставлена галочка "Reusable action".Каждый Action имеет свой контекст имён, поэтому переменные одного Action не видны из другого. Универсальный способ передачи переменных, начиная с версии QTP 6.0 использование объекта Environment. Кроме того, начиная с версии 8.0 у Actions появились параметры (см. Help: Action properties, Action call properties, Action parameters). То есть, Action, это в некотором смысле аналог функции с входными и выходными параметрами

Использование объекта DataTable и параметризация
Для того, чтобы вместо фиксированных значений параметров функций (например, текста, вводимого в поле ввода) использовать (в цикле) значения из таблицы, используется подход, называемый Data-Driven тестирование. При параметризации, исполнение теста происходит в форме исполнения двух вложенных циклов по всему тесту целиком и по отдельным Actions. Соответственно, есть 2 типа параметров: глобальные для всего теста, и локальные для отдельных Actions. В начале каждой итерации все параметры приобретают значения, хранящиеся в строчке соответствующей таблицы (Global Sheet/Action Sheet), номер которой равен номеру итерации (теста или Action соответственно)Кроме использования Data Table для хранения входных тестовых данных (параметры), QTP позволяет использовать его для хранения выходных данных (Output Values). Во время выполнения теста, значения в Data Table можно менять, однако они не будут сохранены в тесте. Зато их можно будет увидеть в отчёте об исполнении теста (логе).

Распознавание объектов в QTP и уникальность их свойств
При записи теста QTP записывает описания объектов интерфейса тестируемого приложения (Application Under Test, AUT), с которыми тествзаимодействует, в Object Repository. Если QTP что-то не распознаёт, с 99.9% вероятности это означает, что свойства распознавания в Object Repоsitory указаны неверно. Это происходит потому, что при записи QTP записывает в Object Repository совершенно определённый набор свойств объекта, одинаковый для каждого отдельного типа объектов. Какие именно свойства QTP записывает для каждого типа объектов определяется настройками Object Idenfication (Tools>Object Identification...).Для настройки свойств уникальности распознавания объектов следует:
Спомощью Object Spy выяснить, какие именно свойства, из тех что записываются в Object Repository для объекта, меняются от сессии к сессии; 
Выяснить, какие свойства не меняются - их можно использовать для распознавания; 
Пойти в Object Identification Settings (Tools>Object Identification) и для соответствующего типа объектов правильно настроить свойства распознавания (которые будут прописываться в Object Repository при записи). 
Рис. 48 Окно Object Identification

Вопросы:
1.Какие факторы влияют на удобство использования пользовательского интерфейса?
2.  Помощь пользователям в распознавании, диагностике и устранении ошибок.
3. Принцип использования коммерческих приложений для тестирования пользовательского интерфейса
4. Обзор Quickt Test. Основные понятия
5. Использование объекта DataTable и параметризация
6. Распознавание объектов в QTP и уникальность их свойств


















5. ПРАКТИЧЕСКИЙ (ЛАБОРАТОРНЫЙ) КОМПЛЕКС

Лабораторная работа №1
Разработка пользовательского интерфейса: этапы предварительного и высокоуровневого проектирования

1 Цели работы
Целями лабораторной работы являются:
1.1 Закрепить теоретические знания по разработке пользовательского интерфейса.
1.2 Получить практические навыки по проведению этапов предварительного и высокоуровневого проектирования интерфейса пользователя.

2 Краткие теоретические сведения
На практике высокоуровневое проектирование пользовательского интерфейса предваряет первоначальное проектирование, которое позволяет выявить требуемую функциональность создаваемого приложения, а также особенности его потенциальных пользователей. Указанные сведения можно получить, анализируя информацию, поступающую от пользователей. С этой целью производят опрос целевой аудитории и формируют профили пользователей. Профилями называют описания главных категорий пользователей. Одна из таких категорий может быть принята за основной профиль. Следует отметить, что набор характеристик, подробно описывающий пользователя, зависит от предметной области и контекста решаемых им задач. Поэтому работа по определению целей и задач пользователей и работа по формированию их профилей ведется параллельно.
Наиболее общий шаблон профиля содержит в себе следующие разделы:
социальные характеристики;
навыки и умения работы с компьютером;
мотивационно-целевая среда;
рабочая среда;
особенности взаимодействия с компьютером (специфические требования пользователей, необходимые информационные технологии и др.).
Профили пользователей могут по необходимости расширяться за счет добавления других (значимых с точки зрения проектировщика) характеристик пользователей.
После выделения одного или нескольких основных профилей пользователей и после определения целей и задач, стоящих перед ними, переходят к следующему этапу проектирования. Этот этап связан с составлением пользовательских сценариев. Как правило, начинают с персонификации профилей (присваивания каждому профилю условного имени), затем формулируют сценарии. Сценарий - это описание действий, выполняемых пользователем в рамках решения конкретной задачи на пути достижения его цели. Очевидно, что достигнуть некоторой цели можно, решая ряд задач. Каждую их них пользователь может решать несколькими способами, следовательно, должно быть сформировано несколько сценариев. Чем больше их будет, тем ниже вероятность того, что некоторые ключевые объекты и операции будут упущены.
В то же время, у разработчика имеется информация, необходимая для формализации функциональности приложения. А после формирования сценариев становится известным перечень отдельных функций. В приложении функция представлена функциональным блоком с соответствующей экранной формой (формами). Возможно, что несколько функций объединяются в один функциональный блок. Таким образом, на этом этапе устанавливается необходимое число экранных форм. Важно определить навигационные взаимосвязи функциональных блоков. На практике установлено наиболее подходящим число связей для одного блока равное трем. Иногда, когда последовательность выполнения функций жестко определена, между соответствующими функциональными блоками можно установить процессуальную связь. В этом случае их экранные формы вызываются последовательно одна из другой. Такие случаи имеют место не всегда, поэтому навигационные связи формируются либо исходя из логики обработки данных с которыми работает приложение, либо основываясь на представлениях пользователей (карточная сортировкA. Навигационные связи между отдельными функциональными блоками отображаются на схеме навигационной системы. Возможности навигации в приложении передаются через различные навигационные элементы.
Основным навигационным элементом приложения является главное меню. Роль главного меню велика еще и потому, что оно осуществляет диалоговое взаимодействие в системе «пользователь-приложение». Кроме того, меню косвенно выполняет функцию обучения пользователя работе с приложением.
Формирование меню начинается с анализа функций приложения. Для этого в рамках каждой из них выделяют отдельные элементы: операции, выполняемые пользователями, и объекты, над которыми осуществляются эти операции. Следовательно, известно какие функциональные блоки должны позволять пользователю осуществлять какие операции над какими объектами. Выделение операций и объектов удобно проводить на основе пользовательских сценариев и функционала приложения. Выделенные элементы группируются в общие разделы главного меню. Группировка отдельных элементов происходит в соответствии с представлениями об их логической связи. Таким образом, главное меню может иметь каскадные меню, выпадающие при выборе какого либо раздела. Каскадное меню ставит в соответствие первичному разделу список подразделов.
Одним из требований к меню является их стандартизация, целью которой выступает формирование устойчивой пользовательской модели работы с приложением. Существуют требования, выдвигаемые с позиций стандартизации, которые касаются места размещения заголовков разделов, содержания разделов часто используемых в разных приложениях, формы заголовков, организации каскадных меню и др. Наиболее общие рекомендации стандартизации следующие:
группы функционально связанных разделов отделяют разделителями (черта или пустое место);
не используют в названиях разделов фраз (желательно не больше 2 слов);
названия разделов начинают с заглавной буквы;
названия разделов меню, связанных с вызовом диалоговых окон заканчивают многоточием;
названия разделов меню, к которым относятся каскадные меню, заканчивают стрелкой;
используют клавиши быстрого доступа к отдельным разделам меню. Их выделяют подчеркиванием;
допускают использовать «горячие клавиши», соответствующие комбинации клавиш отображают в заголовках разделов меню;
допускают использовать включение в меню пиктограмм;
измененным цветом показывают недоступность некоторых разделов меню в ходе работы с приложением;
допускают делать недоступные разделы невидимыми.
Недоступность некоторых разделов меню обуславливается следующим. Главное меню является статическим и присутствует на экране в течение всего времени работы с приложением. Таким образом, при работе с разными экранными формами (взаимодействии с разными функциональными блоками) не все разделы меню имеют смысл. Такие разделы принято являются недоступными. Поэтому в зависимости от контекста решаемых пользователем задач (иногда от контекста самого пользователя) главное меню приложения выглядит различным образом. О подобных различающихся внешних представлениях меню принято говорить как о различных состояниях меню. В отличие от схемы навигационной системы, составленной ранее и необходимой, в основном, разработчику, с меню пользователь входит в непосредственное взаимодействие. Поэтому следует составить граф состояния меню. Вершинами этого графа являются различные состояния меню (внешние представления одного и того же меню с доступными и недоступными разделами). Каждая вершина имеет пояснения о соответствии данного состояния меню отдельным экранным формам. Дуги графа состояний соответствуют операциям (командам меню), переводящим его из одного состояние в другое.
Подобный граф используют при формировании тестовых заданий на последних стадиях проектирования интерфейса. В связи с этим, важно при его формировании выполнить проверку соответствия пользовательских сценариев возможным переходам по графу.

3 Задание на лабораторную работу
Выполнить этапы предварительного и высокоуровневого проектирования при разработке пользовательского интерфейса приложения для предметной области, соответствующей варианту задания.
Разработать главное меню в среде разработки приложения с анализом и обоснованием его различных состояний.

4 Порядок выполнения работы
Пусть предметная область представлена информационной системой, отображающую деятельность мелкой фирмы, которая связана с изготовлением и/или поставкой ряда товаров.
Сформировать профили потенциальных пользователей программного обеспечения информационной системы.
Потенциальными пользователями приложения являются, например, менеджеры по направлению товара, торговые представители, представители обслуживающего персонала и т.д. Примерные профили некоторых из названных категорий пользователей могут выглядеть следующим образом (таблица 1).
Таблица 1
Пользователи
Менеджер по направлению товара
Представители обслуживающего персонала

Социальные характеристики
Мужчины, женщины
Взрослые
Русскоязычные
Средний уровень владения компьютером
Женщины
Взрослые
Русскоязычные
Низкий уровень владения компьютером

Мотивационно целевая среда
Прямая производственная необходимость, удобство
Мотивация к обучению высокая
Производственная необходимость, Престиж
Мотивация к обучению низкая

Навыки и умения
,°Должны иметь значительный тренинг работы с программой
Прошли предварительный тренинг работы с программой

Требования к ПО ИС
Возможность использования ПО ИС в локальной сети

Отсутствие жестких ограничений по времени
Обеспечение текущей информацией по содержанию заказов
Обеспечение текущей информацией по товарам
Возможность проводить обобщение информации по заказам
Возможность использования программы одновременно с телефонным общением с клиентом
Время реакции ПО ИС, допустимое для ожидания клиента
Обеспечение текущей информацией по содержанию заказов
Обеспечение текущей информацией по товарам
Возможность формирования новых заказов

Задачи пользователя
Просмотр/фильтрация информации по заказам/клиентам/товарам
Сортировка информации по заказам/клиентам/товарам
Агрегирование информации по заказам/клиентам/товарам
Просмотр данных по товарам
Создание/поиск/модификация заказа
Сохранение/печать заказа
Формирование счета по заказу

Рабочая среда
Стандартизированные ПК, локальная сеть
Стандартизированные ПК, специализированное телефонное обслуживание

Определить функциональность приложения, исходя из целей и задач пользователей.
Рассмотрим определение функциональности на примере одного из профилей: представители обслуживающего персонала. Исходя из задач этой категории пользователей, можно сформировать следующий перечень функций необходимых в приложении:
создать новый заказ (1);
сложный поиск заказа (2);
редактирование заказа (3);
добавление клиента из списка клиентов в заказ (4);
ввод/редактирование клиента в списке клиентов (5);
выбор товара из списка товаров (6);
сложный поиск товаров в списке товаров (7);
просмотр подробных данных о товаре (8);
добавление товара из списка товаров в заказ (9);
сохранение заказа (10);
печать заказа (11);
формирование счета (12).
Сформировать множество пользовательских сценариев для выделенных профилей пользователей.
Примером могут служить приведенные ниже сценарии действий пользователей.
Анна Петровна общается с клиентами по телефону. По просьбе клиента она предварительно просматривает данные о запрошенных им товарах, затем приступает к формированию нового заказа. Она вводит данные клиента, после чего выбирает указанный(ые) товар(ы) из списка и добавляет его (их) в заказ и сохраняет заказ.
Анна Сергеевна общаясь с клиентами по телефону, создает новые заказы. При формировании нового заказа, она выбирает клиента из списка, если его там нет, то вводит клиента в список клиентов. Затем добавляет в заказ необходимые товары, используя сложный поиск. Она распечатывает информацию заказа, после этого она сохраняет ее.
Анна Михайловна выполняет поиск указанного заказа по данным клиента. Она просматривает и при необходимости редактирует данные клиента, добавляет в заказ новые или удаляет из заказа прописанные там товары, при необходимости редактирует в заказе информацию по некоторым товарам, сохраняет информацию и формирует счет заказа.
Анна Николаевна просматривает данные о товаре, выполняет поиск заказа по товару, редактирует в заказе информацию по некоторым товарам, сохраняет информацию и распечатывает ее.
Определить функциональные блоки приложения, составить схему навигационной системы.
Очевидно, что отдельные функциональные блоки соответствуют работе пользователей с информацией:
по заказам (функции 1,2,3,4,9,10,11,12): по общему журналу заказов и по конкретному (текущему) заказу;
по клиентам (функции 4,5): по списку клиентов в целом и по конкретному клиенту;
по товарам (функции 6,7,8,9): по списку товаров и по данному товару подробно.
Таким образом, можно вести речь о наличии в приложении трех функциональных блоков и шести экранных форм:
Журнал заказов;
Текущий заказ;
Список клиентов;
Карта клиента;
Список товаров;
Карта товара.
В этом случае, с учетом пользовательских сценариев схема навигации по формам может выглядеть следующим образом (рисунок 1).
13 SHAPE \* MERGEFORMAT 1415

Цифрами на рисунке обозначены отдельные операции, выполняемые пользователями (п.4.5).
Установить для отдельных функциональных блоков соответствующие им операции и объекты операций. Сгруппировать их в разделы меню. В конкретной среде разработки приложения сформировать меню.
Определим операции, которые должен выполнять пользователь в рамках возможностей, предоставляемых ему приложением (функций приложения):
создать новый заказ;
задать атрибуты поиска заказа;
найти заказ по текущим атрибутам поиска;
открыть текущий заказ на редактирование;
открыть список клиентов для добавления в текущий заказ;
открыть список товаров для добавления в текущий заказ;
просмотреть список клиентов;
выбрать клиента из списка клиентов;
добавить атрибуты текущего клиента к поиску заказа;
ввести данные нового клиента в текущий заказ;
редактировать данные текущего клиента в списке клиентов;
добавить текущего клиента в текущий заказ;
сохранить данные о текущем клиенте;
просмотреть список товаров;
задать атрибуты поиска товаров;
найти товар по текущим атрибутам;
выбрать товар из списка товаров;
просмотреть подробные данные текущего товара;
добавить атрибуты текущего товара к поиску заказа;
редактировать данные по текущему товару в текущем заказе;
добавить данные текущего товара в текущий заказ;
сохранить текущий заказ;
распечатать информацию по текущему заказу;
сформировать счет по текущему заказу.
Соответствие приведенных операций функциональным блокам, экранным формам и навигационным переходам указано на рисунке 1.
Далее, необходимо сгруппировать операции таким образом, чтобы их группы соответствовали пунктам главного меню. В рассматриваемом примере предлагается сформировать следующие группы.
1.Действия над объектами. В качестве объектов выступают заказ, клиент, товар (таблица 2).
Таблица 2 - Группа Действия
Действия
Объект
Примечания

Создать
Заказ
Клиент
1
10

Открыть
Заказ
Клиент
Товар
4
11
18

Сохранить
Заказ
Клиент
22
13

Выбрать
(отобрать для добавления)
Клиент
Товар
Атрибуты клиента
Атрибуты товара
12 (в заказ)
21 (в заказ)
9 (к поиску)
19 (к поиску)

Печать
Заказ
23

Счет
Заказ
24


2. Поиск. Специфическое действие, выделено отдельно; объекты – заказ (3), товар (16).
3. Работа со списками. Объекты – клиент, заказ (таблица 3).
Таблица 3 - Списки
Списки
Операции
Примечания

Клиенты

Просмотреть
Открыть для выбора (добавления) в заказ
7
5

Товары
Просмотреть
Открыть для выбора (добавления) в заказ
14
6

4. Стандартными являются такие разделы как Файл и Справка. Их тоже следует включить в главное меню приложения.
Составить граф состояния меню и провести проверку возможных переходов по графу в соответствии с пользовательскими сценариями.
Рассмотрим состояния меню для приведенного примера. Для простоты не будем учитывать состояния меню, связанные доступностью стандартных разделов Файл и Справка и их подразделов. Различные состояния прототипа меню можно представить таблицами 4-11. Разделы меню и команды, недоступные в данном состоянии выделены серым цветом. Для доступных команд в скобках указаны номера соответствующих операций.
Таблица 4 – Журнал заказов (состояние М1)
Действия
Поиск
Списки

Создать (1)
Открыть (4)
Сохранить
Выбрать
Печать
Счет
Найти (3)
Клиенты (7)
Товары (14)


Таблица 5 – Текущий заказ (состояние М2)
Действия
Поиск
Списки

Создать
Открыть
Сохранить (22)
Выбрать
Печать (23)
Счет (24)

Клиенты (5)
Товары (6)


Таблица 6 – Список клиентов (состояние М3, переход по команде 7)
Действия
Поиск
Списки

Создать (10)
Открыть (11)
Сохранить
Выбрать (9)
Печать
Счет




Таблица 7 – Список клиентов (состояние М4, переход по команде 5)
Действия
Поиск
Списки

Создать (10)
Открыть (11)
Сохранить
Выбрать (12)
Печать
Счет




Таблица 8 – Карта клиента (состояние М5)
Действия
Поиск
Списки

Создать
Открыть
Сохранить
Выбрать (13)
Печать
Счет





Таблица 9 – Список товаров (состояние М6, переход по команде 14)
Действия
Поиск
Списки

Создать
Открыть (18)
Сохранить
Выбрать (19)
Печать
Счет
Найти (16)



Таблица 10 – Список товаров (состояние М7, переход по команде 6)
Действия
Поиск
Списки

Создать
Открыть (18)
Сохранить
Выбрать (21)
Печать
Счет
Найти (16)



Таблица 11 – Карта товара (состояние М8)
Действия
Поиск
Списки






Граф состояний меню можно представить следующим образом (рисунок 2).
13 SHAPE \* MERGEFORMAT 1415
Следует подчеркнуть, что прототип меню в данном примере создается только под одну определенную категорию пользователей. Кроме того, в примере не предусмотрено развитие программного продукта, следовательно, отсутствует расширяемость функций.

5 Требования к оформлению отчета
Отчет должен содержать:
название и цели работы;
основные профили пользователей с указанием из целей и задач;
описание функциональности приложения, указание отдельных функций, функциональных блоков, соответствующих им операций и объектов;
схему навигационной системы с указанием связей между функциональными блоками.
описание структуры главного меню приложения;
граф состояний меню;
выводы относительно соответствия возможных переходов по графу и пользовательских сценариев;
общие выводы, сделанные в процессе выполнения лабораторной работы.

Лабораторная работа №2
Низкоуровневое проектирование интерфейса:
количественная оценка и построение прототипа

1 Цели работы
1.1 Закрепить теоретические знания по разработке пользовательского интерфейса.
1.2 Развить навыки создания вариантов прототипов интерфейса пользователя.
1.3 Получить практические навыки по количественной оценке интерфейса на этапе низкоуровневого проектирования.
1.4 Закрепить принципы обоснования выбора прототипа интерфейса по его количественной оценке.

2 Краткие теоретические сведения
Для анализа качества интерфейсов используется множество количественных и эвристических методов. Одним из лучших подходов к количественному анализу моделей интерфейсов является классическая модель GOMS (goals, objects, methods and selection rules).
Метод, использующий модель GOMS, основан на разбиении всех действий пользователя на отдельные составляющие. Для каждой из них с помощью тщательных лабораторных исследований получен набор временных интервалов, необходимых для ее выполнения. В таблице 1 приведена номенклатура элементарных действий и соответствующие временные интервалы.
Таблица 1
Нажатие клавиши клавиатуры, включая клавиши Alt, Ctrl, Shift
0,28 с
К

Нажатие клавиши мыши
0,1 с
М

Указание – перемещение курсора мыши, чтобы указать какую-либо позицию на экране монитора
1,1 с
П

Перемещение- перенос руки пользователя с клавиатуры на мышь или обратно
0,4 с
В

Ментальная подготовка – мысленный выбор пользователем своего следующего элементарного действия
1,2
Д

Ответ – реакция системы на элементарное действие пользователя
-
Р

Широкая изменяемость каждой из представленных мер объясняет, почему эта модель не может использоваться для получения абсолютных временных значений с высокой степенью точности. Но этот метод вполне пригоден для проведения сравнительной оценки между какими-либо двумя моделями интерфейса по уровню эффективности их использования.
Расчет времени, необходимого для выполнения некоторого действия начинают с разбиения его на элементарные действия, которые соответствуют номенклатуре приведенной в таблице 1. Проще всего выделить движения К, М, П, В. Проблему составляет определение моментов, когда пользователь должен остановиться, чтобы выполнить бессознательную ментальную операцию. Рассмотрим основные правила по выявлению этих моментов (таблица 2).
Таблица 2
Правило 0
Начальная расстановка операторов Д
Операторы Д следует устанавливать перед всеми операторами К и М (нажатие клавиши), также перед всеми операторами П, предназначенными для выбора команд. Но перед операторами П, предназначенными для указания на аргументы этих команд, ставить оператор Д не следует.

Правило 1
Удаление ожидаемых операторов Д
Если оператор, следующий за оператором Д, является полностью ожидаемым с точки зрения оператора, предшествующего Д, то этот оператор Д может быть удален.
Если пользователь перемещает мышь с намерением нажать на ее кнопку по достижении цели движения, то в соответствии с этим правилом следует удалить оператор Д, установленный по правилу 0. Так последовательность действий П Д К преобразуется в П К.

Правило 2
Удаление операторов Д внутри когнитивных единиц
Если строка Д К Д К Д К принадлежит когнитивной единице, то следует удалить все операторы Д, кроме первого. Когнитивной единицей является непрерывная последовательность вводимых символов, которые образуют название команды или аргумент. Например Y, перемещать, 4564.23 – это когнитивные единицы.

Правило 3
Удаление операторов Д перед последовательными разделителями
Если оператор К означает лишний разделитель, стоящий в конце когнитивной единицы (например, разделитель команды, следующий сразу за разделителем аргумента этой команды), то следует удалить оператор Д , стоящий перед ним.

Правило 4
Удаление операторов Д, которые являются прерывателями команд
Если оператор К является разделителем, стоящим после постоянной строки (например, название команды или любая последовательность символов, которая каждый раз вводится в неизменном виде), то следует удалить оператор Д, стоящий перед ним. (Добавление разделителя станет привычным действием, и поэтому разделитель станет частью строки и не будет требовать специального оператора Д.) Но если оператор К является разделителем строки аргументов или любой другой изменяемой строки, то оператор Д следует сохранить перед ним.

Правило 5
Удаление перекрывающих операторов Д
Любую часть оператора Д, которая перекрывает оператор Р, означающий задержку, связанную с ожиданием ответа компьютера, учитывать не следует.

В этих правилах под строкой понимается некоторая последовательность символов.
Разделителем считается символ, которым обозначено начало или конец значимого фрагмента текста, такого как, например, слово естественного языка или телефонный номер. Так, пробел является разделителем для большинства слов, а точка используется в конце предложений для разделения. В качестве разделителей могут выступать скобки для ограничений пояснений или замечаний и т.д.
Если для выполнения команды требуется дополнительная информация, она называется здесь аргументом данной команды.
Правила GOMS позволяют определит время, необходимое пользователю для выполнения любой . четко сформулированной задачи, для которой данный интерфейс предусмотрен. Однако этого метода недостаточно, чтобы оценить насколько быстро должен работать интерфейс – его производительность. Рассмотрим подробнее критерий эффективности Раскина, который оценивает информационную производительность интерфейса.
Информационная производительность интерфейса E определяется как отношение минимального количества информации, необходимого для выполнения задачи, к количеству информации, которое должен ввести пользователь. Параметр E изменяется в пределах [0, 1]. В параметре E учитывается только информация, необходимая для задачи, и информация вводимая пользователем. Несколько методов действия могут иметь одинаковую производительность E, но иметь разное время выполнения. Возможно, что один метод имеет более высокий показатель E, но действует медленнее, чем другой метод.
Информация измеряется в битах. Один бит представляет собой один из двух альтернативных вариантов (0 или 1; да или нет) и является единицей информации. При количестве n равновероятных вариантов суммарное количество передаваемой информации определяется как
log2n
Количество информации для каждого варианта определяется как
(1/n)log2n (1)
Если вероятности для каждой альтернативы не являются равными и i-я альтернатива имеет вероятность p(i), то информация, передаваемая этой альтернативой определяется как
p(i)log2(1/p(i)) (2)
Общее количество информации является суммой по всем вариантам выражений (1) или (2)
При использовании мыши в качестве устройства ввода информации, количество информации оценивают подобным же образом. Если экран поделен на две равные области: одна соответствует «да», а вторая соответствует «нет», то щелчок мыши в одной из этих областей будет передавать 1 бит информации. Если имеется n равновероятных объектов, то нажатием на один из них сообщается log2n бит информации. Если объекты имеют разные вероятности, используется сумма значений количества информации, полученные по формуле (2).
При передаче информации нажатием клавиши ее количество зависит от общего числа клавиш и относительной частоты использования каждой из них. То есть нажатия клавиш могут использоваться как приблизительная мера информации. Если на клавиатуре имеется 128 клавиш, и каждая из них используется с одинаковой частотой, то нажатие любой из них будет передавать
13 EMBED Equation.3 1415 бит.
В действительности частота использования клавиш существенно изменяется (например, клавиша е в русской раскладке клавиатуры используется наиболее часто) с учетом этого можно считать, что каждое нажатие клавиши передает (5 бит информации.
Иногда на практике удобнее использовать символьную эффективность вместо информационной производительности. Она определяется как минимальное количество символов, необходимое для выполнения задачи, отнесенное к количеству символов, которое в данной модели интерфейса требуется ввести пользователю.

3 Задание на лабораторную работу
3.1 Имея результаты проектирования интерфейса на высоком уровне, разработать варианты моделей – прототипы экранных форм для каждого из функциональных блоков.
3.2 Используя разработанные прототипы форм, провести количественную оценку элементов интерфейса по указанию преподавателя. Метод количественной оценки – GOMS, информационная производительность, символьная эффективность - задается преподавателем.
3.3 По результатам количественной оценки сделать выводы о возможности усовершенствования интерфейса.
3.4 При возможности внести необходимые усовершенствования в модели форм и реализовать их в среде разработки приложения. Каждую форму следует снабдить описанием навигации по ней.

4 Порядок выполнения работы
Рассмотрим пример с разработкой пользовательского интерфейса приложения создаваемого для мелкой фирмы (лабораторная работа №1). Программное обеспечение предполагает наличие справочников:
1) со списком клиентов фирмы, причем пользователь – в рассматриваемом примере это представитель обслуживающего персонала – может вносить в него изменения и добавлять новых клиентов;
2) со списком товаров, реализуемых фирмой. Пользователь не может вносить в него изменений.
Кроме того, создается список оформленных заказов – журнал заказов. Предположим, что такой список включает заказы за определенный период, например месяц. На следующий месяц создается новый журнал. Пользователь может вносить изменения в имеющиеся заказы, а также оформлять новые заказы.
Основные экранные формы известны из результата выполнения лабораторной работы №1:
Журнал заказов;
Текущий заказ;
Список клиентов;
Карта клиента;
Список товаров;
Карта товара.
Работа пользователя начинается с первой из них. Эта форма должна обеспечивать выполнение следующих операций:
создать новый заказ;
задать атрибуты поиска заказа;
найти заказ по текущим атрибутам поиска;
открыть текущий заказ на редактирование;
просмотреть список клиентов;
просмотреть список товаров;
Все эти операции пользователь может выполнить с помощью команд, собранных в разделах главного меню.
Выполним на примере первой из операций, связанной с созданием нового заказа, расчет времени по правилам GOMS.
При использовании команды меню эта операция раскладывается на следующие действия:
перемещение руки к мыши, В;
указание на раздел меню Действия, П;
нажатие клавиши мыши, М;
указание на команду Создать, П;
нажатие клавиши мыши, М.
В соответствии с правилом 0 расстановки ментальных операторов Д получим следующую последовательность операторов
В Д П Д М Д П Д М
В соответствии с правилом 1 следует удалить ожидаемые операторы Д
В Д П М Д П М
Остальные правила в этом примере не используются. Складывая соответствующие значения операторов получим общее время
0,4+1,2+1,1+0,1+1,2+1,1+0,1=5,2 с.
Очевидно, что это время велико. Необходимо предусмотреть другие варианты выполнения команды. Например, использование «горячих» клавиш или использование командной кнопки, запускающей команду на выполнение. Произведем оценку этих вариантов.
При использовании командной кнопки операция по созданию нового заказа раскладывается на действия:
перемещение руки к мыши, В;
указание на командную кнопку Создать, П;
нажатие клавиши мыши, М.
При расстановке операторов Д здесь также используются правила 0 и 1. Результирующая последовательность выглядит как
В Д П М
Общее время на выполнение операции составляет
0,4+1,2+1,1+0,1=2,8 с.
Это почти в 2 раза быстрее, чем предыдущий вариант выполнения команды.
При использовании «горячих» клавиш, например традиционного для создания нового объекта сочетания клавиш Ctrl+N, операция состоит из следующих действий:
перемещение руки к клавиатуре, В;
нажатие клавиши Ctrl, К;
нажатие клавиши N, К.
Согласно правилу 0 получаем последовательность операторов
В Д К Д К
Правило 1 в данном случае не работает, зато используется правило 2, согласно которому удаляются операторы Д внутри когнитивных единиц, каковой является комбинация клавиш Ctrl+N. Результирующая последовательность представлена как
В Д К К
Это соответствует времени
0,4+1,2+2(0,28=2,16 с.
Последний вариант самый быстрый. Однако рассматриваемая категория пользователей обладает низкой мотивацией к обучению, это означает, что пользователи могут не знать нужного сочетания клавиш, и они не стремятся ни узнать, ни запомнить его. Поэтому в интерфейсе желательно предусмотреть оба «быстрых» варианта выполнения команды.
Рассмотрим другую операцию, связанную с открытием текущего заказа. Очевидно, что она во многом схожа с предыдущей, однако требует задания аргумента – записи в журнале заказов, которая будет признана текущей. Для перемещения по журналу можно использовать клавиши клавиатуры Home, (, (, End или традиционные команды (командные кнопки) навигации по базе данных:
перейти к первой записи;
перейти к предыдущей записи;
перейти к следующей записи;
перейти к последней записи.
Рассмотрим оба этих варианта.
При использовании клавиш клавиатуры имеем:
перемещение руки к клавиатуре, В;
нажатие клавиши Home, К;
нажатие n раз клавиши (,К.
Результирующая последовательность операторов
В Д К Д К Д К Д К
Нажатия клавиши не составляют единой когнитивной единицы, операторы Д исключить нельзя. После каждого нажатия пользователь принимает решение, следует ли ему нажать на клавишу повторно. Расчет по времени
0,4+1,2+0,28+n((1,2+0,28)=1,88+n(1,68 с.
При использовании командных кнопок навигации получим:
перемещение руки к мыши, В;
нажатие кнопки Перейти к первой записи, М;
нажатие n раз кнопки Перейти к следующей записи, М.
Результирующая последовательность составляется аналогичным образом
В Д П М Д П М Д М Д М
Расчет по времени
0,4+1,2+1,1+0,1+1,2+1,1+0,1+(n-1)((1,2+0,1)=5,2+(n-1)(1,3 с
В зависимости от расположения нужной записи в журнале (значения n) предпочтительным может оказаться тот или иной вариант.
Гораздо проще для пользователя вариант с использованием техники прямого манипулирования, с использованием скроллинга - прокрутки. Рассмотрим, какие шаги должен выполнить пользователь в этом случае:
перемещение руки к мыши, В;
указание на область прокрутки, П;
нажатие клавиши мыши, М;
прокручивание скроллинга, С;
указание на нужную запись списка, П;
нажатие на клавиатуру мыши, М.
Здесь необходимо дать некоторые пояснения. При выполнении шага (3), осуществляется нажатие на клавишу мыши и ее удерживание. Время, поставленное в соответствие оператору М, учитывает как нажатие, так и отпускание клавиши, поэтому шаг (3) реально выполняется за 0,05 с (М/2). Но тогда после выполнения шага (4), необходимо учесть время, требуемое для отпускания клавиши мыши, что составляет 0,05 с (М/2). В приведенной выше последовательности действий, нажатие и отпускание мыши объединено в один шаг. Такое объединение становится возможным, потому что, согласно правилу 1 в последовательности
(М/2) С (М/2)
операторы Д не вставляются.
Время необходимое на прокручивание скроллинга можно оценить только экспериментальным путем. Приближенно можно считать, что для его выполнения необходимо 3 с.
Результирующая последовательность операторов выглядит как
В Д П М С Д П М
Это соответствует оценке времени
0,4+1,2+1,1+0,1+3+1,2+1,1+0,1=8,2 с.
При «удачном» расположении записи в журнале, пользователю вообще не придется работать с прокруткой. Последовательность операторов его действий будет выглядеть как
В Д П М
что составляет по времени 2,8 с.
Вариант с использованием прокрутки можно считать более предпочтительным. Но учитывая низкий уровень владения компьютером и минимальный предварительный тренинг, стоит предусмотреть также вариант с использованием клавиш (, (.
Аналогичные рассуждения можно привести относительно других операций.
Примерный вид экранной формы Журнал заказов приведен на рисунке 1.


Рисунок 1 – Экранная форма Журнал заказов

Рассмотрим, каким образом дается оценка производительности элементов интерфейса данной формы. В качестве примера выберем предложенную реализацию для операции поиска по данным справочников. Предусмотрено два варианта справочников: клиентов и товаров. Причем, для задания атрибутов поиска предполагается выполнять переход к формам этих справочников. В начальном прототипе формы переход осуществлялся путем нажатия на командную кнопку Просмотреть или командную кнопку Найти. Будем считать равновероятным выбор одного из двух справочников; вероятность использования кнопки Просмотреть оценим в 30% (p=0,3), кнопки Найти – 70% (p=0,7). Вероятности различных вариантов составят:
выбор клиента по кнопке Просмотреть – 0,5(0,3=0,15;
выбор товара по кнопке Просмотреть – 0,5(0,3=0,15;
выбор клиента по кнопке Найти– 0,5(0,7=0,35;
выбор товара по кнопке Найти– 0,5(0,7=0,35.
Информационное содержание рассматриваемого фрагмента интерфейса как
13 EMBED Equation.3 1415
Теоретически, если пользователь решил выполнить функцию поиска, ему минимально необходимо только определить каким из двух справочников он желает воспользоваться. Следовательно, минимальное количество информации необходимое ему для решения этой задачи определяется как
13 EMBED Equation.3 1415
Информационная производительность
13 EMBED Equation.3 1415
Повысить информационную производительность можно, для этого следует предусмотреть объединить обе команды или осуществлять переход к соответствующей экранной форме непосредственно при выборе пользователем нужного ему справочника (рисунок 1).
Оценить символьную эффективность можно только для тех элементов интерфейса, в которых осуществляется ввод символьной информации. Этот метод количественного анализа не представляет особых сложностей.

5 Требования к оформлению отчета
Отчет должен содержать:
название и цели работы;
внешний вид разработанных экранных форм с описанием навигации по ним;
описание навигации по приложению с использованием элементов управления на спроектированных формах;
расчеты количественного анализа, выполненного для указанных фрагментов интерфейса;
выводы относительно необходимости корректировки проектируемых форм; граф состояний меню;
при необходимости скорректированные формы;
общие выводы, сделанные в процессе выполнения лабораторной работы.

Лабораторная работа № 3
Проектирование справочной системы

Цель работы: изучение методики создания файлов справочной системы Windows (*.hlp) при разработке приложений.

Краткие теоретические сведения.
Разработка справочной системы состоит из двух основных этапов:
Создание файлов или нескольких файлов, содержащих темы справок, например, с помощью Microsoft Word.
Компиляция справки в файл и отладка всей справочной системы, с помощью специальных программ, например, HCRTF - Microsoft Help Workshop.
При создании справочной системы необходимо в первую очередь продумать систему в целом. А именно решить следующие вопросы:
об информации, выносимой в основное, дополнительное, всплывающие окна;
о включении разделов в предметный указатель и окно содержания;
о представлении информации в основном окне (например, наличие начальной части, неподдающейся прокрутке) и общем стиле справки (наличие кнопок, пиктограмм, "горячих" областей);
о разделении функций между основным и дополнительными окнами.
При создании файлов тем справок можно использовать текстовый редактор Microsoft Word, созданный файл должен сохраняться в формате RTA.
Каждая тема (кадр) должна начинаться с новой страницы (разрыв страницы выполняется нажатием клавиш Ctrl-Enter). Первой должна располагаться страница Содержание, порядок остальных безразличен.
При написании темы можно использовать многие возможности оформления шрифта. Но если нет уверенности, что соответствующие шрифты будут иметься на компьютерах потенциальных пользователей, лучше использовать обычные системные шрифты (MS Sans Serif).
По умолчанию при отображении текста в окне справки часть строки, которая не помещается в слишком узком для нее пространстве, переносится на новую строку. В случаях, когда это нежелательно, следует выделить соответствующие строки, и выполнить команду Формат(Абзац и в открывшемся окне на странице Положение на странице установить опцию Не разрывать абзац. Тогда, если ширины справки не хватает , чтобы отобразить всю длину отмеченных таким образом строк, в окне появится полоса горизонтальной прокрутки.
Для того чтобы при перемещении по тексту темы какая-то его часть (заголовок, начальная часть) не прокручивалась вертикальной прокруткой и всегда оставалась на экране, следует выделить соответствующий текст, выполнить команду Формат(Абзац и в открывшемся окне на странице Положение на странице установить опцию Не отрывать от следующего.
В кадр могут специальным образом включаться рисунки, кнопки и т.д.
Добавлять изображения в тему можно, например, в виде файлов .bmp, пользуясь или буфером обмена, или одной из команд:
{bmc (имя файла( }- размещение рисунка как обычного символа по ходу текста;
{bml (имя файла(} – размещение рисунка с левой стороны;
{bmr (имя файла( } – размещение рисунка с правой стороны.
Темы могут содержать горячие области: выделенные слова или кнопки, позволяющие пользователю выполнять переход от одной темы к другой. Кнопка вставляется командой {button (надпись(, (список макросов(}. В этой команде указывается текст надписи, которая будет присутствовать на изображаемой кнопке, а также перечень макросов, выполняемых при ее нажатии. Рассмотрение всего множества макросов, которые можно использовать при проектировании справочной системы выходит за рамки данной лабораторной работы. Описание этих макросов можно получить в файле hcw.hlp .
Каждая тема снабжается сносками (команда Вставка(Сноска), для которых используются определенные символы. Все сноски располагаются в первых позициях кадра. Символы, используемые для сносок различного типа приведены в таблице 1, там же раскрыто и назначение сносок каждого типа.
Таблица 1
Символ сноски
Назначение сноски

(
Обозначает уникальный идентификатор темы. По нему на данную тему могут ссылаться другие темы. Этому идентификатору ставится в соответствие номер, по которому на данную тему ссылается использующее справку приложение.

K
Позволяет отображать тематику кадра в предметном указателе. Название темы в предметном указателе представляет собой текст сноски K. Для одного кадра можно ввести несколько обозначений, разделяемых точкой с запятой. Пример
KОбъект Поле; Объекты
В предметном указателе две строки «Объект Поле» и «Объекты» будут вызывать один и тот же кадр. Можно сформировать двух уровневые ссылки: темы первого и второго уровня разделяются запятой. Пример
KОбъект Поле, Создание; Объект Поле, Ввод данных; Объект Поле, Модификация свойств
Кроме того, элементы, указанные в сносках K, используются при организации переходов между темами переход по ключевым словам (с помощью макроса Klink)

$
Определяет заголовок данной темы, используется в некоторых режимах работы, например, Поиск, Назад и др. Например, если указанное пользователем ключевое слово соответствует нескольким темам, то от пользователя требуется уточнение. В этом случае появляется окно Найденные разделы. В нем отображается текст сносок $. Поэтому сноски $ включают только в те кадры, которые имеют в своих сносках K элементы Klink, используемые в сносках K других кадров.

A
Используется для организации перехода по ключевым словам (с помощью макроса Alink)

+
Используется для указания последовательности просмотра тем. Включаются в кадр только тогда, когда соответствующие кнопки (кнопки Browse) предусмотрены в окне справки. Если сноски + включены в кадр, но их значения не указаны, последовательность просмотра тем будет установлена автоматически в соответствие с последовательностью тем в файле. Тексты сносок могут быть номерами или идентификаторами.

!
Используется для указания макросов, которые должны сработать перед появлением окна темы (для сложных справочных систем).

*
Используется для указания связанных друг с другом тем, которые должны быть встроены в справку (при создании справочных систем связанных программных продуктов).

>
Используется для указания идентификатора окна, в котором должна отображаться тема

В темы можно вводить переходы от одной темы к другой. Существуют непосредственные переходы и переходы по ключевым словам.
Непосредственный переход выполняется при щелчке пользователя на горячей области текста. Для этого сразу после нужных слов (без пробела) надо написать идентификатор темы, на которую нужно перейти. Соответствующие слова следует выделить двойным подчеркиванием (команда Формат(Шрифт, диалоговое окно Шрифт, опция Подчеркивание в положении Двойное), а идентификатор темы оформить как скрытый текст (команда Формат(Шрифт, диалоговое окно Шрифт, раздел Эффекты, опция Скрытый установлена, опция Подчеркивание в положении "(нет)").
Можно отображать тему, на которую осуществляется переход во всплывающем окне. Такие окна обычно используются для дополнительной информации и различных пояснений. Всплывающее окно не удаляет окно темы его вызвавшей, но при любом действии пользователя исчезает. Переход к теме, отображаемой во всплывающем окне, осуществляется аналогично, но с выделением одинарным подчеркиванием.
Переходы по ключевым словам позволяют осуществлять два макроса, имеющие одинаковый синтаксис Klink и Alink. Например,
Klink ("<список ключевых слов>", <тип>, "<идентификатор темы>",<имя окна>)
Обязательным элементом вызова макроса является только первый - "<список ключевых слов>". Он представляет собой одно или несколько ключевых слов или словосочетаний, перечисленных через точку с запятой. Если входящее в этот перечень словосочетание содержит запятую, то весь список заключается в двойные кавычки. Поиск ведется по первому слову, при нахождении нескольких тем пользователю предъявляется окно Найденные разделы, если не найдено ни одной темы, начинается поиск по второму ключевому слову и т.д.
<тип> определяет реакцию на найденные или не найденные ключевые слова и может принимать следующие значения (таблица 2).
Таблица 2
Символическое
значение
Численное
значение
Описание значения

JUMP
1
Если найдена только одна тема, соответствующая ключевым словам, то на нее сразу осуществляется переход

TITLE
2
Если ключевое слово находится более чем в одном файле справки (при справке, состоящей из нескольких файлов), то в окне Найденные разделы после названия темы пишется имя файла, определенное в файле содержания (*.cnt)

TEST
4
Возвращается величина указывающая нашлось или нет хотя бы одно соответствие ключевым словам.

<идентификатор темы> определяет, что если не найдено соответствия ключевым словам, то появляется всплывающее окно с текстом, содержащимся в теме, на которую указывает данный идентификатор. Если идентификатор не задан, то при безуспешном поиске появляется окно с текстом «Дополнительные сведения отсутствуют».
<имя окна> задает окно для отображения. Если этот параметр не задан, то используется окно, заданное в кадре темы или окно по умолчанию.
В качестве примера использования макросов можно рассмотреть следующий текст
Объект Поле!Klink (Объект Поле; Объекты) позволяет осуществить ввод данных.
В готовом файле справки словосочетание «Объект Поле» будет выделено цветом. Щелкнув клавишей мыши на этом словосочетании, пользователь увидит список тем, содержащих в своих сносках K ключевые слова: «Объект Поле» и «Объекты». Если такая тема является единственной, то сразу осуществится переход на нее.
В тексте может быть использован оператор вида
{button Объекты, Alink (Объекты)}
Это приведет к появлению в кадре кнопки с надписью «Объекты», при нажатии на которую будет осуществляться поиск тем, у которых ключевое слово присутствует в сносках A.
Когда сформированы темы проектируемой справочной системы, разработана ее структура, решен вопрос об общем стиле справки, переходят ко второму этапу проектирования – компиляции справки в файл *.hlp .
Компиляция и отладка справочной системы может проводиться с использованием программы HCRTF - Microsoft Help Workshop, расположенной в каталоге Delphi\Help\Tools. Эта программа позволяет создать файл Проекта справки, без которого ее нельзя компилировать, файл содержания справки, а также проверить справочную систему в работе.
Для создания файла проекта простой справочной системы нужно выполнить следующие действия:
Выполнить File|New и в открывшемся окне выбрать опцию Help Project.
В окне Project File Name задать имя и каталог файла Проекта справки (каталог выбрать тот, в котором лежит файл текстов тем .rtf).
В открывшемся окне Проекта нажать кнопку Files.
В появившемся окне Topic Files нажать кнопку Add и выбрать среди файлов подготовленный файл текстов справки.
Нажать OK.
Когда файл проекта создан, необходимо сохранить и откомпилировать его – кнопка Save and Compile, использовать ее следует каждый раз при изменении файла Проекта. После компиляции можно просмотреть сведения о результатах компиляции, и если она завершилась удачно (указан размер файла) просмотреть файл справочной системы. Просмотр и работа по отладке выполняется с помощью команды File|Run WinHelp.
Чтобы создать новый файл содержания необходимо выполнить команду File|New и в окне New выбрать опцию Help Contents, в результате чего появится окно с загруженным в него файлом содержания. В верхнем левом поле ввода задается имя файла *.hlp, верхнем правом поле ввода задается заголовок, который должен появиться в окне при работе со справочной системой. Нижнее поле ввода заполняется с помощью кнопок Add Above и Add Below. Каждая его строка соответствует либо заголовку (будет отображаться в виде закрытой книги), либо теме (отображается в виде листа с вопросом). Для заголовка задается только его текст, для темы задается название и идентификатор. Кнопки позволяют формировать многоуровневую структуру файла содержания. Кнопка Edit позволяет редактировать выделенную строку, а кнопка Remove удалять.
Файл содержания имеет расширение *.cnt.

3 Задание на лабораторную работу
Спроектировать справочную систему для приложения, определенного вариантом задания. Тексты тем справки должны быть составлены грамотно и корректно. Темы справочной системы должны содержать графические элементы (пиктограммы, рисунки) и горячие области. В справочной системе должны быть предусмотрены непосредственные переходы и переходы от одной темы к другой по ключевым словам. Кроме того, необходимо обеспечить возможность поиска по ключевым словам.

4 Порядок выполнения работы
4.1 Создать глоссарий – перечень уникальных понятий, используемых в приложении и его интерфейсе. В качестве примера таковых могут выступать названия элементов меню, окон, режимов, текст командных кнопок и т.д. Работа над созданием глоссария требует контакта с целевой аудиторией. Это нужно, чтобы описания понятий не содержали многозначности при восприятии их потенциальными пользователями. Недопустимо наличие различных терминов для определения одного и того же понятия. Описание понятий должно отвечать промышленному руководству, соответствующему выбранной платформе (MS Microsoft).
4.2 Добавить в глоссарий описания общей концепции приложения, ее функциональности в целом, а также отдельных функций, предоставляемых пользователю для выполнения (обзорная справкA. На этом шаге используют результаты, полученные на этапе предварительного проектирования интерфейса – формулировку целей и задач пользователей, перечень функций приложения.
4.3 Включить в глоссарий изложение алгоритмов выполнения пользователем отдельных функций (процедурная справкA. Для этого используют результаты высоко- и низко уровневого проектирования – описание отдельных операций, выполняемых при реализации функций; оконных форм, в которых выполняются операции; последовательности использования элементов управления оконных форм.
4.4 Разработать структуру справочной системы, отражающую взаимосвязь отдельных элементов глоссария. Составить карту структуры справочной системы.
4.5 Определить разделы, которые должны быть включены в содержание и предметный указатель справочной системы.
4.6 Решить такие вопросы проектирования справочной системы как вид основного окна, введение изображений, наличие горячих областей и ссылок, организация переходов и т.д.
4.7 Сформировать файл тем справок в виде файла *.rtf .
4.8 Сформировать файл справочной системы *.hlp, создав файл Проекта справки и откомпилировав его средствами программы MS Help Workshop (HCRTF).
4.9 Используя те же средства создания справочной системы, сформировать файл содержания *.cnt.

5 Требования к оформлению отчета
Отчет по лабораторной работе должен содержать:
цель работы;
описание приложения (вариант задания);
структуру справочной системы в виде карты;
комментарии, поясняющие содержание обзорной, предметной и процедурной справок;
текст файла тем справок в формате rtf (включая скрытый текст);
обоснования применения использованных в файле сносок;
выводы по работе.
При защите лабораторной работы необходимо представить электронные версии разработанных файлов *.hlp и *.cnt.
Лабораторная работа №4
Создание прототипа интерфейса и его тестирование

1 Цель лабораторной работы
1.1. Приобретение умений по формированию электронного прототипа – демонстрационного ролика интерфейса.
1.2. Приобретение практических навыков по созданию тестовых заданий.
1.3. Закрепление теоретических знаний и приобретение практических навыков по проведению тестирования интерфейса.

2 Краткие теоретические сведения
Тестирование интерфейса является исключительно важной задачей при проектировании интерфейса. Начальный этап тестирования связан с разработкой прототипа интерфейса. На этом этапе проектировщик использует имеющиеся результаты проектирования: общую схему приложения, планы отдельных экранных форм, глоссарий. Эти результаты сводятся воедино в общую схему, которую необходимо проверить по сформулированным ранее сценариям. Целью такой проверки является выявление несоответствие последовательности действий, описанной в сценарии, и структуры полной схемы. Обнаруженные несоответствия должны быть устранены за счет модификации экранных форм и/или корректировки общей схемы приложения.
Имея полную схему приложения, приступают к формированию электронного прототипа. Следует отметить, что прототип должен в первую очередь отображать функциональность интерфейса результирующей системы, поэтому его первые версии делают достаточно «примитивными». Последующие версии прототипа могут быть эстетически более совершенными.
Электронный прототип пользовательского интерфейса представляет собой демонстрационный ролик, выполненный в одной из презентационных программ – MS PowerPoint, MS Visio и др. Каждая экранная форма соответствует отдельному слайду, результат нажатия кнопок имитируется переходами между слайдами. Переходы реализуются с помощью организации гиперссылок. Электронная версия прототипа пользовательского интерфейса позволяет тестировать довольно сложные взаимодействия человека с приложением.
Успех тестирования зависит от правильности и корректности постановки задачи тестирования. Тестирование может быть направлено на подтверждение:
производительности действий при использовании продукта. Оценивается по длительности выполнения задач (тестовых заданий) пользователем. Эффективный продукт позволяет увеличить число пользователей успешно выполняющих задание в течение ограниченного времени;
полезности продукта. Продукт является полезным, если позволяет снизить количество человеческих ошибок. Полезный продукт позволяет увеличить число пользователей, способных успешно выполнить задание;
простоты обучения. Оценивается по времени тренинга, необходимого для достижения пользователем определенного уровня владения продуктом;
субъективной оценки пользователей. Пользователи оценивают свое отношение к продукту по десятибалльной шкале. Продукт можно считать успешным, если определенная часть пользователей оценила его на 8 и выше баллов.
Тестовые задания, которые в ходе проведения представляют собой задачи для пользователей, формируют исходя из указанных задач тестирования. Основой формулирования тестовых заданий являются пользовательские сценарии.
Тестирование проводится на представителях пользовательской аудитории ранее не знакомых с разрабатываемым продуктом. Уровень опытности тестируемых пользователей должен соответствовать уровню, определенному в профилях конечных пользователей. Считается, что тестирование на одном пользователе позволяет выявить примерно 60% ошибок. Поэтому число тестируемых пользователей, необходимых для проведения одного сеанса зависит от сложности и объема проектируемого продукта. Для «средних» приложений достаточно 4-8 человек. В ходе тестирования:
категорически запрещено прерывать или смущать пользователя;
нельзя внушать тестируемому, что тестируют его;
желательно присутствие разработчиков приложения (программистов), но их роль в тестировании исключительно пассивная. В качестве методов проведения тестирования могут быть использованы наиболее простые.
1. Наблюдение за пользователем. Пользователю предъявляется тестовое задание, он его выполняет. Действия пользователя фиксируются. Этот метод эффективен при определении неоднозначности элементов интерфейса: любая неоднозначность, как правило, влечет за собой ошибку пользователя. Поскольку действия пользователя фиксируются, обнаружить ошибки при анализе тестов довольно легко.
Кроме того, этот метод подходит для оценки производительности действий пользователя. Для этого необходимо при фиксировании действий замерять время, потребовавшееся пользователю на его выполнение.
2 Комментарии пользователя. Как и при использовании предыдущего метода тестирования, пользователи выполняют тестовые задания. Действия пользователя также фиксируются, кроме того, фиксируются комментарии им своих действий. В дальнейшем комментарии позволяют выявить недостатки реализации конкретных элементов интерфейса - неудачное расположение элементов управления, плохая навигация и т.д.
Этот метод можно использовать для оценки полезности продукта, простоты обучения работы с ним, степени субъективного удовлетворения.
Следует отметить, что метод является «нестабильным»: результаты его использования зависят от личных качеств тестируемого пользователя – его разговорчивости, умения последовательно и внятно излагать свои мысли.
Качество восприятия. Пользователю предъявляется тестовое задание, через некоторое время после его выполнения, пользователь должен воспроизвести экранные формы (бумажный вариант), с которыми он работал. Результат воспроизведения сравнивают с оригиналом. Идея теста заключается в следующем. Из-за ограничения на объем кратковременной памяти, количество элементов экранных форм, которые запоминает тестируемый, не может быть выше порога запоминания. Пользователь запоминает только то, что считает наиболее актуальным в процессе работы. Следовательно, при повторном выполнении задания пользователю, знающему расположение необходимых для этого элементов интерфейса, будет проще. Таким образом, этот метод позволяет оценить простоту обучения работе с продуктом, а, кроме того, степень субъективной удовлетворенности пользователей.
Следует отметить, что выявление в ходе тестирования различных ошибок и несоответствий неизбежно. Это является одной из причин того, что тестирование нельзя переносить на окончание проекта, когда вносить модификации нет возможности из-за истечения сроков работ.
Разработка пользовательского интерфейса приложения представляется собой итеративный процесс. Каждая итерация связана с отдельным этапом проектирования, созданием прототипа по его результатам, тестированием прототипа и его модификацией. Разработчик должен прилагать особые усилия, чтобы уменьшить число итераций.

3 Задание на лабораторную работу
Собрать полную схему приложения.
Выполнить проверку соответствия структуры полной схемы и последовательностей действий, описанных в пользовательских сценариях (лабораторная работа №1).
При выявлении несоответствий внести коррективы в содержание экранных форм и/или схему навигации по приложению.
Выделить различные состояния отдельных экранных форм, в которых могут находиться формы в процессе взаимодействия пользователя с приложением.
Сформировать слайды для создания демонстрационного ролика. Каждый слайд соответствует определенному состоянию отдельной экранной формы.
Согласно полной схеме приложения собрать демонстрационной ролик. Для организации переходов между слайдами использовать гиперссылки.
Сформировать тестовые задания исходя из пользовательских сценариев. Проверить по тестовым заданиям соответствие последовательностей переходов между слайдами и последовательностей действий, описанных в пользовательских сценариях.
При выявлении несоответствий внести коррективы в электронный прототип.
Определить задачи тестирования, зафиксировать количественные оценки качества разрабатываемого интерфейса.
Провести тестирование прототипа с использованием различных методов тестирования.
Проанализировать результаты тестирования, соотнести их с количественные оценки качества продукта.
Сформировать рекомендации по дальнейшей модификации интерфейса.

4 Порядок выполнения работы
Вначале выполняют формирование бумажного прототипа интерфейса. Он представлен полной схемой продукта. На этом этапе можно воспользоваться построенным ранее графом состояния главного меню. Каждому состоянию меню соответствует определенная экранная форма приложения. Кроме того, полная схема должна предусматривать отображение навигационной системы продукта в целом, как между экранными формами, так между элементами управления, содержащимися в отдельных формах. Поэтому в полную схему включают изображения форм, соответствующие различным состояниям включенных в них элементов.
Проверка бумажного прототипа на соответствие пользовательским сценариям является своеобразным тестированием. Бумажный прототип имеет значительное преимущество в отношении организации тестирования и модификации прототипа. Модификации могут относиться к проектированию на низком уровне и быть связаны с расположением элементов управления на форме, с изменением последовательности перехода между элементами, с заменой использованных элементов на другие и т.д. Также может оказаться, что выполнить некоторые фрагменты сценариев невозможно, либо затруднительно. Такое обстоятельство потребует возврата к этапу высокоуровневого проектирования. Следует отметить, что внесенные изменения должны быть своевременно отражены в соответствующих темах глоссария.
При переходе к формированию электронного прототипа выделяют различные состояния экранных форм. Состояние формы определяется текущим состоянием содержащихся в ней элементов управления, таких состояний может быть множество. Например, состояния командной кнопки: нейтральное, нажатое, нейтральное с установленным фокусом ввода и т.д.; состояния группы радиокнопок: выбрана первая альтернатива, вторая и др.; состояния списков и других элементов управления. Все допустимые сочетания состояний элементов одной формы представляют собой отдельные состояния этой формы. В презентации – электронном прототипе интерфейса – любому из выделенных состояний экранных форм соответствует отдельных слайд.
Когда совокупность необходимых слайдов сформирована, приступают к сборке презентационного ролика. Ролик не может представлять собой смену слайдов в фиксированной последовательности, потому что при работе с приложением пользователь может задействовать любые доступные на текущий момент элементы интерфейса. В связи с этим переход между слайдами организуют с использованием гиперссылок.
Возможность использования гиперссылок имеется и в презентационной программе Microsoft PowerPoint. Гиперссылка здесь является связью одного слайда с другим слайдом, с произвольным показом, содержащим группу слайдов другой презентации, которую планируется показать определенной аудитории, веб-страницей или файлом. Сама по себе гиперссылка может являться как текстом, так и объектом, таким как рисунок, который можно разгруппировать на отдельные редактируемые объекты, или файл, являющийся одним объектом (такой как точечный рисунок), графика или фигура. При помещении указателя на гиперссылку он отображается в форме руки, показывая, что данный объект можно щелкнуть. Текст, представляющий гиперссылку, подчеркнут и окрашен цветом. Рисунки, фигуры и другие объекты с гиперссылками не имеют дополнительных свойств. Для выделения гиперссылок к объектам можно добавить параметры действий, такие как звук или выделение.
В презентацию можно вставить готовую управляющую кнопку и определить для нее гиперссылки. Управляющие кнопки используются, например, при добавлении кнопок с интуитивными символами для перемещения к следующему, предыдущему, первому или последнему слайду презентации.
При создании гиперссылки на какой-либо объект, отличающийся от слайда, путь к нему задается в виде адреса URL (указывающего протокол (такой как HTTP или FTP) и расположение объекта в Интернете или интрасети, например: http://www.microsoft.com или файл://Имя_компьютера/Общая_папка/ИмяФайла.htm. При создании гиперссылки на страницу или файл, расположенные в локальной файловой системе, гиперссылка отображается как путь к файлу, например C:\Documents and Settings\Имя_Пользователя\Мои документы\файл.xls.
Создаваемые гиперссылки могут содержать абсолютные или относительные связи. В абсолютных ссылках используется точный путь; в случае перемещения файла, содержащего гиперссылку или ее конечный объект, связь между ними разрывается. При использовании гиперссылок с относительными связями можно перемещать файлы, содержащие гиперссылки, и объекты, на которые эти ссылки указывают, без разрыва имеющихся связей. Перемещение файла, содержащего гиперссылку, и конечного объекта этой гиперссылки следует выполнять одновременно.
Для создания гиперссылки на произвольный показ или место в текущей презентации необходимо:
Выбрать текст или объект, который должен представлять гиперссылку.
Нажать кнопку Добавление гиперссылки .
В области Связь с выбрать значок местом в этом документе.
Если устанавливают связь с другим слайдом в текущей презентации, выбрать из списка слайд, к которому требуется перейти.
Если устанавливают связь с произвольным показом, выбрать из списка произвольный показ, к которому требуется перейти, затем установить флажок показать и вернуться.
Для создания гиперссылки на определенный слайд в другой презентации выполняют следующие действия:
Выбрать текст или объект, который должен служить гиперссылкой.
Нажать кнопку Добавить гиперссылку .
В области Связать с выбрать пункт имеющимся файлом, веб-страницей.
Найти и выбрать презентацию, содержащую слайд, на который должна указывать гиперссылка.
Нажать кнопку Закладка и выбрать заголовок требуемого слайда.
Создание гиперссылки на файл требует выполнения следующих действий.
Выбрать текст или объект, который должен служить гиперссылкой.
Нажать кнопку Добавить гиперссылку .
В области Связать с выберите пункт имеющимся файлом.
Перейдите к нужному файлу.
Изменение адреса гиперссылки выполняют следующим образом.
Выбрать гиперссылку.
Нажать кнопку Добавление гиперссылки .
Выберите нужное назначение.
Для изменения текста гиперссылки сначала указывают необходимый текст гиперссылки, затем в поле вводят новый текст.
При создании презентации со ссылками на ряд файлов рекомендуется поместить эти файлы в общий каталог на сервере и создать базу гиперссылок. Базой гиперссылки является путь, первая часть которого будет общей для файла, содержащего гиперссылку, и для файла, на который она указывает. В случае изменения адреса URL сервера достаточно обновить только базу гиперссылок, а не все пути гиперссылок. Чтобы установить базу гиперссылок необходимо:
Открыть презентацию, для которой следует установить базу гиперссылок.
В меню Файл выбрать пункт Свойства и перейти на вкладку Документ.
В поле База гиперссылок указать путь к файлам для гиперссылок.
Данные для ссылки базы гиперссылок можно переопределить, введя полный адрес гиперссылки в диалоговом окне Вставка гиперссылки.
[ Cкачайте файл, чтобы посмотреть ссылку ] выполняют щелкая правой кнопкой мыши текст или объект, представляющий гиперссылку и выбирая в контекстном меню Удалить гиперссылку. Если требуется удалить и гиперссылку и представляющий ее текст, то сначала объект и текст выделяют, а затем нажимают клавишу DEL.
Важно помнить, что в PowerPoint гиперссылки становятся активными при запуске презентации, а не при ее создании.
Перед представлением презентации следует обязательно проверить ее на наличие гиперссылок с разорванными связями и проверить все гиперссылки на внешние источники. Щелчок гиперссылки с разорванной связью в PowerPoint приводит к сообщению об ошибке. Причиной может являться опечатка в адресе URL или гиперссылка на перемещенный или удаленный объект.
После того как будет сформирован демонстрационный ролик, от проектировщика интерфейса требуется повторно проверить соответствие переходов между слайдами и последовательностей действий, указанных в пользовательских сценариях. Как правило, сначала формируют тестовые задания на основе пользовательских сценариев и необходимую проверку выполняют уже по ним.
Тестовое задание включает последовательность действий записанных в сценарии, но в отличие от него содержит конкретные значения данных, с которыми оперирует пользователь. Рассмотрим пример пользовательского сценария.
Анна Сергеевна общаясь с клиентами по телефону, создает новые заказы. При формировании нового заказа, она выбирает клиента из списка, если его там нет, то вводит клиента в список клиентов. Затем добавляет в заказ необходимые товары, используя сложный поиск. Она распечатывает информацию заказа, после этого она сохраняет ее.
В соответствии со сценарием необходимо имитировать ввод данных клиента при оформлении нового заказа. Имитировать ввод с клавиатуры для прототипа в виде презентации невозможно. Если же данные клиента вводятся из списка, то это достаточно просто. От слайда с формой нового (пустого) заказа организуют переход к слайду со списком клиентов. Перемещение по списку записей с данными клиентов имитируют последовательным переходом к слайдам с изображением списка со смещенными записями. После указания нужной записи организуют переход к слайду c формой нового заказа с заполненными данными клиента.
Задание атрибутов товара при организации поиска имитируют переходом к слайдам с изображениями списков значений атрибутов. Затем выполняют переход к слайду, отображающему результаты поиска. Если результат одиночный, то от этого слайда организуют возврат к форме с текущим (новым) заказом, если результаты множественные выбор нужной записи имитируют аналогично рассмотренному выше выбору записи из списка.
Для добавления следующего товара используются либо слайды с множественными результатами последнего поиска, либо слайды с изображением атрибутов товара для имитации нового поиска. Когда заданные товары будет добавлены в заказ, используют слайды с изображением выбора команд меню печати и сохранения заказа.
Тестовое задание может быть сформулировано в следующем виде:
Создать новый заказ для клиента ООО Регионторг. Ввести в заказ данные клиента из списка клиентов. Затем организовать поиск требуемого клиенту товара, определяя атрибуты товара: категория – выключатель, цвет – белый, производитель – Польша. Используя результаты поиска, добавить в заказ сначала товар VIKO, затем товар VIKO-2. Организовать новый поиск товара с атрибутами: категория – распределительный щиток, цвет – белый, производитель – Германия. Добавить в заказ товар SIMENS. Распечатать заказ и сохранить его.
Проверка соответствия тестового задания и последовательности перехода между слайдами выполняется на готовом ролике. Выявленные несоответствия могут потребовать изменения навигационной системы приложения.
Когда сформулированы необходимые тестовые задания, выполнены проверки и требуемые коррективы, приступают к тестированию с привлечением пользователей из целевой аудитории.
В начале этого этапа формулируют задачи тестирования. Например, оценить производительность действий при использовании продукта. Тестирование проводится путем наблюдения за пользователем с фиксированием длительности выполнения действий. Критерий оценки можно сформулировать как выполнение контрольного тестового задания в течение 3 минут 75% тестируемых пользователей после тренинга - выполнения пяти различных сценариев. Результаты тестирования анализируются с точки критерия оценки, в качестве которого может выступать, например, выполнение контрольного тестового задания в течение 3 минут 75% тестируемых пользователей после тренинга - выполнения пяти различных сценариев.
Все результаты тестирования обобщаются с тем, чтобы сформулировать рекомендации относительно модификации прототипа интерфейса. Модификации могут быть связаны с изменениями содержимого экранных форм, элементов навигационной системы, терминологии и даже функциональности тех или иных элементов интерфейса.

5. Требования к оформлению отчета
Отчет должен содержать:
название и цели работы;
полную схему приложения, скорректированную при необходимости;
тестовые задания, сформированные в соответствии с пользовательскими сценариями;
задачи тестирования и количественные оценки качества интерфейса;
результаты тестирования с выводом о соответствии критерию оценки качества;
общие рекомендации по модификации интерфейса;
общие выводы, сделанные в процессе выполнения лабораторной работы.
Защита отчета сопровождается предъявлением готового демонстрационного ролика.



6. Перечень тестовых вопросов для промежуточного и итогового контроля
1.Что означает CALS-технологии?
2. В чём заключается главная задача создания и внедрения CALS-технологий?
3.Жизненный цикл изделия и программные средства его поддержки.
4.Этапы жизненного цикла промышленных изделий и системы их автоматизации, применительно к производствам на базе PLC.
5.Назовите основные типы автоматизированных систем обработки информации в CALS.
6.Прикладное программное обеспечение СУ. Место в обобщенной структуре программного обеспечения СУ.
7.Обобщенная архитектура прикладной составляющей программного обеспечения СУ.
8.Тенденции развития архитектуры прикладной составляющей программного обеспечения СУ.
9.Современные подходы в разработке и использовании готовых компонентов обеспечения СУ.
10. Базовые элементы платформы для построения интерфейса пользователя
11.Специализация элементов управления в пользовательском интерфейсе приложений СУ
12.Элементы управления специфичные для прикладных задач СУ и элементы управления общего назначения
13.Компоненты каркаса и компоненты реализации пользовательского интерфейса.
14.Управление и настройка пользовательского интерфейса в приложениях СУ.
15.Базовые элементы платформы для построения интерфейса пользователя
16.Специализация элементов управления в пользовательском интерфейсе приложений СУ
17.Элементы управления специфичные для прикладных задач СУ и элементы управления общего назначения
18.Компоненты каркаса и компоненты реализации пользовательского интерфейса.
19.Управление и настройка пользовательского интерфейса в приложениях СУ.
20.Возможности перехода исходных кодов языка C++ на платформу .Net.
21.Способ взаимодействия .NET c COM сервисом.
22.Способ взаимодействие COM клиента c сервисом .NET.
23.Использование библиотек неуправляемого кода в .NET
24.Особенности управляемого кода, CLR, возможность создание неуправляемого кода на платформе .Net.
25.Сборка мусора в .NET Framework.
26.Ограничения по использованию управляемых типов в C++.
27.Причины смешивания управляемого и неуправляемого кодов
28.В чём состоят Основные возможности системы CoDeSys?
29. В чём заключается Концепция CoDeSys?
30.Что включает в себя Главное окно приложения?
31Какие Окна инструментов доступны во view?




Тестовые задания
Комплекс аппаратных и программных средств, позволяющих компьютерам обмениваться данными:
компьютерная сеть;
интерфейс;
магистраль;
адаптеры. 
Все перечисленные
Группа компьютеров, связанных каналами передачи информации и находящихся в пределах территории, ограниченной небольшими размерами: комнаты, здания, предприятия, называется:
локальной компьютерной сетью;
глобальной компьютерной сетью;
информационной системой с гиперсвязями;
электронной почтой;
региональной компьютерной сетью?
Глобальная компьютерная сеть - это:
совокупность локальных сетей и компьютеров, расположенных на больших расстояниях и соединенные в единую систему.
информационная система с гиперсвязями;
множество компьютеров, связанных каналами передачи информации и находящихся в пределах одного помещения, здания;
система обмена информацией на определенную тему;
Все перечисленные
Обмен информацией между компьютерными сетями, в которых действуют разные стандарты представления информации (сетевые протоколы), осуществляется с использованием:
шлюзов;
магистралей;
хост-компьютеров;
электронной почты;
файл-серверов.
Конфигурация (топология) локальной компьютерной сети, в которой все рабочие станции соединены непосредственно с сервером, называется:
радиальной;
кольцевой;
шинной;
древовидной;
радиально-кольцевой.
Для хранения файлов, предназначенных для общего доступа пользователей сети, используется:
файл-сервер;
рабочая станция;
клиент-сервер;
коммутатор.
Все перечисленные
Сетевой протокол- это:
набор соглашений о взаимодействиях в компьютерной сети;
последовательная запись событий, происходящих в компьютерной сети;
правила интерпретации данных, передаваемых по сети;
правила установления связи между двумя компьютерами в сети;
согласование различных процессов во времени.
Транспортный протокол (TCP) - обеспечивает:
разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения;
прием, передачу и выдачу одного сеанса связи;
предоставление в распоряжение пользователя уже переработанную информацию;
доставку информации от компьютера-отправителя к компьютеру-получателю.
Все перечисленные
Протокол маршрутизации (IP) обеспечивает:
доставку информации от компьютера-отправителя к компьютеру-получателю;
интерпретацию данных  и подготовку их для пользовательского уровня;
сохранение механических, функциональных параметров физической связи в компьютерной сети; 
управление аппаратурой передачи данных и каналов связи.
разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.
Компьютер, подключенный к Интернет, обязательно имеет:
IP-адрес;
web-страницу;
домашнюю web-страницу;
доменное имя;
URL-адрес.
Почтовый ящик абонента электронной почты представляет собой:
область на жестком диске почтового сервера, отведенную для пользователя;
некоторую область оперативной памяти файл-сервера;
часть памяти на жестком диске рабочей станции;
специальное электронное устройство для хранения текстовый файлов.
Все перечисленные
Web-страницы имеют расширение:
*.htm;
*.txt;
*.web;
*.exe;
*.www
HTML ( TEXT MARKUP LANGUAGE) является:
язык разметки web-страниц;
системой программирования;
текстовым редактором;
системой управления базами данных;
экспертной системой.
Компьютер предоставляющий свои ресурсы в пользование другим компьютерам при совместной работе, называется:
сервером;
адаптером;
коммутатором;
станцией;
клиент-сервером.
К периферийным устройствам относятся:
Устройства ввода и вывода информации
Только устройства ввода информации;
Только устройства вывода информации;
Только устройства обработки информации.
Все перечисленные
Все современные периферийные устройства соответствуют стандарту:
Plug and Play
Drag and Drop
Технологии OLE
 Ничего из вышеперечисленного.
Все перечисленные
Драйверы – это:
A. Регулирующие программы;
B.Управляющие программы;
C.Управляющие устройства;
D.Ничего из вышеперечисленного.
E.Все перечисленные
Все современные периферийные устройства соответствуют стандарту:
Plug and Play
Drag and Drop
Технологии OLE
 Ничего из вышеперечисленного.
E.Все перечисленные
Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
Сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
последовательность знаков некоторого алфавита;
Сообщение, передаваемое в форме знаков или сигналов;
Сообщение, уменьшающее неопределённость;
Все перечисленные
Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной.
Все перечисленные
Известно, что наибольший объём информации человек получает при помощи:
Органов зрения;
Органов слуха;
Органов осязания;
Органов обоняния.
Все перечисленные
По форме представления информацию можно условно разделить на следующие виды:
Текстовую, числовую, символьную, графическую, табличную;
Социальную, политическую, экономическую, техническую, религиозную и пр.
Математическую, биологическую, медицинскую, психологическую;
Визуальную, звуковую, тактильную, обонятельную, вкусовую.
Все перечисленные
В теории информации под информацией понимают:
Сведения, уменьшающие неопределённость;
Сигналы от органов чувств человека;
Сведения, обладающие новизной;
Характеристику объекта, выраженную в числовых величинах.
Все перечисленные
Примером информационных процессов могут служить:
Процессы получения, поиска, хранения, передачи, обработки и использования информации;
Процессы строительства зданий;
Процессы химической и механической очистки воды;
Процессы извлечения полезных ископаемых из недр Земли.
Все перечисленные
Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
Сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
последовательность знаков некоторого алфавита;
Сообщение, передаваемое в форме знаков или сигналов;
Сообщение, уменьшающее неопределённость;
Все перечисленные
Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной.
Все перечисленные
По форме представления информацию можно условно разделить на следующие виды:
Текстовую, числовую, символьную, графическую, табличную;
Социальную, политическую, экономическую, техническую, религиозную и пр.
Математическую, биологическую, медицинскую, психологическую;
Визуальную, звуковую, тактильную, обонятельную, вкусовую.
Все перечисленные
Что из ниже перечисленного можно отнести к средствам хранения звуковой информации:
Кассета с классической музыкой. 
Учебник по истории;
Вывеска с названием магазина;
Журнал;
Все перечисленные
В теории информации под информацией понимают:
Сведения, уменьшающие неопределённость;
Сигналы от органов чувств человека;
Сведения, обладающие новизной;
Характеристику объекта, выраженную в числовых величинах.
Все перечисленные
Примером информационных процессов могут служить:
Процессы получения, поиска, хранения, передачи, обработки и использования информации;
Процессы строительства зданий;
Процессы химической и механической очистки воды;
Процессы извлечения полезных ископаемых из недр Земли.
Все перечисленные
Операционная система относится к
к системному программному обеспечению
к программам – оболочкам
к прикладному программному обеспечению
приложениям
Все перечисленные
Для организации доступа к файлам операционная система должна иметь сведения
о номерах кластера, где размещается каждый файл
об объёме диска
о содержании файла
о количестве файлов на диске
Все перечисленные
Где хранится выполняемая в данный момент программа и обрабатываемые данные
в оперативной памяти
во внешней памяти
в процессоре
на устройстве вывода
все перечисленные
Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленные
Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленные
Операционная система это:
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
техническая документация компьютера
совокупность устройств и программ общего пользования
совокупность основных устройств компьютера
все перечисленные
Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
зависание
отключение принтера
зацикливание
отключение монитора
Все перечисленные

В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
Все перечисленные
Приложение - это
устройства, с помощью которых пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
программа, с помощью которой пользователь решает свои прикладные задачи
Все перечисленные
Приложение функционирует под управлением
пользователя
оперативной памяти
процессора
операционной системы
все перечисленные
К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
Все перечисленные
Имя файла состоит из двух частей:
имени и расширения
адреса первого сектора и объёма файла
области хранения файлов и каталога
имени и адреса первого сектора
все перечисленные
Приложение функционирует под управлением
операционной системы
оперативной памяти
процессора
пользователя
все перечисленные
Одноуровневая файловая система
когда каталог диска представляет собой линейную последовательность имён файлов и соответствующих начальных секторов
каталог диска представляет собой иерархическую последовательность имён файлов
представляет собой систему вложенных папок
каталог диска представляет собой геометрическую последовательность имён файлов
все перечисленные
Путь к файлу
начинается с логического имени диска, затем записывается последовательность имён вложенных друг в друга папок, в последней из которых находится нужный файл
начинается с логического имени диска, затем записывается нужный файл , затем последовательность имён вложенных друг в друга папок
начинается с последовательности имён вложенных друг в друга папок, в последней из которых находится нужный файл, затем записывается логическое имя диска,
начинается с последней папки, в которой находится нужный файл, затем записывается логическое имя диска
Все перечисленные
Под расширение отводится
5 символов
4 символа
2 символа
3 символа
все перечисленные
Операционная система относится к
к прикладному программному обеспечению
к программам – оболочкам
к системному программному обеспечению
Приложениям
все перечисленные
Для организации доступа к файлам операционная система должна иметь сведения о
об объёме диска
о номерах кластера, где размещается каждый файл
о содержании файла
о количестве файлов на диске
все перечисленные
В процессе форматирования диск разбивается на две области:
имя и расширение
область хранения и каталог
оперативную и кэш-память
сектора и дорожки
все перечисленные
Где хранится выполняемая в данный момент программа и обрабатываемые данные
в процессоре
во внешней памяти
в оперативной памяти
на устройстве вывода
все перечисленные
Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленные
Операционная система это:
совокупность основных устройств компьютера
техническая документация компьютера
совокупность устройств и программ общего пользования
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
все перечисленные
Имя логического диска обозначается
латинскими буквами
цифрами
буквами и цифрами
русскими буквами
все перечисленные
Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
отключение монитора
отключение принтера
зацикливание
Зависание
Все перечисленные
В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
Все перечисленные
Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
Список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленные
57.Приложение - это
программа, с помощью которой пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
устройства, с помощью которых пользователь решает свои прикладные задачи
Все перечисленные
58.К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
все перечисленные
59.Интерфейс –
A.совокупность средств и правил, которые обеспечивают взаимодействие устройств, программ и человека
B.это совокупность сведений (данных), которая воспринимается из окружающей среды (входная информация), выдается в окружающую среду (исходная информация) или сохраняется внутри определенной системы
D. Комплекс программных средств, организующих управлений работой компьютера и его взаимодействия с пользователем.
E..совокупность понятных и точных указаний о том, какие действия и в какой последовательности выполнить для решения любой задачи из заданного класса за конечное число шагов
60. Методы и средства взаимодействия человека с аппаратными и программными средствами называют
A.пользовательский интерфейс
B.графический интерфейс
C.многосвязный интерфейс
D.внутримашинный системный интерфейс
E. компьютерный интерфейс
61. Согласование между отдельными узлами и блоками выполняют с помощью переходных аппаратно-логических устройств, называемых
A. аппаратным интерфейсом
B.программным интерфейсом
C. графическим интерфейс
D.пользовательски
E.все выше перечисленное
62. Стандарты на аппаратные интерфейсы в вычислительной технике называют
A. протоколами
B. положениями
D. приложениями
C. отладкой
E. все выше перечисленное
63. На сколько групп можно условно разделить многочисленные интерфейсы, присутствующие в архитектуре любой вычислительной системы?
A.2
B.3
C.4
D.8
E.12
64. На какие группы можно разделить
A.последовательные и параллельные
B.постоянные и переменные
C.прерывный и непрерывный
D.случайный, детерминированные
E. все выше перечисленное
65.Через параллельный интерфейс данные передаются
A.одновременно группами
B.битов бит за битом
C.последовательно набор битов
D.случайно
E. все выше перечисленное
66. Укажите правильный вариант следующему высказыванию.
интерфейс обычно имеют более сложное устройство, но обеспечивают более высокую производительность, применяют там, где важна скорость передачи данных.
A.параллельное
B.последовательное
C.пользовательский
D. шинный
E. все выше перечисленное
67.Укажите правильный вариант.
Основная функция операционных систем заключается в обеспечении нескольких видов интерфейса.
A. все ниже предложенные
D.интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя)
C.интерфейсы между программными аппаратным обеспечением (аппаратно-программный интерфейс)
D. интерфейса между разными видами программного обеспечения(программный интерфейс)
E. все выше перечисленное
68. Выберите правильное продолжение для следующего определения:
Пользовательским интерфейсом называют
A.методы и средства взаимодействия человека с аппаратными и программными средствами
B.комплекс программных средств, организующих управлений работой компьютера и его взаимодействия с пользователем
C.техническая наука, которая систематизирует приемы создания, сохранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ними.
D.взаимосвязанная совокупность средств, методов и персонала, используемая для сохранения, обработки и выдачи информации с целью решения конкретной задачи.
E. все выше перечисленное
69.По реализации интерфейса пользователя различают
A.неграфические и графические
B.векторные и точечные
C.последовательные и параллельные
D.однопользовательские и многопользовательские
E. все выше перечисленное
70. Неграфические операционные системы реализуют
A.интерфейс командной строки
B.интерфейс пользователя
C.аппаратный интерфейс
D. векторный интерфейс
E. все выше перечисленное
71. Основным устройством управления в неграфическом интерфейсе является
A.клавиатура
B.монитор
C.мышь
D.вариант b. и c.
E.нет верного ответа
72. Для компьютеров платформы IBM PC интерфейс командной строки обеспечивается семейством операционной системы под общим названием .
A.MS-DOS
B.Windows
C.Unix
D.вариант a и b
E. нет верного ответа
73. появляется тогда, когда видеосистема может работать в графическом режиме, т.е. выводить на экран монитора информацию поточечно.
A.графический интерфейс
B.неграфический интерфейс
C.командной строки интерфейс
D.пользовательский интерфейс
E. вариант a и b
74. Ярким примером графического пользовательского интерфейса служит интерфейс
A.Windows
B.MS-DOS
C.Unix
D.Norton Commander
E. вариант c и d
75. Внутримашинный системный интерфейс -
A.система связи и сопряжения узлов и блоков ЭВМ между собой(представляет собой совокупность электрических линий связи (проводов), схем сопряжения с компонентами компьютера, протоколов (алгоритмов) передачи и преобразования сигналов)
B.взаимосвязанная совокупность средств, методов и персонала, используемая для сохранения, обработки и выдачи информации с целью решения конкретной задачи.
C.методы и средства взаимодействия человека с аппаратными и программными средствами
D.техническая наука, которая систематизирует приемы создания, сохранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ними.
E. вариант c и d
76. Сколько вариантов организации внутримашинного интерфейса существует?
A.2
B.3
C.4
D.5
E.8
77. Многосвязный интерфейс:
A.каждый блок связан с прочими блоками своими локальными проводами
B.комплекс программных средств, организующих управлений работой компьютера и его взаимодействия с пользователем.
C.это блок ЭВМ, предназначенный для временного (оперативная память) и продолжительного (постоянная память) хранения программ, входных и результирующих данных, а также промежуточных результатов
D.обеспечивает автоматизацию процесса вычислений на ЭВМ.
E. вариант c и d
78. Пункт меню «Окно» предназначен для:
A.работы с несколькими документами
B.сохранения стиля документа..
C.работы с несколькими документами
D.сохранения вида документа
E.установки рамок вокруг текста.
79. Протокол -
A.это совокупность технических условий, которые должны быть обеспечены разработчиками устройств для успешного согласования их работы с другими устройствами
B.это совокупность сведений (данных), которая воспринимается из окружающей среды (входная информация), выдается в окружающую среду (исходная информация) или сохраняется внутри определенной системы
C.это способ освоения человеком материального мира с помощью социально организованной деятельности
D. совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации
E. нет верного ответа
80.Односвязанный интерфейс:
A.все блоки ПК связаны друг с другом через общую или системную шину
B.совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации
C.это способ освоения человеком материального мира с помощью социально организованной деятельности
D.каждый блок связан с прочими блоками своими локальными проводами
E. все выше перечисленное
81.В подавляющем большинстве современных ПК в качестве системного интерфейса используется
A.системная шина
B.адресная шина
C.шина данных
D.локальные шины
E. вариант c и d
82. Какими характеристиками, из ниже перечисленных, обладает системная шина?
A.все предложенные
B.разрядностью
C.тактовой частотой
D.пропускная способность
E. нет верного ответа
83. В качестве системной шины в разных ПК использовались и могут использоваться
A. вариант b и c.
B. локальные шины
C.шины расширений
D. шины данных.
E. нет верного ответа
84. Шины расширений -
A.шины общего назначения, позволяющие подключать большое число самых разнообразных устройств
B. специализирующиеся на обслуживании небольшого количества устройств определенного класса
C. это способ освоения человеком материального мира с помощью социально организованной деятельности
D. набор проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера;
E. нет верного ответа
85. EISA (Extended ISA).
A.пропускная способность возросла до 32 Мбайт/с. этот стандарт исчерпал свои возможности и в будущем выпуск плат,которые поддерживают эти интерфейсы прекратится.
B.разрешает связать между собой все устройства системного блока, а также обеспечивает простое подключение новых устройств через стандартные слоты.
C.пропускная способность составляет до 5,5 Мбайт/с;может использоваться лишь для подсоединения внешних устройств, которые не требуют большей пропускной способности (звуковые карты, модемы и т.д.).
D.локальная шина соединяет процессор с оперативной памятью в обход основной шины;работает на большей частоте, чем основная шина, и позволяет увеличить скорость передачи данных; позже, в локальную шину "врезали" интерфейс для подключения видеоадаптера, который требует повышенной пропускной способности
E.специальный шинный интерфейс для подключения видеоадаптеров.
86. ISA (Industry Standard Architecture).
A.разрешает связать между собой все устройства системного блока, а также обеспечивает простое подключение новых устройств через стандартные слоты.
B. пропускная способность составляет до 5,5 Мбайт/с;может использоваться лишь для подсоединения внешних устройств, которые не требуют большей пропускной способности (звуковые карты, модемы и т.д.).
C.пропускная способность возросла до 32 Мбайт/с. этот стандарт исчерпал свои возможности и в будущем выпуск плат,которые поддерживают эти интерфейсы прекратится.
D. локальная шина соединяет процессор с оперативной памятью в обход основной шины;работает на большей частоте, чем основная шина, и позволяет увеличить скорость передачи данных; позже, в локальную шину "врезали" интерфейс для подключения видеоадаптера, который требует повышенной пропускной способности
E. специальный шинный интерфейс для подключения видеоадаптеров.
87. VLB (VESA Local Bus).
A. локальная шина соединяет процессор с оперативной памятью в обход основной шины;работает на большей частоте, чем основная шина, и позволяет увеличить скорость передачи данных; позже, в локальную шину "врезали" интерфейс для подключения видеоадаптера, который требует повышенной пропускной способности
B. разрешает связать между собой все устройства системного блока, а также обеспечивает простое подключение новых устройств через стандартные слоты.
C. пропускная способность составляет до 5,5 Мбайт/с;может использоваться лишь для подсоединения внешних устройств, которые не требуют большей пропускной способности (звуковые карты, модемы и т.д.).
D. пропускная способность возросла до 32 Мбайт/с. этот стандарт исчерпал свои возможности и в будущем выпуск плат, которые поддерживают эти интерфейсы прекратится.
E. специальный шинный интерфейс для подключения видеоадаптеров.
88. Локальные шины
A.шины общего назначения, позволяющие подключать большое число самых разнообразных устройств
B.специализирующиеся на обслуживании небольшого количества устройств определенного класса
C.это способ освоения человеком материального мира с помощью социально организованной деятельности
D. набор проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера
E. нет верного ответа
89.Системы поддержки принятия решений в программе Консультант Плюс это:
A. инструмент, позволяющий верно применять действующее законодательство и ориентироваться в практических ситуациях  
B. дополнительная программа, предоставляющая информацию для руководителей разного уровня
C. свод практических ситуаций по вопросам законодательства и пояснений к ним
D .метод осуществления грамотного руководства с точки зрения казахстанского законодательства
E.всё выше перечисленное
90.По структурированности информация может классифицироваться как:
A. систематизированная и несистематизированная  
B. федеральная, региональная, муниципальная, местная
C. внешняя, внутренняя
D. документированная для средств связи, компьютерная, вербальная
E.всё выше перечисленное
91.Адекватность информации может выражаться в 3-х формах:
A. прагматическая (потребительская), синтаксическая (правила) , семантическая (смысловая)  
B. лексическая, синтаксическая (правила),  семантическая (смысловая)  
C. грамматическая, синтаксическая (правила),  семантическая (смысловая)  
D.синтаксическая (правила), грамматическая,  лексическая
E.семантическая (смысловая), прагматическая (потребительская), грамматическая
92.Свойство готовности информационной системы – это:
A.время фактической работы информационной системы  
B. время работы локальной компьютерной сети
C. время запуска информационной системы
D. время выхода информационной системы на рабочий режим
E.всё выше перечисленное 93.Подсистема – это:
A.часть системы с некоторыми связями и отношениями  
B. внутренний мир системы
C. порядок системы
D. модель системы
E.всё выше перечисленное
94.Групповая ИС ориентирована на
A.коллективного использования информации членами рабочей группы или подразделения  
B. выполнения функций управления на предприятии
C. решения некоторого круга задач одного человека
D. решения информационных задач целого предприятия
E.всё выше перечисленное 95.Вычислительная система объединяет
A.технические и программные средства    
B. служебное программное обеспечение и техническое обслуживание
C. интерфейс пользователя и прикладные программы
D. модели и системы компьютерного моделирования
E.всё выше перечисленное
96.Средства поиска в Интернет это
A. тематические каталоги, порталы, поисковые машины (роботы индексов) 
B. алфавитные словари, тезаурусы, тематические каталоги  
C. тематические каталоги, тезаурусы, алфавитные словари
D. порталы, поисковые машины (роботы индексов), тематические каталоги
E.поисковые машины (роботы индексов),  алфавитные словари, тематические каталоги  
97.Главными 2 отличиями поисковых систем друг от друга являются:
A.база ссылок , система подсчета уровня релевантности  
B. цена, система подсчета уровня релевантности  
C. быстрота поиска, достоверность найденной информации
D. достоверность найденной информации, цена
E. система подсчета уровня релевантности,   быстрота поиска
98.Количество информации по Хартли – это
A. логически осмысленная и определенная порция данных называемая «битом»  
B. гигабайт данных, определенной конфигурации
C. байт информации, передаваемый по каналам связи
D. мегабайт данных, помещенных на дискету
E.всё выше перечисленное
99.Особый вид информационных систем, предназначенный для хранения и обработки данных, содержащих информацию об участках земной поверхности это –
A.географические информационные технологии  
B. географические системы информации
C. региональные технологии и системы
D. территориальные информационные технологии
 E.всё выше перечисленное
100.Одно из назначений экономических информационных систем:
A.автоматизация конторских работ      
B. разработка автоматизированных систем делопроизводства
C. организация и проведение аналитических работ
D.накопление данных и их многоцелевое использование
 E.нет верного ответа
101.Совокупность данных, сохраняемых внутри некоторой системы, это информация
A. внутренняя    
B. внешняя
C.выходная
D.промежуточная
E.все выше перечисленные
102.Осуществляет сбор, передачу и переработку информации об объекте:
A. информационная система    
B. информационное пространство
C. информационная среда
D. информационный рынок
 E. нет верного ответа
103.Модель системы – это:
A. описание системы, отображающее определенную группу ее свойств      +
B. возникновение и сохранение структуры и целостных свойств системы
C. множество существенных свойств, которыми система обладает в данный момент времени
D. порядок системы
 E.нет верного ответа
104.Поиск по неструктурированным данным в документальных ИС осуществляется с использованием признаков:
A. семантических    
B. прагматических
C. грамматических
D. синтаксических
 E.верно а и с
105.Расположите в порядке увеличения производительности:
A. рабочая станция 2 , кластер серверов 4,карманный компьютер 1, сервер 3
B. кластер серверов 4, рабочая станция 2, карманный компьютер 1, сервер 3
C. карманный компьютер 1, рабочая станция 2, кластер серверов 4, сервер 3
 E. рабочая станция 2, кластер серверов 4, сервер 3, карманный компьютер 1
106.Структура жизненного цикла АИС базируется на трех группах процессов:
A. организационные процессы, основные процессы, ведомственные процессы,
B. основные процессы, ведомственные процессы, вспомогательные процессы
C. ведомственные процессы, вспомогательные процессы, основные процессы
D. вспомогательные процессы, организационные процессы, основные процессы
 E. организационные процессы, вспомогательные процессы, ведомственные процессы
107.CASE-технология – это
A. проектирование программного обеспечения информационных систем на основе комплексной поддержки  
B. обмен данными
C. программное обеспечение информационных систем
D. технические средства
 E.всё выше перечисленное
108.Хранение и поиск информации являются фундаментальными функциями
A. автоматизированных информационных систем   
B. локальных баз данных
C. корпоративных информационных систем
D. справочной системы
 E. всё выше перечисленное 109.Свойство производительности информационной системы – это:
A. время отклика на запрос клиента   
B. максимальное использование ресурсов памяти компьютеров
C. максимальное использование возможностей аппаратного обеспечения информационной системы
D. пропускная способность информационной системы
  E.нет верного ответа  110.Решающие ИС
A. обрабатывают данные по сложным алгоритмам,  делятся на управляющие и советующие  
B. производят ввод, систематизацию, хранение и выдачу информации по запросу пользователя без сложных преобразований
C. обрабатывают данные по сложным алгоритмам, отображают и распространяют пространственно-координированные данные
D. отображают и распространяют пространственно-координированные данные, делятся на управляющие и советующие  
 E. делятся на управляющие и советующие,  производят ввод, систематизацию, хранение и выдачу информации по запросу пользователя без сложных преобразований
111.Корпоративные информационные системы – это:
A. информационная система, обеспечивающая работу корпорации   
B. информационная система, осуществляющая бизнес в Интернете
C. информационная система, предоставляющая услуги по доступу в Интернет
D. компьютерная сеть корпорации
 E.всё выше перечисленное 112.Распределенные информационные системы могут быть:
A. клиент-серверными или файл-серверными   
B. корпоративными или вычислительными
C. автоматизированными или клиент-серверными
D. персональными или экономическими
 E. всё выше перечисленное
113.Для ввода, обработки, хранения и поиска графических образов бумажных документов, предназначены:
A. системы обработки изображений документов   
B. системы управления проектами
C. системы автоматизации деловых процедур
D. системы оптического распознавания символов
  E.верно в и с 114.Любые сведения, являющиеся объектом хранения, передачи и преобразования, называются
A. информацией 
B. документацией
C. информатикой
D. интеграцией
E. базой данных 115.World Wide Web – это служба Интернет, предназначенная для:
A. поиска и просмотра гипертекстовых документов, включающих в себя графику, звук и видео   
B. передачи файлов
C. передачи электронных сообщений
D. общения в реальном времени с помощью клавиатуры
 E.сбор информации 116.COM – это:
A. программные компоненты   
B. коммерческий сервер
C. коммутатор
D. среда объектно-ориентированного программирования
 E. всё выше перечисленное 117.Информация как объект воздействия представляет собой:
A. данные, записанные на том или ином носителе   
B. совокупность методов и средств целенаправленного изменения каких-либо свойств информации
C. материальное воплощение данных той или иной формы представления
D. материальный объект, определенные состояния или свойства которого могут рассматриваться как представление данных
 E. всё выше перечисленное 118.Состав функциональных подсистем зависит от:
A. предметной области использования информационной системы,  специфики хозяйственной деятельности объекта   
B. предметной области использования информационной системы, технического обеспечения информационной системы
C. правовых норм, регулирующих отношение объектов в системе, специфики хозяйственной деятельности объекта   
D. предметной области использования информационной системы, правовых норм, регулирующих отношение объектов в системе
  E. верно с и д.  119.Структура системы – это:
A. совокупность элементов и связей между ними   
B. совокупность подсистем
C. описание системы, отображающее определенную группу ее свойств
D. порядок системы
 E. всё выше перечисленное 120.Информационные системы не выполняют функции.
A. организационные   
B. информационно-справочные
C. контрольные
D. расчетные
 E.нет верного ответа
121.Основная функция экономической информационной системы – это:
A. максимальное удовлетворение потребностей клиентов , эффективное управление бизнес-процессами   
B. передача структурированных данных
C. эффективная работа в Интернете
D. передача структурированных данных , эффективная работа в Интернете
 E. максимальное удовлетворение потребностей клиентов 
122.Две службы, предназначенные для хранения информации и обеспечивающие доступ к этой информации:
A.World Wide Web, FTP  
B. ICQ, FTP  
C.E-mail, World Wide Web
D. World Wide Web, ICQ,
 E.E-mail, FTP  123.Информационные системы не выполняют функции
A. организационные    
B. информационно-справочные
C. контрольные
D. расчетные
E.всё выше перечисленные 124.По типам связей с окружением, информационные системы могут быть:
A. открытыми, закрытыми, изолированными    
B. закрытыми и изолированными
C. приспособляемыми
D. открытыми и изолированными
E. всё выше перечисленные 125.Каждая поисковая система включает в себя:
A. специальный язык запросов    
B. обязательный минимум вводимых данных
C. специальный файл для поиска
D. обязательный аргумент для поиска
 E. обязательный аргумент для поиска и специальный язык запросов    
126.World Wide Web – это
A. система взаимосвязанных документов, которые помещены в сеть Internet    
B. специальный язык описания документов
C. всемирная компьютерная сеть
D. программа, которая позволяет работать с системой
E. любой фрагмент страницы
127.Документы, действительно соответствующие потребности пользователя, называются:
A. пертинентными 
B. релевантными
C. нужными
D. поисковыми
 E. нужными и релевантными  128.Географическая информационная система предназначена для:
A. сбора, хранения, обработки, доступа, отображения и распространения пространственно-координированных данных    
B. хранения неформализованных документов
C. обработки данных по сложным алгоритмам
D. выполнения функций управления на предприятии
 E. выполнения функций управления на предприятии и обработки данных по сложным алгоритмам
129.Совокупность данных, воспринимаемых от окружающей среды, – это информация
A. входная   
B. основная
C. выходная
D. промежуточная
 E. промежуточная и входная     130.Структура информационной системы – это:
A. совокупность связей и отношений между частями целого, необходимые для достижения цели    
B. алгоритмы обработки данных
C. взаимоотношения с внешней средой
D. правовые нормы, регулирующие отношение объектов в системе
 E. правовые нормы, регулирующие отношение объектов в системе и алгоритмы обработки данных  131.В автоматических ИС:
A. автоматизация является полной, то есть вмешательство персонала не требуется или требуется только эпизодически    
B. данные подвергаются обработке по сложным алгоритмам
C. выполняются функции управления на предприятии
D. автоматизация может быть неполной (то есть требуется постоянное вмешательство персонала)
 E. данные подвергаются обработке по сложным алгоритмам и выполняются функции управления на предприятии
132.Фундаментальными функциями автоматизированных информационных систем являются:
A. хранение и поиск информации   
B. обработка и накопление информации
C. создание и апробация новых программ
D. использование все видов имеющихся баз данных
  E. использование все видов имеющихся баз данных и обработка, накопление информации  133.Свойство управляемости информационной системы – это:
A. возможность управления структурой и потоком данных информационной системы  
B. возможность управления сбором входных данных информационной системы
C. безукоризненные технологии развертывания, обслуживания и контроля информационной системы
D. возможность управления операционной системой
E.всё выше перечисленное 134.Системы Деловые Бумаги позволяют:
A. значительно упростить ведение делопроизводства на любом предприятии     
B. обеспечить предприятия необходимой документацией
C. систематизировать ведение делопроизводства на предприятии
D. решить проблему нехватки делопроизводителей в организациях
E. всё выше перечисленное 135.Результаты поиска показаны в порядке релевантности, это значит:
A. сортировка найденных данных по степени соответствия запросу  
B. сортировка найденных данных по алфавиту
C. сортировка по смысловой значимости данных
D. сортировка найденных данных по популярности
E. сортировка найденных данных по дате индексации в базе
136.Систему, способную изменять свое состояние или окружающую ее среду, называют:
A. адаптивной  
B. изолированной
C. открытой
D. закрытой
E. изолированной и открытой
137.Компьютерная система  это
A. аппаратно-программные средства, носители данных, данные и персонал  
B. компьютер и программные приложения
C. автоматизированные рабочие места, объединенные в сеть
D. система компьютерной обработки данных
E. аппаратно-программные средства, средства обеспечения защиты программ и данных
138.Особенность финансовой информации в том, что одни и те же данные (например ход торгов на какой либо бирже) передаются одновременно большому количеству потребителей, поэтому финансовые ИС основаны на принципе передачи информации:
A. широковещательной 
B. частичной
C. пакетной
D. узкополосной
E.широкополосной
139.Комплекс аппаратных и программных средств, позволяющих компьютерам обмениваться данными
A. компьютерная сеть;
B. интерфейс;
C. магистраль;
D. адаптеры. 
E. все перечисленные
140.Группа компьютеров, связанных каналами передачи информации и находящихся в пределах территории, ограниченной небольшими размерами: комнаты, здания, предприятия, называется:
A. локальной компьютерной сетью;
B.глобальной компьютерной сетью;
C.информационной системой с гиперсвязями;
D.электронной почтой;
E.региональной компьютерной сетью
141.Глобальная компьютерная сеть - это:
A. совокупность локальных сетей и компьютеров, расположенных на больших расстояниях и соединенные в единую систему.
B.информационная система с гиперсвязями;
C.множество компьютеров, связанных каналами передачи информации и находящихся в пределах одного помещения, здания;
D.система обмена информацией на определенную тему;
E.все перечисленное
142.Обмен информацией между компьютерными сетями, в которых действуют разные стандарты представления информации (сетевые протоколы), осуществляется с использованием:
A. шлюзов;
B.магистралей;
C.хост-компьютеров;
D.электронной почты;
E.файл-серверов.
143.Конфигурация (топология) локальной компьютерной сети, в которой все рабочие станции соединены непосредственно с сервером, называется:
A. радиальной;
B.кольцевой;
C.шинной;
D.древовидной;
E.радиально-кольцевой.
144.Для хранения файлов, предназначенных для общего доступа пользователей сети, используется:
A. файл-сервер;
B.рабочая станция;
C.клиент-сервер;
D.коммутатор.
E.все перечисленные
145.Сетевой протокол- это:
A. набор соглашений о взаимодействиях в компьютерной сети;
B.последовательная запись событий, происходящих в компьютерной сети;
C.правила интерпретации данных, передаваемых по сети;
D.правила установления связи между двумя компьютерами в сети;
E.согласование различных процессов во времени.
146.Транспортный протокол (TCP) - обеспечивает:
A. разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения;
B.прием, передачу и выдачу одного сеанса связи;
C.предоставление в распоряжение пользователя уже переработанную информацию;
D.доставку информации от компьютера-отправителя к компьютеру-получателю.
E.все перечисленные
147.Протокол маршрутизации (IP) обеспечивает:
A. доставку информации от компьютера-отправителя к компьютеру-получателю;
B.интерпретацию данных  и подготовку их для пользовательского уровня;
C.сохранение механических, функциональных параметров физической связи в компьютерной сети; 
D.управление аппаратурой передачи данных и каналов связи.
E.разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.
148.Компьютер, подключенный к Интернет, обязательно имеет:
A. IP-адрес;
B.web-страницу;
C.домашнюю web-страницу;
D.доменное имя;
E.URL-адрес.
149.Почтовый ящик абонента электронной почты представляет собой:
область на жестком диске почтового сервера, отведенную для пользователя;
некоторую область оперативной памяти файл-сервера;
часть памяти на жестком диске рабочей станции;
специальное электронное устройство для хранения текстовый файлов.
Все перечисленные
150.Web-страницы имеют расширение:
*.htm;
*.txt;
*.web;
*.exe;
*.www
151.HTML ( TEXT MARKUP LANGUAGE) является:
язык разметки web-страниц;
системой программирования;
текстовым редактором;
системой управления базами данных;
экспертной системой.
152.Компьютер предоставляющий свои ресурсы в пользование другим компьютерам при совместной работе, называется:
сервером;
адаптером;
коммутатором;
станцией;
клиент-сервером.
153.К периферийным устройствам относятся:
устройства ввода и вывода информации
только устройства ввода информации;
только устройства вывода информации;
только устройства обработки информации.
все перечисленные
154.Все современные периферийные устройства соответствуют стандарту:
Plug and Play
Drag and Drop
C.Технологии OLE
D.  ничего из выше перечисленного.
E. выше перечисленное
155.Драйверы – это:
A. регулирующие программы;
B.управляющие программы;
C.управляющие устройства;
D. управляющие программы и управляющие устройства;
E.все выше перечисленное
156.Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
последовательность знаков некоторого алфавита;
сообщение, передаваемое в форме знаков или сигналов;
сообщение, уменьшающее неопределённость;
Е.все выше перечисленное
157.Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной
своевременной
158.Известно, что наибольший объём информации человек получает при помощи:
органов зрения;
органов слуха;
органов осязания;
органов обоняния.
Е. все выше перечисленное
159.По форме представления информацию можно условно разделить на следующие виды:
текстовую, числовую, символьную, графическую, табличную;
социальную, политическую, экономическую, техническую, религиозную и пр.
математическую, биологическую, медицинскую, психологическую;
визуальную, звуковую, тактильную, обонятельную, вкусовую.
Е. все выше перечисленное
160.В теории информации под информацией понимают:
сведения, уменьшающие неопределённость;
сигналы от органов чувств человека;
сведения, обладающие новизной;
характеристику объекта, выраженную в числовых величинах.
все выше перечисленное
161.Примером информационных процессов могут служить:
процессы получения, поиска, хранения, передачи, обработки и использования информации;
процессы строительства зданий;
процессы химической и механической очистки воды;
процессы извлечения полезных ископаемых из недр Земли.
все выше перечисленное
162.Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
последовательность знаков некоторого алфавита;
сообщение, передаваемое в форме знаков или сигналов;
сообщение, уменьшающее неопределённость;
все выше перечисленное
163.Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной.
все выше перечисленное
164.По форме представления информацию можно условно разделить на следующие виды:
текстовую, числовую, символьную, графическую, табличную;
социальную, политическую, экономическую, техническую, религиозную и пр.
математическую, биологическую, медицинскую, психологическую;
визуальную, звуковую, тактильную, обонятельную, вкусовую.
все выше перечисленное
165.Что из ниже перечисленного можно отнести к средствам хранения звуковой информации:
кассета с классической музыкой. 
учебник по истории;
вывеска с названием магазина;
журнал;
все выше перечисленное
166.В теории информации под информацией понимают:
сведения, уменьшающие неопределённость;
сигналы от органов чувств человека;
сведения, обладающие новизной;
характеристику объекта, выраженную в числовых величинах.
все перечисленное
167.Примером информационных процессов могут служить:
процессы получения, поиска, хранения, передачи, обработки и использования информации;
процессы строительства зданий;
процессы химической и механической очистки воды;
процессы извлечения полезных ископаемых из недр Земли.
все перечисленное
168.Операционная система относится к
к системному программному обеспечению
к программам – оболочкам
к прикладному программному обеспечению
приложениям
все перечисленное
169.Для организации доступа к файлам операционная система должна иметь сведения
о номерах кластера, где размещается каждый файл
об объёме диска
о содержании файла
о количестве файлов на диске
все перечисленное
170.Где хранится выполняемая в данный момент программа и обрабатываемые данные
в оперативной памяти
во внешней памяти
в процессоре
на устройстве вывода
Все перечисленные
171.Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленное
172.Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленное
173.Операционная система это:
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
техническая документация компьютера
совокупность устройств и программ общего пользования
совокупность основных устройств компьютера
все перечисленные
174.Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
зависание
отключение принтера
зацикливание
отключение монитора
завирусованность
175.В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
все перечисленное
176.Приложение - это
устройства, с помощью которых пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
программа, с помощью которой пользователь решает свои прикладные задачи
все перечисленное
177.Приложение функционирует под управлением
пользователя
оперативной памяти
процессора
операционной системы
все перечисленное
178.К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
все перечисленное
179.Имя файла состоит из двух частей:
имени и расширения
адреса первого сектора и объёма файла
области хранения файлов и каталога
имени и адреса первого сектора
все перечисленное
180.Приложение функционирует под управлением
операционной системы
оперативной памяти
процессора
пользователя
все перечисленное
181.Одноуровневая файловая система
когда каталог диска представляет собой линейную последовательность имён файлов и соответствующих начальных секторов
каталог диска представляет собой иерархическую последовательность имён файлов
представляет собой систему вложенных папок
каталог диска представляет собой геометрическую последовательность имён файлов
все перечисленное
182.Путь к файлу
начинается с логического имени диска, затем записывается последовательность имён вложенных друг в друга папок, в последней из которых находится нужный файл
начинается с логического имени диска, затем записывается нужный файл , затем последовательность имён вложенных друг в друга папок
начинается с последовательности имён вложенных друг в друга папок, в последней из которых находится нужный файл, затем записывается логическое имя диска,
начинается с последней папки, в которой находится нужный файл, затем записывается логическое имя диска
все перечисленное
183.Под расширение отводится
5 символов
4 символа
2 символа
3 символа
8 символов
184.Операционная система относится к
к прикладному программному обеспечению
к программам – оболочкам
системному программному обеспечению
приложениям
офисному программному обеспечению
185.Для организации доступа к файлам операционная система должна иметь сведения
об объёме диска
о номерах кластера, где размещается каждый файл
о содержании файла
о количестве файлов на диске
все выше перечисленное
186.В процессе форматирования диск разбивается на две области:
имя и расширение
область хранения и каталог
оперативную и кэш-память
сектора и дорожки
все выше перечисленное
187.Где хранится выполняемая в данный момент программа и обрабатываемые данные
в процессоре
во внешней памяти
в оперативной памяти
на устройстве вывода
все перечисленное
188.Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленное
189.Операционная система это:
совокупность основных устройств компьютера
техническая документация компьютера
совокупность устройств и программ общего пользования
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
все перечисленное
190.Имя логического диска обозначается
латинскими буквами
цифрами
буквами и цифрами
русскими буквами
все перечисленные
191.Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
отключение монитора
отключение принтера
зацикливание
зависание
все перечисленное
192. В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
все перечисленное
193.Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленное
194.Приложение - это
программа, с помощью которой пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
устройства, с помощью которых пользователь решает свои прикладные задачи
все перечисленное
195. К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
все перечисленное
196.Комплекс аппаратных и программных средств, позволяющих компьютерам обмениваться данными:
компьютерная сеть;
интерфейс;
магистраль;
адаптеры. 
все перечисленное
197.Группа компьютеров, связанных каналами передачи информации и находящихся в пределах территории, ограниченной небольшими размерами: комнаты, здания, предприятия, называется:
локальной компьютерной сетью;
глобальной компьютерной сетью;
информационной системой с гиперсвязями;
электронной почтой;
региональной компьютерной сетью
198.Глобальная компьютерная сеть - это:
совокупность локальных сетей и компьютеров, расположенных на больших расстояниях и соединенные в единую систему.
информационная система с гиперсвязями;
множество компьютеров, связанных каналами передачи информации и находящихся в пределах одного помещения, здания;
система обмена информацией на определенную тему;
все перечисленное
199.Обмен информацией между компьютерными сетями, в которых действуют разные стандарты представления информации (сетевые протоколы), осуществляется с использованием:
шлюзов;
магистралей;
хост-компьютеров;
электронной почты;
файл-серверов.
200.Конфигурация (топология) локальной компьютерной сети, в которой все рабочие станции соединены непосредственно с сервером, называется:
радиальной;
кольцевой;
шинной;
древовидной;
радиально-кольцевой.
201.Для хранения файлов, предназначенных для общего доступа пользователей сети, используется:
файл-сервер;
рабочая станция;
клиент-сервер;
коммутатор.
все перечисленное
202.Сетевой протокол- это:
набор соглашений о взаимодействиях в компьютерной сети;
последовательная запись событий, происходящих в компьютерной сети;
правила интерпретации данных, передаваемых по сети;
правила установления связи между двумя компьютерами в сети;
согласование различных процессов во времени.
203.Транспортный протокол (TCP) - обеспечивает:
разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения;
прием, передачу и выдачу одного сеанса связи;
предоставление в распоряжение пользователя уже переработанную информацию;
доставку информации от компьютера-отправителя к компьютеру-получателю.
все перечисленное
204.Протокол маршрутизации (IP) обеспечивает:
доставку информации от компьютера-отправителя к компьютеру-получателю;
интерпретацию данных  и подготовку их для пользовательского уровня;
сохранение механических, функциональных параметров физической связи в компьютерной сети; 
управление аппаратурой передачи данных и каналов связи.
разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.
205.Компьютер, подключенный к Интернет, обязательно имеет:
IP-адрес;
web-страницу;
домашнюю web-страницу;
доменное имя;
URL-адрес.
206.Почтовый ящик абонента электронной почты представляет собой:
область на жестком диске почтового сервера, отведенную для пользователя;
некоторую область оперативной памяти файл-сервера;
часть памяти на жестком диске рабочей станции;
специальное электронное устройство для хранения текстовый файлов.
Все перечисленные
207.Web-страницы имеют расширение:
*.htm;
*.txt;
*.web;
*.exe;
*.www
208.HTML ( TEXT MARKUP LANGUAGE) является:
язык разметки web-страниц;
системой программирования;
текстовым редактором;
системой управления базами данных;
экспертной системой.
209.Компьютер предоставляющий свои ресурсы в пользование другим компьютерам при совместной работе, называется:
сервером;
адаптером;
коммутатором;
станцией;
клиент-сервером.
210.К периферийным устройствам относятся:
Устройства ввода и вывода информации
Только устройства ввода информации;
Только устройства вывода информации;
Только устройства обработки информации.
Все перечисленные
211.Все современные периферийные устройства соответствуют стандарту:
Plug and Play
Drag and Drop
Технологии OLE
 Ничего из вышеперечисленного.
Все перечисленные
212.Драйверы – это:
A. Регулирующие программы;
B.Управляющие программы;
C.Управляющие устройства;
D.Ничего из вышеперечисленного.
E.Все перечисленные
213.Все современные периферийные устройства соответствуют стандарту:
Plug and Play
Drag and Drop
Технологии OLE
 Ничего из вышеперечисленного.
Все перечисленные
214.Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
A.Сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
B.последовательность знаков некоторого алфавита;
C.сообщение, передаваемое в форме знаков или сигналов;
D.сообщение, уменьшающее неопределённость;
E.все перечисленные
215.Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной.
все перечисленные
216.Известно, что наибольший объём информации человек получает при помощи:
органов зрения;
органов слуха;
органов осязания;
органов обоняния.
все перечисленные
217.По форме представления информацию можно условно разделить на следующие виды:
текстовую, числовую, символьную, графическую, табличную;
социальную, политическую, экономическую, техническую, религиозную ипр.
математическую, биологическую, медицинскую, психологическую;
мизуальную, звуковую, тактильную, обонятельную, вкусовую.
все перечисленное
218.В теории информации под информацией понимают:
сведения, уменьшающие неопределённость;
сигналы от органов чувств человека;
сведения, обладающие новизной;
характеристику объекта, выраженную в числовых величинах.
все перечисленное
219.Примером информационных процессов могут служить:
процессы получения, поиска, хранения, передачи, обработки и использования информации;
процессы строительства зданий;
процессы химической и механической очистки воды;
процессы извлечения полезных ископаемых из недр Земли.
все перечисленное
220.Какое из нижеприведённых утверждений ближе всего раскрывает смысл понятия «информация, используемая в бытовом общении»:
сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
последовательность знаков некоторого алфавита;
сообщение, передаваемое в форме знаков или сигналов;
сообщение, уменьшающее неопределённость;
все перечисленное
221.Информацию, отражающую истинное положение дел, называют:
достоверной;
понятной;
объективной;
полной.
все перечисленное
222.По форме представления информацию можно условно разделить на следующие виды:
текстовую, числовую, символьную, графическую, табличную;
социальную, политическую, экономическую, техническую, религиозную и пр.
математическую, биологическую, медицинскую, психологическую;
визуальную, звуковую, тактильную, обонятельную, вкусовую.
все перечисленное
223.Что из ниже перечисленного можно отнести к средствам хранения звуковой информации:
кассета с классической музыкой. 
учебник по истории;
вывеска с названием магазина;
журнал;
все перечисленное
224.В теории информации под информацией понимают:
сведения, уменьшающие неопределённость;
сигналы от органов чувств человека;
сведения, обладающие новизной;
характеристику объекта, выраженную в числовых величинах.
все перечисленное
225.Примером информационных процессов могут служить:
процессы получения, поиска, хранения, передачи, обработки и использования информации;
процессы строительства зданий;
процессы химической и механической очистки воды;
процессы извлечения полезных ископаемых из недр Земли.
все перечисленное
226.операционная система относится к
к системному программному обеспечению
к программам – оболочкам
к прикладному программному обеспечению
приложениям
Все перечисленные

227.Для организации доступа к файлам операционная система должна иметь сведения
о номерах кластера, где размещается каждый файл
об объёме диска
о содержании файла
о количестве файлов на диске
все перечисленное
228.Где хранится выполняемая в данный момент программа и обрабатываемые данные
в оперативной памяти
во внешней памяти
в процессоре
на устройстве вывода
Все перечисленные
229.Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленное
230.Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленное
231.Операционная система это:
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
техническая документация компьютера
совокупность устройств и программ общего пользования
совокупность основных устройств компьютера
все перечисленное
232.Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
зависание
отключение принтера
зацикливание
отключение монитора
Все перечисленные
233.В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
все перечисленное
234.Приложение - это
устройства, с помощью которых пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
программа, с помощью которой пользователь решает свои прикладные задачи
все перечисленное
235.Приложение функционирует под управлением
пользователя
оперативной памяти
процессора
операционной системы
все перечисленное
236.К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
все перечисленное
237.Имя файла состоит из двух частей:
имени и расширения
адреса первого сектора и объёма файла
области хранения файлов и каталога
имени и адреса первого сектора
все перечисленное
238.Приложение функционирует под управлением
операционной системы
оперативной памяти
процессора
Пользователя
все перечисленное
239.Одноуровневая файловая система
когда каталог диска представляет собой линейную последовательность имён файлов и соответствующих начальных секторов
каталог диска представляет собой иерархическую последовательность имён файлов
представляет собой систему вложенных папок
каталог диска представляет собой геометрическую последовательность имён файлов
все перечисленное
240.Путь к файлу
начинается с логического имени диска, затем записывается последовательность имён вложенных друг в друга папок, в последней из которых находится нужный файл
начинается с логического имени диска, затем записывается нужный файл , затем последовательность имён вложенных друг в друга папок
начинается с последовательности имён вложенных друг в друга папок, в последней из которых находится нужный файл, затем записывается логическое имя диска,
начинается с последней папки, в которой находится нужный файл, затем записывается логическое имя диска
все перечисленное
241.Под расширение отводится
5 символов
4 символа
2 символа
3 символа
8 символов
242.Операционная система относится к
к прикладному программному обеспечению
к программам – оболочкам
к системному программному обеспечению
приложениям
все перечисленное
243.Для организации доступа к файлам операционная система должна иметь сведения о
об объёме диска
о номерах кластера, где размещается каждый файл
о содержании файла
о количестве файлов на диске
все перечисленное
244.В процессе форматирования диск разбивается на две области:
имя и расширение
область хранения и каталог
оперативную и кэш-память
сектора и дорожки
все перечисленное
245.Где хранится выполняемая в данный момент программа и обрабатываемые данные
в процессоре
во внешней памяти
в оперативной памяти
на устройстве вывода
все перечисленное
246.Начальная загрузка операционной системы осуществляется
при включении компьютера
клавишами ALT+DEL
клавишами CTRL+DEL
клавишей DEL
все перечисленное
247.Операционная система это:
совокупность основных устройств компьютера
техническая документация компьютера
совокупность устройств и программ общего пользования
комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем
все перечисленное
248.Имя логического диска обозначается
латинскими буквами
цифрами
буквами и цифрами
русскими буквами
все перечисленное
249.Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. - это ..
отключение монитора
отключение принтера
зацикливание
Зависание
все перечисленное
250.В процессе загрузки операционной системы происходит:
копирование содержимого оперативной памяти на жёсткий диск.
копирование файлов операционной системы с гибкого диска на жёсткий диск
копирование файлов операционной системы с CD – диска на жёсткий диск
последовательная загрузка файлов операционной системы в оперативную память
все перечисленное
251.Каталогом называется место на диске имя и содержащее
информацию о файлах (имя, расширение, дата последнего обновления)
Список программ, составленных пользователем
файлы и другие каталоги
только определённые файлы
все перечисленное
252.Приложение - это
программа, с помощью которой пользователь решает свои прикладные задачи
пользователь, который решает свои прикладные задачи
программа, с помощью которой операционная система решает свои прикладные задачи
устройства, с помощью которых пользователь решает свои прикладные задачи
все перечисленное
253.К приложения общего назначения не относятся:
звуковые редакторы
графические редакторы
пользовательские редакторы
текстовые редакторы
все перечисленное
254. По реализации интерфейса пользователя различают
A.неграфические и графические
B.векторные и точечные
C.последовательные и параллельные
D.однопользовательские и многопользовательские
E. все выше перечисленное
255.Неграфические операционные системы реализуют
A.интерфейс командной строки
B.интерфейс пользователя
C.аппаратный интерфейс
D. векторный интерфейс
E. все выше перечисленное
256. Основным устройством управления в неграфическом интерфейсе является
A.клавиатура
B.монитор
C.мышь
D.вариант b. и c.
E.нет верного ответа
257. Для компьютеров платформы IBM PC интерфейс командной строки обеспечивается семейством операционной системы под общим названием .
A.MS-DOS
B.Windows
C.Unix
D.вариант a и b
E. нет верного ответа
258. появляется тогда, когда видеосистема может работать в графическом режиме, т.е. выводить на экран монитора информацию поточечно.
A.графический интерфейс
B.неграфический интерфейс
C.командной строки интерфейс
D.пользовательский интерфейс
E. вариант a и b
259. Ярким примером графического пользовательского интерфейса служит интерфейс
A.Windows
B.MS-DOS
C.Unix
D.Norton Commander
E. вариант c и d
260. Внутримашинный системный интерфейс -
A.система связи и сопряжения узлов и блоков ЭВМ между собой(представляет собой совокупность электрических линий связи (проводов), схем сопряжения с компонентами компьютера, протоколов (алгоритмов) передачи и преобразования сигналов)
B.взаимосвязанная совокупность средств, методов и персонала, используемая для сохранения, обработки и выдачи информации с целью решения конкретной задачи.
C.методы и средства взаимодействия человека с аппаратными и программными средствами
D.техническая наука, которая систематизирует приемы создания, сохранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ними.
E. вариант c и d
261. Сколько вариантов организации внутримашинного интерфейса существует?
A.2
B.3
C.4
D.5
E.8
262. Многосвязный интерфейс:
A.каждый блок связан с прочими блоками своими локальными проводами
B.комплекс программных средств, организующих управлений работой компьютера и его взаимодействия с пользователем.
C.это блок ЭВМ, предназначенный для временного (оперативная память) и продолжительного (постоянная память) хранения программ, входных и результирующих данных, а также промежуточных результатов
D.обеспечивает автоматизацию процесса вычислений на ЭВМ.
E. вариант c и d
263. Пункт меню «Окно» предназначен для:
A.работы с несколькими документами
B.сохранения стиля документа..
C.работы с несколькими документами
D.сохранения вида документа
E.установки рамок вокруг текста.
264. Протокол -
A.это совокупность технических условий, которые должны быть обеспечены разработчиками устройств для успешного согласования их работы с другими устройствами
B.это совокупность сведений (данных), которая воспринимается из окружающей среды (входная информация), выдается в окружающую среду (исходная информация) или сохраняется внутри определенной системы
C.это способ освоения человеком материального мира с помощью социально организованной деятельности
D. совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации
E. нет верного ответа
265.Односвязанный интерфейс:
A.все блоки ПК связаны друг с другом через общую или системную шину
B.совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации
C.это способ освоения человеком материального мира с помощью социально организованной деятельности
D.каждый блок связан с прочими блоками своими локальными проводами
E. все выше перечисленное
266.В подавляющем большинстве современных ПК в качестве системного интерфейса используется
A.системная шина
B.адресная шина
C.шина данных
D.локальные шины
E. вариант c и d
267. Какими характеристиками, из ниже перечисленных, обладает системная шина?
A.все предложенные
B.разрядностью
C.тактовой частотой
D.пропускная способность
E. нет верного ответа
268. В качестве системной шины в разных ПК использовались и могут использоваться
A. вариант b и c.
B. локальные шины
C.шины расширений
D. шины данных.
E. нет верного ответа
269. Шины расширений -
A.шины общего назначения, позволяющие подключать большое число самых разнообразных устройств
B. специализирующиеся на обслуживании небольшого количества устройств определенного класса
C. это способ освоения человеком материального мира с помощью социально организованной деятельности
D. набор проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера;
E. нет верного ответа
270. EISA (Extended ISA).
A.пропускная способность возросла до 32 Мбайт/с. этот стандарт исчерпал свои возможности и в будущем выпуск плат,которые поддерживают эти интерфейсы прекратится.
B.разрешает связать между собой все устройства системного блока, а также обеспечивает простое подключение новых устройств через стандартные слоты.
C.пропускная способность составляет до 5,5 Мбайт/с;может использоваться лишь для подсоединения внешних устройств, которые не требуют большей пропускной способности (звуковые карты, модемы и т.д.).
D.локальная шина соединяет процессор с оперативной памятью в обход основной шины;работает на большей частоте, чем основная шина, и позволяет увеличить скорость передачи данных; позже, в локальную шину "врезали" интерфейс для подключения видеоадаптера, который требует повышенной пропускной способности
E.специальный шинный интерфейс для подключения видеоадаптеров.












13PAGE 15






13PAGE 15





13PAGE 1410015
Лекция 8





Журнал
заказов
1,2,3,7,14

9



Текущий
заказ
20,22,23,24

Список
товаров
15,16,17,18,19,21,

Список клиентов
8,9,10,11,12

Карта клиента
13

Карта
товара


Пользователь

1,4

7

22

10,11

13

18

12

5

6

21

14

19

Рисунок 1 – Схема навигации

М1

М1

М1

М1

М1

М1

М1

М1

7

9

57

12

14

199

6

21

10,11

10,11

139

139

189

189

1,4

22

Рисунок 2 – Граф состояний меню




















Рисунок 1

Приложенные файлы

  • doc 17848964
    Размер файла: 3 MB Загрузок: 0

Добавить комментарий