Russian Qt Forum
Ноябрь 23, 2024, 08:02
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Система сбора и отображения данных
Страниц: [
1
]
2
3
...
6
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Система сбора и отображения данных (Прочитано 40098 раз)
8Observer8
Гость
Система сбора и отображения данных
«
:
Март 06, 2014, 07:31 »
Привет! С работы, на которую я хочу устроиться, мне дали задание. От граммотного выполнения которого зависит моя судьба
Задание на разработку системы сбора и отображения данных
Описание
В отсеке реактора атомного ледокола есть около 10 датчиков считывающих различную информацию о работе реактора. Датчики подключенны к компьютеру с Unix подобной ОС, для обработки информации с каждого датчика запущен свой процесс или тред (в дальнейшем - "Драйвер Датчика"). Сбор информации с драйверов датчиков осуществляет установленное на этом же компьютере приложение - "Сервер Данных". На удаленном компьютере установлено приложение, отображающее полученную с датчиков информацию - "Приложение Оператора"
Драйвер Датчика
В каждый момент времени хранит текущее значение измеряемого датчиком параметра.
Сервер Данных
- Опрашивает Драйвера Датчиков и получает текущие значения.
- Хранит все изменения значений датчиков.
- По запросу от Приложения Оператора предоставляет следующие данные о состоянии датчиков:
- текущее состояние датчика
- состояние датчика на определённый момент времени
- история изменений состояния датчиков за указанный период времени
Приложение Оператора
Запрашивает с Сервера Данных информацию и отображает ее.
Задание
- Разработать Драйвер Датчика, Сервер Данных и обеспечить между ними обмен данными
- Обеспечить обмен данными между Сервером Данных и Приложением Оператора
- Если потребуется - разработать Приложение Оператора
Условия
- Драйвер Датчика и Сервер Данных должны быть разработаны на .NET-или (C++(Qt))
- Технология обмена данными с Приложением Оператора может быть любая.
- Приложение Оператора может быть разработанно на любой платформе и любой ОС, или может быть использованно готовое программное обеспечение.
- В Драйвере Датчика в качестве источника данных можно использовать случайные значения.
«
Последнее редактирование: Февраль 19, 2015, 20:21 от 8Observer8
»
Записан
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #1 :
Март 06, 2014, 07:33 »
Я открыл примеры из Qt Creator'а. Ввёл в поиске Server. Там есть примеры: "Fortune Server Expample" и "Threaded Fortune Server"
Я так понимаю, что мне, во время написания приложения, нужно руководствоваться примером "Threaded Fortune Server"
Опишите, пожалуйста, как можно подробнее, как с точки зрения профи должно выглядить это приложение.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Система сбора и отображения данных
«
Ответ #2 :
Март 06, 2014, 07:58 »
Цитата: 8Observer8 от Март 06, 2014, 07:33
Опишите, пожалуйста, как можно подробнее, как с точки зрения профи должно выглядить это приложение.
Печально, что вы так и не открыли книгу Гради Буч.
Там у него один из примеров, как раз разработка системы сбора данных, правда метеорологических, но это в данном случае значения не имеет.
Записан
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #3 :
Март 06, 2014, 08:54 »
Цитата: Old от Март 06, 2014, 07:58
Печально, что вы так и не открыли книгу Гради Буч.
Там у него один из примеров, как раз разработка системы сбора данных, правда метеорологических, но это в данном случае значения не имеет.
Это удивительно, но я нашёл такой же пример и в этой книге: "Быстрая разработка программ: принципы, примеры, практика"
http://rutracker.org/forum/viewtopic.php?t=905917
Причём авторы этой книги делают ссылки на книгу и статьи Гради Буч
«
Последнее редактирование: Март 11, 2014, 17:44 от 8Observer8
»
Записан
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #4 :
Март 06, 2014, 08:55 »
Буду выполнять это задание, опираясь на эти три книги:
Быстрая разработка программ: принципы, примеры, практика
(издание 2004, есть пример с метеостанцией, язык примеров - Java)
Скачать:
http://rutracker.org/forum/viewtopic.php?t=905917
Принципы, паттерны и методики гибкой разработки
(издание 2011, нет примера с метеостанцией, язык примеров - C#)
Скачать:
http://rutracker.org/forum/viewtopic.php?t=4295746
Исходники:
http://www.objectmentor.com/PPP/
Объектно-ориентированный анализ и проектирование с примерами приложений (3-е издание)
Перевод:
http://rutracker.org/forum/viewtopic.php?t=3343958
Оригинал:
http://kickass.to/object-oriented-analysis-and-design-with-applications-3rd-editio-t2753820.html
И на эти примеры из Qt:
- Fortune Server Example
- Threaded Fortune Server
- Fortune Client Expample
«
Последнее редактирование: Март 11, 2014, 17:47 от 8Observer8
»
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Система сбора и отображения данных
«
Ответ #5 :
Март 06, 2014, 09:02 »
Цитата: 8Observer8 от Март 06, 2014, 08:54
Причём автор этой книги делает ссылки на книгу и статьи Гради Буч
Не удивительно, ребята небось просто переработали Буча для C#.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Система сбора и отображения данных
«
Ответ #6 :
Март 06, 2014, 10:33 »
Ну нифигасе задачка.
Для таких случаев используют разные SCADA. Возьми готовую SCAD-у и забацай в ней то что нужно.
Например можешь эту
OpenScada
взять (она свободная и на Qt). В ней ты можешь и эмулировать сбор данных с датчиков и прочие няшки делать. Документация на русском, плюс там есть форум на котором ответят.
[нацпол]
А может и не ответят, т.к. разработчики из Украины, и там не до датчиков сейчас.
[/нацпол]
«
Последнее редактирование: Март 06, 2014, 10:36 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
OKTA
Гость
Re: Система сбора и отображения данных
«
Ответ #7 :
Март 06, 2014, 10:36 »
Его тогда программистом на работу не возьмут, если он в OpenScada будет делать
к тому же в OpenScada и программировать ничего не надо - только настраивать
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Система сбора и отображения данных
«
Ответ #8 :
Март 06, 2014, 10:37 »
Так у него ж в требованиях написано:
Цитировать
Приложение Оператора может быть разраоотанно на любой платформе и любой ОС,
или может быть использованно готовое программное обеспечение
.
Записан
ArchLinux x86_64 / Win10 64 bit
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #9 :
Март 06, 2014, 10:51 »
Цитата: kuzulis от Март 06, 2014, 10:33
Для таких случаев используют разные SCADA. Возьми готовую SCAD-у и забацай в ней то что нужно.
Спасибо! Уверен, мне в будущем это пригодится
Цитата: kuzulis от Март 06, 2014, 10:33
Ну нифигасе задачка.
Тут нужно понимать, что никакого ледокола нет и это просто тестовое задание
Цитата: kuzulis от Март 06, 2014, 10:37
Так у него ж в требованиях написано:
Там написано, что на приложение оператора "можно забить" и использовать готовое решение. В вот Клиенты и Сервер
должны быть
написаны на .NET-или (C++(Qt))
Цитировать
-
Драйвер Датчика и Сервер Данных
должны быть разработаны на .NET-или (C++(Qt))
-
Приложение Оператора
может быть разработанно на любой платформе и любой ОС, или может быть использованно готовое программное обеспечение.
Записан
OKTA
Гость
Re: Система сбора и отображения данных
«
Ответ #10 :
Март 06, 2014, 10:56 »
Пока в опенскаде этой что-либо настроишь человеческое, состаришься
Записан
Bepec
Гость
Re: Система сбора и отображения данных
«
Ответ #11 :
Март 06, 2014, 12:17 »
Задание простейшее на уровне 3 курса колледжа. Если убрать все красивости типо атомохода, то выливается - есть удалённый компьютер. С ним надо связаться. Нужно создать N клиентов и 1 сервер. Способ связи любой, http\сокеты\ftp. FortuneServer после переработки подойдёт на все 100%.
PS если такое не сделает парень, изучающий ООП уже ммм... ну месяца 2, то ничего он не изучал
Записан
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #12 :
Март 06, 2014, 12:28 »
Я так понимаю, что мне нужно будет в Qt создать несколько проектов:
1)
Сервер
. К нему подключаются клиенты (датчики). Сервер ждёт от датчиков показаний. Сохраняет показания (вместе с датой и временем) в бинарный (или текстовый файл)
3)
Клиент
[1, 2, 3, ..., и т.д.]. При запуске подключается к Серверу. Отправляет серверу показания (с периодом... правда, не знаю, кто задаёт период...).
2)
Приложение Оператора
. Соединяется с сервером. Отображает данные с датчиков, для этого делает запросы с периодом указанных секунд (можно менять период запросов). С Приложения Оператора можно сделать запрос прислать с сервера данные за определённый промежуток времени.
P.S. Пожалуйста, поправьте, если что-то не так.
«
Последнее редактирование: Март 06, 2014, 12:30 от 8Observer8
»
Записан
OKTA
Гость
Re: Система сбора и отображения данных
«
Ответ #13 :
Март 06, 2014, 12:38 »
Сервер сам опрашивает датчики, судя из задания.
Сервер и датчики на одном компьютере типа, если что.
Я вот только не могу понять, зачем уточнение про Unix-подобную ОС..
«
Последнее редактирование: Март 06, 2014, 12:42 от OKTA
»
Записан
8Observer8
Гость
Re: Система сбора и отображения данных
«
Ответ #14 :
Март 06, 2014, 12:56 »
Цитата: Bepec от Март 06, 2014, 12:17
FortuneServer после переработки подойдёт на все 100%.
По-моему, FortuneServer может работать только с одним клиентом. Здесь нужен ThreadedFortuneServer
Цитата: OKTA от Март 06, 2014, 12:38
Сервер сам опрашивает датчики, судя из задания.
Да, точно! Спасибо!
Цитата: OKTA от Март 06, 2014, 12:38
Сервер и датчики на одном компьютере типа, если что.
А мне кажется, что на разных.
Цитата: OKTA от Март 06, 2014, 12:38
Я вот только не могу понять, зачем уточнение про Unix-подобную ОС..
А это мне тоже непонятно, так как в задании написано можно применять фрейворк .Net, а он ведь только для Windows.
Записан
Страниц: [
1
]
2
3
...
6
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...