- •Пояснительная записка
- •«Разработка программного средства эмуляции pos-терминала»
- •Содержание
- •Специальный раздел
- •Технологический раздел
- •Организационно-экономический раздел
- •Раздел по производственной и экологической безопасности
- •Перечень сокращений
- •Введение
- •Специальный раздел
- •1.Специальный раздел
- •1.1.Исследовательская часть
- •1.1.1.Типы программных средств эмуляции
- •1.1.2.Обзор программных средств эмуляции Microsoft Device Emulator и Android Emulator
- •Системные требования Microsoft Device Emulator
- •1.1.3.Эмуляция аппаратных модулей pos-терминала
- •Сравнительная характеристика программных средств эмуляции
- •1.2.Конструкторская часть
- •1.2.1.Состав выполняемых функций
- •1.2.2.Требования к надежности
- •1.2.3.Требования к информационной и программной совместимости
- •1.2.4.Требования к составу и параметрам технических средств
- •1.2.5.Организация входных и выходных данных
- •1.2.6.Выбор платформы для разработки
- •1.2.7.Выбор среды разработки
- •Сравнительная характеристика средств разработки
- •1.2.8.Алгоритмы работы программного средства
- •1.2.9.Иерархия классов прикладной программы пс эт
- •1.2.10.Описание логической структуры программного средства
- •Список создаваемых специальных файлов устройств
- •1.2.11.Пользовательский интерфейс. Экранные формы
- •1.2.12.Методика и результаты испытаний программного средства
- •Технологический раздел
- •2.Технологический раздел
- •2.1.Технология программирования пс эт
- •2.1.1.Основные определения
- •2.1.2.Этапы разработки и использованная модель жизненного цикла
- •2.1.3.Объектно-ориетированный подход
- •2.2.1.Обзор возможностей языка Си
- •2.3.Разработка драйверов в ос Linux
- •2.3.1.Особенности ос Linux
- •2.3.2.Принципы работы драйверов в ос Linux
- •2.3.3.Специальные файлы устройств
- •2.3.4.Структура, инициализация и выгрузка драйверов
- •2.3.5.Отладка драйверов
- •2.4.Сценарии в ос Linux
- •2.4.1.Основы разработки сценариев на языке оболочки bash
- •2.4.2.Переменные и области видимости
- •Стандартные переменные окружения и оболочки bash
- •2.4.3.Средства ввода-вывода
- •2.4.4.Команды ветвления if-else, case
- •2.4.5.Организация циклов
- •2.4.6.Определение функций
- •2.4.7.Отладка сценариев
- •Опции запуска сценариев
- •2.4.8.Makefile – управление компиляцией
- •2.5.Использование библиотек в ос Linux
- •2.5.1.Статические и динамические библиотеки
- •2.5.2.Графическая библиотека fltk
- •Элементы библиотеки fltk
- •2.5.3.Библиотека pcsc для работы с электронными картами
- •2.5.4.Библиотека TinyXml для работы с xml-файлами
- •Основные классы библиотеки TinyXml
- •2.6.Средства отладки в ос Linux
- •2.6.1.Технологии отладки
- •2.6.2.Отладочные сообщения
- •2.6.3.Стандарт syslog
- •2.6.4.Удаленная отладка с помощью gdbserver
- •2.6.5.Отладка в среде SlickEdit 2009
- •2.7.Виды тестирования
- •2.7.1.Классификация видов тестирования
- •2.7.2.Уровни тестирования
- •2.7.3.Тестирование методом «белого» ящика
- •2.7.4.Тестирование методом «черного» ящика
- •Организационно-экономический раздел «Определение целевого сегмента рынка pos-терминалов»
- •3.Организационно-экономический раздел
- •3.1.Сегментация рынка и позиционирование товара
- •3.1.1.Разделение рынка на сегменты
- •3.1.2.Принципы рыночной сегментации
- •3.1.3.Методы выделения сегментов
- •3.1.4.Критерии рыночной сегментации
- •3.1.5.Выбор целевого рынка
- •3.1.6.Выбор целевого сегмента
- •3.1.7.Позиционирование товара
- •3.1.8.Метод Чекановского
- •3.2.Сегментация рынка платежных pos-терминалов
- •3.2.1.Особенности рынка pos-терминалов
- •3.2.2.Выделение групп конечных пользователей
- •3.2.3.Выделение основных характеристик pos-терминала «ярус»
- •3.2.4.Диаграмма Чекановского
- •3.2.5.Выбор целевого сегмента и позиционирование pos-терминала «ярус»
- •Раздел по производственной и экологической безопасности «Инженерный расчет воздухообмена на рабочем месте инженера-программиста»
- •4.Раздел по производственной и экологической безопасности
- •4.1.Введение
- •4.2.Рабочее место инженера-программиста
- •4.2.1.Особенности и характеристики
- •4.2.2.Основные опасности и вредности
- •4.2.3.Оценка тяжести труда
- •Классы условий труда по показателям тяжести трудового процесса
- •4.3.Воздухообмен в помещении
- •4.3.1.Классификация систем вентиляции
- •4.3.2.Инженерный расчет воздухообмена в зависимости от числа людей в помещении
- •4.3.3.Инженерный расчет воздухообмена по избыткам тепла
- •Значения коэффициента Кост
- •Плотность теплового потока солнечной радиации в июле, Вт/м2
- •4.3.4.Выбор вентиляционной системы
- •4.4.Пожарная безопасность
- •4.5.Экологическая безопасность (утилизация компьютеров)
- •Заключение
- •Список литературы
- •Введение
- •Назначение и условия применения пс эт
- •Состав выполняемых функций
- •Требования к надежности
- •Требования к составу и параметрам технических средств
- •Характеристика пс эт
- •Обращение к пс эт
- •Входные и выходные данные пс эт
- •Сообщения
1.2.11.Пользовательский интерфейс. Экранные формы
Весь пользовательский интерфейс выполнен с использованием бесплатной графической библиотеки Fast Light Toolkit [13], структура которой описана в технологическом разделе. Данная библиотека включает в себя набор всех необходимых классов для формирования таких элементов графического интерфейса как окна, кнопки, полосы прокрутки, контейнеры и т.д.
Главная экранная форма прикладной программы ПС ЭТ, открывающаяся при запуске программного средства, изображена на рис. Рис. 1 .11.
Основная клавиатура (рис. Рис. 1 .11-1) терминала включает в себя следующие кнопки:
десять цифровых кнопок;
кнопка включения и выключения питания;
навигационные кнопки «ВВЕРХ» («UP») и «ВНИЗ» («DOWN»);
дополнительные кнопки «.», «+» и «#»;
кнопки «ОТМЕНА» («CANCEL»), «ОЧИСТКА» («CLEAR») и «ПОДТВЕРЖДЕНИЕ» («ENTER»).
Кроме основной клавиатуры имеется шесть дополнительных кнопок (рис. Рис. 1 .11-3 и рис. Рис. 1 .11-5), с помощью которых осуществляется навигация по меню и ввод цифр в шестнадцатиричной системе счисления.
Полоса в правой части экранной формы (рис. Рис. 1 .11-2) отвечает за эмуляцию считывателя магнитной карты. Щелчок правой кнопкой мыши открывает диалог выбора дорожки магнитной карты (рис. Рис. 1 .12). После того как файл дорожки выбран, щелчок левой кнопкой мыши на данной области эмулирует ввод магнитной карты и считывание выбранной дорожки.
Рис. 1.11. Главная экранная форма прикладной программы ПС ЭТ, 1 – эмуляция клавиатуры терминала, 2 – эмуляция считывателя магнитной карты, 3 – эмуляция правой навигационной панели, 4 – эмуляция дисплея, 5 – эмуляция левой навигационной панели, 6 – эмуляция принтера
Эмуляция монохромного жидкокристаллического дисплея осуществляется с помощью специально выделенной области на главной экранной форме (рис. Рис. 1 .11-4).
Область эмуляции термального принтера (рис. Рис. 1 .11-6) представляет собой прокручиваемый графический контейнер.
Рис. 1.12. Диалог выбора дорожки магнитной карты.
Конфигурация считывателя электронных карт и последовательных портов осуществляется через диалог конфигурации (рис. Рис. 1 .13), который можно вызвать через меню «КОНФИГУРАЦИЯ» («CONFIGURATION») на главной экранной форме. Данный диалог конфигурации позволяет осуществлять следующие функции:
Связывание считывателей электронных карт, подключаемых через интерфейс USB со специальными файлами, через которые осуществляется доступ к драйверу электронных карт.
Связывание физических последовательных портов ПК со специальными файлами, через которые осуществляется доступ к драйверу последовательных портов.
Все изменения, сделанные пользователем, сохраняются в конфигурационном файле .zemul/config в домашней директории пользователя в формате XML. Работа с форматом XML осуществляется с помощью бесплатной библиотеки tinyxml.
Рис. 1.13. Диалог конфигурации.
1.2.12.Методика и результаты испытаний программного средства
В соответствии с ГОСТ 19.004-80, под испытанием программного средства понимается установление его соответствия заданным требованиям и программным документам. Испытания ПС ЭТ проводились с целью проверки соответствия требованиям к функциональным характеристикам (п. 4.1 ТЗ) и требованиями к надежности (п. 4.2 ТЗ). Методика испытаний включает в себя следующие компоненты:
запуск тестов программного обеспечения диагностики POS-терминала для подтверждения корректности функционирования следующих эмулируемых аппаратных модулей: звуковое устройство, кадровый буфер, клавиатура, считыватель магнитных карт, считыватель электронных карт, принтер, последовательный порт;
разработка и выполнение тестов для драйвера идентификации оборудования, вывода на дисплей текстовой информации и защищенной памяти;
проверка корректности загрузки и выгрузки эмулируемых аппаратных модулей (в том числе при запущенном программном обеспечении, использующем эти модули).
Список и результаты всех испытаний ПС ЭТ представлены в табл. Таблица 1 .5. Схема алгоритма тестирования ПС ЭТ изображена на рис. Рис. 1 .14.
Рис. 1.14. Схема алгоритма тестирования ПС ЭТ.
Локализация логических ошибок, выявленных в процессе испытаний ПС ЭТ, использовались следующие методы отладки:
пошаговая отладка в среде SlickEdit 2009 с использованием сервера отладки GDB (см. рис. Рис. 1 .15).
вывод отладочных сообщений в буфер ядра Linux при отладке загрузочных модулей;
вывод отладочных сообщений в консоль из прикладной программы ПС ЭТ.
Пользовательский интерфейс ПО диагностики POS-терминала представлен на рис. Рис. 1 .16.
Данное ПО включает в себя следующий набор тестов для диагностики работоспособности аппаратных модулей POS-терминала:
тест звукового устройства;
тест считывателя магнитных карт;
тест сетевых интерфейсов;
тест портов ввода/вывода основного процессора;
тест клавиатуры;
тест буфера кадров (непосредственный вывод данных на экран);
тест бесконтактного считывателя карт;
опрос состояния системы питания и температуры;
тест модема и соединения по протоколу HTTP;
тест генератора случайных чисел;
тест считывателя электронных карт;
тест последовательных портов.
Рис. 1.15. Отладка в среде SlickEdit 2009.
Рис. 1.16. Пользовательский интерфейс ПО диагностики POS-терминала.
Таблица 1.5
Список и результаты испытаний ПС ЭТ
Испытание |
Описание |
Результаты |
Запуск ПС ЭТ |
Выполнение сценария start.sh на языке оболочки bash (см. приложение 1) |
|
Запуск ПО диагностики POS-терминала |
Запуск исполняемого файла ПО диагностики POS-терминала |
Отображение пользовательского интерфейса ПО на экране ПС ЭТ (см. рис. Рис. 1 .16) |
Таблица 1 .5 (продолжение)
Запуск теста звукового устройства |
Включение динамика на каждой частоте в диапазоне от 100 Гц до 4000 Гц и в обратном направлении. |
Тест успешен. |
Запуск теста считывателя магнитных карт |
|
Тест успешен. |
Запуск теста принтера |
|
Тест успешен. |
Запуск теста клавиатуры |
|
|
Таблица 1 .5 (продолжение)
|
выведена надпись "FAILED" и тест продолжит работу;
|
Тест успешен. |
Запуск теста считывателя электронных карт |
|
Тест успешен. |
Запуск теста буфера кадров |
|
Тест успешен. |
Запуск теста последовательного порта |
|
Тест успешен. |
Таблица 1 .5 (продолжение)
|
|
|
Запуск теста вывода на дисплей текстовой информации |
Последовательный вывод ASCII-символов на экран, по 10 символов в строке |
Тест успешен. |
Запуск теста идентификации оборудования |
Считывает тип аппаратуры |
Тип аппаратуры – POS-терминал Тест успешен. |
Запуск теста защищенной памяти |
|
Тест успешен. |
Завершение работы ПС ЭТ |
Выполнение сценария stop.sh на языке оболочки bash (см. приложение 1) |
|
Выводы
В результате проделанной работы:
исследована предметная область и проведено сравнение разрабатываемого программного средства с аналогичными программными средствами, предназначенными для эмуляции мобильных устройств;
определены технические требования, предъявляемые к разрабатываемому программному средству, выбраны средства разработки;
на этапе эскизного проектирования разработана укрупненная схема алгоритма, функциональная схема и схема данных программного средства;
на этапе технического проектирования разработана логическая структура программного средства, подробные схемы алгоритмов прикладной программы и драйверов ПС ЭТ;
в рамках рабочего проекта разработан пользовательский интерфейс, прикладная программа, драйверы, руководство программиста и методика испытаний;
проведена отладка и тестирование программного средства в соответствии с предложенной методикой.