exam02 4 - stankin/design-part-1 GitHub Wiki

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

Реферат к лекции 2 Общая характеристика процесса проектирования

Выполнила: Цацурина Анастасия, ИДБ-18-06

Проверила: Каноник Карина, ИДБ-18-06

Структурно-функциональный подход

Структурно-функциональный (структурный) метод строится на основе выделения в целостных системах их структуры — совокупности устойчивых отношений и взаимосвязей между ее элементами и их роли (функций) относительно друг друга. Структура понимается как нечто инвариантное (неизменное) при определенных преобразованиях, а функция как «назначение» каждого из элементов данной системы (функции какого-либо биологического органа, функции государства, функции теории и т.д.). Основные требования процедуры структурно-функционального метода (который часто рассматривается как разновидность системного подхода):

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

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

Все наиболее распространенные методологии структурного подхода базируются на таких принципах, как:

  • принцип «разделяй и властвуй» — принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;
  • принцип иерархического упорядочивания — принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.

В структурном анализе используются группы средств, иллюстрирующих функции, выполняемые системой, и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются следующие:

  • метод SADT (Structured Analisis and Design Technique) — метод структурного анализа и проектирования, модели и соответствующие диаграммы;
  • метод DFD (Data Flow Diagrams) — диаграммы потоков данных;
  • метод ERD (Entity-Relationship Diagrams) — диаграммы «сущность-связь» (модель данных).

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

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

Любая программа, написанная на языке ООП, отражает в своих данных состояние физических предметов либо абстрактных понятий — объектов программирования, для работы с которыми она предназначена. Каждый объект в объектно-ориентированном программировании характеризуется своим состоянием. Состояние объекта описывается текущим значением его атрибутов (данных). Атрибутами объекта в ООП могут быть как простейшие значения (число, логическое значение и т.д.), так и сложные величины или другие объекты. Исходя из этого, можно определить объект как некую совокупность данных и способов работы с ними. Иначе говоря, все данные об объекте программирования и его связях с другими объектами можно объединить в одну структурированную переменную, называемую объектом. Данные (характеристики объекта) можно рассматривать как поля записи. Пользователи и объекты программы должны иметь возможность читать эти данные объекта, каким-то образом обрабатывать и записывать в объект новые значения.

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

  • Для надежного функционирования объекта надо поддерживать целостность и непротиворечивость его данных. Если не позаботиться об этом, то внешний объект или пользователь могут разрушить или занести неверные данные, и объект будет функционировать с ошибками.
  • Необходимо изолировать внешние объекты от особенностей внутренней реализации данных. Для внешних потребителей данных должен быть доступен только пользовательский интерфейс — описание того, какие имеются данные и функции и как их можно использовать, а внутренняя реализация — это дело разработчика объекта. В таком случае разработчик всегда может модернизировать объект, изменить структуру хранения и форму представления данных, и если не затронуты внешние интерфейсы, то пользователь этого даже не заметит. Следовательно, в программе и в действиях пользователя не придется ничего менять.
  • Важнейшей характеристикой объекта в объектно-ориентированном программировании является описание того, как он может взаимодействовать с окружающим миром. Это описание называется интерфейсом объекта.
  • Условно схему организации объекта можно представить следующим образом (рис. 4.1). Внешнее управление объектом осуществляется через обработчики событий. Эти обработчики обращаются к свойствам и методам объекта. Начальные значения данных объекта могут задаваться также в процессе проектирования установкой различных свойств. В результате выполнения методов объекта могут генерироваться новые события, воспринимаемые другими объектами программы или пользователем. Схема организации обьекта

Список используемой литературы

  1. Объектно-ориентированный подход
  2. Структурный подход к разработке