Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Трехуровневая архитектура приложения




 

Архитектура программного обеспечения (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

Методы формы

№ п/п Имя метода Назначение метода
  Close() Закрывает форму
  Hide() Форма становится невидимой
  Show() Вывод формы на экран
  ShowDialog() Показывает форму в модальном режиме
  Dispose() Освобождает память, занятую формой
  Focus() Делает форму активной

 

Пример работы с диалоговыми окнами в модальном и немодальном (обычном) режимах приведен в листинге 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

Интерпретация значений точности прогноза

 

, % Точность прогноза
<10 Высокая
10 – 20 Хорошая
20 – 50 Удовлетворительная
>50 Неудовлетворительная

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...