Разработка WEB - интерфейса для анализа базы метеореологических данных

Автор работы: Пользователь скрыл имя, 03 Апреля 2013 в 16:48, дипломная работа

Описание

С целью анализа базы метеорологических данных, а также контроля данных в реальном времени и был разработан web-интерфейс “Анализ базы метеоданных ”. В программе возможен просмотр метеорологических данных в реальном времени, в виде таблицы статистики с возможностью выбора любого параметра; с полями, в виде отчёта созданного с помощью приложения Crystal Report; так же в виде графика, отражающего зависимость значения метеорологического параметра от времени. Есть так же возможность администрирования базы данных, с целью упорядочить вывод необходимых данных.

Содержание

ВВЕДЕНИЕ 5
1. ПОСТАНОВКА ЗАДАЧ ДИПЛОМНОЙ РАБОТЫ 6
1.1 СТРУКТУРА ВЫВОДА ДАННЫХ 6
1.2 ОСНОВНЫЕ ЗАДАЧИ ПРОГРАММЫ “АНАЛИЗ БАЗЫ МЕТЕОРОЛОГИЧЕСКИХ ДАННЫХ ”. 7
2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
3. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ 9
3.1 ПРИЧИНЫ ВЫБОРА ПО ДЛЯ РАЗРАБОТКИ WEB-ИНТЕРФЕЙСА. 9
3.2 ЯЗЫК БАЗ ДАННЫХ - ЯЗЫК SQL. 13
3.3 БАЗА ДАННЫХ НА SQL СЕРВЕРЕ. 16
4.ПРОЕКТИРОВАНИЕ WEB ИНТЕРФЕЙСА 22
4.1 НАЗНАЧЕНИЕ ПАКЕТА BPWIN 22
4.2 ПРОЕКТИРОВАНИЕ В VISUAL STUDIO 2003. 22
4.3 ПАКЕТ ГЕНЕРАТОРА ОТЧЕТОВ CRYSTAL REPORT 34
5. РАБОТА С WEB-ИНТЕРФЕЙСОМ. 43
6. ЗАЩИТА ИНФОРМАЦИИ НА WEB-СТРАНИЦЕ. 48
7. ОСОБЕННОСТИ УСТАНОВКИ ПРОЕКТА НА WEB-СЕРВЕР 49
ЗАКЛЮЧЕНИЕ 50
ЛИТЕРАТУРА 51

Работа состоит из  1 файл

Дипломный проект.doc

— 940.50 Кб (Скачать документ)

В данном  Web-приложений “Анализ базы метеоданных” реализован механизм защиты информации следующим образом :

  1. Право доступа к базе данных SQL Server имеет пользователь, указанный в коде web-приложения (кроме того это пользователь SQL Server обладающий правами чтения из базы SQL Server) Обработка запроса пользователя Web-приложения “Анализ базы метеоданных” происходит на web-сервере и далее данные запроса через пользователя, указанного в коде web-приложения берутся из базы SQL Server .
  2. Правами на редактирование базы данных обладает ещё один пользователь SQL Server – он так же указан в коде web-приложения (кроме этого это пользователь SQL Server обладающий правами чтения, записи, редактирования и удаления  из базы SQL Server)

 

 

 

 

 

 

 

 

 

 7. Особенности установки проекта на web-сервер

 

Одной из проблем установки нового web-проекта на web-сервер является регистрация компонентов, задействованных в проекте. Это к примеру Crystal Report ( который в web-приложении “Анализ базы метеоданных” служит для создания отчёта ) и Office WEB Components ( который в web-приложении “Анализ базы метеоданных” служит для рисования графика зависимости метеопараметра от времени )

Для нормальной работы Crystal Report на web-сервере необходимо создать установочный пакет (Sturtup Project) в Visual studio и в созданном проекте указать серийный номер Crystal Report

 

Рисунок 33 –  Указание в коде на серийный номер продукта

 

Для нормальной работы Office WEB Components необходимо установить MICROSOFT OFFICE WEB Components (OWC11.exe)

 

 

 

 

 

 

 

 

 

 

Заключение

 

В итоге выполнения настоящей дипломной  работы были получены следующие основные результаты и выводы.

  1. изучены и проанализированы методы информирования общественности об экологической  обстановке на Игналинской Атомной Электростанции.

по результатам анализа разработан web-интерфейс для просмотра и анализа метеорологических данных.

2. Используя продукт MS SQL 2000 server создана база данных.

3. в среде разработки VisualStudio.Net, используя технологию ASP.NET с применением языка программирования C#, разработано Web-приложение.

4. система размещена на web-сервере ИАЭС.

Для нормальной работы пользователя с системой нужен ПК с тактовой частотой 233 МГц или выше, видеокартой  и операционной системой Windows 98 и  выше. используемый монитор по возможности должен быть размером не менее 17 дюймов, разрешающей способностью 1024х768 точек и частотой смены кадра не менее 75 Гц. Компьютер должен быть подключен к сети Интернет

Поставленные в дипломной работе задачи выполнены в соответствии с заданными требованиями.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Литература

 

1.  Веймаер Ричард, Сотелл Рик «Освой самостоятельно Microsoft SQL Server 2000 за 21 день» - Вильямс, 2001 

    1. Джонсон, Скибо, Янг «Основы Microsoft Visual Studio .Net 2003».-Русская Редакция, 2003
    2. Дейт К. Дж. «Введение в системы баз данных,8-е издание» -Вильямс, 2005
    3. Мак-Амис Девид «Профессиональная работа с Crystal Report .NET» Вильяамс,2003
    4. Мамаев Е., Шкарина Л. «Microsoft SQl Server 2000 для профессионалов».-СПб:Питер, 2001
    5. Понамарев В. «Программирование на C++/C# в Visual Studio .NET 2003»  -BHV-СПб,2003
    6. Хоторн Роб «Разработка баз данных, Micrososoft SQL Server 2000».-Вильямс, 2001
    7. Шарон Б., Мэйбл Грэг «Sql Server 2000, Энциклопедия программиста».-ДиаСофт, 2001
    8. http://www.ci.ru/inform6_97/astr1.htm    Альперович  Михаил «Microsoft SQL Server в сетях INTERNET/INTRANET» КОМПЬЮТЕР-ИНФОРМ
    9. https://msdb.ru/Downloads/business/efficiency/biwithinreach_wp31final.doc  «Бизнес-аналитика: не мечта, а реальность.» Информационное сообщение
    10. http://256bit.ru/Visual_C_7/ - Иллюстрированный самоучитель по Visual Studio.Net
    11. http://www.computerpress.ru/article.aspx?id=10947&iid=439   - КомпьютерПресс 6'2001
    12. http://alice.stup.ac.ru/case/caseinfo/bpwin/part1.php     - Основы  PLATINUM  BPwin
    13. http://ishodniki.ru/art/print.php?cat=2&id=450&show=cpp - Работа с Crystal Report .NET
    14. http://ru.wikipedia.org/wiki/SQL  - Язык SQL данные из энциклопедии Wikipedia

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приложение A

Часть программного кода файла default_ru.asp

<%@ Language=VBScript %>

<HTML>

<HEAD>

<title>Meteoagent</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<meta http-equiv="Refresh"content="60;URL=http://localhost/agentmeteo/default_ru.asp">

<meta content="JavaScript" name="vs_defaultClientScript">

<LINK href="style.css" type="text/css" rel="stylesheet">

<script language="javascript" id="clientEventHandlersJS">

<!--

function ButtonStatistic1_onclick()  <!-- -Функция работы кнопки -->

{

window.navigate('http://localhost/agentmeteo/statistic.aspx','Статистика',"");

}

<!-- ---------------------------------------------------------- -->

<%

Session.CodePage = 1251

' Declare variables for the File System Object and the File to be accessed.

Dim objFSO, objTextFile

<!-- -Считываем  значения из текстового файла  -->

' Create an instance of the the File System Object and assign it to objFSO.

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile("C:\IvsParm.txt",1,false,false)

 

application.lock

if Application("Temp2m") = "Нет доступа" then

Application("SkorVet") = objTextFile.ReadLine

else

Application("Temp2mtime") = objTextFile.ReadLine

Application("Temp2mdate") = objTextFile.ReadLine

Application("SkorVet") = objTextFile.ReadLine

end if

if Application("SkorVet") = "Нет доступа" then

Application("Azimut") = objTextFile.ReadLine

else

Application("SkorVettime") = objTextFile.ReadLine

Application("SkorVetdate") = objTextFile.ReadLine

Application("Azimut") = objTextFile.ReadLine

end if

<!-- Задаём направление ветра -->

if (Application("Azimut") > 248 and Application("Azimut") <= 293) then

Application("Azimut")="Западный"

else     

if (Application("Azimut") > 293 and Application("Azimut") <= 338) then

Application("Azimut")="Северо-Западный"

Else

<!-- ---------------------------------------------------------- -->

<!--  Ставим  условие на пустое поле и  недопустимое значение параметра  -->

<%if Application("IRG") <> "No Data" then

Application("IRG")=replace(Application("IRG"),".",",")

Application("IRG")=CSng(""&Application("IRG")&"")

if Application("IRG") < 0 then

Application("IRG") = "0"

end if

end if  %>

<!-- ---------------------------------------------------------- -->

<TR> <!--   Вставляем в окно значение с помощью Visual Basic -->

<TD style="WIDTH: 101px">

<DIV class="linkfont" align="center" ms_positioning="FlowLayout">Скорость ветра :</DIV></TD>

<TD style="WIDTH: 73px" background="http://localhost/agentmeteo/img/fon1.gif">

<DIVclass="znakfont"align="center"ms_positioning="FlowLayout"><%=Application("SkorVet")%>

</DIV></TD><TD class="linkfont">&nbsp;м/c</TD>

</TR>

<!-- ---------------------------------------------------------- -->

<TR> <!--   Указание на функцию кнопки через Java Script -->

<P align="center">

<INPUT language="javascript" id="ButtonReduct3" style="WIDTH: 207px; COLOR: #ffffff; HEIGHT: 24px; BACKGROUND-COLOR: cornflowerblue"onclick="return ButtonReduct3_onclick()" type="button" value="Редактировать базу данных" name="ButtonReduct3">

</P>

приложение Б

Часть программного кода файла web.config

<appSettings>

<!-- Строка соединения с базой  данных -->  

<add key="SAConnectionString" value="packet size=4096;user id=meteor;data source=localhost;persist security info=False;initial catalog=Meteor;password=123"/>

<add key="server" value="localhost"/>

<add key="database" value="Meteor"/>

<add key="user" value="meteor"/>

<add key="password" value="123"/>

</appSettings>

 

 

 

 

 

 

 

 

 

 

 

приложение В

Часть программного кода файла statistic.aspx

<%@ Page language="c#" Codebehind="statistic.aspx.cs" AutoEventWireup="false" Inherits="agentmeteo.statistic" %>

<!-- ---------------------------------------------------------- -->

<!-- Создаём  и заполняем таблицу значений  выбранных параметров -->

<asp:datagrid id="dgStaticNorm" runat="server" Height="64px" Width="496px" BorderWidth="1px" BackColor="White"BorderColor="#CCCCCC" BorderStyle="None" CellPadding="3" GridLines="Horizontal" AutoGenerateColumns="False"CellSpacing="2">

<FooterStyle ForeColor="#666699" BackColor="#CCCCCC"></FooterStyle>

<SelectedItemStyle Font-Bold="True" ForeColor="Black" BackColor="#99CCCC"></SelectedItemStyle><AlternatingItemStyle Font-Size="X-Small" Font-Names="Tahoma" BackColor="#CCCCFF"></AlternatingItemStyle>

<ItemStyle Font-Size="X-Small" Font-Names="Tahoma" ForeColor="Black" BackColor="White"></ItemStyle>

<HeaderStyle Font-Size="X-Small" Font-Names="Tahoma" Font-Bold="True" HorizontalAlign="Center"ForeColor="#F7F7F7"VerticalAlign="Middle"BackColor="#666699"></HeaderStyle>

<Columns>

<asp:BoundColumn DataField="Col003" HeaderText="Дата(Data)"></asp:BoundColumn>

<asp:BoundColumn DataField="Col002" HeaderText="Время(Laikas)"></asp:BoundColumn>

<asp:BoundColumn DataField="data" HeaderText="Метеоданные(Duomenys)"></asp:BoundColumn>

<asp:BoundColumn DataField="norma" HeaderText="Отклонение(Nuokrypa)"></asp:BoundColumn>

</Columns>

<PagerStyleHorizontalAlign="Right"ForeColor="#6633CC"BackColor="#9999CC"Mode="NumericPages"></PagerStyle>

</asp:datagrid>

приложение Г

Часть программного кода файла statistic.aspx.cs

// программные библиотеки

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Configuration; // библиотека для работы с Web.config

using System.Data.SqlClient; //  библиотека для соединения с SQL Server

using System.Globalization;

using System.Text;

using System.IO;

using System.Drawing.Imaging; //  библиотека для рисования графика из Office WEB Components

using System.Web.Caching;

 

namespace agentmeteo

{

public class statistic : System.Web.UI.Page   //объявление переменных как объектов

{

protected System.Web.UI.WebControls.RadioButtonList RadioResurs;//объект,пробел,ID объекта

protected System.Web.UI.WebControls.DropDownList ResursList;

protected System.Web.UI.HtmlControls.HtmlInputText date1;

protected System.Web.UI.WebControls.Button GeneralButton;

protected System.Web.UI.HtmlControls.HtmlInputText date2;

protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;

protected System.Web.UI.WebControls.RequiredFieldValidator ValidatorDate1;

protected System.Web.UI.WebControls.RequiredFieldValidator ValidatorDate2;

protected System.Web.UI.WebControls.Button GrafButton;

protected System.Web.UI.WebControls.Button EnterButton;

protected System.Web.UI.WebControls.Button EnterButtonLit;

protected System.Web.UI.WebControls.Button GeneralButtonLit;

protected System.Web.UI.WebControls.Button GrafButtonLit;

protected System.Web.UI.HtmlControls.HtmlGenericControl TableRU;

protected System.Web.UI.HtmlControls.HtmlGenericControl TableLT;

protected System.Web.UI.WebControls.Image Image2;

protected System.Web.UI.WebControls.DataGrid Datagrid1;

protected System.Web.UI.WebControls.Image Image3;

protected System.Web.UI.WebControls.Button ButtonNorm;

protected System.Web.UI.WebControls.Button ButtonNormLit;

protected System.Web.UI.WebControls.DataGrid dgStaticNorm;

protected System.Web.UI.WebControls.DataGrid dgStatic;

protected System.Web.UI.HtmlControls.HtmlGenericControl DivStatic;

protected System.Web.UI.HtmlControls.HtmlGenericControl DivStaticNorm;

protected System.Web.UI.HtmlControls.HtmlGenericControl DivNorm;

protected System.Web.UI.HtmlControls.HtmlGenericControl DivImage;

protected System.Web.UI.WebControls.TextBox TextBoxNorm;

protected System.Web.UI.WebControls.Label Label1;

protected System.Data.SqlClient.SqlDataAdapter daSA;

protected System.Web.UI.WebControls.TextBox TextBoxParam;

//объявление сессий и процедур

private void Page_Load(object sender, System.EventArgs e)

{

DivNorm.Visible=false;

DivImage.Visible=false; 

TableLT.Visible=false;

TableRU.Visible=false;

DivStatic.Visible=false;

DivStaticNorm.Visible=false;

// Put user code to initialize the page here

}

 

#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

 

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{   

this.RadioResurs.DataBinding += new System.EventHandler(this.RadioResurs_SelectedIndexChanged);

this.RadioResurs.SelectedIndexChanged += new System.EventHandler(this.RadioResurs_SelectedIndexChanged);

this.ResursList.SelectedIndexChanged += new System.EventHandler(this.ResursList_SelectedIndexChanged);

<!-- ---------------------------------------------------------- -->

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void RadioResurs_SelectedIndexChanged(object sender, System.EventArgs e)

{

 

switch(RadioResurs.SelectedIndex)

case 0:

RusDataBind();

break;

case 1:

LitDataBind();

break;

}

}

private void RusDataBind()  //функция заполнения выпадающего списка

{

TableRU.Visible=true;

TableLT.Visible=false;

SqlConnection conn = new SqlConnection

(ConfigurationSettings.AppSettings["SAConnectionString"]);

daSA = new SqlDataAdapter("select * from Rus",conn);

DataSet dsSA = new DataSet();

daSA.Fill(dsSA);

ResursList.DataSource = dsSA;

ResursList.DataTextField = "name";

ResursList.DataValueField = "id";

ResursList.DataBind();

ResursList.Items.Insert(0,"----- Выберите параметр -----");

}

private void LitDataBind()

{

 

<!-- ---------------------------------------------------------- -->

 // нажатие кнопки  “Посмотреть статистику”

private void EnterButton_Click(object sender, System.EventArgs e)

{

DivNorm.Visible=false;

DivStatic.Visible=true;

DivStaticNorm.Visible=false;

DivImage.Visible=false; 

if(RadioResurs.Items[1].Selected==true && RadioResurs.Items[0].Selected==false)

{

TableLT.Visible=true;

TableRU.Visible=false;

}

 

else

{

TableLT.Visible=false;

TableRU.Visible=true;

}

 

IFormatProvider culture = new CultureInfo("ru-RU", true);

DateTime date1_1=DateTime.ParseExact(date1.Value.ToString(), "dd'.'MM'.'yyyy",null);

DateTime date2_1=DateTime.ParseExact(date2.Value.ToString(), "dd'.'MM'.'yyyy",null);

string dayfull1,monthfull1,dayfull2,monthfull2;

 

if(date1_1.Day.ToString().Length==1) dayfull1="0"+date1_1.Day.ToString();

else dayfull1=date1_1.Day.ToString();

if(date1_1.Month.ToString().Length==1) monthfull1="0"+date1_1.Month.ToString();

else monthfull1=date1_1.Month.ToString();

if(date2_1.Day.ToString().Length==1) dayfull2="0"+date2_1.Day.ToString();

else dayfull2=date2_1.Day.ToString();

Информация о работе Разработка WEB - интерфейса для анализа базы метеореологических данных