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

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


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

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 2

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

1.1. Клиент. 5

1.2. Рубрика. 5

1.3. Подрубрика. 5

1.4. Объявление. 5

1.4. Этапы организации хранилища информации о размещении объявлений   7

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

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

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

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

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

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

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

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

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

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

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

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

 


ВВЕДЕНИЕ

 

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

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

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

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

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

Основные функции, которые необходимо реализовать в подсистеме – это возможность добавления/ удаления/ редактирования. В качестве используемых технологий можно назвать: EJB, JSP, Servlets, SYBASE 9.0, SunApp Server 8.0, DHTML.


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

 

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

Размещение объявлений в газете частных объявлений осуществляется следующим образом:

1)                              заказчик подготавливает текст объявления, выбирает дату размещения объявления, период на который будет размещено объявление

2)                              заказчик анализирует рубрикатор газеты, выбирая наиболее подходящую рубрику и подрубрику для размещения своего объявления

3)                              затем заказчик созванивается с редакцией газеты (или отсылает объявление по электронной почте, подъезжает в редакцию и т.п.)

4)                              сотрудник редакции получает объявление, проверяет его на соответствие законодательству РБ и корректность заполнения требуемых полей, соответствие тематики объявления выбранной рубрике и подрубрике;

5)                              при необходимости сотрудник редакции газеты правит объявление, после чего оно добавляется в макет газеты

6)                              макет отдается в печать, в результате которой из типографии выходит тираж газеты

7)                              после печати макета объявление становится опубликованным

8)                              выпуск объявления в газете продолжается до истечения срока подачи объявления

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

1)    Клиент – информация о подателях объявлений

2)    Рубрика – рубрики газеты

3)    Порубрика – подрубрики газеты

4)    Объявление – информация о поданных объявлениях.

 

1.1. Клиент

 

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

- фамилия, имя и отчество клиента,

- паспорт клиента,

- телефон клиента.

1.2. Рубрика

 

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

1.3. Подрубрика

 

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

1.4. Объявление

 

Сущность содержит в себе информацию об объявлении. Сущность имеет следующие атрибуты:

- клиент, подавший объявление

- подрубрика для размещения объявления

- дата размещения объявления

- срок размещения объявления в днях

- текст объявления.

 


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

 

Осознание потребности в проекте– поводом для осознания потребности чаще всего становится приказ (стратегия развития) вышестоящей организации или ухудшение показателей деятельности предприятия (например, периодически не учитывается ряд объявлений, некоторые объявления попадают в 3-4 номера подряд, при печати пропускаются объявления, противоречащие законодательству РБ и т.п.).

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

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

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

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

Анализ объявлений, процедуры их учета – анализ атрибутов объявлений и заказчиков, которые необходимо учитывать.

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

Реализация проекта – модернизация бумажного хранилища объявлений.

Как поставленная задача решается в настоящее время?

Для таких крупных газет, как «Из рук в руки» используется веб-интерфейс приема объявлений непосредственно от заказчиков. Пользователи через Интернет сами заполняют все поля формы, после чего сведения об объявлении сохраняются в базе объявлений. Сотрудник редакции позднее просматривает все добавленные объявления на предмет их допустимости к публикации. Средства, которые использует для этого сотрудник – это тот же интерфейс, но с более широкими полномочиями (поиск, редактирование объявлений).

Примером подобного веб-интерфейса может служить www.ruki.by

 

 

 


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

 

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

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

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

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

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

- разработать информационную модель системы (структуру уровня представления данных) при помощи BpWin и ErWin-проектирования

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

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

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

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

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

·                    описать полученные результаты;

·                    оформить пояснительную записку.


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

 

1) Дэвид Флэнаган. Java. Справочник. Данная книга содержит ускоренный вводный курс в язык Java и обзор ключевых API, благодаря чему опытные программисты смогут сразу перейти к написанию 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. ОБЗОР МЕТОДОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

 

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

1) Самостоятельное решение проблемы. Для этого необходимо:

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

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

·                   компьютер

·                   время

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

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

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

Третий метод не дал результатов за исключением найденных примеров рабочих приложений J2EE (EJB/JSP).

В связи с этим данная задача решалась по первому методу самостоятельно.

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


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

 

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

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

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

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

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

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

В качестве языка программирования необходимо использовать ЯПВУ Java (платформа EE 1.4).

В качестве сервера приложений необходимо использовать Sun Application Server 8.

Из Java EE необходимо использовать технологии:EJB, JSP, Servlets;

В качестве базы данных необходимо использовать СУБД SYBASE 9.0.

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


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

 

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

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

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

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

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

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

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

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

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

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

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

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

Рассмотрим кратко подход, использованный при моделировании процессов предметной области согласно методологии IDEF0:

Рис. 1 Контекстная диаграмма модели предметной области

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

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

Входами модели являются:

- объявление – поданное клиентом объявление на стандартном бланке (рубрика, подрубрика, данные клиента и т.п.). Из бланка объявления сотрудник редакции получает всю необходимую информацию об объявлении для его размещения, в случае необходимости уточняя данную информацию у клиента.

- контроль – порядок размещения объявлений и законодательство РБ.

Дуга, соответствующая порядку размещения объявлений, является туннельной дугой со скрытым приемником. Это означает, что данная дуга подается на входы контроля ВСЕХ блоков дочерней для контекстной диаграммы. В таких ситуациях данную дугу на дочерней диаграмме НЕ ИЗОБРАЖАЮТ, делая ее туннельной на родительской диаграмме – это является признаком «хорошего тона» при проектировании, облегчающим чтении и понимание модели.

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

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

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

Остальные диаграммы BpWin детализируют и уточняют особенности процесса учета.

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

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

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

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

Прокомментируем, например, диаграмму компонентов приложения:

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

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

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

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

Более подробно процесс моделирования ErWin изложен далее.


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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рассмотрим процесс моделирования схемы данных приложения:

1.                            В ходе анализа были выделены сущности Объявление, Рубрика, Подрубрика и Клиент.

2.                            Атрибуты сущностей были подробно рассмотрены ранее.

3.                            Сущности были спроецированы в таблицы реляционной модели Advertisement, Rubric, Subrubric и Client, соответственно.

4.                            Зависимости между сущностями:

- «один-ко-многим» между рубрикой и подрубрикой, одна рубрика может содержать несколько подрубрик

«один-ко-многим» между подрубрикой и объявлениями, одной подрубрике могут соответствовать несколько объявлений (но не наоборот)

«один-ко-многим» между клиентом и объявлением, один клиент может подать несколько объявлений, но каждое объявление подается только одним человеком.

5.                            Данная модель находится в 4-ой НФ.

6.                            Триггера и ограничения (за исключением примитивных ограничений целостности и ограничений ключей/индексов) не создавались.

 

.


 

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.

 

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

 

 

 

Рис. 4. Многоуровневое 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/advertisements/

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

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

 

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


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

1.                Клиенты;

2.                Рубрики;

3.                Подрубрики;

4.                Объявления.

 

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

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

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

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

 


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

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

 

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

 

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

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

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

 


Тестовый пример: новое объявление.

Необходимо: записать новое объявление от клиента Иванова А.А. в подрубрику «куплю автомобиль» длительностью 12 дней с текстом «Куплю а/м 1996 г.в. Mazda-626», дата размещения – 26.12.2006.

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

Шаг 1:

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

Рис. 9. Страница Объявления.


Шаг 2.

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

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

 

Шаг 3.

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

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

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

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

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

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

 

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

 

 

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

 

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

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

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

2)                           возможность экспорта данных из БД в XML-формате для последующей подготовки оригинал-макета издания

3)                           добавление возможностей расширенного поиска для функционирования Online-каталога объявлений

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


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

 

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

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

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

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

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

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

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

Дополнительно в ходе выполнения данного курсового проекта были получены дополнительные навыки в работе с языком  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)


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

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



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

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




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

© studlight 2011-2014