Объектно-ориентированный подход — это подход с применением моделей, которые базируются на понятиях реальной действительности.
Введение
Сегодня, во времена повсеместной компьютеризации, фактически нельзя обойтись без компьютерного оборудования и специального программного обеспечения. Использование специализированных программных продуктов предоставляет возможность улучшения качества выполняемых работ, упрощения человеческого труда, ускорения выполнения технологических процессов, облегчения хранения и трансляции информационных данных и многого другого.
Практически во всех случаях применяемые программные комплексы призваны хранить производственную информацию, и данная информация обязана быть доступной определенному числу пользователей, и очень часто пользователи могут работать с информацией в одновременном режиме. Данные положения стали основанием концепции, в соответствии с которой всю информацию следует организовать в базы данных, а для того чтобы управлять ими необходимо использовать системы управления базами данных (СУБД).
Из известных на текущий момент подходов к проблеме проектирования информационных систем, объектно-ориентированный подход может считаться самым эффективным, поскольку он использует абстракции реальных объектов и операций. То есть, при формировании модели определенной предметной области, выделении бизнес-процессов и прочего, формируется и модель создаваемой информационной системы.
Кроме того, одной из важнейших характеристик объектно-ориентированного подхода выступает унификация процесса проектирования информационной системы, составной частью которого может считаться унифицированный язык моделирования UML (Unified Modeling Language). Эта особенность способна обеспечить упорядоченный подход к вопросу распределения задач и обязанностей при проектировании информационной системы, который охватывает весь ее жизненный цикл. По этой причине основные положения объектно-ориентированного подхода, а также принципы унифицированного моделирования повсеместно применяются при создании автоматизированных информационных систем.
Сущность объектно-ориентированного подхода и его применение при проектировании информационной системы
Основой объектно-ориентированного подхода (ООП) является объектная декомпозиция, причем статическая структура системы должна описываться в терминологии объектов и связей среди них, а поведение системы следует описывать в терминах обмена сообщениями среди объектов. Все объекты системы имеют свое собственное поведение, которое моделирует поведение объекта реальной действительности.
Самыми распространенными методами, которые поддерживают объектно-ориентированный подход, на текущий момент могут считаться:
- Методология унифицированного процесса (Unified Process, UP).
- Методология экстремального программирования (eXtreme Programming, XP).
- Методология гибкого моделирования (Agile Modeling, AM).
Основным средством фиксации (документирования) итогов формирования систем при помощи данных методологий считается унифицированный язык моделирования UML. Объектная модель выступает как наиболее естественный способ представления реальной действительности.
Объектами являются абстракции реальных или воображаемых сущностей с ясно обозначенными концептуальными границами, индивидуальностью (идентичностью), состоянием и поведением. Концептуальной базой объектно-ориентированного подхода считается объектная модель. Главные принципы построения объектной модели:
- принцип инкапсуляции (encapsulation),
- принцип наследования (inheritance),
- принцип полиморфизма (polymorphism),
- принцип абстрагирования (abstraction),
- принцип модульности (modularity),
- принцип иерархии (hierarchy).
Инкапсуляцией (encapsulation) является свойство, при котором объекты могут содержать описания атрибутов и действий одновременно. Инкапсуляция представляет собой процесс отделения друг от друга отдельных компонентов объекта, которые определяют его устройство и поведение. Инкапсуляция предназначена для изолирования интерфейса объекта, отражающего его внешнее поведение, от внутренних реализаций объекта.
Объектный подход подразумевает, что набор собственных ресурсов, которым способны осуществлять манипуляции лишь операции самого объекта, скрыт от внешней среды. Абстрагирование и инкапсуляция считаются взаимно дополняющими, то есть, абстрагирование заостряет основное внимание на внешних особенностях объекта, а инкапсуляция, или, по-другому, ограничение доступа, не разрешает объектам-пользователям различить внутреннее обустройство объекта.
Наследованием (inheritance) является метод определения объектов, при котором произведенные объекты, то есть, потомки, могут наследовать свойства, то есть, атрибуты и действия, от своих родителей. Наследование свойств в объектно-ориентированном подходе представляет собой наследование атрибутов и методов, то есть, возможность использовать в производном объекте атрибуты и методы основного объекта.
Полиморфизмом (polymorphism) называется свойство объектов, при котором действия с одинаковыми именами вызывают разное поведение для разных объектов. Полиморфизм подразумевает возможность одинаково именовать различные действия. Полиморфизм характеризуется:
- наличием возможности одинаково именовать статические методы;
- наличием возможности одинаково именовать динамические методы.
В UML, для того чтобы описать полиморфизм, введены понятия операции и метода. У классов имеются операции, определяющие его поведение. В определенном смысле операция является набором общих сведений о поведении класса, то есть, детали реализации никак не специфицированы операцией, но некоторые комментарии по вопросу реализации могут быть даны в неформальном виде, к примеру, на естественном языке.