Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Технология объектно-ориентированного программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.04.2023

Просмотров: 124

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

Цель данной работы является обзор и анализ основных принципов и особенностей объектно-ориентированного подхода.

Задачи работы:

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

Данная тематика исследовалась в работах авторов: Баркера Р., Боггса У., Буча Г., Вендрова А.М.

1. Основы объектно-ориентированного подхода

1.1 Технология объектно-ориентированного программирования

По мере развития вычислительной техники создавались новые подходы, помогающие справляться с растущим усложнением программ. Использование структурного программирования при написании умеренно сложных программ принесло свои результаты, однако оказалось несамостоятельным тогда, когда программа достигала определенной длины [8]. Чтобы писать более сложные программы, были разработаны принципы объектно-ориентированного программирования. Объектно-ориентированное программирование – это подход к разработке программного обеспечения, основанный на объектах, а не на процедурах. Этот подход позволяет максимизировать принципы модульности и «сокрытия информации». Объектно-ориентированное программирование базируется на связывании или инкапсуляции структур данных и процедуры, которая работает с данными в структуре, с модулем.


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

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

В применении к объектно-ориентированным языкам программирования понятие объекта и класса конкретизируется следующими понятиями [9]:

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

Объектно-ориентированное программирование основано на следующих принципах:

  • абстрагирования данных;
  • инкапсуляции;
  • наследования;
  • полиморфизма;
  • «позднего связывания».

Абстрагирование является одним из основных методов, используемых для решения сложных задач. Хоар считает, что «абстрагирование проявляется в нахождении сходств между определенными объектами, ситуациями или процессами реального мира, и в принятии решений на основе этих сходств, отвлекаясь на время от имеющихся различий» [1]. Шоу определила это понятие так: «Упрощенное описание или изложение системы, при котором одни свойства и детали выделяются, а другие опускаются. Хорошей является такая абстракция, которая подчеркивает детали, существенные для рассмотрения и использования, и отпускает те, которые на данный момент несущественны» [2]. Берзинс, Грей и Науман рекомендовали, чтобы «идея квалифицировалась как абстракция только, если она может быть изложена, понята и проанализирована независимо от механизма, который будет в дальнейшем принят для ее реализации» [3]. Суммирую эти разные точки зрения, получается следующее определение абстракции: Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения наблюдателя.


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

Наследование (inheritance) – это процесс, посредством которого один объект может приобретать свойства другого. То есть, объект может наследовать основные свойства другого объекта и добавлять к ним свойства и методы, характерные только для него.

Наследование делится на два вида:

1. одиночное наследование – класс (он же подкласс) имеет один и только один суперкласс (предок);

2. множественное наследование – класс может иметь любое количество предков (в Java запрещено).

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

Целью из полиморфизма применительно мы к объектно за -ориентированному программированию вы является использование так одного имени же для задания от общих для еще класса действий. бы Концепцией полиморфизма уже является идея для «один интерфейс, вот множество методов кто ».

Механизм «позднего да связывания» в до процессе выполнения ни программы определяет ну принадлежность объекта под конкретному классу где и производит сам вызов метода, раз относящегося к два классу, объект там которого был чем использован.

Краеугольным во камнем наследования со и полиморфизма ли предстает следующая при парадигма: «объект без подкласса может он использоваться всюду, на где используется что объект суперкласса тот ».

При вызове это метода класса как он ищется по в самом но классе. Если они метод существует, ты то он из вызывается. Если мы же метод за в текущем вы классе отсутствует, так то обращение же происходит к от родительскому классу еще и вызываемый бы метод ищется уже у него. для Если поиск вот неудачен, то кто он продолжается да вверх по до иерархическому дереву ни вплоть до ну корня (верхнего под класса) иерархии. где


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

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

Основываясь без на истории он развития программирования, на можно отметить что следующие две тот сменяющие друг это друга тенденции: как

  • смещение акцентов по от программирования но отдельных деталей они к программированию ты более крупных из компонент;
  • развитие мы и совершенствование за языков программирования вы высокого уровня. так

Большинство современных же коммерческих программных от систем больше еще и существенно бы сложнее, чем уже были их для предшественники даже вот несколько лет кто тому назад [10]. да Этот рост до сложности вызвал ни большое число ну прикладных исследований под по методологии где проектирования, особенно, сам по декомпозиции, раз абстрагированию и два иерархиям. Создание там более выразительных чем языков программирования во пополнило достижения со в этой ли области. Возникла при тенденция перехода без от языков, он указывающих компьютеру, на что делать что (императивные языки). тот К языкам, это описывающим ключевые как абстракции проблемной по области (декларативные но языки).


Из они огромного числа ты языков программирования, из появившихся за мы период развития за информационных технологий, вы лишь наиболее так удобные и же совершенные были от приняты обществом еще разработчиков и бы отстояли свое уже право на для существование. Анализируя вот языки программирования кто и обстоятельства, да сопутствующие их до появлению, можно ни обнаружить множество ну общих черт. под Это позволяет где сгруппировать языки сам по основным раз используемым принципам два и выделить там поколения в чем их развитии. во Романова Ю. со Д. приводит ли следующую классификацию: при

1. Первое без поколение (1954 он -1958):

  • FORTRAN на I – математические что формулы;
  • ALGOL тот -58 –математические это формулы;
  • FLOWMATIC как - математические формулы; по
  • IPL V но - математические формулы. они

2. Второе ты поколение (1959 из -1961):

  • FORTRAN мы II – подпрограммы, за раздельная компиляция вы %
  • ALGOL-60 так – блочные структуры, же типы данных; от
  • COBOL – описание еще данных, работа бы с файлами. уже

3. Третье для поколение (1962 вот -1970):

  • PL кто /1 FORTRAN да +ALGOL+COBOL; до
  • ALGOL-68 ни более строгий ну преемник ALGOL под -60;
  • PASCAL где – более простой сам преемник ALGOL раз -60;
  • SIMULA два – классы, абстрактные там данные.

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

Первое поколение ни языков программирования ну были ограничены под следующими особенностями: где