Автор работы: Пользователь скрыл имя, 01 Октября 2012 в 07:24, отчет по практике
Целью практики является закрепление полученных в период обучения знаний, а также приобретения профессиональных навыков, необходимых для качественной подготовки высококвалифицированного и грамотного дипломированного специалиста в области информационных технологий.
Введение 2
1. Общее знакомство с предприятием и применяемыми информационными технологиями. 3
1.1 Структура информационной службы предприятия: 3
1.2 Правовые аспекты в области регулирования деятельности предприятия, на которых строится работа организации: 4
1.3 Основные средства и способы распространения и передачи информации, используемые организацией 5
1.4 Особенности выбора средств и видов программного обеспечения. Достоинства и недостатки (ограничения) используемых программных средств 6
2. Характеристика применяемых информационных технологий и систем. 9
2.1 Перечень применяемых на предприятии информационных технологий и программных продуктов: 9
2.2 Система сбора и хранения информации: 9
3. Организация администрирования информационных систем предприятия. 10
3.1 Организация, способы и средства администрирования информационных систем предприятия. 10
3.2 Организация и способы администрирования сетевых ресурсов предприятия. 10
4. Организация информационно-коммуникационной деятельности на предприятии. 11
4.1 Средства и способы организации информационно-коммуникационной деятельности на предприятии. 11
5. Определение стратегии и планирование работ по развитию информационной структуры предприятия. 12
5.1 Способы планирования работ по внедрению информационно-коммуникационных технологий. 12
5.2 Содержание плана данной деятельности. 12
5.3 Способы контроля выполнения мероприятий. 12
6. Документальное сопровождение информационной системы предприятия. 13
6.1 Основные документы, определяющие развитие информационных систем на предприятии. 13
7. Оценка эффективности применяемых информационных систем и технологий. 14
8. Выполнение индивидуального задания, выданного предприятием и утвержденного руководителем практики от института. 15
Список используемой литературы. 2
сбои в работе информационной сети не возникают, либо возникают очень редко;
информационная сеть
имеет четко-продуманную
к глобальной сети подключено большое количество компьютеров, на которых постоянно включен сканер доступа ,регулярно обновляемый с сайта производителя;
помещение, где находится сервер, надежно защищено, и у рядовых пользователей нет к нему доступа, однако есть малая вероятность доступа посторонних лиц к информации
скорость системы – отлично:
в коммуникационной системе сети используется современное оборудование и ПО, отвечающее требованиям данного предприятия. Небольшое количество компьютеров, и незначительная их отдаленность от сервера позволяет делать достаточно быстрые запросы к базам данных, практически без ожиданий.
В качестве индивидуального задания было дано реализовать модуль распознавания изображений, частности распознавания CAPTCHA.
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей) — товарный знак Университета Карнеги — Меллона, в котором разработали компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. В Рунете часто транскрибируется как капча. Термин появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру.
Для реализации программы было выбран язык программирования Object Pascal и среда разработки Borland Delphi 7 (см. рис 3).
рис.3. Главное окно Borland Delphi 7
Создание программы было начато со знакомством основных алгоритмов по созданию таких изображений и результатов их работы (см. рис. 4).
рис.4. Варианты CAPTCHA
Далее была определена общая схема действия работы программы (см. рис 5).
рис.5. Общая схема работы программы
После определения общей схемы работы программы был создан ее пользовательский интерфейс.
рис.6. Главное окно программы
рис. 7. Окно настроек распознавания
После создания интерфейса программы был разработан агроритм распознавания изображений, состоящий из Х этапов:
К краям отрезков присваивается свой идентификатор – цифра (далее узел), таким образом к каждому из отрезков можно обратиться по паре узлов.
Затем происходит их объединение, т.е. создаются новые всевозможные отрезки по тем же узлам, с условием, что их узлы не должны повторяться. Также определяются такие параметры ветки, как:
- длина (количество пикселей);
- вектор;
- отношение расстояние от крайних точке к длине;
- количество узлов;
- угол прямой, касающихся крайних точек о оси OX;
- номер начального узла;
- номер конечного узла;
- координаты начального узла;
- координаты конечного узла;
Все ветки заносятся в массив вместе со своими параметрами.
Здесь же выделяются ветки, имеющие наибольшее число узлов и при этом охватывающие все изображение.
3) Третий этап называется поиск совпадений.
На этом этапе известны все параметры веток исходного изображения (где искать) и образца (что искать) Этап состоит из следующего:
выделенные ветки образца, имеющие наибольшее число узлов разбиваются на составляющие, и на основании их параметров осуществляется поиск по всем отрезкам исходного изображения, имеющих количество узлов не больше параметра, заданного в настройках. Результаты заносятся в отдельный массив. Далее происходит объединение веток по элементам этих массивов, если параметры нового объединенного вектора исходника не подобны соответствующему вектору образца, то он отсеивается. Функция по объединению веток и определению параметров представлена в Приложении А.
4) Четвертый этап называется обработка результатов.
На этом этапе известны наиболее длинные ветки исходника, подобные соответствующим веткам образца (или нескольких образцов, т.к. предыдущие этапы могут обрабатываться в цикле). Здесь происходит объединение этих веток исходника и если их параметры подобны параметрам веток образца, то считается что изображение найдено. По координатам найденных изображений (если образцов было несколько) стоится их последовательность. Результат последовательности отображается на экране.
ЗАКЛЮЧЕНИЕ
В ходе прохождения практики я закрепил полученные в период обучения знания, приобрел профессиональные навыки для работы в сфере информационных технологий.
Мной были изучены особенности деятельности ООО «Пиар Урал» его структура и состав. Я ознакомился с применяемыми на предприятии информационными технологиями и программным обеспечением, аспектами его выбора и тонкостями настройки.
Производственная практика позволила приобрести практический опыт эксплуатации и администрирования информационных ресурсов и систем, Мною было увидено взаимодействие подразделений предприятия, посредством информационно-технических средств.
Функция по объединению
веток и определению параметров
function f_obiedinenie(I1:integer;I2:
var
vetka1,vetka2:string;
vektor1,vektor2:string;
ord1,ord2:integer;
str:string;
tr:boolean;
i_str:integer;
str11,str12,str21,str22:
first,last:string;
kol_find:integer;
gde_naideno:string;
i_vetka1:integer;
i_vetka2:integer;
str_vetka:string;
res:boolean;
kak:integer;
i:integer;
dlina1,dlina2:integer;
vspom1,vspom2:integer;
pryam_vspom:integer;
koord_x1,koord_y1:integer;
koord_x2,koord_y2:integer;
vetka1naob,vetka2naob:string;
strprovdlinnaya:string;
ne_proshlo_proverky:boolean;
begin
RESULT:=false;
ne_proshlo_proverky:=false;
if param='obrazec' then
begin
vetka1:=AR_GL_OBRAZEC_vetka[0,
vetka2:=AR_GL_OBRAZEC_vetka[0,
vektor1:=AR_GL_OBRAZEC_vektor[
vektor2:=AR_GL_OBRAZEC_vektor[
ord1:=AR_GL_OBRAZEC_ord_vetki[
ord2:=AR_GL_OBRAZEC_ord_vetki[
dlina1:=AR_GL_OBRAZEC_dlina[0,
dlina2:=AR_GL_OBRAZEC_dlina[0,
end;
if param='ish' then
Продолжение приложения А
begin
vetka1:=ar_fortable_vetka[I1];
vetka2:=ar_fortable_vetka[I2];
vektor1:=ar_fortable_vektor[
vektor2:=ar_fortable_vektor[
dlina1:=ar_fortable_dlina[I1];
dlina2:=ar_fortable_dlina[I2];
end;
if param='obrazec' then
begin
strprovdlinnaya:=AR_GL_
vetka1naob:=f_str_naoborot(
vetka2naob:=f_str_naoborot(
if Pos(vetka1,strprovdlinnaya)=0 then
begin
if Pos(vetka1naob,
begin
ne_proshlo_proverky:=true;
end; //if Pos(vetka1,strprovdlinnaya)=0 then
end; //if Pos(vetka1,strprovdlinnaya)=0 then
if ne_proshlo_proverky=false then
begin
if Pos(vetka2,strprovdlinnaya)=0 then
begin
if Pos(vetka2naob,
begin
ne_proshlo_proverky:=true;
end; //if Pos(vetka1naob,
end; //if Pos(vetka1,strprovdlinnaya)=0 then
end; //if ne_proshlo_proverky=false then
end; //if param='obrazec' then
if ne_proshlo_proverky=false then
begin
str:=Copy(vetka1,2,Length(
tr:=true;
i_str:=0;
str11:='';
While tr=true do
begin
i_str:=i_str+1;
if str[i_str]='#' then BREAK;
str11:=str11+str[i_str];
Продолжение приложения А
end; //While tr=true do
tr:=true;
i_str:=Length(str)+1;
str12:='';
While tr=true do
begin
i_str:=i_str-1;
if str[i_str]='#' then BREAK;
str12:=str[i_str]+str12;
end;
str:=Copy(vetka2,2,Length(
tr:=true;
i_str:=0;
str21:='';
While tr=true do
begin
i_str:=i_str+1;
if str[i_str]='#' then BREAK;
str21:=str21+str[i_str];
end; //While tr=true do
tr:=true;
i_str:=Length(str)+1;
str22:='';
While tr=true do
begin
i_str:=i_str-1;
if str[i_str]='#' then BREAK;
str22:=str[i_str]+str22;
end;
kol_find:=0;
if str11=str21 then
begin
gde_naideno:='#'+str21;
kol_find:=kol_find+1;
kak:=1;
first:=str12;
last:=str22;
GL_OBJED_VEKTOR:=f_vektor_
end;
if str11=str22 then
begin
gde_naideno:=str22+'#';
kol_find:=kol_find+1;
Продолжение приложения А
kak:=2;
first:=str12;
last:=str21;
GL_OBJED_VEKTOR:=vektor2+
end;
if str12=str21 then
begin
gde_naideno:='#'+str21;
kol_find:=kol_find+1;
kak:=3;
first:=str11;
last:=str22;
GL_OBJED_VEKTOR:=vektor1+
end;
if str12=str22 then
begin
gde_naideno:=str22+'#';
kol_find:=kol_find+1;
kak:=4;
first:=str11;
last:=str21;
GL_OBJED_VEKTOR:=vektor1+f_
end;
IF kol_find=1 then
BEGIN
Delete(vetka2,Pos(gde_naideno,
res:=true;
str_vetka:='';
For i_vetka1:=2 to Length(vetka1) do
begin
if vetka1[i_vetka1]='#' then
begin
If Pos('#'+str_vetka+'#',vetka2)<
begin
res:=false;
BREAK;
end;
str_vetka:='';
end else
begin
str_vetka:=str_vetka+vetka1[i_
end;
end; //While tr=true do
Продолжение приложения А
IF RES=TRUE THEN
BEGIN
res:=true;
str_vetka:='';
For i_vetka2:=2 to Length(vetka2) do
begin
if vetka2[i_vetka2]='#' then
begin
If Pos('#'+str_vetka+'#',vetka1)<
begin
res:=false;
BREAK;
end;
str_vetka:='';
end else
begin
str_vetka:=str_vetka+vetka2[i_
end;
end; //While tr=true do
If RES=true then RESULT:=TRUE;
GL_OBJED_VETKA:='';
if kak=1 then
begin
Delete(vetka1,1,1);
str_vetka:='';
For i_vetka2:=2 to Length(vetka2) do
begin
if vetka2[i_vetka2]='#' then
begin
GL_OBJED_VETKA:=str_vetka+'#'+
str_vetka:='';
end else
begin
str_vetka:=str_vetka+vetka2[i_
end;
GL_OBJED_VETKA:='#'+GL_OBJED_
end; //if kak=1 then
if kak=2 then
begin
Delete(vetka1,1,1);
GL_OBJED_VETKA:=vetka2+vetka1;
end; //if kak=2 then
Продолжение приложения А
if kak=3 then
begin
Delete(vetka2,1,1);
GL_OBJED_VETKA:=vetka1+vetka2;
end; //if kak=3 then
if kak=4 then
begin
str_vetka:='';
For i_vetka2:=2 to Length(vetka2) do
begin
if vetka2[i_vetka2]='#' then
begin
GL_OBJED_VETKA:=str_vetka+'#'+
str_vetka:='';
end else
begin
str_vetka:=str_vetka+vetka2[i_
end;
end; //While tr=true do
GL_OBJED_VETKA:=vetka1+GL_
end; //if kak=4 then
GL_OBJED_ORD:=0;
For i:=2 to Length(GL_OBJED_VETKA)-1 do
begin
GL_OBJED_ORD:=GL_OBJED_ORD+
end; //For j:=1 to Length(str) do
if param='obrazec' then
begin
koord_x1:=AR_GL_OBRAZEC_koord_
koord_x2:=AR_GL_OBRAZEC_koord_
koord_y1:=AR_GL_OBRAZEC_koord_
koord_y2:=AR_GL_OBRAZEC_koord_
end;
if param='ish' then
begin
koord_x1:=a_nom_yzla[StrToInt(
koord_x2:=a_nom_yzla[StrToInt(
koord_y1:=a_nom_yzla[StrToInt(
koord_y2:=a_nom_yzla[StrToInt(
end;
GL_OBJED_DLINA:=dlina1+dlina2;
if GL_OBJED_DLINA=0 then GL_OBJED_DLINA:=1;
Продолжение приложения А
TRY
vspom1:=sqr((koord_x1-koord_
EXCEPT
vspom1:=1;
END;
TRY
vspom2:=sqr((koord_y1-koord_
EXCEPT
vspom2:=1;
END;
pryam_vspom:=round(sqrt(
if pryam_vspom=0 then pryam_vspom:=1;
GL_OBJED_PLOTNOST:=round((GL_
vspom1:=koord_x1-koord_x2;
vspom2:=koord_y1-koord_y2;
if vspom2=0 then
begin
GL_OBJED_UGOL:=0;
end else
begin
GL_OBJED_UGOL:=Round(ArcTan(
end;
END; //IF RES=TRUE DO
END; //IF kol_find=1 then
end; //if ne_proshlo_proverky=false then
end;