ОП.17 технология разработки программного обеспечения

advertisement
ФГБОУ ВПО «Московский государственный гуманитарный
университет им. М.А. Шолохова»
Экономико-технологический колледж
РАБОЧАЯ ПРОГРАММА
дисциплины «Технология разработки программного
обеспечения»
для специальности 230401 Информационные системы (по
отраслям).
Москва
2014
Содержание
1. ОРГАНИЗАЦИОННО МЕТОДИЧЕСКИЕ УКАЗАНИЯ
3
1.1 Цель и задачи изучения дисциплины
1.2 Краткая характеристика дисциплины и ее место в учебном процессе
2 ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ
2.1 Очная форма обучения
4
3. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
3.1 Пояснительная записка
3.2 Наименование тем, и их содержание
3.3 Тематический план изучения дисциплины
3.4 Самостоятельная работа
3.5 Примерный перечень вопросов к экзамену
5
4. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЯ ДИСЦИПЛИНЫ
4.1 Основная литература
4.2 Дополнительная литература
4.3 Тесты контроля качества усвоения материала
11
5. ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ПРОГРАММЫ
ДИСЦИПЛИНЫ И ФОРМЫ КОНТРОЛЯ
5.1 Система и формы контроля
5.2 Критерии оценки качества знаний студентов
1
13
1. ОРГАНИЗАЦИОННО МЕТОДИЧЕСКИЕ УКАЗАНИЯ
1.1 Цель и задачи изучения дисциплины
Цель: формирование теоретических и практических навыков технологии
разработки программного обеспечения.
Задачи: изучение современных объектно- ориентированных подходов и
технологий разработки ПО, углубленное изучение интегрированной среды
программирования DELPHI 7, MS Visual Studio.
Дисциплина «Технология разработки программного обеспечения»
относится к специальным дисциплинам, предназначенной для студентов,
обучающихся по направлению подготовки 230401 Информационные системы
(по отраслям).
В результате изучения дисциплины студент должен:
Знать:
- современные тенденции развития информатики и вычислительной
техники, компьютерных технологий;
- основы создания информационных систем и использование новых
информационных технологий обработки информации;
- жизненный цикл программного обеспечения;
- объектно-ориентированное программирование;
- теории и методы классификации;
- элементы теории сложности:
- основные принципы объектно-ориентированного программирования и их
приложения.
Уметь
- применять математические методы, физические законы и
вычислительную технику для решения практических задач;
- программировать на одном из алгоритмических языков, применять
алгоритмы поиска информации при разработке ПО.
Владеть: методикой разработки программ в объектно-ориентированном
стиле и основами алгоритмизации.
1.2 Краткая характеристика дисциплины и ее место в учебном процессе
Для освоения дисциплины студентам необходимы знания, умения и
компетенции, полученные ими при изучении дисциплин: «Информатика», «Базы
данных», «Операционные системы и среды», «Основы архитектуры, устройства
и функционирование вычислительных систем». Преподавание учебной
дисциплины «Технология разработки программного обеспечения» имеет
практическую направленность и проводиться c учетом межпрежметных связей с
2
другими общепрофессиональными и специальными дисциплинами: «Базы
данных»,
«Основы
алгоритмизации
и
программирования»,
«Автоматизированные информационные системы».
2 ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ
2.1 Очная форма обучения
№№
Вид занятий
Количество часов
в семестре
Всего часов
1
Лекции (Л)
Практически-лабораторный
практикум, в т.ч
Лабораторные занятия (лаб)
Практические занятия (пз)
Самостоятельная работа, в т.ч.
Подготовка к практическим
(семинарским) занятиям (пз)
Изучение тем дисциплины,
выносимых для
самостоятельного изучения (СИ)
Вид итогового контроля
итого максимально
14
14
26
12
14
20
26
12
14
20
8
8
12
экзамен
60
12
экзамен
60
2
2.1
2.2
3
3.1
3.2
3
3 СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
3.1 Пояснительная записка
Дисциплина «Технология разработки программного обеспечения»
входит в цикл специальных дисциплин и изучается студентами очной формы
обучения на 7 семестре. Изучение дисциплины завершается экзаменом.
Дисциплина
«Технология
разработки
программного
обеспечения»
рассматривает вопросы, связанные с проектированием и разработкой
программного обеспечения, а также вопросы, изучающие основные принципы
объектно-ориентированного программирования и их приложения. Дисциплина
предполагает освоение студентами применения математических методов,
физических законов и вычислительной техники для решения прикладных
задач программирования, создания программ и программных продуктов,
используя объектно-ориентированный язык программирования, построения
алгоритмов поиска информации при разработке ПО.
3.2 Наименование тем, и их содержание
Тема 1. Введение. Жизненный цикл программных систем
Цели и задачи технологий разработки ПО. Особенности современных
крупных проектов. Жизненный цикл программы. Циклический характер
разработки . Процессы и модели. Какой международный стандарт определяет
перечень и содержание процессов ЖЦ ПО. Основные группы процессов
жизненного цикла и процессы каждой из групп.
Тема 2. Сложность программных систем. Качество программных
систем
Основные понятия технологии программирования. Процессы и модели.
Фазы и витки. Инструментальные средства проектирования. Системы
автоматизации разработки программных систем. Сертификация фирм
разработчиков по модели качества СММ.
Тема 3. Разработка и анализ требований к программной системе
Конструирование модели процесса. Выявление требований к процессу (
спецификация требований). Техническое задание. Подходы к разработке
технического задания. Планирование проекта . Уточнение содержания и
состава работ. Планирование организационной структуры и планирование
управления конфигурациями.
4
Тема 4. Спецификации программной системы
Понятие декомпозиции, классификация базовых архитектур (архитектуры
потоков данных; архитектуры независимых компонентов; архитектуры виртуальных
машин; уровневые архитектуры. Способы выражения (записи) требований в ТЗ
(варианты использования; диаграмма потоков данных; диаграмма перехода
состояний). Общий шаблон ТЗ в стандарте IEEE 830-1993 (требования заказчика;
детальные требования; принципы составления и способы их организации).
Тема 5. Проектирование архитектуры и структуры программной
системы
Архитектурное и детальное проектирование. Реализация и кодирование.
Коллективный характер разработки. Состав и структура коллектива
разработчиков,
их
функции.
Конструирование
модели
команды.
Конструирование модели процесса. Выявление требований к процессу (
спецификация требований). Техническое задание. Подходы к разработке
технического задания.
Тема 6. Организация разработки программных систем.
Планирование проектирования программной системы. Системы
автоматизации разработки программных систем
Парадигмы программирования. Структурное программирование.
Логическое
программирование.
Объектно-ориентированное
программирование. Архитектура клиент/сервер. Службы. Трехслойная
архитектура. Проектирование программ. Концептуальное проектирование.
Логическое проектирование. Детальное проектирование. Кодирование.
Программирование по образцу. Образцы проектирования.
Тема 7. Технологии программирования управляющих
Технологии программирования отказоустойчивых систем
систем.
Понятие информационной среды процесса обработки данных.
Программа как формализованное описание процесса. Понятие о программном
средстве. Задача проектирования программных систем. Организация процесса
проектирования программного обеспечения. Понятие ошибки в программном
средстве. Не конструктивность понятия правильной программы . Надежность
программного средства. Технология программирования как технология
разработки надежных программных средств. Технология программирования и
информатизация общества.
5
3.3 Тематический план изучения дисциплины
Аудиторная работа,
час
№№
Общий
Самостоятельная , объем
работа, час
часов
Виды занятий
Л
Лаб.
Пр.
Всего
Часы
Виды
1
2
3
4
5
6
7
8
1
Введение. Жизненный цикл
программных систем
2
2
2
6
2
ПЗ
8
2
Сложность программных
систем. Качество
программных систем
2
2
2
6
2
ПЗ
8
3
Разработка и анализ
требований к программной
системе
2
2
2
6
2
ПЗ
8
4
Проектирование
архитектуры и структуры
программной системы
2
2
2
6
4
ПЗ / СИ
10
5
Организация разработки
2
программных систем.
Планирование
проектирования
программной системы.
Системы автоматизации
автоматизации разработки
разработки программных
систем
Технологии
4
программирования
управляющих систем.
Технологии
программирования
отказоустойчивых систем
Итого часов: 14
2
2
6
6
ПЗ / СИ
12
4
2
10
4
ПЗ / СИ
14
14
12
6
40
20
-
60
3.4 Самостоятельная работа
Виды самостоятельной работы студентов, обеспечивающие реализацию
цели и решение задач данной рабочей программы:
6
- подготовка к практическим (семинарским),
- лабораторным занятиям изучение тем, выносимых
самостоятельного изучения (CИ);
- подготовка рефератов по актуальным проблемам курса;
- подготовка и сдача экзамена.
для
3.4.1 Материалы курса, выносимые студентам на самостоятельное
изучение
№№
1
Вопросы, выносимые
насамостоятельное изучение
Форма отчетности о
результатах
СР
1
2
3
Введение. Жизненный цикл Конспект,
программных систем
контроль,
тематический зачет
2
Сложность
систем.
программных Конспект,
контроль,
тематический зачет
3
Качество
систем
программных Конспект,
контроль,
тематический зачет
4
Разработка
и
анализ
требований к программной
системе
Спецификации программной
системы
Конспект,
контроль,
тематический зачет
Конспект,
контроль,
тематический зачет
6
Проектирование
Конспект,
архитектуры и структуры контроль,
программной системы
тематический зачет
7
Организация
разработки Конспект,
программных систем
контроль,
тематический зачет
8
Проектирование
Конспект,
архитектуры и структуры контроль,
программной системы
тематический зачет
9
Системы
автоматизации
автоматизации
разработки
разработки
программных
систем
Технологии программмирования управляющих систем.
Технологии программирования отказоустойчивых систем
5
10
Конспект,
контроль,
тематический зачет
Конспект,
контроль,
тематический зачет
7
3.5 Примерный перечень вопросов к экзамену
1.
Цели и задачи технологий разработки ПО. Особенности
современных крупных проектов.
2.
Основные определения. Программные средства. Программное
обеспечение (ПО). Программный продукт. Проектирование ПО.
Программирование. Классификация типов программного обеспечения.
3.
Составные части технологии программирования. Проект,
продукт , процесс и персонал.
4.
Основные понятия технологии программирования. Процессы и
модели. Фазы и витки.
5.
Выявление и анализ требований. Требования к программному
обеспечению. Схема разработки требований. Управление требованиями.
6.
Свойства требований (способы устранения неоднозначности;
ошибки , нарушающие полноту).
7.
Способы выражения (записи) требований в ТЗ (варианты
использования; диаграмма потоков данных; диаграмма перехода состояний).
8.
Общий шаблон ТЗ в стандарте IEEE 830-1993 (требования
заказчика; детальные требования; принципы составления и способы их
организации).
9.
Архитектурное и детальное проектирование.
10. Реализация и кодирование.
11. Тестирование и верификация. Процесс контроля качества. Методы
контроля качества.
12. Цели тестирования. Верификация, валидация и системное
тестирование.
13. Характеристики качества и критерии качества ПО, (надежность;
эффективность;
практичность;
универсальность;
сопровождаемость;
корректность; обеспечение завершенности ПС).
14. Жизненный цикл программы. Циклический характер разработки.
15. Процессы и модели. Какой международный стандарт определяет
перечень и содержание процессов ЖЦ ПО?
16. Основные группы процессов жизненного цикла и процессы
каждой из групп.
17. Стадии жизненного цикла ПС, особенности разработки ПС,
основные международные стандарты, пять подходов к разработке.
18. Модели процесса разработки. Водопадный подход (каскадная
модель), выводы о применимости классической каскадной модели.
19. Модели процесса разработки. Итерационный подход (спиральная
и инкрементальная модели). Гибкие модели процесса разработки.
20. Международные
стандарты
проектирования,
разработки,
оформления документации, пользовательского интерфейса ПИ.
21. Измерения, меры и метрики. Размерно-ориентированные метрики.
8
Функционально-ориентированные метрики.
22. Выполнение оценки проекта на основе LOC- и FP-метрик.
23. Коллективный характер разработки. Состав и структура
коллектива разработчиков, их функции. Конструирование модели команды .
24. Конструирование модели процесса. Выявление требований к
процессу (спецификация требований). Техническое задание. Подходы к
разработке технического задания.
25. Планирование проекта. Уточнение содержания и состава
работ.
26. Планирование организационной структуры и планирование
управления конфигурациями.
27. Планирование управления качеством. Базовое расписание
проекта.
28. Парадигмы программирования.
29. Структурное программирование.
30. Логическое программирование.
31. Объектно-ориентированное программирование
32. Программная архитектура. Событийное управление.
33. Понятие декомпозиции, классификация базовых архитектур
(архитектуры потоков данных; архитектуры независимых компонентов;
архитектуры виртуальных машин; уровневые архитектуры.
34. Архитектура клиент/сервер. Службы.
35. Трехслойная архитектура.
36. Проектирование программ. Концептуальное проектирование.
37. Логическое проектирование. Детальное проектирование.
38. Кодирование.
Программирование
по
образцу.
Образцы
проектирования.
39. Доказательное программирование. Программирование вширь.
Форматирование кода
40. Тестирование и отладка. Критерии приемлемости. Виды
тестирования. Методы отладки.
41. Инструментальные
средства
проектирования.
Системы
автоматизации разработки программных систем.
42. Сертификация фирм разработчиков по модели качества СММ.
43. Документация, создаваемая в процессе разработки программных
средств. Документы управления разработкой ПС. Документы, входящие в
состав ПС.
44. Пользовательская документация.
9
4 УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЯ
ДИСЦИПЛИНЫ
4.1 Основная литература
1. Павловская Т. А. С\С++. Программирование на языке высокого уровня учеб.
пособие для вузов / Т. А. Павловская. – СПб. : Питер,
2005. – 464 с.: ил.
4.2
Дополнительная литература
1. Borland Pascal with Objects: Language Guide. User’s Guide. Object-Oriented
Programming Guide Borland International, Inc., 1989. – 434с.
2. Бусыгин А. Н. Деловое проектирование и управление проектами. Курс
лекций / А. Н. Бусыгин. – М. : Наука, 2003. – 349 с.
4.3 Тесты контроля качества усвоения материала
(примерные варианты)
Тест 1:
Спецификатор доступа в классе по умолчанию - это
a) private
b) public
c) protected
d ) не определено
Тест 2:
Относительно элементов класса, указанного как private
a) Они могут быть доступны только функциям-членам класса
b) Они могут быть доступны только функциям-членам класса и
дружественным функциям класса
c) Они могут быть доступны только функциям-членам класса,
дружественным функциям класса и производным классам
d) Все предыдущие ответы неверны
Тест 3:
Какое из описаний класса неправильное?
a) class A {int x;};
b) class B { }
c) public class A { }
d) object A {int x;};
Тест 4:
Поименованная область используется для
10
a) определения функции-члена вне определения класса
b) избегания столкновений имен элементов (переменных, функций и т.
д.)
c) достижения увеличения скорости кода
d) Все ответы верны
Тест 5:
Операция доступа к области видимости используется для
a) распознания функции-члена, когда она определена вне объявления
класса
b) доступа к элементам, определенного в поименованной области
c) доступа к статическим элементам класса
d) Все ответы верны
Тест 6:
Если у вас есть объект , на который указывает указатель, какой оператор
используется для доступа к элементам объекта?
a) "."
b) "->"
c) "&"
d) Все предыдущие ответы неверны
Тест 7:
Что такое класс?
a) Класс используется для инкапсуляции данных
b) Класс используется для моделирования реальных объектов
c) Класс используется для повторного использования кода
d) Все ответы верны
Тест 8:
.h файл класса хранит
a) объявление класса
b) код функции-члена класса
c) основную программу класса
d) Все предыдущие ответы неверны
Тест 9:
Ключевое слово struct используется для
a) объявления определения структуры
b) объявления определения класса
c) объявления определения структуры или класса
d) это не ключевое слово в C++
Тест 10:
Какого спецификатора доступа не существует в C++?
a) protected
b) hidden
c) private
d) public
11
5 ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ
ПРОГРАММЫ ДИСЦИПЛИНЫ И ФОРМЫ КОНТРОЛЯ
5.1 Система и формы контроля
Контроль и оценка знаний студентов очной формы обучения
оценивается по традиционной системе оценки знаний.
Программой дисциплины в целях проверки прочности усвоения
материала предусматривается проведение следующих форм контроля:
1.
Предварительный контроль необходим для установления
исходного уровня знаний студентов.
2.
Текущий контроль проводится в течение семестра и
осуществляется по результатам участия студентов на семинарских
(лабораторных) занятиях.
3.
Рубежный (тематический) контроль проводится в период после
изучения больших разделов и тем в виде контрольной работы, включающей
определения основных понятий, тесты, аргументированный ответ, задачи.
4.
Итоговой формой контроля является экзамен, который
проводится в форме устного опроса (собеседование).
5.2 Критерии оценки качества знаний студентов
Изучение дисциплины в семестре очной формы обучения завершается
экзаменом, который проводится в форме устного опроса (по билетам). Билет
состоит из одного теоретического вопроса и одной практической задачи.
Формирование оценки осуществляется в соответствии с критериями,
рекомендованными Положением «Рабочая программа учебной дисциплины.
Общие требования к содержанию, построению, изложению и оформлению»,
принятым в университете.
12
Download