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

Автор работы: Пользователь скрыл имя, 27 Ноября 2014 в 10:34, курсовая работа

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

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

Файлы: 1 файл

ПИС. Руслан.docx

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

Посредством драйверов ISAM можно получить доступ к файлам таблиц некоторых других форматов: DBASE, Paradox, Excel, текстовым файлам, FoxPro 2.x, а посредством технологии ODBC – и к файлам многих других форматов.

Access  может выступать как в роли OLE контролера, так и ОЕЕ сервера. Это значит, что вы можете контролировать работу приложений Access из любого приложения, при условии, что оно может выступать в роли OLE контролера и наоборот.

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

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

 

2.2 Разработка  логической модели

Опишем сущности и атрибуты.

Таблица 2.1. Сущность Заказчик

Поле

Тип поля

Код_заказчика

Счетчик

ФИО

Строковый [25]

Адрес

Строковый [25]

Телефон

Строковый [15]


 

Таблица 2.2. Сущность Разносчик

Поле

Тип поля

Код_разносчика

Счетчик

ФИО

Строковый [25]

Телефон

Строковый [15]


 

Таблица 2.3. Сущность Товар

Поле

Тип поля

Код_товара

Счетчик

Наименование

Строковый [25]

Группа

Строковый [15]

Цена

Числовой


 

Таблица 2.4. Сущность Журнал

Поле

Тип поля

Код_журнала

Счетчик

Заказчик

Числовой

Разносчик

Числовой

Сумма

Числовой

Дата

Дата


 

 

 

 

Таблица 2.5. Сущность Детализация

Поле

Тип поля

Код_детализации

Счетчик

Журнал

Числовой

Товар

Числовой

Количество

Числовой


 

2.3 Разработка  физической модели

Физическая модель, разработанная в MS Access, представлена на рис. 2.1.

Рис. 2.1. Физическая модель

 

 

 

3. РЕАЛИЗАЦИЯ ПРОЕКТА

3.1 Серверная  часть

Серверная часть в данном курсовой проекте представлена базой данных MS Access bd.mdb.

База данных хранит все данные, необходимые для работы разрабатываемой системы.

Для связи сервера и клиента используется технология ADO.

Технология ADO является моделью доступа к базам данных и представляет собой объектно-ориентированный интерфейс для технологии доступа к данным OLE DB.

ADO поддерживает ключевые  возможности для построения клиент/серверных и Web-приложений, а также обеспечивает функции Remote Data Service (RDS), посредством которого можно перемещать данные с сервера в клиентское приложение или на Web-страницу, манипулировать данными «на стороне клиента» и возвращать обновленные данные серверу.

 

Рис. 3.1. Таблицы базы данных

 

 

 

3.2 Клиентская часть

Клиентская часть разработана в Delphi 7 и представляет собой интерфейс пользователя с функциями для управления базой данных.

Опишем основные алгоритмы клиентской части.

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





 








 

Рис. 3.2. Схема алгоритма добавления и редактирования данных

 

Исходный код:

procedure TForm3.Button2Click(Sender: TObject);

begin

if Edit1.Text='' then

begin

  showmessage('Введите ФИО!');

  Edit1.SetFocus;

  exit;

end;

if Edit2.Text='' then

begin

  showmessage('Введите Адрес!');

  Edit2.SetFocus;

  exit;

end;

if Edit3.Text='' then

begin

  showmessage('Введите телефон!');

  Edit3.SetFocus;

  exit;

end;

if Form3.Caption='Добавление' then

Form2.ADOQuery1.Insert

else

Form2.ADOQuery1.Edit;

Form2.ADOQuery1.FieldValues['ФИО']:=Edit1.Text;

Form2.ADOQuery1.FieldValues['Адрес']:=Edit2.Text;

Form2.ADOQuery1.FieldValues['Телефон']:=Edit3.Text;

Form2.ADOQuery1.UpdateRecord;

Form2.ADOQuery1.Last;

Form2.ADOQuery1.First;

Button1Click(Sender);

end;

 

 

 

 

 

 










 

Рис. 3.3. Схема алгоритма удаления данных

 

Исходный код:

procedure TForm2.Button3.Click(Sender: TObject);

begin

with Application do

  begin

  if MessageBox('Вы  хотите удалить запись?', 'Удаление', MB_OKCANCEL)=IDOK then

    ADOQuery1.Delete;

  end;

end;

 

3.3 Реализация  запросов

В разрабатываемой системе использовались SQL-запросы для получения данных.

SQL запросы обычно выполняют  следующие задачи:

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

Примеры использования SQL-запросов:

ADOQuery1.SQL.Clear;

st:='SELECT Журнал.Код_журнала, Заказчики.ФИО, Разносчики.ФИО, Журнал.Сумма, Журнал.Дата ';

st:=st+'FROM Журнал,Заказчики, Разносчики WHERE (Журнал.Заказчик=Заказчики.Код_заказчика) AND ';

st:=st+'(Журнал.Разносчик=Разносчики.Код_разносчика) ORDER BY Журнал.Дата';

ADOQuery1.SQL.Add(st);

ADOQuery1.Open;

 

st:='SELECT Товары.Наименование, Детализация.Количество FROM Детализация, Товары ';

st:=st+'WHERE (Товары.Код_товара=Детализация.Товар) AND (Детализация.Журнал='+IntToStr(ADOQuery1.FieldValues['Код_журнала'])+')';

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add(st);

ADOQuery2.Open;

 

 

4. ЭКСПЛУАТАЦИЯ И СОПРОВОЖДЕНИЕ  ПРОЕКТА

При запуске программы на выполнение на экран выводится главная форма программы.

Главная форма программы содержит пользовательское меню:

    • Справочник (Заказчик, Разносчик, Товар) – работа со справочниками;
    • Выход – завершение работы программы.

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

Главная форма представлена на рис. 4.1.

Рис. 4.1. Главная форма программы

 

Рассмотрим работу со справочниками на примере справочника «Заказчики». Форма содержит таблицу с данными и кнопки управления.

Все справочники имеют одинаковые функции:

    • Добавление;
    • Редактирование;
    • Удаление;
    • Выход.

Форма справочника Заказчиков представлена на рис. 4.2.

Рис. 4.2. Форма справочника Заказчиков

 

При нажатии кнопки Добавить на экране появится форма с полями для ввода новой записи (рис. 4.3.).

Рис. 4.3. Окно Добавление

 

Для добавления новой записи необходимо заполнить все поля и нажать кнопку «Сохранить». Если какое-нибудь поле не заполнено, то выдается соответствующее сообщение и предлагается повторить ввод.

Рис. 4.4. Сообщение об ошибке

 

Кнопка «Отмена» не сохраняет введенные данные и закрывает форму.

 

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

Рис. 4.5. Редактирование записи

 

После нажатия кнопки «Удаление» программа выдаст запрос на подтверждение удаления записи. После подтверждения запись будет удалена.

 

 

Рис. 4.6. Запрос на удаление записи

 

Рассмотрим технологию добавления заказ в журнал.

На главной форме необходимо нажать кнопку «Добавить», появится форма добавления заказа, рис. 4.7.

Рис. 4.7. Форма добавления заказа

 

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

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

Рис. 4.8. Форма указания количества товара

 

После нажатия кнопки «Ок» товар добавится в верхнюю таблицу и автоматически изменится сумма заказа.

Рис. 4.9. Результат добавления заказа

 

После составления списка товаров выбирается заказчик, разносчик и дата. Нажимается кнопка «Сохранить» и данные записываются в базу данных.

 

Рис. 4.10. Результат добавления заказа

 

 

 

ЗАКЛЮЧЕНИЕ

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

Были определены сущности и атрибуты базы данных, разработаны UML-диаграммы системы. Разработана физическая база данных и клиентское приложение.

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

 

 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

    1. Аппак М.А. Автоматизированные рабочие места на основе персональных ЭВМ. – М.: Радио и связь, 2009. – 176 с.
    2. Гольдштейн С.Л, Ткаченко Т.Я. Введение в системологию и системотехнику / С.Л. Гольдштейн. – ИРРО. Екатеринбург, 2010. – 198 с.
    3. Глушаков С.В., Ломотько Д.В. Базы данных: Учебный курс. – М.: Издательство АСТ, 2008. – 504 с.
    4. Дюк В.А. Обработка данных на ПК в примерах. – СПб: Питер. 1997;
    5. Марк Д.А. Методология структурного анализа и проектирования SADT. – М : Метатехнология, 2009. – 242 с.
    6. Сеннов А.С. Access 2003 Практическая разработка баз данных, Питер, 2005;
    7. Симонович, Евсеев Занимательное программирование: Delphi. М.: АСТ-ПРЕСС, 2001;
    8. Шуремов Е.Л. Компьютерный учет торговых операций: Практическое пособие/. –М.: КомпьютерПресс, 2000;

 

 

ПРИЛОЖЕНИЯ

unit Unit1;

 

interface

 

uses

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

  Dialogs, XPMan, Menus, StdCtrls, DB, ADODB, Grids, DBGrids;

 

type

  TForm1 = class(TForm)

    XPManifest1: TXPManifest;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    ADOConnection1: TADOConnection;

    GroupBox1: TGroupBox;

    GroupBox2: TGroupBox;

    Button1: TButton;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    ADOQuery1: TADOQuery;

    DataSource1: TDataSource;

    ADOQuery2: TADOQuery;

    DataSource2: TDataSource;

    ADOQuery3: TADOQuery;

    procedure N2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure DBGrid1CellClick(Column: TColumn);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

uses Unit2, Unit4, Unit6, Unit8;

 

{$R *.dfm}

 

procedure TForm1.N2Click(Sender: TObject);

begin

Form1.Close;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

var

sdr,st:string;

begin

Screen.Cursor := crSQLWait;

sdr:='';

sdr:=sdr+'Provider=Microsoft.Jet.OLEDB.4.0;';

sdr:=sdr+'Password="";';

sdr:=sdr+'User ID=Admin;';

sdr:=sdr+'Data Source='+ ExtractFileDir(Application.ExeName)+'\bd.mdb;';

sdr:=sdr+'Mode=ReadWrite;Extended Properties="";';

sdr:=sdr+'Jet OLEDB:System database="";';

sdr:=sdr+'Jet OLEDB:Registry Path="";';

sdr:=sdr+'Jet OLEDB:Database Password="";';

sdr:=sdr+'Jet OLEDB:Engine Type=5;';

sdr:=sdr+'Jet OLEDB:Database Locking Mode=1;';

sdr:=sdr+'Jet OLEDB:Global Partial Bulk Ops=2;';

sdr:=sdr+'Jet OLEDB:Global Bulk Transactions=1;';

sdr:=sdr+'Jet OLEDB:New Database Password="";';

sdr:=sdr+'Jet OLEDB:Create System Database=False;';

sdr:=sdr+'Jet OLEDB:Encrypt Database=False;';

sdr:=sdr+'Jet OLEDB:Compact Without Replica Repair=False;';

sdr:=sdr+'Jet OLEDB:SFP=False';

ADOConnection1.ConnectionString:=sdr;

 

 

try

ADOConnection1.Connected:=true;

ADOQuery1.SQL.Clear;

st:='SELECT Журнал.Код_журнала,Заказчики.ФИО,Разносчики.ФИО,Журнал.Сумма,Журнал.Дата ';

st:=st+'FROM Журнал,Заказчики, Разносчики WHERE (Журнал.Заказчик=Заказчики.Код_заказчика) AND ';

st:=st+'(Журнал.Разносчик=Разносчики.Код_разносчика) ORDER BY Журнал.Дата';

ADOQuery1.SQL.Add(st);

ADOQuery1.Open;

DBGrid1.Columns[0].Width:=0;

 

st:='SELECT Товары.Наименование, Детализация.Количество FROM Детализация, Товары ';

st:=st+'WHERE (Товары.Код_товара=Детализация.Товар) AND (Детализация.Журнал='+IntToStr(ADOQuery1.FieldValues['Код_журнала'])+')';

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add(st);

ADOQuery2.Open;

except

showmessage('Ошибка');

end;

 

screen.Cursor:=crdefault;

end;

 

procedure TForm1.N3Click(Sender: TObject);

begin

Form2.ShowModal;

end;

 

procedure TForm1.N4Click(Sender: TObject);

begin

Form4.ShowModal;

end;

 

procedure TForm1.N5Click(Sender: TObject);

begin

Form6.ShowModal;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

st:String;

begin

Form8.Caption:='Добавление';

ADOQuery3.SQL.Clear;

ADOQuery3.SQL.Add('SELECT MAX(Код_журнала) AS num FROM Журнал');

Информация о работе Разработка информационной системы для фирмы по обслуживанию клиентов