Подсистема визуальной генерации отчётов в рамках информационно-образовательного портала
Сравнение программных средств генерации отчётов: 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> </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