Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 2011 Теормин ООАиП (по лекциям Малышко)

2011 Теормин ООАиП (по лекциям Малышко), страница 2

PDF-файл 2011 Теормин ООАиП (по лекциям Малышко), страница 2 (UML) Методы анализа и проектирования ПО (64085): Ответы (шпаргалки) - 11 семестр (3 семестр магистратуры)2011 Теормин ООАиП (по лекциям Малышко): (UML) Методы анализа и проектирования ПО - PDF, страница 2 (64085) - СтудИзба2020-08-25СтудИзба

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

PDF-файл из архива "2011 Теормин ООАиП (по лекциям Малышко)", который расположен в категории "". Всё это находится в предмете "(uml) методы анализа и проектирования по" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

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

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

Поток объектов отмечается сплошной или пунктирной стрелкой от узла действия к объектномуузлу или от объектного узла к узлу действия, использующего объект. Ребра (сплошные стрелки) между узламидействий показывают потоки управления или потоки объектов. Узел разветвления (узел принятия решения), атакже узел объединения потоков изображается ромбом. Если необходимо показать, что две или более ветвейпотока выполняются параллельно, используются «линейки синхронизации» – узлы разделения и узлыслияния (жирные горизонтальные линии).4Стереотип – это новый тип элемента модели, который определяется на основе уже существующего элемента.Стереотипы расширяют нотацию модели, могут применяться к любым элементам модели и представляются ввиде текстовой метки или пиктограммы.Теги (именованные значения) – специальные термины, используемые спецификации ограничений и свойств,такие как disjoint, complete, incomplete и др., могут сопровождаться указанием значения свойства, например,author=Вася или location=server.Примечание – элемент диаграммы для комментария или другой текстовой информации.

Примечание можетсодержать дополнительные сведения об элементах модели (с ними его соединяет пунктирная линия).Ограничение – это семантическое ограничение, имеющее вид текстового выражения на естественном илиформальном языке (OCL – Object Constraint Language), которое невозможно выразить с помощью нотации UML.Он может быть использован для решения следующих задач:● описание инвариантов классов и типов в модели классов;● описание пред- и постусловий в операциях и методах;● описание ограничивающих условий элементов модели;● навигация по структуре модели;● спецификация ограничений на операции.Лекция 4.Классификация ограничений:● Инвариант класса – условие, которое всегда справедливо для всех экземпляров класса (ключевоеслово inv:).● Предусловие операции – условие, которое должно быть истинно перед выполнением операции(ключевое слово pre:).● Постусловие операции – условие, истинное всегда после выполнения операции (ключевое словоpost:).● Тело запроса – описание результата операции-запроса, не модифицирующей объекты (ключевое словоbody:)● Начальное значение атрибута или соединения (ключевое слово init:)● Правило вывода, описывающее производные атрибуты, связи или классы (ключевое слово derive:).● Определение (ключевое слово def:).Характеристики OCL:● текстовый (невизуальный) язык описания ограничений;● формальный язык, часть стандарта UML;● язык со строгой типизацией;● декларативный язык (для ограничений не определяется конкретная процедура их проверки);● платформо-независимый.Синтаксис OCL-выражения:● <OCL-выражение> ::= <указание контекста> [(inv | pre | post | body | init | derive | def) : <тело выражения>]● <указание контекста> ::= context <имя элемента модели>В теле выражения используются:● выражения простых типов (boolean, integer, string, real);● элементы модели, для которой составлено ограничение;● коллекции.Примеры использования и описание операций:● context Airline inv: name.toLower = ‘klm’ – здесь ‘klm’ – строка, toLower – стандартная операция надстрокой, дающая как результат строку в нижнем регистре.

Смысл ограничения: у любого экземпляракласса Airline значение атрибута name, записанное строчным буквами совпадает со строкой ‘klm’.5●context Passenger inv: age >= ((9.6 - 3.5)* 3.1).floor implies mature = true – здесь floor – «округлениевниз». Смысл ограничения: у любого экземпляра класса Passenger значения атрибутов age и matureтаковы, что если age > 18, то mature = true.● context Flight inv: self.maxNrPassengers <= 1000 – в любом рейсе максимальное количество пассажировне превышает 1000 (использован атрибут объекта – экземпляра класса Flight).● context Flight:maxNrPassengers:Integer init: 1000 – в любом рейсе максимальное количествопассажиров по умолчанию = 1000.● context Passenger inv: self.age >= Passenger::minAge – у любого пассажира возраст большеминимального (использован атрибут age экземпляра класса Passenger и атрибут того же класса minAge).● context Airport inv: self.arrivingFlights -> collect(airLine) -> nonEmpty – для любого аэропортамножество авиакомпаний, выполняющих прибывающие рейсы, не пусто.● context Airport inv: self.departingFlights->select(duration<4)->notEmpty – для любого аэропорта естьхоть один отправляющийся рейс длительностью менее 4 часов.● context Airport inv: self.departingFlights->forAll(maxNrPassengers < 1000) – для любого аэропортасправедливо, что у любого отправляющегося рейса максимальное количество пассажиров < 1000.Некоторые дополнительные операции над коллекциями:● exists: истина, если хотя бы для одного элемента коллекции истинно;● isEmpty: истина, если коллекция пуста;● notEmpty: истина, если коллекция непуста;● size: количество элементов коллекции;● sum: сумма элементов коллекции чисел;● count(<элемент>): количество вхождений элемента;● includes(<элемент>): истина, если <элемент> входит в коллекцию;● excludes(<элемент>): истина, если <элемент> отсутствует в коллекции;● includesAll(<коллекция>): истина, если все элементы параметра <коллекция> входят в коллекцию.Лекция 5.Бизнес-процесс (производственный процесс) определяется как логически завершенный наборвзаимосвязанных и взаимодействующих видов деятельности, поддерживающий деятельность организации иреализующий ее политику, направленную на достижение поставленных целей.

Бизнес-процесс используетопределенные ресурсы (финансовые, материальные, человеческие, информационные). Выделяют следующиеклассы процессов:● основные процессы (производство товаров и услуг, приносят доход, составляют основную деятельностькомпании);● обеспечивающие процессы (обеспечение основных процессов финансами, кадрами, комплектующими,тех. обслуживанием, администрирование и юридическое обеспечение);● процессы управления (планирование и контроль бизнес-процессов других видов).Бизнес-модель – это формализованное описание бизнес-процессов предприятия, фиксирующее существующееположение дел (модель AS-IS «как есть») или устанавливающее новые усовершенствованные способыосуществления деятельности (модель AS-TO-BE «как будет»).Модель бизнес-процессов (Business Use Case Model) – модель, описывающая бизнес-процессы организации втерминах ролей и их потребностей.

Она представляет собой расширение модели вариантов использования UMLза счет введения набора стереотипов Business Actor (деловое действующее лицо – стереотип действующеголица) и Business Use Case (бизнес-процесс – стереотип варианта использования). Из этой модели видно вкаком контексте работает предприятие, но не видно как именно протекает его работа (это описывает модельбизнес-анализа).Каждый бизнес-процесс сопровождается спецификацией, в которой содержится:● наименование;● краткое описание бизнес-процесса;● цели и результаты;● описание сценариев (основного и альтернативных);6● специальные требования (время и стоимость);● расширения (исключительные ситуации);● связи;● диаграммы деятельности (моделирующие сценарии бизнес-процесса).Модель бизнес-анализа – это объектная модель, элементами которой являются исполнитель (business worker)и бизнес-сущность (business entity).Лекция 6.Требование – это условие, которому должно удовлетворять программное обеспечение, или свойство, которымоно должно обладать, чтобы:● удовлетворить потребность пользователя в решении некоторой задачи;● удовлетворить требования контракта, спецификации или стандарта.Методы выявления требований:● собеседование (интервьюирование);● анкетирование;● проведение совещаний;● сессии по выявлению требований (мозговой штурм);● раскадровка (storyboard);● создание и демонстрация работающих прототипов;● ролевые игры.Лекция 7.При построении диаграмм взаимодействия возникают проблемы правильного распределения обязанностеймежду классами.

Для их решения существует ряд образцов: Information Expert, Creator, Low Coupling, HighCohesion.Образец “Information Expert”. Проблема: Нужно определить наиболее общий принцип распределенияобязанностей между классами. Решение: Следует назначить обязанность информационному эксперту – классу,у которого имеется информация, требуемая для выполнения обязанности.Образец "Creator". Проблема: Нужно определить, кто должен отвечать за создание нового экземпляранекоторого класса. Создание новых объектов в объектно-ориентированной системе является одним изстандартных видов деятельности.

Следовательно, при назначении обязанностей, связанных с созданиемобъектов, полезно руководствоваться некоторым основным принципом. Решение: Следует назначить классу Вобязанность создавать экземпляры класса А, если выполняется одно из следующих условий:● класс В агрегирует, содержит или активно использует объекты класса А;● класс В обладает данными инициализации, которые будут передаваться объектам класса А при ихсоздании (т.е.

класс В является информационным экспертом).Класс В при этом определяется как создатель (creator) объектов класса А.Если несколько классов удовлетворяют этим условиям, то предпочтительнее использовать в качестве создателякласс, агрегирующий или содержащий класс А.Образец "Low Coupling" (низкая связанность). Проблема: Нужно распределить обязанности между классамитаким образом, чтобы снизить взаимное влияние изменений в них и повысить возможность повторногоиспользования. Решение: Следует распределить обязанности таким образом, чтобы обеспечить низкуюсвязанность.Образец "High Cohesion" (высокая функциональная прочность или сильное зацепление обязанностей).Проблема: Нужно распределить обязанности между классами таким образом, чтобы каждый класс не выполнялмного разнородных функций или несвязанных между собой обязанностей.

Такие классы создаватьнежелательно, поскольку они приводят к возникновению таких же проблем, как у классов с сильнойсвязанностью. Решение: Следует распределить обязанности таким образом, чтобы обеспечить высокуюфункциональную прочность.7Лекция 8.Процесс – это ресурсоемкий поток управления, который может выполняться параллельно с другими потоками.Он выполняется в независимом адресном пространстве и в случае высокой сложности может разделяться надва или более потоков.Поток (нить) – это облегченный поток управления, который может выполняться параллельно с другимипотоками в рамках одного и того же процесса в общем адресном пространстве.Лекция 9.База данных – долговременное самодокументированное хранилище данных.Структура реляционных данных – совокупность таблиц.

В любой таблице фиксированное количествостолбцов и произвольное – строк. Совокупность значений ячеек одной строки – запись.Оператор SQL – предложение SQL для манипуляции данными (выборка, изменение, добавление, удаление).Отображение классов:● Каждый класс переводится в отдельную таблицу, атрибуты становятся столбцами таблицы. Операции наструктуру таблицы не влияют. Они могут переводиться в хранимые процедуры, если мы ходимпереложить часть работы по манипулированию данными на СУБД.● Уникальный идентификатор устойчивого класса превращается в первичный ключ таблицы. Если имеетсянесколько альтернативных уникальных идентификаторов, выбирается наиболее используемый. Если вмодели для устойчивого класса явно не указан идентификатор, то в таблицу добавляется столбец ID –первичный ключ.Отображение бинарных ассоциаций:● «1 к 1му» – возможны различные решения, лучше создать общую таблицу для 2х классов.

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