Обучение объектно ориентированной парадигме программирования бакалавров направления «Прикладная информатика» | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Педагогика

Опубликовано в Молодой учёный №28 (132) декабрь 2016 г.

Дата публикации: 16.12.2016

Статья просмотрена: 56 раз

Библиографическое описание:

Юданова В. В. Обучение объектно ориентированной парадигме программирования бакалавров направления «Прикладная информатика» // Молодой ученый. — 2016. — №28. — С. 974-978. — URL https://moluch.ru/archive/132/36871/ (дата обращения: 20.06.2018).



В соответствии с новым федеральным государственным образовательным стандартом высшего образования программа бакалавриата должна быть ориентирована на формирование целого комплекса профессиональных компетенций (далее ПК) и по направлению обучения «Прикладная информатика» (от 12.03.2015) в перечень ПК входит «способность программировать приложения и создавать программные прототипы решения прикладных задач» [1]. В связи с этим разделы, посвященные изучению программирования, являются важной, неотъемлемой частью подготовки бакалавров по данному направлению обучения. Новый компетентностный подход провозглашает основой содержания образования не просто знания, а более сложную культурно-дидактическую единицу — целостную компетентность, что является результатом интеграции знаний, существует в форме деятельности и позволяет решать целый класс задач в отличие от функциональной грамотности. Поэтому на сегодняшний день познание каждой из основных парадигм программирования: процедурной, объектно-ориентированной, логической или функциональной, должно давать цельную форму сочетания знаний, умений, навыков, которая позволит справиться с профессиональными задачами в области прикладной информатики. Особенно актуален объектно-ориентированный подход, который сейчас позиционируется как унифицирующая идея всей науки, применимая не только в программировании. Ориентация на объекты позволяет справиться со сложностью систем самой различной природы, и поэтому в настоящее время данная методология является наиболее востребованной при разработке программных продуктов. Аппаратно-программные комплексы и технологии развиваются быстрыми темпами, и чтобы обеспечить студентам — выпускникам соответствующий уровень владения профессиональными компетенциями в сфере прикладной информатики, требуется постоянно пересматривать, дополнять и модернизировать существующие подходы обучения объектно-ориентированной парадигме программирования.

Концепт «парадигма программирования», сформулированный Робертом Флойдом в 1978 году, имеет несколько трактовок и в общем случае это есть система идей и понятий, которая определяет подход к программированию. Рассматривая любую парадигму программирования, необходимо отталкиваться от таких основ, как методология и технология программирования. Методология программирования определяет систему общетеоретических взглядов, посредством которой формируется совокупность методов, способов и приемов разработки, сопровождения и эксплуатации программ, т. е. технология программирования. Анализ научно-методических исследований основ объектно-ориентированной парадигмы программирования (Г. Буч, Б. Мейер, Т. Бадд, Аржанов Н.И, Бабушкина И. А., Барков И. А., Петров А. Н. и др.) позволяет выделить два основных подхода: освоение методологии и овладение технологией объектно-ориентированного программирования (далее ООП) (рис. 1.).

Рис. 1. Подходы к обучению объектно-ориентированной парадигме программирования

В основе обучения бакалавра направления «Прикладная информатика» находятся фундаментальные знания, которые являются универсальными и общетеоретическими, ориентированы на раскрытие сущностных понятий, выявляют и определяют многообразие внутренних и внешних связей с процессами окружающего мира. На практике фундаментальность реализуется в качестве обучения основным понятиям, законам, методам, которые формируют содержание предметной области. Теоретической основой объектно-ориентированного подхода в программировании являются метафоры объекта и класса, которые реализуются в понятиях абстракций реальной действительности. Так, например, в трактовке известного специалиста в области ООП Гради Буча «объект — это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области», «класс — это некое множество объектов, имеющих общую структуру и общее поведение» [2 c. 46, с. 85]. Изучение определений объекта и класса, как фундаментальных основ объектно-ориентированной методологии, дополняется такими понятиями, как свойства, состояние, поведение, индивидуальность объекта, реализация класса, отношения между классами, объектами. Кроме того, рассмотрение принципов абстрагирования, инкапсуляции, модульности, наследования и др. формирует целостное представление о возможностях и способах объектной декомпозиции.

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

Абстрагироваться от используемого языка программирования и сконцентрироваться на объектной структуризации задачи позволяет метод объектно-ориентированного проектирования. Обучение ООП на основе объектно-ориентированного проектирования изучается во многих отечественных и зарубежных работах (Буч Г., Бадд Т., Аржанов И.Н, Петров А. Н. и др.). Некоторые авторы отдельно выделяют объектно-ориентированный анализ, основными задачами которого являются: выявление объектов и их свойств; формирование перечня операций, выполняемых над каждым объектом; определение связи между объектами для образования классов; формулировка требований к интерфейсу с объектами. Модели, полученные в результате объектно-ориентированного анализа, являются основой для объектно-ориентированного проектирования: разработка структуры классов, описывающей связь между классами и объектами; описание взаимосвязи с другими объектами; разработка внутренней структуры программного продукта. Документирование результатов объектно-ориентированного анализа и проектирования выполняется с помощью средств унифицированного языка моделирования (UML — Unified Modeling Language), который по сути является открытым стандартом графических обозначений абстрактных моделей (диаграмм), и с помощью технологий автоматизации проектирования программных продуктов — CASE — средств, выполняющих генерацию программного кода на основе диаграмм языка моделирования (рис. 2, рис. 3).

Таким образом, содержательная часть обучения бакалавра направления «Прикладная информатика» при освоении методологии объектно-ориентированной парадигмы программирования — это изучение фундаментальных основ объектно-ориентированного программирования, введение в технологию анализа и проектирования программ, введение в язык системного моделирования UML и ознакомление с CASE — инструментами (табл. 1).

диаграммы вариантов использования

диаграммы классов

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

диаграммы реализации

диаграммы взаимодействия

диаграммы состояний

диаграмма деятельностей

диаграммы компонентов

диаграммы развертывания

диаграммы последовательности

кооперативные диаграммы

Рис. 2. Структура моделей UML

CASE-средства

Возможности

IBM Rational Rose

— прямоеи обратноепроектированиенаязыках: Ada, ANSI C++, C++, CORBA, Java, Java EE, Visual C++ и Visual Basic; — — возможностьгенерациисхембазданных Oracle и SQL и поддержкатехнологий COM, DDL, XML;

— поддерживает спецификации UML 2.

Sparx Systems Enterprise Architect

— генерирование и обратное проектирование на более чем 10 языках программирования (C и C++, C#, Java, ObjectPascal, PHP);

— поддерживает спецификации UML 2.4.1;

— поддерживает моделирование схем баз данных и автоматическое генерирование скриптов DDL.

Sybase® PowerDesigner

— генерирование и обратное проектирование на языках: С#, C++, Java, PowerBuilder, VisualBasic;

— поддерживает спецификации UML 2;

— возможность генерации схем баз данных и поддержка технологий DDL, XML.

Рис. 3. Обзор CASE-средств, реализующих объектный подход

Таблица 1

Содержание обучения методологии ООП

Задачи освоения методологии ООП

Система понятий

Содержание учебного материала

Овладение техникой ивведение впроблематику

Изучение фундаментальных основ ООП

Объект, класс, абстрагирование, инкапсуляция, наследование, полиморфизм

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

Формирование объектного мышления

Ознакомление с объектно-ориентированным проектированием

Объектно-ориентированный анализ, объектные модели, объектно-ориентированное проектирование, UML диаграммы, CASE — средства.

Среда и объект проектирования, объектные модели, объектно-ориентированные анализ и проектирование. Инструменты объектно-ориентированного анализа и проектирования. Язык UML и диаграммы вариантов использования, диаграммы классов, диаграммы деятельности, диаграммы последовательности.

Реализация объектной декомпозиции предметной области задачи

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

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

Научно-методические вопросы обучения визуальному программированию рассматриваются в работах Бабушкиной И. А., Швецкого М. В., Саблуковой Н. Г., Семакина И. Г., Угриновича Н. Д. и др. Основной акцент в данном подходе обучения делается на возможностях использования широкого спектра готовых библиотек классов и работы с экземплярами этих классов в качестве графических компонентов программного продукта. В этих условиях основной задачей становится изучение иерархии библиотек визуальных средств и их взаимодействие друг с другом, чтобы отслеживать наследование основных свойств и методов. Построение графического интерфейса пользователя с применением средств визуального программирования требует также изучения основных принципов взаимодействия с операционной системой посредством обработки событий и обмена сообщениями.

При овладении бакалавром направления «Прикладная информатика» технологии ООП необходимо органичное сочетание изучения среды визуального программирования и способов проектирования графического интерфейса с возможностями разработки самостоятельных блоков программного кода. Таким образом, содержание данного подхода обучения: устройство и функционирование программы, реализация в системе программирования наследования, инкапсуляции, полиморфизма, структура объектной надстройки системы программирования, иерархия библиотек классов, взаимодействие с операционной системой (табл. 2).

Таблица 2

Содержание обучения технологии ООП

Задачи овладения технологией ООП

Система понятий

Содержание учебного материала

Овладение техникой ивведение впроблематику

Изучение объектно-ориентированного языка программирования

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

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

Разработка объектно-ориентированного программного кода.

Ознакомление с визуальным программированием

Библиотека классов, обработка событий и сообщений, обработка ошибок.

Библиотека классов и иерархия классов. Цикл взаимодействия с операционной системой: событие — сообщение — обработка. Программирование событий и сообщений. Виды ошибок и система обработки ошибок.

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

Использование в образовательном процессе бакалавров направления «Прикладная информатика» рассмотренных выше подходов обучения объектно-ориентированной парадигме программирования позволит сформировать целостное изложение учебного материала, ориентировать подготовку профессиональных кадров в области информатики на возможность быстрого освоения большого спектра самых востребованных на сегодняшний день языков программирования (C и C++, C#, Java, ObjectPascal и др.), и, наконец, реализовать смежные профессиональные компетенции по данному направлению обучения, такие как «способность проводить обследование организаций, выявлять информационные потребности пользователей, формировать требования к информационной системе», «способность разрабатывать, внедрять и адаптировать прикладное программное обеспечение», «способность документировать процессы создания информационных систем на стадиях жизненного цикла» и др.

Литература:

  1. Приказ Минобрнауки России от 12.03.2015 N 207 «Об утверждении федерального государственного образовательного стандарта высшего образования по направлению подготовки 09.03.03 Прикладная информатика (уровень бакалавриата)" (Зарегистрировано в Минюсте России 27.03.2015 N 36589)
  2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений / Г. Буч, Р.Α. Максимчук, М. У. Энгл и др. — М.: ООО «И. Д. Вильямс», 2008. — 720 с.
Основные термины (генерируются автоматически): UML, CASE, DDL, объектно-ориентированная парадигма программирования, объектно-ориентированный анализ, объектно-ориентированное проектирование, визуальное программирование, XML, объектно-ориентированное программирование, объектно-ориентированный программный код.


Обсуждение

Социальные комментарии Cackle
Задать вопрос