Разработка программного изделия "Учёт повышения квалификации преподавателей"

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

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

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

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

while($r1=mysql_fetch_array($zap1))

{

$mass1[]=$r1[fio]."_".$r1[login];

}

@sort($mass1);

for($i=0;$i<count($mass1);$i++)

{

$exp_mass=explode("_",$mass1[$i]);

$exp_fio=explode(" ",$exp_mass[0]);

$res = mysql_query("SELECT * FROM `ok_kursy` where `id_prep`='$exp_mass[1]'");

$res22 = mysql_query("SELECT * FROM `ok_kursy` where `id_prep`='$exp_mass[1]'");

$rres=mysql_fetch_array($res22);

$sk=mysql_num_rows($res);

echo "<tr><td rowspan='$sk'><a href='kursy_reg.php?b=1&id_prep=$rres[id]'><img src='../images/pravka.gif' border='0'alt='Редактировать запись'></a>";

echo "<td rowspan='$sk' align='center'>".++$npp.".<td align='left' rowspan='$sk' ><nobr>$exp_fio[0] $exp_fio[1]<nobr>$exp_fio[2] ";

echo "<br>sk - $exp_mass[1] - $sk<br>";

echo "<td align=left rowspan='$sk' >";

//echo "$exp_mass[1]";

$zap2=mysql_query("SELECT * FROM `user_prep` INNER JOIN `z_predmet` on `user_prep`.`predmet` =`z_predmet`.`id_pred` where `user_prep`.`login`='$exp_mass[1]' ");

$m=mysql_num_rows($zap2);

//echo "m=$m <br>";

$g=0;

while($r2=mysql_fetch_array($zap2))

{

$g++;

echo "$r2[name_pred]<br>";

}

//echo "<td><table>";

if($sk!=0){

while($re=mysql_fetch_array($res))

{

//echo $re[id_prep]."_".$re[data_l]."_".$re[mesto_proh]."<br>";

?>

<td>

<?=$re[data_l]?>&nbsp;

<td>

<?=$re[mesto_proh]?>&nbsp;

<td>

<?=$re[tem_obuch]?>&nbsp;

<td>

<?=$re[chas]?>&nbsp;

<td>

<?=$re[docum]?>&nbsp;

<td>

<?=$re[data_beg]?>&nbsp;

<td>

<?=$re[mesto_prov]?>&nbsp;

<td>

<?=$re[tem_kurs]?>&nbsp;

<td>

<?=$re[srok]?>&nbsp;

<td>

<?=$re[name_svid]?>&nbsp;

<td>

<?=$re[obuch]?>&nbsp;

<td>

<?=$re[stazh]?>&nbsp;

<td>

<?=$re[prim]?>&nbsp;

<tr>

<?

}}

else {

echo "<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;";}

}

echo "</table>";

}

?>

<input type="hidden" value="Записать данные" name="insert">

<?

//$val=join("#",$mass1);

?>

<input type='hidden' value='<?=$val?>' name='mass'>

</form>

Файл kursy2.php

<?

require_once "../menu.php";

if ($insert)

{

//echo "Ghbdtn";

for($i=1;$i<=$HTTP_POST_VARS['kol_row'];$i++)

{

//echo "$i<br>";

$query = "insert into `ok_kursy`(`id_prep`,`disc`,`data_l`,`mesto_proh`,`tem_obuch`,`data_beg`,`chas`,`docum`,`mesto_prov`,`tem_kurs`,`srok`,`name_svid`,`obuch`,`stazh`,`prim`) values ('".$HTTP_POST_VARS['id_pr']."','".$HTTP_POST_VARS['name_disc']."','".$HTTP_POST_VARS['date_'.$i]."','".$HTTP_POST_VARS['mesto_'.$i]."','".$HTTP_POST_VARS['tem_'.$i]."','$expdt','".$HTTP_POST_VARS['chas_'.$i]."','".$HTTP_POST_VARS['doc_'.$i]."','".$HTTP_POST_VARS['mesto_t_'.$i]."','".$HTTP_POST_VARS['tem_t_'.$i]."','".$HTTP_POST_VARS['srok_'.$i]."','".$HTTP_POST_VARS['doc_t_'.$i]."','".$HTTP_POST_VARS['obuch_'.$i]."','".$HTTP_POST_VARS['stazh_'.$i]."','".$HTTP_POST_VARS['prim_'.$i]."')";

if($HTTP_POST_VARS['mesto_'.$i]!="")

mysql_query ($query) or die ("Query ошибка: " . mysql_error());

}

//echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=$PHP_SELF'></HEAD></HTML>";

}

?>

<center>

<table>

<tr><td>

<font size='6' color="black">Учёт повышения квалификации преподавателей:</font>

</table>

</center>

<form name="f1" action='<?=$PHP_SELF?>' method='post'>

<a href="kursy_reg.php" align=center>Просмотр данных</a>

<table>

<tr><td><b>Выбрать преподавателя:</b>

<td><select multiple size = 5 name="id_pr" onChange='ch_preds(value)'>

<?

$zap1=mysql_query("select * from `user_prep` group by `fio`") or die(mysql_error());

while($r1=mysql_fetch_array($zap1))

{

echo "<option value='$r1[login]' > $r1[fio]";

}

?>

</select>

<?

$zap1=mysql_query("SELECT * FROM `user_prep` ORDER BY `fio` ASC");

$login='';

while($r1=mysql_fetch_array($zap1))

{

$preds='';

$login2=$r1[login];

if($login2!=$login)

{

$sel_preds=mysql_query("select * from `user_prep` where `login`='$r1[login]'");

while($rsel_preds=mysql_fetch_array($sel_preds))

{

if($preds=='')

$preds=$rsel_preds[predmet];

else

$preds.="_".$rsel_preds[predmet];

}

echo "<input type='hidden' id='ip_".$r1[login]."' title='' value='$preds'>";

$login=$login2;

}

}

?>

<br>

<tr><td><b>Список дисциплин в<br>зависимости от выбора<br>преподавания:</b>

<br><input type="submit" value="Все дисциплины" name="insert1">

<td id='disc'><select name="name_disc" >

<?

if ($insert1)

{

$zap2=mysql_query("select * from `z_predmet`") or die(mysql_error());

while($r1=mysql_fetch_array($zap2))

{

echo "<option> $r1[name_pred]";

}

}

?>

<?

$zap2=mysql_query("select * from `z_predmet ` group by `name_pred`") or die(mysql_error());

while($r1=mysql_fetch_array($zap2))

{

//echo "<option id='pr_".$r1[id_pred]."'>$r1[name_pred]";

}

?>

</select><br>

<script>

function ch_preds(prep)

{

var log=prep;

//alert(document.all("god").name);

var temp="<select multiple size='3' name='name_disc'>";

//alert(document.all("ip_"+prep).value);

var mp=document.all("ip_"+prep).value.split("_");

for(var i=0;i<mp.length;i++)

{

//alert(document.all("ipr_"+mp[i]).value);

temp+="<option>"+document.all('ipr_'+mp[i]).value;

}

temp+="</select>";

//alert(temp);

document.all("disc").innerHTML=temp;

//alert(mp[0]);

}

</script>

<?

$zap2=mysql_query("select * from `z_predmet ` group by `name_pred`") or die(mysql_error());

while($r1=mysql_fetch_array($zap2))

{

echo "<input type='hidden' id='ipr_$r1[id_pred]' value='$r1[name_pred]'>";

}

?>

</table>

<script>

function strplus()

{

document.all.kol_row.value=(document.all.kol_row.value*1)+1;

document.all("dop_table_"+document.all.kol_row.value).style.display='block';

}

</script>

<?

echo "<table border='1'>";

echo "<tr class=att1 align='center'><td colspan='5' align='center'>Обучение</td><td colspan='5' align='center'>Стажировка</td><td colspan='2'>Сроки последующего прохождения</td><td rowspan='2'>Примечание</td>";

echo "<tr class=att1 align='center'><td>Год</td><td>Место прохождения</td><td>Тематика</td><td>Количество часов</td><td>Реквизиты документа о прохождении</td><td>Год</td><td>Место прохождения</td><td>Тематика</td><td>Срок</td><td>Реквизиты документа о прохождении</td><td align='center'>Обучения</td><td align='center'>Стажировки</td>";

echo "</tr>";

echo "<tr align='center'>";

echo "<td><input type='text' name='date_1' id='god' size='4'></td>";

echo "<td><textarea name='mesto_1'></textarea></td>";

echo "<td><textarea name='tem_1'></textarea></td>";

echo "<td><input type='text' name='chas_1' size='3'></td>";

echo "<td><textarea name='doc_1'></textarea></td>";

echo "<td><input type='text' name='date_t_1' size='4'></td>";

echo "<td><textarea name='mesto_t_1'></textarea></td>";

echo "<td><textarea name='tem_t_1'></textarea></td>";

echo "<td><input type='text' name='srok_1' size='3'></td>";

echo "<td><textarea name='doc_t_1'></textarea></td>";

echo "<td><input type='text' name='obuch_1'></td>";

echo "<td><input type='text' name='stazh_1'></td>";

echo "<td><textarea name='prim_1'></textarea></td>";

echo "</tr>";

//echo "</table>";

//echo "<table border='1' style='display:none' id='dop_table'>";

for($i=2;$i<20;$i++)

{

echo "<tr align='center' style='display:none' id='dop_table_$i'>";

echo "<td><input type='text' name='date_$i' id='god' size='4'></td>";

echo "<td><textarea name='mesto_$i'></textarea></td>";

echo "<td><textarea name='tem_$i'></textarea></td>";

echo "<td><input type='text' name='chas_$i' size='3'></td>";

echo "<td><textarea name='doc_$i'></textarea></td>";

echo "<td><input type='text' name='date_t_$i' size='4'></td>";

echo "<td><textarea name='mesto_t_$i'></textarea></td>";

echo "<td><textarea name='tem_t_$i'></textarea></td>";

echo "<td><input type='text' name='srok_$i' size='3'></td>";

echo "<td><textarea name='doc_t_$i'></textarea></td>";

echo "<td><input type='text' name='obuch_$i'></td>";

echo "<td><input type='text' name='stazh_$i'></td>";

echo "<td><textarea name='prim_$i'></textarea></td>";

echo "</tr>";

}

echo "</table>";

echo "<div align='center'><img src='../images/plus.gif' style='cursor:pointer' onClick='strplus()'><input type='hidden' name='kol_row' value='1'></div><br>";

?>

<input type="submit" value="Записать данные" name="insert">

</form>

<hr>

Файл kursy_vibor.php

<?

require "kursy_reg.php";

?>

Файл update.php

Добавление нового преподавателя

////////////////////////////////Добавление нового преподавателя////////////////////////////////////

if($prepodi!='')

{

echo "<center><font size='2' color='darkblue'><b>Добавление преподавателя</b>";

$f2=mysql_query("SELECT login FROM user_prep GROUP BY login");

$n=mysql_num_rows($f2);

$st=0;

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

{

$f3=mysql_fetch_array($f2);

$str[$i]=substr($f3[login],4);

if($st<=$str[$i])$st=$str[$i];

}

$logvv="prep".($st+1);

echo "<form enctype='multipart/form-data' method='post' action='update.php?zag=6' name=prepod_dobav>

<table><tr>

<td align=left>

<font color='darkblue'>Введите логин:<font color='red' size='4'><b>*</b></font>&nbsp;&nbsp;&nbsp;

<td align=left><input type=text size=10 name='logvv' value=".$logvv."></td></tr><tr><td align=left>

<font color='darkblue'>Введите Ф.И.О.:&nbsp;&nbsp;&nbsp;

<td align=left><input type=text name=fiovv size=52 value=".$fiovv." ></td></tr>

<tr><td align=left><font color='darkblue' >Фотография:</font>&nbsp;&nbsp;</td>

<td align=left><font color='darkblue' ><input type=file size=40 name='photo_prep'></td></tr>

<tr><td align=left><font color='darkblue'>Категория преподавателей:</font>&nbsp;&nbsp;</td><td align=left><font color='darkblue'>

<select name='kat_prep'>";

$zap1=mysql_query("select * from `ok_kat_prep`");

while($r2=mysql_fetch_array($zap1))

{

echo "<option value='$r2[id]' >$r2[kat]";

}

echo "</select></td></tr>";

echo "<tr><td align=left><font color='darkblue'>Должности:</font>&nbsp;&nbsp;</td><td align=left><font color='darkblue'>

<select name='dolzhn'>";

$zap=mysql_query('select * from `ok_dolzn`');

while($r1=mysql_fetch_array($zap))

{

echo "<option value='$r1[id]'>$r1[dolzn]";

}

echo "</select></td></tr>

<tr><td align=left>Уволен:

<input type = 'checkbox'></table>";

echo "<br><center><input type='submit' name='sacvv' value='Сохранить'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' name='otmvv' value='Отменить'></center>";

echo '<p><br><hr color="darkblue" width=30%><center><font size="2" color="darkblue"><font color="red" size="4"><b>*</b></font> - Поле "Логин" должно быть заполненно только латинскими буквами и цифрами!<br>Иначе возникнут проблемы при дальнейшей работе с данной учетной записью</font></center></form>';

Редактирование

////////////////////////////////Редактирование информации о преподавателе////////////////////////

if($logprep)

{

$fioprep=mysql_fetch_array(mysql_query("SELECT * FROM `user_prep` WHERE login='".$logprep."'"));

echo "<center><font size='2' color='darkblue'><b>Редактирование сведений о преподавателе</b></font>";

echo "<center><form enctype='multipart/form-data' action='".$PHP_SELF."' method='post'>";

echo "<table><tr><td align=left><font color='darkblue'>Логин<font color='red'>*</font>:&nbsp;&nbsp;</td><td align=left><input type=text name='lprep' value='".$fioprep['login']."' size=10><input type=hidden name='logprep' value='".$logprep."'></td></tr>";

echo "<tr><tr><td align=left><font color='darkblue'>Ф.И.О. :&nbsp;&nbsp;</td><td align=left><input type=text name='fprep' value='".$fioprep['fio']."' size=52></td></tr>";

echo "<tr><td align=left><font color='darkblue' >Фотография:</font>&nbsp;&nbsp;</td><td align=left><font color='darkblue' ><input type=file size=40 name='photo_prep'></td></tr>";

echo "<tr><td align=left><font color='darkblue'>Категория преподавателей:</font>&nbsp;&nbsp;</td><td align=left><font color='darkblue'>

<select name='kat_prep'>";

$zap1=mysql_query("select * from `ok_kat_prep`");

while($r2=mysql_fetch_array($zap1))

{

echo "<option value='$r2[id]' >$r2[kat]";

}

echo "</select></td></tr>";

echo "<tr><td align=left><font color='darkblue'>Должности:</font>&nbsp;&nbsp;</td><td align=left><font color='darkblue'><select name='dolzhn'>";

$zap=mysql_query("select * from `ok_dolzn`");

while($r=mysql_fetch_array($zap))

{

echo "<option value='$r[id]' >$r[dolzn]";

}

echo "</select></td></tr>";

echo"<tr><td align=left><font color='darkblue'>Уволен:

<input type = 'checkbox'></td></tr>";

echo "</table><p><input type=submit name=cprep value='Сохранить'>&nbsp;&nbsp;&nbsp;<input type=submit name=oprep value='Отменить'>";

echo '<p><br><hr color="darkblue" width=30%><center><font size="2" color="darkblue"><font color="red" size="4"><b>*</b></font> - Поле "Логин" должно быть заполненно только латинскими буквами и цифрами!<br>Иначе возникнут проблемы при дальнейшей работе с данной учетной записью</font></center></form>';

}

if ($oprep)

{

echo "<HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=prepod.php?prosmotr_inf_o_prep=0&zag=6'></HEAD>";

}

if ($cprep)

{

if($lprep!=='' and $fprep!=='')

{

if($_FILES['photo_prep']['size']>524288)

{

echo "Слишком большой файл, более 512Кб!";

echo "<HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=update.php?lprep=".$lprep."&fprep=".$fprep."&logprep=".$logprep."&zag=6'></HEAD>";

}

else

{

$imgdir_prep="../../foto/teachers";// путь к каталогу

$name_f=date("YmdHis",time()).strrchr($_FILES['photo_prep']['name'],".");

copy($HTTP_POST_FILES['photo_prep']['tmp_name'],"$imgdir_prep/".$name_f);

mysql_query("UPDATE `user_login` SET login='".$lprep."' where login='".$logprep."'");

mysql_query("UPDATE `user_prep` SET login='".$lprep."', fio='".$fprep."', foto_prep='".$name_f."',prep='".$kat_prep."',dolzn='".$dolzhn."' where login='".$logprep."'");

mysql_query("UPDATE `ok_id_sotr` SET login='".$lprep."', kat='".$kat_prep."',dolzn='".$dolzhn."' where login='".$logprep."'");

echo "<HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=prepod.php?prosmotr_inf_o_prep=0&zag=6'></HEAD>";

}

}

else

{

echo "<font color='darkblue'>Пожалуйста заполните все поля</font>";

echo "<HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=update.php?lprep=".$lprep."&fprep=".$fprep."&logprep=".$logprep."&kat_prep=".$kat_prep."&dolzhn=".$dolzhn."&zag=6'></HEAD>";

}

}

Тема №9. Отладка программы. Контрольный просчет

Отладка программы

При отладке и выполнении программы могут возникнуть ошибки нескольких типов (см. табл. 1).

Типы ошибок

Таблица 10.

Значения

Константы

Описание

1

E_ERROR

Неустранимые ошибки на стадии выполнения

2

E_WARNING

Предупреждения на стадии выполнения (несущественные ошибки)

4

E_PARSE

Ошибки анализа на стадии компиляции

8

E_NOTICE

Замечания на стадии выполнения (менее серьезные, чем предупреждения)

16

E_CORE_ERROR

Неустранимые ошибки, происходящие во время начального запуска РНР

64

E_COMPILE_ERROR

Неустранимые ошибки на стадии компиляции

265

E_USER_ERROR

Сообщение об ошибке, генерируемое пользователем

512

E_USER_ WARNING

Предупреждение, генерируемое пользователем

1024

E_USER_NOTICE

Замечание, генерируемое пользователем

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

В РНР существует возможность отображения сообщений об ошибках прямо в браузере. В зависимости от состояния интерпретатора сообщения будут либо выводиться в браузер, либо подавляются. Для установки режима вывода ошибок служит функция Error_Reporting().

В РНР 4.0 значением по умолчанию для параметра error_reporting является E_ALL & ~E_NOTICE, что означает отображение всех сообщений об ошибках и предупреждений, не имеющих уровня E_NOTICE. В РНР3 по умолчанию используется значение E_ERROR | E_WARNING | E_PARSE, что означает то же самое.

Начальную установку можно изменить в файле ini с помощью директивы error_reporting в файле httpd.conf Apache с помощью директивы php_error_reporting, а также во время выполнения в скрипте с помощью функции error_reporting().

Все выражения РНР могут также вызываться с префиксом @, отключающим сообщения об ошибках для данного конкретного выражения. Если в таком выражении происходит ошибка, и функция track_errors активна, сообщение об ошибке можно будет найти в глобальной переменной $php_errormsg. При написании программы возникали некоторые трудности. Например, Ошибка связанная со строчкой: echo "<HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=kursy_reg.php?a=1&zag=$zag'></HEAD>";

Или большинство ошибок связанные с неправильным составлением запросов.Например:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\INTERNET\Server\www\project_7131\kursy\kursy2.php on line 16

Контрольный пример

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

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

Рис. 8. Форма ввода "учет повышения квалификации преподавателей"

Возьмем для примера чтобы посмотреть что все работает правильно следующие значения в форме:

· Выбрать преподавателя-Бенцевич Екатерина Владимировна

· Список дисциплин в зависимости от выбора преподавания-при выборе "выбрать преподавателя" появятся здесь следующие дисциплины которые он ведет, как указано на рисунке 9.

Рис. 9. Список дисциплин в зависимости от выбора преподавания.

Здесь мы видим то что Бенцевич Екатерина Владимировнаведет только одну дисциплину-Английский.Автоматически она у нас и выбирается.

· Год-2005

· Место прохождения-институт

· Тематика- Английский

· Часы- 56

· Реквизиты документа о прохождении обучения- 12ПР

· Год стажировки-2000

· Место прохождения-ГУАП

· Тематика- Иностранный

· Срок-4

· Реквизиты документа о прохождении стажировки- 1234К-1

· Сроки последующего прохождения обучения-пройти

· Сроки последующего прохождения стажировки-пройти

· Примечание-пройдено

Установим после всех введенных данных курсор на кнопку "записать данные"

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

Рис. 10 и 11. Проверка внесены ли верно данные.

Итак мы видим то что данные о Бенцевич Екатерине Владимировне занесены корректно.Теперь проверим на этом контрольном примере редактирование информации. Нажав на соответствующую пинтограмму напротив этого поля чуть ниже таблицы появится форма редактирования. Изменим тематику стажировки с "английский" на "иностранный",и год стажировки с 2000 на 2009 .

Рис.12.Форма редактирования

Нажмем на кнопку сохранить и если программа корректно работает то в отображении таблицы тематики стажировки с "английский" изменится на "иностранный",и год стажировки с 2000 на 2009 .

Рис. 13 и 14. Полученные данные

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

Тема №10. Расчет экономической целесообразности разработки

Методика расчёта экономической эффективности

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

* Прирост объема и улучшение качества продукции (услуг), которые дополнительно производят за счет использования в своей деятельности Средств вычислительной техники (СВТ) предприятия;

* Прирост прибыли от реализации дополнительного и за счет эффективного использования СВТ объема и качества информационно-вычислительных работ (ИВР) и информационно-вычислительных услуг (ИВС);

* Повышение уровня программно-технической вооруженности труда работников, использующих СВТ;

* Сокращение численности административно-управленческих работников и др.

В этом случае конечная эффективность определяется не только эффективностью отдельных автоматизированных систем (АС), но и системным эффектом, зависящим от степени интегрированности отдельных АС, функционирующих в рамках выделенного объекта управления. Наиболее важными социальными результатами, связанными непосредственно с производственной деятельностью, являются:

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

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

* Ускорение процесса "вхождения" руководителя в систем) управления за счет лучшей информированности о состоянии вверенного подразделения;

* Повышение степени доверия к информации, используемой для принятия решений и повышение ответственности за принимаемые решения;

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

Опенка эффективности отдачи от вложений в информационные технологии основана на сравнении объема инвестиций и денежных поступлений, обусловленных инвестициями.

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

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

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

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

ао = Зп * Тп * (1 + Кс + Кн) + Смч * Тмо (1), где:

Зп - средняя заработная плата программиста (часовая, дневная или месячная), рублей;

Тп - время на составление в отладку программы (чел-часов);

Кс - коэффициент отчислений на социальные нужды, включающий тарифы страховых взносов в Пенсионный фонд РФ, Фонд социального страхования РФ, Федеральный фонд обязательного медицинского страхования и территориальные фонды обязательного медицинского страхования (в 2010 году 26%, т.е. 0,26), а также коэффициент отчислений на социальное страхование от несчастных случаев и профессиональных заболеваний, зависящий от класса профессионального риска, к которому отнесена организация;

Кн - коэффициент накладных расходов, используемый для расчетов на конкретном предприятии;

Смч - стоимость одного часа машинного времени, рублей;

Тмо - затраты машинного времени на отладку программы, часов.

На полученную сумму начисляется НДС в размере 18%.

Стоимость одного машинного часа может быть рассчитана следующим образом:

Сбал

Смч = _.____________ + Сэлектр (2), где:

Тэ * Чг * Чд

Сбал - балансовая стоимость ПК, рублей;

Тэ - нормативный срок эксплуатации ПК, лет;

Чг - число рабочих дней в году, дней;

Чд - число часов работы ПК в день, часов;

Сэлектр - стоимость электроэнергии, которая рассчитывается по формуле:

Сэлектр = Сквт * Н (3), где:

Сквт - стоимость одного КВТ часа энергии, рублей;

Н - расход электроэнергии в час (по паспортным данным ПК), квт.

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

В конечном счете эффект (Э) выражается экономией материальных и трудовых ресурсов в стоимостном выражении за установленный период времени, обычно за год:

Эt = 31 - 32 (4), где:

31 - элементы производственных затрат, связанные с использованием заменяемой информационной технологии (или традиционного способа решения задачи), рублей;

32 - элементы производственных затрат, связанные с использованием новой информационной технологии, рублей;

Эt - снижение себестоимости продукции (работ) после внедрения нового программного продукта (для каждого года его использования, рублей).

Затраты могут быть определены по формуле:

3 = Зп * Тр * (1 + Кс + Кн) (5), где:

Зп - средняя заработная плата работника (среднечасовая, среднедневная, среднемесячная), рублей;

Тр - трудоёмкость решения задачи из расчета за год в чел-часах, чел-днях, чел-мес.

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

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

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

Чистый дисконтированный доход - это доход, полученный от вложения капитала на разработку проекта. При расчёте идёт сравнение эффекта от использования созданного продукта с тем, как доход можно получить от вложения тех же средств в банк.

При этом:

1. Заранее задается минимально допустимая ставка процента окупаемости (прибыльный процент - норма дисконта), при которой объект инвестирования считается прибыльным. Такой ставкой является ставка банковского процента. Примем ее на уровне 10-15% и будем условно считать неизменной для всего срока службы объекта инвестирования (Е = 0,1-0,15).

2. Осуществляется дисконтирование (приведение к базисному моменту времени) на основе расчетной ставки процента всех текущих поступлений, полученных после приобретения объекта инвестирования (иначе - дисконтированный эффект):

(6), где:

n - срок службы объекта инвестирования (для программных продуктов обычно 2 года);

t - номер шага расчета (= 1,2, …,n );

Эt- текущие годовые поступления в году t, то есть:

(7)

Условно можно считать, что Э1, Э2 равны между собой (они рассчитываются по формуле (4)), однако эти величины могут корректироваться с учетом инфляции.

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

3. Рассчитывается дисконтированная (чистая) стоимость капитала путём вычитания расходов на приобретение (создание) объекта инвестирования из величины выручки от инвестиций:

. К = Э - Ао (8), где:

Э - рассчитывается по формуле (7), Ао рассчитывается по формуле (1).

Положительная величина дисконтированной стоимости капитала означает, что проект эффективен (при данной норме дисконта). Чем больше эта величина, тем эффективнее проект.

Отрицательная величина дисконтированной стоимости капитала означает убыточность инвестиций.

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

Э

ИД = -------- (9)

Ао

Если ИД > 1, то проект эффективен, в противном случае - неэффективен.

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

Срок окупаемости рекомендуется определять с использованием дисконтирования.

Исходные данные, используемые для расчёта

Исходные данные, используемые для расчёта Таблица 11

Показатели

Обозначение

Ед.измерения

Значение

Средняя заработная плата программиста

(часовая)

Зп

рублей

130

Время на составление и отладку программы

Тп

чел/часов

170

Коэффициенты отчислений на социальные нужды

Кс

-

0,262

Коэффициент накладных расходов

Кн

-

0,25

Затраты машинного времени на отладку программы

Тмо

часов

90

Балансовая стоимость ПК

Сбал

рублей

9000

Нормативный срок эксплуатации ПК

Тэ

лет

5

Число рабочих дней в году

Чг

дней

250

Число часов работы ПК в день

Чд

часов

7

Стоимость одного кВт часа энергии

Сквт

рублей

2,16

Расход электроэнергии в час

Н

кВт

0,30

Средняя заработная плата работника

(часовая)

Зп

рублей

100

Ставка банковского процента

Е

%

15

Коэффициент отчислений на социальное страхование от несчастных случаев

Кстрах

-

0,002

Трудоёмкость решения задачи из расчёта за год

Тр1

чел-часы

300

Трудоёмкость решения задачи из расчёта за год

Тр2

чел-часы

70

Расчёт экономической эффективности. Выводы

Чтобы найти затраты, связанные с созданием программы для ЭВМ (Ао), необходимо знать стоимость одного машинного часа (Смч), которая рассчитывается по формуле (2) и стоимость электроэнергии (Сэлектр), которая рассчитывается по формуле (3).

Сэлектр = 2,16*0,3 = 0,65

Смч = (9000/ (5*250*7))+0,65 = 1,7

Затраты рассчитываются по формуле (1):

Ао = 130* 170 * (1+0,262+0,25) + 1,7 * 90 =33566

Ао с учётом НДС в размере 18% :

То есть полученное Ао=33566 надо умножить на 1,18 и получится

Ао с НДС = 39608

Экономический эффект (Эt) находится по формуле (4), где изменяющееся элементы производственных затрат, связанные с использованием заменяемой ИТ (З1) и элементы производственных затрат, связанные с использованием новой ИТ (З2) определяются по формуле (5)

З1 = 100*300* (1+0,262+0,25) = 45360

З2 = 100*70* (1+0,262+0,25) = 10584

Эt = 45360-10584=34776

Для определения прибыльности проекта определяется дисконтированный эффект (Э), который рассчитывается по формуле (7)

Э = 34776/ (1+0,15)1+34776/ (1+0,15)2 = 30240 +26296 =56536

Дисконтированная (чистая) стоимость капитала (К) рассчитывается по формуле (8)

К = 56536- 39608 = 16928

Индекс доходности (ИД) определяется по формуле (9). Если ИД >1, то проект эффективен, в противном случае - неэффективен.

ИД = 56536/39608 = 1,43

Срок окупаемости (Ток) можно найти по следующей формуле:

Ао - Э1

Ток = 1 + ------

Э2

Ток = 1 + (39608-45360) /10584 = 0,46

Результат расчёта экономической эффективности Таблица 12

Показатели

Обозначение

Ед.измерения

Значение

Стоимость электроэнергии

Сэлектр

рублей/час

0,65

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

Смч

Рублей

1,7

Затраты связанные с созданием программного продукта

Ао

Рублей

33566

Затраты, связанные с использованием существующей технологии

З1

Рублей

45360

Затраты, связанные с использованием новой технологии

З2

Рублей

10584

Текущие годовые поступления

Эt

Рублей

34776

Дисконтированный эффект

Э

Рублей

56536

Чистая (дисконтированная) стоимость капитала

К

Рублей

16928

Индекс доходности

ИД

-

1,43

Срок окупаемости

Ток

Лет

0,46

При расчете экономической эффективности было выявлено, что чистая дисконтированная стоимость капитала величина положительная, а, значит, проект эффективен. Индекс доходности 1,43, что также подтверждает эффективность разработки.

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

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

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

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

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

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

· Быстродействие (затраты времени на решение задачи пользователя).

· Уровень требований к комплексу технических средств (занимаемый объём памяти, быстродействие процессора, свободное пространство на диске и др.).

· Стоимость.

· Комплексность решения задачи.

· Возможность перенастройки на новые условия применения (например, в связи с изменением законодательства, появлением новых подразделений фирмы и т.д.).

· Возможность работы в сети.

· Качество помощи пользователю в процессе работы (например, наличие ситуативной, контекстно-зависимой и гипертекстной помощи с оглавлением).

· Требования к уровню квалификации пользователя.

· Трудоёмкость освоения и внедрения.

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

Список используемой литературы

1. Александр Матросов, Александр Сергеев, Михаил Чаунин. HTML в подледнике. Издательство: "БХВ-Петербург" 2003 год.

2. Самоучитель PHP5. Максим Кузнецов, Игорь Симдянов. Издательство: "БХВ-Петербург" 2004 год.

3. Кристина Пэйтон, Андре Меллер. PHP5 и MySQL 5. Пер. с нем. - М.: ООО "Бином-Пресс", 2007.

4. Yandex.ru

3. Приложение

Приложение 1 Входная информация

Рис.1. Таблица ok_kursy

Рис.2. Форма ввода учета повышения квалификации преподавателей

Рис.3. Занесение данных в форму ввода

Рис.4. Таблица ok_dolzn

Рис.5. Таблица ok_kat_dolzn

Рис.6. Таблица ok_kat_prep

Рис.7. Таблица ok_id_sotr

Рис.8. Таблицы user_prep

Рис.9. Таблицы z_predmet

Приложение 2 Выходная информация

Рис.1. Вывод таблицы на экран

Рис.2. На редактирование записи

Рис.3. Редактирование информации

Рис.4. Вывод по годам

Рис.5. Вывод преподавателя за 2010 год обучения.

Рис.6. Список преподавателей

Рис.7. Добавление и отображение на экран нового преподавателя

Рис.8. Вывод на экран нового преподавателя.

Рис.9. Редактирование сведений о преподавателе.

Рис.10. Изменение некоторых значений.

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

...

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

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