Шаблонное проектирование информационных систем презентация

Содержание

Проблемы проектирования программного обеспечения Затруднено: повторное использование кода сопровождения и развитие использование сторонними разработчиками Неудачное проектирование Сложная, неэффективная структура

Слайд 1Исполнитель:
Кирьянов Егор Михайлович,
ПИ-001

Научный руководитель:
Дрыгин К.Ю., ст. преп.

Шаблонное проектирование

информационных систем

Слайд 2Проблемы проектирования программного обеспечения
Затруднено:
повторное использование кода
сопровождения и развитие
использование сторонними разработчиками
Неудачное
проектирование
Сложная,

неэффективная
структура



Слайд 3Базовые шаблоны


Слайд 4Шаблон «Адаптер»: приводит интерфейс класса к требуемому виду


Слайд 5Шаблон «Состояние»: позволяет динамически изменить поведение, сохраняя интерфейс


Слайд 6Задачи для решения с использованием шаблонов проектирования
Библиотека универсального доступа к файлам

(file, http)
Система управления приложениями (executable, service)
Работа с внешней системой распознавания речи (Philips SpeechPearl)

Слайд 7Библиотека универсального доступа к файлам
Работа с файлами на локальном компьютере и

на http-сервере
Использование различных режимов доступа (R, A, RW, W+)
Поддержка буферизации чтения и записи
Возможность чтения данных блоками фиксированного размера
Работа через proxy-сервер
Поддержка режима keep-alive

Слайд 8Система универсального доступа к файлам
CFileShell p;
// Связывание файла
p.assignFile("http://www.ya.ru");

// Установка параметров
p.setParam("MaxResponseProcessWait","1000");
p.setParam("ProxyServer", "217.116.156.33");
p.setParam("ProxyPort",

"3128");

// Файл открывается
p.open(READ_WRITE);
p.setMaintainOpen(false);
std::string content="";
// Чтение содержимого файла
p.read(content);

Слайд 9Библиотека универсального доступа к файлам – пример работы
CFileShell fShell;
fShell.setParam("MaxResponseProcessWait","1000");
fShell.setMaintainOpen(false);
std::string content="";

// Указывается

путь к файлу
fShell.assignFile("http://www.ya.ru");
// Файл открывается
fShell.open(READ_WRITE);
// Чтение содержимого
fShell.read(content);
// Файл закрывается
fShell.tear();

// Открывается локальный файл
fShell.assignFile(“C:/boot.ini");
fShell.open(READ_WRITE);
fShell.read(content);


Слайд 10
Диаграмма классов библиотеки доступа
Фабрика классов – создает один или несколько объектов,

принадлежащих заданным семействам

Слайд 11Чтение файлов


Слайд 12Система унифицированного управления приложениями
Запуск, остановка или завершение приложения
Определение состояния приложения
Перенаправление стандартных

потоков ввода и вывода
Использование системы зависимостей
Предоставление web-интерфейса для удаленного управления
Возможность работы в режиме консольного приложения или сервиса

Слайд 13
Диаграмма классов системы
Фабрика классов
Одиночка – гарантирует создание не более одного экземпляра

класса и обеспечивает глобальный доступ к нему



Слайд 14Механизм удаленного управления приложениями

HTTP-сервер
Клиент
Web-интерфейс

Система
управления
приложениями



Слайд 15Web-интерфейс системы управления
Web-интерфейс позволяет управлять приложениями на удаленной машине


Слайд 16MachineSettings cst, st;

st._coreSettings._exeName="C:\\HelloWorld\\SystemSpecific\\Debug\\SystemSpecific.exe";
st._coreSettings._homeDir="C:\\HelloWorld\\SystemSpecific\\Debug";
st._type=WIN32_APP;
st._coreSettings._stopTimeout=500;
st._coreSettings._feedback=TextReceiver;
st._captureIn=true;
st._captureOut=true;
st._coreSettings._name="SystemSpecific";

cst._coreSettings._name="ClipSrv";
cst._type=WIN32_SERVICE;
cst._coreSettings._exeName="ClipSrv";
cst._dependency.push_back("SystemSpecific");

MachineSet * mSet=Storage::getInstance()->getMachineSet();
mSet->addMachine(st);
mSet->addMachine(cst);

StrList failed;
unsigned int started=0;
started=mSet->startAll(failed);


Слайд 17Работа отдельного канала системы распознавания речи Philips SpeechPearl


Слайд 18Интерфейс работы с системой распознавания речи (ASR)
Унификация интерфейса к системам ASR

разных производителей
Облегчение работы по интеграции ASR в прикладные системы
Преобразование некоторых синхронных функций API SpeechPearl в асинхронные

Слайд 19Диаграмма классов



Фасад скрывает сложное внутреннее устройство системы за простым интерфейсом
Шаблонный метод

– определяет структуру алгоритма, реализуя некоторые его этапы в производных классах

Одиночка


Слайд 20Пример работы
unsigned int opened=0;
SRMachine *srMachine=new SRMachine;
// Инициализация системы – открываются 3

канала
if (srMachine->init("C:\\Open\\ConfigPrm\\Log\\client.prm", "C:\\Open\\ConfigPrm\\Log", opened, WCallback, 3)!=DS_SUCCESS) …

ValueSet resources;
resources.putValue(SHADE_REQUESTED_RESOURCE, “test”);
// Запрашивается ресурс распознавания “test”
srMachine->getResource(resources);
resources.getValue(SHADE_ENGINE_INDEX, firstId); …
// Аудиофайл отправляется на распознавание
srMachine->putFile(firstId, "Own/gloomy.wav"); …

RecognitionResult r;
// Получение и печать результата распознавания
srMachine->getLastResult(firstId, r)
printRes(r); …
// Освобождение запрошенного ресурса
srMachine->releaseResource(resources); …

delete srMachine;

Слайд 21Результаты работы
Созданы:
Библиотека универсального доступа к файлам
Система унифицированного управления приложениями
Интерфейс работы с

системой распознавания речи SpeechPearl

Слайд 22Преимущества использования шаблонов проектирования
Упрощение развития и сопровождения программ
Аккумуляция опыта разработчиков
Единая терминология


Слайд 23Презентация «Шаблонное проектирование информационных систем»
Докладчик – Кирьянов Е. М., ПИ-001

Научный руководитель

– Дрыгин К.Ю.

Вопросы?

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика