В статье рассматриваются вопросы реализации учебных программ, обучающихся разных специальностей, связанных с информационными технологиями. Показана необходимость освоения различных современных языков, сред программирования, библиотек и фреймворков. Определен круг дисциплин, которые позволяют охватить основные этапы разработки программного обеспечения. Подробно раскрываются особенности преподавания профилирующих элективных дисциплин на старших курсах обучения. Авторами рассмотрены примеры реализации различных элективных дисциплин в ходе подготовки студентов информационного профиля.
В Республике Казахстан к студентам информационного профиля можно отнести студентов, обучающихся по специальности 5В060200 - Информатика, 5В070200 - Автоматизация и управление, 5В070300 - Информационные системы, 5В070400 - Вычислительная техника и программное обеспечение, 5В070500 - Математическое и компьютерное моделирование. В Российской Федерации, например, с 2014 г. согласно Общероссийскому классификатору специальностей высшей научной квалификации ОК 017-2013 [1] к студентам информационного профиля можно отнести специальности: 051301 - Системный анализ, управление и обработка информации (по отраслям), 051305 - Элементы и устройства вычислительной техники и систем управления, 051306 - Автоматизация и управление технологическими процессами и производствами (по отраслям), 051310 - Управление в социальных и экономических системах, 051311 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей, 051312 - Системы автоматизации проектирования (по отраслям), 051317 - Теоретические основы информатики, 051318 - Математическое моделирование, численные методы и комплексы программ, 051319 - Методы и системы защиты информации, информационная безопасность, 051320 - Квантовые методы обработки информации.
Несмотря на широкий круг специальностей и достаточно большое количество выпускников, наблюдается острый дефицит бакалавров информационного профиля, IT-специалистов. В перечне перспективных специальностей направления информационные технологии (Information Technologies, IT -ИТ), вычислительная техника и средства коммуникации занимают особое место. Эти отрасли уже изменили мир и продолжают играть ключевую роль в его дальнейшем преобразовании. Без компьютеров и информационных технологий нам уже не обойтись, и люди, в них разбирающиеся, везде нарасхват. Канада, Германия и другие страны дают зеленый свет иностранным IT-специалистам, лишь бы заполнить имеющиеся вакансии. Республике Казахстан требуется все больше и больше специалистов по IT. При наличии должной квалификации и опыта работы они пользуются огромным спросом на мировом рынке труда. Ассоциация информационных технологий США (Information Technology Association of America) обнародовала данные, согласно которым в сфере IT в США работают свыше 10,4 млн человек и имеется около 900 тыс. вакансий, при этом на половину из них не удается найти подходящих специалистов. А вице-премьер Ирландии — страны, считающейся Силиконовой долиной Европы, специально совершил турне по Индии, убеждая квалифицированных программистов приехать в страну кельтов на работу. Германия, Канада и Австралия также прилагают особые усилия по привлечению иностранных программистов. При этом IT-специалисты могут рассчитывать на довольно высокие заработки [2].
Основную сложность на пути решения задачи соответствия спроса и предложения в IT-сегменте рынка труда создает высокая степень динамизма как в развитии самих информационных технологий, так и в требованиях конкретных предприятий и организаций (работодателей) к IT-специалистам.
Данное обстоятельство обусловливает ряд специфических особенностей рынка труда IT-специалистов, среди которых в качестве наиболее важных можно выделить четыре основных.
- Систематическое появление новых технологий, программных платформ и методологий решенияIT-задач приводит к резкому сокращению цикла жизни современных информационных технологий и полученныхIT-знаний, умений и навыков.
Это требует соответствующих изменений в требованиях рынка труда (работодателей) к профессиональным и качественным характеристикам IT-специалистов, что, в свою очередь, актуализирует проблему систематической поддержки IT-специалистами своей конкурентоспособности на рынке труда.
- СовременномуIT-специалисту приходится решать задачи, лежащие на стыке информационных технологий с различными областями деятельности (образование, социальная защита, налоговая сфера, таможенная служба и т.п.), что требует от них приобретения знаний, лежащих за пределами их технической компетенции. При этом им приходится осуществлять свою деятельность на стыке программной и предметной областей, в которых требуется оптимальное управление информационными ресурсами.
- В процессе реализации профессиональных задач большую значимость приобретают креативные способностиIT-специалистов, умение ориентироваться и принимать решения в различных проблемных ситуациях, обширный кругозор в области новейших технологий, знание иностранного языка и т. п. Это обстоятельство предопределяет необходимость постоянных усилий (регулярного дополнительного образования или самообразования) со стороныIT-специалистов для поддержки профессиональных квалификаций.
- Нередко на рынке труда прослеживаются такие противоречивые явления, как отсутствие у работодателя сформированного спроса на определенныхIT-специалистов и наряду с этим завышенная самооценка своего профессионального уровня у значительной частиIT-специалистов. Слабое (нечеткое) представление о том, какого именно специалиста хочет иметь работодатель для конкретной позиции, а также субъективная оценка своего потенциала со стороныIT-специалистов связаны с отсутствием действенных инструментов оценки спроса и предложения на последних.
Спрос на специалистов (работников), их качественные параметры, квалификационные требования к ним формируются рынком труда. Последний является той исходной точкой, от которой работодателю надо отталкиваться при поиске специалиста необходимой квалификации на тех условиях, которые он в состоянии обеспечить. Здесь также следует подчеркнуть, что требования реальной экономики к IT-специалистам (результаты обучения) определяются не в образовательной среде, а в сфере труда, т. е. их формулируют работодатели [3, 4].
В 2014 г. в компании Dynamics Technologies (г.Астана) сформирована специальная структура Dynamics Academy, которая нацелена на координацию усилий работодателей, среднеспециальных и высших учебных заведений по подготовке специалистов информационного профиля, в зависимости от современных требований. В январе 2015 г. Dynamics Academy организован семинар для обсуждения предлагаемых компетенций IT-специалистов и учебных дисциплин, позволяющих их сформировать [5].
В результате обсуждения определен круг дисциплин, которые позволяют охватить основные этапы разработки программного обеспечения, а именно: проектирование и разработка (кодирование) ПО, тестирование, спровождение, аналитика. Рассмотрим более подробно некоторые из предложенных.
На втором курсе обучения студентам специальностей информационного профиля предлагается дисциплина «Основы объектно-ориентированного программирования на платформе .NET». В ходе изучения данной дисциплины студенты должны овладеть умениями и навыками современного объектно-ориентированного программирования с использованием языка C# на платформе MS .NET. Задачи курса: научить студентов создавать настольные приложения в C# с графическим интерфейсом и подключением баз данных с помощью технологий Windows Presentation Foundation (WPF) и ADO.NET в условиях постоянно изменяющихся требований. В результате изучения курса студенты должны знать: основные положения объектно-ориентированного программирования (ООП); понятия и основные компоненты платформы MS .NET; управляющие языковые конструкции С#; подходы ООП в C# на платформе .NET и дополнительные языковые конструкции; вводные сведения технологии Windows Presentation Foundation (WPF) для создания настольных приложений; основы работы с базами данных посредством ADO.NET; жизненный цикл разработки программного продукта и общие модели жизненного цикла.
В результате изучения курса студенты должны уметь создавать на C#: консольные программы ввода-вывода данных; настольные приложения с графическим интерфейсом c использованием WPF; пользовательские приложения с подключением баз данных посредством технологии ADO.NET; примеры настольных приложений с применением каскадной (водопадной) модели разработки в условиях постоянно изменяющихся требований.
При наличии курсовой работы или курсового проекта студентам необходимо самостоятельно разработать настольное Windows-приложение с использованием указанных в ходе изучения дисциплины технологий. Процесс разработки — каскадный. По мере выполнения заданий необходимо учитывать 2-3 кратное изменение требований к программному продукту.
Студентам третьего курса IT-специальностей предлагаются для изучения элективные дисциплины «Технологии проектирования и разработки программного обеспечения», «Основы веб-разработки», «Разработка настольных приложений с применением WPF», «Современные средства работы с базами данных» и т. д.
Дисциплина «Технологии проектирования и разработки программного обеспечения» предлагается к изучению в 5 и 6 семестре. Целью курса является применение современных практик для проектирования архитектуры приложений, а также шаблонов и принципов проектирования с использованием расширенных конструкций языка C# на платформе MS .NET. Задачи курса: дать навыки проектирования архитектуры и дизайна приложений на платформе MS .NET в условиях постоянно изменяющихся требований и ограничений.
В результате изучения курса студенты должны знать: базовые принципы и шаблоны построения архитектуры и дизайна для разработки успешных программных решений; подходы правильного выбора стратегии и шаблоны проектирования, которые помогут при проектировании слоев, компонентов и сервисов решения; определение и реализацию ключевых технических решений; определение и реализацию основных показателей качества и сквозных функций для решения; организацию выбора технологии для реализации программного решения.
В результате изучения курса студенты должны уметь: создавать настольные приложения с графическим интерфейсом, используя продвинутые средства C#; применять возможные варианты базовых архитектур программного решения; разрабатывать примеры настольных приложений с применением шаблонов проектирования в условиях постоянно изменяющихся требований; правильно выбирать методы и руководства, которые помогут в реализации программного решения.
Студентам необходимо самостоятельно в ходе выполнений курсовой работы или проекта разработать настольное Windows-приложение либо переделать и развить созданное в курсе «Основы объектно-ориентированного программирования на платформе .NET» с применением практик и принципов, изложенных в курсе. Требования к ПО должны меняться 2-3 раза. Студенты должны сделать выводы о применении правильных принципов разработки, которые повышают гибкость ПО.
Для изучения дисциплины «Разработка настольных приложений с применением WPF» предлагается всего 2 кредита. Целью курса является расширенное изучение технологии Windows Presentation Foundation (WPF) среды Visual Studio. Задачи дисциплины: получение навыков создания насыщенных настольных приложений с графическим пользовательским интерфейсом с применением технологии WPF.
В результате изучения курса студенты должны знать принципы и подходы построения пользовательских интерфейсов, основные способы и возможности среды разработки пользовательских интерфейсов на базе технологии WPF, средства создания динамических интерфейсов и привязки интерфейсов к внешним данным.
В результате изучения курса студенты должны уметь: создавать настольное Windows-приложение с насыщенным графическим пользовательским интерфейсом с применением WPF, соответствующее потребностям и ожиданиям конечных пользователей; формировать пользовательские интерфейсы при помощи средств разработки и языка описания интерфейсов XAML; конфигурировать и развертывать WPF-приложения.
Используемые языки, среды программирования, библиотеки и фреймворки: C#, Microsoft Visual Studio Express 2012 для Windows Desktop. При наличии курсовой работы или курсового проекта студентам необходимо разработать настольное Windows-приложение с насыщенным графическим интерфейсом с применением WPF.
Целью курса «Современные средства работы с базами данных» является изучение языка запросов SQL и современных ORM-подходов доступа к базам данных. Основная задача курса определена как получение навыков программирования и подключения источников БД с использованием ORM-технологий ADО.NET Entity Framework и NHibernate.
В результате изучения курса студенты должны знать: язык запросов к реляционным СУБД SQL и процедурное расширение языка SQL для MS SQL Server - Transact-SQL (T-SQL); операции реляционной алгебры и соответствие им предложений SQL, понятие нормализации и денормализации данных; основные понятия жизненного цикла, разработки, поддержки и сопровождения баз данных; вводные сведения о MS SQL Server, его основных инструментах и объектах; современные модели доступа к БД и поставщики данных на примере API-интерфейсов и ORM-технологий; основные средства и инструменты использования фреймворков ADО.NET E ntity Framework и NHibernate; паттерны Unit of Work & Repository в ASP.NET MVC 5, реализующие абстрагирование от конкретных подключений к различным источникам данных.
В результате изучения курса студенты должны уметь: осуществлять концептуальное, логическое и физическое проектирование БД; использовать языковые конструкции SQL и T-SQL, осуществлять команды, процедуры, транзакции и запросы к таблицам БД, повышать производительность запросов; выполнять сортировку и фильтрацию данных; использовать различные техники для создания и работы со сложными запросами; понимать платформу SQL Server, ее основные инструменты и используемые объекты (таблицы, представления, хранимые процедуры, функции, триггеры и др.); определять подходящие стратегии создания индексов по одному столбцу или композитных; создавать таблицы в виде кучи или таблицы с кластерными индексами; разрабатывать дизайн таблиц и выбирать подходящую структуру; проектировать и внедрять представления; использовать традиционные и современные методы обработки ошибок и структурированные методы обработки исключительных ситуаций; хранить XML данные и схемы в SQL Server; выполнять базовые запросы к XML данным; использовать инструменты фреймворков ADО.NET Entity Framework и NHibernate при определении и подключении к источникам данных; применять паттерны Unit of Work & Repository в ASP.NET MVC 5 для доступа к абстрагированным источникам данных.
В ходе выполнения курсовой работы по данной дисциплине студенты должны разработать настольное или веб-приложение с использованием NHibernate или Entity Framework на базе СУБД - MS SQL Server, используя изученные в курсе технологии.
Студентам третьего курса всех IT-специальностей предлагается для изучения элективная дисциплина «Основы веб-разработки». Целью преподавания данной дисциплины является изучение основ разработки веб-приложений с использованием фреймворка ASP.NET MVC 5 и языка JavaScript. Задачи дисциплины: приобрести знания и навыки разработки веб-приложений с использованием HTML5/CSS3/JavaScript/ASP.NET MVC, познакомиться с принципами создания программных компонентов и структур, используемых в веб-сайтах и приложениях.
В результате изучения дисциплины студенты должны знать: принципы и подходы разработки базовой архитектуры и дизайна веб-приложения; язык гипертекстовой разметки HTML5 и каскадные таблицы стилей CSS3; базовые языковые конструкции JavaScript и библиотеки jQuery; основные инструменты фреймворка ASP.NET MVC 5, необходимые для создания простого веб-приложения.
В результате изучения курса студенты должны уметь: создавать веб-приложения и веб-формы с использованием HTML5, языка JavaScript и ASP.NET MVC в среде Visual Studio; создавать мастер-страницы и пользовательские элементы управления; проверять ввод данных пользователем; создавать различные веб-формы с возможностью проверки, с использованием типов ввода и атрибутов, включенных в спецификации HTML5; создавать макеты и стили для разработки согласованного пользовательского интерфейса, используя расширенные возможности CSS и CSS3; управлять состоянием в веб-приложениях; конфигурировать и развертывать веб-приложения; обеспечивать безопасность веб-приложения.
После окончания изучения «Основ веб-разработки» студенты должны разработать веб-приложение с применением HTML5, CSS3, языка JavaScript и фреймворка ASP.NET MVC 5 в среде Visual Studio 2012.
В качестве одного из элективных курсов на 4 году обучения предлагается дисциплина «Проектирование и архитектура информационных систем», целью которой является получение знаний и практических навыков в проектировании и моделировании архитектур ИС и состава ПО, моделирования на основе UML и BMPN, документирования процессов разработки и их стандартизации.
В ходе преподавания данной дисциплины происходит знакомство с реализацией аналитической стадии создания программного продукта, с осуществлением анализа и разработки состава требований к программному решению, изучение нотаций языков UML и BMPN, их практическое применение, освоение состава проектной и эксплуатационной документации на программный продукт.
В результате изучения курса студенты должны знать: роли, цели и задачи моделирования в цикле разработки ПО; состав методологий и нотаций моделирования; шаблоны проектирования, прецеденты архитектурного анализа и другие вопросы, которые рассматриваются в рамках итеративных процессов проектирования UP; подходы планирования и анализа рисков на стадии проектирования; состав аналитической стадии проекта по созданию программного продукта и основные этапы анализа; способы выявления, формулирования, разработки, проверки, утверждения и тестирования требований к ПО; роли аналитика при сборе требований, понятие бизнес-процессов и бизнес-правил; принципы моделирования на UML и BPMN, а также способы и возможности применения этих нотаций и языков в практике современного программирования; основные типы используемых в UML и BPMN диаграмм с объяснением целей и задач, которые перед ними ставятся; состав проектной и эксплуатационной документации на программный продукт.
В результате изучения курса студенты должны уметь: выявлять требования пользователей; осуществлять разработку качественных требований к программному продукту, задавать достижимые требования к функциональности и качеству; специфицировать (оформлять) требования; моделировать программный продукт с использованием нотаций и языков UML и BPMN; осуществлять выбор нотаций, которые следует задействовать при создании диаграмм, а также при их чтении; использовать программные продукты моделирования процессов Enterprise Architect/PowerDesigner/MS Visio при разработке диаграмм; осуществлять разработку проектной документации программного решения.
Используемые языки, среды программирования, библиотеки и фреймворки: Enterprise Architect/PowerDesigner/MS Visio/Rational Software Architect/UMLet и BPMN Modeler MS Visio/ARIS/Business Studio/BPwin.
После окончания изучения данной дисциплины студентам необходимо в ходе работы над дипломной работой реализовать аналитическую стадию проекта программного продукта. Разработать набор диаграмм, используя BPMN на уровне бизнес-процессов, и UML — на уровне компонентов программного обеспечения для описания интерфейсов между компонентами программного обеспечения и сервисами. Разработать техническое задание на продукт, учитывающее архитектурные подходы в реализации решения.
В ходе реализации учебных программ по предлагаемым дисциплинам используются различные языки, среды программирования, библиотеки и фреймворки: C#, Microsoft Visual Studio Express 2012 для Windows Desktop, Microsoft SQL Server 2012, ADО.NET Entity Framework, NHibernate, Unit of Work & Repository, Enterprise Architect/PowerDesigner/MS Visio/Rational Software Architect/UMLet и BPMN Modeler MS Visio/ARIS/Business Studio/BPwin и др. Большинство данных программных продуктов имеется на предприятиях, являющихся IT-сферой, которые в дальнейшем выступают в качестве работодателей для студентов IT-специальностей. Поэтому изучение данных пакетов обоснованно. Однако в большинстве вузов страны существует проблема финансирования на приобретение и сопровождение современных сред программирования, библиотек и фреймворков.
Таким образом, существует объективная необходимость внедрять в учебный процесс предлагаемые элективные дисциплины. Рассмотренные примеры реализации различных элективных дисциплин в ходе подготовки студентов информационного профиля не являются единственно предлагаемыми.
Список литературы
- Общероссийский классификатор специальностей высшей научной квалификации ОК 017-2013. —[ЭР]. Режим доступа:http://docs.cntd.ru/document/1200110160
- Василенко К., Буховцев А. Профессия программист. — [ЭР]. Режим доступа:https://docs.google.com/ document/ d/1oI7Nwn4tNBiZlO-d9vnXZIlsQ6_5i7TCSgRI60ytUMA/edit
- Мамедзаде Ф.Р. Формирование спроса и предложения на ИТ-специалистов на основе модели компетенций // Informasiyatexnologiyalariproblembri, 2012, № 2 (6), 76-84. —[ЭР]. Режим доступа:jpit.az
- Олейникова О.Н., Муравьева А.А. и др. Модульные технологии: проектирование и разработка образовательных программ. — М., Альфа-М, 2010. — 256 с.
- [ЭР]. Режим доступа:http://vk.com/public.phpdynamicstechnologies