Новые книги

Слово криптография означает тайнопись.

Российская криптография имеет многовековую историю, начинающуюся с указов Петра I о «черных кабинетах». До середины 80-х годов XX века криптография в России использовалась только для военных, дипломатических и правительственных линий связи и была строго засекречена. Даже употребление слов «криптография», «шифры», «ключи к шифрам» в открытых публикациях было недопустимо. Но в мире быстро назревала потребность в гражданской криптографии, стремительно развивались информационные технологии, стали появляться компьютерные сети, Интернет, денежные электронные расчеты. Для этого требовались надежные и общедоступные криптографические методы защиты информации.

Была ли Россия готова к появлению гражданской криптографии? И да, и нет.

Да, потому что еще с советских времен в России существовала прекрасная криптографическая школа и высококлассные специалисты-криптографы, которые долгое время на равных конкурировали с американским Агентством Национальной Безопасности и обеспечивали гарантированную защиту военных, дипломатических и правительственных линий связи.

Нет, потому что синдром тотальной секретности всего, что касалось криптографии, восходил к сталинским временам и мало изменился за прошедшие десятилетия. А в подобных условиях очень хорошо себя чувствуют многочисленные чиновники от криптографии.

В 1992 году случился кризис: поток фальшивых авизо захлестнул Центральный Банк России и грозил обрушить всю финансовую систему. Потребовалась срочная помощь криптографов: в кратчайшие сроки создать, наладить и запустить в эксплуатацию систему криптографической защиты телеграфных и почтовых авизо в такой огромной структуре, как ЦБ РФ.

Эта задача была выполнена за три месяца – неимоверно короткий срок.

В России появился первый реальный пример гражданской криптографии.

О том, что представляла из себя советская криптографическая школа, о ее специалистах и начальниках, о царившей тогда в стране атмосфере, о том, как была создана система защиты для Центрального Банка России, и, наконец, о том, почему же в России так трудно пробивает себе дорогу гражданская криптография – в этой книге.
Третье издание, расширенное и обновлённое для Blender 2.57

Оглавление

Объектно-ориентированные технологии проектирования прикладных программных систем

С.С. Гайсарян, Центр Информационных Технологий

1. Основные понятия объектно-ориентированного подхода

1.1. Объектно-ориентированная разработка программ
1.2. Объектно-ориентированные языки программирования
1.3. Сквозной пример

2. Первая фаза жизненного цикла - анализ требований и предварительное проектирование системы. Объектно-ориентированное моделирование

2.1. Объектная модель системы

2.1.1. Объекты и классы
2.1.2. Атрибуты объектов
2.1.3. Операции и методы
2.1.4. Зависимости между классами (объектами)
2.1.5. Атрибуты зависимостей
2.1.6. Имена ролей, квалификаторы
2.1.7. Агрегация
2.1.8. Обобщение и наследование
2.1.9. Абстрактные классы
2.1.10. Множественное наследование
2.1.11. Связь объектов с базой данных
2.2. Построение объектной модели 2.2.1. Определение классов
2.2.2. Подготовка словаря данных
2.2.3. Определение зависимостей
2.2.4. Уточнение атрибутов
2.2.5. Организация системы классов, используя наследование
2.2.6. Дальнейшее исследование и усовершенствование модели
2.3. Пример объектной модели 2.3.1. Определение объектов и классов
2.3.2. Подготовка словаря данных
2.3.3. Определение зависимостей
2.3.4. Уточнение атрибутов
2.3.5. Организация системы классов с использованием наследования
2.3.6. Дальнейшее усовершенствование модели
2.4. Выделение подсистем 2.4.1. Понятие подсистемы
2.4.2. Интерфейсы и окружения
2.5. Динамическая модель системы или подсистемы 2.5.1. События, состояния объектов и диаграммы состояний
2.5.2. Условия
2.5.3. Активности и действия
2.5.4. Одновременные события. Синхронизация
2.5.5. Вложенные диаграммы состояний
2.5.6. Динамическая модель банковской сети
2.6. Функциональная модель подсистемы 2.6.1. Диаграммы потоков данных
2.6.2. Описание операций
2.6.3. Ограничения
2.6.4. Функциональная модель банковской сети
2.7. Заключительные замечания к разделу

3. Вторая фаза жизненного цикла - конструирование системы

3.1. Разработка архитектуры системы

3.1.1. Разбиение системы на модули
3.1.2. Выявление асинхронного параллелизма
3.1.3. Распределение модулей и подсистем по процессорам и задачам
3.1.4. Управление хранилищами данных
3.1.5. Управление глобальными ресурсами
3.1.6. Реализация управления программным обеспечением
3.1.7. Пограничные ситуации
3.1.8. Обзор архитектур прикладных систем
3.2. Архитектура системы управления банковской сетью

3.3. Разработка объектов

3.3.1. Совместное рассмотрение трех моделей
3.3.2. Разработка алгоритмов, реализующих полученные операции
3.3.3. Оптимизация разработки
3.3.4. Реализация управления
3.3.5. Уточнение наследования классов
3.3.6. Разработка зависимостей

4. Сравнительный анализ объектно-ориентированных методологий разработки программных систем

4. 1. Методология OMT
4.2. Методология SA/SD
4.3. Методология JSD
4.4. Методология OSA

5. Третья фаза жизненного цикла - реализация объектно-ориентированного проекта

5.1. Объектно-ориентированный стиль программирования

5.2. Объектно-ориентированные системы программирования

5.3. Реализация на языке C++

5.3.1. Реализация классов
5.3.2. Порождение объектов
5.3.3. Вызов операций
5.3.4. Использование наследования
5.3.5. Реализация зависимостей
5.3.6. Шаблоны в языке C++
5.4. Другие объектно-ориентированные системы программирования 5.4.1. Реализация классов
5.4.2. Порождение объектов
5.4.3. Вызов операций
5.4.4. Реализация наследования
5.4.5. Реализация зависимостей
5.5. Не объектно-ориентированные системы программирования 5.5.1. Преобразование классов в структуры данных
5.5.2. Передача параметров методам
5.5.3. Размещение объектов в памяти
5.5.4. Реализация наследования
5.5.5. Выбор методов для операций
5.5.6. Реализация зависимостей
5.5.7. Объектно-ориентированное программирование на Фортране
5.5.8. Чем неудобны не объектно-ориентированные системы программирования