Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_ПИС.doc
Скачиваний:
19
Добавлен:
26.09.2019
Размер:
2.38 Mб
Скачать

Принципы объектного подхода (абстрагирование, инкапсуляция, модульность, иерархия)

Обьектно-ориентированное программирование — это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследования.

Концептуально объектно-ориентированная методология опирается на объектный подход, который включает основные принципы:

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

Инкапсуляция определяет явные барьеры между различными абстракциями, скрывает внутреннее устройство объекта и не позволяет объектам-пользователям различить (и использовать) особенности его внутреннего устройства.

Существование иерархий – это ранжирование, упорядочивание по некоторым правилам объектов системы.

Модульность - это свойство системы, связанное с возможностью декомпозиции на ряд тесно связанных частей (модулей). Модульность опирается на дискретное программирование объектов, которые можно модернизировать или заменять, не воздействуя на другие объекты и систему в целом.

Ограничение доступа – это процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта, как целого.

Без любого из этих элементов модель не будет объектно-ориентированной. Кроме главных, имеется три дополнительных элемента, которые полезны в объектной модели, но не обязательны:

Типизация - описание в тексте системы типов всех объектов, с которыми она работает на этапе выполнения;

Параллелизм - свойство объектов находиться в активном, либо пассивном состоянии. Для многопроцессорных архитектур объект может представлять собой отдельный канал управления (абстракцию процесса), что упрощает решение вопросов параллелизма (тупики, блокировки и т.п.). Для однопроцессорных архитектур реализуется в минимальном виде. Пример – многооконный интерфейс Windows.

Сохраняемость или устойчивость (persistence) - свойство объектов сохранять свое состояние и принадлежность к определенному классу.

Модель idef0, синтаксис диаграмм, примеры

Основные элементы и понятия IDEF0

Графический язык IDEF0 удивительно прост и гармоничен. В основе методологии лежат четыре основных понятия:

Первым из них является понятие функционального блока (Activity Box). Функциональный блок графически изображается в виде прямоугольника и олицетворяет собой некоторую конкретную функцию в рамках рассматриваемой системы. Каждая из четырех сторон функционального блока имеет своё определенное значение (роль), при этом:

Вторым "китом” методологии IDEF0 является понятие стрелки (Arrow). Стрелка отображает элемент системы, который обрабатывается функциональным блоком или оказывает иное влияние на функцию, отображенную данным функциональным блоком. Каждая стрелка должна иметь свое уникальное наименование (Arrow Label).

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

В зависимости от того, к какой из сторон подходит данная интерфейсная дуга, она носит название "входящей”, "исходящей” или "управляющей”.

Необходимо отметить, что любой функциональный блок по требованиям стандарта должен иметь по крайней мере одну управляющую стрелку и одну исходящую. Это и понятно – каждый процесс должен происходить по каким-то правилам (отображаемым управляющей дугой) и должен выдавать некоторый результат (выходящая дуга), иначе его рассмотрение не имеет никакого смысла.

Третьим основным понятием стандарта IDEF0 является декомпозиция (Decomposition). Принцип декомпозиции применяется при разбиении сложного процесса на составляющие его функции. При этом уровень детализации процесса определяется непосредственно разработчиком модели.

Декомпозиция позволяет постепенно и структурированно представлять модель системы в виде иерархической структуры отдельных диаграмм, что делает ее менее перегруженной и легко усваиваемой.

Преимущества IDEF0:

  • Полнота описания б.п.

  • Комплексность при декомпозиции

  • Разделение и слияние стрелок

  • Жесткие рамки методологии

  • Простота документирования

Недостатки:

  • Много стрелок

  • Много уровней

  • Трудность увязки процессов в разных моделях

Основные объекты:

  • Четырехугольник (Activity box)

  • Стрелки

При декомпозиции стрелки мигрируют на более низкий уровень, стрелки возможно туннелировать. Пример IDEF0: