Разработка программного изделия "Учёт повышения квалификации преподавателей"
Основные задачи колледжа; оснащенность подразделений вычислительной техникой. Анализ входной и выходной информации с целью разработки программного продукта для отдела кадров. Составление функциональной схемы, написание алгоритма, отладка программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 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]?>
<td>
<?=$re[mesto_proh]?>
<td>
<?=$re[tem_obuch]?>
<td>
<?=$re[chas]?>
<td>
<?=$re[docum]?>
<td>
<?=$re[data_beg]?>
<td>
<?=$re[mesto_prov]?>
<td>
<?=$re[tem_kurs]?>
<td>
<?=$re[srok]?>
<td>
<?=$re[name_svid]?>
<td>
<?=$re[obuch]?>
<td>
<?=$re[stazh]?>
<td>
<?=$re[prim]?>
<tr>
<?
}}
else {
echo "<td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> ";}
}
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>
<td align=left><input type=text size=10 name='logvv' value=".$logvv."></td></tr><tr><td align=left>
<font color='darkblue'>Введите Ф.И.О.:
<td align=left><input type=text name=fiovv size=52 value=".$fiovv." ></td></tr>
<tr><td align=left><font color='darkblue' >Фотография:</font> </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> </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> </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='Сохранить'> <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>: </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'>Ф.И.О. : </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> </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> </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> </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='Сохранить'> <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
...Подобные документы
Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.
курсовая работа [69,8 K], добавлен 13.02.2012Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.
реферат [513,1 K], добавлен 22.10.2012Требования к пользовательскому интерфейсу программного продукта. Выбор инструментальных средств разработки программы. Описание функциональной схемы, модульной структуры, структурной схемы. Технология разработки справочной системы программного продукта.
дипломная работа [2,7 M], добавлен 12.05.2016Разработка программного продукта для автоматизации анализа рентабельности хозяйственной деятельности предприятий. Анализ входной и выходной информации. Структура и состав базы данных. Требования к вычислительной среде. Описание и установка программы.
курсовая работа [972,8 K], добавлен 28.05.2013Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Обзор и анализ существующих методик управления проектами и оценки трудоемкости. Разработка алгоритма задания параметров и вычисления трудоемкости и стоимости программного продукта. Отладка и тестирование продукта. Разработка руководства пользователя.
дипломная работа [2,5 M], добавлен 18.11.2017Особенности dirent как входной структуры каталога, независимой от файловой системы. Получение содержимого каталога и информации о файле. Разработка блок-схемы алгоритма программы. Изучение программного обеспечения для реализации поставленной задачи.
курсовая работа [1,1 M], добавлен 22.07.2014Статус, структура и система управления функциональных подразделений и служб предприятия. Правила и нормы охраны труда, техники безопасности при работе с вычислительной техникой. Тестирование программного продукта. Составление руководства пользователя.
отчет по практике [4,8 M], добавлен 31.03.2015Архитектура программного продукта и требования к платформе, обоснование выбора разработки. Закономерности и основные этапы алгоритмизации и программирования, а также отладка и тестирование продукта. Разработка и содержание руководства пользователя.
дипломная работа [2,3 M], добавлен 19.01.2017Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.
курсовая работа [1,3 M], добавлен 29.12.2014Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.
контрольная работа [2,5 M], добавлен 17.12.2014Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Разработка программного продукта "Заказы" как часть системы автоматизации ресторана быстрого питания. Описание выходной и входной информации, определение связей между ними, структурный анализ с помощью диаграмм SADT, интерфейс и листинг программы.
курсовая работа [2,5 M], добавлен 30.11.2009Внедрение программного продукта в организации. Описание входной и выходной информации. Конфигурирование приложения "Сервис веб-помощи". Обзор пользовательского интерфейса. Руководство пользователя для персонала больницы и для администратора приложения.
дипломная работа [2,9 M], добавлен 24.06.2013Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.
дипломная работа [1,4 M], добавлен 23.06.2015Основные стадии разработки, принципы тестирования и отладка программного модуля "VFS". Особенности проектирования на языке UML. Методы "грубой силы" и их применение при отладке программы. Вредные факторы, присутствующие на рабочем месте программиста.
дипломная работа [827,0 K], добавлен 07.03.2012Диагностический анализ системы управления предприятия, его организационной и функциональной структуры. Разработка проекта подсистемы учёта средств вычислительной техники, описание технического обеспечения базы данных. Характеристика программного продукта.
дипломная работа [7,2 M], добавлен 28.06.2011Деятельность отдела информационных технологий. Сопровождение аппаратных средств, баз данных и локальной вычислительной сети. Обслуживание телекоммуникаций и защита информации. Разработка программного средства, работающего с базой данных Oracle.
курсовая работа [405,1 K], добавлен 16.09.2012