скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

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

П.А.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 – Окно авторизации программы «Генератор отчётов»


Страницы: 1, 2, 3, 4, 5, 6


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.