№
|
Процедура
|
Функціональне
призначення
|
1
|
void
__fastcall TabREGAfterScroll (TDataSet *DataSet)
|
Відображення
значень метеорологічних показників під час моніторингу при навігації по
таблиці регіонів
|
2.3
Опис інтефейсу програмного продукту з користувачем
Інтерфейс програмного продукту з користувачем
реалізується з використанням вікон (форм C++Builder), на яких під час
візуального проектування були розташовані візуальні компоненти.
Вигляд головного вікна програмного продукту
представлений на рис.1. У лівій частині вікна розташований список регіонів, у
правій - карта поточного регіону в списку.
Функціональні задачі та технологічні операції
виконуються за допомогою команд головного меню.
Рис. 1. Вигляд головного вікна програмного продукту
Пункт меню "Регіони" призначений для формування
однойменного реєстру. Команди цього пункту виконують технологічні операції
введення, редагування та видалення, сортування даних у цьому реєстрі. Введення
та редагування даних про регіони здійснюється за допомогою діалогового вікна,
зображеного на рис. 2.
Рис. 2. Вигляд вікна введення та редагування назв та
картографічних зображень регіонів
Найменування регіону вводиться в полі з відповідною назвою,
що знаходиться в верхній частині вікна. В центральній ділянці вікна
завантажується з файлу зображення карти. Цю дію виконує перша кнопка в лівій
частині інструментальної панелі, розташованої в нижній частині вікна.
Завантаження карти здійснюється за допомогою стандартного системного діалогу
відкриття файлів. Видалення карти здійснюється за допомогою другої кнопки в
лівій частині інструментальної панелі.
Кнопки, що розташовані в правій частині інструментальної
панелі, призначені для збереження даних в реєстрі (перша в правій групі) або
скасування розпочатої технологічної операції (друга в правій групі).
Видалення регіону виконуються лише після підтвердження
своїх намірів користувачем у запиті, що відображається в стандартному
діалоговому вікні IDE C++Builder (рис. 3).
Рис. 3. Вигляд запиту на підтвердження технологічної
операції видалення регіону
Якщо користувач скасує операцію, відображатиметься
повідомлення, наведене на рис. 4.
Рис. 4. Вигляд повідомлення про скасування операції
видалення регіону
За допомогою команди "Сортувати за алфавітом"
пункту меню "Регіони" можна розташувати регіони в алфавітному
порядку.
Пункт меню "Метеорологічні показники" призначений
для відкриття вікна з однойменним заголовком, що зображене на рис. 5.
Рис. 5. Вигляд вікна "Метеорологічні показники"
У нижній частині вікна розташована інструментальна панель з
кнопками для виконання технологічних операцій в реєстрі метеорологічних
показників. Решта вікна відведена для таблиці показників.
Натискання кнопки з надписом "Ввести значення
параметрів" призведе до відкриття діалогового вікна, зображеного на рис.
6.
Рис. 6. Вигляд вікна введення (редагування) значень
метеорологічних показників
Наведене вікно містить:
· списки вибору
характеристик атмосферного стану та напрямку вітру;
· інструментальну панель,
на якій відображається назва регіону та розташовані дві кнопки: перша - для
збереження визначених даних у реєстрі метеорологічних показників, друга - для
скасування розпочатої технологічної операції введення (редагування) їх значень.
Видалити значення для поточного регіону або
взагалі очистити таблицю від значень метеорологічних показників можна за
допомогою кнопок з відповідними надписами, що розташовані на інструментальній
панелі. Кнопка закриття вікна метеорологічних показників також знаходиться на
цій панелі.
Моніторинг метеорологічних показників
здійснюється за допомогою команд пункту меню "Моніторинг".
Автоматичне керування моніторингом полягає в тому, що з певним інтервалом часу
в головному вікні відображаються:
· карта чергового регіону,
· значення метеорологічних
показників для цього регіону.
Після відображення даних останнього в списку
регіону процес розпочинається спочатку. Зупинення автоматичного моніторингу
здійснюється користувачем за допомогою команди "Скасування режиму
моніторингу" пункту меню "Моніторинг".
Моніторинг під керуванням користувача полягає в
тому, що він обирає в списку потрібні регіони і бачить їх карти та значення
метеорологічних показників. Вибір регіонів може здійснюватися в будь-якому
порядку. Вихід з режиму моніторингу здійснюється таким самим чином, що для
автоматичного.
В режимі моніторингу неможливо редагувати дані -
відповідні пункти меню втрачають доступ. Після скасування режиму моніторингу
досту до них відновлюється.
Завершення роботи програмного продукту
здійснюється за допомогою пункту меню "Вихід" головного вікна.
2.4
Тестування програмного продукту та його результати
На етапі тестування визначаються споживчі
властивості програмного продукту. Успішне проведення повномасштабного
тестування є запорукою його якості та ефективного використання під час
експлуатації.
План тестування програмного продукту складено з
наступних міркувань:
- визначення повноти
реалізації всіх функціональних вимог;
- перевірка виконання
критеріїв безпеки;
- доведення його
працездатності, стійкого виконання та коректного завершення всіх операцій
незалежно від дій користувача.
Тестування програмного продукту складалося з
таких кроків:
. Контроль коректності керування станом
інтерфейсу головного вікна.
2. Контроль коректності формування реєстру
регіонів.
. Контроль коректності формування реєстру
метеорологічних показників.
. Контроль коректності моніторингу в
автоматичному режимі.
. Контроль коректності моніторингу під
керуванням користувача.
Результати тестування підтвердили коректність
виконання всіх функціональних та кваліфікаційних вимог.
Висновки
Програмний продукт "Статистика
метеоспостережень" розроблено на основі індивідуального завдання до
курсової роботи. Він реалізує формування електронного реєстру та презентацію
показників метеорологічних спостережень по областях (регіонах), визначених
користувачем.
Програмний продукт розроблено з використанням в
якості інструментальних засобів інтерактивного об’єктно-орієнтованого
середовища програмування C++-Builder та СКБД MS Access, що відповідає сучасним
тенденціям розвитку технологій розробки системного програмного забезпечення.
Випробування програмного продукту
продемонстрували його працездатність та відповідність заданим функціональним,
кваліфікаційним та експлуатаційним вимогам.
Перелік
використаної літератури та інформаційних ресурсів
1. Архангельський
А.Я. Программирование в C++Builder. - M. БИНОМ, 2012, 1162с.
2. Герберт
Шилд. С++ для начинающих. Москва-2007, с.485 с.
. Глинський
Я. М та ін. С++ і С++Builder. Навчальний посібник. - Львів, 2004. Х.: Фоліо,
2004, 189с.
. Кораблев
В.С. С и С++. - К.: BHV, 2002, 251с.
. Сопронюк
С.М. Системне програмування: Методичні рекомендації та завдання для
лабораторних робіт. - Чернівці: ЧНУ, 2003, 142с.
. Стенли
Б. Липпман. Основы программирования на С++. - М. - СПб. - К. Вильямс, 2002,
631с.
. http://www.e-reading.org.ua/bookreader.
php/141823/Hart_ - _Sistemnoe_programmirovanie_v_srede_Windows.html
. http://www.helloworld.ru/texts/comp/lang/c/c4/index.
htm
. http://lib.rus.
ec/b/183565
Додаток
Програмний код
// Статистика метеоспостережень - головний модуль
#include <vcl. h>
#pragma hdrstop
#include "UnitMain. h"
#include "UnitData. h"
#include "UnitReg. h"
#include "UnitPar. h"
#pragma package (smart_init)
#pragma resource "*. dfm"*FormMain;
__fastcall TFormMain:: TFormMain (TComponent*
Owner)
: TForm (Owner)
{
}
// Керування станом інтерфейсу головного
вікна__fastcall TFormMain:: InterfaceControl ()
{>Enabled=FormData->TabREG->RecordCount>0;>Enabled=NRedit->Enabled;>Enabled=NRedit->Enabled;>Enabled=NRedit->Enabled;>Enabled=NRedit->Enabled;
}
// Встановлення параметрів інтерфейсу на початку
роботи програмного проекту__fastcall TFormMain:: FormActivate (TObject *Sender)
{();
}
// Введення даних про регіон__fastcall
TFormMain:: NRaddClick (TObject *Sender)
{>TabREG->Insert ();>ShowModal ();();
}
// Редагування даних про регіон__fastcall
TFormMain:: NReditClick (TObject *Sender)
{>TabREG->Edit ();>ShowModal ();();
}
// Видалення регіону__fastcall TFormMain::
NRdelClick (TObject *Sender)
{(Application->MessageBox ("Підтвердіть
необхідність або скасуйте видалення регіону!","Увага!",MB_YESNO)
==6)
{>TabREG->Delete ();();
}ShowMessage ("Операцію скасовано
користувачем");
}
// Сортування регіонів за алфавітом__fastcall
TFormMain:: NRsortClick (TObject *Sender)
{>TabREG->IndexFieldNames="Регіон";
}
// Відкриття вікна "Метеорологічні
показники"__fastcall TFormMain:: NPClick (TObject *Sender)
{>ShowModal ();
// Моніторинг в автоматичному режимі__fastcall
TFormMain:: NMautoClick (TObject *Sender)
{>Enabled=false;>Enabled=false;>Enabled=false;->Visible=true;>Visible=true;>TabREG->First
();->Enabled=true;
}
// Моніторинг під керуванням
користувача__fastcall TFormMain:: NMmanualClick (TObject *Sender)
{>Enabled=false;>Enabled=false;>Enabled=false;>Visible=true;->Visible=true;
}
// Скасування режиму моніторингу__fastcall
TFormMain:: NMCClick (TObject *Sender)
{>Enabled=true;>Enabled=true;>Enabled=true;>Enabled=true;>Visible=false;->Visible=false;->Enabled=false;
}
// Моніторинг в автоматичному режимі__fastcall
TFormMain:: Timer1Timer (TObject *Sender)
{>TabREG->Next
();(FormData->TabREG->Eof) FormData->TabREG->First ();
}
// Завершення роботи програмного проетку__fastcall
TFormMain:: NVClick (TObject *Sender)
{();
}
// Статистика метеоспостережень - модуль
редагування даних про регіони
#include <vcl. h>
#pragma hdrstop
#include "UnitReg. h"
#include "UnitData. h"
#pragma package (smart_init)
#pragma resource "*. dfm"*FormReg;
__fastcall TFormReg:: TFormReg (TComponent*
Owner)
: TForm (Owner)
{
}
// Керування відображенням кнопки збереження
даних про регіони__fastcall TFormReg:: EditRegChange (TObject *Sender)
{>Visible=EditReg->Text! =0;
}
// Введення карти__fastcall TFormReg:: SBaddClick
(TObject *Sender)
{(OpenKarta->Execute
())>Picture->LoadFromFile (OpenKarta->FileName);
}
// Видалення карти__fastcall TFormReg::
SBdelClick (TObject *Sender)
{>Picture->Bitmap=NULL;
}
// Збереження змін в реєстрі регіонів__fastcall
TFormReg:: SBsaveClick (TObject *Sender)
{>TabREG->Post ();();
}
// Скасування змін в реєстрі регіонів__fastcall
TFormReg:: SBcancelClick (TObject *Sender)
{>TabREG->Cancel ();();
}
// Статистика метеоспостережень - модуль
метеорологічних параметрів
#include <vcl. h>
#pragma hdrstop
#include "UnitPar. h"
#include "UnitData. h"
#include "UnitMet. h"
#pragma package (smart_init)
#pragma resource "*. dfm"*FormPAR;
__fastcall TFormPAR:: TFormPAR (TComponent*
Owner)
: TForm (Owner)
{
}
// Встановлення параметрів інтерфейсу при
відкритті вікна "Метеорологічні параметри"__fastcall TFormPAR::
FormActivate (TObject *Sender)
{
;
}
// Відкриття вікна редагування метеорологічних
параметрів__fastcall TFormPAR:: SBaddClick (TObject *Sender)
{>TabREG->Edit ();>ShowModal ();
}
// Видалення метеорологічних параметрів для
поточного регіону__fastcall TFormPAR:: SBcancelClick (TObject *Sender)
{>TabREG->Edit ();>TabREG_2->Clear
();>TabREG_3->Clear ();>TabREG_4->Clear ();>TabREG_5->Clear
();>TabREG_6->Clear ();>TabREG_7->Clear ();>TabREG_8->Clear
();>TabREG->Post ();
}
// Видалення усіх метеорологічних
параметрів__fastcall TFormPAR:: SBdelClick (TObject *Sender)
{>TabREG->First ();(!
FormData->TabREG->Eof)
{>TabREG->Edit ();>TabREG_2->Clear
();>TabREG_3->Clear ();>TabREG_4->Clear ();>TabREG_5->Clear
();>TabREG_6->Clear ();>TabREG_7->Clear ();>TabREG_8->Clear
();>TabREG->Post ();>TabREG->Next ();
}
}
// Закриття вікна "Метеорологічні
параметри"__fastcall TFormPAR:: SpeedButton1Click (TObject *Sender)
{();
// Статистика метеоспостережень - модуль
редагування значень метеорологічних параметрів
#include <vcl. h>
#pragma hdrstop
#include "UnitMet. h"
#include "UnitData. h"
#pragma package (smart_init)
#pragma resource "*. dfm"*FormMET;
__fastcall TFormMET:: TFormMET (TComponent*
Owner)
: TForm (Owner)
{
}
// Керування відображенням кнопки збереження
значень метеорологічних параметрів__fastcall TFormMET:: EditDTChange (TObject
*Sender)
{>Visible=EditDT->Text! =0 &&
EditNT->Text! =0 &&>Text! =0 && EditVV->Text! =0
&& EditVV->Text! =0 &&>Text! =0 &&
BoxNV->Text! =0;
}
// Збереження значень метеорологічних
параметрів__fastcall TFormMET:: SBsaveClick (TObject *Sender)
{>TabREG->Post ();();
}
// Скасування змін метеорологічних
параметрів__fastcall TFormMET:: SBcancelClick (TObject *Sender)
{>TabREG->Cancel ();();
}
// Моніторинг метеоспостережень - модуль
зв"язку з БД
#include <vcl. h>
#pragma hdrstop
#include "UnitData. h"
#include "UnitMain. h"
#pragma package (smart_init)
#pragma resource "*. dfm"*FormData;
__fastcall TFormData:: TFormData (TComponent*
Owner)
: TDataModule (Owner)
{
}__fastcall TFormData:: TabREGAfterScroll
(TDataSet *DataSet)
{(! FormMain->NR->Enabled)
{(FormData->TabREG_2->IsNull)
{>Label7->Caption=" Дані
відсутні";>Label6->Caption="";>Label5->Caption="";>Label4->Caption="";>Label3->Caption="";>Label2->Caption="";
}
{>Label7->Caption=FormData->TabREG__->AsString;
// атмосферний стан>Label6->Caption="Денна температура -
"+FormData->TabREG_2->AsString;>Label5->Caption="Нічна
температура - "+FormData->TabREG_3->AsString;>Label4->Caption="Атмосферний
тиск - "+FormData->TabREG_5->AsString+"мм. рт.
ст";>Label3->Caption="Вітер -
"+FormData->TabREG__2->AsString+" "+FormData->TabREG_7->AsString+"м/c";>Label2->Caption="Вологість
повітря - "+FormData->TabREG_2->AsString+"%";
}
}
}