главная полезно рефераты ссылки сатьи контакты

Внимание!!!
Все материалы сайта защищены авторским правом, содержат на момент размещения не менее 60% оригинального текста. Материалы предназначены только для выполнения собственной студенческой работы. Любое воспрозведение или иное использование запрещено законом
Кроме того, просим терпимее относиться ко всем видам рекламы на сайте. Так как за счет её и существует наш проект. Спасибо за понимание и удачи вам в поиске нужной информации.


Разработка подсистемы учёта и регистрации заявок на установку сигнализаций и учета их выполнения (Программирование на Java)

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ.. 2

1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И КЛАССИФИКАЦИЯ СУЩНОСТЕЙ РЕШАЕМОЙ ЗАДАЧИ.. 3

1.1. Заявитель. 3

1.2. Вид сигнализации. 3

1.3. Заявка. 4

1.4. Этапы организации хранилища информации о заявках. 5

2. ПОСТАНОВКА ЗАДАЧИ.. 8

3. ОБЗОР ЛИТЕРАТУРЫ... 9

4. ОБЗОР МЕТОДОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ.. 12

5. ТРЕБОВАНИЯ К СИСТЕМЕ.. 13

6. РАЗРАБОТКА МЕТОДОВ И МОДЕЛЕЙ ПРЕДСТАВЛЕНИЯ СИСТЕМЫ    14

7. РАЗРАБОТКА И ПОСТРОЕНИЕ ИНФОРМАЦИОННОЙ МОДЕЛИ.. 17

8.ОБОСНОВАНИЕ ПРИНИМАЕМЫХ РЕШЕНИЙ ПО ВЫБОРУ ТЕХНИЧЕСКИХ И ПРОГРАМНЫХ СРЕДСТВ РЕАЛИЗАЦИИ.. 20

9. ОПИСАНИЕ АЛГОРИТМОВ ПРОГРАММНЫХ МОДУЛЕЙ.. 23

11. ОПИСАНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ.. 32

ВЫВОДЫ И ЗАКЛЮЧЕНИЯ.. 33

ЛИТЕРАТУРА.. 35

ПРИЛОЖЕНИЯ.. 36

 


ВВЕДЕНИЕ

 

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

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

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

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

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

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

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

Основные функциональные возможности системы – добавление, удаление, редактирование и поиск записей. Подсистема должна быть разработана с использованием современных составляющих технологии J2EE: EJB, JSP, Servlets, SunApp Server 8.0, DHTML.

 


1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И КЛАССИФИКАЦИЯ СУЩНОСТЕЙ РЕШАЕМОЙ ЗАДАЧИ

 

Проведем краткий анализ предметной области задачи.

Для защиты личного имущества жителей от краж, пожаров и т.п. повсеместно применяются системы тревожной и охранной сигнализации. Установка сигнализаций осуществляется департаментом охраны МВД РБ.

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

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

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

В ходе анализа предметной области, подлежащей автоматизации, были выявлены следующие сущности:

1) Вид сигнализации – вид сигнализации (охранная звуковая, пожарный извещатель и т.п.)

2) Заявитель – информация о подавшем заявку лице

3) Заявка – все сведения о заявке на установку сигнализации

 

1.1. Заявитель

 

Сущность содержит информацию о заявителе (ФИО, адрес, телефон)

1.2. Вид сигнализации

 

Данная сущность содержит в себе информацию о виде сигнализации и характеризуется ее наименованием.

1.3. Заявка

 

Содержит в себе информацию о заявке на установку сигнализации и характеризуется следующими атрибутами:

- заявитель

- вид сигнализации

- дата поступления заявки

- дата установки сигнализации

- дополнительная информация (примечания)

 


1.4. Этапы организации хранилища информации о заявках

 

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

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

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

Примером такого анализа может быть, например:

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

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

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

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

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

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

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

Обследование – подразумевает сбор данных и полный анализ бизнес-процессов предметной области.

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

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

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

 


2. ПОСТАНОВКА ЗАДАЧИ

 

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

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

- моделирование согласно методологиям IDEF0/IDEF1x, UML-моделирование

- технологии JSP/Servlets

- HTML/DHTML/CSS

- EJB, работа с серверами приложений

·                    разработать методы и модели представления системы в упомянутых нотациях (IDEF, UML);

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

·                    разработать структуру (модель) всех остальных слоев приложения (бизнес-логика и слой представления)

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

·                    провести модульное и функциональное тестирование подсистемы;

·                    описать алгоритмы программных модулей;

·                    описать тестовый пример, разработать руководство пользователя;

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

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


3. ОБЗОР ЛИТЕРАТУРЫ

 

1. Дэвид Флэнаган. Java. Справочник.

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

Четвертое издание `Java. Справочник` посвящено Java 1.4 и включает краткое описание синтаксиса Java, изложение объектно-ориентированных возможностей Java и обзор основных API Java, в котором объясняется, как выполнять такие стандартные задачи, как работа со строками, ввод/вывод, обработка XML, SSL и поддержка потоков при помощи классов и интерфейсов, составляющих платформу Java 2.

Книга также содержит заслуживающий доверия справочник O`Reilly по всем классам, входящим в базовые Java-пакеты, такие как java.lang, java.io, java.beans, java.math, java.net, java.text и java.util. Справочник охватывает множество новых классов Java 1.4, включая NIO (новый интерфейс ввода/вывода), протоколирование и средства работы с XML.

2. Р. Мухамедзянов. Серверные приложения на языке Java.

В книге описаны практические вопросы, посвященные работе с Java-серверными приложениями, относящимися как к технологиям электронной коммерции, так и к Web-приложениям. Описаны работа с сервлетами, распределенные компоненты ЕJB. Уделено внимание приемам работы с базами данных при помощи Java. Предназначена для системных архитекторов, бизнес-аналитиков, программистов и студентов, изучающих программирование.

3. Андрей Гарнаев, Сергей Гарнаев. Web-программирование на Java и JavaScript.

Книга является руководством по Java и JavaScript для создания Web-проектов. Подробно описывается синтаксис языков программирования Java и JavaSript, детально обсуждается разработка Java-апплетов, приложений, графического интерфейса пользователя, сервлетов, серверных страниц JSP, Java Beans, рассматривается работа с базами данных и конструирование на JavaScript динамических и интерактивных Web-страниц. Особое внимание уделено принципам создания клиент-серверных компьютерных игр, электронных магазинов и информационно-поисковых систем. Книга содержит уникальную коллекцию, состоящую из более чем 350 примеров, часть из которых носит учебный характер, а другая является прототипом коммерческих проектов.

4. Кендалл Скотт, Мартин Фаулер. UML. Основы.

Третье издание бестселлера Фаулера "UML. Основы" охватывает UML 2 - версию, которая существенно отличается от всех предыдущих. Но основная формула успеха этой книги не претерпела изменений. До сих пор она, бесспорно, остается лучшим кратким и точным руководством по применению UML. Главное достоинство книги заключается в кратком и сжатом изложении сути UML и особенностей применения этого языка в современном процессе разработки ПО. В книге описаны все главные типы диаграмм UML, рассказано, для чего они предназначены и какие нотации применяются при их создании и чтении. Это диаграммы классов, последовательности, объектов, пакетов, развертывания, прецедентов, состояний, деятельности, составных структур, компонентов, обзора взаимодействия, коммуникационные и временные. Фаулер не только в ясной и доступной манере описывает ключевые аспекты языка UML, но и четко показывает ту роль, которую UML играет в процессе разработки. Замечательные примеры моделирования являются результатом многолетнего опыта работы автора в области проектирования и моделирования.

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

Данная книга является исчерпывающим руководством по web-программированию на языке Java. Она охватывает все технологии, необходимые для программирования на стороне клиента с помощью JavaScript и web-приложений на Java с помощью сервлетов 2.3, JSP 1.2, EJB 2.0.

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

6. Максим Вершинин, Елена Иванова. Java 2 Enterprise Edition. Технологии проектирования и разработки.

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

 


4. ОБЗОР МЕТОДОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

 

Один из основных методов решения поставленной задачи – самостоятельное решение проблемы. Для этого необходимо:

·                   источники информации по теме (литературные источники)

·                   четкое знание требований к системе

·                   компьютер

·                   время

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

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

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

В качестве технических методов решения данной задачи были использованы программные средства BPWin, ERWin, Enterprise Architect, Sun App Server 8, DB Sybase, IDE Netbeans 5.5


5. ТРЕБОВАНИЯ К СИСТЕМЕ

 

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

·                    должна быть реализована возможность добавления сведений о заявителях, сигнализациях и заявках;

·                    должна быть реализована возможность корректировки сведений о заявителях, сигнализациях и заявках;

·                    должна быть реализована возможность удаления сведений о заявителях, сигнализациях и заявках;

·                    должна быть реализована возможность поиска сведений о заявках по описанию заявки (подстрока);

·                    работа с приложением должна вестись удаленно по протоколу HTTP посредством Web-браузера клиента;

·                    предложение должно реализовывать многозвенную архитектуру: «браузер-JSP/Servlets-session beans-entity beans-Sybase»;

·                    HTML-страницы должны включать элементы DHTML.

В качестве целевого JDK необходимо использовать JDK 1.5.

Целевой сервер приложений - Sun Application Server 8.

Целевая СУБД - SYBASE 9.0.

В качестве клиента бизнес - процессов использовался Struts (свободная реализация паттерна Model-View-Controller)


6. РАЗРАБОТКА МЕТОДОВ И МОДЕЛЕЙ ПРЕДСТАВЛЕНИЯ СИСТЕМЫ

 

В работе проводится моделирование с использование IDEF0(BPWin), UML (Rational Rose), IDEF1x (ErWin).

1. Важная роль отводится процессу функционального проектирования.

Для регламентирования создания функциональных моделей ПС предназначен стандарт IDEF0 (Integrated Definition Function Modeling), который и реализован в пакете BpWin.

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

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

В основе IDEF0 лежит три базовых принципа:

принцип функциональной декомпозиции – любая функция может быть разбита (декомпозирована) на более простые функции (более понятен термин детализация);

принцип ограничения сложности – количество блоков на диаграмме должно быть не менее двух, но не более шести (условие удобочитаемости);

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

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

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

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

В приложении продемонстрированы диаграммы последовательности, диаграмм классов, кооперирования, состояния и использования, а также диаграммы IDEF0 (BPWin).

2. Унифицированный язык моделирования (UML - Unified Modeling Language) является стандартным инструментом для создания документированных каркасов ("чертежей") программного обеспечения. С помощью UML можно визуализировать, специфицировать, конструировать и документировать процесс разработки программных систем.

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

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

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


7. РАЗРАБОТКА И ПОСТРОЕНИЕ ИНФОРМАЦИОННОЙ МОДЕЛИ

 

При построении информационной модели применялся стандарт IDEF1x, поддерживаемый инструментальной средой Erwin фирмы LogicWorks . ERWin‑ средство разработки структуры базы данных (БД). ERwin сочетает графический интерфейс Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз данных.

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

Диаграмма ERwin строится из трех основных элементов - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности являются существительными, а связи — глаголами.

Сущность - логическое понятие. Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет 3 основных вида информации:

·                   атрибуты, составляющие первичный ключ. Для каждого первичного ключа ERwin создает при генерации структуры БД уникальный индекс;

·                   не ключевые атрибуты;

·                   тип сущности (независимая/зависимая).

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

·                   связи (идентифицирующая/неидетифицирующая), полная/неполная категория, специфическая связь);

·                   родительская сущность;

·                   дочерняя (зависимая) сущность;

·                   мощность связи (cardinality);

·                   допустимость пустых (null) значений.

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

В ERwin существуют два уровня представления и моделирования — логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни

Целевая СУБД, имена объектов и тины данных, индексы составляют второй (физический уровень модели Erwin).

Процесс построения информационной модели состоит из следующих шагов:

·                   определение сущностей;

·                   определение зависимостей между сущностями;

·                   задание первичных и альтернативных ключей;

·                   определение атрибутов сущностей;

·                   приведение модели к требуемому уровню нормальной формы;

·                   переход к физическому описанию модели - назначение соответствий: имя сущности — имя таблицы, атрибут сущности — атрибут таблицы; задание триггеров, процедур и ограничений;

·                   создание слоя данных.

.


 

8.ОБОСНОВАНИЕ ПРИНИМАЕМЫХ РЕШЕНИЙ ПО ВЫБОРУ ТЕХНИЧЕСКИХ И ПРОГРАМНЫХ СРЕДСТВ РЕАЛИЗАЦИИ

 

К программным средствам, выбранным для решения поставленной перед нами задачи относятся:

·                    Enterprise Architect

·                    Sun AppServer 8

·                    NetBeans 5.5

·                    Struts Framework

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

Enterprise Architect объединяет в себе силу языка UML 2.0 с высокоэффективным, понятным интерфейсом. Данная программа дает возможность расширенного моделирования на рабочем столе, разработки и созданию групп. Поддержка для всех 13 UML 2.0.

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

Для уменьшения стоимости и увеличения скорости проектирования и разработки корпоративного приложения платформа J2EE предлагает компонентный подход к проектированию, разработке, сборке и внедрению корпоративных приложений. Платформа J2EE предлагает модель многоуровневого распределенного приложения, возможность повторного использования компонентов, интегрированный обмен данными на основе XML, унифицированную модель безопасности и гибкое управление транзакциями. Вы не только можете выпускать на рынок инновационное решение для пользователей быстрее, чем раньше, но и Ваши платформо-независимые, основанные на компонентах J2EE-решения больше не привязаны к продуктам и API какого-либо одного производителя. Производители и пользователи обладают свободой выбора продуктов и компонентов, которые наиболее полно удовлетворяют их деловые и технологические требования. Поэтому в  качестве сервера был выбран Sun AppServer.

Язык программирования JAVA — весьма популярный в настоящее время язык программирования, обладающий большой гибкостью и обеспечивающий поддержку объектно-ориентированного программирования. Самым главным его козырем является платформенная независимость, т.е. код, написанный в среде Windows, без всяких изменений будет работать в среде Linux и т.п. Это обеспечивается тем, что скомпилированные файлы JAVA представляют собой не самостоятельно исполняемый код, а так называемый байт-код, который исполняется виртуальной машиной JAVA, индивидуальной для каждой платформы.

NetBeans 5.5 – бесплатная среда разработки с открытым кодом, позволяющая упростить многие однотипные действия, например, генерацию EJB и отладку программы.

Struts Framework – бесплатная реализация архитектуры Model 2, или Model-View-Controller, позволяющая отделить обработку данных от их представления. Model представляет собой набор Action-классов, которые выполняют определенные действия (например, получить данные или удалить строку), View – набор JSP страниц, которые отображают данные, полученные от Model, Controller – это Servlet который управляет работой первых двух слоев веб-приложения.


9. ОПИСАНИЕ АЛГОРИТМОВ ПРОГРАММНЫХ МОДУЛЕЙ

 

Обобщенный алгоритм работы клиента показан на рис. 1.

 

Рис. 1. Обобщенный алгоритм работы.

 

 

 

Рис. 2. Многоуровневое J2EE-приложение

Алгоритм можно прокомментировать следующим образом:

1)                              клиент обращается посредством веб-браузера по ссылке в Интернете

2)                              сервер приложений обрабатывает запрос пользователя, выполняя ту или иную JSP-страницу

3)                              в ходе обработки запроса клиента осуществляется обращение к EJB, отражающим сущности предметной области

4)                              для обработки запросов клиента через бизнес-методы компонентов EJB Осуществляется обмен данных с СУБД Sybase

5)                              работа с БД осуществляется по протоколу JDBC посредством пула JDBC-соединений Sun Application Server


10. ОПИСАНИЕ ТЕСТОВОГО ПРИМЕРА. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

 

Для запуска разработанного программного средства вначале необходимо зарегистрировать и настроить connection pool для сервера базы данных с именем sybase, и настроить jdbc resource с именем jdbc/sybase.

Подключение производиться по url:

http://localhost:8080/signallings/

Работать можно в любом интернет-браузере с поддержкой CSS2, HTML 4.01 и JavaScript (FireFox, Opera и Internet Explorer).

При запуске клиента появляется окно, показанное на рис. 3. На данном рисунке видны возможности, которыми обладает клиент.

 

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


Логика приложения организована следующим образом. Существует 3 страницы для каждой из сущностей.

1.                Виды сигнализаций;

2.                Заявители;

3.                Заявки;

 

На каждой странице возможны следующие действия:

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

Рис. 4. Редактирование записи

 

Для сохранения изменений необходимо нажать на кнопку «OK»

 


Чтобы удалить какую-нибудь запись необходимо нажать на «Удалить».

В результате появится диалоговое окно с запросом подтверждения об удалении (Рис. 5)

 

Рис. 5. Запрос на удаление

 

После подтверждения запись удаляется и страница обновляется.

Чтобы добавить запись, необходимо нажать кнопку «Добавить» (Рис. 6). При этом в таблице появится новая строка. Для сохранения изменений нужно нажать кнопку «OK».

Рис. 6. Добавление записи.

 


Чтобы произвести поиск по записи, следует вести запрос в текстовое поле «Искать по» (рис.7) и нажать кнопку «Искать». Результат поиска отображен на рис. 8.

Система ищет как по полной строке, так и по части строки.

Рис.7. Поиск записи – ввод данных

 

Рис.8. Поиск записи – результат

 

Тестовый пример: новый заявитель.

Необходимо: записать в систему информацию о новом заявителе Иванове С.И., проживающем по адресу ул.Новокарпатская д.4, тел.455-67-33

Должны получить: новая запись сохранилась в системе.

 

Шаг 1:

Запускаем приложение. Переходим на страницу Заявители (Рис.7)

Рис.9. Страница Заявители.


Шаг 2.

Нажимаем кнопку Добавить. В окне вводим все данные. (Рис. 8)

Рис. 10. Добавление записи

 

Шаг 3.

Нажимаем OK. Запись сохраняется и страница обновляется. (Рис.9)

Рис. 11. Запись сохранена

 

Полученные результаты совпадают с ожидаемыми – запись сохранена в системе.

 


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

 

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

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

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

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

2) возможность удаленного доступа граждан к системе с целью подбора требуемой им сигнализации он-лайн.

Дополнительно в результате выполнения данного курсового проекта были получены и закреплены на практике навыки в работе с языком  JAVA, UML, методиками проектирования IDEF0, IDEF1x, СУБД SQL Anywhere 9 и технологией EJB .


ВЫВОДЫ И ЗАКЛЮЧЕНИЯ

 

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

Приложение реализовано с использованием языка программирования Java, технологий J2EE и Sun Application Server 8 / SQL Anywhere 9.

Для доступа к системе через Web был реализован веб-клиент.

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

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

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

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

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

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

 


ЛИТЕРАТУРА

 

1. Дэвид Флэнаган. Java. Справочник. 1040 стр., 2004 г. Издательство: Символ. ISBN 5-93286-067-7

2. Р. Мухамедзянов. Серверные приложения на языке Java. 336 стр., 2002 г. Издательство: Солон. ISBN 5-93455-134-5

3. Андрей Гарнаев, Сергей Гарнаев. Web-программирование на Java и JavaScript 1040 стр., 2005 г. Издательство: BHV. Серия: Мастер. ISBN 5-94157-088-0

4. Кендалл Скотт, Мартин Фаулер. UML. Основы. 192 стр., 2006 г. Издательство: Символ. Серия: Основы. ISBN 5-93286-060-X

5. Буди Курняван. Создание web-приложений на языке Java с помощью сервлетов, JSP и EJB. 880 стр., 2005 г. Издательство: Лори. Серия: New Riders. ISBN 5-85582-242-7

6. Максим Вершинин, Елена Иванова. Java 2 Enterprise Edition. Технологии проектирования и разработки. 1088 стр., 2003 г. Издательство: BHV. Серия: Мастер программ. ISBN 5-94157-192-5

7. Интернет-источник - поисковый сервер Google (http://www.google.com)


ПРИЛОЖЕНИЯ

 

 

Рис. 10. Диаграмма IDEF0. Верхний уровень

 

Рис. 13. Диаграмма IDEF0. Уровень 0. Учет и регистрация заявок на установку сигнализаций.

 

 

Рис. 14. Диаграмма IDEF0. Уровень 1 – Постановка заявки в очередь

Рис. 15. Диаграмма IDEF1х (ERWin). Логический уровень

 

 

Рис. 16. Диаграмма IDEF1х (Erwin). Физический уровень

 

 

Рис. 17. Диаграмма вариантов использования


Рис. 18. Диаграмма классов сервера

 

Рис. 19. Диаграмма компонентов приложения

Рис. 20. Диаграмма развертывания приложения

 

 

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

Рис. 22. Диаграмма состояний (добавление заявки)


Фрагмент листинга исходного кода – класс PrimaryKeyBean

 

package ejb;

 

import ejb.entity.PkLocal;

import ejb.entity.PkLocalHome;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.ejb.*;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

/**

 * This is the bean class for the PrimaryKeyBean enterprise bean.

 */

public class PrimaryKeyBean implements SessionBean, PrimaryKeyLocalBusiness {

    private SessionContext context;

   

    // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click the + sign on the left to edit the code.">

    // TODO Add code to acquire and use other enterprise resources (DataSource, JMS, enterprise bean, Web services)

    // TODO Add business methods or web service operations

    /**

     * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)

     */

    public void setSessionContext(SessionContext aContext) {

        context = aContext;

    }

   

    /**

     * @see javax.ejb.SessionBean#ejbActivate()

     */

    public void ejbActivate() {

       

    }

   

    /**

     * @see javax.ejb.SessionBean#ejbPassivate()

     */

    public void ejbPassivate() {

       

    }

   

    /**

     * @see javax.ejb.SessionBean#ejbRemove()

     */

    public void ejbRemove() {

       

    }

    // </editor-fold>

   

    /**

     * See section 7.10.3 of the EJB 2.0 specification

     * See section 7.11.3 of the EJB 2.1 specification

     */

    public void ejbCreate() {

    }

   

   

    public Integer getNextPK(Table table) {

        try {

            PkLocal pkBean = lookupPkBean().findByPrimaryKey(table.getTableId());

            Integer newId = new Integer(pkBean.getPk().intValue()+1);

            pkBean.setPk(newId);

            return newId;

        } catch (FinderException ex1) { // we didn't create primary key for this table yet

            try {

                lookupPkBean().create(table.getTableId(), new Integer(0)); // so we need to create new pk bean for this table

                return new Integer(0); // first id for this table

            } catch (CreateException ex2) {

                Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught while pk creating" ,ex2);

                throw new EJBException("Can't create primary key for the table "+table.getTableId(), ex2);

            }

        }

    }

 

    private PkLocalHome lookupPkBean() {

        try {

            Context c = new InitialContext();

            PkLocalHome rv = (PkLocalHome) c.lookup("java:comp/env/ejb/PkBean");

            return rv;

        }

        catch(NamingException ne) {

            Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);

            throw new EJBException("can't lookup PkBean", ne);

        }

    }

       

   

}

 

Внимание! Для данной работы приложения платные. С их описанием и стоимостью можно ознакомиться здесь

Описание приложений!



Скачать курсовую

Задать вопрос                                                      




Если у вас появилось непреодолимое желание пожертвовать средства на развитие сайта или отблагодарить владельца за бесценный материал :), можете перевести любую сумму на кошелек R200818721914 или Z890150328460.

© studlight 2011-2014