-
Notifications
You must be signed in to change notification settings - Fork 14
exam_05
Методология RUP (Rational Unified Process). Основные части описания прецедентов (Use Case) и их изображение на диаграммах прецедентов.
Rational Unified Process - это методология создания программного обеспечения, оформленная в виде размещаемой на Web базы знаний, которая снабжена поисковой системой.
Диаграмма вариантов использования (англ. use case diagram) в UML — диаграмма, которая отражает отношения между актёрами и прецедентами и которая является составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне.
Прецедент — часть функциональности моделируемой системы, благодаря которой пользователь может получить конкретный, измеримый и нужный ему результат. Прецедент соответствует отдельному сервису системы, определяет один из вариантов её использования и описывает типичный способ взаимодействия пользователя с системой. Варианты использования обычно применяются для спецификации внешних требований к системе.
Основное назначение диаграммы — описание функциональности и поведения, позволяющее заказчику, конечному пользователю и разработчику совместно обсуждать проектируемую или существующую автоматизированную систему.
- Идентификатор прецедента: какое имеет название в контексте.
- Название прецедента: какой процесс деятельности прецедента (activity).
- Контекст: для какой среды описывается данная деятельность.
- Участники (actors) и цели (goals): кто и как взаимодействует с системой.
- Предусловия (pre-conditions): какие действия должны быть выполнены для работы.
- Постусловия (post-conditions): каких результатов должны добиться.
- Основной поток (main flow): какие действия должны привести из предусловия к постусловию.
- Исключения (exceptions): какие риски могут возникнуть.
- Альтернативы (alternates).
- Временные параметры: какие существуют временны рамки для данной деятельности.
В качестве примера приведена лабораторная работа №1.
При моделировании системы с помощью диаграммы прецедентов системный аналитик стремится:
- чётко отделить систему от её окружения;
- определить действующих лиц (актёров), их взаимодействие с системой и ожидаемую функциональность системы;
- определить в предметной области понятия, относящиеся к детальному описанию функциональности системы (то есть прецедентов).
Для отражения модели прецедентов на диаграмме используются:
- Рамки системы (англ. system boundary) — прямоугольник с названием в верхней части и эллипсами (прецедентами) внутри. Часто может быть опущен без потери полезной информации
- Актёр (англ. actor) — стилизованный человечек, обозначающий набор ролей пользователя (понимается в широком смысле: человек, внешняя сущность, класс, другая система), взаимодействующего с некоторой сущностью (системой, подсистемой, классом). Актёры не могут быть связаны друг с другом (за исключением отношений обобщения/наследования),
- Прецедент — эллипс с надписью, обозначающий выполняемые системой действия, приводящие к наблюдаемым актёрами результатам.
- Надпись - может быть именем или описанием (с точки зрения актёров) того, «что» делает система (а не «как»).
Понятие очереди в теории массового обслуживания. Виды и способы организации очередей в объектно-ориентированном программировании.
Очередь в теории массового обслуживания - это множество заявок, поступивших в систему массового обслуживания (СМО), обслуживание которых ещё не началось по причине занятости всех приборов в системе.
Любой системе массового обслуживания характерна структура, которая определяется составом элементов и функциональными связями. СМО включает следующие элементы: входящий поток требований, очередь, обслуживающие устройства (каналы обслуживания), выходящий поток требований.
Основные элементы системы следующие:
•Входящий поток требований (интенсивность входящего потока);
•Каналы обслуживания (число каналов, среднее число занятых, производительность);
•Очередь требований (среднее число заявок, среднее время пребывания одной заявки);
•Выходящий поток требований (интенсивность входящего потока);
Очередью в объектно-ориентированном программирование называется упорядоченный набор элементов, которые могут удаляться с её начала и помещаться в её конец.
Существует несколько способов реализации очереди:
• с помощью одномерного массива;
• с помощью связанного списка;
• с помощью реализации на двух стеках.
Пример реализации очередей (класс, метод)
self.server_thread.start()
print("Server loop running in thread:", self.server_thread.name)
def stop_server(self):
self.server.shutdown()
self.server.server_close()
def add(self, message):
self.messages.append(message)
def view(self):
return self.messages
def get(self):
return self.messages.pop()
def exists(self):
return len(self.messages)
while True:
time.sleep(1)
while self.queue.exists():
self.handle(self.queue.get())
def handle(self, message):
""" Prototype """
pass
Первый способ представляет очередь в виде массива и двух целочисленных переменных. Преимущества данного метода: возможна незначительная экономия памяти по сравнению со вторым способом; проще в разработке. Недостатки: максимальное количество элементов в очереди ограничено размером массива. При его переполнении требуется перевыделение памяти и копирование всех элементов в новый массив.
Второй способ основан на работе с динамической памятью. Очередь представляется в качестве линейного списка, в котором добавление/удаление элементов идет строго с соответствующих его концов. Преимущества данного метода: размер очереди ограничен лишь объёмом памяти. Недостатки: сложнее в разработке; требуется больше памяти; при работе с такой очередью память сильнее фрагментируется; работа с очередью несколько медленнее.
Третий способ Методы очереди могут быть реализованы на основе двух стеков. Такой способ реализации наиболее удобен в качестве основы для построения персистентной очереди
Существуют следующие виды очередей
- Односторонние (линейный список, в котором все операции вставки и удаления выполняются только на одном из концов списка);
- Двухсторонние (структура данных, в которой элементы можно добавлять и удалять как в начало, так и в конец);
- Взвешенные настраиваемые очереди (абстрактный тип данных в программировании, поддерживающий две обязательные операции — добавить элемент и извлечь максимум (минимум)).
#Взаимосвязь вопросов
Программы могут быть актерами прецедентов. Моделируемая система, которая определяет и описывает способ взаимодействия пользователя с системой. Очереди нужны для случая, когда ресурсы программы (скорость выполнения) не обеспечивает моментальной обработки запросов. Любая сущность, взаимодействующая с системой извне,или множество логически связанных ролей, исполняемых при взаимодействии с прецедентами (функциями). Стандартным графическим обозначением актера на диаграммах является фигурка.«человечка», однако субъектом может быть не только человек, но и техническое устройство, программа или любая другая система,которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик.