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

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

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

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

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

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

Эта связь динамическая: в ходе выполнения программы можно создать и уничтожить переменную типа С.Рис. 4.2Возникает вопрос: в каком случае предпочтительно отношение наследования, в каком случае агрегация? Когда предпочтительным является вариантрис. 4.3, а когда вариант рис. 4.4? Рекомендуется использовать вариант рис.

4.3,когда Class2 никогда не может стать классом Class3. Например, автомобиль —грузовик — автобус. Когда такое изменение возможно, то предпочтителен вариант рис. 4.4. Например, сотрудник — программист — тестировщик. В случае такого изменения меняем лишь одно поле «должность», все остальное остается наместах.Рис. 4.364Рис. 4.4Особого рассмотрения требует случай, когда отношение ассоциации имеет мощность «многие ко многим». Отношение композиции не может в принципе иметь такую мощность, часть может в любой момент быть частью толькоодного целого, и целое может содержать несколько одинаковых частей.

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

Нарис. 4.5 приведен такой случай: в фильме заняты много актеров, каждый актерснимался в нескольких фильмах.Рис. 4.5Введем дополнительный класс-ассоциацию «Исполнение ролей». Послеэтого класс «Фильм» содержит данные только о фильме, класс «Актер» — данные о актере, но класс «Исполнение ролей» показывает, в каком фильме какойактер кого играл (рис. 4.6).Рис. 4.64.6. Проектирование вариантов использованияПроектирование вариантов использования заключается в решении следующих задач:• определение классов проектирования и/или подсистем, объекты которых необходимы для реализации вариантов использования;65• определение требований к методам классов и/или подсистем и их интерфейсам;• определение требований к реализации вариантов использования.Начинается процесс определения классов проектирования, объекты которых участвуют в реализации одного варианта использования, с изучения соответствующей части модели анализа.

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

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

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

Использование среды Microsoft Visual Studioдля выполнения анализаРассмотрим в этом пункте создание диаграмм вариантов использования,классов анализа и деятельности в упомянутой среде. Создадим проект, выберемтип Modelingproject, дадим ему имя (в нашем случае (Modelingproject47) и определим его местонахождение.

В этом проекте будут созданы названные диаграммы. В обозревателе решений поставим курсор на имя проекта, нажмем направую клавишу мыши, выберем по очереди Add — NewItem — UseCaseDiagram (диаграмма вариантов использования). Откроется форма для создания выбранной диаграммы, на палитре инструментов (Toolbars) появятся рассмотренные нами выше компоненты этой диаграммы. Создание диаграммы заключается в перетаскивании нужных компонентов с палитры на диаграмму и уточненииих свойств.

Перенесем на диаграмму два действующих лица (Actor) и три варианта использования (Usecase). В окне свойств (Properties) в поле Имя (Name)дадим им содержательные названия, которые будут показаны на диаграмме(рис. 4.7). Для установления связи между действующими лицами и вариантамииспользования используем отношение Association. Щелкнем левой клавишеймыши на имени отношения, после этого ставим курсор мыши на начало отношения и, держа нажатой левую клавишу, потянем конец отношения на нужныйкомпонент диаграммы. Стрелка отношения будет соответствовать направлениюрисования. Значение стрелок было рассмотрено выше. Если мы на диаграммевыделим отношение, то в свойствах появятся группы FirstRole и SecondRole(первая роль и вторая роль в соответствии с направлением рисования связи).Наличие и отсутствие стрелки определяется свойством IsNavigable (True —False), которое будет видно после открытия группы (знаком +).

Отношениявключения (include) и расширения (extend) можно установить аналогично. Ихназначение тоже было рассмотрено выше.Рис. 4.767Точно также создадим и диаграмму классов (ClassDiagram), как можноубедиться, в палитре инструментов теперь появились средства для созданияименно диаграммы классов. Перенесем на диаграмму символ класса.

В свойствах уточним его имя. Класс состоит из трех частей: имя, атрибуты и операции(именуемые иногда методы, функции). Ставим курсор мыши на обозначениекласса, нажмем на правую клавишу и выберем Добавить (Add), далее Attributeили Operation. В окне свойств уточним их имена. Можно ставить курсор мышии на раздел атрибутов или операции, тогда при нажатии правой клавиши предлагается добавить только их. Напомним, что при составлении диаграммы классов анализа атрибуты могут иметь содержательные названия без каких-либо ограничений, они должны задавать характеристики объектов этого класса.В качестве операции выберем обязанности, т.

е. действия, которые этот классдолжен предоставить при решении задач. Типы и структуры данных можно неуточнять. Установление отношения обобщения просто: выберем стрелку Inheritance и тянем ее от подчиненного класса к предку.Рассмотрим отражение отношения ассоциации (точно так же устанавливаются и ее разновидности — агрегация и композиция). Вначале поступим, какописали выше при создании диаграммы вариантов использования (щелкнем нанужном отношении, затем установим курсор на начальный класс и протянем доконечного класса).

Рассмотрим уточнение его характеристик. Выделим на диаграмме отношение ассоциации. В свойствах уточним его имя (поле Name), внашем случае Обучение. Раскроем составные свойства: первая роль (FirstRole)и вторая роль (SecondRole). Там можем уточнить имена ролей и мощность (Cardinality). На стороне Университет оставим 1, но стороне Студент поставим 1..*.Наличие стрелки определим через свойство является перемещаемым (IsNavigable) (рис. 4.8).Рис. 4.8Создадим диаграмму деятельности (Activity), как это делать, вы уже знаете. Перенесем на диаграмму нужные компоненты, в свойстве Name уточним ихназвания.

Для их связывания поставим курсор на компонент, от которого должна идти связывающая линия, нажмем на правую клавишу мыши и выберем изконтекстного меню Add — Connection, и фиксируем конец линии на нужномкомпоненте.684.8. Создание диаграмм проектированияРассмотрим создание диаграммы классов проектирования и диаграммыпоследовательностей. Перед составлением диаграммы классов проектированиянеобходимо выбрать язык и среду реализации, чтобы при ее составлении можнобыло определить типы и структуры данных, а операции были оформлены потребованиям.

В нашем случае используем язык C# в среде Microsoft Visual Studio.Создаем вспомогательный класс Dan, который содержит данные о людях:фамилию (Fam), имя (Imya), рост (Rost), вес (Ves) и индекс массы тела (MasInd).Последний атрибут пусть будет свойство, остальные — поля. Для простых данных мы должны определить значения следующих свойств:• имя — приведены выше;• видимость (public, protected, private);• тип данных (int, double, bool, . . .);• стереотип (field, property);• значение по умолчанию — задавать не обязательно.Определим их значения путем набора с клавиатуры (имя, тип данных), выбора из выпадающего списка (видимость) или путем расставления флажков длястереотипа (поле или свойство, в принципе допустимы и оба одновременно).Создадим еще класс MyClass, содержащий данные сложной структуры.Массив mas, в качестве типа данных напишем double[].Список lst1 из элементов класса Dan, в качестве типа данных напишемList<Dan>, значения остальных свойств выберем так, как было описано выше.Коллекция общего вида collect из данных заданного типа.

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