Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование

Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 29

PDF-файл Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 29 Объектно-ориентированный анализ и проектирование (53090): Книга - 7 семестрДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование: Объектно-ориентированный ан2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 29 страницы из PDF

Что мы узналиМы рассмотрели следующее:•Анализ заключается в создании моделей, отображающих основныетребования и характеристики целевой системы – аналитическоемоделирование имеет стратегическое значение.•Основной объем работ рабочего потока анализа выполняется в конце фазы Начало и в фазе Уточнение.146Глава 6. Рабочий поток анализа•••••Рабочие потоки анализа и определения требований пересекаются,особенно в фазе Уточнение – обычно для выявления неучтенныхили искаженных требований полезно анализировать требованияпо мере их обнаружения.Аналитическая модель:• всегда создается на языке соответствующей сферы деятельности;• отображает картину в целом;• содержит артефакты, моделирующие предметную область;• рассказывает историю о целевой системе;• полезна максимально возможному числу заинтересованных сторон.Аналитические артефакты – это:• классы анализа – ключевые понятия бизнессферы;• реализации прецедентов – иллюстрируют, как экземпляры классов анализа могут взаимодействовать для реализации поведениясистемы, описанного прецедентами.Рабочий поток анализа в UP включает следующие деятельности:• Архитектурный анализ• Анализ прецедента• Анализ класса• Анализ пакетаАналитическая модель – практические правила:• аналитическая модель среднестатистической системы состоитиз 50–100 классов анализа;• включаются только классы, моделирующие словарь предметнойобласти;• не формируются решения по реализации;• основное внимание на классах и ассоциациях – минимизациясвязанности между классами;• наследование применяется там, где присутствует естественнаяиерархия абстракций;• необходимо стремиться к простоте модели!7Объекты и классы7.1.

План главыЭта глава полностью посвящена объектам и классам. Они – основныестроительные блоки ОО систем. Если читатель уже хорошо знаком с понятием объектов и классов, можно пропустить разделы 7.2 и 7.4. Однако, вероятно, вам будет интересна информация о UMLнотации объектов (раздел 7.3) и классов (раздел 7.5).Глава завершается обсуждением смежных вопросов области действияопераций и атрибутов (раздел 7.5), а также вопросов создания и уничтожения объектов (раздел 7.7).При анализе используется только часть UMLсинтаксиса класса. НОчтобы не разбрасывать справочную информацию по всей книге и невозвращаться к этому позже, в этой главе рассматривается полныйсинтаксис класса.7.2.

Что такое объекты?Книга «UML Reference Manual» [Rumbaugh 1] определяет объект как«отдельную сущность с явно выраженными границами, которая инкапсулирует состояние и поведение; экземпляр класса».Объекты объединяют данные и функциональность в единый блок.Объект можно представить как единый пакет данных и функциональности. Как правило, единственный путь добраться до данных объекта –вызвать одну из предоставляемых им функций. Эти функции называются операциями (operations). Сокрытие данных объекта за уровнемопераций известно как инкапсуляция (encapsulation), или сокрытиеданных (datahiding).

Инкапсуляция в UML не является обязательной, поскольку некоторые ОО языки не нуждаются в ней. Однако со7.5.3.1 Направлениепараметра7.5.2.1. Видимость7.5.3.3. Расширенныйсинтаксис операции7.5.3.4. Операциизапроса7.5.2.4. Начальное значение7.5.2.5. Расширенныйсинтаксис атрибута7.5.2.3. Кратность7.5.3.2. Значения параметровпо умолчанию7.5.3. Ячейкаопераций7.5.2. Ячейкаатрибутов7.5.2.2. ТипизучаемоперацииизучаематрибутыРис.

7.1. План главы7.5.1. Ячейкаимениизучаем процессприсваивания имен классам7.5. Нотация классов в UML7.6.2. Область действия опреQделяет возможность доступа7.6.1. Область действия класси область действия экземпляр7.6. Областьдействияизучаемобласть действия7.7.2. Деструкторы –пример класса ClubMember7.7.1. Конструкторы –пример класса ClubMember7.7. Созданиеи уничтожение объектовизучаем конструкторыи деструкторы7.4.2. Создание экземпляров класса7.4.1. Классы и объекты7.4.

Что такое классы?7.3.1. Значения атрибутов объектов7.3. Нотация объектов в UML7.2.2. Обмен сообщениями7.2.1. Инкапсуляция7.2. Что такое объекты?изучаем создание и уничтожение объектовизучаем классыизучаем синтаксис UML!объектаизучаем объекты7.8. Что мы узнали7.5.4. Синтаксисстереотипа классаизучаемстереотипыизучаем синтаксис UML!классаelseelseelse148Глава 7. Объекты и классы7.2. Что такое объекты?149крытие данных объекта за уровнем операций всегда считается хорошим ОО стилем.Объекты скрывают данные на уровне функций, которые называютсяоперациями.Каждый объект является экземпляром некоторого класса, определяющего общий набор свойств (атрибутов и операций), присущих всем экземплярам этого класса.

Идея классов и классификаторов на самом деле очень проста. Представим принтер типа «Epson Photo 1200». Онописывает свойства всех отдельных экземпляров данного класса, в томчисле и конкретный «Epson Photo 1200 с/н 34120098», стоящий на нашем столе. Конкретный экземпляр класса называется объектом.Немного поразмыслив над этим примером объекта принтера Epson,можно увидеть, что ему присущи определенные свойства, общие длявсех объектов.Каждый объект имеет уникальный идентификатор.•Идентификатор (identity) – это определение существования и единственности объекта во времени и пространстве.

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

Подобным образом в ОО программных системах каждый объектимеет некоторую объектную ссылку.Значения атрибутов хранят данные объекта.••Состояние (state) – определяется значениями атрибутов объектаи его отношениями с другими объектами в конкретный момент времени. В табл. 7.1. приведен полный список возможных состоянийпринтера, из которого видно, как состояние объекта зависит от значений его атрибутов и его связи с другими объектами.Поведение (behavior) – принтер может выполнять конкретные действия:switchOn() (включиться)switchOff() (выключиться)150Глава 7.

Объекты и классыprintDocument() (распечатать документ)pageFeed() (заправить бумагу)clearInkJetNozzles() (очистить форсунки)changeInkCartridge() (заменить картридж)Вызов операции объекта всегда приводит к изменению значений одногоили более его атрибутов или отношений с другими объектами. Это мо+жет обусловить переход состояний – целенаправленный переход объекта из одного состояния в другое. Из табл.

7.1 видно, что состояниеобъекта может влиять и на его поведение. Например, если в принтерезакончились чернила (состояние объекта = OutOfBlackInk), вызов операции printDocument() приведет к сообщению об ошибке. Поэтому поведение printDocument() является зависимым от состояния.Метод – это реализация операции.Операция – это описание части поведения. Реализация этого поведения называется методом (method).Таблица 7.1Состояние объекта Атрибут классаЗначение атри Отношениебута объектаOnpoweronНе определеноOffpoweroffНе определеноOutOfBlackInkblackInkCartridgeemptyНе определеноOutOfColorInkcolorInkCartridgeemptyНе определеноConnectedне определеноне определеноПодключен к объекту компьютерNotConnectedне определеноне определеноНе подключен к объекту компьютер7.2.1.

ИнкапсуляцияКак уже говорилось, идентификатор объекта – это некий уникальныйдескриптор, обычно адрес памяти, предоставляемый языком реализации. С этого момента будем называть эти дескрипторы объектнымиссылками. В ОО анализе не надо беспокоиться об их реализации. Можно просто принять, что у каждого объекта есть уникальный идентификатор, управляемый технологией реализации. Возможно, при проектировании понадобится рассмотреть реализацию объектных ссылок.Это необходимо, если целевым языком является ОО язык программирования, такой как С++, который позволяет напрямую работать с определенными типами объектных ссылок, известными как указатели.На рис.

7.2 приведено концептуальное представление объекта, подчеркивающее инкапсуляцию. Обратите внимание, что рис. 7.2 не яв+1517.2. Что такое объекты?значения атрибутовdeposit( )withdraw( )1234567801«Jim Arlow»300.00getOwner( )setOwner( )объект AccountоперацииРис. 7.2. Представление объекта, подчеркивающее инкапсуляциюляется UMLдиаграммой. UMLсинтаксис для объектов будет показанпозже.Состояние объекта определяется значениями его атрибутов.Состояние объекта – это набор значений атрибутов (в данном случае1234567801, «Jim Arlow», 300.00) объекта в любой момент времени.Значения некоторых атрибутов постоянны, значения других могут современем меняться. Например, номер счета и имя останутся постоянными, а вот баланс, надеемся, будет постепенно увеличиваться!Поскольку баланс меняется со временем, мы видим, что состояниеобъекта также изменяется во времени. Например, если баланс отрицательный, можно сказать, что объект находится в состоянии Overdrawn(кредит превышен).

При изменении баланса из отрицательного в нулевой объект существенно меняет свою суть: переходит из состоянияOverdrawn в состояние Empty (пустой). Более того, когда баланс объектаAccount (счет) становится положительным, осуществляется еще один переход состояния: из Empty в InCredit (кредитоспособен). Возможны и другие переходы состояний. Фактически любой вызов операции, приводящий к изменению сути объекта, обуславливает переход состояний.UML предоставляет мощный набор методов моделирования изменений состояния, которые называются конечными автоматами; им посвящена глава 21.Поведение объекта – это то, «что он может сделать для нас», т. е. егооперации.152Глава 7. Объекты и классыПоведение любого объекта – это, по существу, то, «что он может сделать» для вас. Объект на рис.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5139
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее