Web-приложения для создания бланков документации — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Web-приложения для создания бланков документации

2018-01-14 112
Web-приложения для создания бланков документации 0.00 из 5.00 0 оценок
Заказать работу

СОДЕРЖАНИЕ

 

Введение……………………………………………………………….............  
1 Web-приложения для создания бланков документации………….............  
1.1 Понятие и особенности web-приложений для создания бланков документации…………………………………………………………...  
1.2 Роль web-приложений для создания бланков документации в трудовой деятельности человека………..………………..……………  
1.3 Анализ web-приложений для создания бланков документации..........  
2 Инженерно-психологическое проектирование web-приложения для создания бланков документации……………………………….………….  
2.1 Анализ требований технического задания и составление спецификаций функций, выполняемых web-приложением для создания бланков документации….……………………………………    
2.2 Разработка алгоритмов работы, эргономических требований к web-приложению для создания бланков документации……..……………..  
2.3 Оценка эргономичности разрабатываемогоweb-приложения……….  
3 Разработка и испытание web-приложения для создания бланков документации………………………………………..…...…………………  
3.1 Проектирование web-приложения.………………...…………..............  
3.2 Создание web-приложения….………………………………………….  
3.2 Тестирование web-приложения.…..……………………………………  
4 Технико-экономическое обоснование web-приложения для создания бланков документации……………………………………….…………….  
4.1 Характеристика программного средства…....…………………………  
4.2 Расчет затрат и отпускной цены программного средства.....................  
4.3 Расчет стоимостной оценки результата..………………………………  
5 Обеспечение микроклиматических условий труда разработчика web-ресурса………………………………………………………………………  
Заключение…………………………………….………………………………  
Список использованных источников………………………………………  
Приложение А Инструкция пользователя web-приложения для создания бланков документации….……………………….…………..  
Приложение БЛистинг кода………………………………………………….  

 


 

Введение

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

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

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

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

В связи с этим в качестве разрабатываемого объекта было выбрано веб-приложение для создания бланков документов.


Web-приложения для создания бланков документации

Роль web-приложений для создания бланков документации в трудовой деятельности человека

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

Существует большое количество редакторов текста - от простых до сложных. В современном мире все популярные ныне текстовые процессоры оснащены множеством самых разнообразных средств для создания и редактирования HTML-документов, причем их арсенал постоянно растет и совершенствуется. В мире персональных компьютеров существует стандартный подход к изготовлению документов: в среде, реализующей принцип WYSIWYG(сокращение от What You See Is What You Get - что видим на экране, то и будет на бумаге).

Разработка и испытание web-приложения для создания бланков документации

Создание web-приложения

 

Web-приложение должно корректно работать во всех распространённых программ для просмотра web-страниц. Для правильной работы приложения необходимо в браузере разрешить использование JavaScript (если не заданно по умолчанию). Не рекомендуется использовать программы для просмотра web-страниц компании Microsoft, так как в них не предусмотрена поддержка CSS3.

Далее на примере путей в приложении описаны основные функциональные переходы.

 

Route::get('/', function()

{

return view("mainpage");

});

 

Route::group(['prefix'=>'admin'], function()

 

{

Route::get('/', function()

{

return view('admin.dashboard');

});

Route::resource('Articles','ArticlesController');

Route::resource('Pages','PagesController');

 

Route::get('categories','CategoriesController@ShowAll');

 

Route::get('categories/create','CategoriesController@create');

Route::post('categories/create', 'CategoriesController@store');

 

Route::get('categories/edit/{id}','CategoriesController@edit');

Route::PUT('categories/edit/{id}', 'CategoriesController@update');

 

Route::DELETE('categories/{id}', 'CategoriesController@destroy');

 

Route::get('categories/create','CategoriesController@create');

Route::post('categories/create', 'CategoriesController@store');

 

Route::get('articles','ArcticlesController@index');

Route::get('articles/show/{id}','ArcticlesController@show');

 

Route::get('articles/create','ArcticlesController@create');

Route::post('articles/create', 'ArcticlesController@store');

 

Route::get('articles/edit/{id}','ArcticlesController@edit');

Route::PUT('articles/edit/{id}', 'ArcticlesController@update');

Route::DELETE('articles/{id}', 'ArcticlesController@destroy');

 

});

 

Route::group(['middleware' => ['web']], function() {

 

Route::get('login','Auth\LoginController@showLoginForm');

Route::post('login', 'Auth\LoginController@login');

Route::post('logout', 'Auth\LoginController@logout');

 

Route::get('register', ['as' => 'register', 'uses' => 'Auth\RegisterController@showRegistrationForm']);

Route::post('register', ['as' => 'register.post', 'uses' => 'Auth\RegisterController@register']);

 

Route::get('password/reset', ['as' => 'password.reset', 'uses' => 'Auth\ForgotPasswordController@showLinkRequestForm']);

Route::post('password/email', ['as' => 'password.email', 'uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail']);

При взаимодействии пользователя с системой, последняя выполняет ряд работ, которые образуют вариант использования системы. Рассмотрим каждый вариант использования по отдельности.

Вход в систему осуществляется тремя способами (путями):

- администратор;

- менеджер;

Два этих способа используют вход с авторизацией.

Охарактеризуем каждый из этих пользователей подробнее.

Менеджер в свою очередь имеет следующие преимущества и возможности:

Вход в систему как менеджер под своим логином и паролем, который вводится.

 

Рисунок 3 – Форма входа

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

- просмотр бланки.

- изменение типов бланков.

- составление бланков.

- удаление бланков.

 

 

Администратор сайта имеет большой перечень преимуществ:

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

- добавлять функционал шаблонов и значения бланков.

- редактировать функционал шаблонов и значения бланков.

- удалять функционал шаблонов и значения бланков.

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

База данных db_blank является одним из основных элементов веб-приложения. Эта база данных позволяет хранить данные, которые являются основным источником для отображения информации, а именно: каталоги и содержащиеся в нем товары, пользователи, заказы и операции с ними, информацию о заказчиках и новости.

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

 

Рисунок 4 - Главное окно программы

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

После добавления бланка неоходимо присвоить ему категорию.

Рисунок 5 – Окно добавления нового бланка

После создания и настройки шаблона бланка пользователи могут использовать его для заполнения. На рисунке 6 пример эталонного документа

 

Рисунок 6 – Пример бланка

 

Сохраненный эталонный бланк необходимо заполнить соответствующими (типизироваными) значеними.

На данных рисунках представлены все основные формы, которые используються в программе.

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

Следующий код отвечает за заполнение и храниение значениц бланков.

 

public function ShowBlank($IdOrderBlank)

{

$OrderBlank = OrderBlank::where('id', '=', $IdOrderBlank)->firstOrFail();

$InputArray = InputToBlank::where('id_blank', '=', $OrderBlank->Blank->id)->get();

$BlankText = $OrderBlank->blank->content;

$BlankText = ReplaceInBlank::ReplaceAutoValues($OrderBlank, $BlankText);

$BlankText = ReplaceInBlank::ResetInputStyles($BlankText);

$BlankText = BlankParse::ForShow($InputArray, $BlankText);

return view('admin.orders.showblank', ['BlankText' => $BlankText, 'OrderBlank' => $OrderBlank]);

}

 

public function EditBlank($IdOrderBlank)

{

 

$OrderBlank = OrderBlank::where('id', '=', $IdOrderBlank)->firstOrFail();

$InputArray = InputToBlank::where('id_blank', '=', $OrderBlank->Blank->id)->get();

$BlankText = $OrderBlank->blank->content;

$BlankText = ReplaceInBlank::ReplaceAutoValues($OrderBlank, $BlankText);

$BlankText = ReplaceInBlank::ResetInputStyles($BlankText);

$BlankText = BlankParse::ForEdit($InputArray, $BlankText, $IdOrderBlank);

 

 

return view('admin.orders.editblank', ['BlankText' => $BlankText, 'OrderBlank' => $OrderBlank]);

}

 

public function PrintBlank($IdOrderBlank)

{

$OrderBlank = OrderBlank::where('id', '=', $IdOrderBlank)->firstOrFail();

$InputArray = InputToBlank::where('id_blank', '=', $OrderBlank->Blank->id)->get();

$BlankText = $OrderBlank->blank->content;

$BlankText = ReplaceInBlank::ReplaceAutoValues($OrderBlank, $BlankText);

$BlankText = ReplaceInBlank::ResetInputStyles($BlankText);

$BlankText = BlankParse::ForPrint($InputArray, $BlankText, $IdOrderBlank);

return view('admin.orders.printblank', ['BlankText' => $BlankText, 'OrderBlank' => $OrderBlank]);

}

 

public function Create($id)

{

$Order = Order::where('Orders_id', '=', $id)->firstOrFail();

$Blanks = Blank::all();

return view('admin.orders.createblank', ['Blanks' => $Blanks, 'Order' => $Order]);

}

 

public function Store(Request $request)

{

$IdOrderBlank = OrderBlank::create($request->all());

 

return redirect()->action(class_basename($this). '@ShowBlank', ['$IdOrderBlank' => $IdOrderBlank->id]);

}

 

public function EditTypes(Request $request)

{

$idOrderBlank = $request->input('id_order_blank');

$inputCount = OrderBlank::find($idOrderBlank)->Blank->input_count;

$BlankId = OrderBlank::find($idOrderBlank)->Blank->id;

$inputArray = InputToBlank::where('id_blank', '=', $BlankId)->get();

for ($i = 0; $i < $inputCount; $i++) {

$value = $request->input('value_'. $inputArray[$i]->id_blank_input);

$idInput = $inputArray[$i]->id_blank_input;

$valuesArray = OrderBlankInputValue::where([['id_blank_input', '=', $idInput], ['id_order_blank', '=', $idOrderBlank]])->firstOrFail();

$valuesArray->update(['id_order_blank' => $idOrderBlank, 'value' => $value, 'id_blank_input' => $idInput]);

}

 

 

Тестирование web-приложения

В соответствие с IEEE Std 829-1983 Тестирование — это процесс анализа ПО, направленный на выявление отличий между его реально существующими и требуемыми свойствами (дефект) и на оценку свойств программного обеспечения.

По ГОСТ Р ИСО МЭК 12207-99 в жизненном цикле программного обеспечения определены среди прочих вспомогательные процессы верификации, аттестации, совместного анализа и аудита.

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

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

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

Процесс аудита является процессом определения соответствия требованиям, планам и условиям договора.

В сумме эти процессы и составляют то, что обычно называют тестированием.

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

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

Теория тестирования выступает против необоснованного уровня доверия к серии успешно пройденных тестов. К сожалению, большинство установленных результатов теории тестирования — негативны, означая, по словам Дейкстры (Dijkstra), то, что «тестирование программы может использоваться для демонстрации наличия дефектов, но никогда не покажет их отсутствие». Основная причина этого в том, что полное (всеобъемлющее) тестирование недостижимо для реального программного обеспечения.

Тестирование обычно производится на протяжении всей разработки и сопровождения на разных уровнях. Уровень тестирования определяет «над чем» производятся тесты: над отдельным модулем, группой модулей или системой, в целом. При этом ни один из уровней тестирования не может считаться приоритетным. Важны все уровни тестирования, вне зависимости от используемых моделей и методологий.

Модульное тестирование (Unit testing). Этот уровень тестирования позволяет проверить функционирование отдельно взятого элемента системы. Что считать элементом — модулем системы определяется контекстом. Наиболее полно данный вид тестов описан в стандарте IEEE 1008-87 «Standard for Software Unit Testing», задающем интегрированную концепцию систематического и документированного подхода к модульному тестированию.

Интеграционное тестирование (Integration testing). Данный уровень тестирования является процессом проверки взаимодействия между программными компонентами/модулями.

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

Целитестирования (Objectivies of Testing)

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

Можно выделить следующие, наиболее распространенные и обоснованные цели (а, соответственно, виды) тестирования:

Приёмочноетестирование (Acceptance/qualification testing). Проверяет поведение системы на предмет удовлетворения требований заказчика. Это возможно в том случае, если заказчик берет на себя ответственность, связанную с проведением таких работ, как сторона «принимающая» программную систему, или специфицированы типовые задачи, успешная проверка (тестирование) которых позволяет говорить об удовлетворении требований заказчика. Такие тесты могут проводиться как с привлечением разработчиков системы, так и без них.

Установочное тестирование (Installation testing). Из названия следует, что данные тесты проводятся с целью проверки процедуры инсталляции системы в целевом окружении.

Альфа- и бета-тестирование (Alpha and beta testing). Перед тем, как выпускается программное обеспечение, как минимум, оно должно проходить стадии альфа (внутреннее пробное использование) и бета (пробное использование с привлечением отобранных внешних пользователей) версий. Отчеты об ошибках, поступающие от пользователей этих версий продукта, обрабатываются в соответствии с определенными процедурами, включающими подтверждающие тесты (любого уровня), проводимые специалистами группы разработки. Данный вид тестирования не может быть заранее спланирован.

Функциональныетесты/тестысоответствия (Conformancetesting/Functionaltesting/Correctnesstesting). Эти тесты могут называться по разному, однако, их суть проста — проверка соответствия системы, предъявляемым к ней требованиям, описанным на уровне спецификации поведенческих характеристик.

Достижениеиоценканадежности (Reliability achievement and evaluation). Помогая идентифицировать причины сбоев, тестирование подразумевает и повышение надежности программных систем. Случайно генерируемые сценарии тестирования могут применяться для статистической оценки надежности. Обе цели — повышение и оценка надежности — могут достигаться при использовании моделей повышения надежности.

Регрессионное тестирование (Regression testing). Определение успешности регрессионных тестов (IEEE 610-90 «Standard Glossary of Software Engineering Terminology») гласит: «повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам». На практике это означает, что если система успешно проходила тесты до внесения модификаций, она должна их проходить и после внесения таковых.

Тестирование производительности (Performance testing). Специализированные тесты проверки удовлетворения специфических требований, предъявляемых к параметрам производительности. Существует особый подвид таких тестов, когда делается попытка достижения количественных пределов, обусловленных характеристиками самой системы и ее операционного окружения.

Нагрузочное тестирование (Stress testing). Необходимо понимать отличия между рассмотренным выше тестированием производительности с целью достижения ее реальных (достижимых) возможностей производительности и выполнением программной системы c повышением нагрузки, вплоть до достижения запланированных характеристик и далее, с отслеживанием поведения на всем протяжении повышения загрузки системы.

Сравнительное тестирование (Back-to-back testing). Единичный набор тестов, позволяющих сравнить две версии системы.

Восстановительные тесты (Recovery testing). Цель — проверка возможностей рестарта системы в случае непредусмотренной катастрофы, влияющей на функционирование операционной среды, в которой выполняется система.

Конфигурационное тестирование (Configuration testing). В случаях, если программное обеспечение создается для использования различными пользователями, данный вид тестирования направлен на проверку поведения и работоспособности системы в различных конфигурациях.

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

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

Далее будут описаны шаги тестирования приложения.

1. Запуск приложения

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


 

2. Для тестирования в БД было добавлено несколько записей. Результат нажатия на кнопку «Все бланки» представлен на рисунке 4.1.

 

 

Рисунок 4.1 - Вывод списка бланков

 

Тест успешно пройден.

Результат нажатия на кнопку «Типы значений» представлен на рисунке 4.2.

 

 

Рисунок 4.2 - Вывод списка типов значений

 

Тест успешно пройден.

Результат нажатия на кнопку «Все категории

» представлен на рисунке 4.3.

 

 

Рисунок 4.3 - Вывод списка поставщиков

 

Тест успешно пройден.


Заключение

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

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

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

Приложение имеет интуитивно понятный интерфейс, что способствует быстрому внедрению.

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

 

 


Приложение А Инструкция пользователя web-приложения для создания бланков документации

При взаимодействии пользователя с системой, последняя выполняет ряд работ, которые образуют вариант использования системы. Рассмотрим каждый вариант использования по отдельности.

Вход в систему осуществляется тремя способами (путями):

- администратор;

- менеджер;

Два этих способа используют вход с авторизацией.

Охарактеризуем каждый из этих пользователей подробнее.

Менеджер в свою очередь имеет следующие преимущества и возможности:

Вход в систему как менеджер под своим логином и паролем, который вводится.

- просмотреть бланки.

- изменять типы бланков.

- составлять бланки.

- удалять бланки.

Администратор сайта имеет большой перечень преимуществ:

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

- редактировать функционал шаблонов и значений бланков.

Рисунок 1 – Форма входа

 

База данных db_blank является основным элементом веб-приложения. Эта база данных позволяет хранить данные, которые являются основным источником для отображения информации, а именно: каталоги и содержащиеся в нем товары, пользователи, заказы и операции с ними, информацию о заказчиках и новости.

 

 

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

 

Рисунок 2 - Главное окно программы

 

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

Рисунок 3 – Окно добавления нового бланка

 

После добавления бланка необходимо присвоить ему категорию.

 

 


 

Вот пример эталонного документа

Рисунок 4 – Пример бланка

 

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

На данных рисунках представлены все основные формы, которые используются в программе.


Приложение Б Листинг кода

<?php

 

namespace App\Http\Controllers;

 

use App\BlankInput;

use App\InputCompare;

use App\InputParam;

use App\InputType;

use App\ParamCategory;

use Illuminate\Http\Request;

 

class BlankInputController extends Controller

{

 

public function ShowAll()

{

$BlankInputs = BlankInput::with('Param', 'Compare')->orderBy('id', 'desc')->SimplePaginate(20);

 

return view('admin.blankinput.blankinput', ['BlankInputs' => $BlankInputs]);

}

 

public function Create()

{

$InputCompares = InputCompare::all();

$InputParams = InputParam::all();

$InputTypes = InputType::all();

$ParamsCategories = ParamCategory::all();

 

return view('admin.blankinput.create', ['InputCompares' => $InputCompares, 'InputParams' => $InputParams, 'InputTypes' => $InputTypes, 'ParamsCategories' => $ParamsCategories]);

}

 

public function Show(Request $request, $id)

{

$BlankInput = BlankInput::find($id);

 

return view('admin.blankinput.show', ['BlankInput' => $BlankInput]);

}

 

public function Store(Request $request)

{

 

$InputCompareDuplicates = InputCompare::select('id')->where('name', '=', $request->inputCompareName)->firstOrFail();

$InputParamDuplicates = InputParam::select('id')->where('name', '=', $request->inputParamName)->firstOrFail();

$InputDuplicates = BlankInput::where([['id_input_param', '=', $InputParamDuplicates->id], ['id_input_compare', '=', $InputCompareDuplicates->id]])->count();

if ($InputDuplicates == 0) {

BlankInput::create($request->all());

return back()->with('message', 'Полевводадобавлено');

} else {

return back()->with('message', 'Полевводаужесущестует');

}

}

 

public function Destroy($id)

{

$BlankInput = BlankInput::find($id);

$BlankInput->delete();

 

return back()->with('message', 'Полевводаудалено');

}

 

}

 

<?php

 

namespace App\Http\Controllers;

 

use App\Blank;

use App\InputToBlank;

use App\BlankInput;

use App\InputAutoValue;

use Illuminate\Http\Request;

 

class BlanksController extends Controller

{

 

public function Index()

{

$Blanks = Blank::orderBy('id', 'desc')->SimplePaginate(20);

return view('admin.blanks.blanks', ['Blanks' => $Blanks]);

}

 

public function Create()

{

$BlankInputs = BlankInput::with('Param', 'Compare')->get();

$InputAutoValues = InputAutoValue::all();

return view('admin.blanks.create', ['BlankInputs' => $BlankInputs, 'InputAutoValues' => $InputAutoValues]);

}

 

public function Store(Request $request)

{

$blank = Blank::create($request->all());

$blankId = $blank->id;

$inputCount = $request->input_count;

 

for ($i = 1; $i <= $inputCount; $i++) {

$in_blank_num = $i;

$idInput = $request->get('value_'. $i);

$storeArray[$i] = ['id_blank' => $blankId, 'id_blank_input' => $idInput, 'in_blank_number' => $in_blank_num];

}

InputToBlank::insert($storeArray);

return redirect()->action(class_basename($this). '@Index');

}

 

public function Edit($id)

{

$Blank = Blank::find($id);

$BlankInputs = BlankInput::with('Param', 'Compare')->get();

$InputAutoValues = InputAutoValue::all();

return view('admin.blanks.edit', ['Blank' => $Blank, 'BlankInputs' => $BlankInputs, 'InputAutoValues' => $InputAutoValues]);

}

 

public function Destroy($id)

{

$Blank = Blank::find($id);

$Blank->delete();

$InputToBlank = InputToBlank::where('id_blank', '=', $id);

$InputToBlank->delete();

return back()->with('message', 'Бланкудален');

}

 

public function Update(Request $request, $id)

{

$Blank = Blank::find($id);

$Blank->update($request->all());

$blankId = $id;

$inputCountNew = $request->input_count;

$inputCountCurr = $request->input_count_current;

for ($i = $inputCountCurr+1; $i <= $inputCountNew; $i++) {

$in_blank_num = $i;

$idInput = $request->get('value_'. $i);

$storeArray[$i] = ['id_blank' => $blankId, 'id_blank_input' => $idInput, 'in_blank_number' => $in_blank_num];

}

InputToBlank::insert($storeArray);

return back()->with('message', 'Бланкизменен');

}

 

public function Show(Request $request, $id)

{

$Blank = Blank::find($id);

return view('admin.blanks.show', ['Blank' => $Blank]);

}

 

}

<?php

 

namespace App\Http\Controllers;

 

use App\InputParam;

use App\ParamCategory;

use Illuminate\Http\Request;

 

class InputParamsController extends Controller

{

 

public function ShowAll()

{

$InputParams = InputParam::orderBy('id', 'desc')->SimplePaginate(20);

return view('admin.inputparams.inputparams', ['InputParams' => $InputParams]);

}

 

public function Create()

{

$InputParams = InputParam::all();

$Categories = ParamCategory::all();

return view('admin.inputparams.create', ['InputParams' => $InputParams, 'Categories' => $Categories]);

}

 

public function Show($id)

{

$InputParam = InputParam::where('id','=',$id)->firstOrFail();

return view('admin.inputparams.show', ['InputParam' => $InputParam]);

}

 

public function Store(Request $request)

{

$DuplicateNames = InputParam::where('name', '=', $request->name)->count();

if ($DuplicateNames == 0) {

InputParam::create($request->all());

return back()->with('message', 'Параметрдобавлен');

} else {

return back()->with('message', 'Параметрсущестует');

}

}

 

public function destroy($id)

{

$InputParam = InputParam::find($id);

$InputParam->delete();

return back()->with('message', 'Параметрудален');

}

 

}

СОДЕРЖАНИЕ

 

Введение……………………………………………………………….............  
1 Web-приложения для создания бланков документации………….............  
1.1 Понятие и особенности web-приложений для создания бланков документации…………………………………………………………...  
1.2 Роль web-приложений для создания бланков документации в трудовой деятельности человека………..………………..……………  
1.3 Анализ web-приложений для создания бланков документации..........  
2 Инженерно-психологическое проектирование web-приложения для создания бланков документации……………………………….………….  
2.1 Анализ требований технического задания и составление спецификаций функций, выполняемых web-приложением для создания бланков документации….……………………………………    
2.2 Разработка алгоритмов работы, эргономических требований к web-приложению для создания бланков документации……..……………..  
2.3 Оценка эргономичности разрабатываемогоweb-приложения……….  
3 Разработка и испытание web-приложения для создания бланков документации………………………………………..…...…………………  
3.1 Проектирование web-приложения.………………...…………..............  
3.2 Создание web-приложения….………………………………………….  
3.2 Тестирование web-приложения.…..……………………………………  
4 Технико-экономическое обоснование web-приложения для создания бланков документации……………………………………….…………….  
4.1 Характеристика программного средства…....…………………………  
4.2 Расчет затрат и отпускной цены программного средства.....................  
4.3 Расчет стоимостной оценки результата..………………………………  
5 Обеспечение микроклиматических условий труда разработчика web-ресурса………………………………………………………………………  
Заключение…………………………………….………………………………  
Список использованных источников………………………………………  
Приложение А Инструкция пользователя web-приложения для создания бланков документации….……………………….…………..  
Приложение БЛистинг кода………………………………………………….  

 


 

Введение

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

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

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

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

В связи с этим в качестве разрабатываемого объекта было выбрано веб-приложение для создания бланков документов.


Web-приложения для создания бланков документации


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.35 с.