Программная инженерия

Общие сведения

Направление: Программная инженерия
Код направления: 09.03.04
Профиль: Разработка программно-информационных систем
Международный аналог направления: Software Engineering
Вступительные экзамены: русский язык, математика, информатика и КТ
Форма финансирования: бюджетная и платная

Что такое программная инженерия

По определению, принятому в международном стандарте ISO 24765-2010, программная инженерия – это приложение систематического, дисциплинированного, измеримого подхода к разработке, функционированию и сопровождению программного обеспечения, а также исследованию этих подходов.

Инженерия вообще – это рациональный подход к созданию какого-то продукта, проекта, основанный на измеримых оценках и числовых моделях самого продукта или процесса его разработки. Потребность к такому подходу к разработке программ появилась уже в 60-х годах. К этому времени размеры крупных программных систем стали измеряться в десятках тысяч строк исходного кода. В то же время производительность труда при разработке программ требуемого качества со сдачей заказчику составляла 0,1-0,2 команды в день на программиста. Потребность к повышению скорости и качества разработки сложных программ привела к созданию ряда технологий программирования, а также методов организации разработки программных проектов.

Главная проблема программной инженерии – это борьба со сложностью

Сложность программ постоянно возрастает. Размеры программ увеличиваются. Системное программное обеспечение уже измеряется в миллионах строк кода. Один миллион строк программы в напечатанном виде составят около 18000 страниц текста, причём всего лишь одна неправильно набранная «буква» может сделать программу полностью неработоспособной. Для сравнения весь текст романа Л.Н. Толстого «Война и мир» меньше в 14 раз. Ниже на рисунке показано увеличение общего объёма ПО всего лишь на одном ресурсе sourceforge.org. Это экспоненциальный рост.


Рост размера объёма открытого исходного кода, млн. строк на sourgeforse.org

Ещё один график показательный график – роста объёма исходного кода ядра операционной системы Linux. За почти тридцать лет существования этой системы размер её ядра вырос с 10 тыс. строк до 27 млн. строк. Разрабатывать или сопровождать такую систему силами одного человека физически невозможно.


Рост размера исходного кода ядра Linux в тыс. строк языка С

Чтобы переписать Linux с нуля, в 2008 году при размере ядра в 10 млн. строк потребовалась бы работа 200 программистов в течение девяти с половиной лет. Такая разработка стоила бы примерно $268 млн. долл. В 2018 г. стоимость ядра оценивалась уже в 1 млрд. долл.

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

Сфера деятельности программного инженера включает в себя ряд областей, для поддержки каждой из которых имеются свои технологии и методы:

  • определение требований к программной системе (software requirements)
  • проектирование архитектуры программных систем, структуры её компонентов, схемы интерфейса (software design)
  • кодирование, верификацию, тестирование и отладку программ (software construction)
  • поддержку и сопровождение программных систем (software maintenance) и многое другое.

Конкретное содержание программной инженерии определяется федеральным образовательным стандартом, а также профессиональными стандартами в области ИТ.

В соответствии с профилем программной инженерии студенты получают специализацию по следующим направлениям:

  • конфигурирование и интеграция систем на платформе 1С (1С-программист);
  • системное программирование (системный программист);
  • разработка распределённых систем на основе Web-протоколов (Web-разработчик).


Востребованность программистов в марте 2018 г. (по infostat.ru)

На специалистов этих направлений существует постоянно растущий спрос, что гарантирует трудоустройство выпускников.

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

1С-Программист


Типичные задачи, которые решает 1С-программист

Администрирование баз 1С;
Автоматизация деятельности компании;
Настройка и администрирование различных конфигураций на базе 1С;
Программирование на базе 1С

Россия автоматизирована в основном на 1С

Программист 1С – в России самый востребованный программист.

По количеству вакансий 1С-программисты лидируют уже несколько лет на самых разных сайтах вакансий. При этом средняя зарплата 1С-программистов уступает только зарплате программистов С++ и БД

Востребованность программистов в 2017 г.

Должность

Число вакансий

Средняя зарплата, тыс. руб

Программист 1С

164

110

Web-программист

79

95

Программист PHP

100

101

Программист С++

26

100

Программист С#

38

117

Программист баз данных

95

117

Источник: superjob.ru (ноябрь 2017 г.)

Программисты 1С – вообще самые востребованные ИТ-специалисты в России с 2009 г. Это неудивительно, так как система 1С используется на 1,5 млн. российских предприятий.
Наибольший рост зарплаты за последние десять лет отмечен также на вакансиях программистов 1С. По зарплате в среднем программисты 1С уступают только программистам на С++ и С#, но востребованность последних значительно меньше. Вакансии программистов 1С есть в любом городе России.

С 2013 г. доля автоматизированных рабочих мест в России на 1С превосходит 83%. Можно сказать, что Россия автоматизирована в значительной мере на 1С.

Уровень освоения профессии

Мы готовим студентов на уровне знаний сертификата «1С Профессионал».

Сертификаты «Профессионал 1С: ИТС», полученные студентами прикладной информатики 2015 и 2016 гг.

Кроме этого, наши студенты уже много лет занимают призовые места в различных соревнованиях для студентов, проводимых компанией 1С. C 2009 г. по 2018 г. наши студенты каждый год занимали призовые места на уровне Нижегородской области и несколько раз выходили в финал по Приволжскому региону

В 2015 г. наша студентка Оксана Парфёнова заняла 5-е место во Всероссийском конкурсе среди профессионалов 1С, финал которого проходил в Нижнем Новгороде.


Студенты прикладной информатики – участники профессионального конкурса 1С: ИТС
В. Жадова, О. Парфёнова и К. Шипунова обсуждают с директором компании 1С
Б.Г. Нуралиевым перспективы своей работы по линии 1С
(ННГАСУ, 2015 г.)

Системный программист

Типичные задачи, которые решает системный программист

Основные задачи системного программиста это:

  • разработка компонентов системных программных продуктов: драйверов, компиляторов, системных утилит и инструментальных средств;
  • разработка систем управления базами данных;
  • разработка операционных систем.

В рамках ННГАСУ студенты специализируются в сфере разработки проблемно-ориентированных языков и компиляторов, а также в сфере системного программирования для операционной системы Linux.

Системные программы – самые сложные из всех программ. Это можно видеть из следующего рисунка.


Сравнительные размеры программ, в млн. строк кода

Поэтому программная инженерия при разработке системного ПО является принципиально необходимой.

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

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

Web-разработчик


Согласно прогнозам американского сайта вакансий CareerCast, Web-разработчик – это специальность, потребность в которой будет расти быстрее всех прочих в ИТ.

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

Востребованность программистов в 2017 г

Специализация программиста

Число вакансий

Средняя зарплата, тыс. руб

Программист 1С

164

110

Web-программист

79

95

Программист PHP

100

101

Программист С++

26

100

Программист С#

38

117

Программист баз данных

95

117

Web-разработчик

81

96

Источник: superjob.ru (ноябрь 2017 г.)

Эта специальность требует освоения ряда дисциплин, которые могут пригодиться информатику любого профиля

  • программирование на стороне сервера на Java и PHP;
  • программирование на стороне клиента на JavaScript;
  • администрирование систем управления базами данных MS SQL, MySQL;
  • проектирование интерфейса на основе принципов usability;
  • дизайн Web-страниц с помощью программ растровой и векторной графики Gimp и Inkscape;
  • анализ уязвимостей программного кода Web-приложения, а также надёжности конфигурации Web-сервера;
  • программирование мобильных приложений для iOS/Android;
  • создание сайтов с помощью CMS систем.

Можно заметить, что языки Java, PHP, JavaScript являются вообще одними из лидирующих языков Web-разработки, поэтому их изучению на кафедре прикладной информатики уделяется особое внимание.


Распространённость языков программирования в ноябре 2017 г. (рейтинг PYPL)

Разработка системы экологического мониторинга Eco-routs

Примером того, чем занимаются наши студенты, специализирующиеся на Web-разработке, может служить система экологического мониторинга. Она разработана выпускником 2016 г. Д. Степановым в сотрудничестве с международной кафедрой ЮНЕСКО при ННГАСУ в 2016 г. Система доступна по адресу https://eco-routs.appspot.com.
С её помощью можно определять уровень превышения ПДК в условиях движения в автомобильной пробке.


Интерфейс системы мониторинга Eco-routs

При разработке системы применялись современные Web-технологии.


Технологии, использованные при разработке Eco-routs

Данная работа завоевала второе место в международной олимпиаде по ИТ-технологиям и выиграла несколько других конкурсов.

Межвузовский конкурс выпускных работ фирмы Base Group Lab по бизнес-аналитике

2-е место – международная
олимпиада в сфере IT-технологий
(г. Екатеринбург, 2015/2016)




3-е место – Лучший ИТ-проект
года (г. Н.Новгород, 2017)

Кафедра Прикладной информатики и статистики

Кафедра ПрИС создана в 1999 г. для поддержки специализации Wirtschaftsinformatik (экономическая информати-ка) в рамках международного проекта Tempus Tacis по обучению студентов ННГАСУ совместно с немецким ву-зом FH Köln.

В настоящее время в составе кафедры 9 штатных преподавателей, среди которых 1 доктор и 4 кандидатов наук. Также в составе кафедры работает трое выпускников кафедры.

Научная работа кафедры ведётся по направлениям:

  • моделирование экономических процессов;
  • бизнес-аналитика;
  • управление проектами;
  • методология дистанционного обучения.

В рамках этих направлений были защищены три диссертации, получены два свидетельства о регистрации программ для ЭВМ, выполнено более 10 договорных работ с различными предприятиями, на предприятиях внедрены три крупных специализированных программных комплекса.



Система Orphus Яндекс.Метрика
Сайт не поддерживает браузер Internet Explorer 6 и 7. Пожалуйста, обновите свой браузер.