Разработка клиент-серверного приложения для автоматизации учёта движения товаров магазина интерьерных принадлежностей

Последовательность разработки системы для оптимизации работы магазина интерьерных товаров, позволяющей хранить данные в одной базе и работать с ней с помощью удобного интерфейса клиентского приложения. Тестирование информационной системы. Листинг модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.07.2012
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

cbBasket_Type - для выбора типа товара

btnBasket_Find - кнопка поиска

btnBasket_Clear - кнопка сброса параметров поиска

btnShowImage - кнопка вывода фотографии товара

txtBasket_Summa - поле вывода итоговой суммы

btnBasket_Add - кнопка для добавления товара в корзину

btnBasket_Del - кнопка для удаления товара из корзины

button2 - кнопка для удаления всех товаров из корзины

btnOK - кнопка для подтверждения оформления продажи

btnCancel - кнопка закрытия формы

Форма представлена в файлах: Basket.cs, Basket.Design.cs, Basket.resx.

Форма пользователя представляет собой форму Basket без кнопки btnOK.

Перед ее открытием выводится форма SelWh для выбора филиала. На этой форме расположены следующие компоненты:

btnWh1 - выбор первого филиала

btnWh2 - выбор второго филиала

btnClose - закрытие формы

Форма представлена в файлах: SelWh.cs, SelWh.Design.cs, SelWh.resx.

4.2.3 Разработка отчетов

Отчет - это средство подготовки информации из БД к печати на принтере.

С помощью отчетов удается формировать необходимую документацию, основанную на данных, с которыми работает информационная система.

Для создания отчетов используется технология Crystal Reports.NET. В качестве источника данных Crystal Reports.NET использует набор данных (объект DataSet).

В программе предусмотрена возможность создания отчетов на основе информации о товарах и о сформированном заказе (корзине товаров).

Пример отчета представлен на рисунке 28.

Рисунок 28 - Отчет о заказе

4.2.4 Разработка дистрибутива

Для разработки установочной программы использовалось приложение SmartInstallMaker 5.02.

Сначала был создан новый установочный проект и были выполнены необходимые настройки, показанные на рисунке 29.

Рисунок 29.Настройки проекта

Далее в проект были добавлены необходимые файлы, показанные на рисунке 30.

Рисунок 30.Добавление файлов в проект

Далее были установлены необходимые ярлыки.

Рисунок 31.Добавление ярлыков в проект

После этого проект был откомпилирован и получен работающий установщик.

Для создания базы данных на сервере необходимо запустить скрипт ICCreate.sql (приложение 2).

5 Разработка технической документации

5.1 Руководство оператора

5.1.1 Назначение программы

Программа предназначена для оптимизации работы магазина интерьерных товаров.

Основные функции:

внесение новых, редактирование существующих данных о товарах;

хранение и редактирование данных о движении товаров - закупках, продажах и возвратах;

хранение и редактирование данных о поставщиках;

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

поиск и просмотр необходимых данных.

5.1.2 Условия выполнения программы

Перед установкой программы следует убедиться в том, что система соответствует требованиям:

Для работы программы необходим IBM PC совместимый компьютер с процессором Pentium III или выше и с оперативной памятью 256 МБ или более.

Операционная система: Windows 2000/NT/XP/Vista/7.

SVGA видео карта с поддержкой минимального разрешения 640 x 480, минимум 256 цветов.

Установленная СУБД MS SQL Server 2000/2005 или выше. Средства доступа в сеть, если сервер БД расположен на другом компьютере.

Для установки программы требуется примерно 17 Мб свободного места на жестком диске.

Пользователь должен обладать практическими навыками работы в операционной системе.

5.1.3 Установка приложения

Программа поставляется в виде автоматически исполняемого EXE файла с именем вида CMK_Setup.exe. После запуска программы необходимо следовать указаниям мастера установки.

5.1.4 Запуск программы

После установки запуск программы возможен несколькими способами (пути к директориям прописаны «по умолчанию»):

из меню «Пуск/Все программы/ИС «Магазин интерьерных товаров»

с помощью ярлыка ИС «Магазин интерьерных товаров».exe на рабочем столе из папки «C:\Program Files\ ИС «Магазин интерьерных товаров».exe»

При запуске приложения появляется окно подключения к БД, в котором надо указать сервер, на котором находится база данных, и ввести данные для подключения (см. рисунок 32).

Рисунок 32 - Окно подключения

В случае возникновения ошибки дальнейшая работа приложения окажется невозможной.

5.1.5 Описание интерфейса приложения

После подключения будет показана форма входа, представленная на рисунке 31. Здесь необходимо ввести логин и пароль, определяющие вид работы в системе: продавец либо администратор. При этом продавец привязан к своему филиалу магазина. Также можно зайти пользователем (клиентом) без ввода логина и пароля по нажатию кнопки «Зайти покупателем» (рисунок 33).

Рисунок 33 - Форма входа

Окна программы имеют схожую структуру.

Левая часть главных окон работы с разделами ИС отведена под таблицы, в которых отображаются данные в процессе работы с системой, а в правой располагаются элементы поиска, управления и модификации данных.

Все таблицы и соответствующие им элементы управления сгруппированы по вкладками, соответствующим действиям, осуществляемым пользователями.

Структура и принципы работы для всех основных окон и вкладок одинаковы, поэтому рассмотрим подробно лишь вкладку «Товары» администратора (рисунок 34).

Рисунок 34 - Вкладка «Товары» администратора

Слева располагается таблица, содержащая данные о товарах. Данные можно сортировать по различным столбцам, щёлкая по соответствующим заголовкам таблицы. Щелчок мыши на строке таблицы выделяет её, делая доступной для редактирования. Справа на дополнительных вкладках сгруппированы элементы управления данными и их отображением. Так для поиска нужного товара нужно заполнить поле «Название», выбрать нужный пункт списка «Тип товара» для фильтрации по типу, указать количество и условие сравнения с помощью соответствующего поля. По щелчку на кнопке «Найти» приложение выведет в таблицу заданные условиями товары. Для добавления нового товара требуется перейти на вкладку «Добавить», заполнить одноимённые атрибутам поля и нажать кнопку «Добавить». В случае некорректного выполнения операции будет выведено сообщение о произошедшей ошибке.

Алгоритм работы с остальными вкладами аналогичен.

Т.к. остальные вкладки имеют аналогичную структуру и принципы работы, они подробно рассматриваться не будут. Отметим лишь основные осуществляемые ими действия:

Окно администратора:

Вкладка «Товары»:

Поиск по наименованию, группе и количеству

Просмотр информации о товаре

Добавление товара

Обновление информации о товаре

Удаление товара

Перемещение товара со склада на склад

Вкладка «Поставщики»:

Поиск по наименованию, группе товаров и просмотр поставщиков

Просмотр информации о поставках выбранного поставщика и о поставляемых им товарах

Добавление поставщика

Обновление информации о поставщике

Вкладка «Закупки»:

Просмотр закупок

Добавление закупок (товар добавляется на центральный склад)

Осуществление закупок (товар добавляется на указанный в закупке склад)

Вкладка «Товары по акции»:

Просмотр товаров, участвующих в текущих акциях

Добавление и удаление товара в текущие акции

Вкладка «Акции»:

Просмотр акций

Добавление акции

Вкладка «Группы товаров»:

Просмотр и редактирование групп товаров

Вкладка «Пользователи»:

Просмотр и редактирование списка пользователей

Окно продавца:

Рисунок 35 - Окно продавца

Продавец закреплён за определённым филиалом (торговой точкой), номер которого отображается в заголовке формы.

Вкладка «Товары»:

Просмотр информации о товарах

Поиск товаров по наименованию, типу

Вкладка «Продажи»:

Продажа товаров

Вкладка «Возвраты»:

Оформление возвратов

Вкладка «Текущие акции»:

Просмотр текущих акций и участвующих в них товаров

Указанным действиям соответствуют вкладки на главной форме.

Просмотр и поиск товаров (см. Рисунок 35) осуществляется аналогично администратору, с той разницей, что продавец не может получить информацию об удалённых товарах.

Для добавления новой продажи необходимо на вкладке «Продажи» нажать кнопку добавить. Продажа товаров осуществляется путём составления продавцом заказа (корзины товаров), и формирования на основе содержимого корзины новой записи о продаже.

Рисунок 36 - Формирование корзины товаров.

Заказ составляется путём выбора нужного товара из верхней таблицы, содержащей все товары филиала, и добавления в нижнюю, содержащую текущую конфигурацию заказа, при помощи кнопки добавить. Для удаления ошибочно добавленного в корзину товара его необходимо выделить в нижней таблице и нажать кнопку «Удалить». Для удаления всех записей можно воспользоваться кнопкой «Очистить». После завершения формирования корзины надо нажать кнопку «Ок», после чего данные о товарах в корзине будут занесены в продажи.

Окно пользователя.

Пользователь (клиент магазина) не может вносить какие-либо изменения в базу, его возможности ограничиваются лишь просмотром товаров выбранного филиала и формирования предварительного заказа. Данный процесс пользователя полностью совпадает с формированием корзины продавца, поэтому рассмотрен не будет.

5.1.6 Работа с отчетами

Отчёты формируют печатную форму информации о товарах.

Чтобы сформировать отчет, нужно нажать кнопку «Печать», если она доступна на данной вкладке. Сразу после этого откроется диалоговое окно, содержащее отчет. С помощью кнопок в верхней части окна, можно осуществить печать данного отчета, обновить информацию, которую он содержит, а также осуществить масштабирование документа на экране.

Рисунок 37 - Отчет о заказе

Рисунок 38 - Отчет, содержащий список товаров

5.1.7 Сообщения оператору

При выполнении программы могут выдаваться следующие виды сообщений:

сообщения об ошибках;

сообщения о подтверждении выполняемого действия.

Сообщения об ошибках выдаются в следующих случаях:

некорректно заполнены поля (не заполнены обязательные поля, введены символьные данные вместо числовых и т.д.);

введены некорректные данные (добавляемый товар с таким артикулом уже существует, не существует поставщика с указанным наименованием и т.д.).

В сообщении выводится информация о причине, вызвавшей ошибку.

Сообщения о подтверждении выполняемого действия выводятся при успешном добавлении или обновлении записи в одну из таблицы.

5.3 Руководство программиста

5.3.1 Назначение и условия применения программы

Программа предназначена для оптимизации работы магазина интерьерных товаров.

Основные функции:

внесение новых, редактирование существующих данных о товарах;

хранение и редактирование данных о движении товаров - закупках, продажах и возвратах;

хранение и редактирование данных о поставщиках;

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

поиск и просмотр необходимых данных.

Перед установкой программы следует убедиться в том, что система соответствует требованиям:

Для работы программы необходим IBM PC совместимый компьютер с процессором Pentium III или выше и с оперативной памятью 256 МБ или более.

Операционная система: Windows 2000/NT/XP/Vista/7.

SVGA видео карта с поддержкой минимального разрешения 640 x 480, минимум 256 цветов.

Установленная СУБД MS SQL Server 2000/2005 или выше. Средства доступа в сеть, если сервер БД расположен на другом компьютере.

Для установки программы требуется примерно 17 Мб свободного места на жестком диске.

Пользователь должен обладать практическими навыками работы в операционной системе.

5.3.2 Обращение к программе

Запуск приложения осуществляется путем запуска на выполнение файла ICShop.exe. Для выполнения программы дополнительных файлов не требуется.

Порядок работы с программой описан в документе «Руководство оператора».

Завершение работы программы возможно двумя способами:

с помощью пункта меню Файл - Выход;

с помощью кнопки «Закрыть» в левом верхнем углу окна программы.

5.3.3 Описание входной информации

Входными данными для этой задачи является информация таблиц базы данных ICShop. Структура таблиц приведена в таблице 3.

Таблица 3.Сводное описание входной информации.

Имя таблицы

Наименование поля

Тип

Goods

GoodID

числовое

Name

текстовое

GTy_GoodsTypeID

числовое

Price

денежное

Photo

изображение

GType

GoodsTypeID

числовое

GoodsType

числовое

Margin

денежное

ActionsAndDiscounts

ActionID

числовое

Description

символьное

Discount

числовое

StartDate

дата

EndDate

дата

GoodsActions

Act_ActionID

числовое

Goo_GoodID

числовое

dbo.GoodsWarehouses

War_WarehouseID

числовое

Goo_GoodID

числовое

Count

числовое

Purchases

PurchaseID

числовое

Goo_GoodID

числовое

Sup_SupplierName

символьное

Count

числовое

PurchPrice

денежное

RecDate

дата

SaleReturn

Sal_SaleID

числовое

Sal_GoodID

числовое

ReturnDate

дата

Couse

символьное

Sales

SaleID

числовое

GoodID

числовое

WareHouseID

числовое

SaleDate

дата

Count

числовое

price

денежное

Suppliers

SupName

символьное

Representative

символьное

SupAddress

символьное

SupPhone

символьное

Users

Login

символьное

Password

символьное

WarehouseID

числовое

Warehouses

WarehouseID

числовое

Address

символьное

Phone

символьное

5.3.4 Описание выходной информации

Выходными данными для этой задачи является информация таблиц базы данных ICShop. Структура выходных таблиц совпадает с входными.

5.3.5 Сообщения

В процессе работы программного стенда пользователю могут выдаваться сообщения в виде стандартных диалоговых окон.

Перечень сообщений и порядок действия описан в документе «Руководство оператора».

6. Тестирование информационной системы

6.1 Программа и методика тестирования

Объектом испытаний является разработанное в рамках данной работы клиентское приложение "ИС магазина интерьерных товаров". Целью испытаний является выявление возможных функциональных ошибок и сбоев, возникающих при работе приложения и подтверждение его работоспособности.

Проверке в процессе тестирования подлежит процедура AddPur, которая используется для добавления записи в таблицу "Товары".

Порядок испытаний:

Тестирование методом «белого ящика» процедуры AddPur.

Тестирование методом «чёрного ящика» процедуры AddPur.

6.1.1 Тестирование методом "белого ящика"

Для тестирования методом "белого ящика" построим потоковый граф на основании кода процедуры AddPur:

private void AddPur(){

(1)if ((mtbPurGoodID.Text != "")&

(2) (mtbPurSupID.Text != "")&

(3) (mtbPurCnt.Text != "")&

(4) (mtbPurPrice.Text !=""))

(5){con.Open();

(5) SqlCommandcom = con.CreateCommand();

(5)com.CommandText = "EXECUTE @result = AddPur @GID, @SID, @Cnt, @p, @d";

(5)com.Parameters.Add("@result", SqlDbType.Int);

(5)com.Parameters["@result"].Direction = ParameterDirection.Output;

(5)com.Parameters.Add("@GID", SqlDbType.Int).Value = Convert.ToInt32(mtbPurGoodID.Text);

(5)com.Parameters.Add("@SID", SqlDbType.VarChar).Value = mtbPurSupID.Text;

(5)com.Parameters.Add("@Cnt", SqlDbType.Int).Value = Convert.ToInt32(mtbPurCnt.Text);

(5)com.Parameters.Add("@p", SqlDbType.Money).Value = Convert.ToInt32(mtbPurPrice.Text);

(5)com.Parameters.Add("@d", SqlDbType.DateTime).Value = DateTime.Now.ToString();

(5)com.ExecuteNonQuery();

(5) int temp = Convert.ToInt32(com.Parameters["@result"].Value);

(6)if (temp != 0)

(7) MessageBox.Show("Некорректные данные");

(8) else

(8) MessageBox.Show("Закупка добавлена");

(9) con.Close();

(9) UpdateData();}

(10) else

(10) MessageBox.Show("Заполните все поля!");

(11)}}

На рисунке 39 изображен потоковый граф, вершины которого соответствуют пронумерованным операторам процедуры, а дуги являются отображением потока управления.

Рисунок 39 - Потоковый граф тестирования процедуры AddPur

Определим цикломатическую сложность полученного графа 3 способами:

V(G) = 6 регионов = 6

V(G) = 15 дуг - 11 узлов + 2 = 6

V(G) = 5 предикатных узлов +1 = 6

Составим множество базовых путей:

1-10-11

1-2-10-11

1-2-3-10-11

1-2-3-4-10-11

1-2-3-4-5-6-8-9-11

1-2-3-4-5-6-7-9-11

На основе множества базовых путей составим тестовые варианты, по одному для каждого пути. Тестовые варианты приведены в таблице 4.

Таблица 4. Тестовые варианты

№ пути

Исходные данные

Ожидаемые результаты

Реальные результаты

1

При вводе данных поле "Артикул" остается незаполненным "

Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.

Запись не добавлена, выведено сообщение о том, что не все поля заполнены.

2

При вводе данных поле "Поставщик" остается незаполненным "

Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.

Запись не добавлена, выведено сообщение о том, что не все поля заполнены.

3

При вводе данных поле "Количество" остается незаполненным

Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.

Запись не добавлена, выведено сообщение о том, что не все поля заполнены.

4

При вводе данных поле "Цена" остается незаполненным

Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.

Запись не добавлена, выведено сообщение о том, что не все поля заполнены.

5

При вводе данных в поле "Поставщик" введено не существующее наименование поставщика

Добавление не будет выполнено, будет выведено сообщение о том, что введены некорректные данные

Запись не добавлена, выведено сообщение о том, что введены некорректные данные.

6

При вводе все поля заполнены верно

Добавление не будет выполнено, запись появится в таблице

Запись успешно добавлена

6.1.2 Тестирование методом "черного ящика"

В этой стратегии программа рассматривается как чёрный ящик. Для обнаружения всех ошибок в программе необходимо выполнить исчерпывающее тестирование, то есть тестирование на всевозможных наборах данных. При этом необходимо выбирать наиболее подходящие подмножества, подмножества с наивысшей вероятностью обнаружения ошибок.

Для тестирования методом "черного ящика" процедуры AddPur воспользуемся способом разбиения на классы эквивалентности. На основании спецификации можно составить дерево разбиений.

Дерево разбиений приведено на рисунке 40.

Рисунок 40 - Дерево разбиений

Дерево разбиений имеет 3 листа. Составим тестовые варианты для каждого из листьев. Тестовые варианты приведены в таблице 5.

Таблица 5. Тестовые варианты для метода "черного ящика"

Исходные данные

Ожидаемые результаты

Реальные результаты

1

При вводе данных поле "Артикул" остается незаполненным "

Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.

Запись не добавлена, выведено сообщение о том, что не все поля заполнены.

2

При вводе данных в поле "Поставщик" введено не существующее наименование поставщика

Добавление не будет выполнено, будет выведено сообщение о том, что введены некорректные данные

Запись не добавлена, выведено сообщение о том, что введены некорректные данные.

3

При вводе все поля заполнены верно

Добавление не будет выполнено, запись появится в таблице

Запись успешно добавлена

6.2 Результаты тестирования

В результате тестирования процедуры AddPur методами "черного ящика" и "белого ящика" было выявлено, что на приведенных тестовых вариантах ошибок в работе процедуры не обнаружено. Следовательно, можно утверждать, что данная процедура работоспособна.

Исходя из того, что все процедуры добавления, изменения и удаления данных имеют схожий алгоритм, можно так же говорить о работоспособности системы в целом.

Заключение

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

В результате получена информационная система, предоставляющая пользователям простой и удобный способ взаимодействия с базой данных. Информационная система легко модифицируема, при возникновении необходимости возможна дальнейшая ее доработка (как базы данных, так и клиентского приложения) для расширения круга решаемых задач. Полученная в результате проведенной работы информационная система в полной мере удовлетворяет поставленной задаче, что не исключает возможности расширения её функциональных возможностей в будущем.

Список использованных источников

Когаловский М.Р. Перспективные технологии информационных систем. -- М.: ДМК Пресс; М: Компания АйТи, 2003. -- 288с.

Петров В.Н. Информационные системы - Спб.: Питер, 2003. - 687с.

Гладких А.А., Дементьев В.Е. Базовые принципы информационно безопасности вычислительных систем.- Ульяновск: УлГТУ, 2009. - 156 с.

Благодаров А.В., лекции «Клиент-серверные приложения БД», 2011 г

Гринченко Н.Н., лекции «Базы Данных», 2010 г

Благодаров А.В., Клиент-серверные приложения БД. Методические указания к лабораторным работам, 2011 г

Библиотека MSDN для Visual Studio 2005.

ГОСТ 19.001-77. ЕСПД. Общие положения

ГОСТ 19.002-80. ЕСПД. Схемы алгоритмов и программ. Правила выполнения.


Подобные документы

  • Разработка информационного и программного обеспечения предметной области, связанной с работой магазина по продаже сувениров. Построение функциональной и информационной модели. Управление базой данных с помощью системы приложения Microsoft SQL Server 6.0.

    курсовая работа [2,7 M], добавлен 25.01.2010

  • Основные концепции разработки приложения в трёхуровневой архитектуре. Проектное решение, реализующее модель реляционной БД. Спецификация на разработку интерфейса. Описание выполнения транзакций прибытия и убытия судна. Инсталляционные файлы приложения.

    курсовая работа [4,0 M], добавлен 26.12.2011

  • Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.

    курсовая работа [352,0 K], добавлен 24.08.2016

  • Разработка системы, базирующейся на протоколе LIMone, для обмена мгновенными сообщениями и пересылки файлов в процессе деловой переписки. Реализация системы в виде клиент-серверного приложения. Расчет экономических показателей программного продукта.

    дипломная работа [4,7 M], добавлен 22.08.2016

  • Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.

    курсовая работа [191,5 K], добавлен 07.01.2015

  • Автоматизация системы снятия показаний счетчиков энергии. Разработка базы данных и клиентского приложения для структур жилищно-коммунального хозяйства, занимающихся составлением квитанций. Описание предметной области. Тестирование клиентского приложения.

    курсовая работа [953,3 K], добавлен 01.09.2016

  • Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.

    дипломная работа [2,0 M], добавлен 22.11.2015

  • Анализ предметной области. Выработка требований и ограничений. Серверная часть информационной системы. Запросы клиентского приложения. Триггеры для поддержки сложных ограничений целостности в базе данных. Пользовательский интерфейс клиентского приложения.

    курсовая работа [2,6 M], добавлен 21.02.2016

  • Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.

    курсовая работа [3,3 M], добавлен 15.09.2014

  • Определение назначения системы и обозначение целей создания Web-приложения интернет-магазина по продаже компьютерной техники. Описание страниц сайта и логической структуры приложения. Тестирование, применение приложения и затраты на его разработку.

    дипломная работа [2,6 M], добавлен 10.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.