Учебная программа Дисциплины б10 «Программная инженерия» по напр

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

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Нижегородский государственный университет им. Н.И. Лобачевского»

Радиофизический факультет

Центр «Безопасность информационных систем и средств коммуникаций»

УТВЕРЖДАЮ

Декан радиофизического факультета

____________________Якимов А.В.

«18» мая 2011 г.

Учебная программа

Дисциплины Б3.Б10 «Программная инженерия»

по направлению 010300 «Фундаментальная информатика и информационные технологии»

Нижний Новгород

2011 г.

1. Цели и задачи дисциплины

Цель курса – познакомить студентов с основными подходами к проектированию сложных программных систем. При изучении дисциплины основное внимание уделяется объектно-ориентированному подходу при создании компьютерного программного обеспечения. Излагаются основные особенности, преимущества использования, а также базовые принципы, которым должны удовлетворять структуры программ при использовании данного подхода. Для привития навыков объектно-ориентированной декомпозиции в рамках лабораторных занятий студенты самостоятельно решают практические задания, в которых требуется выделить составные части программ и определить связи между ними.

2. Место дисциплины в структуре программы бакалавра

Дисциплина «Программная инженерия» относится к дисциплинам базовой части профессионального цикла основной образовательной программы по направлению 010300 «Фундаментальная информатика и информационные технологии», преподается в 4 семестре.

3. Требования к уровню освоения содержания дисциплины

В результате освоения дисциплины «Программная инженерия» формируются следующие компетенции:

владение основными методами, способами и средствами получения, переработки информации, иметь навыки работы с компьютером как средством управления информацией владеть основными методами, способами и средствами получения, хранения, переработки информации, иметь навыки работы с компьютером как средством управления информацией (ОК‑12);

способность работать с информацией в глобальных компьютерных сетях (ОК–13);

способность применять в профессиональной деятельности современные языки программирования, способность исследовать и разрабатывать модели, алгоритмы, методы и программные решения по тематике проводимых научно-исследовательских проектов (ПК–1);

способность профессионально решать задачи производственной и технологической деятельности, включая: разработку алгоритмических, программных решений в области системного и прикладного программирования, разработку математических, информационных и имитационных моделей (ПК–2);

способность разрабатывать и реализовывать процессы жизненного цикла информационных систем, программного обеспечения, сервисов систем информационных технологий, а также методы и механизмы оценки и анализа функционирования средств и систем информационных технологий; способность разрабатывать проектную и программную документацию, удовлетворяющую нормативным требованиям (ПК–3);

способность осуществлять на практике современные методологии управления жизненным циклом и качеством систем, программных средств и сервисов информационных технологий (ПК–9);

уверенное знание теоретических и методических основ, понимание функциональных возможностей, областей применения компонентно-базированного программирования (ПК-22);

понимание теоретических основ и общих принципов использования основ программной инженерии (ПК-26).

В результате изучения дисциплины студенты должны

знать:

существующие принципы проектирования сложных программных систем;

принципы объектно-ориентированного подхода к проектированию компьютерного программного обеспечения;

семантику и нотацию элементов языка моделирования UML;

основные критерии эффективной декомпозиции при проектировании программного обеспечения.

4. Объем дисциплины и виды учебной работы

Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа.

Виды учебной работы

Всего часов

Семестры

Общая трудоемкость дисциплины

72

4

Аудиторные занятия

34

34

Лекции

24

24

Практические занятия (ПЗ)

Семинары (С)

Лабораторные работы (ЛР)

10

10

Другие виды аудиторных занятий

Самостоятельная работа

38

38

Курсовой проект (работа)

Расчетно-графическая работа

Реферат

Домашняя работа

38

38

Вид итогового контроля

зачет

зачет

5. Содержание дисциплины

5.1. Разделы дисциплины и виды занятий

№ п/п

Раздел дисциплины

Лекции

ПЗ (или С)

ЛР

1.

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

4

2.

Объектно-ориентированный подход к проектированию сложных систем

6

3.

Универсальный язык визуального моделирования

10

10

4.

Критерии определения качества декомпозиции

4

5.2. Содержание разделов дисциплины

Раздел 1. Основные модели процессов разработки программных систем

Вопросы важности техники, автоматизации процессов человеческой деятельности и программного обеспечения. Потребность в контроле процесса разработки программного обеспечения (ПО). Характерные особенности разработки сложных программных систем. Стандарты, описывающие жизненный цикл программных систем: ISO/IEC 12207 и ГОСТ Р ИСО/МЭК 12207-99. Основные модели процессов разработки программных систем: модель водопада, итеративная разработка, Rational Unified Process (RUP), экстремальное программирование.

Раздел 2. Объектно-ориентированный подход к проектированию сложных систем

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

Раздел 3. Универсальный язык визуального моделирования

Основные принципы моделирования сложных программных систем. Общая схема взаимосвязей моделей и представлений сложных систем. История развития языка UML (Unified Modeling Language). Диаграммы UML: диаграмма вариантов использования (use case diagram), диаграмма классов (class diagram), диаграмма кооперации (collaboration diagram), диаграмма последовательности (sequence diagram), диаграмма состояний (state diagram), диаграмма деятельности (activity diagram), диаграмма компонентов (component diagram), диаграмма развертывания (deployment diagram), диаграмма пакетов (package diagram). Шаблоны проектирования.

Раздел 4. Критерии определения качества декомпозиции

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

6. Лабораторный практикум

№ п/п

№ раздела дисциплины

Наименование лабораторной работы

1.

3

Проектирование автоматизации работы пункта видеопроката

2.

3

Проектирование автоматизации работы библиотеки

3.

3

Проектирование автоматизации работы магазина

4.

3

Проектирование автоматизации работы районной поликлиники

5.

3

Проектирование функционирования антивирусного программного средства

6.

3

Проектирование автоматизации работы станции технического обслуживания автомобилей

7.

3

Проектирование функционирования файловой системы

8.

3

Проектирование функционирования графического редактора

7. Учебно-методическое обеспечение дисциплины

7.1. Рекомендуемая литература

а) основная литература:

Буч Г. Объектно-ориентированный анализ и проектирование. – М.: Вильямс, 2008.

Леоненков А.В. Самоучитель языка UML. – СПб.: БХВ-Петербург, 2004.

Розенберг Д., Скотт К. Применение объектного моделирования с использованием UML и анализ прецедентов. – М.: ДМК Пресс, 2002.

б) дополнительная литература:

Буч Г., Рамбо Дж., Якобсон И. Язык UML. Руководство пользователя. – М.: ДМК Пресс, 2006.

Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. – СПб.: Питер, 2007.

Амблер С. Гибкие технологии. Экстремальное программирование. – СПб.: Питер, 2005.

Арлоу Д., Нейштадт И. UML 2 и унифицированный процесс. Практический объектно-ориентированный анализ и проектирование. – СПб.: Символ-Плюс, 2007.

8. Вопросы для контроля

Стадии процесса разработки ПО.

Основные модели процессов разработки программных систем.

Модель водопада.

Итеративные модели разработки. RUP.

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

Структурный подход к проектированию. Алгоритмическая декомпозиция.

Объектно-ориентированный подход к проектированию. Основные принципы и преимущества.

Принципы объектно-ориентированного проектирования. Абстрагирование.

Принципы объектно-ориентированного проектирования. Инкапсуляция.

Принципы объектно-ориентированного проектирования. Модульность.

Принципы объектно-ориентированного проектирования. Иерархичность.

Принципы объектно-ориентированного проектирования. Наследование и полиморфизм.

Объекты. Состояние, поведение, идентичность. Отношения между объектами.

Классы. Отношения между классами.

Классификация. Подходы к классификации при объектно-ориентированном проектировании.

Критерии определения качества абстракций.

Понятие модели системы. Задачи модели. Основные принципы моделирования сложных систем. Схема взаимосвязей моделей сложных программных систем.

Язык UML. Особенности языка. Виды диаграмм языка.

Диаграмма вариантов использования (use case diagram).

Диаграмма классов (class diagram).

Диаграмма коопераций (collaboration diagram).

Диаграмма последовательностей (sequence diagram).

Диаграмма состояний (state diagram).

Диаграмма деятельности (activity diagram).

Диаграмма компонентов (component diagram).

Диаграмма развертывания (deployment diagram).

Диаграмма пакетов (package diagram).

Шаблоны проектирования.

9. Критерии оценок

Зачтено

Успешное выполнение заданий лабораторного практикума по курсу. Знание основных положений и умение пользоваться методами, изложенными в рамках курса

Не зачтено

В противном случае

10. Примерная тематика курсовых работ и критерии их оценки

Курсовые работы не предусмотрены.

Программа составлена в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования по направлению 010300 «Фундаментальная информатика и информационные технологии»

Автор программы ___________ Корюкалов А.В.

Программа рассмотрена на заседании Центра БИСК 25 марта 2011 г. протокол № 6–2010/2011

Руководитель ЦеБИСК ___________________________ Ротков Л.Ю.

Программа одобрена методической комиссией факультета 11 апреля 2011 года



Страницы: 1 | 2 | Весь текст