Судова інформаційна вимірювальна система типу зірка База даних

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство освіти і науки України
Курсова робота з дисципліни "Інформаційні вимірювальні системи"
на тему:
Судова інформаційна вимірювальна система типу "зірка". База даних
2006

Зміст
Введення
Постановка завдання
Судова система - Огляд
Опис проектного рішення
Аналіз проекту
Взаємодія об'єктів
3. Шляхи реалізації критеріїв якості
3.1 Середовище розробки
4. Керівництво користувача
4.1 Керівництво по програмі-сервера
Призначення
Графічне відображення показників датчиків
Обчислення Мінімакс
Ведення звіту
З'єднання з датчиками
Команди головного меню
Ведення звіту
Тимчасові інтервали
4.2 Керівництво по програмам-клієнтам
Призначення
З'єднання з сервером
Налаштування
Ведення звіту
Висновок
Додаток А - Текст програми

Введення
Концепція організації інформації у вигляді баз даних є значимим чинником при створенні систем автоматизованої обробки інформації різного призначення і типів організації. Проектування подібних програмно-технічних компонентів інформаційних систем є комплексним завданням, що включає широкий спектр питань, починаючи від адекватного моделювання предметної області, до вибору необхідних технічних і програмних засобів, написання ергономічних інтерфейсів і т.д. Як показує аналіз виробничої діяльності випускників кафедри інформаційних систем, значне число фахівців працює або значною мірою пов'язане з розробкою та експлуатацією всілякого роду баз даних або засобів автоматизації документообігу.
Дана інформаційна система покликана систематизувати постійно використовувану інформацію.
У широкому сенсі інформаційна система являє собою програмний комплекс, функції якого полягають у підтримці надійного зберігання інформації в пам'яті комп'ютера, виконанні специфічних для цього додатка перетворень інформації або обчислень, надання користувачам зручного і легко освоюваного інтерфейсу.
Найбільш досконалим, зручним і ефективним засобом дослідження океану є суднова інформаційно-вимірювальна система. Вона дозволяє проводити комплексні дослідження поверхні моря, метеоумов, підводного середовища та багатьох інших параметрів, проаналізувавши які ми можемо отримати докладну картину про море, його структуру і особливості даного регіону. На підставі отриманих даних можна прийняти рішення про подальше практичному застосуванні природних ресурсів.

Постановка завдання
У даному курсовому проекті була поставлена ​​задача розробити суднову інформаційно-вимірювальну систему збору даних. Система повинна складатися з датчиків швидкості і напряму вітру, температури, тиску і вологості повітря, забезпечувати зняття показань через задані проміжки часу, виводити результати на екран, зберігати у файлі, виводити дані, усереднені по заданому проміжку часу.
Метою розробки даної системи є полегшити роботу персоналу по збору, обробці, поданням і зберігання інформації, а так само для більш зручного і наочного подання станів датчиків.
Умови роботи даного комплексу - наявність комп'ютера-сервера, на якому відбувається обробка всієї інформації, її наочне відображення та зберігання, а також датчиків в ролі яких можуть виступати як окремі комп'ютери так і метеорологічні зонди.
Системні вимоги для роботи системи: для комп'ютера-сервера - наявність IBM PC сумісного комп'ютера, з операційною системою Windows 9х/2000, наявність мережевої карти в тому випадку, якщо датчики розташовані на віддалених машинах, у разі наявності локальних датчиків необхідна наявність на комп'ютері-сервері інтерфейсної частини для підключення датчиків; для віддалених датчиків системні вимоги зберігаються.
Для найбільш швидкого, точного і повного дослідження вимірювальна система повинна складатися з декількох комплексів, основними з яких є метеокомплекc, навігаційний комплекс, що буксирується комплекс, вимірювач течій, АБС і багато інші. Всі ці комплекси повинні здійснювати безпосередній обмін між собою. Вся отримана інформація має накопичуватися на сервері з розподіленою базою даних. Усі комплекси повинні бути об'єднані між собою в локальну обчислювальну мережу.

1 Судова система. Огляд
Будь-яка судова ІВС складається з декількох комплексів, що є складними прилади для зміни параметрів водного середовища.
Кожен елемент такої системи є ПЕОМ, оснащену специфічним ПЗ і системою датчиків. Вимірювання надходять на блок датчиків, перетворюються в цифрову форму і потім відображаються на екрані дисплея комплексу. Для того, щоб інформація комплексу стала доступною іншим комплексам, як всередині корабля, так і за його межами - організується спеціальна база даних з можливістю виходу в Інтернет. Завдяки такому способу організації, БД істотно спрощується доступ до досліджень, проведеними іншими судами в різні роки. Кожна система оснащується комплексом GPS - комплексом супутникової навігації, що дозволяє визначити місце розташування об'єкта в будь-якій точці земної кулі з точністю до 5 метрів . Буксируваний комплекс використовується для визначення солоності, прозорості і т п. параметрів водного середовища. Автономний буйковий комплекс служить для тривалого вимірювання в автономному режимі без участі судна.

2 Опис проектного рішення
2.1 Аналіз проекту
На першому етапі аналізу необхідно сформулювати вимоги до системи. Система повинна забезпечувати автоматичний моніторинг наступних первинних параметрів:
швидкість і напрямок вітру;
- Температура води;
- Барометричний тиск;
- Вологість повітря.
Система також повинна забезпечувати наступні додаткові функції:
- Зняття показань через задані проміжки часу;
- Висновок результатів на екран;
- Збереження вимірювань у файлі;
- Висновок даних, усереднених по заданому проміжку часу;
- Відображати хронологію показань датчиків, а так само візуально відображає усереднені значення.
Повинна бути передбачена можливість визначення поточного часу і дати, які будуть використовуватися при генерації повідомленні про максимальних і мінімальних значеннях первинних параметрів за певний проміжок часу, а також визначення часу запуску системи.
Необхідно забезпечувати постійний висновок на дисплей поточних значень всіх первинних і похідних параметрів, а також поточний час і дату. Користувач повинен мати можливість побачити максимальні і мінімальні значення кожного з первинних параметрів за заданий інтервал часу, супроводжувані інформацією про час твори відповідного виміру, проводити калібрування датчиків по відомим опорних значеннях, а також встановлювати поточні час і дату.
Тепер, представивши всі вимоги, приступимо до моделювання. Розробка даної системи може здатися досить простим завданням, вирішення якої дозволяє обійтися всього декількома класами і можна зробити поспішний висновок про те, що в даному випадку найбільш простим і ефективним буде відмова від об'єктно-орієнтованого підходу. Але, тим не менш, застосування об'єктно-орієнтованого підходу дозволить у стислі терміни розширити або модернізувати систему в разі потреби.
На початку аналізу розглянемо апаратну частину системи. Це завдання системного аналізу. Вона включає в себе такі питання, як технологічність і вартість системи, які виходять за рамки даного курсового проекту. Для того, щоб звузити проблему, обмежимося аналізом і проектуванням тільки програмних засобів, зробимо такі стратегічні припущення про апаратну частину:
Використовуються комп'ютера-сервера з одним процесором i486 і інтерфейсна частина, в ролі якої може виступати або мережева карта (для віддалених датчиків), або порти для підключення контролерів датчиків (порти СОМ або LТР).
Системні час і дата підтримуються вбудованими годинниками, відповідні значення відображаються в оперативну пам'ять.
Температура, барометричний тиск і вологість визначаються вбудованими контролерами, які з'єднані з відповідними датчиками, а ті у свою чергу підключаються до сервера через його інтерфейсну частину; свідчення контролерів також відображено в оперативну пам'ять.
Напрямок вітру вимірюється з точністю до одного з 8 напрямків.
Введення команд користувачем здійснюється за допомогою інтерфейсу програми - сервера.
Екраном служить звичайний дисплей.
Вбудовані таймери і датчики посилають результати вимірювань на комп'ютер-сервер через заданий проміжок часу.
На рис. 2.1 наведена діаграма, що ілюструє складу апаратної частини системи.

Малюнок 2.1 - Апаратне забезпечення системи моніторингу погоди.
На цьому етапі аналізу абстрагуємося від апаратної частини, щоб сконцентрувати увагу на програмної частини системи. Однією з особливостей об'єктно-орієнтованого підходу є прагнення говорити мовою проблемної області, що полегшує проведення паралелей між програмними абстракціями і ключовими поняттями вихідної задачі. Зміни в апаратній частині впливають лише на деякі нижні рівні системи.
Має сенс створити простий клас TemperatureSensor (температурний датчик) служить аналогом апаратного температурного датчика нашої системи. Ізольований аналіз поведінки цього класу дає в першому наближенні наступний результат:
Ім'я:
TemperatureSensor
Відповідальність:
Підтримання інформації про поточну температурі. Операції:
CurrentTemperature - поточна температура
SetLowTemperature - установка мінімальної температури
setHighTemperature - установка максимальної температури Атрибути:
temperature - температура
Назва операції CurrentTemperature (поточна температура) говорить саме за себе. Призначення двох інших операцій (установка мінімальної і максимальної температур) прямо визначається вимогою до системи, а саме необхідністю проведення калібрування датчиків. Сигнал від кожного датчика - це число з фіксованою точкою з деякого робочого діапазону, граничні значення якого повинні бути задані. Проміжні значення температури обчислюються простий лінійною інтерполяцією між цими двома точками, як показано на рис. 2.2.
Можна задати закономірне питання: навіщо ми створюється спеціальний клас для даної абстракції, коли у вимогах до системи ясно сказано, що температурний датчик може бути тільки один? Це вірно, але з метою забезпечення можливості повторного використання абстракції ми все ж виділяємо її в окремий клас. Насправді кількість температурних датчиків не повинно впливати на архітектуру нашої системи, і, виділяючи окремий клас TemperatureSensor, ми відкриваємо можливість його використання в інших програмах подібного типу.
Абстракція для датчика барометричного тиску може виглядати наступним чином:
Ім'я:
Pressuresensor
Відповідальність:
Підтримання інформації про поточний барометричного тиску. Операції:
currentPressure - поточний тиск
setLowPressure - установка мінімального тиску
setHighPressure - установка максимального тиску Атріути:
divssure - тиск
Абстракцію, відповідну датчику вологості, можна визначити наступним чином:
Ім'я:
Humiditysensore
Відповідальність:
Підтримання інформації про поточну вологості, вираженої у відсотках від 0% до 100%.
Операції:
CurretnHumidity - поточна вологість
SetLowHumidity - установка мінімальної вологості
SetHighHumidity - установка максимальної вологості Атрибути:
Humidity - вологість
Абстракція для датчика швидкості вітру може виглядати наступним чином;
Ім'я:
WindSpeedSensore
Відповідальність:
Підтримання інформації про поточну швидкості вітру. Операції:
CurrentSpeed ​​- поточна швидкість
SetLowSpeed ​​- установка мінімальної швидкості
SetHighSpeed ​​- установка максимальної швидкості Атрибути:
speed - швидкість
Вимоги до системи не припускають можливості отримання швидкості безпосередньо від датчика; поточна швидкість вітру повинна визначатися як відношення числа оборотів на лічильнику до величини інтервалу часу, за яке проводилися виміри. Отримане число потім треба помножити на калібрувальний коефіцієнт, значення якого визначається конструкцією вимірювального пристрою. Цей алгоритм повинен бути, природно, реалізований всередині класу. Клієнти не повинні піклуватися про те, яким чином порахована поточна швидкість вітру.
Останній розглядається датчик - датчик визначення напрямку вітру - дещо відрізняється від всіх інших, так як він не потребує обчисленні мінімальних і максимальних значень. Ми можемо визначити дану абстракцію наступним чином:
Ім'я:
WindDirectionSensor
Відповідальність:
Підтримання інформації про поточний напрямку вітру, яка вказана як місце на розі вітрів. Операції:
currentDirection - поточний напрямок Атрибути:
direction - напрямок
Щоб об'єднати всі класи, пов'язані з датчикам, в одну ієрархію, має сенс створити ще один абстрактний базовий клас TDatchic, який є безпосереднім суперкласом для всіх класів. Рис. 2.3 ілюструє повну ієрархію класів датчиків.

Рис.2.3 - Ієрархія класів датчиків

Однак вимоги до системи мають на увазі наявність загальної поведінки для всіх трьох перерахованих вище класів. Зокрема, ми повинні забезпечити показ поточних значень датчиків в графічній формі.
Дня цього є сенс створити простий клас WindIndicator для графічного представлення напрямку вітру. Ізольований аналіз поведінки цього класу дає в першому наближенні наступний результат:
Ім'я:
Відповідальність:
Графічне подання напряму вітру. Операції:
Update - відображення поточного напряму вітру.
Абстракцій для індикатора температури TemperatureIndicator може виглядати наступним чином:
Ім'я:
TemperatureIndicator
Відповідальність:
Графічне подання величини температури.
Update - відображення поточної температури.
Абстракція для індикатора атмосферного тиску PressureIndicator може виглядати наступним чином:
Ім'я:
PressureIndicator
Відповідальність:
Графічне подання величини атмосферного тиску. Операції:
Update - відображення поточного значення атмосферного тиску.
Абстракція для індикатора вологості повітря HumidityIndicator може виглядати наступним чином:
Ім'я:
HumidityIndicator
Ответственноcть:
Графічне подання величини вологості повітря. Операції:
Update - відображення поточного значення вологості повітря.
Щоб об'єднати всі класи, пов'язані з індикаторами, в одну ієрархію, має сенс створити ще один абстрактний базовий клас Indicator, який є безпосереднім суперкласом для всіх класів. Рисунок 2.4 ілюструє ієрархію класів індикаторів.

Малюнок 2.4 - Ієрархія класів індикаторів
2.2 Взаємодія об'єктів
У системі є глобальний об'єкт-сервер і чотири об'єкти-датчика. Їх взаємодія полягає в наступному. Датчик відсилає свідчення на сервер в кілька етапів. Спочатку отримане значення записує в динамічний список, потім після закінчення заданого моменту часу він бере перше значення з черги і підсумовує його з попереднім. Потім перевіряється задане число на осереднення значення. Якщо ми накопичили це число, то відсилається усереднене число, якщо ж ні, то відсилається отримане значення. Після перерахованих вище дій значення з черги видаляється. Черга була введена потім, що інтервал часу зчитування значення, і його відсилання на сервер може не збігатися.
Сервер у свою чергу визначає, чи отримав він поточне або усереднене значення датчика. Якщо він отримав усереднене значення, тоді він перевіряє заданий на сервері інтервал часу, оновлення Мінімакс. Якщо інтервал часу минув, тоді значення Мінімакс за заданий проміжок часу зберігається у файлі звіту і прийшло значення з датчика присвоюється як поточне. Якщо прийшло значення з датчика не усереднене, а поточне, тоді оновлюється діаграма поточних показників.
Взаємодія сервера з датчиками можна представити схемою, представленої на Рис.2.5.

Рис.2.5 - Схема взаємодії об'єктів в системі
Цикл життя датчика можна представити схемою представленою на рис. 2.6.

Малюнок 2.6 - Схема життєвого циклу датчика

3. Шляхи реалізації критеріїв якості
3.1 Середовище розробки
Щоб максимально використовувати переваги об'єктно-орієнтованого підходу програма була реалізована в середовищі розробки Delphi 5.5 з використанням додаткових компонент:
DinamicSkinForm v1.6 for Delphi
RX Library 2.75
Delphi була обрана для реалізації системи з наступних причин:
Високопроізводітел'ний компілятор в машинний код.
Об'єктно-орієнтована модель компонент.
Візуальне (а, отже і швидкісне) побудова додатків ізпрограммних прототипів.
З метою поліпшення інтерфейсу програми з користувачем і більш зручного подання показань датчиків були застосовані графічні компоненти.

4. Керівництво користувача
4.1 Керівництво по програмі-сервера
4.1.2 Призначення
Програма-сервер (далі сервер) призначена для обробки і відображення інформації отриманої від датчиків. Сервер може розташовуватися як на окремому комп'ютері, так і на одному комп'ютері разом з датчиками. В основні функції сервера входить:
Графічне відображення на маршруті;
Обчислення Мінімакс за заданий проміжок часу;
Ведення звіту
4.1.3 Графічне відображення показників датчиків
Для кожного датчика відображається хронологічна діаграма, в якій представлено останні кілька вимірів, причому при прийомі чергового показання датчика всі інші свідчення зміщуються вліво. Крім цього присутні індикатори для наочного подання усереднених значень по кожному датчику. Ці індикатори винесені в окреме вікно, яке можна викликати, поставивши прапорець у полі індикатори в головному вікні сервера.
4.1.4 Обчислення Мінімакс
Сервер, по кожному датчику проводить моніторинг максимального і мінімального значення параметра. Часовий діапазон поновлення цих значень може бути налаштований у діалоговому вікні Налаштування інтервалів, яке можна викликати з основного меню Налаштування -> Інтервали або натиснувши кнопку «Налаштувати» на панелі інструментів внизу головного вікна сервера.

4.1.5 Ведення звіту
Сервер може вести звіт, в якому міститься час прийому і значення датчиків. Крім того, через зазначені проміжки часу до звіту виводиться значення мінімумів і максимумів. Крім показань датчиків у звіті відображається відомості про підключення і відключення датчиків. Для більш зручного перегляду звіту можна натиснути на кнопку Переглянути лог.
4.1.6 З'єднання з датчиками
З'єднання датчиків з сервером здійснюється коштами самих датчиків. Сервер, при успішному поєднанні з датчиком, поміщає в звіт відомості наступного змісту:
<Час> Connected: <ім'я комп'ютера з датчиком> (<ID-адрес>) При відключенні датчика сервер поміщає до звіту відомості наступного змісту:
<Час> Disconnected: <ім'я комп'ютера з датчиком> (<ID-адрес>) Про те як підключити датчик до сервера вказано в посібнику клієнтам у розділі З'єднання з сервером.
4.1.7 Команди головного меню
Головне меню програми сервера розташоване у верхній області вікна програми і складається з наступних пунктів меню:
Файл
Відкрити - відкриття існуючого файлу звіту;
Вихід - вихід з програми.
Установки
• Інтервали - виклик діалогового вікна Настройка інтервалів.
Довідка - виклик довідкової системи

4.1.8 Ведення звіту
Сервер може вести звіт (відключити або включити звіт можна поставивши прапорець Enable Log в нижній частині вікна сервера), в який заноситься час і значення датчиків. Крім того через зазначені проміжки часу до звіту заноситься значення мінімумів і максимумів. Крім показань датчиків у звіті відображається відомості про підключення і відключення датчиків.
Формат повідомленні має наступний вигляд:
<Дата> <Час> <Температура> <Вологість> <Тиск>
<Швидкість вітру>
Формат стану підключення датчиків:
<Час> <Стан> <ім'я комп'ютера з датчиком> (<ID адрес>)
Формат відображення Мінімакс:
<Час> Мінімакс за останні <Час оновлення Мінімакс>
Температура min <3наченіе> max <3наченіе>
Вологість min <3паченіе> max <3наченіе>
Тиск min <3наченіе> max <3начепіе>
Вітер min <3наченіе> max <3паченіе>
Вміст звіту відображається в нижній частині головного вікна сервера. Для більш зручного перегляду звіту можна натиснути на кнопку Переглянути лог,
Звіт можна зберегти в txt файлі (кнопка Зберегти на панелі інструментів) або відкрити вже існуючий (кнопка Відкрити лог) або очистити (кнопка Очистити лог).
Поведінка звіту легко налаштовується. Звіт можна або вести або не вести. Перемикання між цими станами виробляється установкою або зняття прапорця Enable Log в нижній частині вікна сервера.
У діалоговому вікні Настройка інтервалів відбувається налаштування часових інтервалів Оновлення звіту та Інтервал оновлення Мінімакс. Це діалогове вікно викликається з основного меню
Установки àІнтервали або натиснувши кнопку Налаштувати на панелі інструментів. Детальніше про ці інтервалів описано нижче.
4.1.9 Тимчасові інтервали
Тимчасові інтервали - це інтервали Оновлення звіту та Інтервал оновлення Мінімакс. Ці інтервали впливають на частоту внесення показань датчиків у звіт і оновлення мінімальних і максимальних значень відповідно. Їх можна настроїти в діалоговому вікні Настройка інтервалів. Це діалогове вікно викликається з основного меню Налаштування - Інтервали або натиснувши кнопку Налаштувати на панелі інструментів.
4.2 Керівництво по програмам-клієнтам
4.2.1 Призначення
Програми-клієнти (далі датчики) призначені для збору чи генерації різних природних явищ, їх обробці (обчислення середнього значення за певний проміжок часу) і відправки даних на сервер. Датчики поділяються на;
Датчик температури
Датчик атмосферного тиску
Датчик швидкості і напряму вітру
Датчик вологості
Кожен датчик генерує в певному діапазоні і з певною швидкістю значення. Крім того датчик обчислює середнє значення параметра з кількох значень. В датчику так само присутній чергу, в яку поміщаються не відіслані значення. Кожен датчик веде звіт вимірювань, в якому відображається поточний стан датчика.

4.2.2 З'єднання з сервером
Після запуску датчика необхідно з'єднається з сервером. Існує два способи з'єднання:
• по IP-адресою сервера (для віддаленого з'єднання з сервером). Для цього необхідно поставити прапорець НОSТ or TCP / IP і ввести в полі IP-адресу машини з сервером і натиснути на кнопку Connect.
• на ім'я сервера. Для цього необхідно прибрати прапорець НОSТ ог ТСР / IР і ввести ім'я сервера і натиснути кнопку Connect.
При успішному з'єднанні з сервером в звіт сервера буде добавлена ​​відповідний запис.
Для початку зняття (генерації) датчиком показань необхідно натиснути кнопку § 1ап. Однак ця кнопка блокується, поки датчик не буде успішно з'єднаний з сервером.
4.2.3 Налаштування
Датчик може бути налаштований у відповідності з вимогами користувача. Настройці підлягають наступні параметри:
Time: час генерації датчиком нового значення;
Time send: час відправлення на сервер згенерованого значення датчика;
Cound: число, що визначає кількість відправок після якого буде проведений розрахунок і відправка на сервер середнього значення.
Ці параметри можна налаштувати у верхній частині вікна датчика, де містяться відповідні поля для їх налаштування.
4.2.4 Ведення звіту
Кожен датчик веде звіт. Щоб дозволити ведення звіту необхідно встановити прапорець Enable Log. У звіті, в залежності від прапора LSD Log, буде виводитися стан датчика. Прапор LSD Log дозволяє додавання до звіту інформації про середнє значення датчика за період, зазначений у полі Count.
Звіт можна зберегти на диску (кнопка Зберегти звіт) або очистити (кнопка Очистити лог).

Висновок
Даний курсовий проект розроблений відповідно до постановкою завдання на курсове проектування на тему "Судова інформаційно вимірювальна система" за курсом "Інформаційно вимірювальні системи".
При написанні програми була використана технологія OLE Automatic і клієнт-серверна структура програми, яка дозволила максимально полегшити написання програми та використання сучасних технологій в реалізації поставленої задачі. У системі передбачена можливість масштабування і віддаленого розташування складових частин системи за допомогою локальної та глобальної мережі Internet, застосований графічний інтерфейс для полегшення роботи користувача з програмою і кращої візуалізації показань датчиків.
Система була перевірена в локальній мережі. Це свідчить про те, що розроблену систему можна впроваджувати у сферу її застосування. Використання даної системи дозволить максимально ефективно проводити обмін інформацією між робочими комплексами.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
50.5кб. | скачати


Схожі роботи:
Створення бази даних для паспортно-візової служби Інформаційна система
Судова влада і судова система Російської Федерації
Космпютеризована вимірювальна система вимірювання залежності кутової швидкості від часу
Інформаційна база економічного аналізу
Судова система України Судова риторик
Інформаційна база бухгалтерського управлінського обліку
Фінансова звітність як інформаційна база аудиту
Інформаційна база фінансового аналізу комерційного банку
Інформаційна база мети і підходи до проведення фінансової звітності
© Усі права захищені
написати до нас