Проблемы преподавания программной инженерии в вузах России(Прочитано 26143 раз)
Вполне возможно, что проблемы, связанные с преподаванием ИТ-дисциплин, и в первую очередь, дисциплин, связанных с програмнной инженерией, сущестуют не только в России. Нельзя утверждать, что такие проблемы являются широко распространенными, однако личный опыт, беседы с коллегами из разных вузов, чтение различных форумов, приводит неизвебжно к выводу, что программная инженерия преподается далеко не эффективно.

За основу наших рассуждений можно взять SWEBOK.
SWEBOK выделяет 10 областей знаний:
Требования
Проектирование
Конструирование
Тестирование
Поддержка и эксплуатация
Конфигурационное управление
Управление инженерной деятельностью
Процессы инженерной деятельности
Инженерные инструменты и методы
Качество

Конечно, в существующих образовательных программах отсутствует сколь-нибудь грамотная корреляция с набором областей знаний выделенных в SWEBOK. Допускаю, тут нет особой проблемы. Тем не менее своременные ГОС(государственные образовательные стандарты) никак не определяют многие области знаний, выделенные в SWEBOK, либо тонко маскируют их под другими понятиями и формулировками.

Попытаюсь провести некоторую корреляцию областей знаний SWEBOK и ГОС специальности 230201 "Информационные системы и технологии"

Требования - к сожалению специализированного курса программой не предусмотрено. Частично основы требований и отдельные частные вопросы решаются в таких дисциплинах как: Теория информационных процессов и систем, Управление данными, Моделирование систем, Проектирование информационных систем, Корпоративные информационные системы. Однако системного взгляда на эту область знания нет, это показывают и результаты защит дипломных проектов и курсовых. Отсуствует навыки и умения формализации требований, понимания требований, управление требованиями.

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

Конструирование - отсутствуют выделенные дисциплины, можно найти корреляцию в дисциплинах Основы программирования, ООП, Управление данными, WEB-программирование (вообще вопросам конструирования, а это технологии и методы конструирования в первую очередь - внимания мало или практически нет, есть скорее обучение некоторому языку программирования в частночти Delphi, Pascal, GPSS, PHP, FoxPro)

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

Поддержка и эксплуатация - может коррелировать с курсами Информационные сети, Администрирование ИС, Архитектура ЭВМ и сети, Операционные системы. Однако довольно бессистемно и бестолково.

Конфигурационное управление - отсутствует напрочь

Управление инженерной деятельностью - можно сказать, что материал нигде не читается и не расскрывается (можно только увидеть мелкие вкрапления в Администрировании ИС и ПИС)

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


Инженерные инструменты и методы - фактически изучаются во всех дисциплинах

Качесвто - нет вообще как и тестирования!!!

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

Мне интересно услышать мнение коллег, которые уже поработали в "производстве", у которых есть свои мысли на этот счет....



Эдуард, ты ещё забыл, что в ряде вузов "Программная инженерия" уже читается как отдельная дисциплина, ране читалось как "Технология программирования". Не смотрел только, насколько это вписывается в ГОСы - может, как региональный компонент?
http://www.csin.ru/curricula/se

По поводу сравнения проблем на западе и в России см. SE2004:
http://old.osp.ru/os/2006/10/064.htm
« Последнее редактирование: 21 Марта 2007, 13:46:12 от Денис "Майевтик" »



Эдуард, ты ещё забыл, что в ряде вузов "Программная инженерия" уже читается как отдельная дисциплина, ране читалось как "Технология программирования". Не смотрел только, насколько это вписывается в ГОСы - может, как региональный компонент?
http://www.csin.ru/curricula/se

По поводу сравнения проблем на западе и в России см. SE2004:
http://www.osp.ru/os/2006/10/3910113/_p1.html
http://old.osp.ru/os/2006/10/064.htm

Спасибо.
Денис, я не забыл:-) Я этого просто не знал. Правда замена курса Технология программирования на Программную инженерию - вопроса не решает...

SE2004 смотрел, имеет смысл обсудить



Для гладкости дискуссии приведу цитату из SE2004

По существу, перефразируя описание результатов, изложенных в документе SE2004, студент, обученный специальности «Программная инженерия», должен уметь делать следующее:
  • Показать владение знаниями и навыками программной инженерии, необходимыми для того, чтобы приступить к практической работе.
  • Работать индивидуально или в группе над созданием качественных программ.
  • Искать приемлемые компромиссы в рамках ограничений, накладываемых «затратами, временем, знаниями, существующими системами и организацией».
  • Выполнять проектирование в одной или нескольких предметных областях, используя подходы программной инженерии, объединяющие «этические, социальные, юридические и экономические интересы».
  • Демонстрировать понимание и применение существующих теорий, моделей и методов, необходимых для программной инженерии.
  • Демонстрировать такие навыки, как межличностное общение, эффективные методы работы, лидерство и общение.
  • Изучать новые модели, методы и технологии по мере их появления.



Я так понял, что буквально на днях Комитетом по образованию в области ИТ Ассоциации Предприятий Компьютерных и Информационных Технологий опубликован русский перевод Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering.

Называется это всё "Рекомендации по преподаванию программной инженерии и информатики в университетах".

http://www.apkit.ru/default.asp?artID=5684



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



Наконец-то мне стал активно интересен SE 2004 :)



Наконец-то мне стал активно интересен SE 2004 :)
Преподаешь?



Преподаешь?
Да, плюс участвую в доработке учебных планов по программной инженерии.




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19