Файл: Объектно-ориентированные методы анализа и проектирования ПО..pdf
Добавлен: 17.05.2023
Просмотров: 77
Скачиваний: 2
СОДЕРЖАНИЕ
1.2. Основные принципы построения объектной модели.
1.3.Преимущества и недостатки объектно-ориентированного подхода к проектированию.
Методология объектного проектирования на языке UML
2.1.Унифицированный язык моделирования UML
2.2 Диаграмма вариантов использования (use case diagram)
2.3 Диаграмма классов (use case diagram)
2.4 Диаграммы взаимодействия (interaction diagrams).
3. Средства реализации объектно-ориентированного моделирования информационных систем
3.2 Sparx Systems Enterprise Architect.
Введение
Рост спроса в программные концепции в наше период представляется результатом этого, что же согласно критерию удешевления, увеличения прочности и повышения размера изготовления pc автоматизирование работы Лица с поддержкой pc делается всегда наиболее интересной. С лета в время увеличивается трудность и многообразие концепций, возымевших в интернациональной учено-промышленной практике наименование концепций, усиленно использующих программное предоставление (Software Intensive Systems, SIS). С целью исследований SIS характерны крупномасштабные планы: 10-ки либо сотки создателей, месяцы либо года исследования, большие валютные ресурсы.
Производство программного обеспеченья в наше период представляется самой крупной областью всемирный экономики, в каковой захвачены множество экспертов, напрямую изготовляющих программные продукты питания либо участвующие в данном ходе [20, с.11].
Накопленный к истинному времени навык формирования программного обеспеченья информативных концепций демонстрирует, что же данное непростая и сложная деятельность, объединенная с масштабами исследования, меняющимися критериями наружных и внутренних условий настоящей сферы исследования, призывающая высочайшей квалификации участвующих в ней экспертов.
Целью проектирования информативных концепций (ИС) представляется предоставление успешного функционирования концепций, а кроме того взаимодействия юзеров и создателей ИС. Собственно высококачественное планирование гарантирует формирование такого рода концепции, что может работать рядом непрерывном совершенствовании нее промышленных, программных, информативных элементов и увеличивать диапазон реализуемых административных функций [19, с.37].
При конструировании информативных концепций применяется 2 расклада: высокофункционально-крупномодульный, предстающий Долею наиболее всеобщего скелетного расклада и объектно-направленный, применяющий объектную декомпозицию. Рядом данном устройство концепции описывается в определениях предметов и взаимосвязей среди ними, а действия концепции описывается в определениях размена оповещениями среди предметами [10, с.106].
К главным суждениям объектно-нацеленного расклада (составляющим объектной модификации) принадлежат:
• объект;
• класс;
• атрибут;
• операция;
• полиморфизм;
• компонент;
• связи.
Объект обусловливается равно как осязаемая суть (tangible entity) — объект либо феномен (процедура), обладающая Точно устанавливаемое действия.
Объект имеет возможность демонстрировать собою абстракцию определенной сути настоящей сферы (предмет действительного планеты) либо программной концепции (строительный предмет). Какой угодно предмет владеет капиталу (state), действием (behavior) и особенностью (identity).
Состояние предмета - один с вероятных обстоятельств, в каковых некто имеет возможность быть, оно меняется с временем.
Состояние предмета характеризуется списком абсолютно всех вероятных (постоянных) качеств этого предмета и нынешными значимостями (динамическими) любого с данных качеств. Положение предмета обусловливается значимостями его качеств (атрибутов) и взаимосвязями с иными предметами.
Поведение устанавливает воздействия предмета и его отдачу в требования с иных предметов.
Поведение определяет влияние предмета в прочие предметы, изменяющее их положение. По-другому заявляя, действия предмета целиком обусловливается его поступками. Действия является с поддержкой комплекта уведомлений, улавливаемых предметом (действий, что имеет возможность совершать предмет).
Каждый предмет владеет оригинальной особенностью.
Индивидуальность — данное характеристики предмета, отличающие его с абсолютно всех иных предметов.
Структура и действия похожих предметов устанавливают единый с целью их группа. Определения «экземпляр класса» и «объект» представлены равносильными.
Графическое понимание предметов в слоге прогнозирования UML представлено ниже.
Класс — данное масса предметов, сопряженных одинаковостью качеств, действия, взаимосвязей и семантики.
Класс инкапсулирует (связывает) в себя сведения (свойства) и действия (процедуры). Группа представляется отвлеченным определением предмета и работает в свойстве стандарта с целью формирования предметов. Графичное понимание класса в слоге UML представлено в злак. 34.2. Группа представляется в варианте прямоугольника, разбитого в 3 Доли. В 1-ый находится название класса, в 2-ой — его свойства. В заключительной Доли находятся процедуры класса, отображающие его действия (воздействия, исполняемые классом). Далее приведён образец класса TFrac (элементарная часть) в слоге Object Pascal. С поддержкой данного класса выполнены несложные дроби. Предметом данного класса представляется элементарная часть.
Любой предмет представляется экземпляром (instance) класса. Установление классов и предметов — один с наиболее непростых вопросов объектно-нацеленного проектирования.
Атрибут — поименованное качество класса, характеризующее интервал возможных значимостей, что имеют все шансы получать экземпляры этого характеристики.
Атрибут - данное компонент данных, взаимосвязанный с классом. К примеру, у класса Company (Предприятие) имеют все шансы являться свойства Name (Наименование), Address (Местоположение) и NumberOfEmployees (Количество предназначающихся).
Рис. Графическое представление класса
Таким (образом равно как свойства находятся изнутри класса, они спрятаны с иных классов. В взаимосвязи с данным имеет возможность потребоваться обозначить, которые игра обладают возможность Разбирать и менять свойства. Данное качество именуется видимостью атрибута (attribute visibility).
У атрибута допускается установить 3 вероятных значимости данного параметра. Осмотрим любой с их в контексте образца (см. злак. 34.2). Пускай существует группа Employee с атрибутом Address и группа Company:
Public (единый, доступный). Данное роль фикции подразумевает, что же признак достаточно заметен абсолютно всеми прочими классами. Какой угодно группа имеет возможность проглядеть либо поменять роль атрибута. В этом случае группа Company имеет возможность поменять роль атрибута Address класса Employee. В согласовании с нотацией UML единому атрибуту предшествует признак «+».
Private (замкнутый, тайный). Соответственный признак никак не заметен практически никаким иным классом. Группа Employee достаточно понимать роль атрибута Address и сумеет менять его, однако группа Company никак не сумеет его буква заметить, буква готовить к печати. В случае если данное потребуется, некто обязан спросить группа Employee проглядеть либо поменять роль данного атрибута, что же как правило совершается с поддержкой единых действий. Замкнутый признак отмечается символом «-» в согласовании с нотацией UML.
Protected (безопасный). Такого рода признак доступен только лишь лично классу и его потомству в иерархии наследования.
Допустим, существует 2 разных вида работников — с ежечасный оплатой и в окладе. Подобным способом, отпрысками класса Employee станут 2 класса — HourlyEmp и SalariedEmp. Безопасный признак Address допускается проглядеть либо поменять с классов Employee, HourlyEmp и SalariedEmp, однако никак не с класса Company. Наставление UML с целью оберегаемого атрибута — данное признак «#».
В совокупном случае свойства рекомендовано совершать прикрытыми либо оберегаемыми. Рядом данном получается исключить условия, если роль атрибута меняется абсолютно всеми классами концепции. Взамен данного закономерность перемены атрибута достаточно заключена в этом ведь классе, что же и непосредственно данный признак.
Определенное влияние 1-го предмета в иной с мишенью спровоцировать надлежащую отдачу именуется операцией. Процедура — данное осуществление обслуживание, какую допускается затребовать у каждого предмета этого класса.
Операции отображают действия предмета. Процедура-требование никак не меняет капиталом предмета. Процедура-группа имеет возможность поменять положение предмета. Итог процедуры находится в зависимости с нынешного капиталом предмета.
Как норма, в объектных и объектно-направленных стилях программирования процедуры, исполняемые надо сведениям предметом, именуются способами и представлены составляющий Долею установления класса.
Операции осуществят сопряженное с классом действия (по-другому заявляя, осуществят прямые обязанности класса — responsibilities). В просторном значении прямые обязанности класса разделяются в 2 группы.
Знание (обусловливается свойствами класса):
• наличие данных о сведений либо вычисляемых величинах;
• наличие данных о сопряженных предметах.
Действие (обусловливается операциями класса):
• выполнение определенных операций лично предметом;
• инициация операций иных предметов;
• координация операций иных предметов.
Операция содержит 3 Доли — название, характеристики и вид отдаваемого значимости. Характеристики - данное доводы, получаемые операцией «на входе». Вид отдаваемого значимости принадлежит к итогу воздействия процедуры.
В слоге UML процедуры обладают последующую нотацию:
Имя Процедуры (довод 1: вид сведений довода 1, довод 2: вид сведений довода 2,...): вид отдаваемого значения
Существуют 4 разных вида действий.
• Операции осуществлении (implementor operations) осуществят отдельные функции (операции). Подобные процедуры обнаруживаются посредством разбора диаграмм взаимодействия UML.
• Операции управления (manager operations) распоряжаются формированием и истреблением предметов. В данную группу поступают конструкторы и деструкторы классов.
• Атрибуты как правило случаются прикрытыми либо оберегаемыми. Для того никак не меньше, прочие игра порой обязаны рассматривать либо менять их значимости. С целью данного имеются процедуры допуска (access operations).
• Вспомогательными (helper operations) именуются подобные процедуры класса, что нужны ему с целью исполнения его прямых обязанностей, однако о каковых прочие игра никак не обязаны ничто понимать. Данное замкнутые и оберегаемые процедуры класса.
Понятие полиморфизма имеет возможность являться интерпретировано, равно как умение класса относиться наиболее Нежели 1 виду.
Полиморфизм — данное умение утаивать масса разных реализаций перед одним-единственным единым дизайном.
Интерфейс — комплекс действий, обусловливающих комплект услуг класса либо элемента. Сокет никак не устанавливает внутреннюю текстуру, всегда его процедуры обладают раскрытую подобие.
Полиморфизм непосредственно сопряжен с наследованием. Юниорат обозначает создание новых классов в базе имеющихся с перспективой прибавления либо переопределения качеств (атрибутов) и действия (действий).
Объектно-направленная концепция первоначально основывается с учетом нее развития. Юниорат и полиморфизм гарантируют вероятность установления новой функциональности классов с поддержкой формирования выводных классов — внуков базисных классов. Отпрыски наследуют свойства материнских классов без перемены их начального отображения и дополняют рядом потребности свои текстуры сведений и способы. Установление выводных классов, рядом коем высокомерничаются только лишь отличия либо уточнения, в очень большой уровня бережет период и старания рядом изготовлении и применении спецификаций и программного кодировки.
Компонент — касательно самостоятельная и заменяемая Элемент концепции, исполняющая Точно некоторую функцию в контексте установленной зодчества.
Компонент предполагает собою физиологическую реализацию предназначенной абстракции и имеет возможность являться:
• компонентом начального кодировки;
• компонентом времени исполнения (run time);
• исполняемым компонентом.
Компонент гарантирует физиологическую реализацию комплекта интерфейсов.
Между компонентами объектной модификации имеются разные типы взаимосвязей. К главным видам взаимосвязей принадлежат взаимосвязи ассоциации, связи и обобщения.
Ассоциация (association) — данное смысловая взаимосвязанность среди классами.
Ее представляют в диаграмме классов в варианте обычной направления (злак. 34.3). Объединение отображает скелетные взаимосвязи среди предметами разных классов.
Рис. 34.3. Ассоциация