Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Понятие и назначение программной архитектуры. Виды программных структур.






Ответы на государственный экзамен по анализу и проектированию информационных систем

Исследование операций. Основные понятия. Виды задач.

Исследование операций — теория, позволяющая создать математические модели реальных процессов и находить оптимальное управление процессами.

Операция — любое управляющее мероприятие, направленное на достижение целей. Результат зависит от выбора параметров.

Решение математической модели — любой конкретный выбор параметров.

Оптимальное решение — решение, которое по каким-то соображениям предпочтительнее остальных.

Целевая функция — математическое выражение, используемое для количественной оценки критериев эффективности.

Чаще всего оптимальным считается максимальное или минимальное значение какого-то решения. Но бывают и исключения.

Виды задач:

● Задачи линейного программирования

Линейное программирование – математическая дисциплина, посвященная теории и методологии решения экстремальных задач на множестве n-мерного векторного пространства, заданного системами линейных уравнений и неравенств

Задачи линейного программирования:

○ задача об использовании ресурсов (есть ограниченные ресурсы для производства продукции, определить максимальную прибыль)

○ задача о пищевом рационе (ищется минимальная целевая функция)

○ транспортная задача (распределить продукцию по складам так, чтобы транспортные расходы были минимальны)

○ задача о календарном планировании комплекса работ (найти минимальные сроки реализации)

○ Симплекс-метод — известный также под названием метода последовательного улучшения плана.
Этот метод позволяет переходить от одного допустимого базисного решения к другому, причем так, что значения целевой функции непрерывно возрастают. В результате оптимальное решение находят за конечное число шагов. Алгоритмы симплекса-метода позволяют также установить, является ли задача ЛП разрешимой.

● Сетевые задачи

Сеть — ориентированный граф, каждому ребру которого сопоставляется неотрицательное число l, называемое пропускной способностью, с двумя выделенными вершинами, называемыми сток t и исток s.

Теория игр. Основные понятия. Виды задач.

Теория игр — раздел теории и исследование операций, в котором рассматривается математическая модель принятия решений в условиях конфликта.

Каждая из сторон стремится воздействовать на развитие конфликта в собственных интересах.

Источники конфликтов:

1. различие целей, которые отражают несовпадающие интересы сторон

2. многосторонние цели одного и того же лица

3. состязательные ситуации проявляются в обычных играх

 

Математическая модель должна описывать:

1. множество заинтересованных сторон

2. интересы сторон

3. возможные действия каждой стороны

 

Допущения теории игр:

1. стороны и конфликты рациональны

2. функции выигрыша и множество стратегий каждой стороны известны

3. функция выигрыша – единственный показатель эффективности

 

Игра — описание конфликта, представляющее собой его математическую модель

Игроки — стороны, участвующие в конфликте

Выигрыш — исход конфликта

Ход игрока – выбор одного из вариантов действий. Ход может быть логичным (сознательный выбор действий) или случайным (случайный выбор).

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

Решение игры — выбор стратегии, удовлетворяющей условию оптимальности.

Оптимальная стратегия — стратегия, удовлетворяющая требованиям устойчивости, т.е. при ней каждому игроку не выгодно от нее отказываться.

Цель игры — определить оптимальную стратегию для каждого игрока.

 

Классификация игр

1. по числу игроков

2. по числу стратегий

a. конечные

b. бесконечные

3. по свойствам функции выигрыша

a. игры с нулевой суммой (выигрыш одного = проигрышу другого)

b. неантагонистические (игроки выигрывают и проигрывают одновременно)

4. по возможности договора между игроками

a. коалиционные

b. бескоалиционные

Матричные игры — антагонистические, в которых оба игрока имеют конечное множество решений

Понятие и назначение программной архитектуры. Виды программных структур.

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

Назначение архитектуры

1. архитектура — это универсальная абстракция системы, которая позволяет всем участникам составить общее представление о внутренней организации системы и перейти к обсуждению деталей

2. ограничение проектных решений

a. направляет проектные решения

b. лежит в основе организации структуры команды

c. позволяет прогнозировать качество системы

d. обеспечивает простоту внесения наиболее вероятных изменений

e. обеспечивает возможность макетирование системы для выявления проблем реализации на самых ранних этапах

f. позволяет уточнить запланированные ресурсы и сроки

3. архитектура — переносимая модель для повторного использования (позволяет перенести опробованные решения различного уровня абстракции в другой проект)

 

Виды программных структур

I. Декомпозиция на модели

1. Иерархия – разбиение крупных подсистем на модули. Модули разделяются на несколько уровней подмодулей и т.д. Часто используется как основа организации проекта и обеспечивает модифицируемость системы

2. Использование – установка отношений использования между модулями, процедурами, ресурсами, при которых для корректного формирования одного необходимо наличие корректной версии другого. Используется для выделения функциональных подмножеств и обеспечения масштабируемости системы

a. Многоуровневая структура использования дополнена строгим разбиением на модули, когда уровень n может обращаться только к уровню n – 1

3. Обобщение — иерархия классов, между которыми установлены отношения обобщения. Используется для выявления сходного поведения, обеспечивает повторное использование функциональности

II. Взаимодействие

1. Логические потоки — выявление логической связи и независимой последовательности действий и возможность состязания между ними за ресурсы. Используется для выявления требований к организации параллельных исполнителей.

2. Физические потоки — выявление процессов или потоков, связи между которыми устанавливаются путем передачи данных синхронизации и/или операции исключения. Используется для управления производительностью системы, исключения взаимной блокировки и распилки узких мест

3. Потоки данных определяют совместное использование хранилищ данных, производство и потребление данных в системе, а так же операции создания хранения и доступа к данным. Необходимы для обеспечения высокой производительности и целостности данных

4. Клиент-сервер клиенты и сервера связываются сообщениями и протоколами, взаимодействуют в процессе выполнения программы. Используются для разбиение на задачи. Распределения по физическим устройствам и выравнивания нагрузки между ними

III. Распределение

1. По физически устройствам — распределение ПО, аппаратных ресурсов и каналов передачи данных по физическим устройствам. Позволяет анализировать производительность, готовность и безопасность системы, целостность данных

2. По файлам — отображение программных элементов на файловую структуру в контексте реализации, интеграции и управления конфигурацией. Необходимо для структурирования работ, обеспечения процесса сборки и развертывания

3. По исполнителям — распределение обязательств по реализации между группами разработчиков. Позволяет учитывать организационные факторы и исключать многократную реализацию одних и тех же задач разными исполнителями






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.