Вполне возможно, что проблемы, связанные с преподаванием ИТ-дисциплин, и в первую очередь, дисциплин, связанных с програмнной инженерией, сущестуют не только в России. Нельзя утверждать, что такие проблемы являются широко распространенными, однако личный опыт, беседы с коллегами из разных вузов, чтение различных форумов, приводит неизвебжно к выводу, что программная инженерия преподается далеко не эффективно.
За основу наших рассуждений можно взять SWEBOK.
SWEBOK выделяет 10 областей знаний:
Требования
Проектирование
Конструирование
Тестирование
Поддержка и эксплуатация
Конфигурационное управление
Управление инженерной деятельностью
Процессы инженерной деятельности
Инженерные инструменты и методы
Качество
Конечно, в существующих образовательных программах отсутствует сколь-нибудь грамотная корреляция с набором областей знаний выделенных в SWEBOK. Допускаю, тут нет особой проблемы. Тем не менее своременные ГОС(государственные образовательные стандарты) никак не определяют многие области знаний, выделенные в SWEBOK, либо тонко маскируют их под другими понятиями и формулировками.
Попытаюсь провести некоторую корреляцию областей знаний SWEBOK и ГОС специальности 230201 "Информационные системы и технологии"
Требования - к сожалению специализированного курса программой не предусмотрено. Частично основы требований и отдельные частные вопросы решаются в таких дисциплинах как: Теория информационных процессов и систем, Управление данными, Моделирование систем, Проектирование информационных систем, Корпоративные информационные системы. Однако системного взгляда на эту область знания нет, это показывают и результаты защит дипломных проектов и курсовых. Отсуствует навыки и умения формализации требований, понимания требований, управление требованиями.
Проектирование - коррелирует с дисциплиной Проектирование информационных систем, Объектно-ориентированное программирование и Управление данными. К сожалению базовый курс ПИС (200 часов) (в том виде как он читается и понимается нашими преподавателями) ориентирован на а/проектную документацию; б/использование DFD; с/преподавание основ UML. Отсутствует вообще объяснение и изучение таких вопрос как: архитектура , типовые архитектуры, анализ качества и оценка дизайна, проектирования интерфейсов
Конструирование - отсутствуют выделенные дисциплины, можно найти корреляцию в дисциплинах Основы программирования, ООП, Управление данными, WEB-программирование (вообще вопросам конструирования, а это технологии и методы конструирования в первую очередь - внимания мало или практически нет, есть скорее обучение некоторому языку программирования в частночти Delphi, Pascal, GPSS, PHP, FoxPro)
Тестирование - практически отсутсвует, если только преподавателя понимая важность этой составляющей не делают небольшие вкрапления в свои курсы (правда мне об этом ничего не известно)
Поддержка и эксплуатация - может коррелировать с курсами Информационные сети, Администрирование ИС, Архитектура ЭВМ и сети, Операционные системы. Однако довольно бессистемно и бестолково.
Конфигурационное управление - отсутствует напрочь
Управление инженерной деятельностью - можно сказать, что материал нигде не читается и не расскрывается (можно только увидеть мелкие вкрапления в Администрировании ИС и ПИС)
Процессы инженерной деятельности - слегка затрагиваются в Администрировании ИС, Теории информационных процессов и систем, Корпоративные ИС, ПИС. Трудно судить: нужен ли спец курс? Или он должен быть распределен по процессам? Или он должен читаться в ПИС?
Инженерные инструменты и методы - фактически изучаются во всех дисциплинах
Качесвто - нет вообще как и тестирования!!!
Конечно прямой перенос SWEBOK на нащу систему образования не возможен. SWEBOK в данном случае декларация, список требований к знаниям.
Однако ясно, что изучение всех вопросов явно выходит за рамки современных сроков обучения.
Очевидно, что для покрытия всех областей знаний нужны несколько различных программ образования ГОС с некоторым перекрытием.
Мне интересно услышать мнение коллег, которые уже поработали в "производстве", у которых есть свои мысли на этот счет....