- •Семестр 9 р1. Принципы построения пользовательского интерфейса в приложениях систем управления р1: Лекция №1. Обобщенная архитектура прикладной составляющей программного обеспечения систем управления
- •Жизненный цикл изделия и программные средства его поддержки
- •Обобщенная архитектура систем управления электроавтоматикой
- •Характеристики современного процесса разработки прикладной составляющей электроавтоматики
- •Вопросы:
- •Р1: Лекция №2. Базовые элементы платформы приложений су для построения интерфейса пользователя
- •Компоненты каркаса
- •Компоненты конфигурирования
- •Компоненты средств интерфейса пользователя
- •Конфигурирование компонентов в составе системы
- •Вопросы
- •Р1: Лекция №3. Принципы классификации прикладных компонентов систем управления
- •Виртуальная структура прикладной области
- •Матрица компонентов
- •Анализ и систематизация набора прикладных компонентов с применением матрицы
- •Определение минимально необходимого набора прикладных компонентов системы
- •Вопросы
- •Семестр 9 р2. Технологии .Net в разработке приложений систем управления р2: Лекция №4. Основные понятия платформы .Net
- •Строительные блоки .Net (clr, cts, cls)
- •Преимущества с#
- •Промежуточный язык msil
- •Работа с пространствами имен
- •Память в приложениях .Net
- •Проверка наличия утечек
- •Получение дополнительной информации о пространстве имен и типах сборки
- •Вопросы
- •Р2: Лекция №5. Принципы взаимодействия .Net с разработанным кодом
- •Преобразование исходных кодов в новый формат языков .Net
- •Использование двоичных компонентов для организации взаимодействия с компонентами .Net
- •Вопросы
- •Р2: Лекция №6. Инструментарий процесса разработки
- •P2: Лекция №6. Инструменты отладки приложений в .Net Framework 2.0 и выше Утилиты
- •Загрузка расширения отладки sos
- •Примеры:
- •Базовые различия
- •Сборка мусора в .Net Framework
- •Причины смешивания управляемого и неуправляемого кодов
- •Концепция CoDeSys
- •Окно приложения Сodesys:
- •P3. Лекция № 9. Возможности CoDeSys как открытой системы
- •Архитектура приложений современных систем управления
- •Выявление открытых интерфейсов среды
- •Встраивание сцены трёхмерного моделирования объекта управления
- •P3. Лекция № 10. Взаимодействие с аппаратными средствами платформы CoDeSys
- •Основные характеристики и назначение
- •Построения средств диагностики и управления устройствами электроавтоматики на базе opc технологии
- •Особенности механизмов работы opc серверов
- •Реализация интерфейсов opc в сервере
- •Реализация opc компонентов диагностики для контроллеров CoDeSys sp
- •Вопросы
- •Семестр 9 р4. Тестирование приложений систем управления через интерфейс оператора p4. Лекция № 11. Базовые понятия процесса тестирования
- •Жизненный цикл разработки программного обеспечения
- •Модели жизненного цикла
- •Каскадный жизненный цикл
- •Спиральный жизненный цикл
- •Экстремальное программирование
- •Тестирование, верификация и валидация - различия в понятиях
- •Задачи и цели процесса верификации
- •P4. Лекция № 12. Использование пакетов автоматизации тестирования
- •Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса
- •1) Ручное тестирование
- •2) Сценарии на формальных языках
- •Тестирование удобства использования пользовательских интерфейсов.
- •Принцип использования коммерческих приложений для тестирования пользовательского интерфейса
- •Обзор Quickt Test. Основные понятия
- •Использование Actions, Iterations
- •Использование объекта DataTable и параметризация
- •Распознавание объектов в qtp и уникальность их свойств
- •P4. Лекция № 13 Модульное тестирование
- •Цели и задачи и модульного тестирования
- •Понятие модуля и его границ. Тестирование классов
- •Подходы к проектированию тестового окружения
- •P4. Лекция № 14. Возможности uiAutomation
- •Начальное представление
- •Представление элемента управления
- •Представление содержимого
- •Шаблоны элементов управления uia
Примеры:
Следующая команда отображает содержимое массива по адресу 00ad28d0. Выводятся данные для пяти элементов массива, начиная со второго.
!dumparray -start 2 -length 5 -detail 00ad28d0
Следующая команда отображает содержимое сборки по адресу 1ca248.
!dumpassembly 1ca248
Следующая команда отображает информацию о куче сборщика мусора.
!dumpheap
Следующая команда записывает содержимое журнала нагрузок в памяти в файл Stresslog.txt, расположенный в текущем каталоге.
!DumpLog
Следующая команда отображает информацию об объекте по адресу a79d40.
!DumpObj a79d40
ADPlus
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 из сборки, загруженной в рефлектор, думаю переоценить насколько это полезно очень сложно.

Рис. 22 Применение средства дизассемблирования .Net Reflector
Другой полезный плагин генерирует граф зависимостей между сборками

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