Взаимодействие приложения с источниками данных



 

Для компонентов проектируемой системы источниками данных являются с одной стороны соответствующая таблица из базы данных, а с другой данные передаваемые клиентом в компонент, позволяющие определить адрес базы данных, с которой происходит взаимодействие компонента (рисунок 3.4)

 


 

Рисунок 3.4 – Пример обращения к базе данных

 

SQL используется для реализации всех функциональных возможностей, которые СУБД предоставляют пользователю:

- организация данных;

- выборка данных;

- обработка данных;

- совместное использование данных;

- управление доступом;

- целостность данных.

Взаимодействие приложения с источником данных осуществляется при помощи запросов языка SQL. SQL является инструментом для выборки и обработки информации, содержащейся в базе данных. SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных [31]. Если пользователю необходимо получить информацию из базы данных, он запрашивает её у СУБД при помощи SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю [32]. Процесс запрашивания данных и получения результата называется запросом к базе данных.

На рисунке 3.5 представлен sql-запрос по составлению об установленном оборудовании.

 

Рисунок 3.5 -Пример sql-запрос

 

На рисунке 3.6 показан результат выполнения предыдущего sql-запроса.

 

Рисунок 3.6 – Результат sql-запрос

 

Также для взаимодействия с источником данных используются хранимые процедуры, написанные на Transact-SQL – это диалект языка SQL, разработанный компанией Microsoft для использования в СУБД Microsoft SQL Server.

Использование хранимых процедур дает несколько очевидных преимуществ:

- сценарии выполнения хранимых процедур кэшируются на сервере, что дает ощутимый прирост в скорости при повторном вызове процедур;

- дополнительный уровень абстракции – дает возможность изменить логику работы хранимой процедуры без необходимости вносить изменения в приложение (но при этом нельзя изменять сигнатуру хранимой процедуры);

- часть бизнес-логики приложения выполняется на сервере;

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

Для построения некоторых отчетов требуется несколько таблиц. На рисунке 3.7 представлен исходный код хранимой процедуры, для формирования заказа клиента менеджером по работе с клиентами.

 

Рисунок 3.7 – Код сценария создания хранимой процедуры
Report_order_client


 

Рисунок 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.. После тестирования составленного запроса он помещается в код программы и тестируется уже сама программа так, как было рассказано выше. В конечном счете, тестирование проводится не только для поиска ошибок, но и для проверки качества продукта. А так как качество — это «соответствие потребностям пользователей в решении их бизнес-задач», процесс тестирования должен способствовать достижению этой цели с помощью проверки корректности работы программы.

 


Дата добавления: 2020-01-07; просмотров: 170; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!