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

Владимир Васильевич Плещев

Кандидат технических наук, доцент кафедры информационных систем в экономике Уральского государственного экономического университета

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНЫХ СРЕДСТВ РАЗРАБОТКИ ПРИЛОЖЕНИЙ И БАЗ ДАННЫХ И ИНДИВИДУАЛИЗАЦИЯ УЧЕБНОГО ПРОЦЕССА ИХ ИЗУЧЕНИЯ

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

систематичность и последовательность в работе со студентом на максимально доступном для него уровне;

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

интенсивное развитие способных студентов.

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

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

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

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

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

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

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

6З

ботки приложений (RAD). Современные среды программирования автоматизируют все процессы жизненного цикла программных средств (ЖЦПС).

Visual Basic широко используется для интеграции офисных пакетов и различных типов СУБД. Он имеет простую и удобную среду RAD, допускает работу с различными типами СУБД. Позволяет создавать Web-страницы совместно с HTML и ASP. Приложения на Visual Basic имеют более низкую скорость выполнения и требуют подключения DLL-файлов. Visual Basic поддерживается платформой Microsoft .NET при создании корпоративных решений. Visual Basic рекомендуется для быстрой разработки простых и недорогих приложений и Internet-приложений.

Delphi является мощной системой программирования. Программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками. В Delphi имеется собственная СУБД Interbase. В версии Delphi 7 Studio (проект Aurora) появились новые возможности (термин «Delphi» используется уже в качестве языка программирования, а не только как название среды RAD). CASE - инструмент ModelMaker, базирующийся на стандартах языка проектирования объектно-ориентированных приложений UML (Unified Modeling Language), инструмент моделирования Bold for Delphi, реализующий архитектуру MDA (Model Driver Architecture). Данная архитектура позволяет оперировать целыми бизнес-объектами. Изменение модели производится без изменения исходного кода. Средство IntraWeb позволяет создавать Web-системы по аналогии с созданием обычных форм и приложений. Мощный генератор отчетов - Rave Reports Borland Edition. Среда разработки поддерживает синтаксис языков HTML, XML, C++, C#. Delphi имеет средства для интеграции Windows-, Linux- и .NET-приложений. Новый проект Galileo позволит создавать многоплатформенные приложения и будет поддерживать языки Delphi, C# и Visual Basic .NET. Delphi рекомендуется для быстрой разработки приложений.

C++ используется как самостоятельно, так и в средах RAD C++ Builder и Visual C++. Этот язык допускает эффективное использование практически всех возможностей компьютеров и операционных систем. Реализует кросс-платформенные разработки для различных типов архитектур и процессоров. В Visual Studio .NET язык C++ был расширен для обеспечения полной поддержки программирования под Microsoft .NET Framework. Любой класс, написанный на C++, становится доступным любому другому языку программирования, ориентированному на Microsoft .NET Framework. Отсюда межъязыковое наследование классов. Данный язык отличается сложностью и необходимостью запоминания методов работы с каждым объектом.

C++ Builder есть некий «синтез» Delphi и C++: использует ту же среду RAD и библиотеку VCL, что и Delphi. С++ Builder имеет лучшую объектную модель. Существует возможность совместного использования компонентов (классов) из библиотек VCL и фундаментальных классов фирмы Microsoft (MFC). Библиотека VCL написана на Delphi, а не на С++, что увеличивает по сравнению с Delphi размер исполняемых файлов.

Microsoft Visual C++ обладает самыми большими возможностями: имеет очень хороший компилятор C++, отличный отладчик, мощную библиотеку MFC. Правку кода в режиме отладки и последующее его выполнение осуще-

ствляют без полной перекомпиляции и прерывания отладочной сессии. Имеются отличная, хорошо структурированная полная справочная система, а также кросс-платформенные средства. Возможна разработка Web-приложений, сервисов NT, DLL и статических библиотек, консольных приложений. Среда разработки ограничивается простым GUIbuilder и средствами автоматического связывания результатов его работы с программным кодом. Visual C++, C++, C++ Builder рекомендуются для разработки сложных, дорогостоящих прикладных и общесистемных приложений.

C# - язык, который совмещает простоту Visual Basic с мощью C++. Сама фирма Microsoft отмечает следующие его преимущества: синтаксис, аналогичный C++ и столь же мощный, но простой и безопасный; полное взаимодействие с сервисами COM; полная поддержка COM и платформы .NET Framework; контроль типов; расширяемые метаданные, позволяющие создавать новые типы; поддержка XML. Программа на языке С# (и на других языках, поддерживаемых .NET) транслируется в промежуточный код MSIL (Microsoft Intermediate Language), который в процессе выполнения приложения заменяется в памяти машины на машинный код, оптимизированный для данной платформы. Это обеспечивает переносимость приложений без пере-трансляции на различные платформы с использованием библиотек .NET Framework.

Microsoft Visual J++ имеет среду RAD, аналогичную среде Visual Basic. Позволяет создавать ActiveX-элементы, которые можно использовать в Visual Basic, Visual C++, Delphi, C++ Builder. Допускается применение ActiveX / COM-компонентов и Windows-specific функций, что обеспечивает, например, доступ к ADO, преобразование JavaBeans в ActiveX-компоненты, классы поддержки DHTML, компоненты работы с базами данных. Сам язык Java имеет следующие преимущества: безопасность, легкость интеграции в Internet /Intranet, универсальность, простота, высокая скорость исполнения промежуточного байт-кода, автоматическая «сборка мусора», отсутствие указателей, что позволяет избежать трудно обнаруживаемых ошибок и несанкционированного доступа к оперативной памяти. Однако Microsoft Visual J++ использует библиотеку WFC (Window Foundation Classes), что привязывает ее к Windows и не поддерживает стандарт визуального Java-программирования JavaBeans. Рекомендуется для разработки Internet-приложений.

СУБД Access - идеальная по простоте и удобству среда разработки. В качестве недостатков можно отметить отсутствие возможности формирования исполнимого файла, медленную работу с базами данных больших объемов, отсутствие средств администрирования. Рекомендуется использовать для разработки простых приложений и персональных баз данных с ограниченным объемом (несколько сотен тысяч записей) информации.

СУБД Visual FoxPro. СУБД имеет собственный язык программирования с возможностью создания исполнимого EXE-файла. Недостатки СУБД те же, что и у СУБД Access, плюс наличие ошибок при визуальном связывании таблиц. Рекомендуется использовать для разработки достаточно сложных приложений с ограниченным объемом (не более миллиона записей) обрабатываемой информации.

СУБД SQL Server - полнофункциональная серверная СУБД с прекрасными средствами защиты, администрирования, архивирования и восстановления базы данных, с мощным языком запросов Transact-SQL. Обеспечивает надежное и компактное хранение и высокопроизводительную обработку баз данных больших объемов. SQL Server поддерживает тиражирование данных, параллельную обработку, отличается простотой управления и использования. Пользователь компьютера-клиента с помощью сетевых средств своей операционной системы может устанавливать связь с компьютером-сервером, где установлен SQL Server. На компьютерах-клиентах с помощью персональных СУБД (Access, Visual FoxPro) или языков программирования (Visual Basic, Delphi, C++ Builder, Visual C++) через ODBC осуществляется доступ к удаленным базам данных.

Новая версии SQL Server под названием Yukon содержит .NET Framework Common Language Runtime внутри ядра СУБД. SQL Server не имеет собственных средств разработки приложений, выполняется только под Windows. Обычно СУБД SQL Server используется для организации сервера баз данных, к которому организован доступ c клиентских машин средствами других СУБД или языков программирования. SQL Server рекомендуется использовать для создания очень больших централизованных или распределенных баз данных коллективного использования для средних и крупных предприятий.

СУБД Oracle - современная универсальная, полнофункциональная система управления реляционной базой данных, работающая в различных операционных средах и на различных типах компьютеров. Oracle представляет собой целый мир, включающий методы и средства проектирования (CASE-средства), создания и использования распределенных баз данных, языки запросов (SQL, SQL*PLUS, PL/SQL), генераторы обработки и оперативного анализа данных (Oracle Express OLAP), конструкторы и мастера форм (Oracle Form Builder), запросов, отчетов (Report Builder) и приложений (Oracle Developer, Oracle Project Builder) и др. Oracle отличается сложностью и большой стоимостью. Рекомендуется использовать для очень больших централизованных или распределенных баз данных крупных предприятий.

CASE-средства. Обычно к CASE-средствам относят программное средство, автоматизирующее совокупность процессов всего ЖСПС. CASE-средство содержит следующие компоненты:

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

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

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

CASE-средства реализуют методы объектно-ориентированного анализа и проектирования (Rational Rose), потоков данных и работ (BPwin), проектирования схем баз данных (ERwin) и др.

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

в ячейке таблицы через запятую) для средств разработки приложений: Visual Basic (VB), Delphi (Del), C++ Builder (CB), Visual C++ (VC), Access (Acc), SQL Server (Sql), Oracle (Ora), Visual FoxPro (Fox). Произведение этих оценок определяет значение рейтинга.

Экспертная оценка основных средств разработки приложений

Оцениваемое средство VB Del CB VC Acc Sql Ora Fox

Команды управления 8,6 8,6 9,5 2,9 - 5,5 6,9

Мастера форм 5,8 6,8 6,8 2J ?,9 - 8,8 6J

Мастера запросов и представлений 4,6 5,5 5,5 - 9,9 - 9J ?,5

Мастера отчетов 5,9 3,9 3,9 - 8,9 - 9,8 ??

Конструкторы форм 5,4 6,5 6,5 2,2 8,8 - 9,6 6J

Конструкторы запросов и представлений 6,6 5,5 5,5 5,6 9,9 5,6 9J ?,4

Конструкторы отчетов 4,5 8J 8J - ?,9 - 9,8 ??

Команды формирования запросов и представлений (SQL) 5,4 6,5 6,5 ?,5 ?,8 8J 9,6 6,5

Работа с файлами ?,8 9,9 8J 9,6 - 5,6 ?,6 6J

Работа с базами данных (БД) 9,6 8J 8,6 9J - - - -

Оперативная обработка (OLAP) - ?,8 - - 9J -

Обработка сбойных ситуаций 4,8 8J 8,6 9,5 - ?,6 8,6 4,4

Администрирование БД - - - - 3J 8J 9,6 4,4

Копирование и восстановление БД - - - - 4,9 8,8 9,8 3,5

Взаимодействие с другими приложениями 8,8 8,6 9,4 5J 6J ?,5 ?,6

Таким образом, каждое средство программирования и СУБД имеет свои преимущества, недостатки и области эффективного применения. Это обусловливает необходимость их изучения и освоения.

Для подготовки специалистов в указанной области за основу взят государственный образовательный стандарт по специальности «Прикладная информатика (по областям)». Изучение ведется в рамках взаимосвязанных курсов «Информатика и программирование», «Высокоуровневые методы информатики и программирования», «Базы данных», «Разработка и стандартизация программных средств и информационных технологий».

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

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

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

3. Самодостаточность (кейс-обеспечение). Все, что нужно для изучения и контроля (включая электронное тестирование) полученных знаний и навыков (в соответствии с требованиям ГОС и ОСУЗ), содержится в этом обеспечении.

4. Развитие - оперативное изменение и дополнение учебного материала с учетом современного состояния изучаемой области.

5. Модульность. Описание групп взаимосвязанных тем выделяется в отдельные тематические модули (блоки):

а) основы теории программирования;

6?

б) системы программирования: Visual Basic, Object Pascal, Delphi, C, C++, C++ Builder, Visual C++;

в) основы теории проектирования баз данных;

г) СУБД: Access, Visual FoxPro, SQL Server, Oracle.

д) разработка приложений: CASE-средства BPwin, ERwin, Rational Rose.

Обобщим результаты классификации.

По специализации программных средств нами были выбраны все вышеописанные средства, кроме С# (средство только формируется и пока мало используется) и Java, Visual J++ (достаточно узкая специализация).

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

1. Начальный уровень - основные команды, функции, классы, объекты, методы, свойства, события; визуальные мастера и построители объектов. Студенты учатся составлять простые программы на Visual Basic и (или) Delphi, базы данных с СУБД Access.

2. Основной уровень - дополнительные команды, функции, классы, объекты, методы, свойства, события; объектно-ориентированное программирование; визуальные средства в полном объеме, всевозможные конструкторы (таблиц, форм, диаграмм, запросов и отчетов), средства создания, использования и администрирования баз данных. Студенты создают приложения и Internet-приложения.

3. Углубленный уровень - командные средства создания и использования классов, объектов, свойств, методов, событий, баз данных, запросов, форм и других элементов и технологий (например, ADO, COM/DCOM, OLE DB, ODBC, CORBA, MIDAS, OLE, OLAP, DLL-библиотеки, ActiveX-элементы, Internet). Студенты создают сложные и объемные приложения и Internet-приложения с использованием средств разработки приложений (Visual Basic, Delphi, С++ Builder, Visual C++, Assembler, VBScript, HTML, ASP, Dreamweaver, Crystal Reports и др.), СУБД (Visual FoxPro, Access, SQL Server, Oracle) и CASE-средства (BPwin, ERwin, Rational Rose и др.).

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

В заключение отметим, что для всего образовательного процесса в области программирования и баз данных в соответствии с указанными принципами были разработаны учебники [1; 2] и пособия [3-5], в которых учебный материал классифицирован по специализации и уровням изучения. Для контроля знаний студентов были разработаны примеры, упражнения и задачи для программирования, темы практических, контрольных и курсовых работ, тесты для электронного тестирования, вопросы для зачетов и экзаменов.

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

Литература

1. Плещев В.В. Информатика и программирование. Quick Basic и Visual Basic 6.0, VBScript, HTML, ASP, Dreamweaver, Crystal Reports с примерами и упражнениями: Учебник. 3-е изд., испр. и доп. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2002.

2. Плещев В.В. Высокоуровневые методы информатики и программирования. Delphi 5, C++ Builder 5, Visual C++ с примерами и упражнениями: Учебник. 2-е изд., испр. и доп. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2002.

3. Плещев В.В. Базы данных. Visual FoxPro, Access, SQL Server, Oracle: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2002.

4. Плещев В.В. Разработка и стандартизация программных средств и информационных технологий: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2003.

5. Плещев В.В. Основы программирования в СУБД FoxPro: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 1999.