Файл: Применение программных средств создания клиентских программ.pdf
Добавлен: 28.06.2023
Просмотров: 59
Скачиваний: 2
1 Программные средства создания клиентских программ
1.1 Системы управления базами данных
Для получения информации о характеристиках СУБД воспользуемся информационными порталами:
- www.tpc.org – зарубежная некоммерческая корпорация, сосредоточенная на разработке и проведении тестирования производительности программных и аппаратных комплексов;
- www.msdn.ru – крупнейший портал русскоязычный сайт, посвященный программному обеспечению.
Microsoft Access является реляционной СУБД корпорации Microsoft. Обладает широким спектром функций, включая связанные запросы, связь с базами данных и внешними таблицами. Благодаря наличию встроенного языка VBA, в самой системе Access можно разрабатывать приложения, работающие с базами данных.
Основными компонентами MS Access являются построитель таблиц, экранных форм, SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI), отчётов, выводимых на печать.
MS Access представляет собой файл-серверную СУБД и потому применима лишь к небольшим приложениям. В программе нет многих механизмов, которые необходимы в многопользовательских БД, например, триггеров.
MS Access обладает худшим функционалом по сравнению с MS SQL Server. Но возможности MS Access по написанию приложений существенно расширяются благодаря механизму связи с различными внешними СУБД: «связанным таблицам» (связь с таблицей СУБД) и «запросам к серверу» (запрос на диалекте SQL, который «понимает» СУБД). Также благодаря MS Access можно строить полноценные клиент-серверные приложения на СУБД MS SQL Server. При этом есть возможность совмещения с присущей MS Access простотой инструментов для управления БД и средств разработки [6].
На рисунке 1 представлен скриншот главного рабочего окна СУБД MS Access.
Рисунок 1 – Рабочее окно СУБД MS Access
Microsoft Visual FoxPro (VFP) представляет собой среду разработок системы баз данных, в которую включены объектно-ориентированная реляционная СУБД, объектно-ориентированный язык программирования, чтобы разрабатывать приложения баз данных, а также входит система построения отчётов [1].
В основе Microsoft Visual FoxPro лежит система FoxPro, у которой язык принадлежит к языкам xBase, которые разрабатывались на основе синтаксиса такого языка программирования, как dBase. Другие члены - представители этого семейства языки Clipper и Recital.
В Visual FoxPro база данных реализуется как совокупность связанных таблиц, информация о них находится в словаре данных. Условие целостности определяется благодаря первичным и внешним ключам таблиц. Все события (изменения), которые происходят в базе данных, могут быть обнаружены и централизованно обработаться благодаря наличию таких средств, как триггеры и встроенные (хранимые) процедуры.
У Visual FoxPro высокая скорость при обслуживании базы данных. Благодаря использованию стандарта ODBC и SQL-запросов для выборки данных, Visual FoxPro дает возможность осуществлять работу с базой данной СУБД Access, Paradox, dBase и т.д., с серверами базы данных - Microsoft SQL Server, Oracle и др. Благодаря Visual FoxPro создаются сетевые приложения (т.е. приложения, которые функционируют в сетях).
Когда создаются проекты, базы данных, таблицы, запросы, формы, отчеты, приложения и другие элементы в среде Visual FoxPro, то каждый из вышеперечисленных элементов помещается в отдельный файл, пользователь называет файл любого элемента любым именем, а расширение формируется в автоматическом режиме и помогает идентифицировать эти элементы (объекты). Элементы проектов Visual FoxPro и соответствующие им расширения имена файлов приведены в таблице 1. У файлов элементов, которые созданы на базе других (родительских) элементов, общие с родительскими имена.
Создание БД осуществляется с использованием Конструктора БД, который создает, индексирует, модифицирует и связывает таблицы БД между собой.
Отладку приложений осуществляли в двух окнах - Trace и Debug, в этой же версии для полнофункционального отладчика, запускаемого в собственном окне и имеющего 5 панелей: Trace, Watch, Locals, Call Stack и Output отладку сделать проще. Конфигурация панелей настраивается и сохраняется, можно перетаскивать с панели на панель.
Поместив объекты в форму, разработчику дается возможность настраивать их обычное поведение. Это касается, полей таблиц помещаемых в формы совместно с альтернативными именами (captions), имена полей включаются в имена объектов, а тип объекта можно назначить в соответствии с желанием разработчика.
На рисунке 2 представлен скриншот Visual FoxPro.
Рисунок 2 –Visual FoxPro
1.2 Среды программирования
В настоящее время лидерами на рынке сред разработки являются Microsoft Visual Studio, Delphi, C++ Builder, JBuilder. Любая из перечисленных сред позволит разработать современное клиент-серверное приложение с современным пользовательским интерфейсом.
Microsoft Visual Studio – линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.
Язык программирования Delphi
Delphi – одна из самых мощных систем, позволяющих на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвленные комплексы, предназначенные для работы в корпоративных сетях и в Интернет.
Delphi – это комбинация нескольких важнейших технологий:
- высокопроизводительный компилятор в машинный код
- объектно-ориентированная модель компонент
- визуальное построение приложений из программных прототипов
- масштабируемые средства для построения баз данных
С++ - объектно-ориентированный язык программирования. Содержит средства для создания программ разного назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов разного назначения.
Достоинством языка является:
- Поддержание различных стилей и технологий программирования, включая традиционное директивное программирование, объектно-ориентированное программирование.
- Возможность работы на низком уровне с памятью, адресами, портами.
- возможность создания обобщённых алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции, используя шаблоны.
- Кроссплатформенность. Доступны компиляторы для большого количества платформ.
- Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядком исполнения программы.
Недостатки:
- Сложность и избыточность, из-за которых C++ трудно изучать, а построение компилятора сопряжено с большим количеством проблем. В частности:
- В языке практически полностью сохранён набор конструкций Си, к которому добавлены новые средства. Во многих случаях новые средства и механизмы позволяют делать то же самое, что и старые, но в языке сохраняются оба варианта;
- Поддержка множественного наследования реализации в ООП-подсистеме языка вызывает логические проблемы, а также создаёт дополнительные трудности в реализации компилятора;
- Шаблоны в своём исходном виде приводят к порождению кода очень большого объёма, а введённая позже в язык возможность частичной спецификации шаблонов трудно реализуема и не поддерживается многими существующими компиляторами.
- Недостаток информации о типах данных во время компиляции (CTTI).
- Метапрограммирование на основе шаблонов C++ сложно и имеет ограничения в возможностях. Оно состоит в реализации средствами шаблонов C++ интерпретатора примитивного функционального языка программирования выполняющегося во время компиляции. Такой код трудно воспринимать и отлаживать.
- Отсутствие поддержки функционального программирования. Отчасти, данный пробел устраняется различными библиотеками (Boost) использующими средства метапрограммирования для расширения языка функциональными конструкциями (например, поддержкой лямбд/анонимных методов), но качество подобных решений значительно уступает качеству встроенных в функциональные языки решений.
Отсутствие встроенной системы сборки мусора. С другой стороны, в C++ имеется достаточно средств, позволяющих почти исключить использование опасных указателей, нет принципиальных проблем и в реализации и использовании сборки мусора (на уровне библиотек, а не языка). Отсутствие встроенной сборки мусора позволяет пользователю самому выбрать стратегию управления ресурсами.
C++ Builder – программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.
Изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, ныне принадлежащем компании Embarcadero Technologies.
C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.
Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
2 Применение программных средств создания клиентских программ на примере MS Access
2.1 Постановка задачи
Компания «Белый свет» является ведущим российским производителем профессионального оборудования для освещения на рынке светотехники на территории РФ и СНГ.
С 1997 года работы высокое качество продукции, соответствие международным стандартам отрасли и профессиональный подход к работе с деловыми партнерами были и остаются главными приоритетами компании.
Главной целью компании является удовлетворение потребности рынка в системах освещения.
Основная продукция компании:
- лампы;
- светильники;
- контакторы;
- люминесцентные лампы;
- розетки;
- шкафы силовые.
Основные услуги компании:
- Проектирование систем освещения зданий и сооружений;
- Монтаж систем освещения;
- Сервисное обслуживание систем освещения.
Для разработки функциональной модели деятельности предприятия использовалось CASE-средство Computer Associates BPwin 4.1. BPwin является мощным инструментом для создания моделей, позволяющих анализировать, документировать и планировать изменения сложных бизнес-процессов. BPwin - ведущий инструмент визуального моделирования бизнес-процессов.
Характеристика деятельности руководителя отдела продаж компании «Белый свет» в разрезе технологии IDEF0 приведена на рисунке 3.
Рисунок 3 – Модель деятельности руководителя отдела продаж в разрезе IDEF0
Декомпозиция данного процесса приведена на рисунке 4.
Как видно из представленных схем, работа менеджера по продажам (руководителя отдела в том числе) включает три основных направления: учет товара, работа с поставщиками, работа с клиентами. Существуют отдельно базы данных товаров, поставщиков и клиентов. Продажа товара регистрируется дважды: в базе данных клиентов и в базе данных товаров. Прием товара также осуществляется дважды: при ведении учета товара и при работе с поставщиками.
Рисунок 4 – Декомпозиция деятельности руководителя
Рисунок 5 – Декомпозиция блока «Учет товаров»
Рисунок 6 – Декомпозиция блока «Работа с поставщиками»
Рисунок 7 – Декомпозиция блока «Работа с клиентами»
Внедрение автоматизированной системы позволило бы вести единую базу данных для учета продаж, клиентов и поставщиков.
Был выявлен ряд основных функции возлагающихся на менеджера по продажам, требующих больших затрат времени и усилий, в связи с ручной обработкой данных. Основные функции менеджера по продажам представлены на рис.8.
Рисунок 8 – Основные функции менеджера по продажам
В результате анализа обязанностей, схемы работы, очередности обработки информации выделены следующие недостатки:
- большие затраты внимания менеджера по продажам на выполнение рутинных операций, ведение клиентской базы, составление заказов и отчетов;
- неполное и неэффективное использование технических средств, имеющихся в наличии;
- низкая оперативность, снижающая качество работы.