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

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

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

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

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

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

Основными достоинствами JSP является простота разработки, характерная для шаблонного подхода, наличие большого количества сторонних библиотек, легкость их использования, мощные и разнообразные среды разработки. Благодаря всем этим факторам JSP является наиболее перспективной базовой технологией разработки при создании Web - сайтов. Однако при создании сложных Web - систем ограничения, накладываемые шаблонным подходом становятся серьезным препятствием к развитию.

Технология Microsoft .NET и среда ASP .NET

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

ASP (Active Server Pages, активные страницы сервера) -- это мощная технология от компании Microsoft, позволяющая легко разрабатывать интернет-приложения и служащая для создания динамических web-страниц.

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

Удобство ASP заключается в том, что она работает на специальном сервере PWS (Personal Web Server), который входит в состав операционной системы Windows.

Основа .NET - Common Language Runtime (общая среда исполнения языков) опирается на системные службы операционной системы и управляет выполнением кода, написанного на любом современном языке программирования. Набор базовых классов дает доступ к сервисам платформы, которые разработчики могут использовать из любого языка программирования. Common Language Runtime и базовые классы вместе составляют основу .NET платформы. NET предлагает также высокоуровневые сервисы:

с ADO .NET - новое поколение ADO, которое использует XML и SOAP для обмена данными;

с ASP .NET - новая версия ASP, позволяющая использовать любой (.NET совместимый) язык для программирования Web страниц;

с Windows Forms и Web Forms - набор классов для построения пользовательского интерфейса локальных и Web-ориентированны приложений.

Развертывание систем на платформе .NET осуществляется особым образом. Исходные коды компилируются не в команды процессора х86 или другие машинные коды. Вместо этого компилятор создает код на Промежуточном Языке Microsoft (Microsoft intermediate language - MSIL). Файл, содержащий MSIL, может выполняться на платформе любого процессора, если операционная система, предоставляет .NET CLR.

Важной составляющей частью платформы .NET является новая среда ASP.NET (ранее использовалось название ASP+). Возможности ASP.NET настолько велики, что ее сложно назвать следующей версией ASP. В ее основе лежит другая платформа, и основными языками программирования для нее выбраны С# и Visual Basic, вместо бывших скриптинг языков. В то же время, новая технология позволяет писать ASP страницы на любом подходящем языке.

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

Компилирование кода при первом обращении.

Широкий выбор библиотек компонентов, поставляемых с .NET.

Поддержка мощного средства разработки - Visual Studio. NET.

Языковая независимость в пределах платформ для которых реализована общая языковая среда исполнения CLR.

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

Новые возможности по обработке ошибок.

Объектно-ориентированные языки разработки (новый язык С#).

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

Очевидно, что платформа .NET и ASP.NET предоставили новые возможности по разработке Web - систем. Они отвечают всем современным требованиям и позволяют значительно ускорить и упростить разработку сложных приложений.

Однако, на данный момент, .NET в полном объеме существует только для платформы Windows. Разработки по переносу на другие системы ведутся, но еще не завершены и их будущие результаты трудно оценить. Что касается разработки сайтов, то ASP.NET сильно привязана к серверу IIS, и, хотя архитектура .NET позволяет перенести приложения ASP.NET на другую платформу, на данный момент реальная возможность отсутствует. Таким образом важнейшее - многоплатформенность пока еще не может быть удовлетворено платформой .NET, а значит ее использование для такой системы пока не оправдано. Однако необходимо отметить, что такая система должна иметь возможности интеграции с платформой .NET (особенно Web -сервисы), поскольку ее будущее широкое использование не вызывает сомнений.

Анализ существующих базовых технологий

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

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

Накопление исполняемых процессов. Подход аналогичен предыдущему, но при этом если запрос выполняется повторно, нового запуска программы не происходит, а обработка передается существующему процессу. Данный подход применяется в технологиях Java Servlets, Fast CGI.

Шаблоны страниц. При запросе шаблоны заполняются динамическим содержимым, обычно, но необязательно, создаваемым интерпретируемым языком сценариев. Подход применяется в технологиях ASP, JSP, PHP.

Расширения Web - сервера. Web - сервер обращается к особым расширениям для обработки динамического содержания. Расширения специфичны для Web - сервера. Этот подход используется в IS API, NSAPI, mod_perl.

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

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

с РНР - шаблоны. При выполнении на Web - сервере Apache интерпретатор может являться расширением сервера (в экспериментальном режиме IIS).

с Java Servlets - накапливание процессов для каждого сервлета.

с JSP - шаблоны. При обработке выполняется их предкомпиляция в Java Servlets, позволяя использовать схему накапливания процессов.

с ASP.NET - шаблоны. Используется схема предварительной компиляции, а не интерпретации кода. В результате используется расширение Web - сервера IIS. Могут использоваться и низкоуровневые обработчики.

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

Таблица 1.1. Характеристики платформ

РНР

Java Servlets

JSP

ASP .NET

Многоплатформенность

+/-

+

+

-/+

Производительность

-/+

+/-

+/-

+

Масштабируемость

-

+

+

+

Язык реализации

+/-

+

+

+

Возможности расширения и интеграции

-

+

+/-

+

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

+/-

+/-

+

+

Наличие необходимых программных библиотек

+

+

+

+

Разделение дизайна и логики

+/-

-/+

+/-

+

Обоснование проектных решений по техническому обеспечению (ТО)

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

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

Комплекс технических средств составляют:

* компьютеры любых моделей;

* устройства сбора, накопления, обработки, передачи и вывода информации;

* устройства передачи данных и линий связи;

* оргтехника и устройства автоматического съема информации;

* эксплуатационные материалы и др.

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

• процессор Intel Pentuim;

• оперативная память 1024 МБ;

• тактовая частота 1700 Мгц;

• жесткий диск 120 ГБ.

Состав локальной сети Думы

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

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

Схема локально - вычислительной сети городской Думы представлена ниже на рисунке 1.18:

Рис. 1.18. Локально - вычислительная сеть городской Думы

Топология сети: звездно - шинная.

Пропускная способность сети: для клиентов - до 100 Мбит/сек, магистраль - до 1 Гбит/сек.

В состав локальной сети входит следующее оборудование:

Активное оборудование - коммутаторы (свитчи);

Пассивное оборудование - кабели (оптоволокно), кабельные каналы, коммутационные панели;

Компьютерное и периферийное оборудование - серверы, рабочие станции, принтеры, сканеры.

Серверы:

1. Веб-сервер;

2. Файловый сервер;

3. Сервер баз данных ГАРАНТ, КОНСУЛЬТАНТ;

4. Сервер 1С;

5. Внутренний интранет-сервер;

6. Др. виртуальные серверы.

Средства защиты информации:

1. Антивирусные программы;

2. Средства авторизации

3. Системы бесперебойного питания

4. и др.

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

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

По уровню ответственности и правам доступа к сети пользователи сети разделяются на:

системных администраторов;

пользователей.

Пользователь должен принимать все необходимые меры по защите информации.

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

Информационные системы городской Думы г. Н.Новгорода:

1.Единая система электронного делопроизводства АИС "Обращения граждан".

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

3.Информационно-поисковая система по правовым актам "Кодекс" (доступна на сайте городской Думы).

4.Система ГАРАНТ - информационно - правовое законодательство.

5.Официальный сайт городской Думы г. Нижнего Новгорода в сети Интернет.

6.и др.

Обоснование проектных решений по информационному обеспечению (ИО)

Информационное обеспечение - совокупность проектных решений по объемам, структуре и хранению информации.

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

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

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

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

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

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

2. отраслевые (ведомственные) классификаторы, используемые в пределах определенной отрасли (ведомства);

3. локальные, используемые в пределах организации или группы организации.

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

Обоснование проектных решений по программному обеспечению (ПО)

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

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

Различают три вида программного обеспечения:

· Системное

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

a. Операционные системы;

b. Среды программирования (компиляторы, трансляторы, компоновщики, загрузчики, отладчики, текстовый редактор, библиотеки подпрограмм);

c. Утилиты;

d. Системы управления файлами;

e. Системы управления базами данных.

· Прикладное

Прикладное программное обеспечение - программное обеспечение, состоящее из:

отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей;

автоматизированных систем, созданных на основе этих (пакетов) прикладных программ.

· Инструментальное

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

Требования к программному обеспечению

В состав системного программного обеспечения должны входить:

серверная операционная система.

для управления базами данных должна быть использована реляционная система управления базами данных (СУБД);

программные средства администрирования в составе отдельных системных средств (средства администрирования сети и т.п.).

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

СУБД должна в максимальной степени соответствовать возможностям аппаратной части информационной системы:

технология "клиент-сервер";

база данных;

удаленный доступ.

Требования к общему программному обеспечению сервера Интернет-приемной депутатов:

В качестве СУБД должна использоваться система управления реляционной базой данных;

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

Должна быть обеспечена информационная совместимость с обозревателем интернета, корректно отображающим страницы, соответствующие стандарту не ниже W3C HTML 4.0;

Информационный обмен между компонентами системы должен соответствовать клиент-серверной технологии.

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

Требования к общему программному обеспечению клиента (пользователя) Интернет-приемной депутатов:

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

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

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

1. Net Beans - свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C++.

2. XAMPP - кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.

3. MySQL - система управления базами данных.

В качестве дополнительного программного обеспечения использовались:

1. Dia -- свободный редактор диаграмм, часть GNOME Office. Она может быть использована для рисования различных видов диаграмм: статических структур UML, баз данных, диаграмм сущность-связь, радиоэлектронных элементов, потоковых диаграмм, сетевых диаграмм и других.

2. StarUML - это проект с открытым кодом для разработки быстрых, гибких, расширяемых, функциональных и, главное, бесплатно доступных для любого пользователя платформ UML/MDA.

3. ERWin - программный продукт в области реализации средств CASE-технологий. Позволяет проводить описание, анализ и моделирование модели данных -- построитель мета-моделей данных. Включает три стандартные методологии: IDEF0 (функциональное моделирование), DFD (моделирование потоков данных) и IDEF3 (моделирование потоков работ).

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

Наряду с ПО был использован для тестирования системы в сети Интернет и бесплатный доменный хостинг.

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

Технологическое обеспечение ИС соответствует разделению ИС на подсистемы по технологическим этапам обработки различных видов информации:

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

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

с баз данных и знаний (этапы формирования баз данных и знаний, ввода и обработки запросов на поиск решения, выдачи варианта решения и объяснения к нему);

с научно-технической информации, ГОСТов и технических условий, правовых документов и дел (этапы формирования поисковых образов документов, формирования информационного фонда, ведения тезауруса справочника ключевых слов и их кодов, кодирования запроса на поиск, выполнения поиска и выдачи документа или адреса хранения документа).

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

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

Результатной информацией будет набор обращений, хранимый в БД, и анализ этих данных. Т. е. по результатам работы мы получим некие отчеты в виде запросов к БД.

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

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

Для контроля вводимой информации на странице отправки обращения с помощью обработчиков был написан сценарий, который:

Проверяет на обязательное заполнение поля;

Выполняет проверку на корректность введенных данных.

Глава 2. Проектная часть

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

интернет информационный база данные

2.1 Информационное обеспечение задачи

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

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

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

Информационная модель ИС и ее описание

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

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

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

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

Выходными данными является обращение, отправленное на электронную почту депутата.

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

Характеристика справочной, входной и результатной информации

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

Рассмотрим более подробную характеристику информации, описанную в предыдущем пункте 2.1.1.

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

Данные об избирателе, вводимые им при заполнении формы, которые отправляются в БД. Эти данные хранятся в отдельной таблице БД и обладают следующими атрибутами:

- Идентификатор пользователя - избирателя;

- Фамилия, имя, отчество;

- Почтовый адрес;

- E-mail.

Обращение избирателя, которое также хранится в отдельной таблице БД, имеющей следующие атрибуты:

- Идентификатор обращения;

- Дата поступления;

- Текст обращения;

- Тип обращения

- Идентификатор темы (FK);

- Идентификатор пользователя - избирателя (FK);

- Идентификатор депутата (FK).

Прилагаемый файл (если таковой имеется). Его атрибуты:

- Имя файла;

- Содержимое файла;

- Тип файла;

- Идентификатор обращения (FK).

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

Результатной информацией является:

обращение избирателя, отправленное на электронную почту депутата;

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

Характеристика базы данных

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

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

В зависимости от аспекта рассмотрения (уровня абстракции) различают модели данных нескольких уровней. Число реально выделенных и самостоятельно поддерживаемых уровней моделей зависит от особенностей СУБД.

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

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

Нами была описана предметная область (в нотации Чена), где использовались следующие обозначения:

в прямоугольниках расположены основные объекты (сущности)

атрибуты объектов представлены в эллипсах

связи между объектами изображены ромбами

мощности связей показаны стрелками (один - ко многим)

Рис. 2.1. Концептуальная модель БД (нотация Чена)

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

Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т. д. Разделение модели данных на логические и физические позволяет решить несколько важных задач.

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

База данных состоит из следующих таблиц:

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

Таблица "Izbiratel" предназначена для хранения информации, вводимой избирателем на форме, в том числе ФИО избирателя, его почтовый адрес, e-mail.

Таблица "Deputat" хранит информацию о депутатах Городской Думы г. Нижнего Новгорода: ФИО депутата, его e-mail, округ, телефон приемной, а также партийная принадлежность.

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

Таблица "Prilagaemyi_fail" предназначена для хранения файлов, приложенных к обращению.

Таблица "Izbir_okrug" содержит в себе данные об избирательных округах, на которые поделен г. Н.Новгород.

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

2.2 Программное обеспечение задачи

Общие положения (дерево функций и сценарий диалога)

При проектировании информационной системы, к ней были предъявлены следующие функциональные требования:

1. Для отправки обращения депутату:

· Избиратель должен войти на сайт городской Думы г. Н.Новгорода, в раздел "Интернет - приемная депутатов".

· Открыв форму с правилами работы "Интернет - приемной депутатов", избиратель должен ознакомиться и принять их.

· Если избиратель, нажав кнопку "Да", соглашается с указанными правилами, то он переходит на форму отправки обращения.

· На данной форме избиратель должен ввести свои контактные данные: ФИО, Адрес, E-mail, затем определить депутата, которому будет отправлено обращение - депутат по его избирательному округу (автоматически определяется системой по адресу проживания) или депутат из партийных фракций. При несоблюдении правил заполнения обязательных полей обращение отправлено не будет.

· При необходимости избиратель может прикрепить файл к своему обращению.

2. Для работы с базой данных:

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

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

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

Согласно предъявленным требованиям к системе, мы создали диаграммы вариантов использования (use case).

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

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

Рис. 2.2. Диаграмма вариантов использования для избирателя

На рис. 2.3 представлена диаграмма вариантов использования, отражающая совокупность действий администратора при работе с системой ИПД.

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

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

Диаграмма на рис 2.4 отражает совокупность действий аналитика в реализуемой системе ИПД.

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

Аналитик производит определенные запросы к БД, в результате которых получает некоторую выборку данных. Затем полученные данные изучаются и используются для составления статистики.

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

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

Выделяют 2 типа диалоговых систем:

- ориентированные на опытного пользователя;

- ориентированные на неподготовленного пользователя.

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

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

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

Для описания функций избирателя в реализуемой нами системе ИПД был построен диалог пользователя с системой (рис.2.5):

Рис. 2.5. Диалог пользователя с системой

Диаграмма деятельности пользователя (рис.1 Приложение 5) представляет собой наглядное описание взаимодействия избирателя с депутатом посредством ИПД.

Диалог администратора с системой (рис.2.6) более детально описывает работу администратора в ИПД.

Рис. 2.6. Диалог администратора с системой

На рис.2.7 представлен диалог аналитика с системой ИПД.

Рис. 2.7. Диалог аналитика с системой

Следующая диаграмма деятельности (см. рис.2 Приложения 5) отражает взаимосвязь основных действующих лиц Интернет-приемной депутатов.

Структура проекта

При разработке данного дипломного проекта была выбрана процедурная методология программирования, язык Php, с использованием стандартных классов. Для оптимизации работы браузера была использована технология JavaScript. Наш проект состоит из 42 файлов:

Таблица 2.1. Список файлов проекта

Название файла

Описание

Sql.php

В этом файле прописано соединение с базой данных

Index.php

Стартовая страница Интернет-приемной депутатов

Index2.php

На данной странице представлена форма для отправки обращения

Index3.php

Страница со справочной информацией об общественных приемных депутатов

Jquery.js

Отвечает за открытие скрытых полей

Script.js

Отвечает за открытие скрытых полей

Class.phpmailer.php

Отвечает за отправку письма

Class.smtp.php

Отвечает за отправку письма

Style.css

Стили и форматирование

Mpanel/index.php

Форма авторизации для администратора и аналитика

Mpanel/addfield.php

Добавить поле

Mpanel/addkey.php

Добавить ключевое поле

Mpanel/addrecord.php

Добавить запись

Mpanel/config.php

Конфигурационный файл

Mpanel/createdb.php

Создать БД

Mpanel/createtable.php

Создать таблицу

Mpanel/db_routines.php

Проверка соединения с сервером БД

Mpanel/deletedatabase.php

Удалить БД

Mpanel/deletefield.php

Удалить поле

Mpanel/deletekey.php

Удалить ключевое поле

Mpanel/deleterecord.php

Удалить запись

Mpanel/deletetable.php

Удалить таблицу

Mpanel/dumpdata.php

Экспорт БД

Mpanel/editfield.php

Добавить поле

Mpanel/error.php

Ошибка неправ лог и пароль

Mpanel/help.php

Помошь

Mpanel/import.php

Импорт БД

Mpanel/importdata.php

Импорт БД

Mpanel/lang.php

Выбор языка

Mpanel/login.php

Отвечает за ввод логина

Mpanel/logout.php

Выход из системы

Mpanel/main.php

Главная страница

Mpanel/managekeys.php

Отражает ключевые поля таблицы

Mpanel/modifyrecord.php

Изменить запись

Mpanel/nologin.php

Не введен логин

Mpanel/optimizetable.php

Оптимизировать таблицу

Mpanel/querytable.php

Запросы к таблицам (для админа)

Mpanel/renamefield.php

Переименовать поле

Mpanel/renametable.php

Переименовать таблицу

Mpanel/style.css

Внешний вид форм

Mpanel/submitsql.php

Показывает все таблицы в БД

Mpanel/tabledetails.php

Информация о полях таблицы

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

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

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

Программный модуль Аналитик отвечает за организацию запросов к БД, составление статистики на основе полученных данных запросов.

2.3 Технологическое обеспечение задачи

Техническое обеспечение классифицируется согласно его роли в технологическом процессе обработки информации:

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

периферийные технические средства, обеспечивающие ввод и вывод информации;

сетевые коммуникации (компьютерные сети) для передачи данных.

Технологический процесс работы избирателя с системой начинается со входа избирателя на сайт городской Думы г. Нижнего Новгорода в раздел "Интернет-приемная депутатов". Затем, при согласии с правилами работы в Интернет-приемной, открывается форма отправки обращения, где нужно заполнить обязательные поля (при необходимости прикрепить файл) и отправить обращение.

Для того, чтобы избиратель мог воспользоваться данным сервисом, ему потребуется:

Персональный компьютер;

Доступ к сети Интернет.

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

Для работы с данной системой администратору потребуется:

· Сервер городской Думы;

· Персональный компьютер;

· Доступ к сети Интернет.

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

Для работы с данной системой аналитику потребуется:

· Сервер городской Думы;

· Персональный компьютер;

· Доступ к сети Интернет.

2.4 Описание контрольного примера реализации проекта

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

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

Далее перейдем к описанию работы Интернет-приемной депутатов.

Для избирателя:

Деятельность избирателя в интернет-приемной начинается со стартовой страницы:

Рис. 2.8. Стартовая страница ИПД

На данной странице представлены правила работы ИПД. Для дальнейшей отправки обращения избиратель должен нажать кнопку "Да".

Рис. 2.9. Форма отправки обращения

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

Рис. 2.10. Страница "Депутатские приемные"

На форме отправки обращения избиратель заносит свои контактные данные в поля, обязательные для заполнения, выбирает тему обращения, депутата, кому адресовано данное обращение, и, при необходимости, может прикрепить файл к своему письму. И затем нажимает кнопку "Отправить".

Рис. 2.11. Заполненная форма

Данное сообщение отправляется депутату на электронную почту:

Рис. 2.12. Полученное обращение в ящике депутата

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

Для администратора:

Администратор начинает свою работу с формы авторизации:

Рис. 2.13. Страница "Вход в административный раздел"

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

Рис.2.14. Главная страница административного отдела.

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

Работа с текущей БД заключается в:

· Добавлении новых полей в таблицы;

· Добавлении новых записей в поля;

· Изменении имеющихся данных;

· Удалении устаревшей информации.

Рис. 2.15. Добавление новой записи в БД

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

Рис. 2.16. Просмотр добавленной записи в таблицу

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

При нажатии на кнопку "Удалить запись" появляется окно подтверждения:

Рис.2.17. Удаление записи из БД

Для аналитика:

Вход аналитик в систему осуществляет подобно администратору.

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

Рис. 2.18. Просмотр записей таблицы

Рис. 2.19. Запрос по фракциям

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

Рис. 2.20. Запрос по депутатам

Рис. 2.20 отражает выполнение запроса по депутатам, т.е. сколько было обращений к конкретному депутату.

Рис. 2.21. Запрос по темам

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

Рис. 2.22. Запрос по дате

Запрос по дате (рис.2.22) отражает список депутатов и их полученные обращения на определенную дату.

Все представленные в аналитическом разделе запросы реализованы в виде запросов к БД на выборку по определенным полям, с последующим выводом их результатов на форму.

Глава 3. Обоснование социально-экономической эффективности проекта

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

3.1 Общий подход к оценке эффективности программного проекта

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

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

Э = ЭК + Эп,

где Э - экономическая эффективность проекта; (3.1.)

Эк - косвенный эффект,

Эп - прямой эффект.

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

Прямой эффект легче рассчитать, чем косвенный, так как он отражает сокращение трудовых (формулы 3.2.-3.4) и стоимостных (формулы 3.5-3.7) затрат на обработку данных, которые позволяют расчетным путем определить его величину.

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

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

К трудовым показателям относятся:

1. Абсолютное снижение трудовых затрат.

?Т = Т01 где (3.2)

?Т - абсолютное снижение трудовых затрат

Т0 - трудовые затраты на обработку информации по базовому варианту

Т1 - трудовые затраты на обработку информации по проектируемому варианту

2. Коэффициент относительного снижения трудовых затрат.

Кт = ?Т /Т0,где (3.3)

Кт - коэффициент относительного снижения трудовых затрат

?Т - абсолютное снижение трудовых затрат

То - трудовые затраты на обработку информации по базовому варианту

3. Индекс снижения трудовых затрат или повышения производительности труда.

YТ = Т01 где (3.4)

YТ - индекс снижения трудовых затрат или повышения производительности труда

Т0 - трудовые затраты на обработку информации по базовому варианту

Т1- трудовые затраты на обработку информации по проектируемому варианту.

К стоимостным показателям относятся:

1. Абсолютное снижение стоимости затрат

?С = С01 где (3.5)

?С - абсолютное снижение стоимостных затрат

С0 - стоимостные затраты на обработку информации по базовому варианту

С1- стоимостные затраты на обработку информации по проектируемому варианту

2. Коэффициент относительного снижения стоимостных затрат

Кс = ?С/С0,где (3.6)

Кс - коэффициент относительного снижения стоимостных затрат

?С - абсолютное снижение стоимостных затрат

С0 - стоимостные затраты на обработку информации по базовому варианту

3. Индекс снижения стоимости затрат

Ут = Т01где (3.7)

YT - индекс снижения стоимостных затрат

Т0 - стоимостные затраты на обработку информации по базовому варианту

T1 - стоимостные затраты на обработку информации по проектируемому варианту.

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

Ер=1/Ток, (3.8)

Где Ер - расчетный коэффициент эффективности

Ток - срок окупаемости затрат на внедрение проекта машинной обработки информации.

Желательно, чтобы данный показатель был больше нормативного Ен

Ток = - (К0 - К1)/?С (3.9)

Где Ток - срок окупаемости затрат на внедрение проекта машинной обработки информации

К1- капитальные вложения в проектируемый вариант

К0 - капитальные вложения в базовый вариант

?С - абсолютное снижение стоимостных затрат

В нашем проекте для расчета эффективности используются 2 метода:

· Расчет стоимости проекта с точки зрения разработчика;

· Оценка временных затрат для пользователей проекта.

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

Для оценки стоимости разработки проекта с точки зрения разработчика была выбрана модель COCOMO.

COCOMO, или Конструктивная Модель Стоимостного Анализа, была впервые предложена Бэрри Боэмом в 1981 г. для того, чтобы параметрически оценивать трудозатраты и сроки разработки программных продуктов. Она подробно описана в его книге "Инженерное проектирование программного обеспечения". Причем Б. Боэмом были предложены три разновидности модели COCOMO: базовая, промежуточная и детальная.

Базовая модель COCOMO наиболее простая, но при этом наименее точная, поскольку при оценке трудоемкости программных проектов и сроков их выполнения в ней учитывается лишь информация о типе разрабатываемого программного продукта и о его размере (в строках исходного кода - Source Lines Of Code - SLOC).

Метод SLOC (подсчет количества строк кода)

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

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

В любом случае при оценке количества строк исходного кода для модели COCOMO следует руководствоваться следующими правилами:

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

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

· одна команда - это одна строка кода;

· декларации считаются командами;

· комментарии не считаются командами.

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

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

(3.10)

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

(3.11)

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

Типы программной разработки, используемые в модели COCOMO

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

Для распространенного типа (Organic Mode) характерны отдельные программы с небольшим количеством ограничений и интерфейсов, разрабатываемые с использованием стандартных средств разработки ПО, без применения принципиально новых алгоритмов. Обычно это небольшой программный проект (как правило, не более 50000 SLOC), над которым работает небольшая группа разработчиков с достаточным опытом работы. В целом, к проекту предъявляются довольно мягкие требования

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

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

Стоимостные факторы

В модели СОСОМО при вычислении трудозатрат используется коэффициент нормирования трудозатрат (Effort Adjustment Factor - EAF), получаемый путем оценивания 15 стоимостных факторов (атрибутов), которые сгруппированы в четыре основные категории:


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

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