Разработка программы помощи судебному исполнителю

Модель программной поддержки работы судебного исполнителя. Характеристика алгоритмов, реализующих бизнес-логику серверной части проектируемой системы. Руководство пользователя. Результаты тестирования разработанной системы и оценка выполнения задач.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.