Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы (Суть анализа и проектирования в ООП).pdf

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

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

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

Добавлен: 12.03.2024

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

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

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

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

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

Для логического группирования однотипных объектов предметной области в объектно-ориентированном подходе используется понятие «класс».

Класс – это совокупность объектов, имеющих общую структуру и поведение. Фактически, класс – это шаблон, на основе которого генерируются однотипные объекты. В качестве синонима понятия «объект» часто употребляют понятие «экземпляр класса».

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

Когда говорят об объектно-ориентированном подходе, то обязательно дают понятие терминам "наследование", "инкапсуляция", "полиморфизм".

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


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

Полиморфизм – принцип построения определяет возможность принимать различные внешние формы или функциональность (поведение) в зависимости от контекста. Например, методы Paint() (отрисовать) или DefineS() (определить площадь), определенные в родительском классе «фигура», для классов «эллипс» и «прямоугольник» должны быть реализованы по-разному."

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

1.3 Базовые составляющие объектно-ориентированного подхода

Базовыми составляющими объектно-ориентированного подхода являются:

унифицированный процесс;

унифицированный язык моделирования;

шаблоны проектирования.

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

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

На стадиях анализа и проектирования часто используются так называемые шаблоны (паттерны) проектирования.


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

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

  1. Описание системы в виде объектов больше соответствует содержательному смыслу предметной области.
  2. Сущности предметной области, как правило, обладают поведением, что в объектно-ориентированном проектировании отражается с помощью определения методов класса. В структурном подходе данные (атрибуты) и алгоритмы (методы) существуют отдельно друг от друга.
  3. Объединение атрибутов и методов в объекте (классе), а также инкапсуляция позволяют добиться большей внутренней связности и меньшей связности между компонентами системы.
  4. Объектно-ориентированный подход позволяет легче организовать параллельные вычисления, так как каждый объект обладает собственными значениями характеристик (атрибутов) и поведением, за счет чего можно добиться автономности обработки атрибутов различных экземпляров класса.
  5. Case-средства, поддерживающие объектно-ориентированный подход, на основе информации об объектах позволяют достичь большей степени автоматизации генерации кода. Case-средства, поддерживающие структурный подход, хорошо справляются с генерацией структур БД. Однако следует отметить, что эта структура должна удовлетворять требованиям нормализации. В связи с чем автоматическая генерация кода (например, экранов или функций обработки данных) возможна лишь в определенных случаях.

2. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ ИНФОРМАЦИННЫХ СИСТЕМ.


2.1 Суть анализа и проектирования в ООП

Основная идея объектно-ориентированного анализа и проектирования (object-oriented analysis and design) состоит в "… рассмотрении предметной области и логического решения задачи с точки зрения объектов (понятий и сущностей). В процессе объектно-ориентированного анализа основное внимание уделяется определению и описанию объектов (или понятий) в терминах предметной области. В процессе объектно-ориентированного проектирования определяются логические программные объекты, которые будут реализованы средствами объектно-ориентированного языка программирования. Эти программные объекты включают в себя атрибуты и методы. И, наконец, в процессе конструирования (construction) или объектно-ориентированного программирования (object-oriented programming) обеспечивается реализация разработанных компонентов и классов.

В начале объектно-ориентированного анализа и проектирования производится так называемый анализ требований (requirements analysis), во время которого выделяются основные процессы, происходящие в моделируемой системе, и их формулировка в виде прецедентов. Прецедент (precedent) - это текстовое описание процессов, происходящих в предметной области.

Далее следует объектно-ориентированный анализ предметной области (object-oriented domain analysis). Задачей этого этапа является определение видов деятельности участников процесса и составлении концептуальной модели (conceptual model), которая отражает различные категории элементов предметной области. Причем не только виды деятельности участников, но и все относящиеся к делу понятия."[1]

Следующий этап - это объектно-ориентированное проектирование (object-oriented design), при котором основное внимание сосредоточено на распределении обязанностей. Распределение обязанностей (responsibility assignment) означает выделение задач и обязанностей различных программных объектов в приложении.

Наиболее важным моментом объектно-ориентированного анализа и проектирования является квалифицированное распределение обязанностей между компонентами программной системы. Дело в том, что единственный вид деятельности, без которого невозможно обойтись. К тому же он оказывает определяющее влияние на робастность, масштабируемость, расширяемость и возможность повторного использования компонентов. Обязанности объектов и их взаимодействия изображаются с использованием диаграмм классов (design class diagram) и диаграмм взаимодействий (collaboration diagram).


2.2 Диаграммы классов

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

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

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

На диаграммах классов обычно показываются ассоциации и обобщения. Каждая ассоциация несет информацию о связях между объектами внутри программы. Чаще всего применяются бинарные ассоциации, связывающие два класса. Ассоциации присваивается название, выражающее суть отображаемой связи. Кроме названия, ассоциация может иметь такую характеристику, как множественность. Она показывает, сколько объектов каждого класса может участвовать в ассоциации. Множественность указывается у каждого конца ассоциации (полюса) и задается конкретным числом или диапазоном чисел. Множественность, указанная в виде звездочки, предполагает любое количество (в том числе, и ноль). Например, если ассоциация называется «Товарная групп», то ее можно связать с одним или несколькими объектами класса «Товар». Связаны между собой могут быть и объекты одного класса, поэтому ассоциация может рекурсивной. Например, для класса «Воинская часть» можно ввести ассоциацию «Подчинение», которая позволит создать иерархическую структуру военных подразделений.