Программная система "Контроль секретных агентов в зарубежных странах"

Цели, задачи и назначение программной системы. Характеристики JSP-технологии. Проектирование архитектуры приложения: слой бизнес-логики и бизнес-правил, слой доступа к данным, слой сервисов и слой отображения. Логическая и физическая схема базы данных.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 21.06.2013
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Украины

Черниговский государственный технологический университет

Кафедра информационных и компьютерных систем

Курсовая работа по дисциплине “Организация баз данных”

ПРОГРАММНАЯ СИСТЕМА

Контроль секретных агентов в зарубежных странах

Выполнили

студенты гр. КИ-104

Г.А. Мельниченко

Д.Д. Силаев

Р.Б. Кондратенко

Руководитель-ассистент М.В. Харченко

Чернигов 2013

Реферат

Курсовая работа, 53 с., 21 рис., 10 источников, 6 приложений.

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

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

Данная программная система разработана на основе технологий реляционного отображения данных, а также технологии JSP.

Результат разработки оформлен в виде программного проекта, приводимого в приложении к курсовому проекту.

Работа корпоративного приложения возможна в любой операционной системе, где установлена виртуальная машина Java и сервлет-контейнер, поддерживающий технологии JSP 2.5 и Servlet 2.0.

БАЗА ДАННЫХ, JSP, JAVA, ORM, ОБЪЕКТ, WEB-СЕРВИС, DAO.

Реферат

Курсова робота, 53 с., 21 мал., 10 джерела, 6 додатків.

У цій роботі описаний процес і результати проектування і розробки програмної системи контролю діяльності секретних агентів у зарубіжних країнах, яка є корпоративним застосуванням. Об'єктами предметної області, з якою працює система, є країна, агент, документи, які передані, завербований агентом персонал.

Архітектура даної програмної системи являє собою декілька програмних шарів: шар джерела даних, шар доступу до даних, шар служб, шар відображення.

Дана програмна система розроблена на основі технології реляційного відображення даних , а також технології JSP.

Результат розробки оформлений у вигляді програмного проекту, що приводиться у додатку до курсового проекту.

Робота розробленої корпоративної програми можлива в будь-якій операційній системі, де встановлена віртуальна машина Java и сервлет-контейнер, що підтримує технології JSP 2.5 та Servlet 2.0.

БАЗА ДАНИХ, JSP, JAVA, ORM, ОБ'ЄКТ, WEB-СЕРВІС, DAO.

The Abstract

Course work, 53 p., 21 pic., 10 sources, 6 appendices.

In this work described the process and results of designing and development program system of the agents control in foreign countries, which represents the corporate appendix is described. Objects of a subject domain from which the system works, are country, agent, documents, personal.

The architecture of the given program system provides presence of several program layers: a layer of a source given, layer of access to the data, layer of services and layer of display.

The given program system is developed on the basis of technologies of relational display of data, and also JSP technology.

The result of development is issued in the form of the program project led in the appendix an academic year project.

Work of the corporate appendix is possible in any operational system where virtual machine Java and the servlet-container supporting technologies JSP 2.5 and Servlet 2.0 are established.

DATABASE, JSP, JAVA, ORM, OBJECT, WEB-SERVICE, DAO.

Содержание

ВВЕДЕНИЕ

1. АНАЛИЗ РЕШАЕМОЙ ЗАДАЧИ

1.1 Анализ предметной области

1.2 Цели и задачи системы

1.3 Назначение системы

1.4 Требования к системе

2. ПРОЕКТИРОВАНИЕ

2.1 Выбор инструментальных средств разработки системы

2.1.1 Сервер базы данных

2.1.2 Технологии реализации системы

2.1.3 Сервлет контейнер Tomcat

2.2 Проектирование архитектуры системы

2.2.1 Проектирование слоя бизнес-логики и бизнес-правил

2.2.2 Проектирование слоя доступа к данным

2.2.3 Проектирование слоя сервисов

2.2.4 Проектирование слоя отображения

3. РАЗРАБОТКА

3.1 Разработка базы данных системы

3.1.1 Разработка схемы базы данных

3.1.2 Обеспечение целостности данных

ВЫВОДЫ

ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

Проектирование базы данных (БД) - одна из наиболее сложных и ответственных задач, связанных с созданием корпоративного приложения (enterprise application). В результате её решения должны быть определены содержание БД, эффективный для всех её будущих пользователей способ организации данных и инструментальные средства управления данными. Основная цель проектирования БД - это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте.

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

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

Множество пользователей обращаются к данным параллельно. Как правило, их количество не превышает сотни, но для систем, размещенных в среде Web, этот показатель возрастает на несколько порядков.

При больших объемах данных в приложении должен быть предусмотрен богатый пользовательский интерфейс.

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

Корпоративные приложения, как правило, являются сложными программными системами.

1. Анализ решаемой задачи

1.1 Анализ предметной области

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

Согласно условию, объектами предметной области являются: страна; агент; документы, которые переданы; завербованный агентом персонал.

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

Страна - сущность, отвечающая за хранение страны в базе данных; по сути, содержит только её название.

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

1.2 Цели и задачи системы

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

- управление списками всех имеющихся агентов;

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

- отправка сообщения начальнику в случае рассекречивания агента;

- возможность контроля количества подчиненных у агента;

предоставление сведений о 10 наиболее успешных в передаче документов агентах.

1.3 Назначение системы

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

В зависимости от полномочий (роли) пользователя, система может предоставлять ему разные возможности.

Варианты использования данной системы разными пользователями представлены на диаграммах использования (рисунок 1.1 - 1.5).

Рисунок 1.1 - Возможные действия в системе администратора

Рисунок 1.2 - Возможные действия в системе начальника штаба

Рисунок 1.3 - Возможные действия в системе начальника отдела

Рисунок 1.4 - Возможные действия в системе агента

Рисунок 1.5 - Возможные действия в системе рекрута

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

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

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

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

1.4 Требования к системе

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

Существуют следующие ограничения: не позволять агенту вербовать больше 8 человек, так как за ними становится трудно следить. Также в системе должны быть предусмотрены разные права доступа к данным.

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

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

Также в системе нужно создать web-сервис, методы которого позволяют получить:

-список всех пользователей;

-список агентов, подчиненных заданному агенту;

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

2. Проектирование

2.1 Выбор инструментальных средств разработки системы

2.1.1 Сервер базы данных

Для реализации программной системы можно было использовать следующие серверы баз данных: PostgreSQL, MySQL, Derby.

Сервер баз данный MySQL имеет менее удобные средства для проектирования баз данных по сравнению с другими серверами БД.

База данных, разработанная с помощью Derby, легко переносима с одного компьютера на другой.

В СУБД PostgreSQL удобный интерфейс пользователя и для работы с ней из среды Eclipse существуют специальные модули. Поэтому в качестве сервера баз данных выберем PostgreSQL.

2.1.2 Технологии реализации системы

Технология JSP-страниц (JavaServer Pages - JSP) позволяет без труда создавать web-содержимое, у которого есть как статическая, так и динамическая компоненты. Основными характеристиками JSP-технологии являются:

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

-конструкции для получения доступа к объектам на стороне сервера.

-механизмы, определяющие расширения для JSP-языка.

JSP-страницей является документ с текстовой основой, содержащий два типа текста: статические шаблонные данные, выражаемые при помощи любого формата на текстовой основе, такого как HTML, SVG, WML, и XML, а также JSP-элементы, которые создают динамическое содержимое.

Сервлеты - это особым образом написанные (согласно спецификации) Java-программы, которые выполняются удаленно на сервере и вызов которых осуществляется удаленно из web-браузера с помощью HTTP протокола через web-сервер.

В технологиях Servlet и JSP введено понятие "контейнера" (container). Если вкратце, то Servlet-контейнер - это движок, отвечающий за выполнение Servlet-ов. JSP-контейнер - это движок, отвечающий за трансляцию jsp-страниц в сервлеты и передачу этих сервлетов Servlet-контейнеру. Так как сервлеты и jsp-страницы вызываются через HTTP-протокол, то Servlet-контейнер и JSP-контейнер часто сопровождает еще один компонент - web-сервер, который тоже может быть написан на Java.

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

JSTL (Java Server Pages Standard Tag Library) -- стандартная библиотека тегов JSP. Она расширяет спецификацию JSP, добавляя в библиотеку JSP теги специального назначения, предназначенные для разбора XML данных, условной обработки, создания циклов, обработки коллекций, работы с базами данных и поддержки интернационализации.

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

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

Для работы с данными в JSTL используется язык выражений (EL - Expression Language), представляющий собой упрощённое объединение JavaScript и XPath. Многие из возможностей языка выражений, получивших поддержку в стандартной библиотеке тегов, были включены в следующую спецификацию JSP, а именно JSP 2.0 или JSR-152. Но JSTL остается независимой библиотекой тегов.

JSTL это универсальный инструмент, который обеспечивает гибкость и максимальную эффективность разработки JSP-страниц.

Веб-сервисы преобразуют XML-документы (Extensible Markup Language, XML) в ИТ-системах. Веб-сервисы - это XML-приложения, осуществляющие связывание данных с программами, объектами, базами данных либо с деловыми операциями целиком. Между веб-сервисом и программой осуществляется обмен XML-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют формат таких сообщений, интерфейс, которому передается сообщение, правила привязки содержания сообщения к реализующему сервис приложению и обратно, а также механизмы публикации и поиска интерфейсов.

Для удаленного взаимодействия с веб-сервисами используется Simple Object Access Protocol (SOAP). SOAP обеспечивает взаимодействие распределенных систем, независимо от объектной модели, операционной системы или языка программирования. Данные передаются в виде особых XML документов особого формата.

Для создания веб-сервиса можно использовать плагин WTP(Web Tools Platform), который расширяет возможности Eclipse средствами для создания web-приложений.

Объектно-реляционное отображение - это техника программирования, которая связывает реляционную базу данных с концепциями объектно-ориентированного программирования и создаёт ''виртуальную базу данных объектов''. Некоторые компании разработали собственные средства отображения объектных структур на реляционные базы данных. Такие продукты позволяют использовать объектно-ориентированные концепции для разработки, но они имеют настолько различные API, что не представляется возможным использовать продукт одной компании вместо другой.

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

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

2.1.3 Сервлет контейнер Tomcat

Web-сервер Tomcat включает в себя Servlet-контейнер, позволяющий выполнять сервлеты, и JSP-контейнер, который транслирует jsp-страницы в сервлеты и передает эти сервлеты Servlet-контейнеру.

Конфигурация Tomcat осуществляется с помощью файла server.xml, в котором содержится вся информация о настройке, записанная в XML-формате.

2.2 Проектирование архитектуры системы

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

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

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

Рисунок 2.1 - Многослойная архитектура корпоративного приложения

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

-слой бизнес логики (логика предметной области) (domain) - слой, описывающий основные функции приложения, предназначенные для достижения поставленной перед ним цели;

-слой сервисов (service layer) - слой служб определяющий границы приложения и множество операций, предоставляемых им для интерфейсных клиентских слоев кода;

-слой доступа к данным (Datasource layer) или слой интеграции - задача этого слоя состоит в том, чтобы обеспечить возможность взаимодействия приложения с различными компонентами инфраструктуры для выполнения необходимых функций;

-слой представления (presentation layer) - слой, охватывающий все, что имеет отношение к общению пользователя с системой.

2.2.1 Проектирование слоя бизнес-логики и бизнес-правил

На данном этапе была выполнена разработка классов доменов. Диаграммы классов доменов приведены на рисунке 2.2.

Рисунок 2.2 - Диаграммы классов доменов

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

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

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

Алгоритмы работы системы согласно бизнес-правилам, присутствующим в данной предметной области приведены на рисунках (рисунок 2.3 и рисунок 2.4).

Рисунок 2.3 - Схема алгоритма добавления рекрута агенту

Рисунок 2.4 - Алгоритм поиска всех подчиненных данного агента

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

2.2.2 Проектирование слоя доступа к данным

На данном этапе проектирования выполняется разработка DAO (data access object) классов, которые обеспечивают доступ к данным. Простые функции получения свойств объектов уже разработаны в классах домена. DAO основаны на классах домена и обеспечивают более сложные выборки данных, характерные для данной предметной области.

Диаграмма классов DAO представлена на рисунке 2.5.

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

Для единообразного доступа к данным, все классы DAO реализуют интерфейс Dao. Классы для каждой отдельной сущности в своих методах обращаются к классу StaticDao.

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

Среди всех операций доступа к данным также присутствуют базовые CRUD (create, read, update, delete) операции - создание объекта, удаление объекта, обновление объекта, получение объекта по идентификатору, и получение всех объектов.

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

2.2.3 Проектирование слоя сервисов

Диаграмма классов сервисов системы приведена на рисунке 2.6.

Рисунок 2.6 - Диаграмма классов сервисов системы

Классы сервисов - основные классы, обслуживающие web-страницы. В этих классах также реализуются правила бизнес-логики.

Сервисы основываются на классах DAO. Все необходимые операции, которые пользователь может выбирать на web-страницах, исполняются вызовами методов данных классов. В классы сервисов вынесены также базовые CRUD-операции.

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

Помимо самих интерфейсов и классов сервисов в пакете присутствуют классы-enumeration, необходимые для задания некоторых свойств объектов.

Так, в классе UserStatus существуют поля ACTIVE(0), WAIT_FOR_CONFIRAMTION(1), DECLASSIFIED(2), и DELETED(3), которые обозначают соответствующее состояние пользователя. Например, если пользователь ожидает подтверждения, он не может войти в систему, а если имеет статус рассекречен - агент сообщил о рассекречивании.

Класс Role - еще один класс-перечисление. В данном классе описываются состояния ADMIN(0), BOSS(1), LOCALAGENT(2), AGENT(3) и RECRUIT(4). В зависимости от них пользователю предоставляются соответствующие права доступа.

Значение в скобках - соответствие имени поля числу; именно это число записывается в соответствующее поле таблицы в базе данных.

2.2.4 Проектирование слоя отображения

Интерфейсом данной программной системы выступает набор jsp-страниц, отображаемых в браузере пользователя. При создании данных страниц использовались технологии JSP и AJAX. Для улучшения дизайна и простоты реализации также использовалась стандартная библиотека jQuery.

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

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

После подтверждения регистрации пользователь имеет доступ к своей личной странице. Её внешний вид, а именно левая панель, меняются в зависимости от роли (и, соответственно, прав доступа) пользователя.

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

3. Разработка

3.1 Разработка базы данных системы

3.1.1 Разработка схемы базы данных

Исходя из анализа, проектирования слоя бизнес логики и правил, структуру БД можно сделать следующей (рисунок 3.1)

Рисунок 3.1 - Логическая схема БД

Физическая схема БД показана на рисунке 3.2

Рисунок 3.2 - Физическая схема БД

В базе данных программной системы содержится вся информация относительно её объектов, а именно:

- страна;

- документ;

- пользователь;

- агент.

В каждой таблице уникальный первичный ключ является суррогатным. Это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого - служить первичным ключом. Значения этого поля не образуется на основе каких-либо других данных из БД, а генерируются искусственно. Главное достоинство суррогатного ключа состоит в том, что он никогда не изменяется, поскольку не является информативным полем таблицы (не несёт никакой информации об описываемом записью объекте). Использовать суррогатный ключ имеет смысл в случае, когда возможны изменения полей, составляющих (естественный) первичный ключ (в особенности, если этот ключ - составной). В этом случае возникает проблема т.н. "каскадных изменений". При использовании же суррогатного ключа в качестве первичного, изменять его не придется. Также, при выполнении запросов, использующих суррогатные ключи, сравнение полей будет происходить быстрее, в особенности, если естественный первичный ключ представляет собой строку.

3.1.2 Обеспечение целостности данных

Ограничения целостности приведены в таблице 3.1

Таблица 3.1 - Описание таблиц БД

Название таблицы

Поле

Описание

Тип данных

Ограничение

administrator

id

идентификатор

serial

первичный ключ

name

имя

строка, 20 символов

обязательное для ввода

surname

фамилия

строка, 20 символов

обязательное для ввода

patronymic

отчество

строка, 20 символов

-

birthdate

дата рождения

дата

интервал (сегодня -100лет) - (сегодня -18 лет)

experience

стаж работы

целое число

>0

system status

состояние системы

булевой

-

role_id

роль

serial

внешний ключ, при удалении запретить, при обновлении каскадироать

login

логин

строка, 10 символов

обязательное для ввода, уникальное

password

пароль

serial

обязательное для ввода

agent

id

идентификатор

целое число

первичный ключ

name

имя

строка, 20 символов

обязательное для ввода, индекс

surname

фамилия

строка, 20 символов

обязательное для ввода, индекс

patronymic

отчество

строка, 20 символов

-

birthdate

дата рождения

дата

интервал (сегодня -100лет) .. (сегодня -18 лет)

boss_id

идентификатор начальника

целое число

внешний ключ, при удалении запретить, при обновлении каскадироать

country_id

идентификатор страны

целое число

внешний ключ, при удалении запретить, при обновлении каскадироать

status

статус

целое число

только значения -1,0,1

document_number

количество документов

целое число

>0, индекс

experience

стаж работы

целое число

>0

recruiting_date

дата вербовки

дата

интервал (сегодня - 82 года) .. (сегодня)

role_id

роль

serial

внешний ключ, при удалении запретить, при обновлении каскадироать

login

логин

строка, 10 символов

обязательное для ввода, уникальное

password

пароль

serial

обязательное для ввода

country

id

идентификатор

целое число

первичный ключ

name

название страны

строка, 20 символов

обязательное для ввода, уникальное

agents_number

количество агентов

целое число

>0

document

code

код документа

целое число

первичный ключ

name

название

строка, 10 символов

обязательное для ввода, уникальное

text

текст документа

переменное число символов

-

agent_id

идентификатор

serial

внешний ключ, при удалении запретить, при обновлении каскадироать

role

id

идентификатор

целое число

первичный ключ

role

роль

строка, 10 символов

обязательное для ввода, уникальное

permissions

разрешения

целое число

(проверяется программно)

ВЫВОДЫ

программный слой база данных

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

Слой отображения включает в себя реализацию отображения данных с помощью web-интерфейса.

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

Дальнейшее развитие данной системы возможно в таких направлениях:

- доработка запросов к базе данных, их оптимизация для скорейшего выполнения;

- доработка дополнительных функций, в т.ч. отправка почтой сообщения о рассекречивании;

- доработка оконного приложения на серверной стороне для доступа непосредственно к БД;

- изменение дизайна web-интерфейса.

ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Бекет Г. Java SOAP для профессионалов. Москва.: Лори, 2004. - 458 с.

2. Бретт Мак-Лахлин. Java и XML (2-е издание). Издательство "Символ-Плюс", 2002. - 544 с.

3. Брюс У. Перри. Java сервлеты и JSP. Сборник рецептов. Москва: КУДИЦ-Образ, 2006. - 768 с.

4. Буди Курняван. Создание web-приложений на языке Java с помощью сервлетов, JSP и EJB. Москва.: Лори, 2005. - 880 с.

5. Морган М. Java 2. Руководство разработчика. М.: Издательский дом ”Вильямс”, 2000. - 720 с.

6. Ноутон П., Шилд Г. Java 2. СПб.: БХВ-Петербург, 2005. - 1072 с.

7. Хейк Б. JDBC. Java и базы данных. Москва.: Лори, 2000. - 324 с.

8. Шилд Г. Java 2, v5.0 (Tiger) Новые возможности. СПб.: БХВ-Петербург, 2005. - 1072 с.

9. Шпильман С. JSTL. Практическое руководство для JSP-программистов. Москва:КУДИЦ-Образ, 2004. - 272 с.

10. Эккель Б. Философия Java. Библиотека программиста. СПб.: Питер, 2003. - 987 с.

Размещено на Allbest.ru


Подобные документы

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