- •Семестр 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
Проверка наличия утечек
Существует ряд признаков, по которым можно установить наличие утечек памяти в приложении. Одним из них является выдача исключения OutOfMemoryException (недостаточно памяти). Другой признак — это существенное замедление отклика из-за того, что происходит обмен с файлом подкачки (виртуальной памятью), расположенным на диске. Еще один признак — медленное (или не очень медленное) увеличение значения объема используемой памяти, которое можно посмотреть в диспетчере задач. Если появляются подозрения, что в приложении есть утечка памяти, то нужно прежде всего определить тип памяти, в котором эта утечка имеет место. Это позволит определить область памяти, на которой нужно сосредоточить внимание и усилия при отладке. Рекомендуется использовать монитор производительности (perfmon.exe - Рис. 17) и просматривать там следующие счетчики: Private Bytes (Байт исключительного пользования) в категории Process (Процесс), # Bytes in All Heaps (Байт во всех кучах) в категории .NET CLR Memory (Память CLR .NET) и # of current logical Threads (Текущих логических потоков) в категории .NET CLR LocksAndThreads (Блокировки и потоки CLR .NET).
Счетчик Private Bytes из категории Process указывает объем памяти, выделенной исключительно для данного процесса; эта память не может использоваться другими процессами системы.
Счетчик # Bytes in All Heaps из категории .NET CLR Memory указывает общий суммарный объем памяти, занятой поколениями Gen0, Gen1 и Gen2 и кучей больших объектов.
Счетчик # of current logical Threads из категории .NET CLR LocksAndThreads указывает число логических потоков в AppDomain. Если число логических потоков неожиданно возрастает, то это значит, что в стеках потоков имеются утечки памяти.
Если возрастает значение счетчика Private Bytes и при этом значение счетчика # Bytes in All Heaps остается неизменным, то это значит, что имеются утечки в неуправляемой памяти. Если возрастают значения обоих счетчиков, то это значит, что увеличивается объем памяти в управляемых кучах.

Рис. 17 Монитор производительности
Получение дополнительной информации о пространстве имен и типах сборки
Вы должны уметь находить информацию о нужных вам типах и пространствах имен самостоятельно, инструментов для этой цели много. Вот их краткий перечень:
-
документация .NET SDK (в MSDN);
-
утилита ILDasm.exe;
-
web-приложение ClassView;
-
графическое приложение WinCV;
-
QbjectBrowser, входящий в комплект Visual Studio.NET.
Все эти утилиты поставляются вместе с .NET SDK.
Так же, интерес представляют инструменты дизассемблирования MSIL кода. Которые фактически интерпретируют IL инструкции в читабельный C# код.

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