Методы и средства инженерии программного обеспечения

       

Подходы к обучению программной инженерии


                                                 

В рамках работ по становлению программной инженерии опубликовано ряд учебников и монографий, отображающие разные ее аспекты, и сформировалось несколько подходов к обучению и подготовки соответствующих специалистов [5–13]:

1) введение в программы обучения  отдельных элементов программной инженерии;

2) создание самостоятельной специальности «программная инженерия» и обучение ей студентов всех курсов;

3) сертифицированное обучение программной инженерии как профессии на курсах подготовки или переподготовки ИТ–специалистов.

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

 

Подход 2. Наибольшее развитие в международной практике получил подход, ориентированный на создание самостоятельной специальности «программная инженерия» на факультетах информатики. Данный подход поднимает престиж учебного заведения, требует дополнительных вложений на его оборудование и привлечение соответствующего преподавательского состава. Учебный план факультета информатики предусматривает программы по информатике и программной инженерии. Согласно [24] эти учебные программы относятся как 50:50. При этом треть предметов факультета связаны с программной инженерией, а две трети – с информатикой.


Эти темы включены в программу обучения CС– 2001 как не обязательные темы, хотя проблемы интерфейса и компонентного подхода сейчас являются перспективными направлениями дальнейшего развития современного программирования и производства ПО.

 

Подход 3. Обучение сформировавшихся специалистов программной инженерии на специальных курсах повышения квалификации (с отрывом и без отрыва от производства) представляет значительный интерес для действующих компаний, специализирующихся в разработке ПО и крупных программных проектов. Для усовершенствования квалификации персонала фирм объявляются или заказываются отдельные темы программной инженерии или целый курс. Самыми широко распространенными сертифицированными курсами являются: программная инженерия, управление требованиями, повторное использование, управление программными проектами, моделирование в UML и Case Rational Rose и др.

Рассмотренные  подходы к преподаванию программной инженерии используются  в США, Канаде, Великобритании  и других европейских странах. Остановимся на  анализе состояния дел по ее преподаванию  на факультетах  информатики в странах СНГ. До настоящего времени во многих Вузах ведется обучение ЯП ( С++, Паскаль, Бейзик Lava и др.), теории алгоритмов, ОС, СУБД, информационным технологиям и системам и др. Обсуждение  предмета программной   инженерии  как специальности проведено, например,  в российской  прессе [26-28, 34]. Общее мнение состоит в том,  что системное преподавание этой дисциплины в основном отсутствует, в университетах ощущается недостаток  профессорско-преподавательского состава и соответствующих  учебно-методических пособий.

В частности, в [27]  отмечается, что сложившаяся советская система образования  в университетах бывшего СССР  «постепенно все больше и больше отдаляется от требований  современного мира»; программирование  представляет фундаментальную науку и прикладную инженерную дисциплину, основанную на   применение теоретических знаний  в жестких ограничениях реального мира.


Тем более, что в  информатике отсутствует такие понятия, как ресурсы, трудозатраты, менеджмент, измерения и оценки продуктов, которые в программной инженерии играют ключевую роль.  В связи с этим возникает естественная потребность в разносторонних и полноценных программах обучения профессиональных специалистов в области программной инженерии, основу которых может составлять  СС-2001 [22 ].

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

На основе огромного опыта программирования разных программных систем, преподавания спецкурса по этой дисциплине в Киевском Национальном университете им. Тараса Шевченко и учитывая международный опыт по созданию  ядра знаний SWEBOK, разработан и опубликован учебник серии  «высшее образование  XXI столетия» [8], который рекомендован в  качестве учебного пособия для обучения студентов в Вузах. Однако этот учебник вышел небольшим тиражом,  его  использует  авторы при проведении курсов  в Национальном университете имени Тараса Шевченко,  в Киевском отделении  МФТИ,  в Национальном авиационном институте.

 


Содержание раздела