Содержание
Введение. 3
Глава I. Исследование ИС договорной деятельности. 6
1.1 Анализ информационных систем учета договорной деятельности. 6
1.2. Анализ существующих систем учета договорной деятельности. 8
1.3 Этапы проектирования ИС.. 13
1.3.1. проектирования базы данных. 13
1.3.2. Создание структуры или модели сайта. 15
1.3.3. Создание дизайна веб-сайта. 17
1.4. Средства разработки. 18
1.4.1. Figma. 18
1.4.2. PyCharm Community Edition. 19
1.4.3. Flask. 20
1.4.4. SQLAlchemy. 20
Глава II. Разработка сайта для учёта договорной деятельности. 22
2.1. Проектирование модели сайта. 22
2.1.1 Определение целей и задач разработки. 22
2.1.2. Моделирование структуры веб-сайта. 22
2.2 Реализация внешнего вида сайта с помощью Figma. 25
2.3 Реализация веб-сайта с помощью PyCharm Community Edition. 26
2.4 Реализация работы с веб-сайтом с помощью Flask. 27
2.5 Реализация базы данных с помощью SQLAlchemy. 34
2.6 Тестирование и обзор информационной системы.. 36
2.6.1. Загрузки документации в базу данных. 36
2.6.2 Редактирование документации. 38
2.6.3 Удаление документации из базы данных. 38
Заключение. 40
Список литературы.. 42
Одной из форм осуществления гражданами экономической деятельности является предпринимательская деятельность. Предпринимательскую деятельность можно определить как самостоятельную, осуществляемую на свой риск деятельность лица, зарегистрированного в установленном законом порядке, целью которой является систематическое получение прибыли от пользования имуществом, продажи товаров, выполнения работ и оказания услуг.
Право на индивидуальное предпринимательство закреплено в статье 23 Гражданского кодекса Российской Федерации. Налоговый кодекс Российской Федерации (далее - НК РФ) определяет индивидуального предпринимателя как физическое лицо, зарегистрированное в установленном порядке и осуществляющее предпринимательскую деятельность без образования юридического лица, к данной категории также относятся главы крестьянских (фермерских) хозяйств.
В своей предпринимательской деятельности индивидуальные предприниматели осуществляют деловые операции, которые должны быть задокументированы. Документирование деловых операций называется документацией. Документация обеспечивает последовательное отражение хозяйственных операций во времени и месте их совершения.
ГОСТ Р 51141-98 "Термины и определения" (утвержден ГОСТ) "Делопроизводство и архивное дело. Термины и определения" (утв. постановлением Госстандарта РФ от 27 февраля 1998 г. № 28), документ (документированная информация) — это информация, зафиксированная на материальном носителе и обладающая требованиями, обеспечивающими ее идентификацию.
В качестве материального носителя может быть использован любой материальный объект, пригодный для фиксации и хранения звуковой, звуко- и изобразительной информации (в том числе преобразованной). Однако для документов, создаваемых в ходе деловых операций, могут использоваться только бумажные и машиночитаемые носители. В последнем случае бумажная копия соответствующего документа должна быть изготовлена за свой счет в интересах других участников хозяйственной операции, а также по требованию органов управления, судов и прокуратуры в соответствии с законодательством Российской Федерации (утв. приказом Минфина РФ по бухгалтерскому учету и отчетности от 29 июля 1998 г. № 34н (п. 18 Положения о)
Для упрощения ведения бухгалтерского учета в соответствии с законодательством, регулирующим деятельность индивидуальных предпринимателей, необходимо разработать программное обеспечение, позволяющее вести учет договорной деятельности.
Несмотря на нынешнюю компьютеризацию общества, задачи управления документами часто решаются вручную, без использования современных компьютерных средств. Часто это связано с нежеланием пользователей, исполнителей, осваивать новые технологии обработки данных, их недостаточной квалификацией и нежеланием руководства тратить значительные временные и материальные ресурсы на внедрение новых технологий. Это связано с тем, что использование новых инструментов не всегда полностью оправдано и оплачено. Как правило, это связано с ошибками при проектировании и вводе в эксплуатацию систем обработки данных; существующий опыт создания ИБ показывает, что в большинстве случаев истинная автоматизация не приводит к сокращению трудовых ресурсов, а экономия затрат является лишь косвенным фактором автоматизации. Основной целью автоматизации является приобретение принципиально новых качеств. Процессы автоматизации осуществляются в различных масштабах, от отдельных задач до создания функционально законченных автоматизированных ИС.
Автоматизация учетной деятельности позволяет использовать оптимальные ресурсы, оперативно отвечать на изменения на рынке, оперативно решать управленческие задачи, оперативно и качественно оформлять различную документацию.
Актуальной является проблема того факта, что должностные лица тратят значительную часть своего времени, обрабатывая различные документы и отчеты.
Объектом исследования является обработка и автоматизация учета договорной деятельности.
Целью данной статьи является разработка информационной системы по договорной деятельности.
Задачей является системой, предназначенной для формирования договоров на оказание услуг в соответствии с видом деятельности предпринимателя, учета их выполнения, регистрации клиентов и количественного учета оказанных услуг.
Гипотезой данного исследования является утверждение о том, что разработка информационных систем необходима для долгосрочного эффективного функционирования предприятия и является эффективным инструментом повышения конкурентоспособности предприятия.
Структура работы выпускной работа включает в себя 2 главы. В первой главе исследуется предметная область, обозначаются требования к проекту и выбор среды разработки. Во второй главе описывается создание модели сайта, разработка сайта и тестирование работы сайта.
Глава I. Исследование ИС договорной деятельности
1.1 Анализ информационных систем учета договорной деятельности
Одна из наиболее часто применяемых функций документооборотной системы — согласование договоров и учёт договоров. Эта функция может быть хорошо автоматизирована, позволяя точно следить за сроками и качеством подготовки контрактов различным контрагентам компании.
Число договоров в компаниях может составлять более тысячи. Если их количество увеличивается, то организации обязательно должны выполнять свои обязанности:
Внедрение автоматической системы управления договорами и управления договорами поможет решить все эти задачи. Позволит контролировать сроки оплаты и долга, что позволит избегать штрафов.
По общим правилам, основные разделы в положение должны состоять из:
Поэтому использование электронной документооборотной системы позволяет в любом виде составлять отчеты о договорах, которые на стадии выполнения. Такое действие позволяет сократить временные расходы на контрольные работы в отношении договоров.
Также система позволяет сформировать сводные отчеты по всем работающим контрактам. В стандартном пакете отчетов, как правило, входят список мероприятий, список сделок и календарь событий. Календарь включает в себя сведения о всех договорах, контрактах, иных документах и стадиях их согласования.
Составление отчетов на уровне аналитики позволяет следить за движением денег. Сведения о отчетах за последние годы, хранящиеся в системе позволяют сравнивать их с ситуацией на сегодняшний день. Данный анализ позволяет решить такие задачи, как:
1) Оценка деятельности организации. Определение периодов, когда происходят изменения в обороте и применении финансовых средств. Осуществлять прогнозирование и планирование финансового ресурса в будущем.
2) Осуществление автоматического контроля платежей. В системе оценивается исполнение условий оплаты и предоплаты и, если условий не исполнены, осуществить эту операцию не получится
Отметим, что документооборотная система дает возможность повысить эффективность работы предприятия в рамках договоров и контрактов. Такой результат получается за счет:
1.2. Анализ существующих систем учета договорной деятельности
Анализ систем информационных технологий проводился на русском и зарубежном рынках программного обеспечения. Сравнение систем учитывала их функциональность, их стоимость, потребность в установке дополнительных программ и технических средств, выводе отчетов, поддержку родных языков.
Программные комплексы на рынке информационных систем являются программными комплексами, предназначенными для управления клиентами и договорами:
1) Конфигурация «Учет договоров в 1С».
Программное обеспечение "Респект: Учет договоров для 1С:УПП 8" предназначено для комплексного автоматизации договорных операций и можно использовать как основу для организации договорных операций на предприятии.
Основные проблемы, которые решает программный продукт:
Программа рассчитана на договорные, юридические и финансовые службы предприятия. Продукт также может быть использован руководителями, бухгалтерами, отделами снабжения и сбыта.
"Респект: Учет договоров для 1С:УПП 8", к сожалению это не самостоятельный программный продукт, для работы нужна установка "1С:Управление производственным предприятием 8".
В программе не подлежат изменению обычных пользователей фрагментов программы. Защитная система не связана с аппаратным обеспечением и не ограничивается количеством используемых мест.
2) ИС «АстроСофт: Учет договоров».
Программа "АстроСофт: Учет договоров" — это автоматизация процесса подготовки и согласования, регистрация, исполнение и хранение контрактов. Система реализуется на платформе "1С: Предприятие 8».
Основные проблемы, которые решается программой "АстроСофт:Учет договоров":
Подготовки и согласования договора:
При этом бюджет позволяет рассчитывать целесообразности договора и его целесообразности. Для выполнения этих задач "АстроСофт: Учет договоров" предлагает 2 механизма:
3) ИС «ЕВФРАТ Учет договоров».
В системе ЕВФРАТ поддерживается целый жизненный цикл договорной работы, что значительно ускорит бизнес-процесс организации и систематизирует договорную работу.
Для того, чтобы создать проект договора в ЕВФАТ-системе пользователь, ответственное за подготовку, заполняет регистрационную карту документа и подключает к ней любой необходимый файл. При этом система поддерживает проверку дублирования документов, позволяя избежать дублирования договоров.
Для упрощения подготовки договорного проекта в системе ЕВФРАТ реализуется подсистема «Работа с шаблонами», при помощи которой содержащееся в документе регистрационное и контрольное окно документа автоматически переходит в поля договорного акта, созданного с помощью текстовой редактора Microsoft Word. Также можно зарегистрировать проект нового соглашения по уже существующим в системе документам.
Чтобы автоматизировать регистрацию и обработку документов, проектные решения на основе системы ЕВФРАТ могут использовать разработки специалистов Cognitive Technologies для того, чтобы освободить работников компании от рутины. К примеру, подсистема «Понимание документов» имеет возможность самостоятельно анализировать поступающие договоры, выделять смысловые детали и нужные сведения, например, дату заключения, название компаний, которые заключают договор, предмет соглашения, срок исполнения договора, число страниц соглашения. Она также автоматически устанавливает наличие приложения и дополнительные соглашения, добавляя соответствующий файл в регистрационную карточку проекта соглашения.
После окончания подготовительной работы проект договора поступает на внутреннюю экспертизу. используются возможность контроля потоков работ в процессе управления (workflow), позволяющая отправлять документы на заранее созданные маршруты. Если у пользователя, ответственного за разработку договора, нет нужного маршрута, то он может самостоятельно создать этот маршрут. При этом каждый согласующий может прописать свой срок и текст соглашения. После завершения согласования, проект договора будет автоматически принят нужным согласующим лицом. Благодаря использованию механизма управления процессами позволяет выполнять регламенты обработки и автоматизировать процессы их движения, систематически и быстро ускоряя процессы бизнеса организации.
В случае, если один из участников договора решил изменить проект соглашения, система ЕВФРАТ автоматически создает новый вариант документа. Это дает возможность организовать коллективные работы по проекту договора, отслеживать в процессе согласования все изменения. После окончания согласования версия договоров может быть объединена с помощью Microsoft Office Word.
С помощью механизма ограничения прав доступа процесс согласования обеспечивает защиту конфиденциальных сведений, а электронная цифровая подпись ЭЦП обеспечивает достоверность содержания документов договора.
Если проект договора после внутренних согласований был направлен на согласование для контрагента, внесшего изменения в него и отправляющего документ обратно на согласование, подсистема Понимание документов автоматически сможет зарегистрировать изменённый проект договора в качестве новой версии согласования.
Регистрация договоров в системе дает возможность обеспечить необходимые уровни информационной безопасности и упростить оперативное обслуживание договорных документов. В системе ЕВФРАТ можно установлять связи с документами, а также использовать отчетную систему, позволяющую оперативно следить за исполнением договора, а также за всеми изменениями, происходящими с ним.
Система ЕВФРАТ поддерживает архив контрактных документов, позволяя сотрудникам быстро искать, просматривать и анализировать контракты и связанные с ними документы. Кроме того, в системе можно указать точное место хранения бумажных документов, что позволяет быстро найти оригиналы договорных документов. Расширения электронного архивирования в системе ЕВФРАТ обеспечиваются модулем "Архивариус", который позволяет работать с архивными документами в соответствии с требованиями к хранению. хранение может быть организовано в соответствии с требованиями к работе с архивными документами.
Хотя вышеуказанное программное обеспечение обладает всеми преимуществами, по ряду причин при разработке новой системы необходимо учесть все требования и устранить их:
1.3 Этапы проектирования ИС
1.3.1. проектирования базы данных
Использование баз данных повсеместно, в том числе в большинстве проектов в области веб-разработки. От простейшего блога или каталога до полномасштабных проектов социальных сетей. Независимо от сложности сайта и задействованных баз данных, каждая из них должна быть тщательно спроектирована, чтобы обеспечить эффективную и надежную работу.
Первый подход к планированию заключается в проведении обычного мозгового штурма, например, составлении заметок на бумаге, в зависимости от того, что должно храниться в базе данных и требований сайта.
Следующий шаг - определить таблицы и поля, которые будут необходимы в базе данных. Это основная и самая сложная часть разработки. Объединение таблиц с использованием правильного метода, определение структуры данных каждой таблицы и определение различных таблиц, в которых эти данные должны быть распределены, — все это вопросы, возникающие при проектировании самой базы данных.
Здесь очень важную роль играют инструменты проектирования баз данных, особенно те, которые позволяют создавать визуальные модели баз данных.
Большая часть баз данных – это реляционные базы. Это значит, что данные в базе связаны в определенном порядке. Например, если на сайте интернет-магазина есть "пользователь", он может быть связан с определенным товаром на основе информации о его заказе или инструкций к нужному товару. В базе данных блогов авторы могут быть определенным образом связаны со статьями, которые они пишут, а авторизованные пользователи - с комментариями, которые они оставляют.
Технология реляционных баз данных позволяет хранить большое количество информации в организованном виде в отдельных таблицах пользователей, записей, комментариев, продуктов и т.д.
Каждая запись в каждой таблице должна иметь уникальный ключ. Это как «номер социального страхования» или «штрих-код» для записи. Он уникален для каждой записи. Ни одна другая запись не может иметь такой же идентификатор в той же таблице. Недостаточно иметь в базе данных уникальное имя или название продукта. Гораздо эффективнее использовать уникальный первичный ключ. Наличие в базе данных нескольких уникальных полей не защищает базу данных от возможности появления дубликатов данных, что может негативно сказаться на работе сайта.
Чтобы объединить две таблицы, используйте внешний ключ. Это просто идентификатор, который ссылается на уникальный ключ (обычно первичный ключ) в другой таблице.
Для полей также важно знать, когда следует группировать определенные данные, а когда нет. Хороший способ определить, какая информация должна входить в поле и наоборот, — это рассмотреть, нужно ли изменить какую-то часть этой информации. Например, следует ли разбивать адрес на составные части - улицу, город, регион, почтовый индекс и страну - и сохранять их.
Это важная часть функциональности сайта (пользователи или администраторы могут захотеть искать других пользователей по адресу или стране) или просто увеличить объем места, занимаемого базой данных на диске. Более эффективным подходом является извлечение этих данных из HTML-таблицы, разделение полей, объединение значений каждого поля в одну строку и добавление адресов в базу данных.
Нормализация — это набор рекомендаций, установленных для более эффективной организации хранения информации.
Проектирование данных является обширной темой, однако для изучения основ и представления правильной структуры данных не требуется многое. Может быть, самая важная часть разработки баз данных – начальная стадия и штурм мозга. Таким образом, любой разработчик заранее получает необходимые данные и делает то, что ему нужно. Только при наличии всей необходимой для проектирования информации можно создать эффективную базу данных с правильно связанными таблицами.
Все базы данных должны быть эффективными и масштабируемыми. Эти данные постоянно редактируются, добавляются, удаляются. Убедитесь в том, что только эта информация удалена из созданной базы, которую необходимо удалить, что нет дублирующих записей и что на другие данные можно легко ссылаться.
1.3.2. Создание структуры или модели сайта
Структура сайта — это четкая картина при разработке ресурса. Четкая структура показывает, как сайт будет выглядеть в будущем. Это план, который показывает, как будет построен сайт и логические связи между страницами. Это система страниц, организованных по четко установленной логической схеме, которая может быть выражена в виде иерархической структуры всех страниц сайта и их отнесения к определенным каталогам и папкам. Это то, как пользователь будет получать информацию, которая ему нужна. Посетителям будет легче найти интересующую их информацию и перейти с одной страницы на другую. Это создает новые проблемы для веб-разработчиков, поскольку каждый новый онлайн-продукт требует дизайна, подходящего для всех устройств. Это создает новые требования к отображению веб-страниц на различных устройствах, которые мы называем адаптивным веб-дизайном. Разработку адаптивного дизайна иногда называют "версткой".
На этом этапе определяются структура, элементы и последовательность сайта и намечается его внешний вид. Для иллюстрации этого этапа используются различные программы и бумажные чертежи.
Любой ресурс создается по определенному плану. Он показывает структуру сайта. Этот план всегда показывает, как должны быть расположены страницы ресурса по отношению друг к другу. Обычно это показано в виде схемы, состоящей из блоков и соединяющих их стрелок, как на рисунке 1.
Рисунок 1. Примерный план на начальном этапе.
Структура включает в себя внешнюю и внутреннюю структуру. Внешняя структура — это схема страницы, которая показывает отдельные элементы, составляющие страницу, в виде блоков. Внутренняя структура относится к категориям и разделам сайта и взаимосвязи отдельных страниц с ними. Ее сложнее всего правильно организовать.
Схема ресурса в основном зависит от его специфики и направленности, а также от того, какую задачу он решает. Например, одностраничному сайту, такому как сайт-визитка, может потребоваться лишь краткое изложение основной информации на одной странице. Другое дело - информационный портал или интернет-магазин.
Требования к структуре сайта могут отличаться, но независимо от них информация должна быть представлена таким образом, чтобы пользователи могли:
Контент также должен улучшать рейтинг сайта в поисковых системах.
Хорошая структура сайта удобна не только для посетителей. Она также облегчает работу поисковых роботов и создает меньше проблем при индексации страниц. Существует несколько типов структуры сайта:
Поэтому для данного проекта был выбран второй вариант.
1.3.3. Создание дизайна веб-сайта
Чаще всего дизайн рисуется в графических редакторах, например, Figma. На этом этапе готов макет и окончательный вид сайта. Добавляются или уточняются элементы, прорисовываются детали.
В данной работе были утонены:
1.4. Средства разработки
1.4.1. Figma
Для создания внешней оболочки программы использовался специализированный онлайн-сервис разработки интерфейсов и прототипирования Figma, где на рисунке 2 изображён логотип сайта, с возможностью организации совместной работы в режиме реального времени.
Рисунок 2. Логотип Figma
Была выбрана по таким причинам:
Но также у этой программы есть минусы:
1.4.2. PyCharm Community Edition
Для создания и редактирования основного кода программы использовалась среда программирования PyCharm Community Edition, где логотип изображён на рисунке 3, от компании JetBrains на основе IntelliJ IDEA, работающая с языком программирования Python. Данная среда программирования была выбрана за удобство интерфейса, возможность бесплатного официального использования и удобство ей пользования при написании кода при помощи языка Python.
Рисунок 3. Логотип PyCharm
1.4.3. Flask
Так же для оптимизации работы был выбран специализированный фреймворк для создания веб-приложений, так же работающий с языком программирования Python. Данный фреймворк удобен наличием минималистичных каркасов веб-приложений, на основе которых была разработана моя программа, где удобство можно увидеть на рисунке 4.
Рисунок 4. Часть кода с помощью библиотеки Flask
1.4.4. SQLAlchemy
Для хранения информации, использующейся моей программой, использовалась специализированная программная библиотека SQLAlchemy, позволяющая синхронизировать объекты Python и записи реляционной базы данных, при этом не обращаясь непосредственно к SQL, а используя язык программирования Python.
SQLAlchemy — это программная библиотека Python для работы реляционными базами данных с помощью технологии ORM, которая используется для синхронизации объектов Python с записями в реляционной базе данных. Она предоставляет структуру базы данных и описывает, как работать базами данных в Python без использования SQL. Библиотека была выпущена в феврале 2006 года под лицензией MIT с открытым исходным кодом.
Использование SQLAlchemy для автоматической генерации SQL-кода имеет ряд преимуществ перед написанием SQL вручную. Параметры запроса экранируются, поэтому такие атаки, как SQL-инъекции, менее вероятны. Запросы с большей вероятностью будут повторно использоваться сервером базы данных, а в некоторых случаях можно повторно реализовать план выполнения запроса. SQLAlchemy, при правильном подходе, позволяет писать код на Python, совместимый с несколькими внутренними СУБД; несмотря на стандартизацию языка SQL, между базами данных существуют различия в реализации, которые SQLAlchemy помогает абстрагировать.
Данная библиотека позволила упростить работу, автоматически генерируя SQL-код, тем самым повысив безопасность и производительность моей программы, которой логотип изображён на рисунке 5.
Рисунок 5. Логотип SQLAlchemy
Глава II. Разработка сайта для учёта договорной деятельности
2.1. Проектирование модели сайта
2.1.1 Определение целей и задач разработки
Проектирование, один из основных этапов разработки сайта, отвечает для нас на следующие вопросы
Другими словами, если цель создания сайта уже определена, то первым шагом будет написание технического задания и разработка дизайна сайта. Затем следует этап программирования, верстки и наполнения сайта различным содержанием.
Некоторые из целей создания сайта следующие
Задачами сайта являются:
2.1.2. Моделирование структуры веб-сайта
Моделирование — это разработка модели веб-сайта, описывающая весь его функционал, структуру.
Функциональная сторона модели представляет собой преимущества, предоставляемые сайтом для пользователей: публикации, комментарии к фотографиям и. т. д. Такие преимущества могут быть средствами для решения определенных задач. Это преимущество может быть не нужным в том случае, если оно не справилось с поставленной задачей.
Информационная структура — схема, которая демонстрирует структуру разделов сайта, устанавливает их задачи, а также способы перемещения посетителя по сайту. Затем, идёт детальная проработка схемы раздела, представляющая навигацию по структуре сайта. На рисунке представлена модель будущего веб-ресурса учёта договорной деятельности. Структура сайта представлена на рисунке 6.
Рисунок 6. Структура сайта
2.1.3. Разработка содержания
Перед началом работ по созданию веб-сайта необходимо разработать его содержание.
Информация, представленная на сайте, должна соответствовать следующим критериям: она должна соответствовать цели создания веб-сайта и учитывать характеристики целевой группы потребителей. Кроме того, в Интернете существует множество подобных сайтов, и конкуренция между сайтами очень высока.
Одна из основных целей текста сайта - выделить сайт на фоне конкурентов с помощью технической или развлекательной информации.
Многие организации начинают свои страницы с графического логотипа. Этот логотип не должен быть слишком большим. Логотип должен четко вписываться в заголовок сайта, и не стоит размещать его несколько раз на одной странице, чтобы не запутать пользователя. Название организации может быть включено в логотип или добавлено рядом с ним. На сайте также должно быть описание организации, номер телефона, электронная почта, название организации и социальные сети.
Разделы и блоки с источниками новостей должны быть хорошо размещены. Пользователи должны иметь возможность видеть самую популярную информацию сразу при открытии сайта. Поэтому используются печатные новостные агентства, а наиболее актуальная и интересная информация размещается на главной странице.
Большинство пользователей уделяют мало внимания ссылкам, изображениям и тексту в нижней части сайта. В результате только 10% пользователей прокручивают информацию, которая не помещается на экране. Таким образом, самая важная информация и все органы управления сайтом (кнопки, ссылки) должны находиться в верхней части страницы. Многие сайты полны ссылок, которые связаны почти с каждым словом на странице. Лучше создавать ссылки только там, где они действительно необходимы.
Главная страница задает настроение всего сайта. Она содержит информацию о каждом разделе главной страницы, а ее дизайн и расположение определяют первое впечатление, которое получают посетители. Текст на "главной странице" должен знакомить посетителя с темой сайта. "Главная страница" должна содержать краткое меню, позволяющее пользователям получить доступ к интересующим их разделам.
В процессе управления структурой сайта могут быть добавлены различные элементы, способные повысить эффективность использования ресурсов. Представление структуры сайта должно быть основано на потребностях компании, а также на требованиях поисковых систем. С каждой страницы должен быть переход на главную страницу; URL-адреса должны быть человекочитаемыми и логичными. Пример плохого адреса: name.ru/rt3tr/s46/666/34663/rtst/1t3.
Доступ к сайту зависит как от его актуальности, богатства текста, широты реализации задуманной идеи, так и от умения владельца ресурса представить свой труд пользователям Интернета.
2.2 Реализация внешнего вида сайта с помощью Figma
В Figma можно создавался интерфейс сайта. Не нужно иметь знания профессионального иллюстратора, чтобы суметь работать в нём. Так как программа векторная, то и дополнительный графический планшет не нужен. На рисунке 7 виден макет сайта, грубо говоря, его задумку. Для дизайна использовались только прямоугольники, палки и текст, а также плагин Lorem Ipsum, который вставляет рандомный текст. Это нужно для понимания, как будет смотреться текст при определённом дизайне.
Рисунок 7. Примерный макет в программе Figma
Цвета специально выбирались спокойными и нежными, так как работа в бухгалтерии часто бывает напряжённой. Человек, смотря на них, должен неосознанно успокаиваться. При этом «кнопки» специально на контрасте сделаны яркими, чтобы контрастировать с нежным фоном, и тем самым выделяться. При этом буквы не должны сливаться, поэтому работа с цветами была сделана колоссальная.
2.3 Реализация веб-сайта с помощью PyCharm Community Edition
Для начала нужно установить Python и подключить его к PyCharm. У меня это версия 3.10, как видно на рисунке 8.
Рисунок 8. Подключённый Python в PyCharm
По умолчанию PyCharm при создании нового проекта создаёт нам виртуальное окружение. Так же в программе есть уже встроенный терминал, при котором удобно с помощью пакетного мессенджера «pip» установить всю нужную библиотеку непосредственно в проект. В нашему случае это «Flask» и «Flask-SQLAlchemy». Через PyCharm можно запустить файл на локальный сервер при помощи кнопки «пуск» и заранее выбранного файла, как это сделано на рисунке 9. Кроме вышеперечисленных плюсов, так же можно отметить удобство расположение файлов для простаты их нахождения.
Рисунок 9. Запуск файла
2.4 Реализация работы с веб-сайтом с помощью Flask
В разработке сайта кроме Flask будут и другие инструменты, которые дадут большой простор в организации интерфейса пользователя. Но основа сайта будет сделана на Python.
Python — это язык программирования, широко используемый в интернет-приложениях, разработке программного обеспечения, науке о данных и машинном обучении (ML). Разработчики используют Python, потому что он эффективен, прост в изучении и работает на разных платформах; программы на Python можно скачать бесплатно, они совместимы со всеми типами систем и ускоряют разработку.
Язык Python имеет следующие преимущества:
Из посторонних помощников, например, Bootstrap. В нем включены анимированные и стилизованные образцы. По этой причине в процессе создания интерфейса применялись отдельные элементы от Bootstrap.
В разработке веб-интерфейса были применены следующие компоненты и html-теги: a, p, label, nav, card, form, table, div, li, input, button. Для красивого дизайна к данным компонентам были применены специализированные классы Bootstrap. Дизайн сайта будет выполнен в едином стиле.
Разработка сайта начинается с создания главной страницы, она будет являться лицом сайта и проводником по всему сайту.
Чтобы выводить страницы, нужно написать индикатор на питоновской странице. А моём случаи это @app. После обращаемся в функции route, а внутри скобках обозначаем адрес, который мы отслеживаем, так как это главная страница, то просто ставим («/»), как на рисунке 10, где уже внутри выводим страницу index.html.
Рисунок 10. Домашний адрес
Чтобы каждый раз не выводить шапку и подвал сайта, мы прописываем общий шаблон сайта в отдельном файле base.html, где прописали стандартную html структуру. После прописываем, что у нас есть блок (block), в котором мы будем вставлять нужные значения. Называем его title, а после закрываем (endblock). И уже мы можем прописывать, что будет внутри, как на рисунке 11.
Рисунок 11. block title
В свою очередь мы указываем тэг «block body», где у нас на каждой странице будет указана разная информация. После мы возвращаемся в index.html, где прописываем, что всю информацию мы прописываем со страницы base.html. А в block title и block body прописываем свои значения, как было сделано в рисунке 12.
Рисунок 12. Файл html
Создав каркас, мы первым делом сделаем шапку сайта, она будет выглядеть в виде нескольких строк с такими вкладками как: «Основное», «Инструкция», «Журнал», «Реестр», «Отзывы», «Редактировать журнал», «Редактировать реестр», «Редактировать таблицу отзывов». В основе у нас будут три документации: «Журнал учёта входящих писем», «Реестр договоров с поставщиками», «Учёт отзывов клиентов». Далее встроим в шапку название нашей организации «Magic». На этом верстка шапки окончена. Шапка представлена на рисунке 13.
Рисунок 13. Шапка сайта
Следующим действием будет написание тела (body) сайта. В нем располагается разная информация в зависимости от страницы.
Начнём с редактирования журнала. В шаблоне «craet-article» мы прописываем стандартный шаблон. Прописываем метод передачи данных post. Способ запроса POST запрашивает веб-сервер на хранение и прием данных, помещенных в сообщение к запросу. Зачастую применяется во время загрузки файла либо во время отправки заполненной веб-формы. После прописываем input поля, куда будем вводить данные и создаём кнопку. Готовый результат представлен на рисунке 14. Так же повторяем для реестра и отзывов.
Рисунок 14. Код раздела "Редактировать журнал"
Отображение данных журнала будет. Создаём posts.html, откуда будет идти информация из базы данных. Через цикл for мы создаём элемент el и подключаем к базе данных. С помощью el.title, el.date и el.intro выводим значения, которые привязали к title, date и intro, а после создаём кнопку «детальнее», где будет более подробная информация о документации. Было специально сделано коротко, чтобы сэкономить место. Итог на рисунке 15. Так же повторено и с другими данными.
Рисунок 15. Код раздела "Журнал"
Теперь, нажимая на детальнее, нас должно перебрасывать на более подробную информацию об документации posts_detail.html. В данном случае: "Дата поступления", "Номер письма", "Вид письма", "Краткое содержание письма" и "Ответил на письмо". С возможностью удалить и обновить записи документации. Как было сделано на рисунке 16.
Рисунок 16. Код вывода более детальной информации документации
Уже нажимая на «Редактировать» нас должно перебрасывать на сайт, где можно будет исправить недочёты документации, если были допущены ошибки при вводе в posts_update.html. На рисунке 17 более подробный код.
Рисунок 17. Обновление документации
Следующим этапом будет разработка футера (footer). Футер сайта, или подвал — это самый нижний завершающий блок каждого веб-ресурса. В коде страницы он обозначается тегом footer, откуда и пошло его русскоязычное название. Этот структурный элемент сайта противоположен его шапке, или хедеру. Футер сайта используется чаще всего как блок для размещения дополнительной информации и дает возможность легко перейти в раздел, который интересен пользователю. Еще футер — это зона плотной внутренней перелинковки сайта, что важно для ранжирования ресурса в поисковых системах. Футер не считается обязательным элементом, но его отсутствие делает ресурс незаконченным и не дает пользователям ответы на вопросы, которые могут у них возникать.
Футер будет выполнен в виде ссылок на социальные сети и адреса на главный офис. Футер сайта представлен на рисунке 18. Код футера представлен на рисунке 19.
Рисунок 18. Футер
Рисунок 19. Код футера
«Контакты» одна из самых важный частей сайта. С помощью него пользователи могут получить обратную связь с представителями организации. Вариантов связи может быть несколько, это связь через социальные сети, Email или номер телефона.
2.5 Реализация базы данных с помощью SQLAlchemy.
Сначала из библиотеки Flask-SQLAlchemy мы импортируем класс SQLAlchemy. После мы подключаемся к базе данных SQLite, так как она очень простая, а наш сайт не такой уж и сложный, чтобы работать с более сложными. Базу данных назовём blog.db. Создаём таблицу Article, наследуя из db.Model. Внутри же мы уже устанавливаем таблички. Так же повторяем с другими таблицами: Supplier и Comment. Данная часть хорошо изображена на рисунках 20 и 21.
Рисунок 20. Создание базы данных и таблицы Article
Рисунок 21. Таблицы Supplier и Comment
2.6 Тестирование и обзор информационной системы
2.6.1. Загрузки документации в базу данных
Веб-тестирование — это тщательная проверка веб-сайта на наличие ошибок. Это полное тестирование веб-приложения перед его публикацией. Веб-система должна быть тщательно протестирована, прежде чем она станет доступна конечным пользователям. Тестирование также определяет удобство и привлекательность сайта, скорость и доступность необходимой информации, надежность и безопасность его использования. И самое главное - помогает ли он достичь бизнес-целей, поставленных в начале проекта. Общая цель веб-тестирования - найти проблемы, также известные как баги, неполадки или дефекты, которые могут негативно повлиять на работу веб-сайта или приложения. Веб-тестирование также может использоваться для определения конкретных областей или аспектов веб-сайта, которые можно улучшить для достижения лучших результатов, таких как увеличение количества запросов, продаж, посетителей или удовлетворенности пользователей.
Тестирование веб-сайта. Перед началом тестирования очень важно определить стратегию тестирования. Прежде всего, определите, должен ли процесс тестирования быть организован в рамках существующих условий или необходимо привлечь другие ресурсы. Во-вторых, не менее важно убедиться, что все участники процесса тестирования понимают, что происходит, имеют одинаковые ожидания и могут определить проблемы, которые могут возникнуть в процессе тестирования. Стратегия тестирования также описывает, как будут снижены риски на уровне тестирования, какие типы тестов должны быть проведены и какие критерии входа и выхода будут применяться. Они будут разработаны на основе проектной документации. В проектной документации описаны функции программного обеспечения, которые будут добавлены в следующем релизе. Для того чтобы протестировать новый набор функций, на каждом этапе разработки проекта должна быть разработана соответствующая стратегия тестирования.
Если говорить об основных правилах тестирования веб-сайта, то очень важно пройти несколько этапов тестирования, чтобы гарантировать полную функциональность, бесперебойную и безопасную работу приложения.
На определенных этапах тестирования веб-сайта используется тот или иной тип или вид тестирования для полного достижения целей тестирования. Цели могут варьироваться от проверки критических элементов (удобство использования, безопасность, надежность и система в целом) до проверки этих элементов после внесения изменений (например, повторное тестирование).
Для начала нужно подтестировать, вводятся ли данные в базу данных. Для этого мы во вкладке «Редактировать журнал», вводим данные. Сначала, после успешного ввода данных, нас должно перекинуть в раздел «Журнал» и в этой вкладке должны появиться данные, которые мы только что внесли. Как видно на рисунке 22 всё прошло успешно. Такой же мониторинг был повторён с Реестром и Отзывами.
Рисунок 22. Успешное добавление ввода данных
2.6.2 Редактирование документации
Занимаясь монотонной работой, сложно не совершать ошибки. Или же данные могли поменяться. Поэтому для учёта документации важно иметь возможность обновлять данные.
Для изменения уже существующих данных нужно нажать «Детальнее» у интересующего нас документации, а далее на «Редактировать». После успешного изменения данных нас должно вернуть на раздел «Журналы», где уже будет видны наши изменения. На рисунке 23 успешно видны изменения по сравнению с 22.
Рисунок 23. Обновление документации
Проверку так же прошли другие таблицы.
2.6.3 Удаление документации из базы данных
Некоторые документации могут быть полностью написаны ошибочно, поэтому бывает лучше их сразу удалять.
Для удаления нужно так же нажать «Детальнее» у интересующего нас документации, а далее на «Удалить». При успешном удалении нас должно вернуть в раздел «Журналы», где уже не будет документации. На рисунке 24 изображено успешное удаление документации. Такую же проверку прошёл Реестр и Отзывы.
Рисунок 24. Успешное удаление
Таким образом, протестировав сайт, было выявлено, что сайт работает оперативно и без ошибок.
Заключение
Интерфейс системы разработан с учетом потребностей пользователя и общих требований к дизайну современного программного обеспечения. Это снижает утомляемость пользователя и повышает качество работы.
В век новых технологий малые, средние и крупные компании по всему миру переходят в "глобальную паутину", где любой продукт или услуга доступны любому человеку, имеющему устройство. Это говорит о том, что интернет-приложения и веб-сайты являются инструментом, который объединяет всех пользователей (людей, компании и предприятия). В последние годы электронные устройства, такие как мобильные телефоны, компьютеры и планшеты, часто появляются, развиваются и обновляются.
Применение предложенных инженерно-технических и организационных мер, а также пользовательского интерфейса, разработанного в соответствии с принципами эргономики, позволит эффективно внедрить и в дальнейшем использовать автоматизированные системы.
Так же адаптивные веб-сайты являются необходимым условием для поддержания компаний, которые заботятся о своих пользователях и заботятся об удобстве использования своих веб-сайтов, а появление требований к веб-программистам облегчило разработку веб-сайтов и подготовку решений без дополнительной работы над дизайном. Специальные возможности доступны в виде фреймворков, которые помогают подготовить решения без дополнительной работы над дизайном.
Одним из главных преимуществ Bootstrap является то, что он поддерживает метод верстки mobile-first, учитывая тот факт, что сайтом будут пользоваться пользователи мобильных и других устройств. Bootstrap позволяет быстро запустить сайт, используя несколько шаблонов, которые также можно изменять, поскольку он использует таблицы стилей CSS. В результате он становится все более популярным и признанным среди разработчиков и веб-дизайнеров.
В ходе работы над дипломным проектом была разработана информационная система для договорного бизнеса индивидуального предпринимателя. Также была разработана концепция проектирования информационно-справочной системы с использованием функциональных возможностей экранного интерфейса, разработанного в дипломном проекте. В дипломном проекте был использован ряд подходов к проектированию автоматизированной информационной системы, что позволило проектной группе на ранних стадиях разработки учесть все особенности будущей программы, набор необходимых функций, организацию и структуру базы данных, чтобы в дальнейшем в заранее написанных программах не требовалось менять компоненты. При разработке программного обеспечения использовались методы, рекомендованные ведущими специалистами в данной области.
Для того чтобы создать удобный пользовательский интерфейс для веб-сайта, был создан макет страницы, показывающий функциональность, необходимую для приложения.
Веб-сайт был создан с использованием языка Python и языка гипертекстовой разметки HTML с помощью PyCharm, кроссплатформенной интегрированной среды разработки.
В ходе исследования была проанализирована актуальность выбранных тем и тематических областей были проанализированы. Коллекторы данных были объединены и определены внешние сущности. Были созданы концептуальная, логическая и физическая модели данных. Была проведена нормализация базы данных. Разработан очень простой, но удобный графический интерфейс пользователя. Разработаны пользовательские интерфейсы. Представлена типология разработанных информационных систем. Представлена функциональность аналогичных программных приложений, показаны основные недостатки. В процессе работы над проектом развиты следующие практические навыки проектирование баз данных.
Список литературы