МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Современные технологии разработки программного обеспечения

рабочая программа дисциплины
Закреплена за кафедройКафедра цифровых технологий и бизнес-аналитики
Направление подготовки09.04.03. Прикладная информатика
ПрофильПрикладная информатика в управлении финансами
Форма обученияОчная
Общая трудоемкость6 ЗЕТ
Учебный план09_04_03_ПИвУФ-1-2019
Часов по учебному плану 216
в том числе:
аудиторные занятия 60
самостоятельная работа 129
контроль 27
Виды контроля по семестрам
экзамены: 1

Распределение часов по семестрам

Курс (семестр) 1 (1) Итого
Недель 18
Вид занятий УПРПДУПРПД
Лекции 16 16 16 16
Лабораторные 44 44 44 44
Сам. работа 129 129 129 129
Часы на контроль 27 27 27 27
Итого 216 216 216 216

Программу составил(и):
канд. физ.-мат. наук, доцент, Козлов Д.Ю.

Рецензент(ы):
канд. экон. наук, доцент, Капустян Л. А.

Рабочая программа дисциплины
Современные технологии разработки программного обеспечения

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 09.04.03 Прикладная информатика (уровень магистратуры) (приказ Минобрнауки России от 19.09.2017г. №916)

составлена на основании учебного плана:
09.04.03 Прикладная информатика
утвержденного учёным советом вуза от 25.06.2019 протокол № 9.

Рабочая программа одобрена на заседании кафедры
Кафедра цифровых технологий и бизнес-аналитики

Протокол от 10.06.2019 г. № 10
Срок действия программы: 2019-2020 уч. г.

Заведующий кафедрой
д-р техн. наук, проф. Псарев В.И.


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2019-2020 учебном году на заседании кафедры

Кафедра цифровых технологий и бизнес-аналитики

Протокол от 10.06.2019 г. № 10
Заведующий кафедрой д-р техн. наук, проф. Псарев В.И.


1. Цели освоения дисциплины

1.1.Цель - познакомить студентов с рядом современных технологий разработки ПО.
В соответствии с указанной целью поставлены следующие задачи курса:
- познакомить студентов с основными принципами промышленной разработки ПО;
- выработать навыки использования регулярных выражений в обработке текстов, систем контроля версий и автоматизированного тестирования ПО.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.02

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОПК-2 Способен разрабатывать оригинальные алгоритмы и программные средства, в том числе с использованием современных интеллектуальных технологий, для решения профессиональных задач;
ОПК-5 Способен разрабатывать и модернизировать программное и аппаратное обеспечение информационных и автоматизированных систем;
ОПК-8 Способен осуществлять эффективное управление разработкой программных средств и проектов.
ПК-1 Способен применять современные методы и инструментальные средства прикладной информатики для автоматизации и информатизации решения прикладных задач различных классов и создания ИС
ПК-3 Способен проектировать информационные процессы и системы с использованием инновационных инструментальных средств
ПК-5 Способен использовать передовые методы оценки качества,надежности и информационной безопасности ИС в процессе эксплуатации прикладных ИС
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.понятия регулярных выражений, кодировок текста, системы контроля версий и автоматизированного тестирования ПО;
модели, процессы, этапы жизненного цикла ИС;
процессы реинжиниринга ИС;
современные методологии проектирования ИС, распространённые технологические стандарты;
методики типового проектирования ИС.
3.2.Уметь:
3.2.1.применять регулярные выражения и различные кодировки текста;
использовать системы контроля версий;
производить автоматизированное тестирование ПО;
разрабатывать программы для работы в различных операционных системах;
создавать кроссплатформенные программы на уровне выполнения;
создавать программы на кроссплатформенных интерпретируемых языках
выбирать оптимальный программный продукт и модели информационных технологий из нескольких возможных для решения прикладной задачи.
выбрать программный продукт и технологии для решения задачи с учетом конкретной предметной области.
разрабатывать сервисные программы и сервисные оболочки при разработке приложений с учетом конкретной предметной области.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.навыками применения регулярные выражения и различные кодировки текста;
навыками использования системы контроля версий;
навыками автоматизированного тестирования ПО;
навыками применения информационных технологий и творческого подхода при решении стандартных и нестандартных задач;
навыками выбора программных продуктов и мультиплатформенных технологий для решения задачи;
навыками использования сервисных программ и сервисных оболочек для решения задачи.
навыками работы с объектно-ориентированными языками программирования;
навыками работы с интерпретируемыми языками программирования;
навыками создания кроссплатформенных приложений.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Регулярные выражения
1.1. Зачем нужны регулярные выражения? Типы регулярных выражений. PCRE Основные операции с использованием регулярных выражений Квантификаторы Специальные метасимволы "Жадные" и “ленивые" регулярные выражения Группировки Направление просмотра Лекции 1 4 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
1.2. Зачем нужны регулярные выражения? Типы регулярных выражений. PCRE Основные операции с использованием регулярных выражений Квантификаторы Специальные метасимволы "Жадные" и “ленивые" регулярные выражения Группировки Направление просмотра Лабораторные 1 12 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
1.3. Зачем нужны регулярные выражения? Типы регулярных выражений. PCRE Основные операции с использованием регулярных выражений Квантификаторы Специальные метасимволы "Жадные" и “ленивые" регулярные выражения Группировки Направление просмотра Сам. работа 1 36 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
Раздел 2. Кодировки текста
2.1. История появления кодировок. Кодировки для кириллического текста. Многобайтовые кодировки. Unicode. Передача данных через почтовый протокол: base64 Лекции 1 2 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
2.2. История появления кодировок. Кодировки для кириллического текста. Многобайтовые кодировки. Unicode. Передача данных через почтовый протокол: base64 Лабораторные 1 4 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
2.3. История появления кодировок. Кодировки для кириллического текста. Многобайтовые кодировки. Unicode. Передача данных через почтовый протокол: base64 Сам. работа 1 7 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3, Л1.2
Раздел 3. Системы контроля версий
3.1. История систем контроля версий. Основные понятия. CVS, SVN. Распределённые системы контроля версий. Git Основные сценарии работы. Лекции 1 2 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.2, Л1.1, Л2.4, Л1.3
3.2. История систем контроля версий. Основные понятия. CVS, SVN. Распределённые системы контроля версий. Git Основные сценарии работы. Лабораторные 1 12 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.2, Л1.1, Л2.4, Л1.3
3.3. История систем контроля версий. Основные понятия. CVS, SVN. Распределённые системы контроля версий. Git Основные сценарии работы. Сам. работа 1 36 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.1, Л2.2, Л1.1, Л2.4, Л1.3
Раздел 4. Автоматизация тестирования web-приложений с помощью Selenium WebDriver
4.1. Что такое Selenium WebDriver? Установка Python3 в Windows Переменная среды PATH Создание виртуального окружения для Selenium WebDriver. Установка Selenium в Windows. Установка драйвера для браузера. Пример работы Selenium WebDriver Напоминание о структуре веб-страницы Поиск элементов на веб-странице. Тестовые фреймворки Лекции 1 8 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.2, Л1.1, Л2.3, Л2.4, Л1.3
4.2. Что такое Selenium WebDriver? Установка Python3 в Windows Переменная среды PATH Создание виртуального окружения для Selenium WebDriver. Установка Selenium в Windows. Установка драйвера для браузера. Пример работы Selenium WebDriver Напоминание о структуре веб-страницы Поиск элементов на веб-странице. Тестовые фреймворки Лабораторные 1 16 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.2, Л1.1, Л2.3, Л2.4, Л1.3
4.3. Что такое Selenium WebDriver? Установка Python3 в Windows Переменная среды PATH Создание виртуального окружения для Selenium WebDriver. Установка Selenium в Windows. Установка драйвера для браузера. Пример работы Selenium WebDriver Напоминание о структуре веб-страницы Поиск элементов на веб-странице. Тестовые фреймворки Сам. работа 1 50 ОПК-2, ОПК-5, ОПК-8, ПК-1, ПК-3, ПК-5 Л2.2, Л1.1, Л2.3, Л2.4, Л1.3

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
см.приложение
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
см.приложение
5.3. Фонд оценочных средств для проведения промежуточной аттестации
см.приложение

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Маккинни У. Python и анализ данных: Москва: ДМК Пресс, 2020 https://e.lanbook.com/book/131721
Л1.2 Мельников С. В. Регулярные выражения Perl и их применение: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л1.3 Шарден Б., Массарон Л., Боскетти А. Крупномасштабное машинное обучение вместе с Python: Учебные пособия Издательство "ДМК Пресс", 2018 //ЭБС издательства «Лань» e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Хахаев И. А. Практикум по алгоритмизации и программированию на Python: курс М.: Национальный Открытый Университет «ИНТУИТ», 2016//ЭБС «Университетская библиотека online» biblioclub.ru
Л2.2 Л. Рамальо Python. К вершинам мастерства: ДМК Пресс, 2016//ЭБС издательства «Лань» e.lanbook.com
Л2.3 Ошероув Р. Искусство автономного тестирования с примерами на C#: Издательство "ДМК Пресс", 2014 e.lanbook.com
Л2.4 Митчелл Р. Скрапинг веб-сайтов с помощю Python: Самоучители и руководства Издательство "ДМК Пресс", 2016 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Программирование на Python stepik.org
Э2 Python: основы и применение stepik.org
Э3 Основы Git stepik.org
Э4 Автоматизация тестирования с помощью Selenium и Python stepik.org
Э5 Сервис построения регулярных выражений regex101.com
Э6 Курс в Moodle "Современные технологии разработки программного обеспечения" portal.edu.asu.ru
6.3. Перечень программного обеспечения
Microsoft Windows 7 Professional
Office 2010 Professional
Acrobat Reader
7-Zip
Интерпретатор языка программирования Python 3

Oracle VirtualBox
GNU/Linux (любой, общего назначения, с поддержкой репозитория)
стандартный набор утилит Linux и Windows
6.4. Перечень информационных справочных систем
Информационная справочная система:
1. СПС КонсультантПлюс (инсталлированный ресурс АлтГУ или http://www.consultant.ru/).
Профессиональные базы данных:
1. Электронная база данных «Scopus» (http://www.scopus.com);
2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
3. Научная электронная библиотека elibrary (http://elibrary.ru)

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
208С лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная; компьютеры: марка HP модель ProOne 400 G2 20-in Non-Touch AiO - 15 единиц
Помещение для самостоятельной работы помещение для самостоятельной работы обучающихся Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ
103С лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации; помещение для саостоятельной работы Учебная мебель на 16 посадочных мест; рабочее место преподавателя; доска маркерная; марка ASUSTeK Computer INC модель P8B75-M - 15 единиц; мониторы: марка Asus модель VW224 - 15 единиц
304С лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная; компьютеры: марка AsusTeK Computer INC модель P8B75-M; мониторы: марка ASUS модель VW224 - 15 единиц; плакат "Компьютер и безопасность"
108М лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 13 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная; интерактивная доска: SMART Board – 1 ед.; персональные компьютеры: NAIO Corp Z520 – 13 ед.
109М лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 13 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная 1 шт.; компьютеры: марка NAIO Corp Z520 - 13 ед.
110М лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная 1 шт.; компьютеры: марка NAIO Corp Z520 - 14 ед.

8. Методические указания для обучающихся по освоению дисциплины

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