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

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

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

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

Добавлен: 19.06.2023

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

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

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

Введение

Мы живем в поистине необычном времени. Так как совершенно недавно, наши родители и в грезах не имели возможность помыслить о том, что когда-нибудь настанет то время, когда компьютер будет неотделимой частью нашей жизни, и действительно начнет приносить гигантскую выгоду. Будет генератором мыслей и их осуществлением, раскроет новейшие горизонты в знаниях населения земли. Однако компьютер не смотря ни на что, в отсутствии человека пока мало на что способны. Вот почему так принципиально донести до ма­шины человеческую идею, а подсобляет нам в этом разные методы по про­ектированию ПО.

Проектирование финансовых информативных систем (ЭИС) – логически непростая, труд затратная и долгая работа, требующая высочайшей квалифика­ции участвующих в ней профессионалов.

В начале 70-х гг. в USA был отмечен упадок программирования (software crisis). Это замечалось в том, что огромные планы стали выполнятся с отставанием от графика либо с превышением сметы затрат, разработанный продукт не владел спрашиваемыми функциональными способностями, деятель­ность его была мала, свойство обретаемого программного обеспечения не устраивало покупателей.

Аналитические исследования и обзоры, исполняемые в течение ряда последних лет ведущими зарубежными специалистами, демонстрировали не очень обезнадёживающие итоги. Так, к примеру, в 1995г. фирма StandishGroup изучила работу 364 американских компаний и результаты выполнения более 23 тыс. проектов, связанных с разработкой ПО, и сделали последующие вы­воды:

Лишь 16% проектов закончились в срок, 52,7% закончились с опозда­нием, расходы перевалили запланированный бюджет.

В числе причин крахов бытуют: алогическая и не полная формулировка требований к ПО, недостающее втягивание юзеров в работу над проек­том, недостаточное планирование и т.п.

На данном фоне, рентабельно различается объектно – ориентированный подход к конструированию ПО устраняет эти и остальные недочеты, он владеет состоятельным комплектом выразительных средств. Вот отчего, целью моей курсовой работы является раскрытие передовых способов и средств проектирования, в частно­сти в объектно-ориентированном подходе к проектированию ПО.

Глава I Структура объектно-ориентированного программирования.


1.1 СУЩНОСТЬ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

Базисное отличие меж структурным и объектно-ориентирован­ным подходом содержится в методе декомпозиции системы. Объектно-ориен­тированный подход использует объектную декомпозицию, при этом статическая конструкция системы описывается в определениях объектов и взаимосвязей меж ними, а поведение системы описывается в определениях обме­на сообщениями ме­жду объектами. Любой объект системы обладает собственным своим поведе­нием, имитирующим поведение объекта настоящего мира. Понятие "объект" в первый раз было применено примерно 30 лет назад в промышленных средствах при попытках отступить от классической архи­тектуры фон Неймана и преодолеть препятствие меж высоким уровнем про­граммных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архи­тектурой еще тесно соединены объектно-ориентированные операционные сис­темы. Но более значимый вклад в объектный подход был внесен объект­ными и объектно-ориентированными языками программирования: Simula, Smalltalk, C++, Object Pascal. На объектный подход проявили воздействие также развивавшиеся довольно самостоятельно методы модели­рования баз дан­ных, в особенности подход "сущность-связь".

Мировозренческой базой объектно-ориентированного подхода яв­ляется объектная модель. Главными её элементами считаются:

• абстрагирование (abstraction);

• инкапсуляция (encapsulation);

• модульность (modularity);

• иерархия (hierarchy).

Не считая главных есть ещё три дополнительных элемента, не являю­щихся в отличие от основных строго неотъемлемыми:

• типизация (typing)',

• параллелизм (concurrency)',

• устойчивость (persistence).

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

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


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

Модульность — это свойство системы, связанное с вероятностью её де­композиции на разряд внутренне логичных, но слабо связанных меж собой моду­лей. Инкапсуляция и модульность создают барьеры между абстракциями.

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

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

Параллелизм — свойство объектов пребывать в функциональном либо инертном положенье и распознавать функциональные и инертные объекты меж собой.

Устойчивость — качество объекта существовать во времени (вне зависи­мости от процесса, породившего данный объект) либо в пространстве (при пе­ремещении объекта из адресного пространства, в котором он был создан).

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

Объект определяется как осязаемая действительность (tangible entity) — объект либо действо, располагающие четко характеризуемое поведе­ние. Объект обладает со­стоянием, поведением и индивидуаль­ностью; структура и поведение похожих объектов характеризуют совместный для них класс. Определения "экземпляр класса" и "объект'' считаются равносильными. Положение объекта характеризуется переч­нем всех вероятных (статических) параметров данного объек­та и нынешними значе­ниями (динамическими) каждого из данных параметров. Поведение охарактеризовывает действие объекта на дру­гие объекты и напротив условные конфигурации со­стояния этих объектов и передачи сообщений. По другому говоря, поведение объек­та полностью определяется его действиями. Индивидуальность — это характеристики объекта, различающие его от всех других объектов.

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


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

Последующую группу принципиальных понятий объектного подхода состав­ляют на­следование и полиморфизм. Понятие полиморфизма может быть интерпретиро­вано как способность класса иметь более чем одни тип. Наследова­ние значит возведение новых классов на базе имеющихся с возможно­стью прибавления либо переоп­ределения данных и методов.

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

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

1.2 УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ UML

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


Стандартизированный язык моделирования UML (Unified Modeling Language)—это наследник того поколения методов ООАП, которые возникли в конце 80-х и начале 90-х гг. Создание UML практически стартовало в конце 1994 г., когда Гради Буч и Джеймс Рамбо инициировали работу по объединению методов Booch и ОМТ (Object Modeling Technique) под эгидой фирмы Rational Software. К концу 1995 г. они сотворили первую спецификацию объединенного метода, на­зван­ного ими Unified Method, версия 0.8. Тогда же, в 1995 г., к ним при­соеди­нился создатель метода OOSE (Object-oriented Software Engineering) Ивар Якоб­сон. Таким образом, UML считается прямым объединением и стандартизацией ме­тодов Буча, Рамбо и Якобсона, но дополняет их новыми возможностями. Главными в разработ­ке UML были следующие цели:

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

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

• снабдить самостоятельность от определенных языков программиро­вания и процессов разработки;

• снабдить внешнюю базу для осмысливания данного языка мо­делирова­ния (язык обязан быть сразу точным и доступ­ным для осмысливания, без излишнего формализма);

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

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

Последующую группу принципиальных понятий объектного подхода состав­ляют на­следование и полиморфизм. Понятие полиморфизма может быть интерпретиро­вано как способность класса иметь более чем одн тип. Наследова­ние означает построение новых классов на основе имеющихся с возможно­стью добавления либо переоп­ределения данных и методов.

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