На логическом уровне БД содержит следующие поля,
представленные в таблице 2:
Таблица 2
|
Кодовый номер |
|
Товар |
|
Материал |
|
Количество |
|
Цена |
|
Страна производитель |
Кодовый номер - это уникальный номер, который выдается изделию при поступлении его на склад мебельного предприятия «Компакт».
Товар - комплектующие, поступившие на склад мебельного предприятия.
Материал - сырье, используемое при производстве товара.
Цена - цена одного комплекта изделия.
Страна производитель - страна, представляющая товар.
После определения логической структуры
информационной базы переходим к следующему этапу разработки информационной базы
- разработка физической структуры. Рассмотрим физическую структуру базы данных
АСОИиУ «Компакт», представленную в таблице 3.
Таблица 3
|
Название таблицы |
Имя поля |
Тип данных поля |
|
Таблица |
Кодовый № Товар Материал Кол-во на складе Цена Страна производитель |
Счетчик Текстовый Текстовый Числовой Числовой Текстовый |
В таблице 3 представлена база данных с именами и типом данных полей.
При проектировании баз данных было выбрано 3 типа значений: Счетчик, Текстовый и Числовой.
Счетчик - хранит число, генерируемое программой Access при вставке новой записи. Каждой записи автоматически присваивается уникальный номер, идентифицирующий ее.
Текстовый - числа, буквы, знаки пунктуации и символы, не более 255 (абзац среднего размера).
Числовой - все многообразие числовых данных, включая отрицательные и дробные числа.
Для создания физической структуры базы данных
выбрано инструментальное программное средство Microsoft Access. На основе
алгоритма создания необходимо во вкладке «Файл» нажать на кнопку «Создать новую
базу данных». Затем вписать в поле имя будущей базы данных (рис. 8).
Рис. 8 Создание физической модели базы данных.
Далее необходимо открыть конструктор таблиц, для
чего в открывшемся окне (рис. 9) выбрать «Конструктор таблиц» .
Рис. 9 Открытие конструктора таблиц.
После запуска «Конструктора таблиц» откроется
следующее окно, которое нужно заполнить данными соответствующей таблицы (рис.
10).
Рис. 10 Пустая форма таблицы.
Для заполнения таблицы необходимо перенести
данные на форму в соответствующие поля через команды «CTRL+C» и «CTRL+V» (рис.
11).
Рис. 11 Таблица в режиме конструктора.
После нажатия «CTRL+S» созданная таблица с
заданным именем будет сохранена в списки. При успешном выполнении всех операций
получим готовую таблицу (рис. 12).
Рис. 12 Разработанная БД для торгового предприятия.
После того, как БД спроектирована на физическом
уровне и заполнена информационными данными, можно её использовать на уровне
этапа рабочего проектирования АСОИиУ.
3.Рабочее проектирование системы
.1 Разработка функциональных задач АРМ
заведующего складом торгового предприятия на базе инструментального
программного средства Delphi
Разработка функциональных задач АРМ на уровне рабочего проектирования выполнялась на базе инструментально программных средств Delphi и его функциональных возможностей.
Рассмотрим реализацию некоторых функциональных задач АРМ, в том числе:
Компоненты, включенные в главное меню системы:
unit Unit1;;.
Дадим перечень описанных компонентов для подключения:Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus, DB, Grids, DBGrids, ADODB, jpeg, ExtCtrls;= class(TForm) : TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TDBGrid;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TADOTable;: TADOConnection;: TDataSource;: TImage;: TAutoIncField;: TWideStringField;: TWideStringField;: TIntegerField;: TIntegerField;: TWideStringField;Button1Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N6Click(Sender: TObject);N7Click(Sender: TObject);N8Click(Sender: TObject);N11Click(Sender: TObject);N9Click(Sender: TObject);N10Click(Sender: TObject);N2Click(Sender: TObject);
{элементы Delphi7 и используемые по наименованию процедуры}
private
{ Private declarations }
{ Public declarations };: TForm1;Unit2, Unit4;
{подключение Unit2 и Unit4(форм поиска и диаграмм)}
{$R *.dfm}
Для подключения к базе данных АРМ и загрузке содержимого используем элементы ADOConnection, DataSource, DBGrid и ADOTable инструментального программного средства по следующему алгоритму:
. Нажав два раза на ADOTable (MebelName), затем правой кнопкой мыши щелкнув, кликнем на New Field, заполнив данными:
MebelNameKod: TAutoIncField;: TWideStringField;: TWideStringField;: TIntegerField;: TIntegerField;: TWideStringField;
Получим таблицу, представленную на рисунке 13:
Рис.13. Элементы ADOTable.
. В DataSource1 в Object Inspector свойства
DataSet выбираем MebelName (рис. 14):
Рис. 14. Object
Inspector элемента
DataSource1.
. В
элементе
DBGrid1 в
Object Inspector свойства
DataSource выбираем
DataSource1 (рис. 15):
Рис. 15. Object
Inspector элемента
DBGrid1.
4. В ADOConnection щелкая два раза попадаем в новое меню, в котором выбираем Use Connection String (рис. 16):
Рис. 16. Компонент ADOConnection1.
. В результате выполненных шагов, нажав на
кнопку Build в Поставщике данных выбираем Microsoft Jet 4.0 OLE DB Provider
(поставщик данных для MS Office Access) (рис.17):
Рис. 17. Свойства связи с данными компонента
ADOConnection1 во вкладке Поставщик данных.
. Далее переходим во вкладку Подключение и указываем путь и имя БД (рис. 18):
Рис. 18. Свойства связи с данными компонента
ADOConnection1 во вкладке Подключение.
. Затем нажимаем на кнопку Проверить подключение
(рис. 19):
Рис. 19. Связь с данными БД.
. После установки связи в Object Inspector компонента ADOConnection1 проставляем LoginPrompt -> False (рис. 20):
Рис. 20. Object
Inspector элемента
ADOConnection1.
9. В компоненте ADOTable в Object Inspector
свойства Active устанавливаем True и получаем (рис. 21):
Рис. 21. Подключенная БД торгового предприятия.
Далее рассмотрим фрагмент программного кода для добавления, удаления и сохранения товара в БД, а также сортировку по различным параметрам:
procedure TForm1. N2Click (Sender: TObject); {добавление товара}.MebelName.Insert;.MebelName.FieldByName(DBGrid1.Columns.Items[1].DisplayName)
.AsString := Self.Edit1.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[2].DisplayName)
.AsString := Self.Edit2.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[3].DisplayName)
.AsString := Self.Edit3.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[4].DisplayName)
.AsString := Self.Edit4.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[5].DisplayName)
.AsString := Self.Edit5.Text;.MebelName.Post;;TForm1.N3Click(Sender: TObject); {удаление товара}MessageDlg ('Удалить запись?', mtConfirmation, [mbYes, mbNo], 0)
= mrNO then Abort;.MebelName.Delete;;TForm1.N4Click(Sender: TObject); {сохранение изменений}MessageDlg ('Сохранить изменения?', mtConfirmation, [mbYes, mbNo], 0)
= mrNO then Abort;Form1.MebelName.Modified then.MebelName.Post;; TForm1.N6Click(Sender: TObject); {сортировка по цене}.MebelName.IndexFieldNames:= 'MebelNameCena';;TForm1.N7Click(Sender: TObject); {сортировка по материалу}.MebelName.IndexFieldNames:= 'MebelNameMaterial';;TForm1.N8Click(Sender: TObject); {сортировка по количеству}.MebelName.IndexFieldNames:= 'MebelNameKolichestvo';
end;
Рассмотрим технологию реализации оформления по формам функциональных задач, по следующему алгоритму:
. Добавляем новую форму (рис. 22):
Рис. 22. Добавление новой формы.
. В открытое пустое окно добавляем необходимые
кнопки, формы для загрузки таблицы, поля для хранения текста и описания к ним
из «Панели инструмента». На рис. 23 представлена главная форма системы и
перечень компонет:
Рис. 23. Пустая форма системы и перечень
компонет
3. Далее располагаем элементы формы для удобного
использования, изменяем название кнопок на функциональные задачи, которые они
выполняют, используя свойства формы, представленные на рисунке 24.
Рис.24. Свойства формы системы.
. В результате выполненных шагов по алгоритму
получаем главную форму системы с реализацией функциональных задач (рис. 25):
Рис. 25. Главная форма системы с ее функциональными задачами.
. После создания формы системы нажимаем на
соответствующую кнопку (например, добавить) и заходим в функцию управления
кнопкой в режиме редактирования кода:
Затем прописываем функции, которые должна выполнять выделенная кнопка:
procedure TForm1.Button1Click(Sender: TObject); {добавление товара}.MebelName.Insert;.MebelName.FieldByName(DBGrid1.Columns.Items[1].DisplayName)
.AsString := Self.Edit1.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[2].DisplayName)
.AsString := Self.Edit2.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[3].DisplayName)
.AsString := Self.Edit3.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[4].DisplayName)
.AsString := Self.Edit4.Text;.MebelName.FieldByName(DBGrid1.Columns.Items[5].DisplayName)
.AsString := Self.Edit5.Text;.MebelName.Post;
end;
Оформление форм выполняются аналогично предыдущему описанию алгоритма. В результате, получаем формы, представленные на рисунке 26 по 32.
Главная форма системы позволяет добавлять
товары, редактировать, удалять и сохранять все изменения в БД. Также можно
отсортировать, имеющиеся данные по цене, материалу и количеству (рис. 26):
Рис. 26. Главная форма системы.
Рис. 27. Элементы меню «Файл».
Рис. 28. Элементы меню «Сортировка».
Полученная форма, представленная на рис. 29
позволит выполнить поиск по трем категориям: товар, материал и страна
производитель.
Рис. 29. Форма Поиска системы.
Рис. 30. Окно поиска по товару.
.2 Разработка системы защиты информации АРМ от несанкционированного доступа
информационный база склад
Большое внимание в настоящее время уделяется вопросам формирования принципов построения механизмов защиты информации (ЗИ). Дадим перечень общих требований к принципам построения механизма защиты информации:
адекватность, т.е. обеспечение требуемого уровня защиты (определяется степенью секретности подлежащей обработке информации) при минимальных издержках на создание механизма защиты и обеспечение его функционирования;
удобство для пользователей, основу чего составляет требование, чтобы механизм защиты не создавал для пользователей дополнительных трудностей, требующих значительных усилий для их преодоления; минимизация привилегий в доступе, предоставляемых пользователям, т.е. каждому пользователю должны предоставляться только действительно необходимые ему права по обращению к ресурсам системы и данным;
полнота контроля, т.е. обязательный контроль всех обращений к защищаемым данным; наказуемость нарушений, причем наиболее распространенной мерой наказания является отказ в доступе к системе;
экономичность механизма, т.е. обеспечение минимальности расходов на создание и эксплуатацию механизма;
несекретность проектирования, т.е. механизм защиты должен функционировать достаточно эффективно даже в том случае, если его структура и содержание известны злоумышленнику.
Сохранность информации может быть нарушена в двух основных случаях: при получении несанкционированного доступа к информации и нарушении функционирования ЭВМ. Предлагаемые и реализованные схемы защиты информации очень разнообразны, что вызвано в основном выбором наиболее удобного и легко осуществимого метода контроля доступа, т.е. изменением функциональных свойств системы.
Рассмотрим реализацию защиты информации АРМ по
торговому предприятию. На рисунке 31 представлена созданная форма защиты
информации от несанкционированного доступа.
Рис. 31. Форма ЗИ от несанкционированного
доступа к системе.
После создания формы защиты информации от несанкционированного доступа нажимаем на соответствующую кнопку ОК и заходим в функцию управления кнопкой в режиме редактирования кода. Затем прописываем функции, которые должна выполнять выделенная кнопка: Unit3;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, jpeg, ExtCtrls;= class(TForm): TEdit;: TEdit;: TLabel;: TButton;: TLabel;: TLabel;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm3;
implementationUnit1, Unit2;
{Подключение Unit1 - Главной формы системы и Unit2 - Формы поиска системы}
begin(); {закрытие программы};.
Если логин и пароль введены правильно, то
выполняется загрузка системы (рис. 32):
Рис. 32. Ввод логина и пароль.
Рис. 33. Вход в систему.
Чтобы не отображались поля Пароль в Object
Inspector в свойстве PasswordChar выставим символ # (рис. 34):
Рис. 34. Object
Inspector компонента
Edit.
Получим окончательную форму защиты информации АСОИиУ от несанкционированного доступа, представленную на рис. 35:
Рис. 35. Форма ЗИ от несанкционированного
доступа.
Если логин или пароль набран неверно, то
выводится сообщение, представленное на рис. 36:
Рис. 36. Сообщение о неверном вводе логина или
пароля.
Заключение
В рамках курсового проекта по дисциплине
«Проектирование АСОИиУ» на основании задания было спроектировано и разработано
Автоматизированное рабочее место заведующего складом торгового предприятия по
технологии, методам и инструментально-программным средствам, изученным по
дисциплине. При проектировании системы была использована каноническая
технология индивидуального (оригинального) метода проектирования, по каскадной
модели на модульной основе с использованием единой информационной базы. При
разработке и оформлении АРМ были использованы нормативные документы на
проектирование, разработку и оформление, указанные в приложении 1.
Проектирование АРМ для торгового предприятия позволило получить и закрепить
практические навыки проведения работ на важнейших стадиях создания АСОИиУ для
более успешного осуществления инженерной деятельности по избранной
специальности.