Смекни!
smekni.com

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

· XML поддерживается на низком аппаратном, микропрограммном и программном уровнях в современных аппаратных решениях.

3.2 Выбор системы управления базами данных

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

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

При рассмотрении требований конечных пользователей необходимо принимать во внимание следующее:

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

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

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

· база данных должна легко расширяться при реорганизации и расширении предметной области.

· база данных должна легко изменяться при изменении программной и аппаратной среды.

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

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

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

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

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

,

где

– текущие затраты.

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

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

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

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

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

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

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

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

,

где

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

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

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

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