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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

(ДГТУ)


Факультет

Информатика и вычислительная техника

Кафедра

Информационные технологии



Заведующий кафедрой        

_____________        

«___»__________________201__ г        

РАБОЧАЯ ПРОГРАММА

По дисциплине


Б3.Б.7  Основы программной инженерии 

По направлению 

230700.62 Прикладная информатика

Форма освоения ООП:

очная

Общая трудоемкость –

5

(з. е.)

Всего учебных часов –

180

час.



ФОРМЫ КОНТРОЛЯ

СЕМЕСТР

очная

Заочная

Экзамен

8

Зачет

КР

КП



Адреса электронной версии программы__________

Ростов-на-Дону

2014 г.

Лист согласования

Рабочая программа по дисциплине «Основы программной инженерии» составлена в соответствии с требованиями основной образовательной программы, сформированной на основе Федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 230700.62 Прикладная информатика

профиль Прикладная информатика в информационной сфере

Дисциплина относится к циклу Б3.Б

Рабочая программа составлена: к. т.н. ,  рассмотрена и одобрена на заседании кафедры "Информационные технологии".

«____» ____________ 201__г.                протокол № ___ от «___» ________ 201__ г

НЕ нашли? Не то? Что вы ищете?

Одобрена Научно-методическим советом направления 230700.62 Прикладная информатика



Председатель совета

ФИО председателя




«


»


2014г.



Рецензент                         __________________  ФИО рецензента

Структура  и содержание рабочей программы

1.1 Раздел 1 Общие положения ее место в учебном процессе.

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

1.2 Связь с предыдущими  дисциплинами

  Б3.Б.5 Проектирование информационных систем


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

Студенты,  завершившие изучение дисциплины «Основы программной инженерии», должны обладать следующими компетенциями:

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

ПК-19 способен анализировать рынок программно-технических средств, информационных продуктов и услуг для решения прикладных задач и создания информационных систем.


Знать

Уметь

Владеть

Уровень 1


почему программные системы сложны

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

элементами проектирования программных комплексов

Уровень 2


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

применять средства моделирования программных систем

методами тестирования и отладки программных продуктов

Уровень 3


методы выявления требований на программный продукт

составлять техническое задание на разработку программного продукта

навыками по руководству проектной группой


Раздел 3 Структура и содержание дисциплины

3.1 Тематический план дисциплины

№ п/п

Раздел (название)

Название темы, литература

Содержание

1

Понятие программной инженерии

1.1 Предпосылки и история

Повторное использование кода (модульное развитие). Рост сложности программ (структурное программирование). Модификация программ. Продолжение кризиса программирования.

1.2 Программная инженерия – что это такое?

Software – программное обеспечение или программный продукт? Что такое программная инженерия? Отличия от информатики. Из чего складывается стоимость ПО. Методы программной инженерии. CASE. Свойства хорошей программы.

1.3 Профессиональные и этические требования


Кодекс этики IEEE-CS/ACM.

1.4 Стандарты программной инженерии

Виды стандартов. Разработчики стандартов. Основные стандарты программной инженерии.

2

Жизненный цикл программного продукта

2.1 Начало стандартизации жизненного цикла ПО

Исторические основные стандарты ЖЦ ПО.

2.2 Стандарт ISO/IEC 12207 – процессы жизненного цикла ПП

Основные процессы. Вспомогательные процессы. Организационные процессы.

2.3 Процессы жизненного цикла стандарта ISO/IEC 15504.27

Типы. Категории.

2.4 Модель жизненного цикла программного продукта

Каскадная модель. Спиральная модель. Другие типы моделей.

2.5 Модели жизненного цикла MSF, RUP, XP

Модель Microsoft Solution Framework. Модель Rational Unified Process. Модель Extreme Programming.

3

Процесс программной инженерии

3.1 Реализация и изменение процесса


Инфраструктура процесса. Цикл управления программным процессом. Модели реализации и изменения процесса. Практические соображения.

3.2 Определение процесса


Модели ЖЦ ПО. Процессы ЖЦ ПО. Нотации определения процесса. Адаптация процесса. Автоматизация.

3.3 Оценка процесса


Модели оценки процесса. Методы оценки процесса.

3.4 Измерения в отношении процессов и продуктов


Измерения в  отношении процессов. Измерения в  отношении программных продуктов. Качество результатов измерений. Информационные модели. Техники количественной оценки процессов.

4

Управление программным проектом

4.1 Проект и управление проектом


Что такое проект. Характеристики проекта. Управление проектами. Категории управления проектами.

4.2 Что должен знать менеджер проектов


PMBOK: 9 областей управленческих знаний. SQI: 34 компетенции IT менеджера

4.3 Управление командой проекта

Ролевая модель команды. Модели организации команд. Общение в команде. Корпоративная политика.

4.4 Планирование и контроль

Причины планирования. Задачи планирования. Метрики проекта. Время начала планирования.

4.5 Средства управления проектом

Функции систем управления проектами.

5

Управление качеством ИТ проекта

5.1 Качество продукта и качество процесса

Понятия. Этапы перехода.

5.2 ISO9000: Система управления качеством

ISO9000. Структура документов СК. ISO9000. Как работает система управления качеством.

5.3 ISO 12207: Процессы качества жизненного цикла ПО

Процесс обеспечения качества. Процесс усовершенствования.

5.4 CMM: зрелость организаций и процессов

Причины и история создания. Модель технологической зрелости. Пять уровней зрелости. Определение модели зрелости. Группы ключевых процессов. CMM. Критерии оценки уровня зрелости. Резюме: CMM в тезисах.

5.5 ISO 15504: аттестация, определение зрелости и усовершенствование процессов

Причины и история создания. Назначение и структура стандарта. Структура эталонной модели. Процесс аттестации. Резюме: ISO15504 в тезисах.



Распределение бюджета времени по видам занятий

3.2 Лекционные занятия

№ рейтингового блока

№ темы

Объем времени, час

Норм. срок обучения

Сокращ.(ускорен.)

очная

заочная

Очная

заочная

1

1.1

1

1

1.2

1

1

1.3

1

1

1.4

1

1

2.1

1

1

2.2

1

1

2.3

1

1

2.4

1

1

2.5

1

1

3.1

1

1

3.2

2

2

3.3

1

2

3.4

1

2

4.1

1

2

4.2

1

2

4.3

1

2

4.4

1

2

4.5

1

2

5.1

1

2

5.2

1

2

5.3

1

2

5.4

1

2

5.5

1

Итого

24


3.3Практические (семинарские) и (или) лабораторные занятия

№ рейтингового блока

Тема практического (семинарского) и (или) лабораторного занятия

№ темы из раздела 6

Объем времени, час

Норм. срок обучения

Сокр. (ускорен.)

очная

заочная

очная

заочная

1

Знакомство и создание проекта

[6.1.1]

4

1

Работа с системой отслеживания ошибок

[6.2.1]

4

1

Работа с системой контроля версий

[6.1.1]

4

2

Разработка модульных тестов

[6.1.2]

4

2

Создание и конфигурация автоматической сборки

[6.1.2]

4

2

Настройка шаблона процесса

[6.1.2]

4

Итого

24



3.4 Самостоятельная работа студентов



№ п/п

Вид самостоятельной работы

Объем времени, час

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

Норм. срок обучения

Сокр.(ускорен.)

очная

заочная

очная

заочная

1

Закрепление лекционного материала

40

[6.1.1]

2

Подготовка к практическим/лабораторным занятиям

30

[6.2.1]

3

Подготовка к рубежному контролю

10

[6.3.2]

4

Подготовка к экзамену

16

[6.4.1]

Итого

96


3.5 Курсовая работа не предусмотрена

3.6 Распределение баллов за текущую работу


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

Максимальный балл

Пороговый балл

Выполнение практических и лабораторных работ

40

До 40

Выступление с докладом по теме курса

10

До 10

Экзамен

50

До 50


Раздел 4 Образовательные технологии

Реализация программы предусматривает использование образовательных технологий, направленных на формирование элементов компетенций, в обеспечении которых участвует дисциплина «Основы программной инженерии»:

- IT - методы

- игра

- обучение на основе опыта

- опережающая самостоятельная работа

- проектный метод

- поисковый метод

- исследовательский метод

В процессе обучения реализуется лекционно – семинарско - зачетная система.

Раздел 5 Оценочные средства для текущего контроля успеваемости, промежуточной аттестации и самоконтроля по итогам освоения дисциплины

  Рабочая программа дисциплины обеспечена фондом оценочных средств для проведения текущего контроля, промежуточного контроля, экзаменов. Фонд состоит из:

-  перечень вопросов для подготовки к экзамену;

-  комплект тестовых заданий

       5.1 Перечень вопросов для подготовки к экзамену


Что такое промышленный программный продукт. Дать определения пакета прикладных программ, программной системы. Жизненный цикл программного обеспечения. Дать краткую характеристику каждого этапа. Почему программные системы сложны. Привести пять признаков сложной системы. Техническое задание. Перечислить и охарактеризовать разделы, входящие в техническое задание. Унифицированный процесс разработки программного обеспечения. Жизненный цикл унифицированного процесса. Работа с кадрами. Перечислить роли разработчиков и дать характеристику каждой из них. Дать определения проекта, процесса, продукта с точки зрения унифицированного процесса разработки программного обеспечения. Что такое артефакт. В чем преимущества организованного процесса разработки программного обеспечения. Использование языка UML при проектировании сложных программных систем. Какие диаграммы используются в UML для создания моделей программной системы. Диаграмма вариантов использования, ее назначение. Рассказать о варианте использования и действующем лице. Правила построения диаграммы вариантов использования. Понятие класса и объекта. Что может быть объектом. Что такое атрибут и операция. Пять критериев проверки правильности построения класса. Что такое классификация с точки зрения объектно-ориентированного проектирования программных систем. Теории классификации. Методы классификации. Микропроцесс проектирования. Перечислить этапы и основные виды деятельности выполняемые на каждом из них. Микропроцесс проектирования – первый этап. Микропроцесс проектирования – второй этап. Микропроцесс проектирования – третий этап. Микропроцесс проектирования – четвертый этап. Диаграммы взаимодействия. Основное назначение. Диаграмма классов. Ее назначение. Что она включает. Рассказать об основных видах связей между классами. Дать определение тестированию и отладке. Особенности и объекты тестирования. Автономное и комплексное тестирование. Дать определение тестированию и отладке. Направления тестирования. Стратегия тестирования. Контрольный лист тестирования модуля. Дать определение тестированию и отладке. Локализация ошибок. Классификация ошибок. Безопасное программирование. Оценки ошибок. Документирование. Состав и содержание документов прилагаемых к программной системе. Внедрение программного комплекса. Планирование испытаний. Внедрение программного комплекса. Подготовка тестовых данных. Анализ результатов испытаний. Что такое качество с точки зрения квалиметрии. Дать определение свойству и показателю качества ПО. Основные задачи решаемые при оценке качества. Оценка качества программного обеспечения. Методы оценки свойств программного обеспечения.

5.2 Комплект тестовых заданий

1. Укажите отличия программной инженерии от программирования

- программная инженерия является более узкой областью, чем программирование

- программная инженерия и программирование ничем не отличаются

- программная инженерия представляет специальную область знания

- программная инженерия поддерживает жизненный цикл разработки ПО

2. Что такое информатика?

- модернизация бизнеса в определенной компании с использованием специальных систем

- свод теоретических наук, основанных на математике и посвященных формальным основам вычислимости

- процесс создания компьютерных программ и/или программного обеспечения

3. В каком случае речь идет о бизнес-реинжиниренге?

- разработка нового клиентского сервиса

- внутреннее переустройство компании

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

4. Какое свойство зависит от размера программных объектов?

- изменяемость

- сложность

- согласованность

- нематериальность

5. Какие виды деятельности включает в себя процесс создания ПО?

- только разработка программного кода

- разработка проектных планов

- разработка тестов

- разработка проектной документации

6. В каком случае приведен пример использования стратегии organization pull?

- переход компании со средств структурной разработки на объектно-ориентрованные

- внедрение стандартов качества ISO 9000 или CMMI

- внедрение новых средств тестирования в ситуации, когда заказчие не удовлетворен качеством программной системы

7. Отметьте верные утверждения:

- использование стратегии organization pull более рискованно

- применение стратегии technology push требует глобальной перестройки процесса

- изменения, вносимые в процесс стратегией organization pull, менее глобальны

8. Отметьте верные утверждения:

- одному виду деятельности соотвествет одна фаза

- один вид деятельности может выполняться на разных фазах

- в рамках одной фазы может выполнятся несколько различных видов деятельности

9. Какие утверждения верны для водопадной модели?

- допускается возврат только на предыдущий шаг

- не ограничена возможность возвратов на произвольный шаг назад

- в рамках водопадной модели было введено прототипирование

10. Каковы достоинства водопадной модели?

- неустойчивость к сбоям в финансировании проекта

- требование полного окончания фазы-деятельности

- ограничение возможности возвратов на произвольный шаг назад

- интеграция всех результатов в конце разработки

11. В какой модели каждый виток представляет собой фазу разработки?

- в спиральной модели

- в любой модели

- в водопадной модели

- ни в одной из указанных моделей

12. Для чего используется рабочий продукт?

- для контроля разработки

- для устранения накладных расходов

- для обмена результатами

5.3 Технические средства обучения и контроля, использование ЭВМ

1. Автоматизированная система поддержки обучения http://moodle. dstu. edu. ru

2. Электронная библиотека Центра дистанционного обучения и повышения квалификации http://de. dstu. edu. ru

  5.4 Уровни и критерии итоговой оценки результатов освоения дисциплины «Основы программной инженерии»


Уровни

Критерии выполнения заданий ОС

Итоговый семестровый балл

Итоговая оценка

Недостаточный


Имеет представление о содержании дисциплины, но не знает основные определения, не способен выполнить задание с очевидным решением, не знает основных функций обработки, хранения и передачи информации.


Менее 41


не зачет

Базовый


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

41-60

зачет

Повышенный


ПУ1

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

зачет

ПУ2(продвинутый)

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

81 -100

зачет


Раздел 6 Литература

Карта методического обеспечения дисциплины



Автор

Название


Издательство


Гриф издания

Год издания


Кол-во в биб

лио

теке

Ссылка на электронный ресурс

Доступность

1

2

3

4

5

6

7

8

9

6.1 Основная литература

6.1.1

Программирование и алгоритмизация

Ростов н/Д: ИЦ ДГТУ

2013

35

6.1.2

, [и др.].

Тестирование персональных компьютеров типа IBM PC

Ростов н/Д: ИЦ ДГТУ

2010

2

6.2 Дополнительная литература

6.2.1

Основы программирования на языке JavaScript

Ростов н/Д: ИЦ ДГТУ

2011

2

6.3 Периодические издания

6.3.1

Журнал «Информационное общество»

Автономная некоммерческая организация "Институт развития информационного общества"

2012

http://elibrary. ru/


По логину и паролю

6.3.2

Журнал "Вычислительные технологии"

Институт вычислительных технологий СО РАН

2012

http://elibrary. ru/


С любого компьютера локальной сети ДГТУ.

6.4 Практические (семинарские) и (или) лабораторные занятия

6.4.1

Разработка программного модуля

http://de. dstu. edu. ru

по логину и паролю

6.5 Программно - информационное обеспечение, Интернет - ресурсы

6.5.1

moodle. dstu. edu. ru



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

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

7.2 Программно–информационные обучающие материалы

Windows 2007, ХР

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

Рабочее место студента в составе:

1. Персональный компьютер

2. Монитор

3. Клавиатура