Трехуровневая архитектура приложения
Архитектура программного обеспечения (software architecture) – это высокоуровневая структура программной системы. Трехуровневая архитектура подразумевает разделение программного кода на три уровня: - уровень представления (presentation layer); - уровень логики приложения (business layer); - уровень данных (data layer). Уровень представления содержит код, отвечающий за интерфейс приложения, и логику, обеспечивающую взаимодействие приложения с пользователем. Уровень логики приложения получает запросы от уровня представления и возвращает уровню представления ответы на эти запросы, руководствуясь управляющей логикой, размещенной на бизнес-уровне. Уровень данных отвечает за управление данными приложения и передачу этих данных уровню логики приложения при получении запросов. На рисунке 3.1 изображена диаграмма потоков данных в приложении с трехуровневой архитектурой. Рисунок 3.1 – Диаграмма потоков данных
Ограничение трехуровневой архитектуры – информация должна поочередно передаваться между соседними уровнями. Правильное применение трехуровневой архитектуры обеспечит простоту модернизации приложения, добавления новых возможностей и позволит контролировать доступ к данным.
Интерфейс пользователя приложения
Интерфейс пользователя программы курсовой работы представляет многооконное приложение. Windows-приложение взаимодействует с пользователем через диалоговые окна: модальные (modal) и немодальные (modeless). Модальное диалоговое окно – диалоговое окно, блокирующее работу пользователя с приложением, пока пользователь не закроет окно. Если модальное диалоговое окно открыто, пользователю недоступны другие окна программы (окна того же потока пользовательского интерфейса). Немодальное диалоговое окно – диалоговое окно, позволяющее работать с другими окнами программы /10/.
Для добавления формы в проект используют опцию Project|Add New Item меню среды программирования /11/. Методы формы приведены в таблице 3.1. Таблица 3.1 Методы формы
Пример работы с диалоговыми окнами в модальном и немодальном (обычном) режимах приведен в листинге 5. Листинг 5. Открытие/закрытие диалоговых окон //Form1.h Главное диалоговое окно #pragma once #include "Form2.h" #include "Form3.h" namespace Modal_w { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; … this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { //Открытие Form2 System::Windows::Forms::DialogResult dr; Form2 ^newDlg=gcnew Form2(); m: dr=newDlg->ShowDialog(); if(dr==System::Windows::Forms::DialogResult::OK) return; else {MessageBox::Show("Ошибка закрытия Form2"); goto m;} } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { //Вызов Form3 Form3 ^f3=gcnew Form3(); f3->Show(); } private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { this->Close(); } }; //Form2.h Модальное диалоговое окно #pragma once namespace Modal_w { using namespace System; …} #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->DialogResult=System::Windows::Forms::DialogResult::OK; this->Close(); //Закрытие Form2 } };} //Form3.h Немодальное диалоговое окно #pragma once namespace Modal_w { using namespace System; } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->Close(); } };} /10/.
Уровень логики приложения
Расчет прогнозных данных
После ввода исходных данных формируется временной ряд. В качестве бизнес-логики приложения предлагается рассчитать данные временного ряда в прогнозных периодах методом скользящей средней.
Метод скользящей средней позволяет элиминировать случайные колебания и получить значения, соответствующие влиянию главных факторов. Сглаживание временного ряда основано на взаимном погашении случайных отклонений в средних величинах. Это происходит вследствие замены первоначальных уровней временного ряда средней арифметической величиной внутри выбранного интервала времени. Полученное значение относится к середине выбранного периода. Период сдвигается на одно наблюдение, и расчет средней повторяется. Периоды определения средней берутся одинаковыми. Средняя арифметическая величина центрирована, т.е. отнесена к серединной точке интервала сглаживания и представляет уровень для этой точки /12/. Прогнозное значение временного ряда рассчитывается по формуле , (3.1) где -прогнозный период времени; - период, предшествующий прогнозному периоду; - прогнозируемый показатель; - скользящая средняя за два периода до прогнозного; - число уровней, входящих в интервал сглаживания; -фактическое значение исследуемого явления за предшествующий период; - фактическое значение исследуемого явления за два периода, предшествующих прогнозному. Скользящая средняя периода, предшествующего прогнозному периоду рассчитывается по формуле (3.2)
Оценка точности прогнозов
Точность прогноза – важная характеристика. Существует несколько способов оценки точности прогнозов: 1. Средняя абсолютная ошибка рассчитывается по формуле ,(3.3) где - фактическое количество посетителей библиотеки; - расчетное количество посетителей библиотеки; - число слагаемых. 2. Средняя квадратическая ошибка рассчитывается по формуле , (3.4) 3. Относительная ошибка рассчитывается по формуле (3.5 ) 3. Средняя относительная ошибка рассчитывается по формуле , (3.6) Интерпретация значений средней относительной ошибки для оценки точности прогнозов приводится в таблице 3.2. Таблица 3.2 Интерпретация значений точности прогноза
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|