Структурирование информационных систем. Проектирование информационных систем. Понятие декомпозиции

Страницы работы

Содержание работы

Модуль 3 Структурирование информационных систем

Проектирование информационных систем

Структурирование информационных систем

  • Понятие декомпозиции информационной системы
  • Структурный и объектно-ориентированный подходы к разработке программного обеспечения
  • Основы объектно-ориентированного программирования
  • Инкапсуляция, наследование, полиморфизм
  • Понятие абстрагирования в объектно-ориентированном программировании
  • Понятие программных интерфейсов
  • Понятие структурированности и агрегации программного продукта
  • Основные принципы разбиения программного продукта на сборки
  • Понятия сцепления и связанности.

Понятие декомпозиции

  • Декомпозиция информационной системы – разбиение системы на составные части (блоки, подсистемы)
  • Облегчается процесс разработки, тестирования и внесения изменений
  • Появляется возможность повторного использования
  • В пределе формируется framework – остов, основа для будущих систем
  • Декомпозицией системы занимается системный архитектор

Правила декомпозиции

  • Количество связей между подсистемами должно быть минимальным (слабо связанные системы)
  • Связанность отдельных частей внутри каждой подсистемы должна быть максимальной
  • Взаимодействия между подсистемами должны укладываться в ограниченные, стандартные рамки
  • Каждая подсистема должна инкапсулировать своё содержимое (скрывать его от других подсистем)
  • Инкапсуляция позволяет рассматривать структуру каждой подсистемы независимо от других подсистем
  • Каждая подсистема должна иметь чётко определённый интерфейс с другими подсистемами
  • Интерфейсы позволяют строить систему более высокого уровня, рассматривая каждую подсистему как единое целое и игнорируя её внутреннее устройство

Структурный и объектно-ориентированный подходы

  • Структурный подход (функционально-модульный)
    • Структура системы описывается в терминах иерархии её функций и передачи информации между отдельными функциональными элементами
    • Поведение системы описывается в терминах последовательности выполнения процедур, реализующих алгоритмы функций
    • Характерен для детерминированных систем
  • Объектно-ориентированный подход
    • Структура системы описывается в терминах объектов и связей между ними
    • Поведение системы описывается в терминах обмена информацией между объектами
    • Функции стоят на втором плане, на первом плане объекты
    • Функции системы формируются на основе функций объектов

Абстрагирование

  • Синоним – отвлечение, абстракция
  • Абстрагирование – выделение и сознательное игнорирование незначительных аспектов описания объектов и идей для представления их в минимально допустимой форме
  • Результаты грамотного абстрагирования –
    • Классы с минимально необходимым набором методов и атрибутов
    • Методы короткие и понятные
    • Глубокая иерархия классов
  • Причина важности абстрагирования – необходимость внесения изменений в последствии

Понятие класса

  • С точки зрения мышления
    • Класс – артефакт классификации
    • Классификация основана на общем поведении и атрибутах
    • Существуют соглашения об описаниях и именах часто используемых классов
    • Используя словарь классов осуществляется общение и мышление
  • С точки зрения программирования
    • Именованная синтаксическая структура, описывающая общее поведение и атрибуты
    • Хранилище, включающее данные и функции

Понятие объекта

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

Понятие инкапсуляции

  • Инкапсуляция – сокрытие внутреннего устройства класса (атрибутов и методов) от внешних классов и объектов
  • Инкапсуляция позволяет проектировать сложные системы за счёт прозрачности модели поведения классов и объектов
  • Инкапсуляция позволяет изменять внутреннее устройство класса без видимых внешних изменений

Статические и экземплярные атрибуты и методы

  • Статические методы и атрибуты доступны на уровне класса
  • Экземплярные методы и атрибуты доступны на уровне объекта, т.е. экземпляра класса
  • Прямой доступ к экземплярным атрибутам и методам из статических методов не допустим

Понятие наследования

Похожие материалы

Информация о работе