Главная » 2013»Март»22 » Профессиональное программирование. Системный подход — 2-е изд. перераб. и доп.
09:16
Профессиональное программирование. Системный подход — 2-е изд. перераб. и доп.
Подробно рассматриваются методологии, технологии, языки и системы программирования, аппаратная и операционная платформы, как давно известные, так и новейшие. Представлены различные их классификации. Описывается управление программным проектом и его особенности. Обсуждаются планирование, мотивация и реализация профессиональной карьеры в программировании и другие важные социальные вопросы информатики. Предлагается большой список литературы, включающий основные работы по каждой из исследуемых областей. Во втором, существенно переработанном и дополненном издании, отражены изменения последних лет в области информационных систем и дана оценка текущему состоянию дел в анализируемых областях. Для начинающих и профессиональных программистов, менеджеров проектов.
Название: Профессиональное программирование. Системный подход — 2-е изд. перераб. и доп. Автор: Одинцов И. О. Издательство: БХВ-Петербург Год: 2004 Страниц: 610 Формат: PDF Размер: 6,25 МБ ISBN: 5-94157-457-6 Качество: Отличное
Содержание:
Предисловие Цель книги Для кого предназначена эта книга Организация книги Профессиональные рамки Основные направления профессионального программирования Рекомендации по порядку чтения глав Принятые в книге обозначения Благодарности Предисловие ко 2-му изданию Основные изменения в книге и в мире Книга как отправная точка Благодарности Глава 1. Профессиональное программирование 1.1. Профессионализм в программировании 1.1.1. Функции, черты и особенности мышления профессиональных программистов 1.2. Программирование. Что это такое? 1.3. Программирование. Чему учиться? 1.3.1. Подход на основе рекомендаций ACM/IEEE 1.3.2. Российские программы по информатике 1.3.3. Точка зрения опытных программистов 1.3.4. Подход, предлагаемый данной книгой 1.4. Программирование. Как учиться? 1.4.1. Подход на основе рекомендаций ACM/IEEE 1.4.2. Рекомендации российских специалистов 1.4.3. Авторские подходы 1.4.4. Отступление «О роли наставника в процессе обучения» 1.5. Программирование. Искусство, наука, ремесло или технология? 1.6. Кризис программирования 1.7. Основные понятия профессионального программирования 1.7.1. Отступление «о понятиях, определениях и классификациях» 1.7.2. Программам программный продукт 1.7.3. Алгоритмы 1.7.4. Модели и моделирование 1.7.5. Жизненный цикл программного обеспечения 1.7.6. Проект и команда 1.7.7. Платформы 1.8. Основная задача профессионального программирования Литература Глава 2. Методологии программирования 2.1. Введение в методологии программирования 2.1.1. Основные понятия и определения 2.1.2. История и эволюция 2.1.3. Классификации методологий 2.2. Ядра методологий 2.2.1. Методология императивного программирования 2.2.2. Методология объектно-ориентированного программирования 2.2.3. Методология функционального программирования 2.2.4. Методология логического программирования 2.2.5. Методология программирования в ограничениях 2.3. Топологическая специфика методологий 2.3.1. Методология структурного императивного программирования 2.4. Реализационная специфика методологий 2.4.1. Методология императивного параллельного программирования 2.4.2. Методология логического параллельного программирования 2.5. Заключение 2.5.1. Выводы и рекомендации 2.5.2. Проблемы и перспективы развития 2.5.3. Рекомендации по литературе 2.5.4. Вопросы и задания Литература Глава 3. Технологии программирования 3.1. Введение в технологии программирования 3.1.1. Основные понятия и определения 3.1.2. История и эволюция 3.1.3. Классификации 3.2. Классические технологические процессы 3.2.1. Возникновение и исследование идеи 3.2.2. Управление 3.2.3. Анализ требований и проектирование 3.2.4. Программирование (реализация) 3.2.5. Тестирование и отладка 3.2.6. Ввод программы в действие 3.2.7. Эксплуатация и сопровождение 3.2.8. Завершение эксплуатации 3.3. Стандартные технологические процессы 3.3.1. Основные процессы 3.3.2. Вспомогательные процессы 3.3.3. Организационные процессы 3.3.4. Взаимосвязь между процессами 3.4. Основные стадии технологических подходов 3.4.1. Фазы как крупные временные рамки 3.4.2. Стадии как отражение классических процессов 3.4.3. Вариант подробного разбиения на стадии 3.4.4. Контрольные точки 3.5. Основные технологические подходы 3.5.1. Ранние технологические подходы 3.5.2. Каскадные технологические подходы 3.5.3. Каркасные технологические подходы 3.5.4. Генетические технологические подходы 3.5.5. Подходы на основе формальных преобразований 3.5.6. Группа ранних подходов быстрой разработки 3.5.7. Адаптивные технологические подходы 3.5.8. Подходы исследовательского программирования 3.6. Технологии коллективной разработки 3.6.1. Авторская разработка 3.6.2. Коллективная разработка 3.6.3. Общинная модель разработки 3.6.4. Отступление «об оффшорном программировании» 3.7. Качество программного обеспечения 3.7.1. Подходы к качеству программного обеспечения 3.7.2. Характеристики качества программного обеспечения 3.7.3. Оценка качества процесса разработки 3.7.4. «Достаточно хорошее» программное обеспечение 3.7.5. Стандартизация информационных технологий 3.8. Заключение 3.8.1. Выводы и рекомендации 3.8.2. Проблемы и перспективы развития 3.8.3. Рекомендации по литературе 3.8.4. Вопросы и задания Литература Глава 4. Языки программирования 4.1. Введение в языки программирования 4.1.1. Основные понятия и определения 4.1.2. История и эволюция 4.1.3. Классификация языков 4.2. Языки, поддерживающие классические технологические процессы 4.2.1. Возникновение и исследование идеи 4.2.2. Управление 4.2.3. Анализ требований и проектирование 4.2.4. Программирование (реализация) 4.2.5. Тестирование и отладка 4.2.6. Ввод в действие 4.2.7. Эксплуатация и сопровождение 4.2.8. Завершение эксплуатации 4.3. Языковые абстракции 4.3.1. Отступление «об абстрагировании» 4.3.2. Абстракция данных 4.3.3. Абстракция управления 4.3.4. Абстракция модульности 4.4. Языки моделирования 4.4.1. Моделирование на основе структурной методологии 4.4.2. Моделирование на основе объектно-ориентированной методологии 4.4.3. Языки моделирования данных 4.4.4. Языки моделирования знаний 4.5. Языки программирования высокого уровня 4.5.1. Обзор языков, принадлежащих к семействам 4.5.2. Обзор языков, ориентированных на предметную область 4.6. Формальные языки 4.6.1. Иерархия грамматик 4.6.2. Техники распознавания (разбора) 4.6.3. Образное сравнение типов грамматик 4.6.4. Метатрансляция 4.6.5. Язык спецификации грамматик 4.7. Естественные языки 4.7.1. Особенности естественных языков и культурных сред 4.7.2. Семантический анализ естественных языков 4.7.3. Интернационализация и локализация профаммных продуктов 4.7.4. Отступление «о придании тексту эмоций» 4.8. Заключение 4.8.1. Выводы и рекомендации 4.8.2. Проблемы и перспективы развития 4.8.3. Рекомендации по литературе 4.8.4. Вопросы и задания Литература Глава 5. Системы программирования 5.1. Введение в системы программирования 5.1.1. Основные понятия и определения 5.1.2. История и эволюция 5.1.3. Классификация 5.2. Процесс-ориентированный инструментарий 5.2.1. Возникновение и исследование идеи 5.2.2. Управление 5.2.3. Анализ требований и проектирование 5.2.4. Программирование (реализация) 5.2.5. Тестирование и отладка 5.2.6. Ввод в действие 5.2.7. Сопровождение 5.2.8. Завершение эксплуатации 5.3. Универсальный инструментарий 5.3.1. Инструменты работы с текстом 5.3.2. Системы документирования 5.3.3. Системы разработки интерфейсов 5.3.4. Системы управления базами данных 5.3.5. Системы управления базами знаний и экспертные системы 5.3.6. Электронные библиотеки и инструментарий Интернета 5.4. Инструментарий поддержки процессов некоторых технологических подходов 5.4.1. Системы верификации программ 5.4.2. Системы формального преобразования программ 5.4.3. Средства сборочного программирования 5.5. Инструментальные системы 5.5.1. Инструментальные среды программирования 5.5.2. Средства автоматизации разработки программ (CASE-средства) 5.5.3. Интегрированные среды 5.5.4. Репозитории проекта 5.6. Средства поддержки коллективной разработки 5.6.1. Системы разделения файлов 5.6.2. Системы поддержки работы виртуальных групп 5.7. Естественно-языковый интерфейс 5.7.1. Диалоговые системы 5.7.2. Вопросно-ответные системы 5.7.3. Автоматизированные обучающие системы и системы контроля знаний 5.7.4. Системы искусственного интеллекта 5.8. Заключение 5.8.1. Выводы и рекомендации 5.8.2. Проблемы и перспективы развития 5.8.3. Рекомендации по литературе 5.8.4. Вопросы и задания Литература Глава 6. Архитектурная платформа 6.1. Основы архитектуры ЭВМ 6.1.1. Основные понятия и определения 6.1.2. История и эволюция компьютерных архитектур 6.1.3. Классификация вычислительных систем 6.2. Основные архитектуры набора команд 6.2.1. Классические архитектуры 6.2.2. Архитектуры CISC, RISC и VLIW 6.2.3. Вычисления 6.2.4. Архитектура ЭВМ и языки программирования 6.2.5. Оценка производительности вычислительных систем 6.3. Организация вычислительной системы 6.3.1. Процессор 6.3.2. Память 6.3.3. Шина 6.3.4. Устройства ввода и вывода данных 6.3.5. Функциональное описание 6.4. Особенности SPARC-архитектуры 6.4.1. История создания SPARC-архитектуры 6.4.2. Основные понятия SPARC-архитектуры 6.4.3. Основной набор команд языка Assembler 6.4.4. Примеры программ на языке Assembler 6.4.5. Организация SPARC-архитектуры 6.5. Параллельные и распределенные архитектуры 6.5.1. Основные классы параллельных архитектур 6.5.2. Коммутаторы вычислительных систем 6.5.3. Некоторые классификации параллельных архитектур 6.6. Архитектура компьютерных сетей 6.6.1. Классификация сетей и сетевые топологии 6.6.2. Стандарты в области сетей IEEE 802 6.6.3. Аппаратная поддержка локальных сетей 6.6.4. Глобальная сеть Интернет 6.7. Заключение 6.7.1. Выводы и рекомендации 6.7.2. Проблемы и перспективы развития 6.7.3. Рекомендации по литературе 6.7.4. Вопросы и задания Литература Глава 7. Операционная платформа 7.1. Введение в операционные системы 7.1.1. Основные понятия и определения 7.1.2. История и эволюция операционных систем 7.1.3. Классификация операционных систем 7.2. Процессы 7.2.1. Процессы и потоки (нити) управления 7.2.2. Коммуникация и синхронизация процессов в централизованных архитектурах 7.2.3. Коммуникация процессов в сетях 7.2.4. Синхронизация процессов в распределенных системах 7.3. Память 7.3.1. Основная память 7.3.2. Внешняя память 7.4. Драйверы устройств 7.5. Заключение 7.5.1. Выводы и рекомендации 7.5.2. Проблемы и перспективы развития 7.5.3. Рекомендации по литературе 7.5.4. Вопросы и задания Литература Глава 8. Элементы менеджмента и социальные вопросы информатики 8.1. Введение в элементы менеджмента и социальные вопросы информатики 8.2. Набор новых сотрудников 8.2.1. Привлечение кандидатов 8.2.2. Анализ краткой биографии (резюме) 8.2.3. Собеседование 8.2.4. Испытательный срок 8.3. Карьера в области информационных систем 8.3.1. Карьера и ее планирование 8.3.2. Совершенствование мастерства 8.3.3. Олимпиадное (соревновательное) программирование 8.3.4. Философия и стратегия программистских коллективов и организаций 8.3.5. Формы власти и стили руководства 8.3.6. Договорная основа трудовых отношений 8.3.7. Заработная плата 8.4. Почему некоторые программисты на порядок полезнее других? 8.4.1. Насколько корректна постановка проблемы? 8.4.2. Характеристики хорошего программиста 8.4.3. Можно ли стать полезнее? 8.5. Этические ответственности 8.5.1. Этика в работе программиста 8.5.2. «Феномен науки» В. Ф. Турчина 8.5.3. Отступление «о свободе и стоимости программного обеспечения» 8.6. Заключение 8.6.1. Выводы и рекомендации 8.6.2. Рекомендации по литературе 8.6.3. Вопросы и задания Литература Предметный указатель