Проект информационной системы учета продаж торговой фирмы

Автор работы: Пользователь скрыл имя, 29 Апреля 2013 в 16:48, курсовая работа

Описание работы

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

Содержание работы

Введение 3
1. Аналитическая часть 5
1.1. Анализ предметной области 5
1.2. Функции автоматизируемого подразделения и схема его информационных потоков 7
1.3. Функциональная модель автоматизируемых процессов 8
1.4. Требования и ограничения проектируемой ИС, выбор средств разработки и его обоснование 14
2. Проектная часть 17
2.1. Модель процессов ИС 17
2.2. Модель данных ИС с использованием стандарта IDEF1X 20
2.3. Программная реализация ИС 25
2.4. График выполнения проекта 32
2.5. Расчет основных экономических показателей 34
Заключение 38
Библиографический список 39

Файлы: 1 файл

Курсовая ПИС Титова.docx

— 600.99 Кб (Скачать файл)

Рис.2.6. Логическая модель данных

 

Физическая  модель данных зависит от конкретной СУБД, в ней содержится информация обо всех объектах базы данных. Поскольку стандартов на объекты базы данных не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД и ее диалекта SQL.

Физическая  модель базы данных представлена на рисунке 2.7.

 

Рис.2.7. Физическая модель данных

Основными объектами  логической модели данных являются сущности, атрибуты и взаимосвязи. Физическая модель данных, как правило, создается  на основе логической, поэтому каждому  объекту логической модели соответствует  объект физической модели (хотя соответствие может быть неоднозначным). В физической модели данных сущности логической модели данных соответствует таблица, экземпляру сущности – строка в таблице, а атрибуту – колонка таблицы.

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

Таблица 2.1

Таблица «Provider»

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

Содержание

Тип

1

Id_prov (ключевое)

Содержит идентификационный номер поставщика

integer

2

Name_p

Содержит название фирмы поставщика

varchar(20)

3

Address_p

Содержит адрес поставщика

varchar(20)


Таблица 2.2

Таблица «TypeTov»

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

Содержание

Тип

1

Id_type (ключевое)

Содержит идентификационный номер категории товара

integer

2

Name_type

Содержит название категории

varchar(20)


 

Таблица 2.3

Таблица «Zakaz»

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

Содержание

Тип

1

N_zakaz (ключевое)

Содержит номер заказа

integer

2

Id_klient

Содержит идентификационный  номер из таблицы Klient

integer

3

Id_prod

Содержит идентификационный  номер из таблицы Product

varchar(20)

4

kolvo

Содержит количество купленного товара

integer

5

Date_zak

Содержит информацию о  дате создания заказа

datetime

6

Id_emp

Содержит идентификационный  номер сотрудника, которым был  создан заказ

integer


 

Таблица 2.4

Таблица «Klient»

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

Содержание

Тип

1

Id_klient (ключевое)

Содержит идентификационный номер заказчика

integer

2

Fam_k

Содержит фамилию заказчика

varchar(20)

3

Name_k

Содержит имя заказчика

varchar(20)

4

Otch_k

Содержит отчество заказчика

varchar(20)

5

adress

Содержит адрес заказчика

varchar(20)

6

Tel

Содержит телефон для  связи с заказчиком

integer

7

E_mail_k

Содержит e-mail для связи с заказчиком

varchar(20)


 

 

 

 

Таблица 2.5

Таблица «Employee»

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

Содержание

Тип

1

Id_emp (ключевое)

Содержит идентификационный номер сотрудника

integer

2

Fam_e

Содержит фамилию сотрудника

varchar(20)

3

Name_e

Содержит имя сотрудника

varchar(20)

4

Otch_e

Содержит отчество сотрудника

varchar(20)

5

Post

Содержит информацию о должности

varchar(20)


 

Таблица 2.6

Таблица «Product»

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

Содержание

Тип

1

Id_prod (ключевое)

Содержит идентификационный номер товара

integer

2

Name_prod

Содержит название товара

varchar(20)

3

cost

Содержит информацию о  цене товара за штуку

integer

4

Id_prov

Содержит информацию о  названии фирмы поставщика

varchar(20)

5

Ed_izmer

Содержит информацию о  единицах измерения товара

integer

6

Id_type

Содержит идентификационный  номер категории, к которой относится  товар

integer

7

Kolvo_skald

Содержит информацию о  количестве товара на складе

integer


 

Для разработки физической и логической моделей использовалось CASE-средство для проктирования баз данных AllFusion Erwin Data Modeler. Реализация физической модели была осуществлена в Microsoft SQL Server 2008 при помощи прямого проектирования.

Ниже приведен фрагмент SQL-кода, который создает связанные таблицы, а именно связывает таблицы товар, поставщик и категория товара:

CREATE TABLE Product

(  id_prod              integer  NOT NULL ,

name_prod            varchar(20)  NULL ,

cost                 integer  NULL ,

ed_izmer             varchar(20)  NULL ,

kolvo_sklad          integer  NULL ,

id_type              integer  NULL ,

id_prov              integer  NULL )

go

CREATE UNIQUE CLUSTERED INDEX XPKТовар ON Product

(  id_prod               ASC )

go

CREATE NONCLUSTERED INDEX XIF1Товар ON Product

(  id_type               ASC )

go

CREATE NONCLUSTERED INDEX XIF2Товар ON Product

(  id_prov               ASC )

go

 

    1.  Программная реализация ИС

 

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

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

Средства MS Visual Studio для работы с БД можно разделить  на 2 вида: инструментальные и компоненты. К инструментальным относятся специальные  программы и пакеты, обеспечивающие обслуживание БД вне приложений. Компоненты предназначены для создания приложений, работающих с БД.

Для работы с БД из инструментальных средств MS Visual Studio возможно использование такой технологии доступа, как ADO.NET. В ADO.NET для представления данных в компьютере служит компонент набора данных DataSet.

Объект DataSet представляет собой коллекцию одну или множество таблиц. Таблицы в пределах набор данных DataSet представляют собой самостоятельные объекты – DataTable. Если DataSet заполняется информацией из набора таблиц исходной базы данных, то в нем будет сформировано и множество объектов DataTable. То есть, каждый объект DataTable обычно соответствует единственной таблице исходной базы данных. Таким образом, DataSet как бы имитирует структуру основной базы данных. 
В объекте DataSet также могут храниться процедуры и реляционные связи между таблицами.

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

Объект DataGridView — автоматически генерирует код процедуры загрузки формы, в результате которого выполниться метод Fill (обновления) адаптеров данных таблиц для SQL Server.

ТableAdapter обеспечивает доступ к таблице БД; он создает набор данных, который передает все данные из физической таблицы БД с помощью ADO.NET.

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

 
Рис.2.8 Схема главного меню приложения

Модуль «Основное  меню» является основным модулем. Его  назначение - выбор дальнейшего действия. Он позволяет загрузить другие модули или осуществить выход из СУБД. Модуль «Выход», осуществляет завершение работы программы.

Модули редактирование «Данных о клиенте», «Данных о поставщике», «Данных о сотруднике», «Данных о товаре», «Данных о сотруднике» просматривают и редактируют соответствующие справочники, т.е. осуществляют добавление, удаление, изменение и сохранение записей справочника.

Модуль редактирование «Заказа» позволяет редактировать соответствующие записи, а также предусмотрен поиск, сортировка, фильтрация, запросы и формирование отчета.

Рассмотрим  схему главного меню приложения (см. рис. 2.9):

Рис.2.9 Схема главного меню приложения

Модулю «Основное меню» соответствует экранная форма «ИС «Берег»».

Форма содержит:

- кнопки перехода  ко всем экранным формам;

- кнопку закрытия  экранной формы;

Форма «ИС «Берег»» позволяет осуществить выбор необходимого модуля посредством нажатия соответствующей кнопки (см. рис.2.10).

Рис.2.10 Схема главного меню приложения

После нажатия кнопки на главной форме, появляется форма справочники, с соответствующей таблицей, в которой происходит редактирование ее данных при помощи (см. рис. 2.11 – 2.12). В открывшейся форме также возможен переход между существующими справочниками, они представлены компонентом TabControl (управление страницами), новые страницы - TabPage.

Рис. 2.11. Форма «Справочники» (таблица Клиенты)

Рис. 2.12. Форма «Справочники» (таблица Сотрудники)

При нажатии на кнопку Заказы на главной форме открывается форма «Заказы». Данная форма является основной и предоставляет возможности (см. рис. 2.13):

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

Рис. 2.13. Форма «Заказ»

Так как таблица «заказ» является операционной, то большинство полей содержат id-значения из других таблиц. Для отображения значений в объекте TableAdapter формируется следующий запрос:

SELECT zakaz.N_zakaz, product.name_prod, zakaz.date_zak, zakaz.kolvo, employee.fam_e, klient.Fam_k

FROM            zakaz INNER JOIN

                         employee ON zakaz.id_emp = employee.id_emp INNER JOIN

                         klient ON zakaz.id_klient = klient.id_klient INNER JOIN

                         product ON zakaz.id_prod = product.id_prod

 

Для таблицы «Общая сумма заказа клиента» используется хранимая процедура:

ALTER PROCEDURE [dbo].[show_summ]

AS

BEGIN

SET NOCOUNT ON;

    Select k.fam_k, sum(z.kolvo) as kolvo,sum(z.kolvo*p.cost) as sum_cost from      klient k INNER JOIN

                      zakaz z ON k.id_klient = z.id_klient INNER JOIN

                      product p ON z.id_prod = p.id_prod

                      group by k.fam_k

END

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

If RBFiltEmp.Checked Then      

            Me.ZakazBindingSource.Filter = "fam_e='" + TBfiltr.Text + "'"

        ElseIf RBFiltKlient.Checked Then  

            Me.ZakazBindingSource.Filter = "fam_k='" + TBfiltr.Text + "'"

        ElseIf RBFiltDate.Checked Then 

            Me.ZakazBindingSource.Filter = "date_zak='" + DateTimePicker1.Text + "'"

        ElseIf RBFiltKolvo.Checked Then 

            Me.ZakazBindingSource.Filter = "kolvo='" + TBfiltr.Text + "'"

        ElseIf RBFiltTov.Checked Then 

            Me.ZakazBindingSource.Filter = "name_prod='" + TBfiltr.Text + "'"

        ElseIf RBFiltNot.Checked Then 

            Me.ZakazBindingSource.Filter = ""

        End If

 

Код для сортировки (аналигичен для остальных форм): при выборе радиокнопки фамилия ‘свойство sort задает имя столбца, используемого для сортировки.

Private Sub RBsortKlient_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBsortKlient.CheckedChanged

Me.ZakazBindingSource.Sort = "fam_k"

End Sub

 

Код для поиска работает по следующему принципу: при выборе необходимой радиокнопки свойство Find возвращает индекс заданного пареметра в объевленном столбце, которое присваивается свойству Position, которое в свою очередь отмечает данный элемент.

If RbFoundKl.Checked Then

            Me.ZakazBindingSource.Position = Me.ZakazBindingSource.Find("Fam_k", TBFound.Text) 

        ElseIf Me.RbFoundTov.Checked Then

            Me.ZakazBindingSource.Position = Me.ZakazBindingSource.Find("Name_prod", TBFound.Text)

        ElseIf Me.RbFoundEmp.Checked Then

            Me.ZakazBindingSource.Position = Me.ZakazBindingSource.Find("fam_e", TBFound.Text)

        End If

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

Dim sqlceCon As New SqlClient.SqlConnection

Информация о работе Проект информационной системы учета продаж торговой фирмы