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

Объектно-ориентированные технологии проектирования прикладных программных систем
Основные понятия объектно-ориентированного подхода
Семантика (смысл программы с точки...
Жизненный цикл программной системы
Объектно-ориентированная разработка программ

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

Пример объектной модели
Понятие подсистемы
Объектная диаграмма банковской сети, в которой указан интерфейс с системным окружением
Объектная диаграмма банковской сети и ее системного окружения

Динамическая модель системы или подсистемы
Функциональная модель подсистемы
Заключительные замечания к разделу
Объекты и классы
Пример класса и объекта этого класса


Множественное наследование
Множественное наследование

Множественное наследование от непересекающихся классов
Реализация множественного наследования с помощью вложенного простого наследования
Реализация множественного наследования путем делегирования с использованием агрегации ролей
Реализация множественного наследования с использованием простого наследования и делегирования
Связь объектов с базой данных
Объектная модель, определяющая абстрактный и конкретный классы

Тиражирование метакласса
Возможные ключи бинарных зависимостей
Возможные ключи тренарных зависимостей
Ограничения на объекты
Ограничения на связи
Общее ограничение между зависимостями
Производный атрибут

Производный объект и производная зависимость
Пример гомоморфизма
Общий случай гомоморфизма
Атрибуты объектов
Операции и методы
Другие примеры классов

Полное представление объекта в OMT
Возможные классы для системы AMT (банковское обслуживание)
Зависимости между классами (объектами)
Зависимости между классами
Дальнейшие примеры зависимостей. Обозначения
Зависимости между объектами

Более сложные зависимости между объектами
Атрибуты зависимостей
Пример атрибута зависимости
Атрибуты двух зависимостей между одним и многими
Представление зависимости в виде класса
Имена ролей, квалификаторы
Имена ролей
Использование квалификаторов

Агрегация
Агрегация
Примеры агрегации
Вторая фаза жизненного цикла - конструирование системы
Разработка архитектуры системы
Архитектура системы управления банковской сетью
Архитектура системы управления банковской сетью
Разработка объектов
Разбиение системы на модули

Пример системы с уровневой архитектурой
Типичная структура системы
Топология звезды
Выявление асинхронного параллелизма
Распределение модулей и подсистем по процессорам и задачам
Управление хранилищами данных
Управление глобальными ресурсами

Реализация управления программным обеспечением
Пограничные ситуации
Обзор архитектур прикладных систем
Система непрерывной обработки: машинная графика
Система с интерактивным интерфейсом: ATM
Совместное рассмотрение трех моделей
Сравнительный анализ объектно-ориентированных методологий разработки программных систем
Методология OMT

Методология SA/SD
Методология JSD
Методология OSA
Модель зависимостей между объектами для системы управления топкой в теплоцентрали
Поведение объекта "термостат"
Различные представления модели топки
Формальная модель топки, разработанная с помощью методологии OSA

Третья фаза жизненного цикла - реализация объектно-ориентированного проекта
Объектно-ориентированный стиль программирования
Объектно-ориентированные системы программирования
Часть объектной модели графического редактора
Реализация на языке C++
Другие объектно-ориентированные системы программирования

Не объектно-ориентированные системы программирования
Реализация классов
Порождение объектов
Вызов операций
Использование наследования
Реализация зависимостей

Шаблоны в языке C++
Реализация классов
Порождение объектов
Вызов операций
Обобщение и наследование

Обобщение (выделение суперклассов)
Другие примеры обобщения (наследования)
Абстрактные классы
Абстрактный класс
Определение классов
Подготовка словаря данных

Определение зависимостей
Неизбыточные зависимости
Уточнение атрибутов
Организация системы классов, используя наследование
Дальнейшее исследование и усовершенствование модели
Определение объектов и классов

Подготовка словаря данных
Определение зависимостей
Первая версия объектной диаграммы для банковской сети
Уточнение атрибутов
Организация системы классов с использованием наследования

Объектная диаграмма для банковской сети после уточнения атрибутов и добавления квалификаторов
Объектная диаграмма для банковской с учетом наследования
Дальнейшее усовершенствование модели
Окончательный вид объектной диаграммы для банковской сети
Интерфейсы и окружения

Объектная диаграмма банковской сети после выделения подсистемы банк
События, состояния объектов и диаграммы состояний
Пример сценария: разговор по телефону
Трасса событий для разговора по телефону
Диаграмма состояний телефонной линии
Условия
Диаграмма состояний, на которой указаны условия

Активности и действия
Указание активностей и действий на диаграмме состояний
Диаграмма состояний телефонной линии, на которой указаны активности и действия
Одновременные события. Синхронизация
Диаграмма состояний составного объекта (подсистемы)

Передача события из одного объекта другому
Синхронизация в подсистеме
Вложенные диаграммы состояний
Динамическая модель банковской сети

Нормальный сценарий для банковской сети
Сценарий для банковской сети, содержащий исключительные ситуации
Трасса событий в банковской сети
Привязка событий к объектам банковской сети
Диаграмма состояний объектов класса ATM (банкомат)

Диаграмма состояний объектов класса консорциум
Диаграмма состояний объектов класса банк
Диаграммы потоков данных
Примеры процессов

Потоки данных
Активные объекты (экторы)
Хранилища данных
Поток управления
Описание операций
Спецификация операции изменить_счет...

Ограничения
Функциональная модель банковской сети
Входные и выходные значения банковской сети
Процессы верхнего уровня в системе обслуживания банковской сети
ДПД процесса выполнить проводку в системе обслуживания банковской сети
Разработка алгоритмов, реализующих полученные операции
Сравнение рекурсивного и нерекурсивного алгоритмов вычисления n!

Оптимизация разработки
Ускорение поиска с помощью производной зависимости
Использование производных атрибутов для исключения повторных вычислений
Использование производной зависимости
Реализация управления
Псевдокод, соответствующий динамической модели ATM

Уточнение наследования классов
Реализация стека с использованием наследования(а) и делегирования(б)
Разработка зависимостей
Реализация односторонней зависимости
Реализация двусторонней зависимости

Реализация зависимости с помощью таблицы
Реализация наследования
Реализация зависимостей
Преобразование классов в структуры данных
Передача параметров методам

Размещение объектов в памяти
Реализация наследования
Выбор методов для операций
Реализация зависимостей

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

Теория систем автоматического управления

Мир технических систем разнообразен. Однако математика и физика выявили простые параллели в этом сложном мире. Можно выделить ряд энергетических доменов, которым принадлежат те или другие системы или их модули. Это электрический, магнитный, термальный, гидравлический, акустический, механический и ротационный домены. Так же существуют два фундаментальных постулата. Первый постулат гласит, что материя не может появиться ни откуда и не может исчезнуть в никуда. Второй постулат утверждает то же самое в отношении энергетического потенциала. Эти постулаты имеют частные формулировки для каждого энергетического домена. Например, для электрического домена это первый и второй законы Кирхгофа. Каждый из энергетических доменов характеризуется двумя физическими величинами первого и второго рода. В случае электрического домена - это электрические ток и напряжение соответственно. Эти парные физические величины, в каждом энергетическом домене, связаны между собой законом Ома в соответствующей формулировке (существуют: электрическое, магнитное, термальное, гидравлическое, акустическое, механическое и ротационное сопротивления). Так же следует отметить, что произведение физических величин первого и второго рода всегда есть мощность.
Представленная система параллелей позволяет понять, что математическое описание процессов движения координат систем принадлежащих разным энергетическим доменам подобно, и может быть предметом изучения одной науки, которая называется "Теория систем автоматического регулирования". Более того, в последние годы, приобретен успешный опыт применения методов этой теории при решении задач управления в экономических, финансовых и других нетехнических системах.

Система управления
Методические указания к моделированию и рекомендации к содержанию отчета

Методы оптимизации выполнения запросов в реляционных СУБД

Можно рассматривать оптимизацию и в более широком смысле. Оптимизатор запросов выбирает наиболее оптимальный способ выполнения запроса на основе известных в оптимизаторе стратегий выполнения элементарных составляющих запроса и способов композиции более сложных стратегий на основе элементарных. Тем самым, пространство поиска оптимального плана выполнения запроса ограничено заранее фиксированными элементарными стратегиями. Поэтому существенным направлением исследований, непосредственно примыкающим к вопросам оптимизации, является поиск новых, более эффективных элементарных стратегий [28-49]. В контексте реляционных СУБД это более всего относится к разработке эффективных алгоритмов выполнения реляционной операции соединения наиболее накладной реляционной операции. При этом исследуются и возможности выбора более адекватных для эффективного выполнения этой операции управляющих структур базы данных, и возможности повышения эффективности за счет распараллеливания выполнения операции на специализированной аппаратуре (здесь направления исследований примыкают к тематике машин баз данных).

Оптимизация запросов
Развитие идей и приложений реляционной СУБД System R
Транзакционные параллельные СУБД новая волна
OLTP в Зазеркалье

Альтернативные архитектуры СУБД
Тенденции в области OLTP
Архитектура Shore
Исследование производительности

Следствия для будущих серверов баз данных OLTP
Литература
Конец архитектурной эпохи

Базы данных - ЛИНТЕР - статьи

С развитием информационных технологий возрастают требования, предъявляемые к прикладным системам, а, следовательно, и к инструментам разработки. Основой любой современной прикладной программы является система управления базами данных (СУБД). Именно от СУБД во многом зависят наиболее важные параметры системы, такие как скорость, надежность, отказоустойчивость и многие другие.
В принципе основные функции СУБД (хранение данных и доступ к ним) могло бы взять на себя приложение. Однако это, как правило, не выгодно, так как усложняет процесс разработки, отладки, сопровождения и пр. В общем, как ни крути, а без системы управления базами данных современному приложению просто не обойтись.
С другой стороны возникает еще одна проблема, связанная с тем, что конечному пользователю приложения абсолютно неинтересно как и с помощью чего построена система. Следовательно, перед программистом, разрабатывающим приложение, стоит задача «сокрытия» от конечного пользователя присутствия в прикладной системе достаточно больших и сложных подсистем (порой даже более сложных, чем использующие их приложения). Эту проблему можно условно разделить на несколько подзадач.

Зачем нужна встроенная СУБД
Быстрый старт ЛИНТЕР (Windows)
Новое в СУБД ЛИНТЕР 6.1
СУБД ЛИНТЕР. Технический обзор

Информация - сбор, защита, анализ

Теоретический уровень исследования связан с глубоким анализом фактов, проникновением в сущность исследуемых явлений, с познанием и формулированием в качественной и количественной форме законов, т. е. с объяснением явлений.
Далее на этом этапе осуществляется прогно­зирование возможных событий или изменений в изучаемых явлениях и вырабатываются принципы действия, рекомендации о практическом воз­действии на эти явления.

Методический замысел исследования и его основные этапы
Виды угроз информационным объектам

Omert - Руководство по компьютерной безопасности и защите информации

Ну да, ну да, я в курсе, что ты — Большой Босс. Что ты не делаешь сам те вещи, которые другие могут сделать за тебя, получив за это деньги. Поэтому ты не моешь свою машину, не ходишь сам по магазинам (за исключением бутиков и ювелирных салонов), не моешь пол и не протираешь пыль на рабочем столе. Однако даже ты знаешь, что есть вещи, которые за тебя не сделает никто.
Ты же не будешь платить деньги другим людям за то, чтобы они занимались любовью с твоей женой, правильно? Да, я знаю, что это дело интимное, а такое не доверишь посторонним. Но почему ты думаешь, что защита твоей собственной информации — любой, деловой или личной — это менее интимное дело?
Увы, друг мой, защита твоей информации — или хотя бы чёткое понимание того, что это такое и как подобная защита должна строиться — это ТВОЁ ЛИЧНОЕ ДЕЛО! Не Cosa Nоstra (хотя твои проблемы могут стать и Нашим Делом тоже), а Cosa Tua — Твоё Дело!

ЧТо такое защита информации и её классификация
Электронный банкинг

Компьютерные преступления

Большинство преступлений и мошенничеств давно известны. Однако развитие научно-технического прогресса порождает все новые и новые технические возможности совершать их с большей легкостью. Например, при наличии некоторых навыков вскрыть почтовый ящик e-mail куда проще и безопаснее, чем обычный почтовый конверт.
Теперь и мы можем с полным правом считать себя приобщившимися к достижениям цивилизации. Если раньше у нас функционировали "черные" рынки джинсов, бытовой техники, валюты, автодеталей, то теперь сложились и процветают "черные" рынки оружия, специфических информационных услуг и шпионской электронной техники.
Выгодно ли торговать на таких рынках? Конечно, все зависит от характера предлагаемых услуг или ценности информации для ее потребителя или заказчика. Но вот характерный пример: "гонорар" киллера высокого класса, готового покончить с самой высокопоставленной и знаменитой жертвой, составляет, по оценкам специалистов, до трехсот тысяч долларов, а услуги квалифицированных электронных бандитов и добытая ими информация в ряде случаев оцениваются в пятьсот, а то и в восемьсот тысяч долларов. И такие "гонорары" далеко не предел.

Белый пластик
Компьютерный взломщик по кличке Маленький ловкач
Поймай шпиона

Защита полиграфической продукции

С развитием полиграфических технологий подделки становились все более сложными и высокотехнологичными, параллельно с развитием средств защиты совершенствовались методы фальсификации. На всем историческом пути развития цивилизации и до наших дней происходит постоянный процесс соперничества между фальсификаторами и специалистами защитных технологий. XVIII век демонстрирует первые прецеденты, когда фальсификация становится на службу интересам государства. Специалисты в области защитных технологий используют свои знания для подделки в государственных интересах. Одновременно противная сторона, пострадавшая от фальсификаций, зачастую привлекает для борьбы с подделками бывших фальсификаторов. (Она практикуется и по сей день. Известнейший специалист США в области защит от подделки финансовых документов Frank Abagnale в молодости изготовил и реализовал фальшивых чеков на сумму более 10 миллионов долларов.) Фальсификация в государственных интересах достигает промышленных масштабов в эпоху наполеоновских войн. На службу фальсификации становится весь могучий научно-технический потенциал государства. Государственные интересы могут меняться, но технический потенциал фальсификации не прекращает расти. Знания фальсификаторов находят спрос по обе стороны закона.

Эффективность и целесообразность подделки
Перечень защит, исходя из принципа экономической целесообразности

Как ZoneAlarm Pro защищает Вас

ZoneAlarm Pro подразделяет Internet на опасную, безопасную, и неизвестную зону

Продолжение

Защита программ

Системы защиты ПО широко распространены и находятся в постоянном развитии, благодаря расширению рынка ПО и телекоммуникационных технологий. Необходимость использования систем защиты (СЗ) ПО обусловлена рядом проблем, среди которых следует выделить: незаконное использование алгоритмов, являющихся интеллектуальной собственностью автора, при написании аналогов продукта (промышленный шпионаж); несанкционированное использование ПО (кража и копирование); несанкционированная модификация ПО с целью внедрения программных злоупотреблений; незаконное распространение и сбыт ПО (пиратство).
Существующие системы защиты программного обеспечения можно классифицировать по ряду признаков, среди которых можно выделить метод установки, используемые механизмы защиты и принцип функционирования.
Системы защиты ПО по методу установки можно подразделить на системы, устанавливаемые на скомпилированные модули ПО; системы, встраиваемые в исходный код ПО до компиляции; и комбинированные.

Оценка эффективности систем защиты программного обеспечения
Анализ средств преодоления систем защиты программного обеспечения
Этапы преодоления систем защиты программного обеспечения

Процедура разработки систем программно-технической защиты программного обеспечения
Методы защиты ПО от изучения
Анализ на основе линейных зависимостей
О некоторых задачах обратной инженерии

Раздел - Ипотека

Высшая стадия развития кредита - ипотека. Суть для банкиров прежняя - наложить лапу на ваши честно заработанные денежки. При всей кажущейся привлекательности продукта, остается один маленький минус - астрономическая конечная цена квартиры. После выплаты всей ипотеки ваша недвижимость по цене улететит в небеса.

Закон
Зарубежная
Кредит
Россия
Учебники

Руководство по выработке правил разграничения доступа к ЭВМ

Те, на кого рассчитана эта книга, - это администраторы систем и лица, принимающие решения (которых обычно и называют "администраторами" или "специалистами среднего звена управления") на местах . Этот документ не рассчитан на программистов или тех, кто пробует создать программы или системы безопасности. Задача этой книги состоит в том, чтобы показать какие ПРД и СРД должны быть реализованы в вашей организации для поддержки всех механизмов защиты, имеющихся в вашей организации.
В первую очередь эта работа ориентирована на организации, являющиеся членами сообщества Internet. Тем не менее, эта книга может быть полезной любой организации, чьи ЭВМ взаимодействуют с ЭВМ других организаций. Как общее руководство по ПРД, эта книга может быть также полезна и для организаций с изолированными сетями.

Организационные вопросы
Создание СРД
Проверка безопасности СРД

Имейте план, которому вы будете следовать в случае инцидента
Ликвидация уязвимых мест
Cсылки
Аннотиpованная библиогpафия

Глобальные сети компьютеров. Практическое введение в Internet

Что же представляет собой сеть Internet, и какие возможности она способна вам предоставить?
В конце 60-х годов стартовал проект создания глобальной сети, способной объединить компьютеры, расположенных в разных городах, странах или даже на разных континентах. Этот проект финансировался американским правительством в рамках военного агенства DARPA (Defense Advanced Research Projects Agency). В результате была создана сеть DARPANET, а также несколько других сетей, обслуживающих военно-космическую промышленность США.
Не углубляясь в историю, отметим, что в настоящее время сеть Internet объединила многие глобальные сети и насчитывает миллионы серверов. Эти серверы разбросаны по всему миру.
Практически каждый, кто имеет компьютер с модемом (можно не особенно мощный), может подключиться к сети Internet. Благодаря различным коммерческим организациям и благотворительным программам сеть Internet стала теперь доступна и в нашей стране, причем не только для "новых русских", но и для студентов, и даже для школьников. В нашей книге вы найдете всю информацию, необходимую для подключения к сети Internet.

Мир Internet - журнал для пользователей Сети
Почта, телеграф, телефон, Интернет
Назначение, выполняемые операции и преимущества системы «Интернет-Банк»

Структуры и алгоритмы обработки данных

Компьютер - это машина, которая обрабатывает информацию. Изучение науки об ЭВМ предполагает изучение того, каким образом эта информация организована внутри ЭВМ, как она обрабатывается и как может быть использована. Следовательно, для изучения предмета студенту особенно важно понять концепции организации информации и работы с ней.
Так как вычислительная техника базируется на изучении информации, то первый возникающий вопрос заключается в том, что такое информация. К сожалению, несмотря на то , что концепция информации является краеугольным камнем всей науки о вычислительной технике, на этот вопрос не может быть дано однозначного ответа. В этом контексте понятие "информация" в вычислительной технике сходно с понятием "точка", "прямая" и "плоскость" в геометрии - все это неопределенные термины, о которых могут быть сделаны некоторые утверждения и выводы, но которые не могут быть объяснены в терминах более элементарных понятий.

Типы данных
Переупорядочение путем перестановки в начало списка
Что такое генетические алгоритмы
Проблема представления: коды, сохраняющие разности
Нечеткое сравнение коллекций: семантический и алгоритмический аспекты
Основы визуальной алгоритмизации
Проблема аутентификации данных и блочные шифры
Что такое ГОСТ 28147-89