Файл: Разработка клиент-серверного приложения по работе с базой данных "Локомотивное депо ".pdf
Добавлен: 28.06.2023
Просмотров: 199
Скачиваний: 5
Введение
ОАО Российские Железные Дороги (РЖД) по степени оснащенности современными средствами информатики занимает ведущее положение среди отраслей народного хозяйства России.
Создана современная телекоммуникационная инфраструктура, в основе которой лежит цифровая волоконно-оптическая сеть протяженностью выше 45 000 км. В ГВЦ осуществлена значительная концентрация вычислительных комплексов, что позволяет считать его держателем информационных ресурсов ОАО «РЖД».
В филиале Московской железной дороги, а конкретно в Моторовагонной дирекции депо «Апрелевка» также установлены программы, контролируемые ГВЦ. Я проходила производственную практику в отделе кадров, в котором до этого времени только некоторая информация о сотрудниках находилась в электронном виде. Руководство депо и отдела кадров поставило передо мной задачу перевести всю имеющуюся в бумажном виде информацию в электронный вид. И было предложено использовать для этого такие программы, как MS Access, так как у сотрудников был опыт работы с ней, и Delphi 7, так как она также уже использовалась ранее. Так как сотрудники отдела кадров не являются профессиональными пользователями ПК необходимо было максимально упростить программу, на которой они будут работать. В отделе работает три человека, каждый из которых выполняет определенную работу. Данная программа будет предназначена для одного человека, именно он занимается приемом людей на работу, отслеживает прохождение медкомиссии и получение квалификации. В качестве сервера будет выступать компьютер, на котором и будет храниться база данных и приложение.
- Актуальность выбора задачи
Выбранная мной задача по разработке клиент-серверного приложения по работе с базой данных «Локомотивное депо» является важной задачей для объединения всей имеющейся информации о сотрудниках в отделе кадров локомотивного депо «Апрелевка» и представления ее в более удобном виде. В связи с тем, что программы, которыми ранее пользовалось Депо, были выполнены с помощью такого средства разработки, как пакет Delphi, было решено разработать новое приложения именно с помощью этого языка. Очень важно, чтобы информация была отображена не только полно, но и хранилась в виде числовых значений, что я и продемонстрирую в ходе выполнения задания.
3. Описание использованных средств
3.1. MS Access 2007
Microsoft Office Access— реляционная СУБД, созданная корпорацией Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
- построитель таблиц;
- построитель экранных форм;
- построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
- построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
MS Access является файл-серверной СУБД и потому применима лишь к небольшим приложениям. Отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.
Существенно расширяет возможности MS Access по написанию приложений механизм связи с различными внешними СУБД: "связанные таблицы" (связь с таблицей СУБД) и "запросы к серверу" (запрос на диалекте SQL, который "понимает" СУБД). Также MS Access позволяет строить полноценные клиентсерверные приложения на СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.
Данная организация использует именно эту программу для своей работы. Поэтому она была выбрана и для создания новой программы.
3.2. Delphi 7
Delphi — среда программирования, в которой используется язык программирования Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .net) развития языков программирования: появились class helpers, перегрузки операторов и д.р.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.
Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
3.3. AllFusion ERwin Data Modeler 7 (ERwin)
Рассмотрим Функциональные возможности AllFusion ERwin Data Modeler 7 (ERwin)
Архитектура уровня проектирования. AllFusion ERwin Data Modeler (ERwin) имеет достаточную гибкость для разработки архитектуры связных моделей данных, полностью удовлетворяющей потребностям организации. Наряду с комбинированной логической/физической моделью поддерживаются раздельные логические и физические модели. Благодаря накоплению знаний об отношениях между компонентами связанных моделей и ведению журнала проектных решений пользователи могут быстро определять влияние изменений одного уровня проектирования на другой.
Технология трансформации. Физическая структура базы данных редко совпадает с исходной логической структурой. В целях повышения производительности бизнес-приложений часто требуется проводить денормализацию данных на физическом уровне модели. AllFusion ERwin Data Modeler (ERwin) позволяет автоматизировать процесс трансформации модели, сохраняя в целости исходный проект.
Управление большими моделями. AllFusion ERwin Data Modeler (ERwin) облегчает управление большими корпоративными моделями за счет использования предметных областей (Subject Areas) и хранимых отображений (Stored Displays). Предметные области позволяют конкретным проектировщикам фокусировать внимание, разделяя модель на более мелкие, и за счет этого легче управляемые подмодели. Хранимые отображения предоставляют разные варианты графического представления модели или ее предметных областей, облегчая обмен информацией между специализированными группами пользователей.
Генерация структуры базы данных. AllFusion ERwin Data Modeler (ERwin) позволяет автоматически сгенерировать структуру базы данных из модели. Входящие в продукт оптимизированные шаблоны триггеров ссылочной целостности и богатый макроязык, совместимый с различными типами баз данных, позволяют пользователю настроить триггеры и хранимые процедуры. Настраиваемые шаблоны облегчают генерацию законченной физической структуры базы данных и полных определений (для соответствующей целевой базы данных).
Обратное проектирование. AllFusion ERwin Data Modeler (ERwin) позволяет провести автоматическую обратную генерацию структуры базы данных в модель для ее изучения и документирования и/или для последующей миграции на платформу другой СУБД.
Графические объекты. С помощью графических объектов AllFusion ERwin Data Modeler (ERwin) обеспечивает наглядное представление бизнес-правил. Графические объекты, например линии, эллипсы и другие, легко редактируются. Разработчики моделей могут также настраивать параметры шрифта и цвета объектов.
Полный набор возможностей Undo/Redo. AllFusion ERwin Data Modeler (ERwin) предоставляет полный комплект возможностей «отменить/вернуть изменения» в пределах сессии моделирования. Возможности Undo/Redo могут быть применимы ко всем задачам моделирования, включая изменения размещения и создание/обновление/удаление объектов. Отменяя конкретные изменения модели, пользователи могут полностью понимать влияния этих действий.
Создание отчетов и печать. Ключевым элементом, обеспечивающим коммуникацию и совместную работу пользователей в процессе моделирования, является способность визуализации и публикации данных. AllFusion ERwin Data Modeler (ERwin) предоставляет гибкие, настраиваемые возможности создания отчетов и печати. Два встроенных построителя шаблонов отчетов: ERwin Data Browser и Report Template Builder - позволяют однократно разработать шаблон отчета, который впоследствии будет доступен для использования в любых моделях для генерации отчетов в любом из форматов: HTML, RTF, TXT, PDF.
AllFusion ERwin API and Add-In Manager. Программный интерфейс приложений AllFusion ERwin API and Add-In Manager и менеджер встраиваемых систем Add-In Manager обеспечивают работу с дополнительным ПО сторонних разработчиков для выполнения специфичных задач, не представленных в пакете AllFusion Modeling Suite.
Встроенная технология обмена метаданными. Встроенная передовая технология предоставляет возможность обмена метаданными между AllFusion ERwin Data Modeler (ERwin) и другими средствами, такими как MS Excel, XSD, XMI, CWM, ведущими ETL/EII-инструментами, многочисленными средствами BI/Reporting, а также с широким спектром сред моделирования такими, как: Rational Data Architect, Oracle Designer, Sybase Power Designer и другими - всего порядка 100 популярных продуктов. Данная технология позволяет сэкономить временные и материальные ресурсы благодаря устранению необходимости перепроектировать модели.
Поддерживаемые СУБД
- Oracle
- DB2/UDB (включая iSeries)
- SQL Server
- Teradata
- ODBC
- Sybase
- Informix
- Ingres
- Progress
- Access
Поддерживаемые ОС
- Windows 2000
- Windows XP
-
Разработка приложения
- Архитектура клиент-серверного приложения
Рис.1 Архитектура клиент-серверного приложения
Так как доступ к базе данных и программе будет иметь один человек, то сервером и будет являться его ПК.
4.2 Схема работы клиента с приложением
БД
Приложение
Рис.2 Взаимодействие пользователя с приложением
Клиент, используя свой компьютер, может воспользоваться созданным приложением. Так как компьютер является сервером, то на нем находиться и база данных и программа, которые между собой взаимосвязаны. На схеме показано, что БД соединяется с приложением и устанавливается на компьютер (сервер), пользователь по средствам компьютера взаимодействеут с приложением.
4.3. Этапы выполнения задания
Этап 1. Постановка задачи
В самом начале работы необходимо определиться с тем, что необходимо получить в результате.
Для данного локомотивного депо, а конкретно для отдела кадров локомотивного депо «Апрелевка», необходимо создать и заполнить базу данных, используя MS Access, а затем разработать для этой базы данных приложение с помощью Delphi 7.
Это приложение должно осуществлять запрос пароля при входе. В данном отделе отдин человек имеет доступ к приложению, именно ему и будт сообщен пароль после его создания. Пароль необходим для обеспечения безопасности данных, так как данная база данных будет содержать личную информацию всех работников депо. Также это приложение должно иметь функции изменения, добавления и удаления данных.
Этап 2. Построение схемы
После того, как мы определились с поставленной задачей, приступаем к созданию базы данных в среде MS Access. Для начала построим ER-модель, чтобы нагляднее увидеть задачу (Рис.3). Данную модель я построила с помощью программы ERwin.
Рис.3 Логическая ER-модель
Для того, чтобы сгенерировать базу данных, я выполнила следующие шаги:
- Запустила Microsoft Access и создала новую пустую БД. Затем закрыла созданную БД и вернулась в ERwin:
Рис.4 Создание базы данных
- Перешла к физической модели: