Рисунок 3.8 – Внешний вид отчета Форма принятия заказа
При проектировании блока взаимодействия с базой данных был использован подход, который заключается в следующем. Формируется класс MsSqlDataAdapter, который отвечает за соединение с БД и формирование набора данных. В функциональность класса закладываются такие возможности как формирование результирующей выборки по sql-запросу, а возможности, позволяющие выполнять запуск хранимых процедур на сервере на усмотрение разработчика.
На рисунке 3.9 представлен класс MsSQLDataAdapter.
Рисунок 3.9 – Класс «MsSqlDataAdapter»
Функции CreateConnection() , OpenConnection(), CloseConnection() создают, открывают и закрывают соединение с сервером соответственно. Функции CreateCommand(), CreateParametrizedCommand() предназначены для создания параметризованных и обычных sql-команд. Для параметризованной команды необходимы параметры, которые создаются функциями CreateSqlParameter().
Рисунок 3.10 – Класс «UserGateWay»
Класс UserGateWay содержит специализированные функции. Например, функция GetUser() определяет идентификатор пользователя по логину и паролю, используется для проверки данных о пользователе при попытке авторизации. Функция GetStatusModules() получает список модулей, к которым разрешен доступ для пользователя с определенным статусом. Функция GetUserName() возвращает данные пользователя по его идентификатору. Функция GetPasswordHash() возвращает хэшированную строку пароля.
Полностью избежать ошибок при программировании невозможно, даже профессионалы время от времени допускают ошибки, а так же недоработки системы проявляющиеся во время тестирования, а иногда и эксплуатации.
Тестирование – это проверка работы программ с данными, подобным реальным, которые будут обрабатываться в процессе эксплуатации системы. Процесс тестирования программного обеспечения осуществляется на основе фактических или смоделированных входных данных (как стандартных, так и не стандартных) при определённых контролируемых условиях.
Тестирование модулей и в частности тестирование разработанных компонентов является обязательной составляющей процесса аттестации и верификации разрабатываемой подсистемы.
Процесс тестирования представляет собой эксплуатацию приложения в контролируемых условиях и изучение полученных результатов [39]. При этом проверяется работа приложения с нормальными и ошибочными данными и событиями. Следует изучить и реакцию на неожиданные ситуации.
Из существующих способов тестирования был выбран «черный ящик». Этот способ является одним из наиболее устоявшихся способов обеспечения качества разработки программного обеспечения и входит в набор эффективных средств современной системы обеспечения качества программного продукта. Процесс тестирования программных продуктов обеспечивает получение актуальной информации о статусе проекта разработки информационной системы или приложения в разрезе требования функциональность. Тестирование позволяет сделать процесс разработки информационной системы и программного обеспечения прозрачным и управляемым для всех участников проекта. Разработчикам тестирование дает уверенность в верном понимании задач, которые ставит перед ними заказчик. Проектным менеджерам тестирование дает понимание эволюции проекта, проблемных мест в процессе разработки, а также информацию для принятия оперативных решений о готовности продукта или его версии к продуктивной эксплуатации, продажам и т.д.
Для тестирования разрабатываемого проекта была выбрана методика тестирования «черного ящика». Эта методика применяется в качестве средства тестирования функционала разрабатываемого программного обеспечения.
Цель метода состоит в том, чтобы протестировать работоспособность программного обеспечения исходя из спецификации выполняемых системой функций.
При таком подходе система представляется неким черным ящиком, у которого имеется вход и выход. На входе мы имеем входные данные, на выходе – переработанные системой данные
Из-за ограничений, накладываемых на объем дипломного проекта, здесь приводится лишь фрагмент теста формы начальника отдела по установке оборудования.
Таблица 3.1 наращиваемый подход к тестированию
Действие | Ожидаемый результат | Реальный результат |
Ввести информацию о поставщиках | Внесенная информация о поставщиках | Внесенная информация о поставщиках |
Сформировать заказ | Сформированный заказ | Сформированный заказ |
Внесение изменений в заказ | Заказ с изменениями | Заказ с изменениями |
Утвердить заказ | Утвержденный заказ | Утвержденный заказ |
Составить план работ | Составленный план работ | Составленный план работ |
Утвердить план работ | Утвержденный план работ | Утвержденный план работ |
Составить акт о выполненной работе | Составленный акт | Ошибка |
Сформировать прайс | Сформированный прайс | Сформированный прайс |
Рисунок 3.11 – Ошибка приложения при составлении акта
Для наибольшего избегания ошибок в составлении запросов используются инструменты SQL Server. Первоначально запрос создается в SQL Server, там же тестируется (рисунок. 3.12).
Рисунок 3.12 Составление sql - запроса
Этот запрос показывает сроки гарантии установленного оборудования, в нем была пропущена связь между таблицами line_act и line_order_client.. После тестирования составленного запроса он помещается в код программы и тестируется уже сама программа так, как было рассказано выше. В конечном счете, тестирование проводится не только для поиска ошибок, но и для проверки качества продукта. А так как качество — это «соответствие потребностям пользователей в решении их бизнес-задач», процесс тестирования должен способствовать достижению этой цели с помощью проверки корректности работы программы.
Развертывание компонентов происходит на тех компьютерах системы, на которых расположены рабочие места пользователей, использующих бизнес процессы, связанные с данным компонентом.
Как было уже сказано, данная система разрабатывается для трех видов пользователей. Для данных пользователей разрабатываются соответствующие рабочие места. Требования к операционной системе для всех АРМ одинаковы, а модули для каждого АРМ будут установлены соответствующие сущностям.
Цели этапа развертывания:
- перенести решение в промышленную среду;
- признание заказчиком факта завершения проекта.
Развертывание компонентов, характерных для конкретного места установки, состоит из нескольких стадий: подготовки, установки, обучения и формального одобрения.
Результатами этапа развертывания системы являются системы сопровождения и поддержки, хранилище документов, где размещаются все версии документов и кода, разработанных в течение проекта.
Для развертывания разрабатываемой системы был составлен план действий, который приведен в таблице 3.2.
Таблица 3.2 – План развертывания приложения
Действие | Описание действия |
1. Резервное копирование | Производится резервное копирование данных пользователя при его участии и согласовании путем переноса информации на сменные носители (СD, DVD) |
2. Установка базовых компонентов решения | Применение технологий, обеспечивающих работу решения. В данном случае – установка компонента .NET Framework 2.0 |
3. Установка клиентского приложения | Перенос на компьютер пользователя и установка окончательного варианта разработанной ИС и базы данных |
4. Обучение | Производится обучение пользователей по работе с системой, разработчик убеждается в правильности и понимании работы ИС клиентами |
5. Передача базы знаний проекта клиенту | Заказчику передаётся вся проектная документация |
6. Закрытие проекта | Составляется отчёт о закрытии проекта. Заказчик подписывает акт приёмки. |
Для создания установочного файла setup.exe была использована программа CreateInstall.
CreateInstall - это инсталлятор, который позволяет полностью управлять всем процессом установки. Весь сценарий установки представляется в виде последовательности команд. Можно использовать как уже готовые команды, так и добавлять любые необходимые действия. Подобная возможность конструирования инсталляций делает CreateInstall чрезвычайно мощным и гибким инсталлятором.
Рисунок 3.13 – Рабочее пространство программы
Для нормального функционирования АРМ требуется операционная система Microsoft Windows XP, а также система управления базами данных MS SQL Server 2005. Платформа .NET Framework должна быть установлена до установки приложения. Для развертывания приложения необходимо, чтобы на жестком диске объем свободного места был не менее 20 Мб. Для установки приложения был создан файл setup, автоматически сгенерировавший инсталляционный пакет проекта. Для установки системы достаточно запустить файл setup.exe, и далее следовать инструкциям мастера установки.