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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    493,29 Кб
  • Опубликовано:
    2015-05-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Министерство образования и науки Республики Казахстан

Казахская инженерная, финансово-банковская академия

Кафедра «Общеинженерные дисциплины и автоматизация систем управления»

«Допущена к защите»

___________ Заведующий кафедрой

____________ С.К.Кулжанов



ДИПЛОМНАЯ РАБОТА

На тему: Автоматизированное рабочее место менеджера книжного магазина

по специальности 5В070300-Информационные системы

Выполнил                                                                           В.А. Обласов

Научный руководитель

PhD, профессор                                                          К.А.Иманбеков

Нормоконтроль

к.т.н., профессор                                                       А.Х. Акишев

Алматы 2014

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИЗ ДЕЯТЕЛЬНОСТИ МЕНЕДЖЕРА

2. ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ

. МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ КНИЖНОГО МАГАЗИНА

. РАЗРАБОТКА АРХИТЕКТУРЫ

. ТЕСТИРОВАНИЕ

. ОПИСАНИЕ ПРОГРАММЫ

. РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА

. РУКОВОДСТВО ПРОГРАММИСТА

. РУКОВОДСТВО ОПЕРАТОРА

. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ

11. ОХРАНА ТРУДА

12. СОЗДАНИЕ СУБД В DELPHI ДЛЯ МЕНЕДЖЕРА

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

программное обеспечение менеджер

Менеджер играет немаловажную роль в процессе функционирования книжного магазина. Его функциями является управление производством, сбор, обработка, хранение и выдача информации по мере необходимости. Оперативное функционирование затрудняется по причинам, составляющим его характерные черты: большие объемы информации, постоянная необходимость ее модификации, широкий спектр запросов.

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

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

1. АНАЛИЗ ДЕЯТЕЛЬНОСТИ МЕНЕДЖЕРА

1.1    Описание деятельности менеджера

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

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

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

Еще характерной чертой работы книжного магазина на кафедре является частое изменение данных, что должно быть зарегистрировано и отражено в банке данных.

1.2    Описание информационных объектов системы и связей между ними

Содержание потоков данных, курсирующих между субъектами информации, связано с торговой деятельностью книжного магазина:

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

2)   Оповещение потенциальных клиентов об изменениях в прайсе книжного магазина;

3)   Прием и оформление заказов клиентов;

4)   Отправление накопившихся заказов издательствам - поставщикам;

5)   Печать необходимой сопровождающей документации;

6)   И т.д.

Основные разделы банка данных схематично можно изобразить следующим образом:

Банк данных

Книжный магазин

Клиенты

Поставщики

Банки

Книги

2      
ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ

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

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

2)   Оповещение потенциальных клиентов об изменениях в прайсе книжного магазина;

3)   Прием и оформление заказов клиентов;

4)   Отправление накопившихся заказов издательствам - поставщикам;

5)   Печать необходимой сопровождающей документации;

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

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

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

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

Программное обеспечение подсистемы должно быть реализовано в визуальной среде разработки приложений Delphi 5. Данное требование объясняется тем, что данная среда разработки приложений обеспечивает:

а) возможность быстрой разработки прикладной программы;

б) большой набор средств для управления событиями;

в) мощный набор инструментальных средств для программиста;

г) совместимость с ранее разработанным программным обеспечением в среде Delphi;

 
.1 Анализ потребности в программе

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

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

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

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


2.2 Назначение подсистемы и основные функции

Цель данного проекта - это разработка эффективного средства автоматизации деятельности менеджера книжного магазина.

Подсистема должна предусмотреть выполнение следующих функций:

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

б) Удобное, простое, оперативное и эффективное манипулирование данными:

1)   просмотр имеющихся данных;

2)   добавление новых данных;

3)   модификация уже существующих данных;

4)   удаление устаревшей информации.

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

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

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

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

 

.3.2 Эффективность

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

 

2.3.3 Надежность

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» должна обеспечить:

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

2)   Предусмотрено восстановление информации после возможного аппаратного или программного сбоя.

 
.3.4 Простота использования

Простота использования данной разработки достигается за счет:

1)   наличия в программе управляющих кнопок со всплывающими подсказками, поясняющими их назначение;

2)   удобной и простой в использовании системы меню и всплывающего подменю;

3)   содержания кратких пояснений при выполнении того или иного шага программы;

4)   схожести интерфейса приложения с наиболее популярными существующими программами, что должно сделать работу с данной программой интуитивно понятной;

5)   наличия системы подсказок (Help - Помощь).

 
.3.5 Удобство эксплуатации

Удобство эксплуатации данной программы достигается за счет возможности создания EXE - файла, что позволяет легко переносить приложение и запускать его, а также за счет обеспечения вышеперечисленных (в пункте 2.3.4) свойств подсистемы.

2.3.6 Совместимость

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

 

2.3.7 Испытуемость

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

3. Модель функционирования книжного магазина

3.1 Информационная модель

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

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

Рисунок 3.1 - Информационная модель

 
3.2 Разработка внешней спецификации проекта

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

Внешняя спецификация - это описание работы программы без конкретизации ее внутренней структуры и деталей реализации.

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

Рисунок 3.2 - модульная диаграмма

4 РАЗРАБОТКА АРХИТЕКТУРЫ

4.1 Объектно-ориентированный подход

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

Составными частями данной разработки являются классы и объекты, их можно выделить на данном этапе разработки. Классы и объекты являются фундаментальными понятиями объектно-ориентированного программирования, которое должно быть положено в основу данной разработки. Класс содержит информацию о том, как объект должен выглядеть и вести себя, другими словами, класс - это прообраз объекта. Визуальная среда разработки приложений Delphi позволяет создавать объекты как с применением визуальных средств, так и программно на основе базовых классов.

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

При проектировании данной подсистемы были использованы стандартные классы Delphi 5.0.

4.2 Проектирование баз данных

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

Ниже приведены структуры баз данных, спроектированных при разработке данной подсистемы.

Таблица 4.2.1 - MainBase.db (прайсы)

Имя поля

Тип

Длина

Семантика

PublisherNo

I


Код издательства

PartNo

I


Код раздела

Name

A

255

Название книги

Cod

A

25

Код

Price

$


Цена

PackCount

I


Количество в упаковке

PubYear

I


Год издания

ISBN

A

15

ISBN

Author

A

100

Автор

CoverNo

I


Код обложки

PageCount

I


Количество страниц

Published

A

100

Название издательства, выпустившего книгу


Таблица 4.2.2 - BookArchive (архив продажи книг)

Имя поля

Тип

Длина

Семантика

PublisherNo

I


Код издательства

PartNo

I


Код раздела

Name

A

255

Название книги

Cod

A

25

Код

Price

$


Цена

PackCount

I


Количество в упаковке

PubYear

I


Год издательства

ISBN

A

15

ISBN

Author

A

100

Автор

CoverNo

I


Код обложки

PageCount

I


Количество страниц

Published

A

100

Название издательства, выпустившего книгу

BookNo

I


Код книги


Таблица 4.2.3 - S_Publishers (издательства)

Имя поля

Тип

Длина

Семантика

PublisherNo

I


Код издательства

PublisherName

A

100

Название издательства


Таблица 4.2.4 - S_Parts (разделы)

Имя поля

Тип

Длина

Семантика

PartNo

+


Код раздела

PartName

A

60

Название раздела

PartMain

I


Код основного названия раздела

Main

L


Основной


Таблица 4.2.5 - S_Covers (обложки)

Имя поля

Тип

Длина

Семантика

CoverNo

+


Код обложки

CoverName

A

15

Имя обложки

CoverMain

I


Код основного названия обложки

Main

L


Основная


Таблица 4.2.6 - Accounts (счета клиентов)

Имя поля

Тип

Длина

Семантика

AccountNo

+


Код счета клиента

ClientName

I


Имя клиента

BankNo

I


Код банка

Account

A

20

Счет


Таблица 4.2.7 - Sales (продажи)

Имя поляТипДлинаСемантика




SaleNo

+


Код продажи

SaleDate

@


Дата продажи

AccountNo

I


Код счета

Таблица 4.2.8 - SaledBook (проданные книги)

Имя поля

Тип

Длина

Семантика

SaleNo

I


Код продажи

SaleCount

I


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

BookNo

I


Код книги

CoefNo

I


Код коэффициента


Таблица 4.2.9 - S_Structures (структуры прайсов)

Имя поля

Тип

Длина

Семантика

PublisherNo

I


Код издательства

FirstString

I


Номер первой строки данных в прайсе

ColsOrder

A

255

Порядок столбцов в прайсе

SheetNo

I


Код листа

Main

L


Основная структура


Таблица 4.2.10 - Coefficients (коэффициенты наценки)

Имя поля

Тип

Длина

Семантика

CoefDate

D


Дата коэффициента

WholeSale

N


Оптовая наценка

SmallSale

N

255

Мелкооптовая наценка

Retail

N


Розничная наценка


Таблица 4.2.11 - S_Clients (клиенты)

Имя поляТипДлинаСемантика




ClientNo

+


Код клиента

ClientName

A

100

RNN

A

15

РНН

CСonst

L


Постоянный клиент

Address

A

100

Адрес


Таблица 4.2.12 - S_Banks (банки)

Имя поля

Тип

Длина

Семантика

BankNo

+


Код банка

BankName

A

100

Название банка

Requisite

A

255

Реквизиты

MFO

I


МФО банка

4.3 Входные и выходные данные и связи между ними

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

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

В данной подсистеме не предусмотрены какие-либо арифметические действия над данными, так как разработка предполагает обеспечить автоматизацию делопроизводства, т.е. сбор, редактирование, хранение и выдачу информации по запросу пользователя, не осуществляя какой-либо вычислительной обработки данных. Исключением является вычисление цены с учетом наценок и НДС и общей стоимости заказов.

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

Существует три способа связи между данными:

а) связь типа 1х1, в этом случае существует прямая одинарная связь между двумя данными;

б) связь типа 1х n, здесь одному данному может соответствовать несколько других;

в) связь типа n x n, в этом случае любому данному одного набора могут соответствовать другого набора и наоборот. Для организации такого типа связи между данными вводится третья таблица, содержащая связи по ключам данных обоих наборов.

4.4 Интерфейс пользователя

В системе «Автоматизированное рабочее место менеджера книжного магазина» интерфейс пользователя должен быть составлен из следующих элементов:

а) главное меню со всплывающими подменю разных уровней вложенности:

1. Файл:

·   Заказ…;

·   Добавить прайс…;

·   Выход;

2. Печать:

·   Счет-фактура;

·   Накладная;

·   Письмо;

3. Сервис:

·   Настройка;

·   Коэффиценты;

4. Помощь:

·   Помощь;

·   О программе.

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

в) однострочные текстовые окна, в которых будут вводиться названия

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

д) панель управления базами данных, при помощи которых пользователь сможет быстро и комфортно манипулировать данными.

5. Описание программы

Система «Автоматизированное рабочее место менеджера книжного магазина» разработана в среде Borland Delphi 5.5. Для эффективного функционирования подсистемы необходимо наличие операционной системы Windows 95/98/NT/2000. Желательно наличие Web - сервера.

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

Для эффективного функционирования подсистемы необходимо наличие операционной системы Windows 95/98/NT/2000 и Borland Database Engine (BDE). Требования к составу и параметрам технических средств описаны в приложении А - Техническое задание.

Программа находится на жестком диске компьютера и занимает ~1,8Мб. Базы, используемые системой, занимают от 200Кб в зависимости от количества хранящейся информации.

В системе предусмотрены следующие действия менеджера:

·   прием и внесение в базу поступившего от поставщика прайса;

·   просмотр базы данных книг, составленной из поступивших прайсов;

·   создание заказа путем выбора книг, заказанных пользователем из базы данных;

·   печать необходимых сопровождающих документов.

Логическая структура системы представлена в подразделе 3.2 - Разработка внешней спецификации.

Входные и выходные данные, их структуры и взаимосвязи представлены в разделе 4 - РАЗРАБОТКА АРХИТЕКТУРЫ.

6. ТЕСТИРОВАНИЕ

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

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

Тестирование системы - процесс, наиболее трудный для восприятия и исполнения. Его не следует отождествлять с тестированием полной системы или программы. Назначение тестирования системы - сопоставить результат с исходными целями. Отсюда следуют два вывода:

1)   тестирование системы не ограничивается только «системами». Если продукт является программой, то тестирование системы представляет собой попытку продемонстрировать, в какой мере эта программа соответствует поставленным перед ней целям;

2)   тестирование системы по определению невозможно, если при проектировании не был составлен документ, отражающий цели, поставленные перед продуктом (системой).

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

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

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

Выбор меню “Файл” - “Заказ…” приводит к появлению окна оформления заказа клиента. Для этого пользователь должен из списка имеющихся книг выбрать нужную книгу. Когда пользователь щелкнет ее мышью, появится форма, где нужно указать количество книг, затем нажать кнопку «Готово». В «Списке выбранных книг» появится заказанная книга. Если выбранная книга уже есть в «Списке выбранных книг» то появится сообщение: «Книга уже есть в заказе». В правом верхнем угле нужно указать коэффицент наценки (для оптов., мелко оптов., розница). Так же необходимо заполнить реквизиты нового клиента и добавить в список клиентов нажав кнопку «Добавить в список клиентов»: Наименование учреждения или Ф.И.О., Банк, расчетный счет, РНН, Адрес. Если это постоянный клиент, то нажав на кнопку «Выбрать из списка» пользователь увидит список постоянных клиентов и его реквизиты.

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

7. РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА

Система «Автоматизированное рабочее место менеджера книжного магазина» реализована с помощью визуальной среды разработки приложений Delphi 5.0 при поддержке операционной системы Windows 98.

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

Эксплуатационное назначение заключается в ее использовании книжным магазином.

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» является самостоятельным приложением, для ее модификации требуется наличие программного обеспечения Delphi 5.0 с установленными в ней следующими компонентами:

·   FastReport версии не ниже 4.0;

·   RAIZE COMPONENTS версии не ниже 2.51c;

·   RX Library версии не ниже 2.75.

Проект разработан с использованием объектно-ориентированного подхода. Структуры всех баз данных, используемых в подсистеме, три типа связей между таблицами приведены в разделе 4 РАЗРАБОТКА АРХИТЕКТУРЫ.

Для организации работы с системой необходимым условием является наличие BDE и операционной системы Windows 95 или выше. Для настройки программного обеспечения подсистемы необходимо при помощи BDE Administrator или Database Desktop создать алиас Books, указывающий на директорию Bases, где будут храниться базы данных проекта.

8 РУКОВОДСТВО ПРОГРАММИСТА

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

Для нормального функционирования подсистемы необходимо выполнение требований к составу и параметрам технических средств, описанным в приложении А - Техническое задание. Требования к программному обеспечению заключаются в наличии операционной системы Windows 95 или выше и BDE.

Структуры всех баз данных, используемых в подсистеме, три типа связей между таблицами приведены в разделе 4 РАЗРАБОТКА АРХИТЕКТУРЫ.

При возникновении необходимости переструктурирования баз данных (замены устаревших полей новыми, добавление или удаление полей) для внесения изменений в подсистему необходимо произвести несколько простых действий:

1)   с помощью DataBase DeskTop переструктурировать базу данных (изменить названия полей, добавить новые, удалить ненужные);

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

3)   Сохранить изменения и заново скомпилировать подсистему. Все изменения в коде программ и компиляция производятся при поддержке Delphi 5.0 в режиме редактирования. Необходимо наличие установленных в Delphi следующих компонентов:

FastReport версии не ниже 4.0; RAIZE COMPONENTS версии не ниже 2.51c; RX Library версии не ниже 2.75.

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

9. РУКОВОДСТВО ОПЕРАТОРА

Функциями подсистемы «Автоматизированное рабочее место менеджера книжного магазина» являются:

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

2)   Оповещение потенциальных клиентов об изменениях в прайсе книжного магазина;

3)   Прием и оформление заказов клиентов;

4)   Отправление накопившихся заказов издательствам - поставщикам;

5)   Печать необходимой сопровождающей документации;

Загрузка подсистемы осуществляется двойным нажатием левой кнопки «мыши» на имени файла BookShop.exe.

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

Для перемещения по строкам таблиц, используется специальная панель, содержащая кнопки со стрелками. Каждая кнопка имеет подсказку о своем действии, которая появляется через секунду после наведения на кнопку указателя «мыши».

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

В меню, имеющемся на этом окне, существует возможность выбрать пункт «Файл» - «Добавить прайс…». В появившемся окне можно либо добавить данные о книгах вручную, либо выбрать файл формата Excel и конвертировать данные из него. После этого необходимо проверить правильность расположения столбцов и при необходимости исправить в таблице расположения столбцов их последовательность.

Пункт «Файл» - «Заказ…» позволяет оформить заказ клиента.

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

10. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ

10.1 Обоснование необходимости разработки программного обеспечения

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

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

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

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

10.2. Расчет экономической эффективности внедрения программного обеспечения

 
.2.1 Расчет затрат на разработку и внедрение системы

Затраты на разработку и внедрение

С=Салг+Сктс+Свн+Сотл

где Салг - затраты на разработку алгоритма;

Сктс - затраты на приобретение комплекса технических средств;

Свн - Затраты на внедрение;

Сотл - Затраты на написание и отладку;

10.2.2 Расчет затрат на разработку алгоритма

Затраты на разработку алгоритма:

Салг = Qразраб * В+От.

где Qразраб - заработная плата инженера программиста;

В - время, затраченное на разработку.

От - отчисления соцстраху (26%)

Заработная плата инженера-программиста равна 20000 тенге в месяц. На разработку затрачено один месяц. На основании этого с учетом отчислений соцстраху 26% получим:

От = 20000*26/100=5200(тенге)

Салг = 20000*1+5200=25200(тенге).

 
.2.3 Расчет затрат на написание и отладку программы

Затраты определяются по формуле:

Сотл = Котл + Фзп .

где Котл - стоимость машинного времени, затраченного на отладку программы, которая составляет 70 тенге за час.

Фзп -фонд зарплаты программиста на отладку и написание программы;

На отладку было затрачено 30 дней по 3 часа в день. Следовательно имеем:

Котл = 3*30*70 = 6300 (тенге).

Фзп = Км* Qразраб +От

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

От - 26% отчисления на соцстрах.

Заработная плата программиста разработчика составляет 20000 тенге. На написание и отладку было затрачено 2 месяца. Фонд заработной платы рассчитывается:

Кзп =2*20000+10400=50400(тенге).

Следовательно:

Сотл =6300+50400=56700(тенге).

 
.2.4 Расчет затрат, связанных с внедрением системы

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

Свн = Квн+ЗПвн,

где Квн        - стоимость машинного времени на время внедрения,

Зпвн   -заработная плата программиста на время внедрения.

Стоимость машинного времени:

Квн = k * d * q,

где k -время работы на ЭВМ в день,количество дней работы на ЭВМ,стоимость часа машинного времени.

Время работы на ЭВМ - 2 часа в день;

количество дней-20;

стоимость часа работы 70 тенге.

Итого

Квн = 2*20*70 = 2800 (тенге).

Заработная плата определяется:

ЗПвн = Qвн*d/D+От

где Qвн - Заработная плата программиста занятого внедрением;- количество рабочих дней в месяца;

Заработная плата программиста           20000 (тенге);

количество рабочих дней на ЭВМ                  20 дней;

количество рабочих дней в месяц                   22 дня.

ЗПвн =20000*20/22+5200=23382 (тенге).

Тогда затраты, связанные с внедрением составляют:

Свн =2800+23382=26182 (тенге).

10.2.5 Расчет затрат на комплекс технических средств

Стоимость ПК Intel PentiumII-433 / 64 / 6,4Гб / 16Мб / LG-14’ по цене $530 ($1=146.5 тенге) что составляет 77645 тенге, стоимость принтера HP DJ 610C по цене $110 то есть 16115 тенге.

Итого: Сктс = 77645 + 16115 = 93760 (тенге).

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

С = СКТС + Салг + Сотлвн

С = 93760+25200+56700+26182= 201842 (тенге).

 
.2.6 Расчет затрат до внедрения

Задача осуществлялась группой лиц в количестве 2 человек.

Затраты на решение задачи принятия ТЭР рассчитывалось по формуле:

Затр=ЗПЛПР+От+НПФ

где ЗПЛПР- зарплата в год;

От - отчисления на социальные нужды (26%).

Заработная плата лиц принимающих решение (ЛПР), учитывая расчет вручную определяются по формуле:

ЗПЛПР=QЛПР*12*kol,

где QЛПР     - оклад ЛПР =7000 тенге;

kol    - количество ЛПР = 2 человека.

ЗПЛПР=7000*12*2=168000 (тенге);

Следовательно затраты на решение задачи принятия ТЭР составляет

Затр=168000*(1+0.26)=211680 (тенге).

10.2.7 Расчет затрат после внедрения программного обеспечения

После внедрения программного продукта численность штата сокращается до 1го человека.

Годовые затраты машинного времени на решение задачи принятия ТЭР определяются:

Кмаш=tg*q*12,

где    tg- количество часов использования ЭВМ в месяц =22 часа;стоимость часа машинного времени = 70 (тенге);

Тогда

Кмаш=22*70*1*12=18480 (тенге в год),

На печать одного документа затрачивается 1минута. Годовые затраты для печати результата с принтера Кпеч определяется по формуле :

Кпеч=tпеч*Nвар*Q,

где tпеч - время на печать одного экземпляра;вар - количество экземпляров - 20 шт ;- стоимость часа машинного времени;

Кпеч= 70*12*20*1/60=280 (тенге в год),

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

ЗПЛПР’=7000*12= 84000(тенге)

От’=84000*0.26=21840 (тенге).

Суммарные затраты после внедрения программного обеспечения:

Затр’=Кмашпеч+ЗПЛПР’=18480+280+84000=102760 (тенге).

10.2.8 Расчет экономии затрат

Э= Затратр

где Затр- затраты до внедрения системы;

Затр’- затраты после внедрения системы.

Э= 201842 - 102760=99082 (тенге).

Срок окупаемости системы :

ТОК=С/Э

где С- затраты на разработку и внедрение системы;

Э - экономия затрат от внедрения.

ТОК=201842 / 99082=2.0 (года)

Годовой экономический эффект составил :

Эфгод=Э-Ен*С,

где Э- годовая экономия затрат,

Ен- нормативный коэффициент эффективности капитальных вложений (0,32),

С- затраты на разработку и внедрение системы.

Эфгод=99082-0.32*201842=34492 (тенге),

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

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

11. ОХРАНА ТРУДА

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

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

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

Поражение электрическим током, так как работа человека происходит с электронно-вычислительной техникой. Персональная ЭВМ запитывается от сети с напряжением в 220 В, которое является крайне опасным для человека.

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

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

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

Нерациональное освещение рабочего места.

Неблагоприятный микроклимат производственного помещения.

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

11.2 Основные защитные мероприятия

 
.2.1 Общие организационные мероприятия

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

Инструктажи по технике безопасности проводятся следующих видов:

. вводный;

. первичный;

. повторный;

. внеплановый;

. дополнительный.

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

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

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

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

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

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

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

Надзор проводит главный инженер по охране труда и технике безопасности.

11.2.2 Мероприятия по санитарии и поддержанию оптимального микроклимата

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

Метеорологические условия

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

Таблица 11.1 - Оптимальные и допустимые параметры микроклимата

 Период года

Параметры воздушной среды на постоянных рабочих местах


Оптимальные

Допустимые


температура, С

влажность, %

Скорость движения, м/с

температура, С

Влажность, %

скорость движения, м/с

Холодный период

20 - 25

40 - 60

0.2

18 - 22

не более 70

0.3

Теплый период

20 - 25

40 - 60

0.5

28

24 - 70 25 - 65

0.3


Для поддержания необходимого уровня влажности и температуры в помещении вычислительного центра установлены 2 кондиционера типа КСН - 12 А. Они размещены в верхней части оконного проема лаборатории для быстрого охлаждения помещения, особенно в летний период. Кондиционеры могут работать как в режиме кондиционирования воздуха (т.е поддержание в рабочей зоне помещения постоянных параметров микроклимата, осуществляемое автоматически), так и вентиляции воздуха (т.е. обеспечивают поддержание постоянного воздухообмена).

Психофизиологические факторы

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

Для снижения действия психологических факторов предусматривается комната отдыха, а также периодические перерывы в работе с ЭВМ, но не более 20 - ти минут;

Электромагнитное излучение

Важное место в организации занимают работы по снижению воздействия на людей электромагнитного излучения. Основным источником электромагнитного излучения является дисплей. Для снижения дозы облучения от экрана используются мониторы с пометкой "LOW RADIATION", в которых встроены защитные фильтры Применение защитных фильтров позволяет снизить нагрузку на глаза, а значит уменьшить утомляемость сотрудника, за счёт снятия статического напряжения и бликов на экране; Сотрудники одеты в белые халаты, которые служат защитой от статического электричества. Кроме того, в местах, где используются радиоактивные элементы сделаны покрытия свинца толщиной не менее 30 см. или бетонные перегородки. Компьютеры размещены таким образом, чтобы излучение с задней части дисплея не попадало на людей, по периметру комнаты, причем задняя часть дисплея направлена в стену.

Сотрудники, сидящие за ЭВМ, располагаются не ближе 50 см от монитора и 122 см от соседних ЭВМ

Освещенность

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

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

Производственное освещение по виду источника делится на естественное и искусственное.

Естественное освещение характеризуется коэффициентом естественной освещённости (КЕО).

При боковом естественном освещении рассчитывается минимальное значение ширины светового проёма (lmin).

Нормированные значения КЕО приводятся для третьего пояса светового климата бывшего СССР, для остальных поясов (1,2,4,5) светового климата нормированные значения КЕО определяются по формуле:

ен(1,2,4,5)= ен (3)*M*C,

где:

ен (3) - значение КЕО для третьего пояса;

М - коэффициент светового климата;- коэффициент солнечного климата.

Значение Ен(3) находим из таблицы "Нормы освещённости при искусственном освещении и КЕО при естественном и совмещённом освещении".

Характеристика зрительной работы для компьютерной лаборатории - средней точности, т. е.

наименьший размер объекта различения - 0.5 - 1 мм;

разряд зрительной работы - 4,

подразряд зрительной работы - в;

характеристика фона - средний.

Исходя из этих данных по таблице находим:

КЕО=1.2%

Значения для коэффициентов М и С выбираем из таблицы "Значения коэффициентов М и С (СНиП - 2-4-79). Для этого нужно определить следующие параметры:

пояс светового климата - 4.50 градусов северной широты и южнее, поэтому М=0.9;

коэффициент С при световых проемах в наружных стенах зданий равен 0.75.

Отсюда, Ен(4)=1.2*0.9*0.75=0.81%

Расчёт естественного освещения заключается в определении площади световых проёмов. При боковом освещении определяют площадь окон S0, обеспечивающую нормированные значения КЕО, по формуле:

100*S0/Sn=( ен *n0)/(т0*r1)*Kзд*Кз;=(Sn* ен *n0)/(100*т0*r1)*Кзд*Кз,

где:- площадь пола помещения, м2;

=L*B;

- длина, L=12 м; B - ширина, В=4.5 м;=12*4.5=54 м2;

ен - нормированное значение КЕО, Ен=0.81 %;

Кз - коэффициент запаса,

по таблице "Значение коэффициентов запаса Кз" для бокового естественного освещения находим:

Кз=1.2;

т0 - общий коэффициент светопропускания;

т0=т1*т2*т3*т4;

по таблице "Значения коэффициентов светопропускания" находим: вид светопропускающего материала - стекло оконное листовое двойное

т1=0.8,

вид переплёта - переплёты для окон деревянные двойные раздельные - т2=0.6,

вид несущих конструкций покрытий - железобетонные фермы и арки

т3=0.8,

солнцезащитные устройства, изделия и материалы - вертикальные

т4=0.75,

т0=0.8*0.6*0.8*0.75=0.288;- коэффициент, учитывающий повышение КЕО при боковом освещении благодаря свету, отражённому от поверхностей помещения и подстилающего слоя, прилегающего к зданию;

по таблице "Значения коэффициентов r1" находим, используя следующие данные:

В - ширина помещения, В=4.5,

=L-(L10+L20),

где:- высота помещения, L=3.5 м,- расстояние от верха окна до потолка, L10=0.3 м,- уровень условной рабочей поверхности, L20=1 м,=3.5-(0.3+1)=2.2 м,

В/L1=4.5/2.2=2.045,- расстояние расчётной точки до наружной стены,=4.5-0.7=3.8,/B=3.8/4.5=0.84,

отношение длины к глубине, 12/4.5=2.67,

отсюда r1=1.7;- световая характеристика окон,

по таблице "Значения световой характеристики световых проёмов" находим:/B=12/4.5=2.67,/L1=4.5/2.2=2.045,

отсюда n0=9;

КЭД выбираем из следующих соображений: так как противостоящие здания находятся довольно далеко, так что не затемняют окна, но существует затемнение бетонными балками, выбираем Кзд=1.7.

Определяем площадь световых проёмов:=(54*0.81*9)/(100*0.288*1.7)*1.7*1.2=16.87 м2

Так как высота оконных проёмов 2.2 м, то следовательно длина их составит 7.7 м.

11.2.3 Техника безопасности

Для обеспечения электробезопасности работы проведены общепринятые мероприятия:

нейтраль источника питания заземлена с помощью заземляющего устройства с сопротивлением заземления не более 600 мкОм;

корпуса всех устройств оснащены надежным электрическим соединением с шиной заземления. Переходное сопротивление при заземлении аппаратуры через перемычки, шины (суммарное) и т.д. не превышает 2000 мкОм;

проложены шины защитного заземления сечением не менее 120 мм;

соединены шина защитного заземления и заземление первичного источника питания - трехфазной сети 220В, 50Гц.

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

Зануление организовано за счет соединения контур-шины с нулевым проводником в распределительном силовом щите. Блокировка самопроизвольного или ошибочного включения частей под напряжением осуществлена переключением тумблера распределительного щита в состояние “Выключен”.

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

11.2.4 Пожарная безопасность

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

Категория производства по пожарной опасности -В.

Огнестойкость здания - II

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

В целях пожарной профилактики в помещении машинного зала предусматриваются пожарные извещатели, автоматические системы тушения пожара (спринклерные или дренчерные), расположенные на потолке, а также первичные средства пожаротушения: огнетушители ручные ОХП - 10, ОХВП - 10, ОУ - 5. Оборудование должно располагаться так, чтобы оно не мешало эвакуации людей из здания при пожаре.

12. СОЗДАНИЕ СУБД В DELPHI ДЛЯ МЕНЕДЖЕРА

12.1. Определение состава СУБД

СУБД состоит из совокупности экранных и отчетных форм и процедур обработки данных вводимых в БД и выводимых из БД. При программировании СБД в среде Windows СУБД называют приложением.

Чтобы определить перечень экранных форм рассмотрим порядок работы пользователя, т.е. задаем поведение пользователя нашей системы.

Пусть порядок работы пользователя задается следующей схемой.

Схема работы пользователя.

Интерфейс пользователя происходит через главное меню. Поэтому система должна имеет главное меню.

Для ввода информации в базу необходима отдельная экранная форма. Базу следует просматривать на отдельной экранной форме.

Кроме того, пользователю необходимо получить данные из базы в печатной форме, причем различные данные в различных формах. Все эти выходные данные называются отчетами или отчетными формами. Поэтому пользователю необходимо получать отчетные формы.

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

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

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

Таким образом, из описанной выше схемы работы системы “пользователь - система” видно, что для работы системы необходимо следующие формы:

·   Форма для меню;

·   Форма для ввода данных в базу;

·   Форма для просмотра БД;

·   Форма для отчета №1;

·   Форма для отчета №2;

·   Форма для отчета №3.

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

12.2 Проект и план создания компонентов СУБД

Кроме внешних форм проявления, СУБД еще должна иметь процедуры обработки и средства обеспечения доступа к БД. Вся эта совокупность компонентов, составляющие СУБД, должна быть создана и сохранена.

Следует отметить, что основой для проектирования СУБД является форма. Являясь основой и носителем всех остальных компонентов, форма служит фундаментом для процессов обработки данных. Теоретической основой такой схемы является объектно-ориентированная технология проектирования и программирования.

Однако на теоретических вопросах объектно-ориентированной технологии проектирования и программирования не будем специально останавливаться.

Теперь составим проект СУБД, т.е. установим состав, назначения и связь между компонентами СУБД. При этом будем исходить из указанной выше схемы работы пользователя.

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

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

Таким образом, исходя из описанных эвристических предпосылок, установим перечень необходимых для нашей задачи форм:

·   Форма для меню;

·        Форма для ввода данных в базу;

·        Форма для просмотра БД;

·        Форма для отчета №1.

·        Форма для отчета №2.

·        Форма для отчета №3.

·        Компонента TDataModule

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

1)   Компонента TDataModule

2)   Форма для меню;

3)   Форма для просмотра БД;

4)   Форма для ввода данных в базу;

5)   Форма для отчета №1.

6)   Форма для отчета №2.

7)   Форма для отчета №3.

Формы, необходимые для создания СУБД можно задать двумя способами:

. Если заранее известно их количество, то на экране монитора и соответственно в хранилище (repository) проекта IDE Delphi заранее можно вывести нужное количество визуальных и невизуальных форм, т.е. в проект можно добавить столько форм, сколько требуется. С помощью команды File|New Form добавляются визуальные формы, а командой File|New Data Module - невизуальная. Отметим, что для нашей системы требуется всего шесть визуальных форм и одна компонента TDataModule.

. Если заранее количество нужных форм для проекта не известно, то на экране монитора и соответственно в хранилище (repository) проекта IDE Delphi добавляется та форма, которая нужна для проекта на текущем этапе создания СУБД. Установление форм на экране осуществляется через команды File|New Form или File|New Data Module. Другими словами каждая форма в проект добавляется по мере необходимости.

В данном случае добавление новых форм в хранилище проекта происходить с помощью команды добавления (File|Add to Project).

Таким образом, исходя из проекта, представим план работы по созданию СУБД для поставленной выше задачи автоматизации из экранных и отчетных форм и процедур обработки данных.

Сначала будем считать, что на экране выведено столько форм, сколько требуется для создания всех форм СУБД. Если форм не хватает, то доводим их до необходимого количества. Это делается путем повторение действия (File|New Form) столько раз, сколько требуется количеств форм и один контейнер командой File|New Data Module.

Теперь определим последовательность проектирования (конструирования) форм. Последовательность создание форм в общем случае произвольный, но мы все таки выбираем вышеизложенную последовательность.

Данная последовательность оформления и создания форм упрощает процесс создания СУБД.

Создание СУБД начнем с построения контейнера TDataModule для связи с БД. Проектирование форм СУБД начнем с экранной формы, на которой будет отображено содержимое БД.

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

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

После определения набора компонентов и их размещения на форме, устанавливается их доступ к БД и создается процедура обработки данных для каждого компонента формы.

Из вышеприведенного определения видно, что СУБД также как БД состоит из множества компонентов. Все эти компоненты СУБД требуют формирования и программирования и их файлы также как и файлы БД следует хранить в определенном месте. Для этой цели можно использовать тот же каталог, что и для БД, т.е. C:\PRIMER, либо создадим в каталоге C:\PRIMER подкаталог АРР и в нем храним разработанные приложения.

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

12.3 Создание СУБД

12.3.1 Способы организаций доступа экранных форм и отчетных форм к базе данных

В данном пункте описывается вопросы организация доступа экранных форм (ЭФ) и отчетных форм (ОФ) к базе данных путем создания контейнера TDataModule

Связь экранной формы с БД обеспечивается специальными компонентами, которые называются невизуальными компонентами. Эти элементы видны только в режиме конструирования, а в режиме работы системы эти элементы станет на экране невидимы.

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

В случае, когда СУБД имеет несколько экранных форм, то их доступ следует осуществить двумя способами:

. Доступ каждой формы (и ее компонентов) к БД можно осуществить автономно, независимо от остальных форм.

. Второй способ предполагает не повторять для каждой формы организацию доступа к БД, а для всех экранных и отчетных форм организовать единый доступ через специальный компонент типа TDataModule. Компонент типа TDataModule представляет собой контейнер, в который можно помещать все невизуальные компоненты TTable, TQuery, DataSource, которые необходимы для доступа к БД и т.д. Тогда все те формы, для которых потребуется доступ к БД, доступ получат через компонент TdataModule. Для этого для каждой экранной формы необходимо установить связь с данным компонентом, т.е. с TdataModule.

Таким образом, в случае множества ЭФ и ОФ для работы СУБД удобно создать компонент типа TDataModule, который является контейнером для невизуальных компонентов, обеспечивающих доступ к базами данных.

Создание экземпляра TDataModule в среде Delphi осуществляется через пункт меню File|New Data Module. После чего, в палитре компонентов Delphi на странице Data Access выберем мышью невизуальный компонент ТТаblе (рис. 12.1), щелкнем на нем мышью и затем щелкнем мышью в контейнере. После этого, изображение компоненты останется в контейнере.

Рис. 12.1. Палитра компонентов Delphi

Невизуальным компонент TTable (как и другие компоненты, например, TQuery, TDataSource) называется потому, что он применяется для хранения и доступа к данным, а не для их визуализации - для этой цели применяются визуальные компоненты (TDBGrid, TEdit и другие).

После того, как мы разместили компонент TTable, установим его свойства. Для этой цели воспользуемся инспектором объектов (Object Inspector), который обычно помещается слева от формы. Если он не видим, его можно вызвать, нажав кнопку F11. Инспектор объектов позволяет устанавливать свойства того компонента, который выделен при помощи мыши. Выделим мышью компонент TTable.

Установим значение свойства DatabaseName в PRIMER (это является псевдоним БД)при помощи выпадающего списка или введя его вручную. Установим значение свойства TableName (имя таблицы БД) в Materialy.DB при помощи выпадающего списка. После этого установим значение свойства Active в True. После этого произойдет реальное связывание компонента TTable (он по умолчанию имеет имя Table1) с реально существующей таблицей Materialy.DB.

Компонент TTable и компонент TQuery служат для хранения наборов данных. Понятие набора данных несколько шире, чем понятие таблицы БД, поскольку набор данных может содержать:

·      подмножество записей или полей таблицы БД (компоненты TTable, TQuery);

·              записи, сформированные из нескольких таблиц БД (компонент TQuery).

Расположим в контейнере DataModule компонент TDataSource. Он служит в качестве связующего звена между невизуальными компонентами (в данном случае Table1) и визуальными компонентами, которые мы добавим в форму №3 позднее. Поэтому компоненты TDataSource часто называют источниками данных. Установим свойство DataSet (имя набора данных) компонента TDataSource в значение Table1 путем выбора из выпадающего списка.нужно сохранить под каким-либо именем (по умолчанию Unit5.pas). Имя модуля Unit, в котором описан TDataModule, добавляется в текст модулей unit всех иных форм приложения, которые будут использовать БД и TDataSource, расположенные в этом TDataModule. Это производится в главном меню среды Delphi, в элементе меню File|Use Unit.

В дальнейшем визуальные компоненты, работающие с данными набора данных (НД), должны в своем свойстве DataSource содержать имя соответствующего компонента TDataSource из TDataModule. При этом имя является составным: сначала идет имя компонента TDataModule и затем через точку - имя компонента TDataSource, например, в нашем случае - DataModule5.DataSource1.

12.3.2. Создание простых экранных форм

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

Создание экранной формы для меню СУБД

Перейдем в форму №1 (элемент меню View|Forms), выбрав из диалогового окна Form1 нажмем на кнопку Ok. Расположим в форме компонент MainMenu из страницы Standard палитры компонентов. Затем вызовем средства разработки меню (это можно сделать двумя способами):

·   Двойное нажатие на компонент MainMenu внутри формы №1

·        Переходим в окно Object Inspector при выделенном компоненте на форме. Щелкнем на свойстве Items и нажмем кнопку .

Находясь в Конструкторе меню Form1.MainMenu1 (это имя, присвоенное Delphi по умолчанию созданному нами перед этим компоненту TMainMenu), дадим названия пунктам меню (свойства Caption в Object Inspector) “Файл/Ввод/Просмотр/Отчет/Выход”. Для перехода на следующий уровень нажимаем на <Enter>. Для визуального разделения пунктов меню на отдельные группы после Отчет используем несколько символов минус (-), назначать имя разделителю необязательно. Для пункта меню “Ввод” создадим подменю “Название материала/Поступление материала”. Для этого выделим его и щелкнем правой кнопкой мыши, в появившемся окне выберем пункт Create Submenu.

Теперь, когда меню создано, можно связать с каждым пунктом меню код, который будет выполняться при выборе данного пункта пользователем. Для создания процедуры обработки этого события - OnClick, находясь в Конструкторе меню, дважды щелкнем мышью на пункте меню. В появившемся окне Редактора кода процедуре обработки события OnClick напишем код, который будет выполняться при выборе этого пункта меню. Такого же результата можно достичь при помощи двойного щелчка мышью на имени процедуры обработки, которое находится на странице Events окна Object Inspector.

Например, в пункт Просмотр введем следующий код:

Form1.Visible := False;.Visible := True;

элемент меню Поступление материала:

Form1.Visible := False;

Form2.Visible := True;

элемент меню Выход: Сlose;

Выберем элемент меню File|Save Project As и сохраним проект. Сначала запрашивается имя формы проекта (у нас пять форм, с именами Form1 Form4, DataModule5). Сохраним формы под именами 'Unit*.pas'. Затем запрашивается имя проекта. Сохраним проект под именем 'appl.dpr'.

Добавим имена модулей Unit2 и Unit3 в текст модулей unit формы №1.

После этого выполним приложение. (Чтобы выполнить приложение не выходя из среды Delphi, достаточно нажать кнопку F9. Чтобы создать приложение и запустить его вне среды Delphi, следует нажать комбинацию кнопок Ctrl+F9 и затем запустить созданный файл с расширением .ехе и именем, совпадающим с именем проекта. В нашем случае следует запускать файл 'appl.exe'.

Остановить работающее приложение можно командой Run|Program Reset.

Создание экранной формы для представления содержания БД

1. Представление содержания одной таблицы БД на экранной форме.

Сначала построим простую экранную форму, которая имеет доступ только к одной таблице БД.

Перейдем в форму №3 путем выбора элемента (или команды) меню View|Forms, нажмем на кнопку Ok выбрав из диалогового окна Form3. Расположим в форме компонент TDBGrid, взяв его из палитры компонентов (страница Data Controls). Установим свойство DataSource компонента TDBGrid в значение DataSource1 (это имя созданного нами выше компонента TDataSource, присвоенное Delphi по умолчанию) предварительно добавив имя модуля Unit5, в котором описан TDataModule, в текст модулей unit формы №3. Компонент TDBGrid служит для отображения записей набора данных в табличной форме.

Добавим в форму компонент кнопки TButton (страница Standard палитры компонентов), дадим имя этому компоненту (свойство Name), используя инспектор объектов, CancelButton. Изменим заголовок кнопки (свойство Caption) на Отмена.

Вид разрабатываемой формы представлен на рис. 12.2.

Рис. 12.2. Вид формы на этапе разработки

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

Сlose;

Form1.Visible := True;

Запустим приложение на выполнение из Delphi, выбрав команду Run из меню Run (или F9). Из меню Файл/Ввод приложения выберем команду Просмотр.

Вид работающего приложения показан на рис.12.3.

Рис. 12.3. Вид формы №3 во время выполнения

Добавлять записи в набор данных (и, следовательно, в таблицу Materialy.DB) можно прямо из компонента TDBGrid.

Для добавления записи нужно нажать на клавиатуре кнопку Insert или, находясь на последней записи набора данных, кнопку "стрелка вниз". Набор данных автоматически перейдет в режим добавления новой записи. После ввода значений в поля записи запомнить запись в наборе данных можно, перейдя на другую запись при помощи клавиш управления курсором. Отказаться от запоминания записи можно, нажав кнопку Esc.

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

Для удаления записи следует установить на нее указатель текущей записи и нажать комбинацию кнопок Ctrl+Del.

2. Представление содержания двух таблиц БД

Теперь работу усложним. Представим содержание двух таблиц БД. Причем в двух вариантах:

а) без установления связи между таблицами на экранной форме;

б) отобразим данные таблицы с учетом связи между таблицами.

.1. Отображение данных таблиц БД на экранной форме без установления связи между ними

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

Добавим в контейнер DataModule5 компонент ТТаblе (с именем Таblе2) для работы с таблицей Prihod базы данных PRIMER (значения свойств такие же, как у компонента Table1, но свойство TableName ссылается на имя таблицы Prihod.DB). Добавим в форму компонент TDataSource (имя по умолчанию DataSource2). Установим свойство DataSet этого компонента в значение Таblе2. Разместим в форме №3 компонент TDBGrid (имя по умолчанию DBGrid2) и установим его свойство DataSowce в значение DataSource2. Установим свойство Таbl2.Аvtive в True. После этого произойдет реальное связывание компонентов TTable с реально существующими таблицами Materialy.DB и Prihod.DB.

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

Чтобы при просмотре нельзя было изменять данные о материалах (таблица Materialy.DB), установим свойства ReadOnly компонента DBGrid1 в положение True.

Запустим приложение на выполнение. Добавим несколько записей в таблицу Prihod.DB из компонента TDBGrid2. Обратите внимание, значение поля N_Prih формируется автоматически.

Рис. 12.5. В подчиненном наборе данных показываются записи, связанные с текущей записью в родительском НД

2.2. Отображение данных таблиц БД на экранной форме с учетом связи между ними

Нам известно, что таблицы базы данных Materialy.DB и Prihod.DB находятся в отношении "один-ко-многим". Поскольку мы определили ссылочную целостность между этими таблицами, можно сделать так, чтобы при установке указателя на запись в наборе данных Table1 (ассоциированном с Materialy.DB) в наборе данных Таblе2 (ассоциированном с Prihod.DB) показывались только записи прихода текущего материала в Table1. Это реализуется через механизм связи наборов данных Master-Detail.

В инспекторе объектов для компонента Таblе2 установим значение свойства Master Source в DataSource1. Переместимся на значение свойства Master Fields и нажмем кнопку . В появившемся окне Field Link Designer установим параметры связи. В поле Available Indexes выберем в качестве текущего индекса по полю 'Material'. В списке Detail Fields выберем поле Material, в списке Master Fields выберем поле Material и нажмем кнопку Add. В поле Joined Fields будет сформировано выражение 'Material ® Material'). Нажмем кнопку Ok.

 

Рис. 12.6. Окно установки значения свойства MasterFields

Как можно заметить, в компоненте Таblе2 текущий индекс (свойство FieldIndexNames) заменен на индекс, построенный по полю 'Material'.

Теперь в наборе данных Table2 показываются только записи по приходу материала, текущего в наборе данных Table1 (рис. 12.7).

Рис. 12.7. Связь Master-Detail - в дочернем наборе данных показываются только подчиненные записи

Создание экранной формы для ввода данных в базе данных

Для дальнейшей работы подготовим контейнер DataModule5. Из палитры компонентов Delphi на странице Data Access добавим невизуальный компонента TTаblе, установим значения свойств DatabaseName (псевдоним БД) в PRIMER при помощи выпадающего списка или введя его вручную. В Tаblе3 установим значение свойства TableName (имя таблицы БД) в PRIHOD.DB. После этого установим значение свойства Active в True. Расположим компонента TDataSource, установим свойство DataSet (имя набора данных) компонента DataSource3 в значение Table3. Добавление невизуальных компонентов для связи с таблицей PRIHOD.DB в контейнер обязательно, т.к. аналогичные компоненты в контейнере DataModule взаимно связаны и в дальнейшем может произойти циклическое обращение.

Добавим в форму №2 компонент TDBGrid из палитры компонентов Data Controls. Установим свойство DataSource компонента TDBGrid в значение DataSource3, предварительно добавив имя модуля Unit5 в текст модулей unit формы №2.

Теперь сделаем так, чтобы к полям записи в наборе данных Table3 можно было обращаться не только из сетки компонента DBGrid1, а из отдельных визуальных компонентов, позволяющих осуществлять доступ к отдельным полям записи набора данных.

Добавим в форму №2 два компонента TDBEdit (палитра компонентов Data Controls). Определим поле, к которому можно иметь доступ через компонент DBEdit1. Для этого установим значение его свойств - DataSource в DataSource3 и DataField в DatPrih. Определим поле, к которому можно иметь доступ через компонент DBEdit2. Для этого установим значение его свойств - DataSource в DataSource3 и DataField в Kolvo.

Для доступа к полю Material нам нужен более сложный компонент, который позволял бы вводить в поле Material таблицы Prihod.DB значения полей Material из таблицы Materialy.DB, и никакие другие значения. Для этой цели разместим компонент TDBLookupComboBox с именем по умолчанию DBLookupComboBox1. Установим свойства этого компонента:

·   DataSource - в значение DataModule5.DataSource3;

·   DataFiled - в значение Material;

·   List Source - в значение DataModule5.DataSource1

·   ListField - в значение Material;

·   KeyField - в значение Material.

Добавление кнопок управления данными базы данных на экранной форме

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

Для этого в приложение добавим пять компонентов кнопок TButton (страница Standard палитры компонентов). Изменим имена этих компонентов (свойство Name), используя инспектор объектов, соответственно на InsertButton, EditButton, DeleteButton, PostButton, CancelButton. Изменим заголовки этих кнопок (свойство Caption), используя инспектор объектов, соответственно на "Добавить", "Изменить", "Удалить", "Запомнить", "Закрыть" (рис. 12.8).

Рис. 12.8. Форма с визуальными компонентами для работы с полями текущей записи набора данных

Выберем при помощи мыши кнопку InsertButton и два раза щелкнем на ней. После этого мы перейдем в редактор кода и определим для кнопки InsertButton обработчик события нажатия кнопки, OnClick:

procedure TForm2.InsertButtonClick(Sender: TObject);.Table3.Insert;;

Метод Insert переводит набор данных Table1 в состояние добавления записи dsInsert. Ввод значений полей осуществляется в компонентах DBEdit1, DBLookupComboBox1, DBEdit2. Для этого необходимо, чтобы набор данных находился в режиме просмотра dsBrowse.

Определим обработчик нажатия кнопки EditButton:

procedure TForm2.EditButtonClick(Sender: TObject);.Table3.Edit;;

Метод Edit переводит набор данных Table1 в состояние добавления записи dsEdit. Редактирование значений полей осуществляется в компонентах DBEdit1,, DBEdit2. Для этого необходимо, чтобы набор данных находился в режиме просмотра dsBrowse.

Определим обработчик нажатия кнопки DeleteButton:

procedure TForm2.DeleteButtonClick(Sender: TObject);

beginMessageDlg('Подтвердите удаление записи',

mtConfirmation,[mbYes, mbNo],0) = mrYes THEN.Table3.Delete;

end;

Если набор данных Table1 находится в режиме просмотра записей dsBrowse, вызывается окно диалога (при выполнении функции MessageDlg); если пользователь нажимает кнопку Yes, происходит удаление текущей записи в наборе данных Table1.

Определим обработчик нажатия кнопки PostButton:

procedure TForm2.PostButtonClick(Sender: TObject);.Table3.Post;;

Если набор данных находится в режиме добавления новой записи или редактирования, происходит выполнение метода набора данных Post, который запоминает текущее состояние записи в таблице БД. После запоминания набор данных переводится в режим просмотра dsBrowse.

Определим обработчик нажатия кнопки CancelButton:

procedure TForm2.CancelButtonClick(Sender: TObject);;.Visible:=true;

end;

Если набор данных находится в режиме добавления новой записи или редактирования, происходит выполнение метода набора данных Cancel, который отменяет запоминание записи в таблице БД и переводит набор данных в режим просмотра и переходит на форму меню.

Для того чтобы набор данных нельзя было переводить в состояние добавления и изменения данных, а также удалять записи непосредственно из компонента DBGrid1, установим свойство DBGrid1.ReadOnly в значение True. После этого запустим приложение на выполнение. При добавлении новой записи или при корректировке существующей в поля можно заносить значения, используя ввод в компоненты DBEdit1, DBEdit2 и путем выбора из списка значений в компоненте DBLookupComboBox1 (рис. 12.10). То же происходит при изменении записи.

Рис. 12.9. Добавление новой записи

При удалении записи выдается окно диалога (рис. 4.11).

Рис. 12.10. Окно подтверждения удаления записи

12.3.3 Создание сложных экранных форм

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

Варианты модификации TDBGrid на экранной форме

Как можно заметить, значение поля N_Prih необходимо для обеспечения уникальности в таблице Prihod и не несет никакой иной нагрузки. Поэтому данное поле лучше не показывать в составе столбцов DBGrid2. Для этой цели сформируем список полей таблицы Prihod. В Delphi имеются две возможности указать, какие из полей таблицы БД следует использовать в приложении для набора данных.

Первый способ состоит в использовании по умолчанию всех полей из таблицы БД, с которой ассоциирован этот набор данных. Этот способ всегда используется по умолчанию и, следовательно, был неявно использован и нами при создании наборов данных Table1 и Table2.

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

Выберем в контейнере DataModule5 при помощи мыши компонент Таblе2 и нажмем правую кнопку мыши. В появившемся на экране всплывающем меню выберем элемент Fields Editor. В появившемся списке редактора полей нажмем правую кнопку мыши и во всплывающем меню выберем элемент меню Add Fields. Будет показан список всех полей таблицы БД Prihod.DB. Отметим (при помощи мыши и кнопки Shift) все поля, кроме N_Prih и нажмем кнопку Add. Теперь список редактора полей будет включать все отмеченные поля.

  

а)                                   б)                                  в)

Рис. 12.11. Работа с редактором полей:

а) пустой список редактора полей

б) добавление полей

в) заполненный список редактора полей.

Как можно заметить, в составе столбцов в компоненте DBGrid2 на форме №3 теперь присутствуют только те поля, которые добавлены для набора данных Table2 в редакторе полей (рис. 12.13).

Рис. 12.12. Состав полей DBGrid2 определяется списком редактора полей

Определение для набора данных списка полей в редакторе полей (нажатие правой кнопки мыши по компоненту Таblе2) приводит к тому, что для каждого добавленного таким образом поля в приложении Delphi автоматически создает компонент TField (поле набора данных). Каждый такой компонент по умолчанию именуется уникальным именем - в качестве первой составляющей имени поля берется имя набора данных (Таblе2), а в качестве второй составляющей - имя поля в таблице БД. Так, компонент TField соответствующий полю Material, будет поименован как Table2Material. Если в редакторе полей щелкнуть по имени соответствующего поля, в инспекторе объектов можно установить или изменить свойства поля, а также определить обработчики события для конкретного поля.

Изменим параметры компонента DBGrid2 так, чтобы названия его столбцов содержали русские наименования. Для этого нажмем правой кнопкой мыши на компоненте DBGrid2, и во всплывающем меню выделим элемент Columns Editor. На экране появится окно редактора столбцов компонента . Для того чтобы изменить характеристики столбцов в TDBGrid, нужно перейти от неявно определяемых столбцов к определяемым. Для этого нужно щелкнуть по кнопке Add All Fields, в результате чего будут добавлены столбцы, каждый из которых соответствует полю, определенному в редакторе полей компонента Table2. Что бы изменить заголовок каждого столбца, следует выбрать при помощи мыши имя столбца в редакторе столбцов, и в инспекторе объектов раскрыть список свойства Title (для чего следует щелкнуть мышью по крестику рядом с именем свойства). В элементе Caption этого списка содержится заголовок столбца; изменим соответствующим образом заголовки и затем выйдем из редактора столбцов DBGrid2.

 

Рис. 12.13.

а) пустой список столбцов DBGrid2

б) заполненный список столбцов

То же проделаем для набора данных Table1 (рис. 12.14).

Рис. 12.14. Установка заголовков столбцов DBGrid1 и 2

Аналогичные изменения проделаем и в форме №2.

Изменим также порядок сортировки записей в наборе данных Таblе3 в форме №2. Для этого в инспекторе объектов компонента Table3 (в DataModule5) установим свойство IndexFieldNames в значение "DatPrih;Material" путем выбора из выпадающего списка, содержащего названия индексных полей, определенных для каждого существующего индекса таблицы Prihod.DB. После этого войдем еще раз в редактор колонок DBGrid и при помощи мыши "перетащим" столбец DatPrih так, чтобы он предшествовал столбцу Material. Откомпилируем приложение и запустим его на выполнение. Как видно из рис. 4.16, набор данных Table2, ассоциированный с таблицей БД Prihod.DB, в приложении отсортирован по дате прихода, а внутри каждой даты прихода - по наименованию материала.

Рис. 12.15. Материалы отсортированы по дате поступления

Создание вычисляемых полей на экранной форме

Создание вычисляемых полей - одно из наиболее ценных свойств редактора полей. Это свойство можно использовать для различных целей, в нашем примере рассмотрим случай вычисления по двум или более полям с отображением результата вычислений в третьем поле.

В экранной форме № 3 создадим новое вычисляемое поле в DBGrid2, значение которого вычисляется по значениям других полей, для этого выполним следующие действия:

1. Перейдем в DataModule5, при помощи мыши сделаем текущим необходимый набор данных (в нашем примере Table2), нажав на правую кнопку мыши, выберем в меню пункт Field Editor (редактор полей) и снова нажав на правую кнопку мыши и выберем в меню пункт New Field.

2. Затем в диалоговом окне (рис.124.17) необходимо указать имя поля (в поле Name введем “vychisl”), его тип (в поле Type выберем “String”) и длину (в поле Size введем “3”). Помечаем поле как вычисляемое (Calculated). Нажимаем Ok и закрываем редактор полей.

Рис. 12.16. Окно определения свойств нового поля

Таким образом, для нового поля “vychisl” создан компонент TField, доступ к которому можно осуществлять в редакторе полей.

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

3. Для компонента набора данных Table2, к которому принадлежит вычисляемое поле, необходимо определить обработчик события OnCalcFields.

Например, нам необходимо знать наличие на складе товаров более 100 единиц. Для этого будем заносить в созданное вычисляемое поле Table2Vychisl набора данных Table2, ассоциированному с таблицей БД “Приход”, значение “Да”, если в поле Table2Kolvo этой записи содержится значение больше 100. В противном случае в поле Table2Vychisl будем заносить пустое значение.

В окне Редактора кода процедуры обработки события OnCalcFields напишем следующий код:

procedure TDataModule5.Table2CalcFields(DataSet: TDataSet);Table2Kolvo.Value > 100 ThenVychisl.AsString := 'Да'Vychisl.AsString := ' ';

end;

Если свойство набора данных AutoCalcFields установлено в True, событие OnCalcFields наступает и при модификации значений невычисляемых полей в режимах dsInsert и dsEdit данного набора данных или набора данных, реляционно с ним связанного (когда установлены ограничения целостности в самой таблице БД, а не тогда, когда они подразумеваются).

Процедура-обработчик события OnCalcFields содержит реализацию алгоритма вычисления значения вычисляемого поля или группы полей. Необходимо помнить, что в этом обработчике значение может быть присвоено только вычисляемому полю и не может - полю, определенному в структуре БД (приложение показано на рис. 12.17).

Рис. 12.17. Вид запущенного приложения

Использования SQL-запроса для отображения данных из разных таблиц на экранной форме

Создадим форму для отображения данных из нескольких таблиц. Для этого в контейнере TDataModule5 расположим компонент TQuery (страница Data Access палитра компонентов). По умолчанию его имя Query1. Установим его свойство DatabaseName в PRIMER. Расположим компонент TDataSource (имя DataSource4). Установим его свойство DataSet в значение Query1.

Расположим в форме №4 компонент TDBGrid. Установим его свойство DataSource в значение DataSource4.

В инспекторе объектов для компонента Query1 найдем свойство SQL и нажмем кнопку . Затем в появившемся окне редактора наберем текст SQL-запроса

SELECT P.DatPrih, P.Material, P.Kolvo,Т.Zena,

(P.Kolvo * T.Zena) As StoimMaterialy T, Prihod PT.Material = P.MaterialBY P.DatPrih, P.Material

и нажмем кнопку Ok.

После этого установим свойство Query1.Active в значение True. Набор данных Query1 содержит сведения о приходе материала на склад. В составе записи этого набора присутствуют поля DatPrih (дата прихода), Material (название материала), Kolvo (количество прихода), Zena (цена за ед. измерения данного материала), Stoim (стоимость прихода материала). Как видно из текста запроса в свойстве SQL, набор данных "собирается" из двух таблиц БД PRIMER, Materialy.DB и Prihod.DB. При этом соединяются записи из этих таблиц БД, имеющие одинаковое значение поля Material.

Рис. 12.18. Соединение данных из разных таблиц в одном наборе данных

В форме №1 в пункт Отчет введем следующий код:

Form1.Visible := False;.Visible := True;

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

12.3.4 Создание отчетных форм

В данном пункте описывается вопросы создание отчетных форм и установление их доступа к БД и организация обработки данных

Создание отчетных форм можно представить как всякая форма и рассмотреть в данной главе вместе с экранными формами. Однако формирование отчета имеет свои особенности. Кроме того, процесс формирование отчетов можно рассмотреть отдельно от вопросов СУБД. Формирование отчетных форм более или менее отдельный вопрос из-за того, что отчет включает три вида компонентов. Это экранная форма отчета в виде текста и таблицы, форма отчета выводимые на бумажные носители, графические материалы и материалы, формируемые в виде электронных файлов.

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

12.3.5 Запуск и проверка работы системы

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

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

Запуск системы осуществляется по команде: Rиn|Rиn. Запуск системы можно осуществить и с помощью горячей клавиши F9.

В случае зависания системы или при отсутствии выхода из системы прерывание работы осуществляется по команде Rиn|Program Reset.

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

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

Если порядок отображения экранных форм не соответствует желаемому варианту, то его можно менять в поле Main Form с помощью элемента меню Proect|Options закладка Forms.

12.4 Вычисляемые поля


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

Создание вычисляемых полей - одно из наиболее ценных свойств Редактора DataSet. Вы можете использовать эти поля для различных целей, но два случая выделяются особо:

·   выполнение вычислений по двум или более полям в DataSet, и отображение результата вычислений в третьем поле.

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

Программа CALC_SUM.DPR из примеров к данному уроку иллюстрирует первый случай использования вычисляемых полей.

Эта программа связывает три таблицы в отношении один ко многим. В частности, ORDERS и ITEMS связаны по полю OrderNo, а ITEMS и PARTS связаны по полю PartNo. (В таблице ORDERS хранятся все заказы; в таблице ITEMS - предметы, указанные в заказах; PARTS - справочник предметов). В программе можно перемещаться по таблице ORDERS и видеть связанный с текущим заказом список включенных в него предметов. Программа CALC_SUM достаточно сложная, но хорошо иллюстрирует мощность вычисляемых полей.

Последовательность создания проекта CALC_SUM:

1.  Создайте новый проект (File|New Project) и удалите из него форму (в Менеджере Проекта View|Project Manager)

2.      Выберите эксперта форм БД из меню Help.

.        На первом экране, выберите "Create a master/detail form" и "Create a form using TQuery Objects".

4.      Нажмите кнопку Next и выберите таблицу ORDERS.DB из псевдонима БД DBDEMOS.

5.      Нажмите Next и выберите поля OrderNo, CustNo, SaleDate, ShipDate и ItemsTotal из таблицы ORDERS.DB.

6.      Нажмите Next и выберите "Horizontal" из расстановки компонентов dbEdit на форме.

.        Нажмите Next и выберите таблицу ITEMS.DB.

.        В двух следующих экранах выберите все поля из таблицы и поместите их в grid.

.        Нажмите Next и выберите поле OrderNo из Master и Detail ListBoxes, и Нажмите кнопку Add.

.        Нажмите Next и сгенерируйте форму.

Требуется много слов для того, чтобы описать процесс показанный выше, но, фактически, выполнение команд в Эксперте форм БД легко и интуитивно.

Выделите первый из двух объектов TQuery и установят свойство Active в True. Для Query2 в свойстве SQL напишите текст запроса:

* from Items I, Parts P

where (I.OrderNo =:OrderNo) and

(I.PartNo=P.PartNo)

Активизируйте объект Query2 (Active установите в True) и вызовите редактор DataSet (Fields Editor) для него. Вызовите диалог Add Fields и добавьте поля OrderNo, PartNo, Qty и ListPrice.

Нажмите Define и ведите слово Total в поле FieldName. Установите Field Type в CurrencyField. Проверьте что Calculated CheckBox отмечен. Нажмите Ok и закройте редактор DataSet.

Простой процесс описанный в предыдущем абзаце, показывает как создать вычисляемое поле. Если посмотреть в DBGrid, то можно видеть, что там теперь есть еще одно пустое поле. Для того, чтобы поместить значение в это поле, откройте в Инспекторе Объектов страницу событий для объекта Query2 и сделайте двойной щелчок на OnCalcFields. Заполните созданный метод так:

TForm2.Query2CalcFields(DataSet: TDataSet);NewTotalInvoice.Value := 23.0;;

После запуска программы поле Total будет содержит строку $23.00.

Это показывает, насколько просто создать вычисляемое поле, которое показывает правильно сформатированные данные. На самом деле это поле должно показывать нечто другое - произведение полей Qty (количество) и ListPrice (цена). Для этого вышеприведенный код для события OnCalcFields нужно изменить следующим образом:

procedure TForm1.Query2CalcFields(DataSet: TDataset);Total.Value:=Query2Qty.Value*Query2ListPrice.Value;

end;

Если теперь запустить программу, то поле Total будет содержать требуемое значение.

В обработчике события OnCalcFields можно выполнять и более сложные вычисления (это будет показано позже), однако следует помнить, что это вызывает соответствующее замедление скорости работы программы.

Теперь давайте добавим вычисляемое поле для первой таблицы (Query1, ORDERS), которое будет отображать сумму значений из поля Total второй таблицы (Query2) для данного заказа. Вызовите редактор DataSet для объекта Query1 и добавьте вычисляемое поле NewItemsTotal типа CurrencyField. В обработчике события OnCalcFields для Query1 нужно подсчитать сумму и присвоить ее полю NewItemsTotal:

TForm1.Query1CalcFields(DataSet: TDataset);R : Double;:=0;Query2 do begin;;;:=R+Query2Total.Value;;EOF;;;;NewItemsTotal.Value:=R;;

В данном примере сумма подсчитывается с помощью простого перебора записей, это не самый оптимальный вариант - можно, например, для подсчета суммы использовать дополнительный объект типа TQuery. Метод DisableControls вызывается для того, чтобы отменить перерисовку DBGrid при сканировании таблицы. Запрос Query2 переоткрывается для уверенности в том, что его текущий набор записей соответствует текущему заказу.

Поместите на форму еще один элемент DBEdit и привяжите его к Query1, полю NewItemsTotal. Запустите программу, ее примерный вид показан на рис.12.19.

Рис. 12.19. Программа CALC_SUM

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

Управление TDBGrid во время выполнения

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

Вы можете использовать свойство Options объекта DBGrid, чтобы изменить ее представление. Свойство Options может принимать следующие возможные значения:         Установлен по-умолчанию в true, позволяет пользователю редактировать grid. Вы можете также установить свойство ReadOnly grid в True или False.    Будут ли видны названия колонок.       Будут ли видны небольшие иконки слева.       Может ли пользователь менять размер колонки.   Показывать ли линии между колонками.         Показывать ли линии между строками. Может ли пользователь использовать tab и shift-tab для переключения между колонками.

Как объявлено в этой структуре:

TDBGridOption = (dgEditing, gdAlwaysShowEditor, dgTitles,, dgColumnResize, dgColLines,

dgRowLines, dgTabs);

Например, Вы можете установить опции в Runtime написав такой код:

.Options := [dgTitles, dgIndicator];

Если Вы хотите включать и выключать опции, это можно сделать с помощью логических операций. Например, следующий код будет добавлять dgTitles к текущему набору параметров:

DBGrid1.Options := DBGrid1.Options + [dgTitles];

Пусть есть переменная ShowTitles типа Boolean, тогда следующий код позволяют включать и выключать параметр одной кнопкой:

procedure TForm1.Button3Click(Sender: TObject);ShowTitles then.Options := DBGrid1.Options + [dgTitles].Options := DBGrid1.Options - [dgTitles];

ShowTitles := not ShowTitles;;

Если Вы хотите скрыть поле в run-time, то можете установить свойство visible в false:

Query1.FieldByName(‘CustNo’).Visible := False;

Query1CustNo.Visible := False;

Обе строки кода выполняют идентичную задачу. Чтобы показать поле снова, установите видимый в true:

Query1.FieldByName(‘CustNo’).Visible := True;

Query1CustNo.Visible := True;

Если Вы хотите изменить положение колонки в Runtime, можете просто изменить индекс, (первое поле в записи имеет индекс нуль):

Query1.FieldByName(‘CustNo’).Index := 1;CustNo.Index := 2;

По-умолчанию, поле CustNo в таблице Customer является первым. Код в первой строке перемещает это поле во вторую позицию, а следующая строка перемещает его в третью позицию. Помните, что нумерация полей начинается с нуля, так присвоение свойству Index 1 делает поле вторым в записи. Первое поле имеет Index 0.

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

Если Вы хотите изменить ширину колонки в Runtime, только измените свойство DisplayWidth соответствующего TField.

Query1.FieldByName(‘CustNo’).DisplayWidth := 12;CustNo.DisplayWidth := 12;

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

Программа DBGR_RT показывает как работать с DBGrid в Runtime. Программа достаточно проста, кроме двух небольших частей, которые описаны ниже. Первая часть показывает, как создать check box в Runtime, а вторая показывает, как изменить порядок пунктов в listbox в Runtime.

При создании формы (событие OnCreate) ListBox заполняется именами полей, далее создается массив объектов CheckBox, соответствующий полям в таблице. Сперва все CheckBox’ы выбраны и все поля в таблице видимы. Программа узнает через TTable1 имена полей и присваивает их свойству Caption соответствующего CheckBox. Кроме того, обработчику события OnClick всех CheckBox’ов присваивается процедура ChBClick, которая и включает/выключает поля в DBGrid.

procedure TForm1.FormCreate(Sender: TObject);i : Word;: Array[0..49] of TCheckBox;

{Fill ListBox}.Clear;i:=0 to Table1.FieldCount-1 do.Items.Add(Table1.Fields[i].FieldName);

{Make CheckBoxes}i:=0 to Table1.FieldCount-1 do begin[I] := TCheckBox.Create(Self);[I].Parent := ScrollBox1;[I].Caption := Table1.Fields[i].FieldName;[I].Left := 10;[I].Top := I * CheckBox1.Height + 5;[I].Width := 200;[I].Checked := True;[I].OnClick := ChBClick;;

end;

Большая часть кода в этом примере выполняет относительно простые задачи, типа назначения имен и положений check boxes. Вот две ключевых строки:

[I] := TCheckBox.Create(Self);[I].Parent := ScrollBox1;

Первая строки создает CheckBox с заданным Owner (Владельцем). Вторая строки назначает Parent (Родителя) для CheckBox. Чтобы понять различия между Родителем и Владельцем, посмотрите соответствующие свойства в online-help.

Программа содержит ListBox, который показывает текущий порядок полей в DataSet. Для изменения порядка полей в DataSet (а, следовательно, в DBGrid) используются две кнопки. При нажатии на одну из кнопок, выбранное в ListBox’е поле перемещается на одну позицию вверх или вниз. Синхронно с этим меняется и порядок полей в DBGrid. Код, показанный ниже, изменяет Index поля для Table1, изменяя, таким образом, позицию поля в DBGrid. Эти изменения касаются только визуального представления DataSet. Физически данные на диске не изменяются.

procedure TForm1.downButtonClick(Sender: TObject);i : Integer;ListBox1 do(ItemIndex<Items.Count-1)and(ItemIndex<>-1) then begin:= ItemIndex;

{move ListBox item}.Move(i, i+1);:= i+1;

{move Field}.Fields[i].Index:=i+1;

end;;

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

Внешний вид программы DBGR_RT показан на рис.12.20.

Рис. 12.20. Программа DBGR_RT

Заключение по разделу


Создание СУБД для решения поставленной задачи сводится к следующему:

. Формирование экранной формы для меню.

. Формирование экранной формы для отображения БД. Причем:

·   формирование экранной формы для отображения данных одной таблицы;

·        формирование экранной формы для отображения 2-х таблиц (отображение данных двух таблиц без учета связи между ними; отображение данных таблиц с учетом связи между таблицами);

·        включение в состав экранной формы вычисляемого поля;

·        создание экранной формы с использованием SQL-запроса.

. Формирования экранной формы для ввода данных в БД с кнопками навигации и управления состоянием БД.

12.5 Техническое задание

А.1 Основание для разработки

Основанием для разработки является приказ ректора Казахского национального технического университета на дипломное проектирование.

А.2 Назначение разработки

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

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

А.3 Требования к программному обеспечению

А.3.1 Требования к функциональным характеристикам ПО;

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» должна реализовывать функции:

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

2)   Оповещение потенциальных клиентов об изменениях в прайсе книжного магазина;

3)   Прием и оформление заказов клиентов;

4)   Отправление накопившихся заказов издательствам - поставщикам;

5)   Печать необходимой сопровождающей документации;

A.3.1.1 Входные данные

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

A.3.1.2 Выходные данные

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

А.3.2 Требования к надежности ПО;

Требование устойчивости подсистемы «Автоматизированное рабочее место менеджера книжного магазина» к неправильному вводу данных и предоставление возможности корректировки ошибочно введенных данных.

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» должна обеспечить:

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

2)   восстановление информации после возможного аппаратного или программного сбоя.

А.3.3 Условия эксплуатации

Система «Автоматизированное рабочее место менеджера книжного магазина» предназначена для широкого круга пользователей.

Для успешной работы с системой «Автоматизированное рабочее место менеджера книжного магазина» необходимо соблюдение требований к составу и параметрам технических средств.

А.3.4 Требования к составу и параметрам технических средств

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» должна устойчиво работать при следующих минимальных параметрах аппаратных средств: IBM-совместимый компьютер, процессор Intel Pentium с тактовой частотой 300 МГц, 24 Мб оперативной памяти, монитор VGA, манипулятор “мышь”.

Рекомендуемые параметры аппаратных средств: IBM-совместимый компьютер, процессор Intel Pentium с тактовой частотой 500 МГц, 128 Мб оперативной памяти, монитор SVGA, манипулятор “мышь”.

А.3.5 Требования к информационной совместимости ПО

Подсистема «Автоматизированное рабочее место менеджера книжного магазина» должна быть написана в среде визуального программирования Delphi 5.0 и успешно работать в любой из операционных систем: Windows 95, Windows 98, Windows NT, Windows 2000.

А.4 Требования к программной документации

В дипломный проект должны быть включены следующие документы:

Текст программы;

Описание применения;

Руководство системного программиста;

Руководство оператора (пользователя).

А.5 Технико-экономические показатели

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

А.5.1 Годовая потребность в программе

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

Точная количественная оценка эффективности применения подсистемы «Автоматизированное рабочее место менеджера книжного магазина» приведена в разделе «ОЦЕНКА ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА».

А.5.2 Годовая потребность в программе

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

12.6 Результаты тестирования

При запуске программы происходит запрос коэффициентов:

Рис. 12.21. Программа DB

Затем выводится список книг, составленный из данных прайсов, присылаемых поставщиками:

Рис. 12.22. База данных

Выбор меню “Файл” - “Заказ…” приводит к появлению окна оформления заказа клиента:

Рис. 12.23. Заказ клиента

Окно выбора клиента, который делает заказ:

Рис. 12.24. Результатзаказа

Результат заказа - вывод на монитор и на принтер счет-фактуры:

Рис. 12.25. Счет фактура

ЗАКЛЮЧЕНИЕ

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

Достоинства внедрения в эксплуатацию подсистемы «Автоматизированное рабочее место менеджера книжного магазина» заключаются:

а) в предоставлении возможностей оперативной работы с информацией;

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

в) в реализации простого, удобного и в то же время многофункционального интерфейса со множеством подсказок в помощь оператору;

г) в освобождении менеджера книжного магазина от каждодневной рутинной работы;

д) в защите информации от потери;

е) в достигаемом годовом экономическом эффекте, рассчитанном в разделе.

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

СПИСОК ЛИТЕРАТУРЫ

1. Коннолли Т., Бен К. Базы данных: проектирование, реализация и сопровождение. Теория и практика. - К.; М.; СПб: Издательский дом «Вильямс», 2000.

2. СНиП II-4-87. Естественное и искусственное освещение. - Светотехника, № 10, 1987, с. 1-29.

3. ГОСТ 12.1.003-89. ССБТ. Шум. Общие требования безопасности. - М.: Стандарт, 1989.

4. ГОСТ 12.1.006-89. Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля. - М.: Стандарт, 1989.

5. ГОСТ 12.1.005-91. Микроклимат производственных помещений. - М.: Стандарт, 1989.

6. СН-4088-86. Санитарные нормы проектирования промышленных учреждений. - М.: Стройиздат, 1991.

7. ГОСТ 12.1.004-91. Пожарная безопасность. Общие требования. - М.: Стандарт, 1989.

8. С.Тейксейра, К.Паченко. Borland Delphi 5. Руководство разработчика. - К.; М.; СПб.: Издательский дом «Вильямс», 2000.

9. Кэнту М. Delphi 4 для профессионалов - СПб: Питер, 1999.

Похожие работы на - Автоматизированное рабочее место менеджера книжного магазина

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!