Подсистема визуальной генерации отчётов в рамках информационно-образовательного портала

Сравнение программных средств генерации отчётов: Actuate Reporting System 2.0; Fast Reports; Crystal Reports. Схема модуля программы, отвечающего за авторизацию пользователя. Конструктор запросов и отчетов. Выбор обоснования языка программирования.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.04.2011
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

· загруженные в базу данных корректные данные должны оставаться корректными. Данные до включения в базу данных должны проверяться на достоверность.

· доступ к данным, размещаемым в базе данных, должны иметь только лица с соответствующими полномочиями.

· база данных должна иметь дружественный интерфейс к пользованию.

3.2.1 PostgreSQL

PostgreSQL (произносится «Постгре-Эс-Кю-Эль»http://ru.wikipedia.org/wiki/PostgreSQL - cite_note-1, в профессиональной среде коротко называется «постгрес») - свободная объектно-реляционная система управления базами данных (СУБД).

Функции PostgreSQL являются блоками кода, исполняемыми на сервере, а не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация дополнительной логики, например, условных переходов и циклов, выходит за рамки собственно SQL и требует использования некоторых языковых расширений. Функции могут писаться с использованием одного из следующих языков:

· встроенный процедурный язык PL/pgSQL, во многом аналогичный языку PL/SQL, используемому в СУБД Oracle;

· скриптовые языки - PL/Lua, PL/LOLCODE, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl иPL/Scheme;

· классические языки - C, C++, Java (через модуль PL/Java).

PostgreSQL допускает использование функций, возвращающих набор записей, который далее можно использовать так же, как и результат выполнения обычного запроса.

Функции могут выполняться как с правами их создателя, так и с правами текущего пользователя.

Иногда функции отождествляются с хранимыми процедурами, однако между этими понятиями есть различие.

Также в PostgreSQL существует механизм правил (англ. rules), который представляет собой механизм создания пользовательских обработчиков не только DML-операций, но и операции выборки. Основное отличие от механизма триггеров заключается в том, что правила срабатывают на этапе разбора запроса, до выбора оптимального плана выполнения и самого процесса выполнения. Правила позволяют переопределять поведение системы при выполнении SQL-операции к таблице. Хорошим примером является реализация механизма представлений (англ. views): при создании представления создается правило, которое определяет, что вместо выполнения операции выборки к представлению система должна выполнять операцию выборки к базовой таблице/таблицам с учетом условий выборки, лежащих в основе определения представления. Для создания представлений, поддерживающих операции обновления, правила для операций вставки, изменения и удаления строк должны быть определены пользователем.

3.3 Основные модули программы

Программное обеспечение системы написано на языке PHP с использованием запросов PgSQL.

Разработанная система построена на принципе модульности. Основными модулями, входящими в состав программного обеспечения реализованного на данном этапе разработки, являются следующие:

· index.php - модуль главной страницы программного средства;

· add_obrab.php - модуль обработчика добавления информации в отчёт;

· pre.php - модуль интерфейса предпросмотра;

· bd_select.php - модуль выбора базы данных из списка;

· find.php - модуль поиска информации в базе данных;

· format.php - модуль форматирования содержимого отчёта;

· style.css - модуль, содержащий стили отображения интерфейсов;

· print_form.php - модуль, отвечающий за формат, перед выводом на печать;

· print.php -модуль, отвечающий за печать отчёта.

· save.php - модуль, позволяющий сохранять отчёт в файл на носитель информации.

Дополнительные модули, подключаемые к основным:

· bd.php - модуль подключения к базе данных;

· footer.php - нижняя часть дизайна страницы;

· header.php - верхняя часть дизайна страницы;

· menu.php - меню программы;

· lock.php - модуль авторизации пользователей.

3.4 Исходный код главного модуля

index.php

<?php

include "blocks/bd.php";//Прикрепляем соединение с базой данных

include "blocks/lock.php";//Прикрепляем файл авторизации

$result = mysql_query("SELECT * FROM infopage WHERE page='index'");

$myrow = mysql_fetch_array ($result);

?>

<!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>

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

<title><?php echo $myrow['title']; //инклудим заголовок браузера?></title>

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

</head>

<body>

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="global_table">

<?php include"blocks/header.php"; //инклудим заголовок?>

<tr>

<td align="center" valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<?php include"blocks/menu.php";//инклудим меню?>

<td valign="top"><?php echo $myrow['text']; ?></td>

</tr>

</table></td>

</tr>

<?php include"blocks/footer.php";//инклудим нижнюю часть?>

</table>

</body>

</html>

3.5 Расчет текущих затрат на разработку ПС

Текущие затраты включают затраты на постановку задачи, разработку программы, а также затраты, связанные с содержанием и эксплуатацией ВТ, используемой при разработке ПС. Для того, чтобы начать расчет текущих затрат принимаем решение о составе персонала, участвующего в разработке ПС. Решение сведено в виде таблицы 2.

Таблица 2 - Категории персонала

Категория персонала

Количество сотрудников

Оплата за 1 час, руб.

Потребное время на разработку ПС, час (40час. = 1 неделя)

Заработная плата, руб.

Инженер-программист

1

100

400

40000

Оператор

1

40

300

12000

Итого

52000

После определения состава персонала определим текущие затраты:

,

где - текущие затраты.

- затраты на заработную плату персонала, .

- начисления на заработную плату (), .

- затраты связанные с использованием машинного времени,

- затраты на оплату работ, выполняемых другими организациями,

- накладные расходы,

- проценты за пользованием кредитом,

- машинное время на разработку и отладку ПП,

- стоимость одного часа машинного времени,

,

где - сумма кредита коммерческого банка,.

- учетная ставка за кредит,

- время, необходимое для разработки,

- кредит не берется.

Приведем обобщенную таблицу потребности в инвестициях. Таблица приведена ниже. Общие затраты по проекту составят 148512 руб.

Решение о величине инвестиций на разработку ПС было принято разработчиками, исходя из предполагаемой суммы единовременных, текущих затрат, затрат на маркетинг и прочих коммерческих расходов.

Таблица 3 - Статьи затрат

Наименование статей затрат

Сумма

1. Текущие затраты ()

148512

1.1. Затраты на зар. Плату ()

52000

1.2. Начисления на заработную плату ()

18512

1.3. Затраты связанные с использованием машинного времени ВТ ()

0

1.4. Затраты на выполнение работ сторонними организациями ()

0

1.5. Накладные расходы ()

78000

1.6. Проценты за пользование кредитом ()

0

ИТОГО - затраты ()

148512

Себестоимость 1 копии ПС:

,

С учетом цен конкурентов устанавливаем цену равной 5500 руб.

ЗАКЛЮЧЕНИЕ

В рамках преддипломной практики была поставлена задача разработки программного средства визуальной генерации отчётов в рамках информационного портала.

В результате практической работы, разработан проект подсистемы визуальной генерации отчётов в виде веб-приложения, с возможностью внедрения его в информационный портал ВУЗа.

В данной работе было выполнено:

· разработана безопасная схема обработки данных конструктором запросов;

· разработан модуль авторизации пользователя;

· разработан модуль конструктора запросов к информационным ресурсам;

· разработан модуль конструктора отчётов.

Данное программное средство может быть использовано в средних и высших учебных заведениях, а так же в любой организации, хранящей большой количество информации.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Пётр Ташков, Веб-мастеринг на 100%: HTML, CSS, JavaScript, PHP, CMS, графика, раскрутка. СПБ.: Питер,2010.

2. Корн С.С. Теоретические основы информационной безопасности. - М.: Феникс, 2007.

3. Мишель Е. Дэвис и Джон А. Филипс. Изучаем PHP и MySQL. 2008.

4. Д. Колисниченко. Профессиональное программирование на PHP. 2007.

5. Информационная безопасность [Электронный ресурс]. - Режим доступа: http://security.ase.md/publ/ru/pubru59.html.

6. Системы защиты информации [Электронный ресурс] - Режим доступа: http://osp.ru/pcworld/2001/05/010.html.

7. Федеральный Закон РФ от 25 января 1995г. №24-ФЗ Об информации, информатизации и защите информации.

8. Структура базы данных [Электронный ресурс] - Режим доступа: http://www.intuit.ru/department/database/dbmdi/2/

9. Конфиденциальность данных [Электронный ресурс] - Режим доступа: http://www.ab-solut.net/ru/articles/problemi_zashiti/.

10. Аутентификация и идентификация пользователя [Электронный ресурс] - Режим доступа: http://www.osp.ru/text/print/302/10050193.html.

11. Защита информации [Электронный ресурс] - Режим доступа: http://www.rnt.ru/to_content/action_desc/id_68/lang_ru/.

12. OLAP технология [Электронный ресурс] - Режим доступа: http://www.olap.ru

13. XML, JavaScript, Code Igniter, PostgreSQL [Электронный ресурс]- Режим доступа: http://ru.wikipedia.org/wiki/XML

14. Обзор возможностей PostgreSQL[Электронный ресурс] - Режим доступа: http://postgresql.ru.net/

15. Г. Бех. Видео-уроки PHP, HTML, CSS.

ПРИЛОЖЕНИЕ А

Техническое задание на программное средство

СОГЛАСОВАНОУТВЕРЖДЕНО

Асс. каф. «ПОВТ и АС» Зав. каф. «ПОВТ и АС»

_______________ Жуков А.И. ___________ Нейдорф Р.А

«___»___________2011 г. «____»___________2011 г.

П.А.1 ВВЕДЕНИЕ

Наименование разрабатываемого программного средства: «Подсистема визуальной генерации отчётов в рамках информационно-образовательного портала».

Область применения: информационно-образовательный портал ВУЗа.

Объект применения: Донской государственный технический университет.

П.А.2 ОСНОВАНИЯ ДЛЯ РАЗРАБОТКИ

Разработка проводится на основании задания на преддипломную практику факультета «Информатика и вычислительная техника» (ИиВТ) Донского Государственного Технического Университета (ДГТУ) по направлению «Программное обеспечение вычислительной техники и автоматизированных систем (ПОВТ и АС)».

Задание выдал преподаватель кафедры «ПОВТ и АС» ДГТУ Жуков А.И.

П.А.3 НАЗНАЧЕНИЕ РАЗРАБОТКИ

П.А.3.1 Функциональное назначение

Функциональным назначением программы является реализация интерактивного интерфейса создания отчётов в рамках существующих подсистем информационно-образовательного портала ДГТУ.

П.А.3.2 Эксплуатационное назначение

Эксплуатационным назначением разрабатываемого программного средства является сокращение времени для реализации отчётов системы анализа и подсистемы «успеваемость», функционирующих в рамках информационно-образовательного портала.

П.А.4 ТРЕБОВАНИЯ К ПРОГРАММЕ

П.А.4.1 Требования к функциональным характеристикам

Программа должна обеспечивать возможность выполнения перечисленных ниже функций:

· иметь удобный и интуитивно понятный интерфейс для пользователя;

· оперативно получать доступ к данным из базы данных университета;

· автоматически сортировать данные по выбранным характеристикам;

· конструирование отчётов по выбранным характеристикам;

· возможность форматирования элементов отчёта;

· вывод отчёта на печать;

· ограниченный доступ (доступ к программному средству и БД получают только авторизованные пользователи);

· выгрузка в популярные форматы (doc, docx, pdf и др.).

П.А.4.2 Входные данные программы

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

П.А.4.3 Выходные данные программы

Выходные данные выводятся программным средством пользователям и представляют собой различную совокупность текстовой и графической информации и набор байт (файлов).

П.А.4.4 Требования к надежности

Надежное функционирование программы должно быть обеспечено выполнением совокупности нижеописанных мероприятий:

· организацией бесперебойного питания технических средств;

· использованием лицензионного программного обеспечения;

· отсутствием вредоносных программ на технических средствах;

· авторизацией пользователей;

· контролем входных данных.

П.А.4.5 Требования к составу и параметрам технических средств

В состав технических средств должен входить IBM - совместимый компьютер, включающий в себя:

1) Процессор: не ниже Pentium 3 - 800 Mhz;

2) Оперативная память: не менее 128 Mb;

3) Место на жестком диске: не менее 100 Mb;

4) Монитор;

5) Мышь, клавиатура;

6) Доступ к локальной сети.

П.А.4.6 Требования к информационной и программной совместимости

Требования к информационной и программной совместимости программы не выдвигаются.

П.А.4.7.1 Определение структуры входных и выходных данных

Входные данные должны вводиться пользователем в текстовой форме. Проверка правильности введенных данных, а так же способы сохранения информации в необходимой форме реализованы в программном средстве.

П.А.4.7.2 Язык программирования

Для реализации программы «Подсистема визуальной генерации отчётов в рамках информационно-образовательного портала» должен быть использован язык программирования PHP, JavaScript, HTML, XML, фреймоворк CodeIgniter, а также приложение для работы с базой данных Postgre SQL(версии 8.4 и выше).

П.А.4.7.3 Операционная система

Программа должна функционировать в любой операционной системе семейства Windows, Linux.

Для работы с данным программным средством необходимо наличие программы-сервера с возможностью управления базами данных и обработкой SQL запросов(Postgre SQL 8.4.+), а также современного браузера(Internet Explorer 8+, Opera 10+,Mozilla Firefox 3.6+, Google Chrome) на стороне клиента.

П.А.5 ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ

В состав программной документации должны входить следующие разделы:

· задание;

· техническое задание по ГОСТ 19.201;

· текст программы по ГОСТ 19.401-78.

П.А.6 СТАДИИ И ЭТАПЫ РАЗРАБОТКИ

Системный анализ (с 15.12.2010 по 12.02.2011): 

· изучение предметной области;

· определение области применения и целей использования;

· поиск вариантов решения поставленных задач;

· определение ограничений и диапазонов функционирования разрабатываемого программного средства;

· определение структуры программного комплекса;

· подготовка технического задания.

Общесистемное проектирование (с 12.02.2011 по 25.02.2011): 

· определение структуры программного комплекса;

· определение структуры алгоритмов и модулей;

· создание функциональной модели программного средства.

Подготовка технологических средств (с 25.02.2011 по 5.03.2011): 

· выбор языка программирования;

· выбор и подготовка инструментальных средств и средств отладки;

· разработка инструкций к применению методов.

Программная реализация, рабочий проект (с 5.03.2011 по 23.03.2011): 

· разработка текстов программных модулей;

· проектирование пользовательского интерфейса;

· разработка программных единиц.

Отладка программного средства в статике (с 23.04.2011 по 25.05.2011): 

· тестирование программных модулей;

· локализация ошибок, корректировка исходных текстов, информационных потоков, компиляция;

П.А.7 ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ

Порядок и контроль приёмки определяются заведующим кафедрой «ПОВТ и АС». Главным требованием к приемке является наличие отчета, представленного в печатном виде.

Разработал

студент группы ВИ-51

Каныгин Дмитрий ______ (подпись)________(дата)

Приложение Б

Исходный код программы

index.php

<?php

include "blocks/bd.php";//Прикрепляем соединение с базой данных

include "blocks/lock.php";//Прикрепляем файл авторизации

$result = mysql_query("SELECT * FROM infopage WHERE page='index'");

$myrow = mysql_fetch_array ($result);

?>

<!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>

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

<title><?php echo $myrow['title']; //инклудим заголовок браузера?></title>

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

</head>

<body>

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="global_table">

<?php include"blocks/header.php"; //инклудим заголовок?>

<tr>

<td align="center" valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<?php include"blocks/menu.php";//инклудим меню?>

<td valign="top"><?php echo $myrow['text']; ?></td>

</tr>

</table></td>

</tr>

<?php include"blocks/footer.php";//инклудим нижнюю часть?>

</table>

</body>

</html>

add_obrab.php - модуль обработчика добавления информации в отчёт;

<?php

include "blocks/bd.php";//Прикрепляем соединение с базой данных

include "blocks/lock.php";//Прикрепляем файл авторизации

$result = mysql_query("SELECT * FROM infopage WHERE page='add_stud'");

$myrow = mysql_fetch_array ($result);

?>

<!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>

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

<title><?php echo $myrow['title']; ?></title>

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

</head>

<body>

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="global_table">

<?php include"blocks/header.php";?>

<tr>

<td align="center" valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<?php include"blocks/menu.php";?>

<td valign="top"><?php echo $myrow['text']; ?>

<form action="add_stud_obrab.php" method="post" name="add_stud" class="add_stud_form">

<p> Фамилия студента:</p><p> <input name="fam" type="text" size="40" maxlength="255" /></p>

<p> Имя студента:</p> <p> <input name="name" type="text" size="40" maxlength="255" /></p>

<p> Отчество студента:</p><p> <input name="otchestvo" type="text" size="40" maxlength="255" /></p>

<p> Дата рождения:</p><p> День <select name="den_rozh" size="1">

<?php

for ($i=1; $i<=31; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Месяц <select name="m_rozh" size="1">

<?php

for ($i=1; $i<=12; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Год <select name="g_rozh" size="1">

<?php

for ($i=1940; $i<=2010; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

</p>

<?php /* ///////////////////////////////////////////////////////////////////// */?>

<p> Дата поступления:</p><p> День <select name="den_postuplen" size="1">

<?php

for ($i=1; $i<=31; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Месяц <select name="m_postuplen" size="1">

<?php

for ($i=1; $i<=12; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Год <select name="g_postuplen" size="1">

<?php

for ($i=1940; $i<=2010; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

</p>

<?php /* ///////////////////////////////////////////////////////////////////// */?>

<p> Дата выпуска:</p><p> День <select name="den_vipusk" size="1">

<?php

for ($i=0; $i<=31; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Месяц <select name="m_vipusk" size="1">

<?php

for ($i=0; $i<=12; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Год <select name="g_vipusk" size="1">

<?php

echo "<option> 0000 </option> ";

for ($i=1940; $i<=2010; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

</p>

<p> Дата отчисления:</p><p> День <select name="den_otchislen" size="1">

<?php

for ($i=0; $i<=31; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Месяц <select name="m_otchislen" size="1">

<?php

for ($i=0; $i<=12; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Год <select name="g_otchislen" size="1">

<?php

echo "<option> 0000 </option> ";

for ($i=1940; $i<=2010; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

</p>

<p> Дата восстановления:</p><p> День <select name="den_vosstanov" size="1">

<?php

for ($i=0; $i<=31; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Месяц <select name="m_vosstanov" size="1">

<?php

for ($i=0; $i<=12; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

Год <select name="g_vosstanov" size="1">

<?php

echo "<option> 0000 </option> ";

for ($i=1940; $i<=2010; $i++)

{

echo "<option> $i </option> ";

}

?>

</select>

</p>

<?php /* Выбор факультета */ ?>

<p>Факультет:</p><p> <select name="fak" size="1">

<?php

$result=mysql_query("SELECT * FROM fakultet ORDER BY name",$db);

$myrow=mysql_fetch_array($result);

do

{

echo "<option>".$myrow['name']." </option> ";

}

while ($myrow=mysql_fetch_array($result));

?>

</select>

</p>

<?php /* Выбор факультета */ ?>

<p>Группа:</p><p> <select name="gruppa" size="1">

<?php

$result2=mysql_query("SELECT * FROM gruppa ORDER BY name",$db);

$myrow2=mysql_fetch_array($result2);

do

{

echo "<option>".$myrow2['name']." </option> ";

}

while ($myrow2=mysql_fetch_array($result2));

?>

</select>

</p>

<p> Номер студенческого билета:</p><p> <input name="nomer_stud" type="text" size="40" maxlength="255" /></p>

<p> Номер зачетной книжки:</p><p> <input name="nomer_zachetki" type="text" size="40" maxlength="255" /></p>

<p> Адрес домашний:</p><p> <input name="adress_dom" type="text" size="40" maxlength="255" /></p>

<p> Адрес проживания:</p><p> <input name="adress_projivani" type="text" size="40" maxlength="255" /></p>

<p> Телефон домашний:</p><p> <input name="tel_dom" type="text" size="40" maxlength="255" /></p>

<p> Телефон моб:</p><p> <input name="tel_mob" type="text" size="40" maxlength="255" /></p>

<p>Академический отпуск</p><p> <select name="akadem" size="1">

<option>Нет</option>

<option>Да</option>

</select></p>

<p>Основа обучения</p><p> <select name="budj" size="1">

<option>Бюджет</option>

<option>Коммерция</option>

</select></p>

<p> Примечание:</p><p> <textarea name="primechanie" cols="35" rows="7"></textarea></p>

<p><input name="submit" type="submit" value="Добавить" /></p>

</form>

</td>

</tr>

</table></td>

</tr>

<?php include"blocks/footer.php";?>

</table>

</body>

</html>

style.css

/* CSS Document */

body

{

background-image:url(pic/fon.jpg);

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

font-size:12px;

}

textarea

{

/*background-color:#EDFFE1;*/

margin:10px;

margin-left:0px;

}

/*option

{

background-color:#EDFFE1;

}

input

{

background-color:#EDFFE1;

}

*/

hr

{

width:95%;

color:#00CC00;

border:1px solid #91E89F;

font-weight: 100;

}

p

{

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

font-size:16px;

margin:10px;

color:#003300;

}

global_table

{

background-color:#FFFFFF;

border:solid 1px #333333;

}

niz_header

{

border-bottom:3px solid #006600;

}

top_niz

{

background-image: url(pic/footer_mini.jpg);

background-repeat: no-repeat;

background-position: right bottom;

border-top:3px solid #006600;

}

menu_fon

{

background-image: url(pic/fon_men.jpg);

background-repeat: repeat-y;

background-position: left;

border-right:1px solid #006600;

font-size:14px;

}

left_zagolovok

{

text-align:center;

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

font-weight:bold;

border-left:2px solid #006600;

border-bottom:2px solid #009900;

display:block;

width:90%;

}

menu_link a:link

{

text-align:center;

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

font-weight:bold;

border:1px solid #006600;

display:block;

width:90%;

text-decoration:none;

color:#003300;

background-color:#D0FDC8;

}

menu_link a:visited

{

text-align:center;

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

font-weight:bold;

border:1px solid #006600;

display:block;

width:90%;

text-decoration:none;

color:#003300;

background-color:#D0FDC8;

}

menu_link a:active

{

text-align:center;

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

font-weight:bold;

border:1px solid #006600;

display:block;

width:90%;

text-decoration:none;

color:#003300;

background-color:#FFFF00;

}

menu_link a:hover

{

text-align:center;

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

font-weight:bold;

border:1px solid #006600;

display:block;

width:90%;

text-decoration:none;

color:#003300;

background-color:#00CC00;

}

zagolovok

{

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

font-size:36px;

text-align:center;

color:#FF0000;

}

mini_table

{

border:1px solid #215909;

}

header_mini_table

{

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

font-size:16px;

background-color:#009900;

color:#ffffff;

text-align:left;

font-weight:bold;

margin-left:10px;

}

body_mini_table

{

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

font-size:12px;

background-color:#D0FDC8;

color:#000000;

text-align:left;

}

header_mini_table_text

{

margin-left:10px;

}

header_mini_table_text a:link

{

margin-left:10px;

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

font-size:16px;

color:#FFFFFF;

text-align:left;

font-weight:bold;

}

header_mini_table_text a:visited

{

margin-left:10px;

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

font-size:16px;

color:#FFFFFF;

text-align:left;

font-weight:bold;

}

header_mini_table_text a:hover

{

margin-left:10px;

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

font-size:16px;

color:#FFFF00;

text-align:left;

font-weight:bold;

}

body_mini_table_text

{

margin-left:10px;

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

font-size:16px;

color:#003300;

text-align:left;

margin-left:10px;

margin-right:10px;

margin-bottom:3px;

margin-top:3px;

}

add_stud_form

{

text-align:left;

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

font-size:14px;

font-weight:bold;

}

gruppa_text a:link

{

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

font-size:14px;

color:#006600;

text-align:left;

font-weight:bold;

}

gruppa_text a:visited

{

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

font-size:14px;

color:#006600;

text-align:left;

font-weight:bold;

}

gruppa_text a:hover

{

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

font-size:18px;

color:#FF0000;

text-align:left;

font-weight:bold;

}

stud_in_gruppa_text a:link

{

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

font-size:14px;

color:#006600;

text-align:left;

font-weight:bold;

}

stud_in_gruppa_text a:visited

{

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

font-size:14px;

color:#006600;

text-align:left;

font-weight:bold;

}

stud_in_gruppa_text a:hover

{

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

font-size:14px;

color:#FF0000;

text-align:left;

font-weight:bold;

}

mess

{

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

font-size: 16px;

font-weight: bold;

color: #006600;

text-decoration: blink;

}

Дополнительные модули, подключаемые к основным:

bd.php - Модуль соединения с базой данных

<?php

$db = mysql_connect ("localhost","ok","123123"); //Функция соединения с сервером базы данных, где localhost - это адрес сервера (обычно по умолчанию он такой всегда, ОК - имя пользователя, 123123 - пароль , в переменную $db заносится результат выполнения этой функции. результатом является идентификатор сессии).

mysql_select_db("students",$db);// функция соединения с самой базой. где students - это название базы, $db - это наш идентификатор сессии соединения с сервером БД. Причем если используется всего один сервер, то идентификатор в функции mysql_select_db можно не использовать.

?>

footer.php

<tr>

<td align="center" valign="middle" class="top_niz"><div align="right">

<p>&nbsp;</p>

</div></td>

</tr>

header.php

<tr class="niz_header">

<td align="center" valign="middle" class="niz_header"><div align="left"><img src="pic/logo_mini.jpg" width="449" height="150" /></div></td>

</tr>

Menu.php

<td width="200" align="left" valign="top" class="menu_fon"><p>

<center>

<div class="left_zagolovok">Меню</div><br />

<div class="menu_link">

<a href="index.php" >Главная страница</a>

<a href="students_all.php">Список студентов</a>

<a href="fak_all.php">Факультеты</a><br />

<a href="add_stud.php">Добавить студента</a>

<br />

<a href="add_fak.php">Добавить факультет</a>

<a href="edit_fak.php">Редактировать факультет</a>

<a href="del_fak.php">Удалить факультет</a>

</div>

</center>

</p>

</td>

lock.php - модуль авторизации пользователя.

<?php

include("blocks/bd.php");

if (!isset($_SERVER['PHP_AUTH_USER']))

{

Header ("WWW-Authenticate: Basic realm=\"Отдел кадров студентов ВУЗа ДГТУ\"");

Header ("HTTP/1.0 401 Unauthorized");

exit();

}

else {

if (!get_magic_quotes_gpc()) {

$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);

$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);

}

$query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";

$lst = @mysql_query($query);

if (!$lst)

{

Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");

Header ("HTTP/1.0 401 Unauthorized");

exit();

}

if (mysql_num_rows($lst) == 0)

{

Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");

Header ("HTTP/1.0 401 Unauthorized");

exit();

}

$pass = @mysql_fetch_array($lst);

if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])

{

Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");

Header ("HTTP/1.0 401 Unauthorized");

exit();

}

}

?>

Приложение В

Скриншот работы программного средства

На рисунке В.1 представлен внешний вид программного средства «Генератор отчётов». Программное средство имеет приятный и интуитивно понятный интерфейс.

Рисунок B.1 - Внешний вид программы «Генератор отчётов» (Авторизованный пользователь)

При запуске приложения пользователю предлагается ввести логин и пароль (Рисунок B.2) для авторизации, иначе в доступе к работе с программой и базами данных будет отказано.

Рисунок B.2 - Окно авторизации программы «Генератор отчётов»

Размещено на Allbest.ru


Подобные документы

  • Логическая модель базы данных. Создание различных форм для заполнения таблиц, запросов, отчётов средствами Rave Reports, отчет по областям и населенным пунктам. Просмотр запросов с русифицированными кнопками, наименованиями полей и полями соответствия.

    курсовая работа [1,4 M], добавлен 08.04.2014

  • Информационно-вычислительный комплекс "Ангара" для компьютерного моделирования трубопроводных систем энергетики. Генерации SQL скрипта структуры базы данных и средства программного доступа. Описание интерфейса пользователя и его режимы генерации.

    дипломная работа [5,0 M], добавлен 09.05.2014

  • Общее понятие про отчет. Системы формирования отчетов. Возможности Сrystal Reports 2008. Формирование сложных отчетов на основе ранее подготовленных шаблонов и правил с помощью T-FLEX DOCs. Анализ идеальной модели отчетов для языков программирования.

    курсовая работа [54,2 K], добавлен 05.06.2009

  • Обзор области генерации сетевого трафика. Описание выбранных методов, моделей, алгоритмов решения задач. Создание модели поведения пользователя, распределение количества посещённых страниц сайта. Выбор средств реализации программного продукта (проекта).

    курсовая работа [1,3 M], добавлен 30.06.2017

  • Алгоритм генерации фрактальных ландшафтов. Обоснование выбора языка программирования. Требования к параметрам технических средств. Документация по работе с библиотекой. Составляющие трехуровневого анализа продукта. Основы технико-экономических расчетов.

    дипломная работа [1,3 M], добавлен 17.07.2016

  • Анализ средств программирования БД MS Access. Разработка базы данных "Методический кабинет" для генерации отчетов, требования к программе. Организация работы по внедрению программного продукта заказчика. Расчеты экономической целесообразности разработки.

    дипломная работа [1,2 M], добавлен 15.02.2010

  • Общее описание информационно–справочной системы, предназначенной для контролирования работы промоутеров. Описание входных и выходных данных. Проектирование интерфейса пользователя. Выбор стратегии разработки тестов. Поиск информации, просмотр отчётов.

    курсовая работа [3,6 M], добавлен 27.07.2014

  • Разработка программного приложения в среде Delphi. Создание таблиц и их заполнение. Форма редактирования записи. Реализация SQL запросов и поиска. Создание отчётов по БД. Руководство пользователя. Требования к составу и параметрам технических средств.

    курсовая работа [1,3 M], добавлен 03.11.2014

  • Описание первичных и результатных документов, типа связи информационных объектов. Построение информационно-логической модели базы данных и её реализация в СУБД Access (создание таблиц, запросов, форм, отчётов). Разработка интерфейса пользователя.

    курсовая работа [2,1 M], добавлен 14.11.2013

  • Блок-схема работы программы генерации ключевой информации, внешний вид ее основного окна. Построение гистограмм распределения элементов и проверки серий. Тестирование программы на работоспособность и возможность получения криптографически стойких ключей.

    презентация [561,0 K], добавлен 16.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.