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

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

2. Разработка программных средств

Автор: Анатолий Москвитин

Форматы: PDF, EPUB

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

Год: 2015

Место издания: Москва|Берлин

ISBN: 978-5-4475-3646-6

Страниц: 429

Артикул: 20248

Возрастная маркировка: 16+

Печатная книга
1784
Ожидаемая дата отгрузки печатного
экземпляра: 12.04.2024
Электронная книга
557.7

Краткая аннотация книги "Решение задач на компьютерах"

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

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


ВВЕДЕНИЕ
СОВРЕМЕННОЕ СОСТОЯНИЕ ДЕЛ В ПРОГРАММИРОВАНИИ
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ПС
Контрольные вопросы
МЕТОДОЛОГИЯ ПРОГРАММИРОВАНИЯ
ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ
Императивное программирование
Декларативное программирование
Контрольные вопросы
МЕТОДЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ
Метод восходящей разработки
Метод нисходящей разработки
Нисходящее проектирование
КЛАССИФИКАЦИЯ ПОДХОДОВ К ПРОЕКТИРОВАНИЮ ПС
Водопадный подход
Исследовательское (экстремальное) программирование
Прототипирование
Формальные преобразования
Сборочное программирование
Репозитории и управление метаданными
Графический подход
Контроль структуры программы
Контрольные вопросы
АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА
ПОНЯТИЕ АРХИТЕКТУРЫ ПРОГРАММНОГО СРЕДСТВА
Структурное проектирование
Основные классы архитектур программных средств
Архитектурные функции
Контроль архитектуры программных средств
Контрольные вопросы
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
КЛАССИФИКАЦИЯ ТЕХНОЛОГИЙ ПО ВУДВОРД
КЛАССИФИКАЦИЯ ТЕХНОЛОГИЙ ПО ТОМПСОНУ
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ, КАК ТЕХНОЛОГИЯ РАЗРАБОТКИ НАДЕЖНЫХ ПС
ТЕХНОЛОГИИ ИМПЕРАТИВНОГО ПРОГРАММИРОВАНИЯ
Модульное программирование
Контрольные вопросы
Упражнения
Структурное программирование
Процедурное программирование
Параллельное и событийно-управляемое программирование
Объектно-ориентированное программирование
Упражнения
Аспектно-ориентированное программирование
Обобщённое программирование
CASE-технологии программирования
Информационные технологии
Прототипное и экстремальное программирование
Цветное программирование
Технология клиент-сервер
Технология WDS
Технология реконфигурируемого ввода/вывода
GRID-технология
OLAP-технология
Технология DSL (хDSL)
R-технология и HIPO-технология
ТЕХНОЛОГИИ ДЕКЛАРАТИВНОГО ПРОГРАММИРОВАНИЯ
Функциональное программирование
Логическое программирование
Программирование в ограничениях
Концептуальное программирование
Семантическое программирование
Доказательное программирование
Методология задачного подхода
ФАКТОРЫ, ОПРЕДЕЛЯЮЩИЕ УСПЕХ ВНЕДРЕНИЯ ТЕХНОЛОГИИ
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ И ИНФОРМАТИЗАЦИЯ ОБЩЕСТВА
Упражнения
ИНЖЕНЕРИЯ ПРОГРАММИРОВАНИЯ
Содержание раздела «инженерия программирования»
ЯЗЫКИ ПРОГРАММИРОВАНИЯ
ПОНЯТИЕ ЯЗЫКА
СПОСОБЫ ЗАДАНИЯ ЯЗЫКА
Грамматики
Классификация грамматик по Хомскому
Классификация языков по Хомскому
Трансляторы
КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
Языки императивного программирования
Первые универсальные языки
ДАЛЬНЕЙШЕЕ РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
Языки обработки данных
Скриптовые языки
Объектно-ориентированные языки
Языки параллельного программирования
Неимперативные языки
Языки декларативного программирования
Языки логического программирования
Мультипарадигменный язык программирования
Заключение о языках
РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ
ПРОГРАММИРОВАНИЕ
Неконструктивность понятия правильной программы
Программа как формализованное описание процесса обработки данных
ФАЗА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО СРЕДСТВА
Жизненный цикл программного средства
ИНСТРУМЕНТЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ
Инструментальные среды разработки и принципы их классификации
Основные классы инструментальных сред разработки ПС
Инструментальные среды программирования
Инструментальные системы технологии программирования
РАЗРАБОТКА ИНТЕРФЕЙСА
Основы построения интерфейсов
Три основных принципа проектирования интерфейса
Эвристические правила Якоба Нильсена
Новое в интерфейсе пользователя
ОБЕСПЕЧЕНИЕ НАДЕЖНОСТИ И КАЧЕСТВА ПС
БОРЬБА СО СЛОЖНОСТЬЮ
Понятие ошибки ПС
Обеспечение качества программного средства
Надежность программного средства
Обеспечение завершенности программного средства
Обеспечение точности программного средства
Обеспечение автономности программного средства
Обеспечение устойчивости программного средства
Обеспечение легкости применения программного средства
Обеспечение эффективности программного средства
Обеспечение сопровождаемости программного средства
Обеспечение мобильности
КОДИРОВАНИЕ АЛГОРИТМА
УНИВЕРСАЛЬНЫЕ ПРОГРАММЫ
Упражнения
ЗАЩИТА ИНФОРМАЦИИ
ЗАЩИТА ОТ СБОЕВ АППАРАТУРЫ
ЗАЩИТА ОТ ВЛИЯНИЯ «ЧУЖОЙ» ПРОГРАММЫ
ЗАЩИТА ОТ ОТКАЗОВ «СВОЕЙ» ПРОГРАММЫ
ЗАЩИТА ОТ ОШИБОК ПОЛЬЗОВАТЕЛЯ
ЗАЩИТА ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА
ЗАЩИТА ОТ ЗАЩИТЫ
Упражнения
ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА
Принципы и виды отладки программного средства
Заповеди отладки программного средства
Автономная отладка программного средства
Комплексная отладка программного средства
Сухие цифры о проблемах разработки сложных систем
Почему необходимо иметь тестеров
Упражнения
ДОКУМЕНТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ
СОДЕРЖИМОЕ ДОКУМЕНТАЦИИ ПС
Пользовательская документация программных средств
ТЕХНИЧЕСКИЙ ПИСАТЕЛЬ – КТО ОН
Документация по сопровождению программных средств
Упражнения
ОПЫТНАЯ ЭКСПЛУАТАЦИЯ
СОПРОВОЖДЕНИЕ ПРОГРАММНЫХ СИСТЕМ
ВИДЫ СОПРОВОЖДЕНИЯ ПС
РЕИНЖЕНЕРИЯ ПРОГРАММНЫХ СИСТЕМ
Контрольные вопросы и задания
СПЕЦИАЛИСТЫ, УЧАСТВУЮЩИЕ В РАЗРАБОТКЕ ПС
Контрольные вопросы
ПРОДОЛЖЕНИЕ РЕШЕНИЯ ЗАДАЧИ «О КАПЛЕ ДОЖДЯ»
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
ЛИТЕРАТУРА

Все отзывы о книге Решение задач на компьютерах

Чтобы оставить отзыв, зарегистрируйтесь или войдите

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

объектов. Абстракцией может быть что угодно, любое понятие естественного или неестественного мира. Другим ключевым моментом должно стать так называемое обобщение (глобализация). Если все эти понятия разместить в глобальной сети, то это позволит создать так называемый коллективный разум. Станет возможным описывать абстракции обычным человеческим языком. Грань между программированием и человеческим мышлением может постепенно исчезнуть. И хотя в настоящее время нет средств, прежде всего, интеллектуальных, для создания модели программирования, описанной выше. Тем не ме-нее, каждое нововведение приближает нас к этому. Развитие происходит естественным эволюционным путем. Таким же естествен-ным должно быть и развитие программирования. Из существующих в настоящее время направлений в методологиях программировании выделим два основных: 1) императивное программи-рование, 2) декларативное программирование (рис. 2.5). Рис. 2.5. Соотношение между парадигмами программирования Заметим, что между двумя этими направлениями существует целый ряд парадигм программирования, каждая из которых расположена в определенном месте между указанными двумя крайностями. К ним относятся: структурное программирование; объектно-ориентированное программирование; функциональное программирование; логическое программирование; программирование в ограничениях; семантическое программирование и другие. Императивное программирование Императивный (от лат. imperativus) – повелительный, не допускающий выбора. Современные персональные компьютеры, работающие автономно, практически все ориентированы на последовательные вычисления. Следовательно, парадигмой, имеющей наиболее «естественную» реализацию семантики на нынешних компьютерах, является императивное программирование. 21