1.2.3 Структурный анализ с помощью диаграмм потоков данных
При проектировании системы необходимо описать разработку и внедрение всего комплекса проблем, которые необходимо решить, указанием того, какие функции системы должны быть автоматизированы, определением точек интерфейса человек-машина и того, как взаимодействует система со своим окружением. Иными словами, этап проектирования системы является критическим для создания высококачественных систем. Системное проектирование – это дисциплина, определяющая подсистемы, компоненты и способы их соединения, задающая ограничения, при которых система должна функционировать, выбирающая наиболее эффективное сочетание людей, машин и программного обеспечения для реализации системы. SADT – одна из известных систем проектирования. SADT– аббревиатура слов StructuredAnalysisandDesignTechnique (Технология структурнрго анализа и проектирования)–это графическое обозначение и подход к написанию систем.
Для структурного анализа с помощью диаграмм потоков данных было использовано три уровня SADT – диаграммы.
На нулевом уровне SADT – диаграммы (см. приложение) показана главная функция – оказание бытовых услуг в фотоателье. Выполнение этой функции возможно благодаря входным данным, к которым относятся денежные средства, заказ (заявка), рыночная информация, закупленные материалы, информация о клиентах, жалобы и предложения. Выполнение основной функции возложено на оператора и компьютер (механизм исполнения), управляющие потоки контролируют процесс выполнения функции. К управляющим потокам относятся законы, налоги, рыночные условия, требования клиентов, сроки исполнения заказов. Личную карточку заводят сотрудники отдела кадров. К выходным потокам относятся фотопродукция, выручка (прибыль), специфические документы (формы; подробнее см. на диаграмме).
На первом уровне SADT – диаграммы (см. приложение) детализируется главная функция. На этом уровне отражены главные функции фотоателье: закупка материалов, их транспортировка, складирование и учет, обслуживание клиентов и внутренний контроль качества. Все эти подфункции с точки зрения потоков данных связаны между собой.
На втором уровне SADT – диаграммы (см. приложение) детализируется подфункция «Обслуживание клиентов». Данная подфункция включает в себя: оформление заказа (заявки), изготовление фотопродукции и продажа сопутствующих материалов, работа с клиентами.
1.2.4 Структурный анализ с помощью диаграмм «сущность-связь»
В автоматизируемой подфункции «Обслуживание клиентов» можно выделить несколько сущностей, вытекающих из используемых документов и процесса бытового обслуживания в фотоателье. Три основные таблицы являются независимыми и предоставляют внешние ключи другим сущностям (услуга, заказчик, материал). Таблица «услуга» содержит ключевое поле «код_услуги». Таблица «заказчик» содержит в качестве ключевого поле «номер_паспорта», и таблица «материал» – «код_материала». Сущность «квитанция» зависит от сущностей «услуга» и «заказчик» и содержит кроме первичного ключа «номер_квитанции» два внешних ключа: «код_услуги» и «номер_паспорта», предоставляемых соответственно сущностями «услуга» и «заказчик». Сущность «фотография» содержит первичный ключ «серия_номер» и внешний ключ «номер_паспорта», эта сущность зависит от «заказчика». Сущности «накладная» и «расход» похожи и зависят от сущности «материал», наследуя внешним ключом «код_материала». Первичными ключами являются номера документов («номер_накладной» и «номер_расх» соответственно). Необходимо отметить, что наличие двух внешних ключей в сущности «квитанция» обуславливает особенности реализации ее в интегрированной среде разработки Delphi, а именно один из внешних ключей автоматически контролируется при работе программы, а второй – обрабатывается с помощью небольшого кода. Так, например, при добавлении записи значение одного из внешних ключей прописывается автоматически, значение второго – задается программно.
2. Реализация информационной системы средствами объектно-ориентированного языка Delphi
2.1 Аппаратная часть задачи
Программа тестировалась на компьютере следующей конфигурации:
- процессор Pentiun 133;
- 32 Мб оперативной памяти;
- 25 Мб свободного пространства на жестком диске;
- видеорежим 800 на 600 точек (минимальное допустимое), 16 бит на цвет;
- манипулятор «мышь»;
- операционная система Windows 98 ВР;
- принтер желателен, но необязателен;
Для функционирования программы необходимо наличие следующих файлов:
1. fotolab.exe (исполнимый модуль программы);
2. fotolab.hlp (файл справочной информации по программе);
3. foto.db (сущность «фотография»);
4. kvitancia.db (сущность «квитанция»);
5. material.db (сущность «материал»);
6. naklad.db (сущность «накладная»);
7. rashod.db (сущность «расход»);
8. uskuga.db (сущность «услуга»);
9. zakazchik.db (сущность «заказчик»);
10. другие файлы, с названиями, соответствующими названиям сущностей;
11. dbdwork.ini.
При, работе с программой могут создаваться файлы SQL запросов, сохраняемые обычно в папке SQL в обычном текстовом формате. Запросы могут быть отредактированы в любом текстовом редакторе или из программы. Также из окна просмотра квитанции и талона можно сохранять их как файлы отчетов (*.qrp).
2.2 Обоснование выбора среды разработки и стиля программирования
В качестве стиля программирования, выбран объектно-ориентированный язык, основанный на ObjectPascal. В качестве среды программирования – интегрированная среда разработки Delphi 5, которая является одной из лучших ИСР для быстрого создания приложений благодаря библиотеке VCL (библиотека визуальных компонентов). Из всех известных средств разработки программных продуктов, Delphi является одним из самых лучших по следующим причинам:
1) пакет Delphi совместно с включёнными в него дополнительными программами предоставляет разработчику большой объём возможностей по созданию программ, предназначенных для работы с базами данных. BorlandDatabaseEngine (BDE) является мировым стандартом ядра для СУБД;
2) в пакете Delphi есть возможность вывода информации из баз данных на принтер с использованием генератора отчётов;
3) в Delphi реализован язык SQL, который используется при работе с базами данных;
4) в Delphi есть возможность подключения дополнительных модулей различного назначения. Это позволяет создавать нестандартные компоненты, изменять существующие. Благодаря этому, улучшается восприятие пользователем данного программного продукта;
5) несомненным плюсом является технология автодополнения кода и всплывающих подсказок, быстрое обнаружение идентификаторов в подключенных модулях;
6) компилятор Delphi является одним из самых быстрых, он драматически снижает временные затраты на перекомпиляцию проектов, что очень полезно на стадии отладки приложения;
7) такие модули, как ObjectInspector (Инспектор объектов) и менеджер проектов, являются незаменимыми инструментами инструментами по настройке интерфейса разрабатываемого приложения, значительно экономящими время разработки программы на начальном этапе.
Визуальная библиотека компонентов (VCL) содержит исходные тексты стандартных компонентов Delphi, что предоставляет разработчику широкие возможности по изучению и изменению кода. Кроме того эта библиотека используется также в других ИСР выпущенных Borland (Inprise). Delphiоправдывает название среды быстрой разработки приложений (RAD), многие функции реализуются прозрачно для программиста, например, чаще всего программист не заботится о написании кода для создания форм в приложении, для их прорисовки и т.д. Часто можно разработать полноценную программу, не написав при этом ни строчки кода.
Структурированный подход при написании кода лучшим образом отвечает запросам программиста, так как при этом намного проще разобраться в исходном коде программы, отлаживать программу и вносить изменения. Буквально двойным щелчком на компоненте можно задавать стандартные процедуры обработки.
2.3 Создание таблиц базы данных
Для осуществления поставленной задачи выбраны реляционные базы данных. Их создание осуществлялось в специальном приложении Delphi, которое называется DatabaseDesktop, таблицы написаны в Paradox 7.0. При проектировании полей таблиц учитывались бланки документов (квитанций, талона, паспорта).
Структура необходимых таблиц представлена наглядно в таблицах 1,2,3,4,5,6,7.
Таблица 1. Логическая структура таблицы «Услуга».
Обозначение | Наименование | Ключ | Тип данных | Длина | Точность |
Cod_usl | Код услуги | * | Числовой | 0 | |
Podr | Подразделение | Строковый | 20 | 0 | |
Naim_usl | Наименование услуги | Строковый | 20 | 0 | |
Ed_izm_usl | Ед. изм. услуги | Строковый | 5 | 0 | |
Kol_ed_usl | Кол-во ед. усл. | Числовой | 0 | ||
Stoim_ed | Стоимость ед. | Денежный | 0 | ||
N_preis | Номер по прейскуранту | Числовой | 0 |
Таблица 2. Логическая структура таблицы «Материал».