МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ВЛАДИВОСТОКСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ 
ЭКОНОМИКИ И СЕРВИСА  

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И СИСТЕМ

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

Рабочая программа дисциплины

по направлению подготовки 
09.03.02 Информационные системы и технологии

Владивосток 2016

Рабочая программа дисциплины «Программная инженерия» составлена в соответствии с требованиями ФГОС ВО по направлению подготовки 09.03.02 «Информационные системы и технологии» и «Порядком организации и осуществления образовательной деятельности по образовательным программам высшего образования – программам бакалавриата, программам специалитета, программам магистратуры» (утв. приказом Минобрнауки России от 19 декабря 2013 г. № 1367)

Составители: 
Шалфеева Е.А., к. т. н., доцент кафедры информационных технологий и систем, Shalf@dvo.ru

Утверждена на заседании кафедры ИТС от 20.04.2016 г., протокол № 9

Заведующий кафедрой (разработчика) _____________________      Кийкова Е.В.
                                               					 подпись          		фамилия, инициалы
«____»_______________2016 г.

Заведующий кафедрой (выпускающей) _____________________   _________________
                                               					 подпись          		фамилия, инициалы
«____»_______________2016 г.

1 Цель и задачи освоения дисциплины
Целью освоения дисциплины «Программная инженерия» является ориентация студентов в сущности такой области деятельности, как создание программного обеспечения информационных систем. В курсе дисциплины обсуждаются модели процессов разработки, порядок их прохождения, применение в этих процессах методов и инструментальных средств разработки информационных систем, а также модели программного обеспечения и основы управления программным проектом. Программная инженерия рассматривается как совокупность производственных процессов, включающих множество разнообразных видов деятельности и задач.
Задачи освоения дисциплины состоят в формировании профессиональных компетенций, позволяющих решать задачи профессиональной деятельности на основе знаний, связанных с методами выявления требований к информационным системам, получения функциональных требований на основе требований пользователей, специфицирования требований к информационной системе, с моделированием требований и выбором адекватных методов проектирования и стратегий тестирования информационных систем.
2 Перечень планируемых результатов обучения по дисциплине, соотнесенных с планируемыми результатами освоения образовательной программы
Планируемыми результатами обучения по дисциплине, являются знания, умения, владения и/или опыт деятельности, характеризующие этапы/уровни формирования компетенций и обеспечивающие достижение планируемых результатов освоения образовательной программы в целом. Перечень компетенций, формируемых в результате изучения дисциплины, приведен в таблице 1.
Таблица 1 – Формируемые компетенции 
Название ОПОП ВО (сокращенное название)	Компетенции	Название компетенции	Составляющие компетенции	
09.03.02 «Информационные системы и технологии»
(Б-ИС)	ПК-1	способность проводить предпроектное обследование объекта проектирования, системный анализ предметной области, их взаимосвязей	Знания:	принципов системного анализа автоматизируемой деятельности, методов анализа требований к автоматизации, методов и средств проектирования программного обеспечения под управлением моделей требований	
			Умения:	применять подход системного анализа к автоматизируемой деятельности, использовать метод анализа требований с трех точек зрения	
			Владения: 	методикой построения графических моделей автоматизируемой деятельности в рамках ее системного анализа	
	ПК-2	способность проводить техническое проектирование	Знания: 	методов выявления требований, классификации требований, методов оценивания множества требований, проецирования их на компоненты \ подсистемы концептуального проекта системы автоматизации и выбором методов проектирования компонентов \ подсистем по результатам оценивания требований	
			Умения:	специфицировать требования к системе автоматизации и каждой ее программной подсистеме, связывать требования к программной подсистеме с планированием процесса ее разработки	
			Владения: 	методами моделирования требований и технологическими решениями, используемыми для планирования множества артефактов программного обеспечения, требующих разработки, по результатам оценивания спецификаций и моделей требований	
	ПК-6	способность оценивать надежность и качество функционирования объекта проектирования	Знания: 	методы тестирования программного обеспечения	
			Умения:	разрабатывать тестовые ситуации и тесты для тестирования программного обеспечения	
			Владения: 	навыками организации промышленного тестирования программного обеспечения	
	ПК-7	способность осуществлять сертификацию проекта по стандартам качества	Знания: 	видов деятельности процесса аттестации программного продукта (по стандарту ISO 12207)	
			Умения:	связывать требования к программной подсистеме с планированием процесса ее разработки и проведения испытаний	
			Владения: 	инструментами моделирования, проектирования, разработки и проведения испытаний программного продукта	
	ПК-15	способность участвовать в работах по доводке и освоению информационных технологий в ходе внедрения и эксплуатации информационных систем	Знания: 	методов выявления требований, классификации требований, методов оценивания множества требований, проецирования их на компоненты \ подсистемы концептуального проекта системы автоматизации и выбором методов проектирования компонентов \ подсистем по результатам оценивания требований	
			Умения:	специфицировать требования к системе автоматизации и каждой ее программной подсистеме, связывать требования к программной подсистеме с планированием процесса ее разработки	
			Владения: 	методами моделирования требований и технологическими решениями, используемыми для планирования множества артефактов программного обеспечения, требующих разработки, по результатам оценивания спецификаций и моделей требований	
	ПК-16	способность проводить подготовку документации по менеджменту качества информационных технологий	Знания: 	методы, модели и современные инструментальные средства исследования для оценки и обеспечения надежности и качества информационных систем, основы разработки средств обнаружения, локализации, и восстановления отказавших элементов информационных систем; существующие стандарты 	
			Умения:	готовить документацию по результатам сертификации	
			Владения: 	инструментальными средствами подготовки документации.	
	ПК-17	способность использовать технологии разработки объектов профессиональной деятельности в областях: машиностроение, приборостроение, техника, образование, медицина, административное управление, юриспруденция, бизнес, предпринимательство, коммерция, менеджмент, банковские системы, безопасность информационных систем, управление технологическими процессами, механика, техническая физика, энергетика, ядерная энергетика, силовая электроника, металлургия, строительство, транспорт, железнодорожный транспорт, связь, телекоммуникации, управление инфокоммуникациями, почтовая связь, химическая промышленность, сельское хозяйство, текстильная и легкая промышленность, пищевая промышленность, медицинские и биотехнологии, горное дело, обеспечение безопасности подземных предприятий и производств, геология, нефтегазовая отрасль, геодезия и картография, геоинформационные системы, лесной комплекс, химико-лесной комплекс, экология, сфера сервиса, системы массовой информации, дизайн, медиаиндустрия, а также предприятия различного профиля и все виды деятельности в условиях экономики информационного общества	Знания: 	знания принципов системного анализа автоматизируемой деятельности, методов анализа требований к автоматизации, методов и средств проектирования программного обеспечения 	
			Умения:	применять подход системного анализа к автоматизируемой деятельности, использовать метод анализа требований с трех точек зрения	
			Владения: 	методикой построения графических моделей автоматизируемой деятельности в рамках ее системного анализа	
	ПК-30	способностью поддерживать работоспособность информационных систем и технологий в заданных
функциональных характеристиках и соответствии критериям качества	Знания: 	структуру информационных систем, принципы их организации и взаимодействия, методы и средства поддерживать работоспособность информационных систем и технологий в заданных функциональных характеристиках и соответствии критериям	
			Умения:	разрабатывать процедуры поддержки работоспособности информационных систем, применять современные технологические методики организации функционирования информационных систем	
			Владения: 	инструментальными и программными средствами организации функционирования информационных систем	
	ПК-32	способность адаптировать приложения к изменяющимся условиям функционирования	Знания: 	структуру программного обеспечения, основные функции и характеристики приложения, методы адаптации приложения	
			Умения:	применять методы адаптации приложения, изменять настройки и исполняемый код приложения	
			Владения: 	средствами и средой программирования и адаптации	
3 Место дисциплины в структуре основной образовательной программы 
Дисциплина нацелена на формирование способности участвовать в выполнении работ по решению прикладных задач для информатизации предприятий и организаций; дисциплина относится к профессиональному циклу базовой части учебного плана.
Входными требованиями к изучению дисциплины «Программная инженерия» является наличие у студентов компетенций, сформированных в области информатики и алгоритмизации в рамках дисциплин «Объектно-ориентированное программирование», «Базы данных». 
На данной дисциплине «Программная инженерия» базируются дисциплина «Профессиональный практикум», курсовое проектирование, учебная практика по получению первичных профессиональных умений и навыков, производственные практики.

4. Объем дисциплины
Объем дисциплины в зачетных единицах с указанием количества академических часов, выделенных на контактную работу с обучающимися (по видам учебных занятий) и на самостоятельную работу по всем формам обучения, приведен в таблице 2. 
Название ОПОП	Форма обучения	Цикл	Семестр
курс	Трудоем-кость	Объем контактной работы (час)	СРС	Форма аттестации	
				(З.Е.)	Всего	Аудиторная	Внеаудитор-
ная			
						лек.	прак.	лаб.	ПА	КСР			
Б-ИС	ОФО	Бл1.Б.3	6	5	77	34	–	34	9	–	103	Э	
	ОЗФО	Бл1.Б	3	5	48	4	–	8	36	–	132	Э	
Таблица 2 – Общая трудоемкость дисциплины

5 Структура и содержание дисциплины
5.1 Структура дисциплины
Тематический план, отражающий содержание дисциплины (перечень разделов и тем), структурированное по видам учебных занятий с указанием их объемов в соответствии с учебным планом, приведен в таблице 3.
Таблица 3 – Структура дисциплины
№	Название темы 	Вид занятия	Объем час	Кол-во часов в интерактивной и
электронной
форме	СРС	
1	Программные процессы 	Лекция	8		10	
2	Анализ предметной области и требований к программному обеспечению	Лекция	10		15	
		Лабораторное занятие	16	4	18	
3	Проектирование программного обеспечения	Лекция	10		15	
		Лабораторное занятие	10	3	15	
4	Основы испытаний программного обеспечения	Лекция	6		15	
		Лабораторное занятие	8	3	15	

5.2 Содержание дисциплины
1. Тема 1 Программные процессы
Программное обеспечение. Некоторые характеристики программного обеспечения. Классификация приложений программного обеспечения. Процессы программного обеспечения, методы и средства программной инженерии.  Международный стандарт ISO/IEC 12207:2010. Модели процессов программного обеспечения. Линейная последовательная модель. Модель прототипирования. Методы четвертого поколения и другие модели последовательной разработки ПО. Эволюционные модели программных процессов. Спиральная модель. Модель с приращениями. Рациональный унифицированный процесс. Модель зрелости процессов программного обеспечения. 

Литература по теме: [1], [3], [4], [6], [8-10]. 
Формы и методы проведения занятий по теме: лекция.
Форма текущего контроля: текущий тест.
Виды самостоятельной подготовки студентов по теме: подготовка к текущему и промежуточному тестированию.

2. Тема 2 Анализ предметной области и требований к программному обеспечению
Моделирование потребности заказчика. Методы выявления требований.
Процесс анализа предметной области. Разработка модели системы в шаблоне «ввод-обработка-вывод». Принципы анализа: информационная область, моделирование, разделение на части, ракурсы видения основной информации и деталей реализации. 
Элементы модели анализа. Моделирование данных: объекты, свойства и связи данных, словарь данных, диаграммы связей между объектами. 
Функциональное моделирование и поток информации: Диаграммы потоков данных. 
Моделирование поведения. Диаграммы перехода состояний, таблицы решений, схемы диалога с пользователем.
Выполнение структурного анализа: создание диаграммы связей между объектами, модели потока данных, модели поведения. 
Объектно-ориентированный (ОО) анализ: сравнение подходов. Базовые компоненты модели ОО анализа. Процесс ОО анализа. 
Специфицирование требований к программному обеспечению. Экспертиза спецификации.
Выполнение ОО анализа. Модель связей между объектами. Модель поведения объектов.
Литература по теме: [1], [2], [4], [6-9] 
Формы и методы проведения занятий по теме: лекция, лабораторная работа.
Форма текущего контроля: текущий тест, отчет о выполнении лабораторной работы.
Виды самостоятельной подготовки студентов по теме: подготовка к текущему и промежуточному тестированию, лабораторным работам.

3 Тема 3 Проектирование программного обеспечения
Содержание темы
 Проектирование программного обеспечения и программная инженерия. Процесс проектирования: проектирование и качество программного обеспечения, принципы проектирования. 
Понятия проектирования: абстракция, уточнение, модульность, сокрытие информации. ОО понятия: классы и объекты, атрибуты, методы, сообщения, инкапсуляция, сокрытие информации, полиморфизм. 
Эффективное модульное проектирование: функциональная независимость, связность модуля, сцепление модулей. Эвристики проектирования для эффективный модульности. 
Модель проекта. Проектирование данных. 
Проектирование архитектуры. Виды архитектурных моделей. Структурный метод архитектурного проектирования, Объектно-ориентированный метод.
Архитектурное проектирование: поток преобразований, поток транзакции. Отображения транзакций: шаги проектирования. 
Проектирование интерфейсов: внешний и внутренний интерфейсы. Проектирования человеко-машинного интерфейса. Рекомендации по проектированию интерфейсов. 
Процедурное проектирование: методы представления модулей. Процесс проектирования объектов. 
Проверка ОО моделей: проверка моделей анализа и проектирования, согласованность моделей ОО анализа и проектирования. ОО метрики и оценивание. Проектная документация. 

Литература по теме: [1], [5-9] 
Формы и методы проведения занятий по теме: лабораторная работа.
Формы и методы проведения занятий по теме: лекция, лабораторная работа.
Форма текущего контроля: текущий тест, отчет о выполнении лабораторной работы.
Виды самостоятельной подготовки студентов по теме: подготовка к текущему и промежуточному тестированию, лабораторным работам.

Тема 4. Основы испытаний программного обеспечения.
Содержание темы
Цели испытаний, принципы испытаний. Стратегический подход к испытаниям программного обеспечения.
Испытания черного ящика: разбиение по эквивалентности, анализ граничных значений, испытания сравнением, методы испытаний, основанные на графах. 
Разработка тестов. Испытания белого ящика. Стратегии покрытия для программных единиц, для их совокупности или целой программной подсистемы.
Тестирование модулей: соображения об испытаниях модулей, процедуры испытания модулей. 
Испытания при объединении: объединение сверху-вниз, объединение снизу-вверх, регрессионные испытания, документация испытаний при объединении. 
Испытания для подтверждения. Экспертиза конфигурации, Испытания системы. Критерии для завершения испытаний. 
Испытание документации и средств подсказки, подтверждение и проверка правильности.
Стратегии ОО испытаний: испытания методов, испытания при объединении, испытания для подтверждения. Разработка тестов для ОО программ. 
Методы испытаний, применимые на уровне классов. Проектирование тестов для "межклассовых" испытаний.
Литература по теме: [2], [6-9] 
Формы и методы проведения занятий по теме: лекция, лабораторная работа.
Форма текущего контроля: текущий тест, отчет о выполнении лабораторной работы.
Виды самостоятельной подготовки студентов по теме: подготовка к текущему и промежуточному тестированию, лабораторным работам.

6. Методические указания для обучающихся по освоению дисциплины
В ходе изучения дисциплины «Программная инженерия» студенты могут посещать аудиторные занятия (лекции, лабораторные занятия, практические занятия, консультации). Особенность изучения дисциплины «Программная инженерия» состоит в необходимости выбора собственной предметной области и задачи ее автоматизации для освоения навыков построения артефактов (моделей и документов) программного обеспечения.
Особое место в овладении частью тем данной дисциплины может отводиться самостоятельной работе, при этом во время аудиторных занятий могут быть рассмотрены и проработаны наиболее важные и трудные вопросы по той или иной теме дисциплины, а второстепенные и более легкие вопросы, а также вопросы, специфичные для направления подготовки, могут быть изучены студентами самостоятельно.
Для очной формы обучения в соответствии с учебным планом направления подготовки процесс изучения дисциплины может предусматривать проведение лекций, лабораторных занятий, консультаций, а также самостоятельную работу студентов. Обязательным является проведение лабораторных занятий в специализированных компьютерных аудиториях, оснащенных подключенными к центральному серверу терминалами или персональными компьютерами.
Для прочих форм обучения процесс изучения дисциплины может предусматривать проведение установочных и обзорных лекций в аудиториях с мультимедийным оборудованием и лабораторных занятий по ключевым практическим темам дисциплины в специализированных компьютерных аудиториях, а также проведение консультаций. 

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

8. Фонд оценочных средств для проведения промежуточной аттестации
В соответствии с требованиями ФГОС ВО для аттестации обучающихся на соответствие их персональных достижений планируемым результатам обучения по дисциплине созданы фонды оценочных средств (Приложение 1).

9. Перечень основной и дополнительной учебной литературы, необходимой для освоения дисциплины
а) основная литература 
1. Гагарина Л.Г. Технология разработки программного обеспечения: Учеб. пос. / Л.Г.Гагарина, Е.В.Кокорева, Б.Д.Виснадул; Под ред. проф. Л.Г.Гагариной - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 400 с.: ил. - (Высшее обр.).
[Электронный ресурс] Режим доступа: http://znanium.com/go.php?id=389963
2. Черников Б.В. Оценка качества программного обеспечения: Практикум: Учебное пособие / Б.В. Черников, Б.Е. Поклонов; Под ред. Б.В. Черникова - М.: ИД ФОРУМ: НИЦ Инфра-М, 2012. - 400 с.: ил. - (Высшее образование).
[Электронный ресурс] Режим доступа: http://znanium.com/go.php?id=315269
3. Липаев В. В. Программная инженерия: методологические основы: учебник: М., Берлин: Директ-Медиа, 2015. – 608 с.
[Электр. ресурс] Режим доступа: http://biblioclub.ru/index.php?page=book_red&id=260690
б) дополнительная литература 
4. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. 
[Электронный ресурс] Режим доступа: http://www.citforum.ru/database/case/index.shtml)
5. Вигерс К. И. Разработка требований к программному обеспечению (2е издание). Издательство: Microsoft Press, Русская Редакция, 2004. 576 с. 
[Электронный ресурс] Режим доступа: http://gendocs.ru/v34772/?cc=1&view=pdf) 
6. ГОСТ Р ИСО/МЭК 12207-2010. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. Дата введения 2012-03-01. 
[Электронный ресурс] Режим доступа: http://docs.cntd.ru/document/gost-r-iso-mek-12207-2010)
7. Лаврищева Е.М., Петрухин В.А. Методы и средства инженерии программного обеспечения: Учебник. - М.: МФТИ (ГУ), 2006. - 304 с. 
[Электронный ресурс] Режим доступа: http://window.edu.ru/resource/699/41699)
8. Соловьев С.В., Цой Р.И., Гринкруг Л.С. «Технология разработки прикладного программного обеспечения» // Издательство "Академия Естествознания", 2011. 
[Электронный ресурс] Режим доступа: http://www.rae.ru/monographs/141)
9. Браудэ Э. Технология разработки программного обеспечения, Издательский дом «Питер»,  2004 год, 656 с. 
[Электронный ресурс] Режим доступа: http://adm-lib.ru/programmirovanie/braude-tehnologiya-razrabotki-programmnogo-obespecheniya.html
10. Орлов С.А. Технологии разработки программного обеспечения. СПб: Питер, 2002. 464 с. 
[Электронный ресурс] Режим доступа: http://www.proklondike.com/books/upravlenie/orlov_technology_development.html

10. Перечень ресурсов информационно-телекоммуникационной сети «Интернет»
а) полнотекстовые базы данных
Электронная библиотечная система ZNANIUM.COM http://znanium.com/index.php?logout=1
Электронная библиотечная система «Университетская библиотека онлайн»
http://biblioclub.ru/index.php?page=main_ub_red
б) интернет-ресурсы 
Официальный сайт группы компаний «ИНТАЛЕВ» – http://www. intalev.ru.

11. Перечень информационных технологий
Для проведения лекционных и лабораторных занятий рекомендуется использовать программное обеспечение: операционная система Windows 7 и выше, пакет Microsoft Office 2010 и выше, обслуживающие программы и среды разработки программ по выбору преподавателей.

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

13. Материально-техническое обеспечение дисциплины
Для проведения лекций по дисциплине используются специализированные аудитории 
с мультимедийным оборудованием или с возможностями подключения к такому оборудованию, позволяющему демонстрировать на большом экране приемы работы с персональным компьютером и другой лекционный материал (технические характеристики компьютера, входящего в состав мультимедийного оборудования или используемого совместно с таким оборудованием, должны обеспечивать возможность работы с современными версиями операционной системы Windows, пакета Microsoft Office, обслуживающих, прикладных программ и другого, в том числе и сетевого программного обеспечения).
Для проведения лабораторных занятий по дисциплине и для самостоятельной работы студентов используются специализированные аудитории, оснащенные терминалами и персональными компьютерами, подключенными к центральному серверу, обеспечивающему технические характеристики обслуживания терминалов или персональных компьютеров, позволяющие при проведении лабораторных занятий использовать современное программное обеспечение (операционную систему Windows 7 и выше, пакет Microsoft Office 2010 и выше, а также обслуживающие программы и среды разработки программ по выбору преподавателей).