Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка регламента выполнения процесса «Управление запасами»

Содержание:

Введение

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

Программа «Автоматизация деятельности ателье» представляет собой автоматизированную систему. В базу данных программы внесены данные о клиентах, сотрудниках, изделиях, материалах, цветах материалов, заказов.

При заказе клиент выбирает изделие, его детали. Работники ателье снимают мерки. Назначается примерка.

Данная программа позволяет автоматизированным путем вести учет о сделанных заказах.

Проект выполнен в Delphi, для создания базы данных использована СУБД Access.

Цель курсовой работы – разработка программы для автоматизации работы ателье.

Для достижения поставленной цели необходимо:

1. Определить требования к разрабатываемой системе;

2. Провести проектирование базы данных;

3. Разработать программу.

1 Постановка задачи и разработка базы данных

1.1 Анализ и постановка задачи

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

Назначение программы «Автоматизация деятельности ателье » - учет заказов ателье.

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

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

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

- спроектировать таблицы, удобные для учета информации в базе данных;

- обеспечить возможность выбора необходимой информации из таблиц и получение запросов и отчетов по этим данным;

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

- создать удобный интерфейс пользователя.

1.2 Анализ ликвидности коммерческого банка

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

1.2 Определение сущностей

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

Исходя из предметной области задачи, информационная система содержит следующие сущности:

Клиент — лицо, желающее получить изделие.

Заказ – информация о выборе клиента.

Изделие — то, что может сшить ателье.

Заказ-Изделие-Деталь — связь одного изделия с несколькими деталями.

Детали — дополнения к изделию.

Группа_Мастеров — несколько сотрудников, работающих над заказом.

Сотрудники — работники ателье.

1.3 Определение взаимосвязей между сущностями

Существующие взаимосвязи между сущностями.

Клиент делает заказ. Один клиент может сделать несколько заказов.

Заказ выполняет Группа мастеров. Одна группа может выполнять несколько заказов.

Группа мастеров связана с Сотрудником. В группе мастеров несколько сотрудников.

В Заказе фиксируется Изделие. Одно изделие может быть зафиксировано в нескольких заказах.

В Заказ-Изделие-Деталь клиент выбирает детали для изделия указанного в заказе.

Связи между сущностями определяется: один ко многим.

1.4 Задание первичных и альтернативных ключей, определение атрибутов сущностей

На данном этапе были определены атрибуты сущности, а также альтернативные, первичные и вторичные ключи, как приведено в таблице1.

Таблица 1 – Атрибуты и первичные ключи

Сущность

Вид

Первичный ключ

Вторичный ключ

Атрибуты

Заказ

Входные

КодЗаказа

КодКлиента

ГруппаМастеров

КодИзделия

Размеры

Доп_описание

ДатаЗаказа

ДатаПримерки

ДатаВыполнения

Стоимость

Заказ-Изделие-Детали

Входные

КодЗаказа

КодДетали

Изделия

Входные

КодИзделия

Изделие

Стоимость

Детали

Входные

КодДетали

Деталь

Стоимость

Клиенты

Входные

КодКлиента

Фамилия

Имя

Отчество

Адрес

Телефон

Сотрудники

Входные

КодСотрудника

ГруппаМастеров

Фамилия

Имя

Отчество

Группа_Мастеров

Входные

ГруппаМастеров

Название

1.5 Создание физической модели данных

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

Рисунок 1 – Схема данных

1.6 Описание физической модели

Описание физической модели базы приведено в таблице 2.

Таблица 2 – Описание физической модели

Имя поля

Тип данных

Размерность

Примечание

Заказ

КодЗаказа

Счетчик

Длинное целое

Первичный ключ

КодКлиента

Числовой

Длинное целое

ГруппаМастеров

Числовой

Длинное целое

КодИзделия

Числовой

Длинное целое

Размеры

Текстовый

50

Доп_описание

Текстовый

50

ДатаЗаказа

Дата/Время

Длинный формат даты

ДатаПримерки

Дата/Время

Длинный формат даты

ДатаВыполнения

Дата/Время

Длинный формат даты

Стоимость

Денежный

Денежный

Заказ-Изделие-Детали

25

КодЗаказа

Числовой

Длинное целое

Индексированное поле

КодДетали

Числовой

Длинное целое

Изделия

Продолжение таблицы 2

Имя поля

Тип данных

Размерность

Примечание

Клиенты

КодКлиента

Счетчик

Длинное целое

Первичный ключ

Фамилия

Текстовый

25

Имя

Текстовый

25

Отчество

Текстовый

25

Адрес

Текстовый

40

Телефон

Текстовый

11

Сотрудники

КодКлиента

Счетчик

Длинное целое

Первичный ключ

Фамилия

Текстовый

25

Имя

Текстовый

25

Отчество

Текстовый

25

ГруппаМастеров

Числовой

Длинное целое

Группа_Мастеров

ГруппаМастеров

Счетчик

Длинное целое

Первичный ключ

Название

Текстовый

25

1.7 Требования, предъявляемые к базе

При разработке базы данных я руководствовалась требованиями:

  • независимость данных:
  1. независимость прикладных программ от физической организации данных в базе и методов доступа;
  2. независимость базы данных от физической организации памяти и аппаратной конфигурации системы;
  • разнообразие данных, их связываемость и произвольные структуры:
  1. определение широкого набора типов данных;
  2. установление произвольных структурных связей и отношений между элементами данных;
  3. автоматическое поддержание связей, их произвольное и быстрое обновление;
  • неизбыточность данных. Реализовать это требование позволяет независимость данных от программ их обработки. Отсутствие избыточности ведет к ускорению обновления данных;
  • целостность данных. Ограничения целостности – это набор определенных правил, которое устанавливают допустимость данных и связей между ними. Ограничения целостности определяются особенностями предметной области и могут относиться к разным объектам базы данных: атрибутами, записями, отношениями, связями и т.п.;
  • использование различных стратегий поиска. Наиболее широко используются два метода данных:
  1. непосредственный выбор (поиск по ключу);
  2. выбор данных по значению, т.е. данных, значения которых (или значения отдельных их полей) удовлетворяют заданному запросу.
  • ограниченность доступа. Необходимо обеспечить защиту от неавторизованного доступа по отношению к:
  1. элементам данных;
  2. операциям (для каждого типа пользователя определяется список допустимых операций);
  3. пользователям (списки пользователей и их полномочий);
  4. точкам связи с базой данных (терминалам, временным интервалам и т.д.).

На данном этапе были определены требования к базе. И большая часть из них была выполнена. Не выполненными остались: ограниченность доступа к базе данных. На этом проектирование базы можно считать законченным.

2 Разработка программы «Автоматизация деятельности ателье»

2.1 Технология разработки интерфейса пользователя

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

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

  1. алгоритм работы программной среды. На этом этапе определяется взаимосвязь между программными модулями и выполняемыми ими функциями;
  2. разработка интерфейса пользователя. Предполагает взгляд на систему со стороны, оценка внешнего вида программы и интерактивности и уместности ее элементов с точки зрения типичного представителя группы конечных пользователей разрабатываемого приложения;
  3. создание запросов пользователя Для динамического отображения данных, действительно необходимых пользователю, использованы запросы на языке SQL.
  4. создание форм для ввода информации в систему. Помогает должным образом организовать парольную защиту, внесение изменений в таблицы, корректное выполнение пользовательских запросов.
  5. создание отчетов. Является логичным завершением операции выборки данных из таблицы и вывода их на печать.

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

При разработке интерфейса я руководствовалась следующими принципами:

- стандартизация – рекомендуется использовать стандартные, проверенные многими программистами и пользователями интерфейсные решения. Под решениями подразумеваются дизайн форм, распределение элементов управления в формах, их взаимное расположение, названия команд меню;

- удобство и простота работы – интерфейс должен быть интуитивно понятным, желательно, чтобы все действия легко запоминались и не требовали утомительных процедур: выполнения дополнительных команд, лишних нажатий на кнопки, вызова промежуточных диалоговых окон;

- внешний дизайн не должен утомлять зрение, он должен быть рассчитан на длительную работу пользователя с приложение в течение дня;

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

- группировка – элементы управления в форме необходимо группировать по смыслу, используя элементы группировки: рамки, фреймы;

- разреженность объектов форм – элементы управления следует располагать на некотором расстоянии, а не лепить друг на друга; для выделения элементов управления можно организовать пустые пространства в форме.

2.2 Работа с данными

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

2.3 Назначение программной среды

Программа «Автоматизация деятельности ателье» представляет автоматизированное рабочее место для выполнения следующих задач:

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

2.4 Инструкция пользователя

Работа с приложением для пользователя начинается с запуска файла Project1.exe. На главной форме располагаются три основные кнопки, и меню.

Рисунок 2 – Изображение главной формы

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

Рисунок 3 – Форма «Справочники»

В меню Мастера две вкладки Сотрудники и Группы мастеров, в них располагается информация о сотрудниках и группах мастеров, которую мы можем просмотреть и отредактировать.

Рисунок 4 – Форма «Сотрудники»

В меню Клиенты мы можем добавить нового клиента, удалить его, редактировать данные о клиенте, просмотреть.

Рисунок 5 – Форма «Клиенты»

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

Рисунок 6 – Форма «Заказы»

По кнопке Оформить заказ, попадаем на форму Оформление заказа, где формируем заказ.

Рисунок 7 – Форма «Оформление заказа»

2.5 Работа с запросами

В программе разработан запрос. Это запрос на поиск заказов по фамилии клиента. Он осуществлен следующим образом. Когда пользователь вводит фамилию клиента – автоматически включается запрос и проверяется условие, какие заказы сделал этот клиент.

with DataModule2.ADOQuery1 do begin

sql.clear;

active:=false;

sql.Add('select*');

sql.Add('from Заказ з,Клиенты к');

sql.Add('where к.Фамилия like '''+Edit1.text+'%''');

sql.Add('and к.КодКлиента=з.КодКлиента');

active:=true;

  1. Входные данные

База данных MS Access с таблицами.

Таблица «Заказ»:

Таблица «Сотрудники»:

Таблица «Клиенты»:

Таблица «Изделия»:

Таблица «Группа_Мастеров»:

Заключение

Для малых производственных и складских предприятий, предприятий розничной торговли автоматизация работы – это главное условие полноценного роста и развития бизнеса.

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

Но когда речь идет о малом бизнесе, есть одна проблема – небольшое предприятие не всегда имеет достаточно ресурсов для проведения комплексной автоматизации. Отсутствие собственного штата ИТ-специалистов и понимания главных задач процесса не позволяет самостоятельно решить эту задачу.

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

Данная программа позволяет автоматизированным путем вести учет заказов.

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

  1. Jesse R.H., Delphi (язык программирования) [Текст] / R.H. Jesse - М.: VSD, 2012. – 114 с.
  2. Акимов А. Г. Автоматизированная система электронного контроля // Молодой ученый. - 2013. - №11. - С. 39-40.
  3. Архангельский А.Н., Delphi 2006. Справочное пособие: Язык Delphi, классы, функции Win32 и NET [Текст] / А.Н. Архангельский - М.: Бином. Лаборатория знаний, 2015. 1152 с.
  4. Архангельский А.Н., Приемы программирования в Delphi на основе VCL [Текст] / А.Н. Архангельский - М.:Бином. Лаборатория знаний, 2013. - 944 с.
  5. Баженова И.Ю., Основы проектирования приложений баз данных [Текст] / И.Ю. Баженова - М.:Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 261 с.
  6. Виснадул Б.Д., Технология разработки программного обеспечения [Текст] / Б.Д. Виснадул - М.:Форум, 2016. – 400 с.
  7. Голицына О.Л., Основы проектирования баз данных. [Текст]: Учебное пособие /О.Л. Голицына - М.: Форум, 2016. – 416 с.
  8. Грекул В.И., Управление внедрением информационных систем [Текст] / В.И. Грекул - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2014. – 224 с.
  9. Григорьев М.В. Проектирование информационных систем: учебное пособие для вузов [Текст] / М.В. Григорьев, И.И. Григорьева. - М.: Издательство Юрайт, 2016. - 318 с.
  10. Джесси Р., Проектирование баз данных [Текст] / Р. Джесси - М.: VSD, 2013. – 100 с.
  11. Заботина Н., Проектирование информационных систем [Текст] / Н. Заботина - М.: Инфра-М, 2016. – 331 с.
  12. Илюшечкин В.М., Основы использования и проектирования баз данных. Учебник для академического бакалавриата [Текст] / В.М. Илюшечкин - М.: Юрайт, 2015. – 213 с.
  13. Информационные системы в экономике: учебник для академического бакалавриата [Текст] / В.Н. Волкова, В.Н. Юрьев, С.В. Широкова, А.В. Логинова; под ред. В.Н. Волковой, В.Н. Юрьева. - М.: Издательство Юрайт, 2016. - 402 с.
  14. Информационные системы и технологии в экономике и управлении: учебник для академического бакалавриата [Текст] / В.В. Трофимов [и др.]; под ред. В.В. Трофимова. - 4-е изд., перераб. и доп. - М.: Издательство Юрайт, 2016. - 542 с.
  15. Исаев Г.Н., Проектирование информационных систем [Текст]: учебное пособие / Г.Н. Исаев - М.: Омега-Л, 2013. – 424 с.
  16. Карминский А.М., Методология создания информационных систем [Текст] / А.М. Карминский - М.: Инфра-М, 2016. – 320 с.
  17. Коберн А., Быстрая разработка программного обеспечения [Текст] / А. Коберн - М.: Лори, 2014. – 314 с.
  18. Коваленко В.И., Проектирование информационных систем [Текст] / В.И. Коваленко - М.: Форум, 2015. – 320 с.
  19. Кон М., Scrum: гибкая разработка ПО. Описание процесса успешной гибкой разработки программного обеспечения [Текст] / М. Кон - М.: Вильямс Диалектика, 2016. – 576 с.
  20. Кон М., Пользовательские истории: гибкая разработка программного обеспечения [Текст] / М. Кон - М.: Вильямс Диалектика, 2012. – 256 с.

Приложение А

Фрагмент программного кода

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Buttons,

ADODB, DB;

type

TDataModule2 = class(TDataModule)

ADOConnection1: TADOConnection;

ADODetali: TADOTable;

ADOIzdelia: TADOTable;

ADOKlient: TADOTable;

ADOSotrydnik: TADOTable;

DataZakaz: TDataSource;

DataDetali: TDataSource;

DataIzdelia: TDataSource;

DataKlient: TDataSource;

DataSotrydnik: TDataSource;

ADOQuery1: TADOQuery;

ADOGruppaMaster: TADOTable;

ADOZakIzdDet: TADOTable;

DataGruppaMaster: TDataSource;

DataZakIzdDet: TDataSource;

ADOQuery1WideStringField: TWideStringField;

ADOQuery1_: TWideStringField;

ADOQuery1DateTimeField: TDateTimeField;

ADOQuery1DateTimeField2: TDateTimeField;

ADOQuery1Field: TStringField;

ADOQuery1Field2: TStringField;

ADOQuery1DateTimeField4: TDateTimeField;

ADOQuery1BCDField: TBCDField;

ADOQuery1AutoIncField: TAutoIncField;

ADOQuery1IntegerField2: TIntegerField;

ADOQuery1IntegerField3: TIntegerField;

ADOQuery1IntegerField: TIntegerField;

ADOQuery1Field3: TStringField;

DataSource1: TDataSource;

ADOKlientAutoIncField: TAutoIncField;

ADOKlientWideStringField: TWideStringField;

ADOKlientWideStringField2: TWideStringField;

ADOKlientWideStringField3: TWideStringField;

ADOKlientWideStringField4: TWideStringField;

ADOKlientWideStringField5: TWideStringField;

ADOZakIzdDetIntegerField: TIntegerField;

ADOZakIzdDetIntegerField2: TIntegerField;

ADOZakIzdDetField: TStringField;

ADOZakIzdDetField2: TCurrencyField;

ADOQuery2: TADOQuery;

DataSource2: TDataSource;

ADOTable1: TADOTable;

DataSource3: TDataSource;

ADOZakaz: TADOTable;

ADOSotrydnikAutoIncField: TAutoIncField;

ADOSotrydnikWideStringField: TWideStringField;

ADOSotrydnikWideStringField2: TWideStringField;

ADOSotrydnikWideStringField3: TWideStringField;

ADOSotrydnikIntegerField: TIntegerField;

ADOSotrydnikField: TStringField;

procedure ADOZakazCalcFields(DataSet: TDataSet);

procedure ADOColorBeforePost(DataSet: TDataSet);

procedure ADODetaliBeforePost(DataSet: TDataSet);

procedure ADOIzdeliaBeforePost(DataSet: TDataSet);

procedure ADOMaterialBeforePost(DataSet: TDataSet);

procedure ADOZakazBeforePost(DataSet: TDataSet);

procedure ADOKlientBeforePost(DataSet: TDataSet);

procedure ADOSotrydnikBeforePost(DataSet: TDataSet);

procedure ADOGruppaMasterBeforePost(DataSet: TDataSet);

procedure ADOZakIzdDetBeforePost(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;

{$R *.dfm}

procedure TDataModule2.ADOColorBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADODetaliBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOGruppaMasterBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOIzdeliaBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOKlientBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOMaterialBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOSotrydnikBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOZakazBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

procedure TDataModule2.ADOZakazCalcFields(DataSet: TDataSet);

begin

end;

procedure TDataModule2.ADOZakIzdDetBeforePost(DataSet: TDataSet);

begin

if application.MessageBox(Pchar('Вы хотите сохранить изменения?'),'Сохранение',mb_YESNO)=id_no then

abort;

end;

end.