Книга: Москвитин А. А. «Решение задач на компьютерах»

Решение задач на компьютерах

Вторая часть учебного пособия посвящена рассмотрению методов и средств создания программного обеспечения, т. е. технологическому этапу решения задач на компьютере. В ней рассматриваются различные технологии решения задач на компьютере. Ее изучение предполагает знакомство читателя с материалом первой части. Изложение материала согласуется с «модульной программой обучения компьютерной науке», подготовленной ЮНЕСКО.
Познакомившись с материалом, студенты приобретают практические умения и навыки, необходимые для выбора оптимальной среды разработки (язык, транслятор, отладчик, документатор и др.) и создания надежного программного средства, его тестирования и отладки, изготовления необходимой (для пользователя и разработчика) документации.
Для приобретения указанных практических умений и навыков решения осмысленных задач, предлагаются упражнения, задания и задачи для самостоятельного решения. В приложении содержатся методические указания по выполнению курсовых работ; дополнительные сведения по всем разделам, а также примеры решений разных задач, реализованных на компьютере самими студентами.
Материал учебного пособия базируется на работах автора, Жоголева Е. А., Лаврова С. С., Вирта Н., Майерса Г., Дейкстры Э., Кнута Д., Брудно А. Л., Хорошевского В. Г. и др., а также на материалах, размещенных в свободном доступе в Internet.
Данное учебное пособие соответствует курсу ТРПО, читаемому на 4 курсе факультета информатики и вычислительной техники СибГУТИ.

Содержание:

ВВЕДЕНИЕ...... 3 СОВРЕМЕННОЕ СОСТОЯНИЕ ДЕЛ В ПРОГРАММИРОВАНИИ...... 6 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ПС...... 9 Контрольные вопросы...... 17 МЕТОДОЛОГИЯ ПРОГРАММИРОВАНИЯ...... 18 ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ...... 19 Императивное программирование...... 21 Декларативное программирование...... 23 Контрольные вопросы...... 28 МЕТОДЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ...... 29 Метод восходящей разработки...... 29 Метод нисходящей разработки...... 31 Нисходящее проектирование...... 33 КЛАССИФИКАЦИЯ ПОДХОДОВ К ПРОЕКТИРОВАНИЮ ПС...... 37 Водопадный подход...... 39 Исследовательское (экстремальное) программирование...... 39 Прототипирование...... 39 Формальные преобразования...... 40 Сборочное программирование...... 42 Репозитории и управление метаданными...... 43 Графический подход...... 45 Контроль структуры программы...... 48 Контрольные вопросы...... 48 АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА...... 50 ПОНЯТИЕ АРХИТЕКТУРЫ ПРОГРАММНОГО СРЕДСТВА...... 51 Структурное проектирование...... 51 Основные классы архитектур программных средств...... 51 Архитектурные функции...... 56 Контроль архитектуры программных средств...... 56 Контрольные вопросы...... 57 ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ...... 58 КЛАССИФИКАЦИЯ ТЕХНОЛОГИЙ ПО ВУДВОРД...... 59 КЛАССИФИКАЦИЯ ТЕХНОЛОГИЙ ПО ТОМПСОНУ...... 60 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ, КАК ТЕХНОЛОГИЯ РАЗРАБОТКИ НАДЕЖНЫХ ПС...... 65 ТЕХНОЛОГИИ ИМПЕРАТИВНОГО ПРОГРАММИРОВАНИЯ...... 67 Модульное программирование...... 68 Контрольные вопросы...... 89 Упражнения...... 89 Структурное программирование...... 90 Процедурное программирование...... 97 Параллельное и событийно-управляемое программирование...... 98 Объектно-ориентированное программирование...... 100 Упражнения...... 131 Аспектно-ориентированное программирование...... 131 Обобщённое программирование...... 132 CASE-технологии программирования...... 132 Информационные технологии...... 143 Прототипное и экстремальное программирование...... 144 Цветное программирование...... 146 Технология клиент-сервер...... 149 Технология WDS...... 149 Технология реконфигурируемого ввода/вывода...... 150 GRID-технология...... 151 OLAP-технология...... 151 Технология DSL (хDSL)...... 151 R-технология и HIPO-технология...... 156 ТЕХНОЛОГИИ ДЕКЛАРАТИВНОГО ПРОГРАММИРОВАНИЯ...... 163 Функциональное программирование...... 163 Логическое программирование...... 169 Программирование в ограничениях...... 176 Концептуальное программирование...... 179 Семантическое программирование...... 182 Доказательное программирование...... 183 Методология задачного подхода...... 187 ФАКТОРЫ, ОПРЕДЕЛЯЮЩИЕ УСПЕХ ВНЕДРЕНИЯ ТЕХНОЛОГИИ...... 203 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ И ИНФОРМАТИЗАЦИЯ ОБЩЕСТВА...... 204 Упражнения...... 206 ИНЖЕНЕРИЯ ПРОГРАММИРОВАНИЯ...... 206 Содержание раздела «инженерия программирования»...... 206 ЯЗЫКИ ПРОГРАММИРОВАНИЯ...... 208 ПОНЯТИЕ ЯЗЫКА...... 208 СПОСОБЫ ЗАДАНИЯ ЯЗЫКА...... 211 Грамматики...... 212 Классификация грамматик по Хомскому...... 216 Классификация языков по Хомскому...... 217 Трансляторы...... 219 КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ...... 222 ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ...... 223 Языки императивного программирования...... 224 Первые универсальные языки...... 226 ДАЛЬНЕЙШЕЕ РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ...... 236 Языки обработки данных...... 243 Скриптовые языки...... 244 Объектно-ориентированные языки...... 248 Языки параллельного программирования...... 250 Неимперативные языки...... 252 Языки декларативного программирования...... 252 Языки логического программирования...... 258 Мультипарадигменный язык программирования...... 260 Заключение о языках...... 261 РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ...... 262 ПРОГРАММИРОВАНИЕ...... 263 Неконструктивность понятия правильной программы...... 263 Программа как формализованное описание процесса обработки данных...... 264 ФАЗА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО СРЕДСТВА...... 266 Жизненный цикл программного средства...... 266 ИНСТРУМЕНТЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ...... 279 Инструментальные среды разработки и принципы их классификации...... 281 Основные классы инструментальных сред разработки ПС...... 284 Инструментальные среды программирования...... 285 Инструментальные системы технологии программирования...... 287 РАЗРАБОТКА ИНТЕРФЕЙСА...... 289 Основы построения интерфейсов...... 293 Три основных принципа проектирования интерфейса...... 296 Эвристические правила Якоба Нильсена...... 300 Новое в интерфейсе пользователя...... 315 ОБЕСПЕЧЕНИЕ НАДЕЖНОСТИ И КАЧЕСТВА ПС...... 316 БОРЬБА СО СЛОЖНОСТЬЮ...... 316 Понятие ошибки ПС...... 317 Обеспечение качества программного средства...... 323 Надежность программного средства...... 324 Обеспечение завершенности программного средства...... 325 Обеспечение точности программного средства...... 326 Обеспечение автономности программного средства...... 326 Обеспечение устойчивости программного средства...... 327 Обеспечение легкости применения программного средства...... 328 Обеспечение эффективности программного средства...... 329 Обеспечение сопровождаемости программного средства...... 330 Обеспечение мобильности...... 332 КОДИРОВАНИЕ АЛГОРИТМА...... 335 УНИВЕРСАЛЬНЫЕ ПРОГРАММЫ...... 346 Упражнения...... 347 ЗАЩИТА ИНФОРМАЦИИ...... 349 ЗАЩИТА ОТ СБОЕВ АППАРАТУРЫ...... 349 ЗАЩИТА ОТ ВЛИЯНИЯ «ЧУЖОЙ» ПРОГРАММЫ...... 350 ЗАЩИТА ОТ ОТКАЗОВ «СВОЕЙ» ПРОГРАММЫ...... 352 ЗАЩИТА ОТ ОШИБОК ПОЛЬЗОВАТЕЛЯ...... 352 ЗАЩИТА ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА...... 352 ЗАЩИТА ОТ ЗАЩИТЫ...... 355 Упражнения...... 355 ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА...... 356 Принципы и виды отладки программного средства...... 357 Заповеди отладки программного средства...... 366 Автономная отладка программного средства...... 367 Комплексная отладка программного средства...... 371 Сухие цифры о проблемах разработки сложных систем...... 375 Почему необходимо иметь тестеров...... 376 Упражнения...... 382 ДОКУМЕНТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ...... 383 СОДЕРЖИМОЕ ДОКУМЕНТАЦИИ ПС...... 383 Пользовательская документация программных средств...... 384 ТЕХНИЧЕСКИЙ ПИСАТЕЛЬ – КТО ОН...... 388 Документация по сопровождению программных средств...... 402 Упражнения...... 404 ОПЫТНАЯ ЭКСПЛУАТАЦИЯ...... 405 СОПРОВОЖДЕНИЕ ПРОГРАММНЫХ СИСТЕМ...... 406 ВИДЫ СОПРОВОЖДЕНИЯ ПС...... 406 РЕИНЖЕНЕРИЯ ПРОГРАММНЫХ СИСТЕМ...... 407 Контрольные вопросы и задания...... 408 СПЕЦИАЛИСТЫ, УЧАСТВУЮЩИЕ В РАЗРАБОТКЕ ПС...... 409 Контрольные вопросы...... 411 ПРОДОЛЖЕНИЕ РЕШЕНИЯ ЗАДАЧИ «О КАПЛЕ ДОЖДЯ»...... 412 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ...... 413 ЛИТЕРАТУРА...... 416

Издательство: "Директ-Медиа" (2015)

ISBN: 9785447536466

Другие книги схожей тематики:

АвторКнигаОписаниеГодЦенаТип книги
Москвитин Анатолий АлексеевичРешение задач на компьютерах. Спецификация задачи. Учебное пособиеУчебное пособие по курсу "Технология разработки программного обеспечения" (ТРПО) рассчитано на студентов… — Лань, Учебники для вузов. Специальная литература Подробнее...2018
1492бумажная книга
Москвитин А.А.Решение задач на компьютерах. Спецификация задачиУчебное пособие по курсу&# 171;Технология разработки программного обеспечения&# 187; (ТРПО) рассчитано на… — Лань, - Подробнее...2018
818бумажная книга
Москвитин А.Решение задач на компьютерах Спецификация задачи Учебное пособиеУчебное пособие по курсу «Технология разработки программного обеспечения» (ТРПО) рассчитано на студентов… — (формат: Твердая глянцевая, 228 стр.) Подробнее...2018
929бумажная книга
Москвитин А.А.Решение задач на компьютерах. Спецификация задачиУчебное пособие по курсу&171;Технология разработки программного обеспечения&187; (ТРПО) рассчитано на… — Лань, Подробнее...2018
1058бумажная книга
Вабищевич П.Н.Вычислительные технологии. Профессиональный уровеньПрикладные модели базируются на краевых задачах в сложных расчетных областях для систем нелинейных… — URSS, - Подробнее...2017
607бумажная книга
Вабищевич П.Н.Вычислительные технологии. Профессиональный уровеньПрикладные модели базируются на краевых задачах в сложных расчетных областях для систем нелинейных… — URSS, Подробнее...2017
486бумажная книга
Вабищевич П. (ред.)Вычислительные технологии Профессиональный уровеньПрикладные модели базируются на краевых задачах в сложных расчетных областях для систем нелинейных… — (формат: Мягкая глянцевая, 352 стр.) Подробнее...2017
623бумажная книга
Прокопец АлександрКонкурентное программирование на SCALA. РуководствоScala -современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны… — ДМК Пресс, - Подробнее...2018
1238бумажная книга
Прокопец АлександрКонкурентное программирование на SCALA. РуководствоScala -современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны… — ДМК Пресс, Школьная программа Подробнее...2018
1022бумажная книга
Дубровский В. Н., Лебедева Н. А., Булычев В. А.Математика. 5-11 классы. Коллекция интерактивных моделей. ФГОС (CDpc)Коллекция интерактивных моделей по математике для 5-11-х классов содержит более 200 многолистных заданий и… — 1С, Школа Подробнее...2019
548бумажная книга

См. также в других словарях:

  • Аналоговый компьютер — Запрос «АВМ» перенаправляется сюда; для просмотра других значений см. АВМ (значения). Аналоговый компьютер  аналоговая вычислительная машина (АВМ), которая представляет числовые данные при помощи аналоговых физических переменных (скорость,… …   Википедия

  • Оптимизация (математика) — У этого термина существуют и другие значения, см. Оптимизация. Оптимизация  в математике, информатике и исследовании операций задача нахождения экстремума (минимума или максимума) целевой функции в некоторой области конечномерного векторного …   Википедия

  • Математическое программирование — Математическое программирование  математическая дисциплина, изучающая теорию и методы решения задач о нахождении экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями… …   Википедия

  • Методы оптимизации — Математическое программирование  математическая дисциплина, изучающая теорию и методы решения задач о нахождении экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями… …   Википедия

  • Программирование математическое — Математическое программирование  математическая дисциплина, изучающая теорию и методы решения задач о нахождении экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями… …   Википедия

  • система — 4.48 система (system): Комбинация взаимодействующих элементов, организованных для достижения одной или нескольких поставленных целей. Примечание 1 Система может рассматриваться как продукт или предоставляемые им услуги. Примечание 2 На практике… …   Словарь-справочник терминов нормативно-технической документации

Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»