Изучив деятельность интернет-магазина, был сделан вывод, что необходима его комплексная автоматизации, в рамках одной из задач было необходимо реализовать программу.
Основанием для разработки служит выполнение курсовой работы по дисциплине Разработка и стандартизация по специальности 0808016503 «Прикладная информатика»
Программа предназначена для использования оператором программы «интернет-магазин». Программа позволяет экономить, сократить время на утверждение заказов для клиентов, повысить скорость и качество обслуживания и улучшить быстродействие работы за счет упрощения и ускорения схемы работы оператора.
Требования к программе или программному изделию
Требования к функциональным характеристикам
- Программа должна хранить данные (ФИО, паспорт клиента)
- Программа должна хранить данные о заказах
- Программа должна хранить данные о товарах
- Программа должна хранить данные о изготовителях
Требования к надежности
- Программа должна выполнять действия пользователя
- Визуальные компоненты должны правильно реагировать на управление
- База данных программы не должна допускать потерю данных
Условия эксплуатации
Программное обеспечение может работать на любых компьютерах, которые установлены в помещениях соответствующих требования СанПиН.
Требования к составу и параметрам технических средств
Рабочий персональный компьютер с параметрами:
- Процессор 2000МНz и выше;
- Оперативная память 512 Mb и выше;
- Пространство на жестком диске 2000 Mb;
- Мышь;
- Клавиатура.
Требования к информационной и программной совместимости
Данный программный продукт может работать только под Windows.
Требования к маркировке и упаковке
Требования к маркировке и упаковке не предъявляются.
Требования к транспортированию и хранению
Требования к транспортированию и хранению не предъявляются.
Требования к программной документации
Состав программной документации должен включать в себя:
- Руководство пользователя (встроенная справка)
- Техническое задание
Специальные требования к программной документации не предъявляются.
Стадии и этапы разработки
1 Техническое задание
- 1.1 Изучение предметной области
-
- 1.2 Обоснование необходимости разработки программы
-
- 1.3 Разработка и утверждение технического задания
2. Эскизный проект
Программный комплекс моделирования релейно-контактных схем
... устанавливаются требования к программе, а также ставятся цели разработки. В разделе «Архитектура программы» показано, что может программа и как взаимодействует с пользователем. В четвертом разделе, который называется «Структура данных программного ...
- 2.1 Разработка эскизного проекта
-
- 2.2 Утверждение эскизного проекта
3. Технический проект
- 3.1 Разработка технического проекта
-
- 3.2 Утверждение технического проекта
4. Рабочий проект
- 4.1 Разработка программы
-
- 4.2 Разработка программной документации
-
- 4.3 Испытания программы
5 Сдача готовой курсовой работы
6 Защита работы
7 Порядок контроля и приемки
7.1 Подготовка и сдача программы и программной документации руководителю для защиты
Программная документация должна быть представлена в двух вариантах
- В электронном виде;
- В распечатанном варианте на бумажных носителях формата А4.
Согласование программной документации с руководителем осуществляется во время консультаций.
7.2 Защита работы
Защита работы состоит из следующих этапов:
- Опытная эксплуатация;
- Устранение замечаний опытной эксплуатации;
- Окончательная приемка: проверка правильности выполнения всех функций в соответствии с пунктом 4.1
- В качестве тестовых данных в базе данных должно быть 5-10 записей
- Приемка
2. Формы
Форма заказов
Форма товары
Форма изготовители
Форма клиенты
3. SQL операции
Вставить заказ
ALTER PROCEDURE [dbo].[ВставЗаказ]
- Add the parameters for the stored procedure here
@КодЗаказа bigint,
@КодТовара bigint,
@КодКлиента bigint,
@Стоимость money,
@Дата datetime,
@Количество int
AS
BEGIN
begin tran f123
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
INSERT INTO Заказы VALUES (@КодЗаказа, @КодТовара,@КодКлиента ,@Стоимость,@Дата,@Количество)
commit tran f123
END
Встав изготовитель
ALTER PROCEDURE [dbo].[ВставИзготовитель]
- Add the parameters for the stored procedure here
@Код_изготовителя bigint,
@Наименование varchar(50)
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
INSERT INTO Изготовитель
VALUES (@Код_изготовителя,@Наименование)
END
Вставить клиенты
ALTER PROCEDURE [dbo].[ВставКлиенты]
- Add the parameters for the stored procedure here
@Код_клиента bigint,
@Фамилия varchar(50),
@Имя varchar(50),
@Отчество varchar(50),
@Паспорт varchar(50)
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
begin tran client
declare @check int
declare @curs varchar(50)
declare ct CURSOR FOR select Паспорт from Клиенты
Работа «Автоматизированное рабочее место преподавателя. Учёт ...
... улучшить доступ и хранение данных об успеваемости и посещаемости студентов. Активно создаются системы учета посещаемости и успеваемости. Преподаватель имеет ту или иную степень участия в учебном процессе. «Автоматизированные рабочие места», предназначенные для ...
open ct
while 1=1 begin
fetch from ct into @curs
if @@fetch_status = -1
break
if @Паспорт=@curs set @check = 1
END
DEALLOCATE ct
INSERT INTO Клиенты VALUES
(@Код_клиента, @Фамилия, @Имя, @Отчество, @Паспорт)
if @check = 1 rollback tran client
else commit tran client
- commit tran client
END
Вставить товары
ALTER PROCEDURE [dbo].[ВставТовары]
- Add the parameters for the stored procedure here
@Наименование varchar(50),
@Количество int,
@Цена money,
@Код_изготовителя bigint,
@Код_товара bigint
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
INSERT INTO Товары Values
(@Наименование, @Количество, @Цена, @Код_изготовителя, @Код_товара)
END
Обновить товары
ALTER PROCEDURE [dbo].[ОбновТовары]
- Add the parameters for the stored procedure here
@Наименование varchar(50),
@Количество int,
@Цена money,
@Код_изготовителя bigint,
@Код_товара bigint
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
UPDATE Товары set Наименование=@Наименование, Количество=@Количество, Цена=@Цена,
Код_изготовителя=@Код_изготовителя where Код_товара=@Код_товара
END
Обновить клиенты
ALTER PROCEDURE [dbo].[ОбновКлиенты]
- Add the parameters for the stored procedure here
@Код_клиента bigint,
@Фамилия varchar(50),
@Имя varchar(50),
@Отчество varchar(50),
@Паспорт varchar(50)
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
UPDATE Клиенты set Фамилия = @Фамилия, Имя=@Имя, Отчество=@Отчество, Паспорт=@Паспорт where Код_клиента =
@Код_клиента END
Обновить изготовителей
ALTER PROCEDURE [dbo].[ОбновИзготовитель]
- Add the parameters for the stored procedure here
@Код_изготовителя bigint,
@Наименование varchar(50)
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
UPDATE Изготовитель set Наименование=@Наименование where Код_изготовителя=@Код_изготовителя
END
Обновить заказ
ALTER PROCEDURE [dbo].[ОбновЗаказ]
- Add the parameters for the stored procedure here
@КодЗаказа bigint,
@КодТовара bigint,
@КодКлиента bigint,
@Стоимость money,
@Дата datetime,
@Количество int
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
UPDATE Заказы set Код_товара = @КодТовара, Код_Клиента=@КодКлиента, Стоимость=@Стоимость, Дата=@Дата,
Количество=@Количество where Код_заказа=@КодЗаказа
END
Удалить товары
ALTER PROCEDURE [dbo].[УдалТовары]
- Add the parameters for the stored procedure here
@Код_товара bigint
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
DELETE FROM Товары WHERE Код_товара=@Код_товара
END
Удалить клиенты
ALTER PROCEDURE [dbo].[УдалКлиенты]
- Add the parameters for the stored procedure here
@Код_клиента bigint
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
DELETE FROM Клиенты WHERE Код_клиента=@Код_клиента
END
Удалить изготовителей
ALTER PROCEDURE [dbo].[УдалИзготовитель]
- Add the parameters for the stored procedure here
@Код_изготовителя bigint
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
DELETE FROM Изготовитель where Код_изготовителя=@Код_изготовителя
END
Удалить заказ
ALTER PROCEDURE [dbo].[УдалЗаказ]
- Add the parameters for the stored procedure here
@КодЗаказа bigint
- @КодТовара bigint,
- @КодКлиента bigint,
- @Стоимость money,
- @Дата datetime,
- @Количество int
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
DELETE FROM Заказы Where Код_заказа = @КодЗаказа
END
Триггер в таблице заказы
ALTER TRIGGER [dbo].[ИзменЗаказы]
ON [dbo].[Заказы]
for INSERT,UPDATE
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE Заказы
SET Дата = GETDATE()
FROM inserted, Заказы
WHERE inserted.Код_заказа = Заказы.Код_заказа
END
Получить изготовителей
CREATE PROCEDURE полИзготовитель
- Add the parameters for the stored procedure here
AS
BEGIN
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.
SET NOCOUNT ON;
- Insert statements for procedure here
SELECT Код_изготовителя, Наименование FROM Изготовитель
END
Получить клиенты
CREATE PROCEDURE полКлиенты
- Add the parameters for the stored procedure here
AS
BEGIN
SET NOCOUNT ON;
- Insert statements for procedure here
SELECT Код_клиента, Паспорт FROM Клиенты
END
Отчет BPwin
Model
Model |
||
Property |
Value |
|
Name |
Интернет-магазин |
|
Definition |
||
Scope |
||
Time Frame |
(AS-IS) |
|
Status |
WORKING |
|
Purpose |
||
Source |
||
Author |
||
Creation Date |
20.12.2012 |
|
System Last Revision Date |
19.12.2012 |
|
User Last Revision Date |
19.12.2012 |
|
Activity
Activity |
|||
Name |
Definition |
Note |
|
Автоматизация работа интернет-магазина |
Программа предназначена для хранения, обработки и вывода информации об: изотовителях, товарах, клиентах, заказах. Предназначена для работы с оператором. |
Прогармма содержит формы к таблицам базы данных и элементы для обновления, редактирования и удаления записей. Всего в программе 4 формы: для заказов, для клиентов, для товаров и для изготовителей товаров. |
|
Заказы |
Форма заказов, содержит в себе область для отображения информации о существующих заказах (таблица) и после для ввода информации, которая будет добавлениа, или изменена в таблице. Предназначена для работы с заказами. |
Форма содержит в себе datagridView с полями: код заказа (тип bigint), код товара (тип bigint), код клиента (тип bigint), стоимость (тип int), дата (тип dataTime), количество (тип int), оплачен (тип bit).
Под datagridView содержаться поля для ввода данных, которые будут записаны, либо изменены: текстовое поле для кода заказа, выпадающие списки для клинтов и товаров, содержащие уже существующие наименования, текстовые поля для ввода стоимости, даты (дата не активна и проставляется автоматически) и количества. А так же checkbox для обозначения оплачен ли заказ. Под полями для ввода нахлдятся кнопки: добавить заказ, обновить заказ, удалить заказ, к товарам (переход на форму товаров), к клиентам (переход на форму клиентов).
|
|
Изготовители |
Фрма предназначена для вывода инофрмации по существующим изготовителям, а так же обновления, добавления и изменения этой информациии. |
Форма содержит в себе datagridview (в верхней части экрана и доходить до середины формы), отображающий информацию из таблицы «изготовители» в базе данных, а именно: код изготовителя (bigint), наименование (varchar(50)).
Ниже datagridview, на одной линии, расположены текстовые поля для ввода информации об изготовителях и кнопка «добавить». Ниже кнопки «добавить», расположена кнопка «обновить», а ещё ниже находится кнопка «удалить», справа от кновки «удалить», находится кнопка «к товарам», осуществляющая переход пользхователя на форму «товары». |
|
Клиенты |
Форма «клиенты» предназначена для получения, ввода, изменения, удаления информации о существующих клиентах. Переход к ней можно осуществить с формы «заказы». |
Форма содержит в верхней части и доходящий до середины формы datagridview, содержащий в себе информации из существующей таблицы по клиентам, а именно: код клиента (bigint), фамилия (varchar(50)), имя (varchar(50)), отчество (varchar(50)), паспорт (varchar(50)).
Ниже datagridview расположены в одну линию, слева направо: кнопка «добавить», текстовые поля для ввода информации о коде клиента, фамилии, имени, отчестве и паспорте клиента. Ниже кнопки «добавить» расположена кнопка «обновить», под «обновить» находится кнопка «удалить», справа о кнопки «удалить» находится кнопка «к заказам», осуществляющая переход на соответствующую форму. |
|
Товары |
Форма товаров предназначена для отображения информации по существующим товарам, а так же изменения, удаления и обновления информации по ним. |
Фома содержит dataGridView (наверху), в котором отображаются: код товара (bigint), наименование (varchar(50)), количество (int), цена (int), код изготовителя (bigint).
Под dataGridView расположениы в одну линию поля для ввода данных, предназначенныз для изменения, добавления или обновления по нажатию кнопок. Конкретно поля: код товара (textbox), наименование (textbox), количество (textbox), цена (textbox), код изготовителя (выпадающий список, отображает наименования изготовителей, но проставляет код). Так же слева от полей (на расстоянии 20px от левого края формы) находится конпка «добавить». Под кнпкой «добавить» расположена кнопка «изменить», а под измени, кнопка «удалить», ниже расположена кнопка «к заказам», правее неё расположена кнопка «к изготовителям». Кнопки «к заказам» и «к изготовителям» ведут на соответствующие формы. |
|
Arrow
Arrow |
|||
Name |
Definition |
Note |
|
Запись личных данных клиента в базу данных |
Передает обновленную информацию об изготовителях в базу данных. |
Путем вызова хранимых процедур записывает в базу данных информацию о клиентах |
|
Запрос на наличие оплаты |
Время от времени на кассу идет запрос о наличии оплаты, как правило инициируемый клиентом. |
Запрос от оператора программы на кассу о наличии оплаты по заказам. |
|
Запрос на товар |
|||
Запрос о наличии товара |
При наличии спроса со стороны клиентов на определенный тип товара оператор отправляет запрос на склад о наличии тех или иных товаров и информации по ним. |
От оператора программы поступает запрос на получение информации по товарам на склад. |
|
Изменения информации о товарах |
Передает обновленную информацию в базу данных. |
Путем вызова хранимых проедур записывает в базу данных обновленную информацию о товарах. |
|
Инзменение информации об изготовителях |
Записывает обновленную информацию в базу данных. |
Путем вызова хранимых проедур записывает в базу данных обновленную информацию об изготовителях. |
|
Информация о наличии товара |
|||
Информация о себе |
Клиент передает информацию о себе опратору, а именно : ФИО, номер паспорта, после чего эти данных вносятся в таблицу, |
Клиент передает оператору, после чего опратор вносит на форму личные данный клиента: фамилию, имя, отчество и номер паспорта. |
|
Информация о существующих клиентах |
Передает информацию о клиентах из базы данных ны форму. |
Передает на форму «клиенты» информацию из таблицы «клиенты». |
|
Информация о товарах |
Передает информацию о товарах из базы данных ны форму. |
Передает на форму «товары» информацию из таблицы «товары», а так же результаты работы хранимых процедур полИзготовитель». |
|
Информация о товарах и заказе |
|||
Информация об изготовителях |
Передает информацию об изготовителях из базы данных ны форму. |
Передает на форму «изготовители» информацию из таблицы «изготовители», содержащую все поля. |
|
Информация об оплате |
Содержит информацию об оплате по заказам |
Отправляет информацию о каждом оплаченном заказе |
|
Информация по изготовителям |
Передает информациб об изготовителях на форму «товары». |
Передает на форму «клиенты» информацию из таблицы «изготовители», а так же результаты работы хранимых процедур «полТовар», «полИзготовитель». |
|
Информация по существующим заказам |
Передает информацию о аказах из базы данных ны форму. |
Передает на форму «заказы» информацию из таблицы «заказы», а так же результаты работы хранимых процедур «полТовар», «полКлиент». |
|
Накладная на товар |
Накладная на товар приходит опретору, после чего информация из неё переносится в базу данных |
Содержит в себе информацию по поставщикам и товарам. Непосредственно с программой не взаимодействует. |
|
Обновление заказа в базе данных |
Передает обновленную информацию в базу данных. |
Путем вызова хранимых проедур записывает в базу данных информацию о заказах. |
|
Сведенья о клиенте |
Перендает на форму заказов информацию о клиенте, который этот заказ осуществил. |
Передает на форму «заказы» код и паспорт клиента. |
|
Data Store
Data Store |
|||
Name |
Note |
Definition |
|
База данных |
База данных содержит 4 таблицы: Клиенты, Товары, Изготовители, Заказы. А так же хранимые процедуры к ним: добавление, изменения, удаление — для всех таблиц и запросы на получение информации по Клиентам (код, паспорт), Изготовителям (код, наименование) и Товарам (код, наименование). Содержит так же триггер на таблице заказов, для автоматического проставления времени обновления заказа и транзакцию и курсор в хранимой процедуре «добавление клиента», для проверки на уже существующие номера паспорта. |
Содержит все данные, которые предоставляет программа. Предназначена для хранения и обработки (в определенных случаях) информации, за счет внутренних средств. |
|
A-0 Автоматизация работы интернет-магазина
Рис 5 — Автоматизация работы интернет — магазина, нулевой уровень
A0 Автоматизация работа интернет-магазина
Рис 6 — Автоматизация работы интернет — магазина, первый уровень