maran program engineering (Маран Программная инженерия), страница 8

PDF-файл maran program engineering (Маран Программная инженерия), страница 8 Программная инженерия (88178): Книга - 4 семестрmaran program engineering (Маран Программная инженерия) - PDF, страница 8 (88178) - СтудИзба2021-02-16СтудИзба

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

PDF-файл из архива "Маран Программная инженерия", который расположен в категории "". Всё это находится в предмете "программная инженерия" из 4 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

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

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

Исследование состояний проводим, исходя из следующих предпосылок:• объект может в любой момент времени находиться только в одном состоянии;• переход из одного состояния в другое происходит скачкообразно;имеются четкие критерии, позволяющие отличить одно состояние отдругого (т. е. при изменении состояния должно измениться значениехотя бы одной переменной класса);37• допустимы не все переходы между состояниями: часть переходов противоречит законам природы, часть − правилам эксплуатации;• существуют события (events), заставляющие выполнить переход изодного состояния в другое.Составление диаграммы состояний необязательно, но она позволяет лучше понимать функционирование исследуемой системы.

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

Такую диаграммужелательно построить в следующих случаях:• объекты класса создаются и уничтожаются (активизируются и деактивируются) в ходе работы;• объекты мигрируют от одного класса к другому (в пределах одногокласса-предка);• объекты накапливают значения своих атрибутов постепенно, на протяжении жизненного цикла;• объект отчетливо проходит через разные стадии цикла;• объект возникает или производится поэтапно;• объект вступает в связи и выходит из них;• если объект − это оборудование, нормальное функционирование илисбой которого оказывает влияние на другие объекты.Если нет ни одного из перечисленных случаев, то можно обойтись и безэтой диаграммы. На диаграмме используют обозначения, приведенные нарис. 3.16.

На рис. 3.17 представлена упрощенная диаграмма состояний процессаобучения студента в вузе. Рекомендуем читателю на основе личного опыта усовершенствовать приведенную диаграмму.Начальное состояниеИмя событияПромежуточноесостояниеКонечное состояниеРис. 3.1638Рис. 3.17На диаграмме состояний могут быть даны дополнительные характеристики состояний и событий (рис. 3.18).Для событий можно указывать следующие дополнительные характеристики:• имя события;• аргументы события (при необходимости);• условие, которое должно выполняться при возникновении данного события;• дополнительные действия, возникающие вместе с этим событием.Начальное состояниеСобытие( Аргументы события )[ Условие на возникновение события ] / Дополнительное действиеПромежуточное состояние 1entry/ Выполняется при входе в состояниеdo/ Выполняется во время нахождения в этом состоянииevent Событие( Аргументы )[ Условие ]/ Выполняется при поступлении внешнего событияexit/ Выполняется в момент выхода из состоянияРис.

3.1839Для состояний такими характеристиками являются:• имя состояния;• действия, которые должны быть выполнены в момент входа в состояние;• действия, которые должны выполняться во время нахождения объектав данном состоянии;• действия, которые должны быть выполнены в момент выхода из состояния;• действия, которые должны быть выполнены в момент поступлениявнешнего события; в таком случае дополнительно могут быть заданыаргументы внешнего события и условия на значения этих аргументов.Все действия, как в состоянии, так и при событии, задаются в следующейформе:^имя_класса.имя_события(аргументы_события)Состояние может иметь и подсостояния, например диаграмма состоянийкоробки передач автомобиля (рис. 3.19).НазадНейтральВперед1-япередача2-япередача3-япередачаРис.

3.193.5. Диаграмма деятельностиДиаграммы деятельности предназначены для моделирования поведения,иногда их называют «ОО блок-схемы». Например, с их помощью можно описать работу варианта использования. Обозначения, применяемые на этой диаграмме, поясним на примере рас. 3.20. Действие — это элементарная работа, неподлежащая дальнейшей детализации. На рис. 3.20 после начала процесса выполняется действие 1.

После его завершения выполняется проверка условия 1 ив зависимости от результатов этой проверки выполняется лишь одно из действий (2, 3 или 4). После его завершения процесс продолжается. Обратим внимание на то, что после разветвления соединение должно обозначаться знаком, показанным на рисунке. Линия синхронизации означает, что следующие за нейдействия могут выполняться одновременно, но все они должны быть выполнены: действия 5 и 7 могут начинаться одновременно, действие 6 может выполняться после завершения 5. Использование объектов необязательно, они используется лишь тогда, когда надо четко описать результат действия (в нашемслучае действия 7). Сигнал означает, что информация о завершении действия40Powered by TCPDF (www.tcpdf.org)будет передана за пределы описываемой системы (например, таймер выключилприбор и подал звуковой сигнал).

Прием сигнала означает, что в этот моментследует ждать сигнала со стороны. Дальше от узла соединения можно двигаться лишь при условии, что все параллельно выполняемые ветви завершились, необязательно одновременно. В нашем случае после завершения действий 6 и 7 ипоступления сигнала следует проверка условия 2, выполнение действия 8 или 9и один из двух вариантов завершения.Рис. 3.2041Простой пример диаграммы деятельности магазина приведен на рис. 3.21.Рис. 3.213.6.

Диаграмма последовательностейРассмотрим коротко функционирование программ, построенных по объектно-ориентированной методике. Работа программы заключается в обмене сообщениями между объектами. Любой объект является представителем какоголибо класса. В общем случае можно иметь один или более объектов одногокласса. Сообщение (message) представляет собой законченный фрагмент ин42формации, который отправляется одним объектом другому. С программистскойточки зрения сообщение — это обращение из одного объекта к методу в составе другого объекта или использование свойства класса-адресата (в языках объектно-ориентированного программирования, в которых это понятие присутствует).

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

3.22. На диаграмме обозначены объекты, задействованные при исполнении данного варианта использования. Обозначение объектов: имя_объекта:имя_классаЕсли принадлежность какого-то объекта к классу еще не установлена илинет требуемого класса, то можно указать только имя объекта. Имя класса будетустановлено позже. Если имеется только один объект какого-то класса, то можно ограничиться только именем класса. У верхнего края диаграммы на горизонтальной линии находятся объекты, которые существуют с самого начала работы программы. Линия жизни объекта изображается пунктирной вертикальной линией. Эта линия служит для обозначения периода времени, в течение которого объект существует и может участвовать в обмене сообщениями.

Очевидно, что для создания объекта должен быть запущен конструктор его класса,а также даны значения некоторому подмножеству его данных. Следует такжеиметь в виду, что один объект может передать сообщение другому лишь тогда,когда среди его данных имеется адрес того.Отдельные объекты могут быть уничтожены до завершения работы программы − в таком случае на их линии жизни ставится знак × (объект :Класс2).Часто уничтожение является результатом направления к такому объекту сообщения со стереотипом destroy().

Возможно и создание нового объекта в ходеработы программы. Такой объект показан не у верхнего края диаграммы, а ниже; к такому объекту направлено сообщение стереотипа create(). (на рисункеОбъект3:Класс3). При составлении этой диаграммы надо иметь в виду, что длясоздания объекта необходимо запустить конструктор его класса и обеспечитьпередачу созданному объекту нужных для его функционирования данных. поэтому на практике сообщение create(). для каждого объекта должно быть предусмотрено.В процессе функционирования объектно-ориентированных систем одниобъекты могут находиться в активном состоянии, непосредственно выполняя43определенные действия, или в состоянии пассивного ожидания сообщений отдругих объектов.

Для явного выделения состояния объекта применяется фокусуправления, который изображается в форме вытянутого узкого прямоугольника, верхняя сторона которого обозначает начало активности, а нижняя сторона − ее конец. Естественно, фокус управления должен целиком находиться налинии жизни объекта. Периоды активности объекта могут чередоваться с периодами ожидания. На рис. 3.22 Объект1 и Объект2 имеют постоянный фокусуправления, у :Класс2 периоды активности чередуются; потом объект :Класс2будет уничтожен. Даже если потом объект этого класса будет вновь создан, этобудет уже новый объект.Объект1 :Класс1Объект2: Класс2opname1( )opname( )destroy()create()Объект3 :Класс3Рис. 3.22Примечание.

На диаграмме последовательности ось времени направленасверху вниз.Сообщения показаны на диаграмме горизонтальными линиями. Имеютсяследующие стереотипы сообщений:• Call (вызвать) — сообщение, требующее вызова метода классаадресата. Это сообщение может быть рефлексивным, тогда оно требует вызова метода в классе-отправителе;• Return (возвратить) — возвращает результат выполнения сообщенияВызвать;• Create (создать) — сообщение, требующее создание другого объекта;• Destroy (уничтожить) — сообщение с требованием уничтожения объекта-адресата.44Рядом с сообщением может быть дано его имя.

За именем в скобках могут быть при необходимости параметры сообщения. В качестве имени сообщения можно использовать только имена методов класса-адресата. Если не созданкласс для объекта-адресата или в этом классе нет методов, то дать имена сообщениям невозможно.Упрощенная диаграмма последовательности процесса продажи товарапоказана на рис. 3.23. Процесс продажи состоит из следующих действий:• уточнение и обсуждение с покупателем характеристик товара и выборподходящего изделия;• подтверждение наличия товара на складе;• продажа товара.Рис. 3.23Диаграмма последовательности служит, в первую очередь, для визуализации временных аспектов взаимодействия. Диаграмма кооперации служит дляпредставления структурных аспектов.

Эти две диаграммы вместе называютдиаграммами взаимодействия. Простейшая диаграмма кооперации показана нарис. 3.24. Диаграмма кооперации соответствует одному варианту использования и показывает, объекты каких классов будут задействованы при его выполнении. Возможности диаграмм последовательностей намного шире рассмотренных, за более подробной информацией можно обратиться в [8].453.7. Диаграмма кооперацииДиаграмма последовательности служит, в первую очередь, для визуализации временных аспектов взаимодействия. Диаграмма кооперации служит дляпредставления структурных аспектов. Эти две диаграммы вместе называютдиаграммами взаимодействия. Диаграмма кооперации соответствует одномуварианту использования и показывает, объекты каких классов будут задействованы при его выполнении.На рис.

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