МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ГЕОДЕЗИИ И КАРТОГРАФИИ» (МИИГАиК)
Утвержден
Учебно-методической
комиссией МИИГАиК
от «____»__________2014__ г.
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
ПО ДИСЦИПЛИНЕ
Технология программирования
Направление подготовки
230400 Информационные системы и технологии
Профиль подготовки
1. Геоинформационные системы
2. Информационные телекоммуникационные системы
Квалификация (степень)
бакалавр
Форма обучения
очная
Москва
2014 год
1. Пояснительная записка
Цели и задачи курса
Курс «Технология программирования» (ТП) знакомит студентов с процессами, приводящими к созданию требуемого программного средства (ПС). В курсе рассматриваются наиболее распространенные подходы программирования и соответствующие им модели жизненного цикла (ЖЦ) ПС, используемые при создании и сопровождении ПС. Одной из основных задач ТП является разработка качественного ПС.
Целью изучения курса «Технология программирования» является:
· подготовка студентов к деятельности, связанной с использованием технологии программирования;
· формирование профессиональных компетенций, определяющих способность студента к использованию теоретических знаний и практических навыков при разработке, анализе и применении ПС для решения профессиональных задач.
В результате изучения курса «Технология программирования» студент должен демонстрировать следующие результаты обучения:
· иметь представление об основных подходах к организации процесса создания ПС и соответствующих им моделях ЖЦ ПС; о современных средствах разработки ПС на языках высокого уровня; методах программирования;
· знать основные стадии процесса разработки ПС, их этапы и содержание работ: по разработке внешнего описания ПС, его проектирования, по разработке структуры программы и разработке программного модуля, их тестирования, отладки, сопровождения и документирования;
· уметь формализовать поставленную задачу; выбрать необходимые инструментальные средства для разработки программ; составлять, тестировать, отлаживать и оформлять программы на языках высокого уровня, включая объектно-ориентированные; применять отечественные и зарубежные стандарты в области проектирования, разработки и оценки качества ПС.
Виды занятий и методики обучения
При реализации программы дисциплины «Технология программирования» в часы, отведенные для аудиторных занятий (54 ч), занятия проводятся:
· в виде лекций (18 ч) с использованием мультимедийных презентаций, иллюстрирующих изучаемые технологические процессы;
· в виде лабораторных работ (36 ч) в компьютерном классе (смотри учебно-методическое пособие «Программирование в среде MS EXCEL»);
· в виде самостоятельной работы (62 ч) студентов под руководством преподавателя по выполнению индивидуальных расчетно-графических работ (смотри учебно-методическое пособие «Программирование в среде MS EXCEL»);.
Формы контроля
Рубежный контроль (контроль выполнения лабораторных работ)
В течение семестра студенты, руководствуясь учебно-тематическим планом, выполняют 11 лабораторных работ. Задания к выполнению индивидуальных самостоятельных работ сформулированы для каждой лабораторной работы. Для каждой лабораторной работы имеется свой весовой коэффициент.
Итоговый контроль по курсу
Для контроля усвоения данной дисциплины учебным планом предусмотрен - экзамен. Теоретические экзаменационные вопросы к экзамену сформулированы в 6-м разделе УМК. Практические задания выбираются из лабораторных работ. Оценка за экзамен является итоговой по дисциплине и проставляется в Приложении к диплому.
2. Методические рекомендации по изучению дисциплины
• На изучение дисциплины отводится 54 часа аудиторных занятий, из них лекций - 18 часов, лабораторных занятий – 36 часов, самостоятельной работы студентов - 62 часа. На выполнение индивидуальных заданий по лабораторным работам рекомендуется отвести 44 часа СРС, на работу с лекционным материалом – 18 часов.
• «Сценарий изучения дисциплины» предполагает последовательную проработку лекционного материала и выполнение 11 лабораторных работ.
• Материалы учебно-методического комплекса содержат методические пособия: «Основные процессы жизненного цикла программных средств». М., МИИГАиК, 2011, 71 с. и «Программирование в среде MS EXCEL». М., МИИГАиК, 2006, 32 с.,- обязательные для использования. Методические пособия содержат задания и контрольные пособия. Доступ к пособиям имеется в библиотеке МИИГАиК и их электронной версии на сайте кафедры.
• Ссылки на дополнительную литературу и иные информационные источники содержатся в вышеуказанных методических пособиях;
• Все теоретические вопросы и практические задания к экзамену содержатся в вышеуказанных методических пособиях.
3. Учебно-тематический план курса
№ п/п | Раздел дисциплины | Виды аудиторной работы (занятий) (час) | СРС (час) | |||
Лекции | Семинары | Практи-ческие | Лабора-торные | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
1 | Введение. Задачи технологии программирования. Термины и определения | 2 | ||||
2 | Жизненный цикл программного средства. Модели и стадии жизненного цикла программного средства | 4 | ||||
3 | Внешнее описание программного средства. Спецификация качества. Функциональная спецификация | 2 | 6 | 11 | ||
4 | Проектирование программного средства | 2 | 6 | 11 | ||
5 | Разработка структуры программы. Модульное программирование | 4 | 12 | 20 | ||
6 | Тестирование и отладка программного средства | 2 | 12 | 20 | ||
7 | Сопровождение программного средства | 2 | ||||
18 | 36 | 62 | ||||
Аттестация (экзамен) | 36 | |||||
ИТОГО: | 153 |
4. Программа дисциплины (содержание курса)
Раздел 1. Введение. Основные понятия и определения
Программа. Программное средство (ПС). Специфика разработки ПС. Этапы развития технологии программирования. Жизненный цикл ПС.
Раздел 2. Жизненный цикл программного средства. Модели и стадии жизненного цикла программного средства
ГОСТ Р ИСО/МЭК 12207 «Процессы жизненного цикла программных средств». Основные процессы. Вспомогательные процессы. Организационные процессы. Взаимосвязь между процессами.
Стадии ЖЦ ПС. Основное назначение моделей ЖЦ ПС. Каскадная модель. Спиральная модель. Инкрементная модель. ЕСПД «Стадии разработки» ГОСТ 19.102-77.
Раздел 3. Внешнее описание программного средства
Назначение внешнего описания ПС и его роль в обеспечении качества ПС. Определение требований к ПС. Постановка задачи. Оценка осуществимости. Спецификация качества ПС. Основные примитивы качества, критерии качества ПС. ГОСТ Р ИСО/МЭК 9126 «Оценка программной продукции. Характеристики качества и руководства по их применению».
Функциональная спецификация ПС. ЕСПД «Техническое задание. Требования к содержанию и оформлению» ГОСТ 19.201-78.
Методы контроля внешнего описания.
Раздел 3. Проектирование программного средства
Этапы проектирования. Основные задачи разработки архитектуры ПС. Методы проектирования архитектуры ПС. Основные классы архитектур ПС. Архитектурные функции. Контроль архитектуры ПС.
Раздел 4. Разработка структуры программы.
Модульное программирование
Цель модульного программирования. Основные характеристики программного модуля. Методы разработки структуры программы: восходящая разработка, нисходящая разработка. Конструктивный подход к разработке программы. Архитектурный подход. Контроль структуры программы.
Свойства программного модуля. Порядок разработки программного модуля. Спецификация программного модуля. Структурное программирование. Пошаговая детализация. Контроль программного модуля.
Раздел 5. Тестирования и отладки программного обеспечения
Стратегии проектирования тестов. Принципы и виды отладки ПС. Автономная отладка ПС. Восходящее тестирование. Нисходящее тестирование. Комплексная отладка ПС. Тестирование архитектуры ПС. Тестирование внешних функций ПС. Тестирование качества ПС. Тестирование документации по применению ПС. Тестирование определения требований к ПС. Опытная эксплуатация ПС.
Раздел 7. Сопровождение ПС
Корректировка продукта для устранения обнаруженных ошибок или нереализованных задач. Адаптация ПС в изменившихся условиях. Улучшение ПС. Проверка ПС с целью поиска и исправления ошибок, обнаруженных при эксплуатации.
5. Планы практических (лабораторных) занятий
№№ | Тема | Отчетность | Балл |
1 | Функции | VBA + описание программы | 4 |
2 | Процедуры | VBA + описание программы | 4 |
3 | Ветвления | VBA | 2 |
3 | Трассировщик | Модифицировать программу | 6 |
4 | Циклы | VBA | 6 |
5 | Работа с массивами | EXCEL+VBA + описание программы | 8 |
6 | Решение системы линейных уравнений | EXCEL+VBA + описание программы | 8 |
7 | Оптимизационная задача | EXCEL+VBA + описание программы | 12 |
8 | Транспортная задача | EXCEL+VBA | 4 |
9-11 | Формы. Сценарии. Диалоговые окна | EXCEL+VBA | 6 |
6. Контрольные теоретические вопросы по курсу к экзамену
1. Технология. Результат применения технологии программирования. Цель программирования. Программа. Подготовительная работа по составлению программы. Программное средство (ПС). Назначение программной документации. Этапы развития программирования. Специфика разработки ПС.
2. Жизненный цикл ПС. Основные подходы к организации процесса создания и использования ПС. Стадии жизненного цикла ПС в рамках водопадного подхода создания и использования ПС.
3. Назначение внешнего описания ПС. Определение требований к ПС. Системный анализ. Структура внешнего описания ПС. Методы контроля внешнего описания ПС.
4. Спецификация качества ПС. Критерии качества. Примитивы качества. Функциональная спецификация ПС.
5. Задачи разработки архитектуры ПС. Классы архитектур ПС. Архитектурные функции. Контроль архитектуры ПС.
6. Цель модульного программирования. Основные характеристики программного модуля.
7. Методы разработки структуры программ. Восходящая разработка. Нисходящая разработка. Конструктивный подход. Архитектурный подход. Целенаправленная конструктивная реализация. Контроль структуры программы.
8. Порядок разработки программного модуля. Структурное программирование. Пошаговая детализация. Контроль программного модуля.
9. Основные понятия. Принципы отладки ПС. Стратегии проектирования тестов. Основные виды отладки.
10. Автономная отладка ПС. Отлаживаемый модуль. Отладочный модуль. Отлаживаемая программа. Тестируемая программа. Интеграция программы. Восходящее тестирование. Нисходящее тестирование.
11. Комплексная отладка. Тестирование архитектуры. Тестирование внешних функций. Тестирование качества ПС. Тестирование документации по применению. Тестирование определения требований к ПС.
7. Список основной и дополнительной литературы
а) основная литература:
1· Жоголев программирования. – М., Научный Мир, 2004.- 216 с.
2· Кудлаев процессы жизненного цикла программных средств. Учебно-методическое пособие по курсу «Технология программирования» М., МИИГАиК, 2011, 71 с.
3· Кудлаев в среде MS EXCEL. Учебно-методическое пособие по курсу «Технология программирования»
М., МИИГАиК, 2006, 32 с.
4· Терехов программирования: учебное пособие.
М.: Интернет-Университет Информационных Технологий; БИНОМ.
Лаборатория знаний, 2006.- 148 с.
б) дополнительная литература:
1· Орлов разработки программного обеспечения: Учебник для вузов. – СПб.: Питер, 2004.- 527 с.
2· Рекомендации по преподаванию программной инженерии и информатики в университетах: - М.: ИНТУИТ. РУ «Интернет Университет Информационных Технологий», 2007 – 462 с.
в) программное обеспечение и Интернет-ресурсы:
1· http://www. intuit. ru/department/se/introprogteach/ - Введение в технологию программирования.
2· http://www. intuit. ru/department/se/inprogeng/ - Введение в программную инженерию.
3· http://www. intuit. ru/department/se/swebok/ - Методы и средства инженерии программного обеспечения.
4· http://www. intuit. ru/department/se/testing/ - Основы тестирования программного обеспечения
8. Выписка из федерального государственного образовательного стандарта (ФГОСТа)
В результате изучения курса «Технология программирования» студент должен:
знать:
· принципы и базовые концепции технологии программирования, основные этапы и принципы создания программного продукта, различие между спецификацией и реализацией, рекурсия, повторное использование, проблема сложности, масштабирование, проектирование с учетом изменений, классификация, типизация, соглашение, обработка исключений, ошибки и отладка;
уметь:
· применять информационные технологии при проектировании информационных систем;
· использовать архитектурные и детализированные решения при проектировании систем;
владеть:
· языками процедурного и объектно-ориентированного программирования;
· навыками владения одной из технологий программирования;
9. Словарь терминов и персоналий (глоссарий)
Алгоритм – точный набор инструкций, описывающих порядок действий исполнителя, от допустимых исходных данных для достижения результата решения задачи за конечное время.
Задача – проблема, подлежащая решению в интересах пользователя. Задача в программировании означает единицу работы вычислительной системы, требующую выделения вычислительных ресурсов (процессорного времени, оперативной и внешней памяти, файлов и т. п.).
Модель жизненного цикла - структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.
Постановка задачи – точная формулировка требований, предъявляемых к работе программы, с описанием входной и выходной информации, описанием подходов к решению задачи.
Приложение – программная реализация решения задачи на компьютере. Приложение может состоять из одной или нескольких взаимосвязанных программ.
Программа – упорядоченная в соответствии с некоторым алгоритмом последовательность инструкций компьютера для решения задачи пользователя.
Программное средство – набор компьютерных программ и связанных ними документацией и данных.
Программирование – теоретическая и практическая деятельность, связанная с созданием программ.
Программный модуль - отдельно компилируемая часть программного кода (программы).
Процесс – совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные результаты.
Технология - набор правил, методик, инструментов, процессов планирования, оценки качества и др., позволяющих наладить производственный процесс выпуска какого-либо продукта, сокращая его стоимость и повышая качество.
Технология программирования (ТП) - технология разработки ПС, включающая все процессы, начиная с момента зарождения идеи этого средства. Результатом применения ТП является программа, действующая в заданной вычислительной среде, хорошо отлаженная и документированная, доступная для понимания и развития в процессе сопровождения.
Техническое задание - документ, используемый заказчиком в качестве средства для описания и определения задач, выполняемых при реализации договора.


