Автоматизированная система "Библиотека"

Архитектура и системные требования. Исходные тексты программ: выбор и обоснование языка программирования, СУБД, реализация базы данных и программного обеспечения. Методика тестирования. Составление руководства пользователя и программиста.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.03.2012
Размер файла 333,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовая работа

Автоматизированная система «Библиотека»

Введение

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

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

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

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

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

1. Состав творческой группы

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

В процессе разработки будут затронуты следующие специализации:

- архитектор;

- администратор;

- ведущий программист;

- программист;

- ответственный за тестирование;

- ответственный за документацию.

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

2. План выполнения разработки

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

Ниже представлен план выполнения разработки автоматизированной системы «Библиотека».

Задача

Срок выполнения

1

Создание документа-концепции (формулирование технического задания) на разработку программного продукта.

2

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

3

Реализация технического проекта.

4

Разработка программного обеспечения

5

Тестирование программного обеспечения

6

Оформление документации

3. Документ-концепция

программа база данные тестирование

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

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

1. работу с базой данных библиотеки

- добавление читателей

- добавление книг

- регистрацию фактов выдачи / сдачи книг

2. регистрацию действий сотрудников:

- вход в систему / выход из системы

- факты выдачи / сдачи книг

3. формирование статистической отчетности:

- по книгам

- по читателям

- по сотрудникам

4. эргономическую работу:

- «запоминание» размеров и положения окон

- «запоминание» размеров колонок таблиц

Использование программного продукта позволит:

1. экономить время, традиционно затрачиваемое на определение наличия в библиотеке книги;

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

3. организовать обмен библиографической информацией с другими библиотеками;

4. повысить уровень культуры в работе с библиографической информацией.

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

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

2. работники - сотрудники, имеющие право только работы с базой данных.

3. гость - сотрудники, имеющие право только просмотра базы данных.

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

4. Архитектура и системные требования

Архитектура программного продукта представлена на рис. 1.

Рисунок 1 - Архитектура программного продукта

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

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

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

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

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

Возможные типы статистической отчетности:

- по книгам

- по читателям

- по сотрудникам

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

- текстовый файл

- таблица Microsoft Office

Пользовательская подсистема состоит из нескольких модулей:

- добавление читателя;

- добавление книги;

- выдачу книги;

- сдачу книги;

- вывод общей информации об операциях с книгами;

- вывод информации о программе.

Модули

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

База данных условно разделена на 3 группы таблиц:

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

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

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

5 Исходные тексты программ

5.1 Выбор языка программирования

C++ - компилируемый строго типизированный язык программирования общего назначения. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.

При создании С++ стремились сохранить совместимость с языком С. Большинство программ на Си будут исправно работать и с компилятором С++.

Нововведениями С++ в сравнении с С являются:

· поддержка объектно-ориентированного программирования;

· поддержка обобщённого программирования через шаблоны;

· дополнительные типы данных;

· исключения;

· пространства имён;

· встраиваемые функции;

· перегрузка операторов;

· перегрузка имён функций;

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

· дополнения к стандартной библиотеке.

Достоинства языка C++:

· Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем.

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

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

Язык С++ официально получил свое название в 1983 г. Он был создан на основе более старого языка С с целью упростить процесс создания программы и позволил программисту составлять алгоритм с помощью привычных человеку понятий. Если программирование на С напоминает скорее программирование в «машинных» кодах, то в С++ можно настроить свою программу на конкретную предметную область и работать не с числами и переменными, а, например, понятиями «валюта» или «окно», что значительно легче и удобнее. При этом С++ сохраняет преимущества Си, позволяя добиваться очень высокого быстродействия получаемых программ.

Сегодня С++ очень широко распространен во всем мире. Большинство программ создается именно на этом языке. В частности, система Windows, большинство системных и хакерских утилит, почти все игры и даже бухгалтерские программы 1C:) написаны на С и С++.

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

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

Однако использование подобных библиотек для организации интерфейса весьма трудоемко. Если с их помощью попытаться сделать на С++ самую простую программу для Windows, которая будет выводить на экран строчку «Привет!», то потребуется написать сотни строк громоздкого и непонятного кода. А если вы захотите добавить в главное окно кнопку, меню или картинку, то такая работа превратится в настоящее мучение.

К счастью, компании, производящие средства программирования, пошли по пути, отличному от простого выпуска подключаемых библиотек. Они предлагают разработчикам так называемые среды быстрой разработки (Rapid Application Development, RAD-среды), которые берут на себя всю рутинную работу, связанную с подготовкой программы к работе в Windows, генерируют соответствующий текст программы автоматически и позволяют программисту сосредоточиться исключительно на решении своей задачи. Различные элементы управления - кнопки, переключатели, картинки, и другие объекты Windows, которые называются компоненты в терминологии RAD-систем, перетаскиваются мышкой в проектируемом окне, как в игровом компьютерном конструкторе, поэтому RAD-среды называются еще визуальными средами разработки - как вижу проектируемые окна и диалоги, такими они и будут во время работы программы. Разработчику остается только определить, что делать при нажатии на ту или иную кнопку или при выборе опреде ленного пункта меню, по прошествии определенного промежутка времени и вообще, при наступлении того или иного события, которое случается с самой программой или с операционной системой, в которой она запущена. Поэтому программирование в RAD-средах называется событийно-ориентированным. Конечно, реагировать надо не на все события, а только на те, которые требуются для полноценной работы вашей программы.

С помощью всевозможных визуальных редакторов или Мастеров - специальных программ, которые серией последовательных вопросов определяют, что вы хотите сделать, можно подчас создать программу, не написав вручную ни строчки кода! Более того, разработчику в большинстве случаев совершенно не надо знать внутреннее устройство Windows - а ведь это сотни специальных системных вызовов, разобраться в которых начинающему неподготовленному программисту довольно сложно. Все нюансы работы операционной системы скрыты внутри готовых компонентов, которые можно использовать как строительные кубики для «складывания» своей программы.

Эти компоненты (например, круглые кнопки или модули шифрования) распространяются самыми разными способами. Некоторые свободно доступны через Интернет, некоторые продаются как shareware-продукты.

C++ Builder (по-русски обычно произносят [си-плюс-плюс бимлдэр], [си бимлдэр]) - программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.

Достоинства С++ Builder:

1. Скорость визуальной разработки

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

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

· Конструирование по способу «drag-and-drop» позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.

· Механизмы двунаправленной разработки (two-way-tools) устраняют барьеры между программистом и его кодом. Технология двунаправленной разработки обеспечивает контроль за вашим кодом посредством гибкого, интегрированного и синхронизированного взаимодействия между инструментами визуального проектирования и Редактором кода.

· Свойства, методы и события - это именно те элементы языка, которые обеспечивают быструю разработку приложений в рамках объектно-ориентированного программирования. Свойства позволяют легко устанавливать разнообразные характеристики объектов. Методы производят определенные, иногда довольно сложные, операции над объектом. События связывают воздействия пользователя на объекты с кодами реакции на эти воздействия. События могут возникать при таких специфических изменениях состояния объектов как обновление данных в интерфейсных элементах доступа к базам данных. Работая совместно, свойства, методы и события образуют среду RAD (Rapid Application Development) быстрого и интуитивного программирования надежных приложений для Windows.

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

· Испытание прототипа позволяет без труда переходить от прототипа приложения к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах интегрированной среды. Чтобы удостовериться, что ваша программа производит ожидаемые результаты, раньше приходилось многократно проходить по циклу редактирование => компиляция => сборка, непроизводительно расходуя время. C++Builder объединяет три этапа разработки в единый производственный процесс. В результате удается строить приложения, базирующиеся на текущих требованиях заказчика, вместе с тем гибкие настолько, чтобы быстро адаптировать их к новым запросам пользователей.

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

· Исходные тексты Библиотеки Визуальных Компонент облегчают разработку новых компонент на базе готовых примеров.

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

· Расширенная математическая библиотека содержит дополнительные унифицированные функции статистических и финансовых вычислений.

2. Продуктивность компонент

· Библиотека Визуальных Компонент VCL приобрела статус нового промышленного стандарта и в настоящее время применяется более чем полумиллионом пользователей, существенно ускоряя разработку надежных приложений любой степени сложности. VCL содержит около 100 повторно используемых компонент, которые реализуют все элементы пользовательского интерфейса операционной системы Windows 95. Кроме того, VCL предоставляют в распоряжение программистов такие оригинальные объекты, как записные книжки с закладками, табличные сетки для отображения содержимого баз данных и даже органы управления устройствами мультимедиа. Находясь в среде объектно-ориентированного Программирования C++Builder, компоненты можно использовать непосредственно, менять их свойства, облик и поведение или порождать производные элементы. обладающие нужными отличительными характеристиками.

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

· Компонента ChartFX обеспечивает немедленное построение на вашей форме разнообразных графиков, диаграмм, таблиц и предусматривает проверку правописания на многих языках. В варианте C++Builder Standard эта компонента является единственным представителем группы ActiveX.

· Интеграция компонент ActiveX позволяет расширить Библиотеку Визуальных Компонент, включив компоненты стандарта ActiveX для разработки приложений в сети Internet. Если

3. Мощность языковых средств C++

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

· Новые элементы стандарта ANSI/ISO языка C++ представлены шаблонами, пространствами имен, исключениями, информацией о типах времени выполнения (RTTI), наряду с расширением набора ключевых слов bool, explicit, mutable, typename. automated и др.

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

· Чистый и доступный код приложений, которые C++Builder строит на основе предоставляемых разработчику компонентных свойств, событий и методов, исключает скрытые и трудные в отладке макросы.

· Поддержка промышленных стандартов ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP, ISAPI. NSAPI, ODBC, Unicode и MBCS.

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

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

· Создание DLL, LIB, и ЕХЕ файлов предоставляет свободу выбора формата целевого приложения в соответствии с требованиями конкретного проекта.

· Прямое обращение к системным функциям Windows 95 и NT дает возможность программистам, работающим в среде C++Builder. при необходимости воспользоваться всеми усовершенствованиями современных операционных систем.

· Механизм OLE Automation предоставляет вашему приложению возможность управлять другими типовыми программными комплексами для Windows (такими как Microsoft Word, Excel, Visual Basic, Lotus 1-2-3, dBASE и Paradox) по схеме сетевого взаимодействия контроллер / сервер.

5. Масштабируемые соединения с базами данных

· Разработка по способу «drag-and-drop» многократно упрощает и ускоряет обычно трудоемкий процесс программирования СУБД в архитектуре клиент / сервер. Широкий выбор компонент управления визуализацией и редактированием позволяет легко изменять вид отображаемой информации и поведение программы. C++Builder использует Проводник баз данных (Database Explorer) и масштабируемый Словарь данных (Data Dictionary), чтобы автоматически настроить средства отображения и редактирования применительно к специфике вашей информации.

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

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

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

· Механизм BDE (Borland Database Engine) поддерживает высокопроизводительный 32-разрядный доступ к базам данных dBASE, Paradox: Sybase. Oracle, DB2. Microsoft SQL Server. Informix, InterBase и Local InterBase. C++Builder использует контроллер ODBC (Open Database Connectivity) производства Microsoft для связи с серверами баз данных Excel, Access, FoxPro и Btrieve. Являясь фундаментом любого приложения базы данных, BDE тесно связан с Хранилищем объектов и Модулями данных.

· Объекты Модулей данных действуют как связующий каркас приложения - они определяют источники и бизнес-логику базы данных, фиксируют взаимосвязи компонент. В централизованной модели доступа к данным бизнес-логика отделена от разработки графического интерфейса с пользователем (GUI). Любое изменение бизнес-логики вашей базы данных сказывается на поведении только соответствующего Модуля данных, а результаты изменения проявляются немедленно во всех приложениях, использующих данный модуль. Работая с модулями данных, вы однократно устанавливаете связи вашего приложения с адресуемой базой данных, а затем по способу «drag-and-drop» можете перетаскивать поля записей на новые формы - в любой узел вашей сети. Никакого дополнительного кодирования при этом не требуется.

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

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

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

Изначально Borland C++Builder разрабатывался компанией Borland Software, а затем её подразделением CodeGear, которое сейчас принадлежит компании Embarcadero Technologies.

Система Borland C++Builder - наиболее совершенная визуальная среда быстрой разработки на С++ для Windows. В ее состав входят сотни самых разных компонентов, а создание законченной программы требует минимума усилий. Ближайший конкурент Borland C++Builder - это Microsoft Visual C++, в котором реализована поддержка визуальной разработки на С++ (желающие могут пользоваться и этой системой, однако при этом будут определенные расхождения), а также Microsoft Visual Basic, классическая среда визуальной разработки на языке Бейсик.

У системы Borland C++Builder есть «родной брат» (или «сестра») - RAD-среда Borland Delphi, технология работы с которой полностью совпадает с технологией, принятой в C++Builder. Только пишется программа в Delphi не на С++, а на языке программирования Паскаль, точнее, его объектной версии Delphi Language.

C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. [1] Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.

C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр.

C++ Builder первоначально создавалась только для платформы Microsoft Windows. Поздние версии, содержащие Кроссплатформенную компонентную библиотеку Borland, поддерживают и Windows и Linux.

Наличие в пакете инсталляции C++ Builder широкого спектра стандартных компонентов и возможность установки компонентов сторонних разработчиков позволяет использовать данную среду разработки приложений для разработки нашего приложения.

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

Основная обработка данных будет производится в функциональных частях, отвечающих за работу с данными (добавление, дублирование, редактирование, удаление записейПри реализации поставленной задачи возникают проблемы при разработке системы управления базами данных (СУБД). Все приложения СУБД, создаваемые в среде C++Builder, являются клиентами в архитектуре программного взаимодействия клиент / сервер. Клиент выдает запросы к серверу базы данных на получение или передачу информации. Сервер обрабатывает запросы от множества клиентов одновременно, координируя доступ к данным и их обновление.

Все приложения СУБД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Большая доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных. Формы приложений СУБД для типично сложной системы в архитектуре взаимодействия клиент / сервер действительно могут быть созданы в интегрированной среде C++Builder весьма быстро и с малыми усилиями.

Ключевой механизм Borland Database Engine (BDE), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов Open Database Connectivity (ODBC) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, можно получить доступ ко всем локальным стандартным базам данных компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент / сервер.

Одним из важнейших достоинств интегрированной среды C++Builder является наличие удобных средств быстрой визуальной разработки приложений СУБД - специализированных компонент баз данных. C++Builder компилирует компоненты в единую исполняемую программу, что существенно повышает ее надежность и быстродействие. Только очень опытные программисты способны создать программу подобного уровня качества и гибкости, используя исключительно прямые обращения к соответствующим функциям Windows API. При таком подходе даже простое приложение требует написания большого по объему кода.

Таким образом программное обеспечение будет разрабатываться на языке С++ с использованием среды разработки Borland C++ Builder.

5.2 Выбор СУБД

Основная обработка данных производится в функциональных частях, отвечающих за работу с данными (добавление, дублирование, редактирование, удаление записейПри реализации поставленной задачи возникают проблемы при разработке системы управления базами данных (СУБД). Все приложения СУБД, создаваемые в среде C++Builder, являются клиентами в архитектуре программного взаимодействия клиент / сервер. Клиент выдает запросы к серверу базы данных на получение или передачу информации. Сервер обрабатывает запросы от множества клиентов одновременно, координируя доступ к данным и их обновление.

Все приложения СУБД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Большая доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных. Формы приложений СУБД для типично сложной системы в архитектуре взаимодействия клиент / сервер действительно могут быть созданы в интегрированной среде C++Builder весьма быстро и с малыми усилиями.

Ключевой механизм Borland Database Engine (BDE), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов Open Database Connectivity (ODBC) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, можно получить доступ ко всем локальным стандартным базам данных компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент / сервер.

Одним из важнейших достоинств интегрированной среды C++Builder является наличие удобных средств быстрой визуальной разработки приложений СУБД - специализированных компонент баз данных. C++Builder компилирует компоненты в единую исполняемую программу, что существенно повышает ее надежность и быстродействие. Только очень опытные программисты способны создать программу подобного уровня качества и гибкости, используя исключительно прямые обращения к соответствующим функциям Windows API. При таком подходе даже простое приложение требует написания большого по объему кода.

C++Builder предоставляет разработчикам интерфейсные элементы баз данных из Библиотеки Визуальных Компонент:

Компоненты управления данными Data Control (такие как область редактирования TDBEdit или сетка TDBGrid) обеспечивают отображение и редактирования записей на форме приложения.

Компоненты доступа к данным Data Access (такие как таблица TTable или запрос TQuery) адресуют фактические данные, хранящиеся в файле базы данных, а компонента источника TDataSource служит как интерфейс межкомпонентной связи.

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

Таким образом, разработка базы данных будет производиться средствами Database Desktop, встроенной в Borland Developer Engine.

5.3 Реализация базы данных

Реализуемая информационная система будет хранить информацию о сотрудниках библиотеки (имена, права доступа, статистика входов / выходов и т.д.) и деятельности библиотеки (книги, их выдачи, сдачи). Выделим основные поля, которые необходимы для работы программы:

· Автор книги

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

· Год издания

· Описание

· Из какого раздела библиотеки книга

· Дата выдачи

· Планируемая дата возврата

· Дата сдачи

· Сотрудник, выдавший книгу

· Сотрудник, принявший книгу

· Фамилия Имя Отчество сотрудника

· Паспортные данные сотрудника

· Адрес проживания сотрудника

· Права доступа сотрудника

· Фамилия Имя Отчество читателя

· Паспортные данные читателя

· Адрес проживания читателя

· Дата и время входа в систему

· Дата и время выхода из системы

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

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

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

Произведем нормализацию нашей базы данных.

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

Вторая нормальная форма: таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма: таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A > B и B > C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.

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

Результатом приведения нашей базы данных к третьей нормальной форме будут пять таблиц. Структуры таблиц приведены ниже.

Структура таблицы сотрудников

Наименование поля

Описание

Кратное имя

Текстовое поле с уникальным значением

Пароль

Пароль сотрудника для входа

Полное имя

Фамилия Имя Отчество сотрудника

Адрес

Адрес проживания

Права

Права доступа к операциям (0 - администратор, 1 - работник, 2 - гость)

Паспорт

Паспортные данные сотрудника

Дата рождения

Дата рождения

Структура таблицы статистики входов / выходов

Наименование поля

Описание

№ записи в БД

Поле с уникальным значением

Краткое имя

Краткое имя сотрудника для входа

Дата входа

Дата входа в систему

Время входа

Время входа в систему

Дата выхода

Дата выхода из системы

Время выхода

Время выхода из системы

Структура таблицы книг

Наименование поля

Описание

№ записи в БД

Поле с уникальным значением

Автор

Фамилия инициалы автора

Название

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

Год издания

Год издания книги

Жанр

Жанр книги, раздел библиотеки

Описание

Описание книги (издательство, кол-во страниц)

Статус книги

Статус книги (в наличии или выдана)

Структура таблицы читателей

Наименование поля

Описание

№ записи в БД

Поле с уникальным значением

Ф.И.О.

Фамилия Имя Отчество читателя

Адрес

Адрес проживания читателя

Паспорт

Паспортные данные читателя

Структура таблицы истории взятия / сдачи книг

Наименование поля

Описание

№ записи в БД

Поле с уникальным значением

Книга

Инвентарный номер книги

Читатель

Номер читательского билета

Кол-во дней

На сколько дней книга выдается

Дата выдачи

Дата выдачи книги

Сотрудник выд.

Краткое имя сотрудника, выдавшего книгу

План.дата

Планируемая дата возврата книги

Дата сдачи

Дата сдачи книги

Сотрудник сд.

Краткое имя сотрудника, принявшего книгу

Данные таблицы базы созданы с использованием приложения Database Desktop. Процесс создания таблиц приведен ниже:

USERS.DB - таблица сотрудников

STAT.DB - таблица статистики входов / выходов

BOOK.DB - таблица книг

READER.db - таблица читателей

HIST.db - таблица истории взятия / сдачи книг

5.4 Реализация программного обеспечения

Реализация программного обеспечения производится с использованием среды разработки Borland C++ Builder. Как было замечено ранее, функциональных возможностей данных компонентов достаточно для организации автоматизированной системы «Библиотека». Следовательно, никаких компонентов сторонних разработчиков не требуется использовать. Все алгоритмы обработки данных (добавление или изменение данных в базе данных) производится с использованием обработчиков событий стандартных компонентов среды разработки.

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

Рисунок - Диаграмма классов

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

Настройки разработанного программного обеспечения хранятся в файле настроек Settings.ini.

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

book_add.bmp - логотип приложения

about.BMP, book_next.bmp, book_previous.bmp, exit.bmp, table.BMP, image_gallery.bmp, user_add.bmp, users_preferences.BMP - логотипы кнопок основного рабочего окна

Books-OGY.ico - изображение (иконка) всех окон, создаваемых в процессе работы

NOTEPAD.EXE - приложение для отображения текстовых статистических отчетов

Settings.ini - файл настроек программы

Project_Bibleotheka.res, Project_Bibleotheka.cpp, Project_Bibleotheka.bpr - основные файлы проекта

Unit_Admin.h, Unit_Admin.dfm, Unit_Admin.ddp, Unit_Admin.cpp - файлы окна администрирования программы

Unit_Bibliotheka.h, Unit_Bibliotheka.dfm, Unit_Bibliotheka.ddp, Unit_Bibliotheka.cpp - файлы основного рабочего окна программы

Unit_Book_Add.h, Unit_Book_Add.dfm, Unit_Book_Add.ddp, Unit_Book_Add.cpp - файлы окна добавления книг

Unit_Book_In.h, Unit_Book_In.dfm, Unit_Book_In.ddp, Unit_Book_In.cpp - файлы окна сдачи книг

Unit_Book_Out.h, Unit_Book_Out.dfm, Unit_Book_Out.ddp, Unit_Book_Out.cpp - файлы окна выдачи книг

Unit_Login.h, Unit_Login.dfm, Unit_Login.ddp, Unit_Login.cpp - файлы окна входа в систему

Unit_Logo.h, Unit_Logo.dfm, Unit_Logo.ddp, Unit_Logo.cpp - файлы окна заставки программы

Unit_Reader_Add.dfm, Unit_Reader_Add.ddp, Unit_Reader_Add.cpp, Unit_Reader_Add.h - файлы окна добавления читателей

Unit_Stat.h, Unit_Stat.dfm, Unit_Stat.ddp, Unit_Stat.cpp - файлы окна формирования статистической отчетности.

6. Методика тестирования

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

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

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

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

Также следует обратить внимание на наличие изначально двух учетных записей (их параметры не корректируются) - Администратор (имеет полный доступ к программной системе) и Гость (имеет права только просмотра). По умолчанию пароль Администратора 1111, пароль Гостя 0000.

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

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

Для запуска программы служит исполняемый файл Project_Bibleotheka.exe.

В каталоге BASE\ находятся таблицы базы данных.

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

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

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

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

8. Руководство программиста

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

- среда разработки - Borland C++ Builder v. 6.0;

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

- порядок компиляции стандартный (опции по умолчанию);

- для полноценного функционирования требуется наличие установленного на компьютере пакета Microsoft Office;

- операционная система Windows XP Service Pack 3.

Список файлов проекта приведен в разделе 6.4 Реализация программного обеспечения.

Заключение

В процессе выполнения курсовой работы были углублены знания в области проектирования баз данных и программирования для операционной системы Windows. Была разработана автоматизированная система «Библиотека».

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

Список использованной литературы

1. Архангельский А.Я. «Программирование в C++ Builder - М.: Бином, 2003 г.

2. Страуструп Б. «Язык программирования C++. Специальное издание» - М.: Бином, 2005 г.

3. Шилдт Г. «Полный справочник по C++» - М.: Вильямс, 2003 г.

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [1,3 M], добавлен 05.07.2013

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

    дипломная работа [2,6 M], добавлен 09.06.2012

  • Анализ предметной области АИС "Подписка". Проектирование базы данных методом "Сущность-Связь" для разработанной функциональной модели. Описание таблиц базы данных. Выбор программного обеспечения, требования к нему. Краткое руководство пользователя.

    курсовая работа [719,6 K], добавлен 15.09.2012

  • Проектирование базы данных "Магазин автомобилей" в среде СУБД Microsoft Office Access. Схема решения задачи. Архитектура программно-аппаратного комплекса. Логика работы программы. Минимальные системные требования, разработка руководства пользователя.

    курсовая работа [2,1 M], добавлен 07.10.2015

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

    курсовая работа [1,9 M], добавлен 15.08.2012

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

    презентация [396,3 K], добавлен 12.11.2012

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

  • Концептуальная модель базы данных "Бюро по трудоустройству". Разработка информационного и программного обеспечения объектов автоматизации. Реализация базы данных в СУБД MsAccess. Запросы к базе данных. Таблицы, отчеты и макросы. Интерфейс пользователя.

    курсовая работа [5,2 M], добавлен 30.05.2016

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

    курсовая работа [398,8 K], добавлен 21.01.2014

  • Обоснование выбора используемого программного обеспечения на предприятии "Мотом". Создание базы данных "Автосалон". Автоматизация процесса оформления продажи и поставки автомобилей. Результаты тестовых испытаний. Инструкция для оператора и программиста.

    дипломная работа [4,6 M], добавлен 23.08.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.