Разработка программы помощи судебному исполнителю
Модель программной поддержки работы судебного исполнителя. Характеристика алгоритмов, реализующих бизнес-логику серверной части проектируемой системы. Руководство пользователя. Результаты тестирования разработанной системы и оценка выполнения задач.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.01.2020 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Получение решения суда, удовлетворяющего заявленные требования, приносит значительное моральное удовлетворение как для клиента, так и для адвоката, участвующего в процессе. Однако редко кто из клиентов обращается в суд только лишь по принципиальным соображениям и с намерением получить только лишь «решение». Клиента интересует реальное исполнение вынесенного судом решения. В этом случае важны быстрые и правильные действия по исполнению, сотрудничество с судебным исполнителем.
Алгоритм для работы по исполнению решений (постановлений) экономических судов Республики Беларусь:
1. Получение постановления суда и исполнительного документа.
Наиболее распространенными итоговыми постановлениями суда являются: определение о судебном приказе (приказное производство) либо решение суда (исковое производство). Если вынесено определение о судебном приказе, то оно одновременно является исполнительным документом, который можно отправлять в банк вместе с платежным требованием для списания денежных средств с банковского счета должника. Если вынесено решение суда, то необходимо дополнительно получить судебный приказ.
2. Предъявление исполнительного документа и платежного требования в банк
В случае наличия денежных средств на расчетном счете должника они подлежат бесспорному списанию. Порядок бесспорного списания денежных средств регулируется нижеуказанным постановлением: согласно п. 64 Постановления Правления Национального банка Республики Беларусь от 29.03.2001 № 66 «Об утверждении Инструкции о банковском переводе», принятые к исполнению платежные требования подлежат оплате не позднее банковского дня их поступления в банк-отправитель в полной сумме при наличии денежных средств на счете плательщика. Если сумма исполненного платежного требования меньше суммы исполнительного документа, в том числе с учетом отметок о частичной оплате, второй экземпляр платежного требования направляется плательщику, а третий экземпляр вместе с исполнительным документом возвращается взыскателю через обслуживающий банк.
3. Составление заявления и направление судебным исполнителям
В подавляющем большинстве случаев исполнительное производство возбуждается по месту нахождения должника или по его месту жительства. Заявление о возбуждении исполнительного производства должно содержать сведения, указанные в ст. 355 ХПК. К заявлению о возбуждении исполнительного производства прилагаются
1) оригинал исполнительного документа (определения о судебном приказе или судебный приказ);
2) доказательства обращения в банк за бесспорным взысканием задолженности (как правило, оригинал платежного требования с отметкой о помещении его в картотеку и с отметкой о его отзыве).
3) доверенность, если заявление подписывается представителем взыскателя.
4. Возбуждение исполнительного производства
Важным является соблюдение взыскателем срока давности для предъявления к исполнению исполнительного документа. В течение этого срока взыскатель должен обратиться или в банк, или к судебному исполнителю. Пока исполнительный документ находится на исполнении срок не течёт. Срок для предъявления исполнительного документа - 6 месяцев.
5. Исполнительные действия судебного исполнителя
Судебный исполнитель при исполнении исполнительного документа вправе:
- вызвать должника или его представителя в суд для ознакомления с исполнительным документом и предложить ему добровольно исполнить исполнительный документ (В случае, если должник или его представители (в том числе директор, бухгалтер, учредитель юридического лица), вызванные в установленном порядке в суд к судебному исполнителю не явились без уважительных причин, они могут быть подвергнуты приводу, который является мерой процессуального воздействия. И на указанных лиц может быть наложена административная ответственность)
- наложить арест на имущество или денежные суммы, принадлежащие должнику и находящиеся у него и (или) других лиц;
- произвести осмотр помещений и хранилищ должника;
- осуществить в порядке, установленном законодательными актами, продажу описанного или изъятого имущества должника;
- запрещать должнику и иным лицам совершать препятствующие исполнению действия в отношении имущества и денежных средств должника;
- истребовать от сторон и других лиц устную и письменную информацию, материалы или документы, необходимые для осуществления исполнения исполнительного документа.
- получать от физических лиц, должностных лиц государственных органов и иных организаций необходимую информацию (за исключением первичных статистических данных), в том числе получать сведения из информационных систем, содержащих персональные данные, и иметь доступ, в том числе удаленный, к информационным системам, содержащим такие данные, по письменному запросу или на основании соглашения о предоставлении персональных данных;
- выносить постановления о приостановлении полностью или частично операций по текущим (расчетным) и иным банковским счетам физических лиц, в том числе индивидуальных предпринимателей, и юридических лиц [12].
На основании темы и принципов действия судебного исполнения целью данной работы является разработка программной поддержки работы судебного исполнителя, а также всестороннее изучение и систематизация полученных знаний.
При разработке данной информационной системы поставлены следующие задачи:
- исследовать предметную область;
- спроектировать и реализовать приложение в архитектуры клиент-сервер на языке Java.
1. Описание предметной области
Предметная область - описание работы приложения по поддержке работы судебного исполнения.
Приложение построено на архитектуре клиент-сервер.
При поступлении исполнительного документа (решения суда) сотрудник вносит данные по данному решению и проводит оценку собственности, после чего выставляет ее на торги для получения дохода, в счет погашения задолженности перед заявителем.
При входе в программу под учетной записью «Администратор», создается ряд операций, доступных сотруднику. Перечень можно изменять или удалить в зависимости от необходимости.
Основными операциями, доступными для работы судебному исполнителю являются:
- добавление исполнительного листа;
- добавление данных о должнике;
- просмотр информации о задолженности;
- списание задолженности с должника;
- выставление/снятие собственности на торгах.
С точки зрения предметной области для поддержки эффективной работы судебного исполнителя:
1. Операционная система: Windows 7/8/10
2. Процессор: Intel Pentium 4 / Athlon 64 или более поздней версии с поддержкой SSE2
3. Свободное место на диске: 100 Мб
4. Операционная память: 512 Мб
5. Подключение к сети интернет: обязательно
Для отражение доступных функций применена методология моделирования IDEF0, которая используется для создания функциональной модели, отображающей структуру и функции системы, а также потоки информации и материальных объектов, связывающих эти функции.
Управление системой осуществляет действующее законодательство Республики Беларусь и решения суда.
Механизмом системы является судебный исполнитель.
Выходным потоком служит состояние счета, как результат проведение операции по исполнению решений суда в системе.
На рисунках 2 - 4 представлена декомпозиция нижних уровней.
На диаграмме А0 отражены основные блоки системы, которые наследуются от родительского. Данный принцип наследования также применяется при дальнейшей декомпозиции.
Рисунок 1 - Диаграмма A-0. Исполнительное производство и поддержка работы судебного исполнителя
Рисунок 2 - Диаграмма A0
Рисунок 3 - Диаграмма A1
Рисунок 4 - Диаграмма A2
2. Постановка задачи и обзор методов её решения
Основная задача - разработка приложения в архитектуре клиент-сервера с многопоточным сервером с организацией взаимодействия с базой данных на объектно-ориентированном языке Java.
При решении задачи активно использовались технологии JPА, Java servlets, bootstrap.
Сервлеты в первую очередь, дают возможность решить следующие задачи:
- чтение явных данных, отправленных клиентским приложением (данные форм, полей)
- чтение неявных данных, отправленных клиентским приложением (к примеру, заголовки запросов)
- построение результата обработки полученных данных.
- отправка явных данных обратно в клиент (к примеру, HTML данные, которые будут отображены на странице).
- отправка неявных данных обратно в клиент (коды статусов, заголовки ответа).
Таким образом, клиент обращается к сервлету при помощи HTTP-запросов, содержащих как данные форм, так и необходимые заголовки. Сервлет же генерирует ответ, содержащий данные из разных источников, используя для этого различные технологии. Сам ответ сервера представляет собой все тот же HTTP запрос [9].
Однако, хорошие стороны сервлета остаются до момента вывода информации на экран. Поэтому представление данных реализовано в виде набора JSP страниц.
JavaServer Pages (JSP) позволяют вам отделить динамическую часть ваших страниц от статического HTML. Как обычно, пишем обычный код в HTML, используя для этого любую программу для создания Web-страниц. Затем заключаем динамическую часть кода в специальные теги, большинство которых начинаются с "<%" и завершаются "%>". После чего файлу даем расширение .jsp и размещаем там же, где должны размещаться обычные Web страницы. Основная идея JSP очень проста - сама страница представляет из себя шаблон с уже заготовленными HTML-тэгами, между которыми надо вставить нужные данные.
JSP имеет в своем составе несколько предопределенных объектов. Т.е. их надо воспринимать, как уже готовые объекты, которые могут быть использованы. Это request, response, out, session, application, config, pageContext и page [6].
Web-сервисы базируются на четырех ключевых технологиях: eXtensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL) и Universal Description, Discovery and Integration (UDDI). Эти технологии используются для обеспечения функционирования Web-сервисов и связаны между собой [22].
Язык XML играет важную роль в Web-сервисах -- он является основой для таких технологий, как SOAP и WSDL, а также определяет формат данных, используемый для обмена информацией между потребителем сервиса и самим сервисом.
SOAP -- это основанный на языке XML стандарт для взаимодействия между сервисами и их потребителями. Протокол SOAP базируется на сообщениях, которые разделяются на два типа: запросы (вызов метода удаленного объекта) и ответы (результат работы удаленного метода). SOAP поддерживает два механизма доступа - SOAP RPC и SOAP Message. SOAP RPC представляет собой простой протокол «запрос-ответ» и базируется на объекте Call. Этот объект (и некоторые низкоуровневые методы для создания и отсылки сообщений) используется для синхронного удаленного вызова методов Web-сервисов.
SOAP Message - это протокол для отсылки и обработки SOAP-сообщений, который может использоваться для асинхронных коммуникаций и подразумевает немедленный или отложенный ответ на запрос. Протокол SOAP Message базируется на объекте Message. Разработчики могут использовать низкоуровневые интерфейсы SOAP API для создания и отсылки сообщений.
Протокол SOAP основан на понятии «конвертов», внутри которых и располагаются сообщения со специфичными для того или иного приложения данными. Ниже показан пример SOAP-запроса, посылаемого потребителем сервиса сервису [22].
Интерфейс для доступа к Web-сервису описывается на основанном на языке XML языке Web Services Description Language (WSDL) и содержит всю информацию, необходимую для доступа к данному сервису, - WSDL-документы можно сравнить с описаниями интерфейсов на языке IDL, только в первом случае используется язык XML. С точки зрения WSDL-документа Web-сервис представляет собой коллекцию портов, которые, в свою очередь, являются коллекцией абстрактных операций и сообщений. Абстракция операций и сообщений позволяет связывать их с различными протоколами и форматами данных типа SOAP, HTTP GET/POST или MIME [22].
И наконец, четвертой технологией, связанной с Web-сервисами, является спецификация Universal Description, Discovery and Integration (UDDI). Задача UDDI - предоставить механизм для публикации информации о Web-сервисах, а также обеспечить поддержку поиска доступных Web-сервисов. В целом UDDI - это регистрационная система, куда входят набор XML-файлов и ассоциированные схемы, которые содержат описания предоставляемых Web-сервисами услуг. Спецификация UDDI содержит описание программных интерфейсов, позволяющих разработчикам регистрировать Web-сервисы и/или использовать реестр для поиска специфических сервисов. После того как необходимый Web-сервис найден, реестр предоставляет указатель на местонахождение WSDL-документа [22].
Рассмотрим также единую интегрированную среду, которая предоставляет самые востребованные элементы страниц, одновременно обеспечивая приемлемую гибкость - Bootstrap.
Bootstrap опирается на проект LESS, который является усовершенствованием языка CSS. Кроме того, Bootstrap включает базовые элементы CSS, такие как шрифты, формы, кнопки, таблицы, сетки, элементы навигации, предупреждения и многое другое. Основным назначением Bootstrap является оказание помощи Web-разработчикам в ускорении создания своих проектов. Сегодня Bootstrap -- это самый популярный проект в хранилище программ GitHub. В наши дни Bootstrap используют индивидуальные разработчики, небольшие группы и даже крупные организации.
Технология, предоставляющая возможность сохранять Java-объекты в базе данных - JPA (Java Persistence API).
JPA реализует концепцию ORM.
Поддержка сохранности данных, предоставляемая JPA, покрывает области:
- непосредственно API, заданный в пакете javax.persistence;
- платформо-независимый объектно-ориентированный язык запросов Java Persistence Query Language;
- метаинформация, описывающая связи между объектами [27].
AngularJS -- это набор инструментов для построения фреймворка, наиболее подходящего для создания веб-приложения. Он расширяем и отлично взаимодействует с другими библиотеками. Любая особенность может быть изменена или заменена в соответствии с уникальным путем развития и потребностями вашего приложения. AngularJS позволяет задавать правила проверки формы без необходимости писать JavaScript код. HTML отлично подходит для описания статичных документов, но спотыкается при попытке описать динамические виды в веб-приложениях. AngularJS позволяет расширить синтаксис HTML. В результате код получается выразительным, читаемым, и легко поддерживается [1].
3. Модели представления системы и их описание
Диаграмма вариантов использования служит для концептуального представления бизнес-системы в процессе ее разработки [26].
Создание диаграммы вариантов использования имеет следующие цели:
- определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы;
- сформулировать общие требования к функциональному поведению проектируемой системы;
- разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей;
- подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
В данном случае, последняя цель назначения данной диаграммы не преследуется.
На рисунке 5 представлена Use Case, на которой представлено два актера: Судебный исполнитель и Должник. Последний, в ходе реализации исполнительно листа, выданного судом, может только предоставить данные о собственности. Первый - судебный исполнитель - наделен большим количеством полномочий, а именно: получение исполнительного листа, анализ сроков его исполнения, анализ методов его исполнения, оценка собственности должника, выбор объекта собственности для торгов, и как следствие, исполнение решения суда. Все его полномочия на данной диаграмме представлены в виде вариантов использования. Взаимосвязь вариантов использования «Выбор объекта для торгов» и «Оценка объектов собственности» показывает, что исходный вариант использования явно включает в себя поведение другого варианта использования в месте, указанном в исходном. Взаимосвязь вариантов использования «Оценка объектов собственности» и «Продажа собственности на торгах» показывает, что целевой вариант использования расширяет поведение исходного [5, с. 154-155].
Рисунок 5 - Диаграмма вариантов использования
Диаграмма состояний предназначена для отражения всех созможных состояний, в которых может находиться объект, а также процесс смены состояний в результате внешнего влияния [18]. Основными элементами диаграммы состояний являются «Состояние» и «Переход»
На рисунке 6 представлена диаграмма состояний сервера.
Выделены следующие состояния: запрос получен, требования проверены, выполнение запроса, запрос выполнен.
Переходы осуществляются:
- из состояния «Запрос получен» при наступлении события «Передать на проверку» в состояние «Требования проверены»;
- из состояния «Требования проверены» при наступлении события «Обработать запрос» в состояние «Выполнение запроса»;
- из состояния «Выполнение запроса» при наступлении события «Передать результат» в состояние «Запрос выполнен».
Рисунок 6 - Диаграмма состояний сервера
Диаграмма последовательностей отражает следующие аспекты проектируемой системы:
- обмен сообщениями между объектами, в том числе в рамках обмена сообщениями со сторонними системами;
- ограничения, накладываемые на взаимодействие объектов;
- события, инициирующие взаимодействия объектов [17].
Данная диаграмма является одной из разновидностей диаграмм взаимодействия и предназначена для моделирования взаимодействий объектов системы во времени, а также обмена сообщений между ними.
На диаграмме последовательности объекты в основном представляю экземпляры класса или сущности, обладающие поведением. В качестве объектов могут выступать пользователи, инициирующие взаимодействие, классы, обладающие поведением в системе или программные компоненты, а иногда и системы в целом.
Рисунок 7 отражает последовательность действий судебного исполнителя, который по поступившему исполнительну листу, производит оценку имущества должника для погашения задолженности перед заявителем. В данном случаи обмен сообщениями происходит между субедным исполнителем и сервером программы, который обрабатывает информацию, вводимую первым. Первоначального сотрудник власти вводит информацию о должнике, его фамилию, имя и отчество. После поступления данного сообщения сервер проверяет наличие поступившей информации и формирует сообщение. Затем пользователь программы посылает сообщение для отражения задолженности по данным должника, при этом после его получения, сервер формирует обратное сообщение с отражение данной задолженности. Данный принцип работы сохраняется до завершения данной операции.
Рисунок 7 - Диаграмма последовательности обработки исполнительного листа
Диаграмма классов показывает статическую структуру системы, то есть определяет типы объектов системы и различного рода статические связи и отношения между ними [20]. На диаграммах классов также изображаются атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами.
На рисунке 8 представлена именно такая диаграмма. Класс «maincontroller» наследуется от класса «HttpServlet». Последний предоставляет реализацию по умолчанию для всех методов интерфейса Servlet. Сервлеты, работающие с клиентами через Web, обычно расширяют класс HttpServlet. Метод service, как правило, переопределяется, чтобы иметь возможность различать стандартные методы запросов, получаемые от Web-браузера клиента. Двумя наиболее распространенными типами запросов HTTP (их также называют методами запросов) являются get и post. Запрос get получает (или извлекает) информацию. Запрос post помещает (или отправляет) данные на сервер. Типичное применение метода post - отправка на сервер информации для аутентификации, или данных из формы, в которую пользователь ввел информацию [14].
Кроме данных классов реализованы классы: Dolgs, Imus, IspLists, TypeIspList, User. Все они реализует интерфейс «Serializable». От каждого класса наследуются в свою очередь DolgsFacade, ImusFacade, IspListsFacade, TypeIspListFacade, UserFacade соответственно.
На диаграмме отражены поля и функции данных классов.
Рисунок 8 - Диаграмма классов
Диаграмма компонентов описывает особенности физического представления системы, обеспечивая согласованный переход от логического представления к конкретной реализации проекта в форме программного кода. Одни компоненты могут существовать только на этапе компиляции программного кода, другие на этапе его исполнения. Диаграмма компонентов отражает общие зависимости между компонентами, рассматривая последние в качестве классификаторов [7]. Данная диаграмма представлена на рисунке 9.
Рисунок 9 - Диаграмма компонентов приложения
Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения (runtime). При этом представляются только компоненты-экземпляры программы, являющиеся исполняемыми файлами или динамическими библиотеками. Те компоненты, которые не используются на этапе исполнения, на диаграмме развертывания не показываются. Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме развертывания они не указываются.
Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Разработка диаграммы развертывания, как правило, является последним этапом спецификации модели программной системы.
При разработке диаграммы развертывания преследуют следующие цели:
- определить распределение компонентов системы по ее физическим узлам;
- показать физические связи между всеми узлами реализации системы на этапе ее исполнения;
- выявить узкие места системы и реконфигурировать ее топологию для достижения требуемой производительности [8].
Рисунок 10 - Диаграмма развертывания
4. Информационная модель системы и её описание
Построение модели данных предполагает определение сущностей и атрибутов, то есть необходимо определить какая информация будет храниться в конкретной сущности или атрибуте. Сущность можно определить, как объект, событие или концепцию, информация о которых должна сохраняться. Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе, не носить "технических" наименований и быть достаточно важными для того, чтобы их моделировать. ERwin имеет развитый инструмент для облегчения проектирования модели данных.
ERwin имеет два уровня представления модели - логический и физический. Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире. Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами.
Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т. д.
Физическая модель фактически является отражением системного каталога базы данных. Создается на основе логической модели средствами среды разработки. Этот процесс получил название прямого проектирования.
Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т.д. Для этого ERwin имеет целый набор соответствующих редакторов. На основе ключей, описанных на уровне логической модели (поддерживаются первичные, внешние, альтернативные ключи и инверсионные входы) ERwin генерирует индексы. Могут быть также сгенерированы индексы, заданные дополнительно на уровне физической модели. Для поддержки целостности БД задаются правила ссылочной целостности, а также триггеры и хранимые процедуры, которые представляют собой программный код на SQL и хранятся на сервере.
Логическая модель базы данных представлена на рисунке 11. На ней отражены следующие сущности: DOLGS, IMUS, ISP_LISTS, TYPE_ISP_LIST, USER. Каждая сущность имеет ряд своих атрибутов, некоторые из которых являются ключевыми. Между сущностями установлена связь «одни-к-одному» и «многие-ко-многим».
Рисунок 11 - Логическая модель базы данных
Рисунок 12 - Физическая модель базы данных
Доказательство приведения базы данных к третьей нормальной форме.
Нормальная форма -- требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между атрибутами (полями таблиц) [24].
База данных будет находиться в третьей нормальной форме, если она приведена ко второй нормальной форме и каждый не ключевой столбец независим друг от друга. Следует знать, что 3НФ нарушается, если, изменив значение в одном столбце, потребуется изменение и в другом столбце.
Основные критерии 3НФ: нахождение БД в 2НФ, а также то, что любой не ключевой атрибут таблицы функционального зависит от первичного ключа.
Как видим из информационной модели, зависимость неключевых атрибутов от первичных ключей присутствует, БД приведена к 2НФ. Следовательно, БД приведена к 3НФ.
5. Описание алгоритмов, реализующих бизнес-логику серверной части проектируемой системы
Основная идея работы программной поддержки судебного исполнителя заключается в следующем: на сервер приходит запрос от клиента, который содержит в себе некоторые параметры. В этот момент выполняется сервлет, которые просматривает путь и переданные параметры, в зависимости от которых выполняет действия и отправляет ответ.
Преимуществом использования сервлета является его быстродействие, переносимость на различные платформы. Сервлеты поддерживаются большинством Web-серверов и являются частью платформы J2EE. Они используются для создания серверного приложения, получающего от клиента запрос, анализирующего его, делающую выборку из базы данных, а затем пересылающего клиенту страницу, сгенерированную с помощью JSP на основе полученных данных.
Для работы с базой банных использована спецификация JPA, которая описывает систему управления сохранение java-объектов в таблицы реляционных баз в удобном виде. Сама Java не содержит реализации JPA, однако есть существует много реализаций данной спецификации от разных компаний (открытых и нет). Это не единственный способ сохранения java объектов в базы данных (ORM систем), но один из самых популярных в Java мире [25].
Бизнес-логика системы представлена на серверной части приложения. Листинг алгоритмов, реализующих бизнес-логику программной поддержки судебного исполнителя, а также листинг основных ее элементов представлен в приложении А данной пояснительной записки.
Размещено на http://www.allbest.ru/
Рисунок 13 - Графическое представление работы сервера в виде блок-схемы
6. Руководство пользователя
Область применения данной программы - работа судебного исполнителя. Суть работы судебного исполнителя заключается в том, чтобы заставить человека исполнять решения суда или постановления различных ведомств - ГАИ, РУВД, налоговой инспекции и т.д. Чаще всего, приходится иметь дело со взысканием денежных сумм. Это могут быть выплаты алиментов родителями или задолженности от юридических лиц, уплата штрафов за превышение скорости на дороге (согласно снимкам с камер фото- и видеофиксации), возмещение ущерба по уголовным делам (конфискация имущества) или расходов на содержание детей, которые находятся на гособеспечении (по 18-му декрету) [2].
Кратное описание возможностей. Данная программная поддержка позволяет судебному исполнителю качественно выполнять свои функциональные обязанности. Для этого программной предусмотрена база данных, в которой содержится информация об исполнительных листах, выданных различными ведомствами Республики Беларусь, о должниках, который указанными в этих листах, об их имуществе. При входе в программу, пройдя авторизацию, работник может осуществить поиск по данным должника и просмотреть всю информацию, доступную в базе данных: его имущество, себестоимость этого имущества, остаток задолженности лица по исполнительному листу, а также в рамках полномочий сотрудника, он может списать погашенную задолженность после выставления имущества на торгах [13].
Уровень подготовки пользователя. Для работы с программной поддержкой достаточно иметь базовый уровень знаний пользования ПК. Интерфейс доступен и понятен интуитивно. На сайте указана контактная информация, по которой можно связаться с разработчиком в случае возникновения вопросов в ходе эксплуатации продукта.
Перечень эксплуатационных документов, с которыми необходимо ознакомиться пользователю отсутствует.
Поговорим об основных операциях программной поддержки работы судебного исполнителя.
На рисунке 14 представлена стартовая страница загрузки.
Рисунок 14 - Стартовая страница
Для входа необходимо воспользоваться кнопкой «Войти», указанной на рисунке 14 красным цветом. При ее выборе откроется окно входа, на котором нужно ввести данные логина и пароля.
Рисунок 15 - Ввод учетных данных
После прохождения авторизации открывается окно с информацией об объектах.
Рисунок 16 - Информация об объектах
Для просмотра информации о должнике по исполнительному листу необходимо воспользоваться кнопкой «Информация», которая обведена на рисунке 16 красным цветом. После ее нажатия откроется следующая информация:
Рисунок 17 - Информация о задолженности
Для добавления должника представлен следующий функционал, представленный на рисунке 18, где вводится ФИО и его номер паспорта.
Рисунок 18 - Добавление должника
В настройках предусмотрено изменение пароля, перечень пользователей, а также типы исполнительных листов, который редактируется.
Рисунок 19 - Настройки
На главной странице представлены вкладки «Домашняя» - для возврата на стартовую страницу, «Объекты на торгах» - для просмотра информации о продаже собственности, «Список должников», а также «Добавить собственность».
Рисунок 20 - Объекты на торгах
Рисунок 21 - Список должников
Рисунок 22 - Добавить собственность
7. Результаты тестирования разработанной системы и оценка выполнения задач
Тестирование - это процесс выполнения программы с целью определения места некорректного ее функционирования. Оно включает преднамеренное конструирование трудных наборов входных данных, создающих наибольшие возможности для отказа программного изделия. Тестирование является основным методом обнаружения ошибок в программе. Результаты тестирования являются исходными данными для отладки [19].
В данной программной поддержке работы судебного исполнителя тестирование произведено. Для этого при работе в ней, вводились некорректные данные. В результате данных действий программа выдает сообщение при наличии таковых, что предусмотрено программным кодом.
Оценка выполнения задач производилась по трём точкам:
1. работа с членом команды, который выполняет задачу, чтобы определить, как позитивные, так и негативные риски, связанные с его задачей. Негативные риски -- те, что могут увеличить срок выполнения задачи, позитивные -- уменьшить.
2. на следующем этапе член команды называл три оценки. Первая -- это наиболее вероятная (BG), которая является средней продолжительностью работы над задачей, если работник сделает её 100 раз. Вторая оценка -- пессимистичная (P) -- продолжительность работы над задачей, если сработают все негативные факторы, которые выявлены. И наконец, оптимистичная оценка (O) в которой учтены все определённые ранее позитивные факторы.
3. В результате проводим несложные вычисления с тремя полученными оценками. Таким образом, рассчитываем значение и стандартное отклонение, используя формулы для оценки по трем точкам:
(O + 4 * BG + P) / 6 = взвешенное значение
(P-O) / 6 = стандартное отклонение (используемое для вычисления вероятностей) [10].
Взвешенное значение по трем оценкам, которые дал член команды, это та оценка, которую используем для его задачи. Она учитывает риски в задаче и последствия воздействия позитивных и негативных рисков.
Получилось:
BG = 99
P = 50
О = 30
(30 + 4 * 99 + 50) / 6 = 79,33 - взвешенное решение
(50 - 30) / 6 = 3,33 - стандартное отклонение
Заключение
В ходе разработки программной поддержки работы судебного исполнителя были достигнуты все поставленные задачи.
Для реализации проекта изучена литература о среде разработки, которая использовалась для написания программного модуля, произведено его тестирование и отладка. Таким образом, можно сказать о том, что программный продукт прошел все стадии его жизненного цикла, кроме ввода в эксплуатацию.
Результатом работы является приложение, пригодное для использования по назначению. Основные принципы его функционирования описаны в разделе «Руководство пользователя» данной пояснительной записки.
Требования по созданию определенных пользовательских функций, которые были выдвинуты на начальной стадии работы, учтены и реализованы.
На основании этого можно считать, что курсовая работа выполнена в соответствии с поставленными задачами.
Список использованных источников
программный судебный исполнитель тестирование алгоритм
1. AngularJS - Супер-героический JavaScripn MVW фреймворк [Электронный ресурс]. - Режим доступа: http://angular-doc.herokuapp.com. - Дата доступа: 05.11.2019.
2. Басс, Л. Архитектура программного обеспечения на практике \ Л. Басс, П. Клементс, Р. Кацман. - 2-е изд. - СПб. : Питер, 2006. - 575 с.: ил.
3. Белоус, С. "Уговариваем, пугаем, угрожаем". Как судебные исполнители выбивают из должников деньги [Электронный ресурс] / Светлана Белоус. - Режим доступа: http://news.tut.by/society/421427.html. - Дата доступа: 05.11.2019.
4. Блинов, И. Н. Java. Промышленное программирование / И. Н. Блинов, В. С. Романчик. - М.: УниверсалПресс, 2007. - 704 с.
5. Буч, Г. Язык UML. Руководство пользователя / Гради Буч, Джеймс Рамбо, Ивар Якобсон; пер. с англ. Н. Мухин. - 2-е изд. - М.: ДМК Пресс, 2006. - 496 с.: ил.
6. WEB: что такое JSP? [Электронный ресурс]. - Режим доступа: http://java-course.ru/student/book1/jsp. - Дата доступа: 05.11.2019.
7. Диаграмма компонентов (component diagram) [Электронный ресурс]. - Режим доступа: http://www.info-system.ru/designing/methodology/uml/theory/component_diagram_theory.html. - Дата доступа: 05.11.2019.
8. Диаграмма развертывания (deployment diagram) [Электронный ресурс]. - Режим доступа: http://www.info-system.ru/designing/methodology/uml/theory/deployment_diagram_theory.html. - Дата доступа: 05.11.2019.
9. Изучаем JSP и Servlets. Часть 2. Основы сервлетов [Электронный ресурс] // TechNerium.ru : Синтетический мир. - Режим доступа: http://www.technerium.ru/stati/izuchaem-jsp-i-servlets-chast-2-osnovy-servletov. - Дата доступа: 05.11.2019.
10. Как выполнять оценку по трём точкам? [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/248325. - Дата доступа: 05.11.2019.
11. Кодд, Е. Ф. Реляционная модель данных для больших совместно используемых банков данных / Е. Ф. Кодд // СУБД. - 1995. - № 1. - С. 145-160.
12. Козиков, Ю. Краткий алгоритм действий взыскателя в исполнительном производстве в экономических судах Республики Беларусь [Электронный ресурс] / Юрий Козиков // МОКА. - Режим доступа: http://moka.by/index.php/от-адвоката/908-краткий-алгоритм-действий-взыскателя-в-исполнительном-производстве-в-экономических-судах-республики-беларусь. - Дата доступа: 05.11.2019.
13. РД 50-34.698-90 Руководство пользователя (пример оформления) [Электронный ресурс] // Корпоративные хранилища данных. Интеграция систем. Проектная документация : Проектный опыт. Аналитика и статьи. Примеры и шаблоны документов. ГОСТы. - Режим доступа: http://www.prj-exp.ru/patterns/pattern_user_guide.php. - Дата доступа: 05.11.2019.
14. Servlet - Класс HttpServlet [Электронный ресурс]. - Режим доступа: http://www.java2ee.ru/servlets/HttpServlet.html. - Дата доступа: 05.11.2019.
15. Создание модели данных с помощью ERWin [Электронный ресурс]. - Режим доступа: http://www.interface.ru/public/caseall/caseall6.htm. - Дата доступа: 30.10.2019.
16. СТП 01-2010. Стандарт предприятия. Дипломные проекты (работы). Общие требования. - Минск: БГУИР, 2013. - 178 с.
17. Теория и практика UML. Диаграмма последовательности [Электронный ресурс]. - Режим доступа: http://it-gost.ru/articles/view_articles/94. - Дата доступа: 30.10.2019.
18. Теория и практика UML. Диаграмма состояний [Электронный ресурс]. - Режим доступа: http://it-gost.ru/articles/view_articles/97. - Дата доступа: 30.10.2019.
19. Тестирование и отладка разработанной программы [Электронный ресурс] // Технология Программирования. - Режим доступа: http://www.tehprog.ru/index.php_page=labrab9.html. - Дата доступа: 05.11.2019.
20. Технология моделирования UML [Электронный ресурс]. - Режим доступа: http://www.exponenta.ru/soft/others/mvs/stud2/23.asp. - Дата доступа: 05.11.2019.
21. UML. Классика CS / под общей ред. проф. С. Орлова; пер. с англ. - 2-е изд. - СПб. : Питер, 2006. - 736 с.: ил.
22. Федоров, А. Технологии для Web-сервисов [Электронный ресурс] / Алексей Федоров // КомпьютерПресс. - 2002. - № 6. - Режим доступа: http://compress.ru/article.aspx?id=10975. - Дата доступа: 05.11.2019.
23. Физическая и логическая модель данных [Электронный ресурс]. - Режим доступа: http://www.plam.ru/compinet/bpwin_i_erwin_case_sredstva_ dlja_razrabotki_informacionnyh_sistem/p5.php#metkadoc3. - Дата доступа: 05.11.2019.
24. 6 нормальных форм БД [Электронный ресурс] // От новичка до профессионала: Веб-разработка, php скрипты, поисковая оптимизация. - Режим доступа: http://i-novice.net/6-normalnyx-form-bd. - Дата доступа: 05.11.2019.
25. Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/265061. - Дата доступа: 05.11.2019.
26. Элементы графической нотации диаграммы вариантов использования [Электронный ресурс] // Леоненков, А. Нотация и семантика языка UML: Информация / Александр Леоненков. - Режим доступа: http://www.intuit.ru/studies/courses/32/32/info. - Дата доступа: 05.11.2019.
27. Java Persistence API [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/Java_Persistence_API. - Дата доступа: 05.11.2019.
Приложение
Листинг сервера
Файл maincontroller.java
package controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entitys.*;
import java.io.BufferedReader;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import pojo.*;
@WebServlet(name = "web_controller", loadOnStartup=1,
urlPatterns = {"/objects", "/input","/dolgs","/addinfo","/admin"})
public class maincontroller extends HttpServlet
{
private JSONObject getUser(HttpServletRequest request)throws ServletException, IOException
{
StringBuilder sb = new StringBuilder();
BufferedReader br = request.getReader();
String str = null;
while ((str = br.readLine()) != null) {
sb.append(str);
}
JSONParser parser = new JSONParser();
JSONObject joUser = null;
try
{
joUser=(JSONObject)parser.parse(sb.toString());
return joUser;
} catch (ParseException ex)
{
return null;
}
}
HttpSession se;
@EJB
UserFacade uf;
@EJB
ImusFacade imf;
@EJB
DolgsFacade df;
@EJB
IspListsFacade isf;
@EJB
ImusFacade imuf;
@EJB
TypeIspListFacade tif;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String userPath=request.getServletPath();
if ("/objects".equals(userPath))
{
if(request.getParameter("objects")!=null&&request.getParameter("objects").toString().equalsIgnoreCase("show"))
{
JSONArray arr=new JSONArray();
List <Imus> imus=imf.findAll();
for(int i=0;i<imus.size();i++)
{
if(imus.get(i).getIsTorg())
{
JSONObject jo=new JSONObject();
jo.put("id", imus.get(i).getId());
jo.put("name", imus.get(i).getName());
jo.put("cost", imus.get(i).getCost());
arr.add(jo);
}
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
}
if ("/dolgs".equals(userPath))
{
if(request.getParameter("dolgs")!=null&&request.getParameter("dolgs").toString().equalsIgnoreCase("show"))
{
JSONArray arr=new JSONArray();
List <Dolgs> dolgs=df.findAll();
for(int i=0;i<dolgs.size();i++)
{
JSONObject jo=new JSONObject();
jo.put("id", dolgs.get(i).getId());
jo.put("surname", dolgs.get(i).getSurname());
jo.put("name", dolgs.get(i).getName());
jo.put("lastname", dolgs.get(i).getLastname());
jo.put("pasport", dolgs.get(i).getPasport());
arr.add(jo);
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("id")!=null)
{
int id=Integer.parseInt(request.getParameter("id").toString());
JSONArray arr=new JSONArray();
List <IspLists> lists=isf.findAll();
for(int i=0;i<lists.size();i++)
{
if(lists.get(i).getIdDolg().getId()==id)
{
JSONObject jo=new JSONObject();
jo.put("name", lists.get(i).getIdType().getName());
jo.put("sum", lists.get(i).getSum());
arr.add(jo);
}
}
PrintWriter out = response.getWriter();
System.out.println(arr.toJSONString());
out.write(arr.toJSONString());
out.flush();
out.close();
}
}
if ("/addinfo".equals(userPath))
{
Dolgs ds=null;
if(request.getParameter("valid")!=null&&request.getParameter("valid").toString().equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
ds=df.find(id);
JSONObject jo=new JSONObject();
if(ds!=null)
{
jo.put("user",true);
}
else
{
jo.put("user",false);
}
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("add")!=null&&request.getParameter("add").toString().equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
ds=df.find(id);
String name=request.getParameter("name").toString();
double sum=Double.parseDouble(request.getParameter("sum").toString());
imuf.create(new Imus(name,sum,ds));
System.out.println("fignya");
JSONObject jo=new JSONObject();
if(ds!=null)
{
jo.put("user",true);
}
else
{
jo.put("user",false);
}
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
}
if ("/input".equals(userPath))
{
if(se!=null)
{
try
{
se.getAttribute("login").equals("true");
request.getRequestDispatcher("/mos_admin/index.jsp").forward(request, response);
}
catch(IllegalStateException e)
{
se=null;
request.getRequestDispatcher("/mos_admin/input.jsp").forward(request, response);
}
}
else
{
if(request.getParameter("login")!=null&&request.getParameter("pass")!=null)
{
int login=Integer.parseInt(request.getParameter("login").toString());
String pass=request.getParameter("pass").toString();
User us=uf.find(login);
try
{
if(us.getPass().equals(pass))
{
se = request.getSession(true);
se.setAttribute("login", "true");
se.setAttribute("id",login);
response.sendRedirect("input");
}
else
request.getRequestDispatcher("/mos_admin/input.jsp").forward(request, response);
}
catch(NullPointerException e)
{
request.getRequestDispatcher("/mos_admin/input.jsp").forward(request, response);
}
}
else
request.getRequestDispatcher("/mos_admin/input.jsp").forward(request, response);
}
}
if("/admin".equals(userPath))
{
try
{
if (se!=null&&se.getAttribute("login").equals("true"))
{
if(request.getParameter("dolgs")!=null&&request.getParameter("dolgs").toString().equalsIgnoreCase("show"))
{
JSONArray arr=new JSONArray();
List <Dolgs> dolgs=df.findAll();
for(int i=0;i<dolgs.size();i++)
{
JSONObject jo=new JSONObject();
jo.put("id", dolgs.get(i).getId());
jo.put("surname", dolgs.get(i).getSurname());
jo.put("name", dolgs.get(i).getName());
jo.put("lastname", dolgs.get(i).getLastname());
jo.put("pasport", dolgs.get(i).getPasport());
arr.add(jo);
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("upinfo")!=null&&request.getParameter("upinfo").toString().equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
String surname=request.getParameter("surname");
String name=request.getParameter("name");
String lastname=request.getParameter("lastname");
String pasport=request.getParameter("pasport");
Dolgs ds=df.find(id);
ds.setSurname(surname);
ds.setName(name);
ds.setLastname(lastname);
ds.setPasport(pasport);
df.edit(ds);
JSONObject jo=new JSONObject();
jo.put("res", true);
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("pogashenie")!=null&&request.getParameter("pogashenie").equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
JSONArray arr=new JSONArray();
List <Imus> lists=imf.findAll();
for(int i=0;i<lists.size();i++)
{
if(lists.get(i).getIdDolg().getId()==id)
{
JSONObject jo=new JSONObject();
jo.put("id", lists.get(i).getId());
jo.put("name", lists.get(i).getName());
jo.put("cost", lists.get(i).getCost());
arr.add(jo);
}
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("lists")!=null&&request.getParameter("lists").equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
JSONArray arr=new JSONArray();
List <IspLists> lists=isf.findAll();
for(int i=0;i<lists.size();i++)
{
if(lists.get(i).getIdDolg().getId()==id)
{
JSONObject jo=new JSONObject();
jo.put("id", lists.get(i).getId());
jo.put("name", lists.get(i).getIdType().getName());
jo.put("sum", lists.get(i).getSum());
arr.add(jo);
}
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("spis")!=null&&request.getParameter("spis").toString().equalsIgnoreCase("true"))
{
JSONArray arr=new JSONArray();
List <TypeIspList> tis=tif.findAll();
for(int i=0;i<tis.size();i++)
{
JSONObject jo=new JSONObject();
jo.put("id", tis.get(i).getId());
jo.put("name", tis.get(i).getName());
arr.add(jo);
}
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("spis")!=null&&request.getParameter("spis").toString().equalsIgnoreCase("add"))
{
Dolgs ds=null;
TypeIspList tis=null;
JSONObject jo=new JSONObject();
try
{
int iddol=Integer.parseInt(request.getParameter("iddol").toString());
int idType=Integer.parseInt(request.getParameter("idType").toString());
double sum=Double.parseDouble(request.getParameter("sum").toString());
ds=df.find(iddol);
tis=tif.find(idType);
isf.create(new IspLists(tis,ds,sum));
jo.put("res",true);
}
catch(Exception e)
{
jo.put("res",false);
}
System.out.println("spis");
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("adddolgs")!=null&&request.getParameter("adddolgs").toString().equalsIgnoreCase("true"))
{
Dolgs ds=null;
TypeIspList tis=null;
JSONObject jo=new JSONObject();
try
{
String surname=request.getParameter("surname");
String name=request.getParameter("name");
String lastname=request.getParameter("lastname");
String pasport=request.getParameter("pasport");
df.create(new Dolgs(surname,name,lastname,pasport));
int search=df.findAll().get(df.findAll().size()-1).getId();
int id=df.find(search).getId();
jo.put("res",true);
jo.put("id",id);
}
catch(Exception e)
{
jo.put("res",false);
}
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("deldolgs")!=null&&request.getParameter("deldolgs").toString().equalsIgnoreCase("true"))
{
Dolgs ds=null;
JSONObject jo=new JSONObject();
try
{
int id=Integer.parseInt(request.getParameter("id"));
df.remove(df.find(id));
jo.put("res",true);
}
catch(Exception e)
{
jo.put("res",false);
}
System.out.println(jo.toJSONString());
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("dellists")!=null&&request.getParameter("dellists").toString().equalsIgnoreCase("true"))
{
IspLists isp=null;
JSONObject jo=new JSONObject();
try
{
int id=Integer.parseInt(request.getParameter("id"));
isf.remove(isf.find(id));
jo.put("res",true);
}
catch(Exception e)
{
jo.put("res",false);
}
PrintWriter out = response.getWriter();
out.write(jo.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("objects")!=null&&request.getParameter("objects").toString().equalsIgnoreCase("show"))
{
JSONArray arr=new JSONArray();
List <Imus> imus=imf.findAll();
for(int i=0;i<imus.size();i++)
{
JSONObject jo=new JSONObject();
jo.put("id", imus.get(i).getId());
jo.put("name", imus.get(i).getName());
jo.put("cost", imus.get(i).getCost());
jo.put("id_dolg", imus.get(i).getIdDolg().getId());
jo.put("is_torg", imus.get(i).getIsTorg());
arr.add(jo);
}
System.out.println(arr.toJSONString());
PrintWriter out = response.getWriter();
out.write(arr.toJSONString());
out.flush();
out.close();
}
if(request.getParameter("changeobj")!=null&&request.getParameter("changeobj").toString().equalsIgnoreCase("true"))
{
int id=Integer.parseInt(request.getParameter("id").toString());
boolean is_torg=Boolean.parseBoolean(request.getParameter("is_torg"));
Imus is=imf.find(id);
is.setIsTorg(!is_torg);
imf.edit(is);
JSONObject jo=new JSONObject();
jo.put("res", true);
System.out.println("changeobj");
...Подобные документы
Разработка авторизированной информационной системы оформления кредитов на различные нужды потребителя. Описание особенностей применения паттернов проектирования. Исследование алгоритмов, реализующих бизнес-логику серверной части проектируемой системы.
курсовая работа [924,5 K], добавлен 24.01.2016Описание сервиса электронного кафе и определение основных требований к системе. Модели вариантов использования, состояний, последовательности, классов, компонентов и развертывания. Описание алгоритмов, реализующих бизнес-логику серверной части.
курсовая работа [3,3 M], добавлен 23.12.2014Создание сетевой системы тестирования с целью автоматизации процесса контроля знаний, оценивания результатов и создания тестовых заданий. Файлы проекта и их назначение. Описание алгоритмов и модулей программы. Работа с сетью, руководство пользователя.
контрольная работа [928,3 K], добавлен 23.12.2012Создание системы информационного обмена для страховой медицинской организации. Разработка алгоритмов, интерфейса пользователя, экранных форм и отчетов, процедур и функций приложения. Расчет цены разработанной программы, капитальных вложений и расходов.
дипломная работа [1,4 M], добавлен 20.07.2014Исследование алгоритмов и характеристик существующих программных систем аналогов для проверки знаний: Aму Life Test Gold, SunRav TestOfficePro. Разработка архитектуры программной системы. Проверка программы в нормальных условиях, руководство пользователя.
курсовая работа [2,5 M], добавлен 17.06.2012Абстрактный анализ и синтез модели предметной области. Разработка структуры, внешних и внутренних спецификаций программы. Описание программы Kurs и подпрограммы Openf, особенности и результаты их тестирования. Руководство программиста и пользователя.
курсовая работа [503,2 K], добавлен 14.07.2012Описание самообучающейся экспертной системы и деятельности центра обучения иностранным языкам. Описание разработанной схемы данных, диаграммы классов, алгоритмов поиска ответа. Результаты тестирования разработанной системы. Учетные записи и работа с ними.
курсовая работа [2,0 M], добавлен 14.04.2015Общие понятия реляционного похода к базам данных. Разработка программы для автоматизации функций руководителя салона сотовой связи. Детализация бизнес-процессов. Интерфейс для работы пользователя. Тестирование разработанной информационной системы.
курсовая работа [2,2 M], добавлен 26.06.2012Рассмотрение особенностей и этапов разработки программы поддержки пользователя СОЛО-35.02. Знакомство принципами организации многопроцессорной вычислительной системы. СОЛО-35.02 как 4-х процессорная вычислительная машина, характеристика конструкции.
курсовая работа [312,0 K], добавлен 22.01.2013Реализация базы данных и серверной части информационной системы склада средствами СУБД Microsoft SQL Server. Анализ предметной области, информационных задач, пользовательской системы. Программа реализации проекта. Выработка требований и ограничений.
курсовая работа [2,4 M], добавлен 15.11.2015Проектирование, разработка и внедрение электронной системы обучения и тестирования для сотрудников строительной организации. Требования к надежности. Общие сведения о программной реализации системы. Руководство системного программиста. Конструктор тестов.
дипломная работа [1,7 M], добавлен 19.01.2017Анализ существующих систем создания и управления сайтами, их общая характеристика и оценка функциональности на современном этапе. Требования к серверной части, средства ее разработки. Тестирование интерфейса. Формирование руководства пользователя.
дипломная работа [1,0 M], добавлен 11.04.2012Классификация задач системы поддержки принятия решений, их типы и принципы реализации при помощи программы "Выбор". Обзор современных систем автоматизированного проектирования "Компас", "AutoCad", "SolidWorks", оценка преимуществ и недостатков программ.
курсовая работа [1,4 M], добавлен 22.07.2014Характеристика программной системы автоматизации МЧС по контролю рыбаков дрейфующих на льдинах. Выбор инструментальных средств разработки системы, технологии ее реализации. Проектирование архитектуры системы. Анализ серверной и клиентской части системы.
курсовая работа [1014,5 K], добавлен 28.08.2012Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Проектирование информационной системы для удобного ведения учета товара. Функциональная модель предметной области. Обоснование выбора языка программирования. Описание программы, руководство пользователя. Протокол тестирования программного продукта.
курсовая работа [537,6 K], добавлен 18.09.2014Требования к составу и параметрам технических средств, информационной и программной совместимости. Разработка функциональных моделей автоматизированной системы "Деятельность бетонно-растворного узла". Интерфейс Web-приложения, руководство пользователя.
курсовая работа [4,6 M], добавлен 04.10.2014Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.
курсовая работа [1,5 M], добавлен 17.01.2011Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.
курсовая работа [572,7 K], добавлен 14.07.2012Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ, и предоставления услуг по разработке программного обеспечения компании "МегионСофтОйл", разработка алгоритмов приложений программной системы и модулей.
дипломная работа [5,3 M], добавлен 29.06.2012