Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom.doc
Скачиваний:
3
Добавлен:
15.09.2019
Размер:
609.79 Кб
Скачать

2.3. Програмне забезпечення

2.3.1. Опис структури програми

Рис. 2.5. Діаграма класів.

Даний проект має такі класи(див. рис.2.5):

  • A

  • Site

  • WebForm1

  • WebForm2

  • WebForm3

  • WebForm4

  • WebForm5

  • WebForm6

  • WebForm7

  • WebForm9

Site – головний клас проекту, тем сконструйована за допомогою конструктора сторінка “.aspx”, яка відповідає за стиль проекту. Інші сторінки посилаються на неї, копіюють стилі та задані “AspContentHolders”.

WebForm1 – містить такі поля: DetailsView1, GriedView1, SqlDataSource. Та містить метод Page_Load. Це головна сторінка, де ми за допомогою описаних полів можемо створити новий запис(задачу) у БД.

WebForm2 – містить такі поля: Button1, DetailsView1, DetailsView2, DropDowsList1, GridView1, SqlDataSource1, SqlDataSource2, SqlDataSource3, SqlDataSource4. Методи: Button1_Click, Page_load. Це сторінка, де можна оцінювати наші записи(задачі). Сторінка відображає вже поставлені оцінки, задачі, варіанти, по одному запису. За допомогою метода Button1_click – кнопки поля Button1, виконується перехід на сторінку(клас) WebForm9.

WebForm3 – містить такі поля: DetailsView5, GriedView1, SqlDataSource1, SqlDataSource2, SqlDataSource3, SqlDataSource4, SqlDataSource5, SqlDataSource6, SqlDataSource7, Button1. Та містить метод Page_Load, Butto1_click, DetailsView5_ItemInserted. Це сторінка, де ми за допомогою описаних полів створити нову вершину(задачу) у БД. Також методом button_click виконується перехід до сторінки(класу) WebForm6 та будується дерево.

WebForm4 – містить такі поля: GriedView1, SqlDataSource. Та містить метод Page_Load. Це сторінка, де ми за допомогою описаних полів можемо видалати записи с БД.

WebForm5 – містить такі поля: GriedView1, SqlDataSource. Та містить метод Page_Load. Це сторінка, виводить структуру проблеми другим методом.

WebForm6 – містить такі поля: TreeView1, XmlDataSource. Та містить метод Page_Load. Це сторінка, яка в вигляді дерева виводить записи з БД.

WebForm7 – містить такі поля: DetailsView1, SqlDataSource. Та містить метод Page_Load. Це сторінка, де ми за допомогою описаних полів можемо свтоирти записи в БД.

WebForm9 – містить такі поля: DetailsView1, GriedView1, GriedView2 SqlDataSource1, SqlDataSource2. Та містить метод Page_Load. Це сторінка, на якій ми можем зв’язати потрібні нам записи по ідентифікаторам.

A – містить такі поля: GriedView1, SqlDataSource, form1. Та містить метод Page_Load. Це сторінка тестова для виконня тестових операцій.

2.3.2. Опис окремих функцій, їх викликів, взаємодії компонентів

Після запуску проекта запускається сторінка Home.aspx за це відповідає клас WebForm1 та метод Page_load. Після цього на сторінці створюється форми де ми можемо прогортувати або записувати у БД. Кожна така сторінка у БД взаємодіє з класом Page за допомогою якого і виконується більшість дій у проекті.

Рис.2.6. Клас Page

Кожна сторінка проекту бере свій дизайн з сторінки Site.Master це сконструйована сторінка за допомогою MasterPage. Master Page - це єдиний тип сторінок, де можливо розмістити спеціальні елементи управління ContentPlaceHolder. Вони визначають місце, в яке дочірні сторінки даного майстра можуть розміщувати свій власний зміст.

Нижче наведий код класу Site:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WebApplication6.Site" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="Head1" runat="server">

<meta name="keywords" content="" />

<meta name="description" content="" />

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<title>WebФактор Прогнозний граф</title>

<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

<asp:ContentPlaceHolder ID="head" runat="server">

</asp:ContentPlaceHolder>

</head>

<body id="body">

<form id="form1" runat="server">

<div id="wrapper">

<div id="header">

<div id="logo">

<h1 >WebФактор  </h1>

Made By Kuc Gennadiy </p>

</div>

</div>

<!-- end #header -->

<div id="menu">

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

<ul>

<li class="current_page_item"><a href="#">Home</a></li>

<li><a href="#">Blog</a></li>

<li><a href="#">Photos</a></li>

<li><a href="#">About</a></li>

<li><a href="#">Links</a></li>

<li><a href="#">Contact</a></li>

</ul>

</asp:ContentPlaceHolder>

</div>

<!-- end #menu -->

<div id="page">

<div id="page-bgtop">

<div id="page-bgbtm">

<div id="content">

asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">

</form>

</body>

</html>

Як бачимо сторінка підв’язана до стилів Style.css, які вона надає дочірним сторінкам.

Нижче наведений неповний код стилів Style.css:

#body {

margin: 0;

padding: 0;

background-color: White;

background-image: url(img011.jpg);

background-position:[left][top];

background-repeat:repeat-x;

font-size: 12px;

color: #787878;

}

h1, h2, h3 {

margin: 0;

padding: 0;

font-weight:normal;

}

p, ul, ol {

margin-top: 0;

line-height: 180%;

}

ul, ol {

}

a {

text-decoration: none;

color: #4486C7;

}

a:hover {

}

#menu ul {

margin: 0;

padding: 0;

list-style: none;

line-height: normal;

}

#menu li {

float: left;

}

#menu a {

display: block;

width: 155px;

height: 33px;

padding-top: 16px;

text-decoration: none;

text-align: center;

font-family: Arial, Helvetica, sans-serif;

font-size: 13px;

font-weight: bold;

color:#009;

border: none;

}

#menu a:hover {

text-decoration: none;

background-color:#659CEF;

background-image: url(img03.jpg);

background-position:bottom;

background-repeat:repeat-x;

}

#menu .current_page_item a {

background-color:#FBFBFC;

background-image: url(img02.jpg);

background-position:bottom;

background-repeat:repeat-x;

padding-left: 0;

color: #30476A;

}

/* Page */

#page {

width: 889px;

margin: 0 0px 0 auto;

padding: 0;

height: 209px;

}

Кожна сторінка програмно виконується так само як описано вище. Читає з БД, записує в БД, бере стилі з MasterPage, наслідує клас Page.

Запити до БД виконуються наступним чином. Кожна сторінка має SqlDataSource, GriedView або DetailsView. SqlDataSource - представляє базу даних SQL для елементів управління з прив'язкою до даних. DetailsView - дозволяє переглядати по одному запису з джерела даних, тоді як GridView показує їх все відразу. Це можна порівняти з різними типами форм в Access: таблична форма відповідає GridView, а Columnar - DetailsView. Точно так само, як і GridView, DetailsView дозволяє розбивку на сторінки, редагування, вставку і видалення з автоматичним зв'язуванням з джерелом даних. Він також є спадкоємцем CompositeDataBoundControl. SqlDataSource у проекті відсилає різноманітні запити до БД, які обробляються та показуються в GriedView або DetalView. Оси деякі запити:

  • SELECT Node.Node, Node.NodeName, Node.NodeFullName, Job.JobName, Status.Status FROM Node INNER JOIN Job ON Node.JobNo = Job.JobNo INNER JOIN Status ON Node.Type = Status.Type.

Тут осталось написать запросы.

2.3.3. Результати тестування програми, оцінка необхідної пам'яті і машинного часу для вирішення задач

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]