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

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

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

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

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

35.

Место работы

Название организации, в которой работает член ПХ

36.

Инвалидность

Значение из справочника «Группы инвалидности»

37.

Вид пенсии

Значение из справочника «Виды пенсии»

38.

Комментарии

Комментарии пользователя

39.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

Добавить - используется для добавления нового члена ПХ. В результате открывается диалоговое окно «Добавление записи», в котором пользователь заполняет поля соответствующими значениями.

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

[Дата начала] ? системная дата на момент создания записи;

Поля, отмеченные знаком , обязательны для заполнения.

Рисунок 5.24 ? Диалоговое окно «Добавление записи»

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

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

Записан первым - используется для установления в текущей записи признака «Записан первым». В результате, отметка в записи, соответствующей предыдущему главе хозяйства, снимается. Поле «Отношение к главе хозяйства» становится пустым для всех членов ПХ, кроме нового главы хозяйства. В строке записи с вновь установленным признаком «Записан первым» в поле «Отношение к главе хозяйства» устанавливается значение «записан первым»;

Печать - используется для формирования справок и выписок по данным ЛС. Пользователь выбирает из списка название требуемой печатной формы:

· справка в отдел социальной защиты;

· выписка из лицевого счета;

· справка в нотариат о проживании;

· справка в нотариат о наследстве.

Территориальные ресурсы

Рисунок 5.25 ? «Территориальные ресурсы»

Таблица 5.6

№ п/п

Наименование поля

Описание

1.

Номер

Порядковый номер участка в ПХ

2.

Кадастровый номер

Кадастровый номер земельного участка

3.

Адрес участка

Адрес земельного участка - код КЛАДР

4.

Площадь

Площадь земельного участка в кв. м.

5.

Категория земли

Значение из справочника «Категория земель» [Название]

6.

Вид участка

Название вида участка. Значение из справочника «Виды участков [Название]

7.

«Охраняемая зона»

Признак «Охраняемая зона». Установленная отметка означает, что данная территория является охраняемой или заповедной зоной.

8.

Сведения о правах собственности

Значение из справочника «Права собственности» [Название]

9.

Владелец

Значение из справочника «Члены подсобного хозяйства», где значение поля [Сведения о правах собственности] = «В собственности»

10.

Тип документа, подтверждающего факт собственности

Значение из справочника «Типы документов, подтверждающих факт собственности» [Название]

11.

Серия документа

Серия документа, подтверждающего факт собственности

12.

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

Номер документа, подтверждающего факт собственности

13.

Дата выдачи документа

Дата выдачи документа, подтверждающего факт собственности

14.

Дата начала действия документа

Дата начала действия документа

15.

Дата окончания действия документа

Дата окончания действия документа

16.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

Добавить - используется для добавления нового участка территории ПХ. В результате открывается диалоговое окно «Добавление записи», содержащее поля, аналогичные полям на вкладке «Территориальные ресурсы» формы «Лицевой счет».

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

ИС по умолчанию предлагаются следующие значения полей:

[Номер участка] - следующий номер участка для текущего лицевого счета;

Для участка под номером 1:

[Кадастровый номер], [Адрес участка], [Владелец] - в соответствии с данными из реквизитов лицевого счета.

Поля, отмеченные знаком , обязательны для заполнения.

Рисунок 5.26 ? Диалоговое окно «Добавление записи»

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

Печать - используется для формирования справок и выписок по данным ЛС. Пользователь выбирает из списка название требуемой печатной формы:

· справка о наличии права собственности;

· выписка о расположении земельного участка.

Посевные площади

Рисунок 5.27 ? Вкладка «Посевные площади»

№ п/п

Наименование поля

Описание

1.

Группа

Название группы записей:

- посевные участки;

- посевы и посадки;

- многолетние насаждения

2.

Вид

Название вида в текущей группе: участка, посева или насаждения.

3.

Площадь

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

4.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

Добавить - используется для добавления записи о площади земельного участка, используемой под посевы и посадки, или о площади посевов, посадок и насаждений. В результате открывается диалоговое окно «Добавление записи», в котором пользователь заполняет поля соответствующими значениями: [Вид] - с помощью раскрывающегося списка справочных данных и [Площадь] - с помощью стрелок или клавиатуры. Поля, отмеченные знаком , обязательны для заполнения.

Рисунок 5.28 ? Диалоговое окно «Добавление записи»

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

Животные, птицы и пчелы.

Рисунок 5.29 ? Вкладка «Животные, птицы и пчелы»

Таблица 5.7

№ п/п

Наименование поля

Описание

1.

Вид животного или птицы

Название вида животного

2.

Группа животного или птицы

Название группы животного. Значение из справочника «Группы животных»

3.

Порода животного или птицы

Название породы животного. Значение из справочника «Породы животных»

4.

Количество (голов)

Количество голов животных данной группы, указанной породы (пчелосемей)

5.

Дополнительные сведения

Данные, не отраженные в таблице, которые следует зафиксировать

6.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

Добавить - используется для добавления записи о животном, птице или пчелах в ПХ. В результате открывается диалоговое окно, в котором пользователь заполняет поля соответствующими значениями: [Группа животных] - с помощью раскрывающегося списка справочных данных и [Количество] - с помощью стрелок или клавиатуры. Поля, отмеченные знаком , обязательны для заполнения.

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

Оборудование и транспорт.

Рисунок 5.30 ? Вкладка «Оборудование и транспорт

Таблица 5.8

№ п/п

Наименование поля

Описание

1.

Вид оборудования

Название вида оборудования. Значение из справочника «Виды оборудования»

2.

Количество (ед.)

Количество единиц техники данного вида в ПХ

3.

Дата приобретения

Дата приобретения данной единицы техники

4.

Год выпуска

Год выпуска данной единицы техники

5.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

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

Рисунок 5.31 ? Диалоговое окно «Добавление записи»

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

Рисунок 5.32 ? Вкладка «Здания»

Таблица 5.9

№ п/п

Наименование поля

Описание

1.

№ здания

Номер здания в пределах лицевого счета

2.

Адрес строения

Адрес здания или строения.

3.

Тип здания

Название типа здания. Значение из справочника «Типы зданий»

4.

Площадь здания (кв.м)

Площадь здания (его часть, принадлежащая ПХ)

5.

Количество комнат

Количество комнат, принадлежащих ПХ

6.

Площадь жилых помещений

Площадь жилых помещений, принадлежащих ПХ

7.

Площадь нежилых помещений

Площадь нежилых помещений, принадлежащих ПХ

8.

Ветхое

Установленная отметка означает , что помещение признано ветхим

9.

Нежилое

Установленная отметка означает , что помещение признано нежилым

10.

Сведения о правах собственности

Значение из справочника «Права собственности» [Название]

11.

Владелец

Значение из справочника «Члены подсобного хозяйства», где значение поля [Сведения о правах собственности] = «В собственности»

12.

Доля

Часть здания, принадлежащая данному владельцу

13.

Тип документа, подтверждающего факт собственности

Значение из справочника «Типы документов, подтверждающих факт собственности» [Название]

14.

Серия документа

Серия документа, подтверждающего факт собственности

15.

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

Номер документа, подтверждающего факт собственности

16.

Дата начала действия документа

Дата начала действия документа

17.

Дата окончания действия документа

Дата окончания действия документа

18.

Газовая установка

Установленная отметка означает наличие газовой установки

19.

Водопровод

Установленная отметка означает наличие водопровода

20.

Ванна/душ

Установленная отметка означает наличие ванны/душа

21.

Технический паспорт

Номер технического паспорта

22.

Год постройки

Год постройки здания

23.

Материал стен

Материал стен

24.

Материал кровли

Материал кровли

25.

Дата актуальности

Дата изменения значения данной записи на текущее.

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

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

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

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

· справка в БТИ;

· справка в нотариат о регистрации;

· справка о расположении дома.

Рисунок 5.33 ? Диалоговое окно «Добавление записи»

Администрирование

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

Пункт меню «Роли» позволяет открыть форму «Роли пользователей» для просмотра возможных ролей пользователей ИС.

Рисунок 5.34 ? Форма «Роли»

Пункт меню «Пользователи» позволяет открыть форму «Учетные записи пользователей» для добавления/изменения данных пользователей и определения их роли в ИС.

Рисунок 5.35 ? Форма «Пользователи»

Таблица 5.10

Наименование поля

Значение

Логин

Имя пользователя в ИС.

Фамилия

Фамилия пользователя

Имя

Имя пользователя

Отчество

Отчество пользователя

Роль

Роль пользователя в ИС

Орган местного самоуправления

Организация, в которой работает пользователь

Электронная почта

Адрес электронной почты

Телефон

Телефон пользователя

Добавить - используется для добавления нового пользователя в ИС и назначения ему определенной роли.

Рисунок 5.36 ? Диалоговое окно «Добавить запись»

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

Удалить - используется для удаления пользователя из ИС. В результате ИС запрашивает подтверждение удаления.

Настройки

C помощью пункта меню «Настройки» осуществляется общая настройка рабочего места ИС под конкретного пользователя. Пункт меню доступен пользователю ИС с ролью «Администратор».

Рисунок 5.37 ? Форма «Основные настройки»

Таблица 5.11

№ п/п

Наименование поля

Значение

1.

Код

Код настройки в таблице базы данных

2.

Значение

Текущее значение настройки

3.

Описание

Описание настройки

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

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

Рисунок 5.38 ? Диалоговое окно «Настройка»

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

Рисунок 5.39 ? Панель задач ИС

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

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

· расположить окна рядом - используется для настройки расположения окон ИС для удобной работы пользователя. В результате все окна ИС, открытые на текущий момент будут расположены на экране рядом друг с другом;

· расположить окна каскадом - используется для настройки расположения окон ИС для удобной работы пользователя. В результате все окна ИС, открытые на текущий момент будут расположены на экране одно под другим;

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

· удалить неиспользуемые адреса КЛАДРа используется для удаления из базы данных ИС случайно сформированные пользователем и не используемые ИС адреса справочника КЛАДР. В результате на экран выводится информационное окно о количестве удаленных записей.

Журнал активности пользователей

Журнал предназначен для просмотра информации о работе пользователей с ИС. Доступ к нему осуществляется с помощью пункта меню «Журналы».

Пункт меню доступен пользователю с ролью «Администратор».

Рисунок 5.40 ? Журнал активности пользователей

Таблица 5.12

№ п/п

Наименование поля

Значение

1.

Логин

Имя пользователя в ИС

2.

Пользователь

ФИО сотрудника муниципального образования, производившего данное действие

3.

Действие

Действие пользователя в ИС

4.

Комментарий

Краткое описание действия пользователя

5.

Дата

Дата и время произведенного действия в ИС

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

Очистить фильтр - используется для очистки полей фильтра от введенных ранее значений.

Уведомления о событиях

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

Рисунок 5.41 ? Форма «События»

Количество дней до и после наступления события, когда ИС отображает уведомления, настраивается в форме «Основные настройки».

Справочники и реестры

Работа с этой категорией справочников ИС осуществляется с помощью следующих функций:

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

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

· <Сохранить> - выполняется создание новой записи справочника. При создании записи справочника выполняются следующие проверки введенных данных. Если нарушена уникальность введенных данных (запись с введенными значениями существует в справочнике), то пользователю выдается сообщение «Ошибка добавления. Нарушение уникальности. Дублирование записей». По кнопке <OK> информационное сообщение закрывается, и запись справочника не создается.

· <Отмена> - диалоговое окно закрывается, и никакие действия не производятся.

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

Удалить - используется для удаления текущей записи справочника.

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

Очистить фильтр - используется для очистки полей фильтра от введенных ранее значений.

К примеру, на рисунке 62 представлена форма реестра жителей.

Рисунок 5.42 ? Форма «Реестр жителей».

5.3.4 Сообщения оператору

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

При вводе пользователя и пароля могут возникать ошибки следующего вида.

Рисунок 5.43 ? Сообщение: все поля должны быть заполнены.

Рисунок 5.44 ? Сообщение: неверное имя пользователя или пароль.

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

Рисунок 5.45 ? Сообщение: при принятии изменений все привязанные лицевые счета будут закрыты.

При исключении населенного пункта из похозяйственной книги:

Рисунок 5.46 ? Сообщение: при исключении населенного пункта все связанные с ним ЛС будут закрыты.

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

Рисунок 5.47 ? Сообщение: дата включения не может быть раньше даты начала действия ПК.

Рисунок 5.48 ? Сообщение: дата исключения не может быть раньше даты начала действия ПК или позже даты окончания.

.

Рисунок 5.49 ? Сообщение: дата исключения позже даты включения.

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

Рисунок 5.50 ? Сообщение: дата закрытия не может быть раньше даты открытия

Рис 5.51? Сообщение: дата закрытия не может быть раньше даты открытия лицевого счета.

Рисунок 5.52 ? Сообщение: обнаружена книга с таким же номероми пересекающимся периодом

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

Рисунок 5.52 ? Сообщение: изменения запрещены

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

Рисунок 5.53 ? Сообщение: лицевой счет существует в данной ПК

Рисунок 5.54 ? Сообщение: дата откытия/закрытия не входит в период действия ПК

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

На вкладке «Члены ПХ» могут возникать следующие исключительные ситуации. См Рисунок 5.55 - 5.56.

Рисунок 5.55 ? Сообщение: обнаружены пробелы

Рисунок 5.56 ? Сообщение: адрес регистрации содержит ошибки

На вкладке «Территориальные ресурсы» могут возникать следующие исключительные ситуации. См. Рисунок 5.57.

Рисунок 5.57 ? Сообщение: кадастровый номер не соответствует адресу

На вкладке «Посевные площади», «Здания»

Рисунок 5.58 ? Сообщение: площадь не может быть меньше единицы

На вкладке «Здания».

Рисунок 5.58 ? Сообщение: кол-во этаже не может быть меньше единицы

На вкладке «Животные, пчелы, птицы».

Рисунок 5.59 ? Сообщение: кол-во животных не может быть меньше единицы

Рисунок 5.60 ? Сообщение: кол-во оборудования не может быть меньше единицы

При создании и редактировании жителя в реестре может возникать следующая ошибка.

Рисунок 5.61 ? Сообщение: нельзя в качестве патроната выбрать самого жителя

Рисунок 5.62 ? Сообщение: ошибка при ведении справочника

6. Тестирование

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

Таблица 6.1 -- Список тестов для разработанной программы

Условия

Действие

Ожидаемый результат

1

Выход на страницу ресурса

Ввод URL для выхода на страницу ресурса

Открылась страница авторизации

2

Открыто окно авторизации

Ввести пользователя и неверный пароль

Получено сообщение о неправильной паре логин-пароль

3

Открыто окно авторизации

Ввести пользователя и неверный пароль

Текущее окно закрылось.

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

4

Открыта главная страница программы

Выбор команды меню «Меню Выход»

Программа завершила свою работу

5

Открыта главная страница программы

Выбор команды меню «МенюПохозяйственные книги» или запуск ярлыка на рабочем столе

Открылся реестр похозяйственных книг

6

Открыта главная страница программы

Выбор команды меню «Меню Лицевые счета» или запуск ярлыка на рабочем столе

Открылся реестр лицевых счетов

7

Открыта главная страница программы

Выбор команды меню «Меню Жители» или запуск ярлыка на рабочем столе

Открылся реестр жителей

8

Открыта главная страница программы

Выбор команды меню «Меню Справочники» или запуск ярлыка на рабочем столе

Открылся перечень справочников

9

Открыта главная страница программы

Выбор команды меню «Меню Отчеты» или запуск ярлыка на рабочем столе

Открылся перечень отчетов

10

Открыта главная страница программы

Выбор команды меню «Отчеты Отчет о наличии хозяйств, домов»

Составленный отчет отобразился на экране

11

Открыта главная страница программы

Выбор команды меню «Отчеты Список проживающих больше года»

Составленный отчет отобразился на экране

12

Открыта главная страница программы

Выбор команды меню «Отчет Журнал регистрации заявлений о выборе СМО»

Составленный отчет отобразился на экране

13

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

Сохранение отчета в различные текстовые и графические форматы

Сохранение прошло успешно

14

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

Отправление отчета на печать

Отчет успешно распечатан

15

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

Сохранение

Сохранение успешно

16

Реестр ПК

Обновление

Обновление произведено успешно

17

Реестр ПК

Добавление

Открылась форма добавления ПК

18

Открыта страница добавления ПК

Добавление записи о ПК дата окончания раньше даты начала

Вывод ошибочного сообщения

19

Открыта страница добавления ПК

Добавление записи о ПК

Успешное добавление

20

Открыта страница добавления ПК

Попытка выбрать заведомо

неправильный орган местного самоуправление

При выборе органа местного самоуправления остаются только правильные

21

Открыта страница изменения ПК

Изменение записи о ПК

Успешное изменение

22

Реестр ПК

Закрытие ПК

Успешное закрытие

23

Реестр ПК

«Печать Печатная форма ПК»

Составленный отчет отобразился на экране

24

Реестр ПК

«Населенные пункты»

Открылись населенные пункты

25

Реестр ПК

«Населенные пункты Включить пункт в ПК»

Страница добавления населенных пунктов

26

Страница добавления населенных пунктов

Ввод заведомо неправильных дат

Вывод ошибочного сообщения

27

Страница добавления населенных пунктов

Ввод правильных дат

Успешное добавление

28

Страница исключения населенных пунктов

Ввод правильных данных

Успешное исключение

29

Населенные пункты

«Населенные пункты Печать справки»

Составленный отчет отобразился на экране

30

Населенные пункты

«Населенные пункты Дата актуальности применить»

Успешное применение фильтра

31

Открыто окно «Добавление нового застрахованного лица»

Ввод правильных данных. Нажать кнопку «Сохранить»

Действие успешно завершено. Окно закрылось.

32

Реестр ПК

Фильтрация данных

Применение фильтра успешно

33

Реестр ПК

Отмена фильтра

Отмена фильтра произошла успешно

34

Реестр ПК

Открытие реестра лицевых счетов ПК

Успешное открытие страницы реестра лицевых счетов ЛС

35

Реестр ЛС

Обновление реестра ЛС

Успешное обновление страницы реестра лицевых счетов ЛС

36

Реестр ЛС

Добавление записи ЛС

Успешное добавление

37

Реестр ЛС

Изменение записи ЛС

Успешное изменение

38

Реестр ЛС

Закрытие ЛС

Успешное закрытие

39

Реестр ЛС

Открытие содержания ЛС

Лицевой счет

40

Лицевой счет

Печать

Составленный отчет отобразился на экране

41

Лицевой счет

Обновление

Обновление страницы лицевого счета успешно

42

Лицевой счет

Сохранение

Сохранение страницы лицевого счета успешно

43

Лицевой счет

Применение/отмена фильтра

Действия с фильтром успешны

44

Содержание лицевого счета Члены ПХ

Обновление

Обновление страницы успешно

45

Содержание лицевого счета Члены ПХ

Добавление жителя в содержание лицевого счета

Страница добавления жителя

46

Страница добавления жителя

Выбор жителя из реестра Жителей

Добавления жителя успешно

47

Содержание лицевого счета Члены ПХ

Печать выписки из лицевого счета

Составленный отчет отобразился на экране

48

Содержание лицевого счета Члены ПХ

Закрытие страниц

Успешно

49

Реестр жителей

Обновление

Обновление страницы успешно

50

Реестр жителей

Добавление жителей

Страница добавления жителя

51

Страница добавления жителя реестра жителя

Ввод данных

При правильном вводе данных ошибок нет

52

Страница редактирования жителя реестра жителя

При выборе патроната из списка самого себя

Ошибка редактирования

53

Страница редактирования жителя реестра жителя

Редактирование данных

При правильном редактировании данных ошибок нет

54

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

Просмотр уведомлений

Ошибок не обнаружено

55

Главная страница. Учетные записи пользователей

Обновлеие

Обновление страницы успешно

56

Главная страница. Учетные записи пользователей

Добавление

Добавление учетной записи пользователя выполнено успешно

57

Главная страница. Учетные записи пользователей

Редактирование

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

58

Главная страница. Журнал пользователей

Просмотр

Просмотр журнала пользователей выполнен успешно

59

Главная страница. Роли.

Просмотр

Просмотр ролей выполнен успешно

60

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

Расположение окон каскадом.

Правильное расположение окон.

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

ЗАКЛЮЧЕНИЕ

В ходе выполнения дипломного проектирования на языке C# в среде разработки Microsoft Visual Studio 2010 создано программное обеспечение для администраций муниципальных образований. Разработанное программное обеспечение призвано упростить и автоматизировать работу администраций муниципальных образований по хозяйственному учету населения.

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

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

ИС «Похозяйственная книга. WEB» обладает следующими преимуществами.

Единое информационное пространство:

· хранение данных в единой БД под управлением современной СУБД;

· единая система справочной информации;

· возможность одновременного доступа участников к ИС.

Многопользовательская система

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

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

· контроль доступа к данным.

WEB - интерфейс

· оперативный доступ участников к ИС независимо от местонахождения;

· централизованное и единовременное обновление ИС;

· отсутствие дополнительного ПО для установки ИС на компьютерах участников;

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

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

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

Дальнейшее развитие разработанного программного обеспечения может осуществляться по следующим направлениям:

· поддержка большего количества выходных отчетов;

· поддержка импорта и экспорта различных форматов данных;

· поддержка других баз данных;

· возможность интеграции с любыми ИС, используемыми заказчиком.

· возможность сопряжения с «Единым порталом государственных услуг РФ» и «Системой межведомственного электронного взаимодействия»

СПИСОК ЛИТЕРАТУРЫ

1. Скворцова Е.М. Похозяйственные книги сельсоветов 30-х годов ХХ в. // Социально-экономические и политические проблемы истории народов СССР. М., 1985.

2. http://www.webpravo.com/products/chto-takoe-lichnoe-podsobnoe-khozyajstvo/ 27.11.2013

3. Приказ Минсельхоза РФ от 11 октября 2010 г. N 345 "Об утверждении формы и порядка ведения похозяйственных книг органами местного самоуправления поселений и органами местного самоуправления городских округов" http://base.garant.ru/12180598/ 27.11.2013

4. Основы проектирования реляционных баз данных. http://www.intuit.ru/studies/courses/1095/191/info 28.11.2013

5. ASP NET.MVC Урок 3. Работа с БД http://habrahabr.ru/post/175999/ 28.11.2013

6. Карпова, И.П. Базы данных [Текст]: учебное пособие / И.П. Карпова. - Московский государственный институт электроники и математики (Технический университет). - М., 2009. - 118 с.

7. http://msdn.microsoft.com/ru-ru/library/ms178359(v=vs.100).aspx 29.11.2013

8. Лекция 7: Разработка на ASP.NET. MasterPage, динамические компоненты, AJAX, ASP.NET MVC
http://www.intuit.ru/studies/courses/611/467/lecture/5994?page=7 29.11.2013

9. Приказ Минсельхоза России от 11 октября 2010 г. № 345 «Об утверждении формы и порядка ведения похозяйственных книг органами местного самоуправления поселений и органами местного самоуправления городских округов»

10. Федеральный закон от 07.07. 2003 г. №112-ФЗ «О личном подсобном хозяйстве».

11. Федеральный закон от 27.07.2010 г. № 210-ФЗ «Об организации предоставления государственных муниципальных услуг»

12. Троелсен Э. «Язык программирования C# 2010 и платформа .NET», ООО «И. Д. Вильямс», Москва, 2011. - 1392 с.

13. Сандерсон С. «ASP.NET MVC Framework с примерами на C# для профессионалов», ООО «И. Д. Вильямс», Москва, 2010.

14. Флэнаган Д. JavaScript. Подробное руководство, 6-е издание. - Пер. c англ. - СПб: Символ-Плюс, 2012 - 1080с., ил.

15. http://demos.kendoui.com/web/overview/index.html

16. Виейра Р. «Программирование баз данных Microsoft SQL Server 2008», ООО «И. Д. Вильямс», Москва. Компьютерное издательство: «Диалектика», 2010. - 812 с.

17. ГОСТ 19.502-78 «Единая система программной документации. Описание применения. Требования к содержанию и оформлению».

18. ГОСТ 19.701-90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила оформления».

ПРИЛОЖЕНИЕ A. ER-диаграмма базы данных

ПРИЛОЖЕНИЕ Б. Листинг наиболее значимых частей программы

SK_USER.cs

Исходный код модели «Пользователя».

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

using System.Collections.Generic;

namespace Zacroma.Models.Spr

{

public class SK_USER

{

[Key]

[ScaffoldColumn(false)]

public long IdUser { get; set; }

[Required(ErrorMessage = "Поле \"Роль\" должно быть заполнено")]

[Display(Name = "Роль")]

public long IdRole { get; set; }

[NotMapped]

[Display(Name = "Роль")]

public string RoleName { get; set; }

[Required(ErrorMessage = "Поле \"Орган местного самоуправления\" должно быть заполнено")]

[Display(Name = "Орган местного самоуправления")]

public long IdLocalAuthority { get; set; }

[NotMapped]

[Display(Name = "Орган местного самоуправления")]

public string LocalAuthorityName { get; set; }

[Required(ErrorMessage = "Поле \"Фамилия\" должно быть заполнено")]

[Display(Name = "Фамилия")]

[MaxLength(100, ErrorMessage = "Количество символов в поле \"Фамилия\" не должно превышать 100")]

public string SurName { get; set; }

[Required(ErrorMessage = "Поле \"Имя\" должно быть заполнено")]

[Display(Name = "Имя")]

[MaxLength(100, ErrorMessage = "Количество символов в поле \"Имя\" не должно превышать 100")]

public string Name { get; set; }

[Required(ErrorMessage = "Поле \"Отчество\" должно быть заполнено")]

[Display(Name = "Отчество")]

[MaxLength(100, ErrorMessage = "Количество символов в поле \"Отчество\" не должно превышать 100")]

public string MiddleName { get; set; }

[Required(ErrorMessage = "Поле \"Логин\" должно быть заполнено")]

[Display(Name = "Логин")]

[MaxLength(50, ErrorMessage = "Количество символов в поле \"Логин\" не должно превышать 50")]

public string Login { get; set; }

[Display(Name = "Пароль")]

[MaxLength(50, ErrorMessage = "Количество символов в поле \"Пароль\" не должно превышать 50")]

public string Password { get; set; }

[Display(Name = "Эл. почта")]

[MaxLength(100, ErrorMessage = "Количество символов в поле \"Эл. почта\" не должно превышать 100")]

public string Email { get; set; }

[Display(Name = "Телефон")]

[MaxLength(100, ErrorMessage = "Количество символов в поле \"Телефон\" не должно превышать 100")]

public string Phone { get; set; }

[NotMapped]

public string FIO { get { return SurName + " " + Name + " " + MiddleName; } }

[NotMapped]

public string FIO1 { get { return SurName + " " + Name[0] + ". " + MiddleName[0] + "."; } }

[NotMapped]

[Required(ErrorMessage = "Поле \"Пароль\" должно быть заполнено")]

[Display(Name = "Пароль")]

public string PasswordString

{

get { return string.IsNullOrEmpty(Password) ? "" : StringCrypt.Decrypt(Password); }

set { Password = StringCrypt.Encrypt(value ?? ""); }

}

}

}

SK_USERs.cs

Исходный код модели «Пользователя».

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using Zacroma.Helpers;

namespace Zacroma.Models.Spr

{

public class SK_USERs

{

private ZacromaContext _context = new ZacromaContext();

public List<SK_USER> Users = new List<SK_USER>();

/// <summary>

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

/// </summary>

/// <returns></returns>

public List<SK_USER> GetUsers()

{

UserInfo user = new UserInfo();

//Linq - запрос

var results = (

from users in _context.SK_USER

join roles in _context.CT_ROLE on users.IdRole equals roles.IdRole

join localAuthoritys in _context.CT_LOCAL_AUTHORITY on users.IdLocalAuthority equals localAuthoritys.IdLocalAuthority

where

users.IdLocalAuthority == user.LocalAutority.IdLocalAuthority

orderby

users.SurName, users.Name, users.MiddleName

select new

{

users,

roles = roles.Name,

localAuthoritys = localAuthoritys.Name

}).ToList();

Users = results.Select(x => FillData(x.users, x.roles, x.localAuthoritys)).ToList();

return Users;

}

/// <summary>

/// Метод возвращающий пользователей

/// </summary>

/// <param name="users"></param>

/// <param name="roles"></param>

/// <param name="localAuthoritys"></param>

/// <returns></returns>

private SK_USER FillData(SK_USER users, string roles, string localAuthoritys)

{

users.RoleName = roles;

users.LocalAuthorityName = localAuthoritys;

return users;

}

/// <summary>

/// Удаление пользователей

/// </summary>

/// <param name="users"></param>

/// <returns></returns>

public string DeleteUsers(IEnumerable<SK_USER> users)

{

try

{

foreach (var u in users)

{

var ob = _context.SK_USER.Find(u.IdUser);

_context.SK_USER.Remove(ob);

}

_context.SaveChanges();

return string.Empty;

}

catch (Exception ex)

{

return ExceptionHelper.ProcessException(ex).Message;

}

}

/// <summary>

/// Редактирование пользователя

/// </summary>

/// <param name="user"></param>

/// <returns></returns>

public string EditUser(SK_USER user)

{

try

{

_context.Entry(user).State = EntityState.Modified;

_context.SaveChanges();

return string.Empty;

}

catch (Exception ex)

{

return ExceptionHelper.ProcessException(ex).Message;

}

}

/// <summary>

/// Добавление пользователя

/// </summary>

/// <param name="user"></param>

/// <returns></returns>

public string AddUser(SK_USER user)

{

try

{

_context.SK_USER.Add(user);

_context.SaveChanges();

return string.Empty;

}

catch (Exception ex)

{

return ExceptionHelper.ProcessException(ex).Message;

}

}

/// <summary>

/// Выбор пользователя

/// </summary>

/// <param name="idUser"></param>

/// <returns></returns>

public SK_USER SelectUser(long idUser)

{

var user = _context.SK_USER.Single(x => x.IdUser == idUser);

return user;

}

}

}

UsersController.cs

Исходный код контроллера «Пользователя».

using System.Collections.Generic;

using System.Web.Mvc;

using Kendo.Mvc.Extensions;

using Kendo.Mvc.UI;

using Zacroma.Models.Spr;

namespace Zacroma.Controllers.Spr

{

public class UsersController : BaseController

{

private SK_USERs _model = new SK_USERs();

public ActionResult Users()

{

return PartialView();

}

public ActionResult GetUsers([DataSourceRequest] DataSourceRequest request)

{

return Json(_model.GetUsers().ToDataSourceResult(request));

}

public ActionResult GetUsersList()

{

return Json(_model.GetUsers(), JsonRequestBehavior.AllowGet);

}

[AcceptVerbs(HttpVerbs.Post)]

public ActionResult AddUser([DataSourceRequest] DataSourceRequest request, SK_USER user)

{

if (user != null && ModelState.IsValid)

{

var res = _model.AddUser(user);

if (!string.IsNullOrEmpty(res))

ModelState.AddModelError("serverError", res);

}

return Json(new[] { user }.ToDataSourceResult(request, ModelState));

}

[AcceptVerbs(HttpVerbs.Post)]

public ActionResult EditUser([DataSourceRequest] DataSourceRequest request, SK_USER user)

{

if (user != null && ModelState.IsValid)

{

var res = _model.EditUser(user);

if (!string.IsNullOrEmpty(res))

ModelState.AddModelError("serverError", res);

}

return Json(new[] { user }.ToDataSourceResult(request, ModelState));

}

[AcceptVerbs(HttpVerbs.Post)]

public ActionResult DeleteUsers(IEnumerable<SK_USER> users)

{

var res = _model.DeleteUsers(users);

if (!string.IsNullOrEmpty(res))

{

ModelState.AddModelError("serverError", res);

return Json(new { success = false, response = res });

}

else

return Json(new { success = true });

}

}

}

Users.cshtml

Исходный код представления «Пользователя».

<script type="text/javascript">

var masterUsers = new Master();

</script>

@(Html.Kendo().Grid<Zacroma.Models.Spr.SK_USER>()

.Name("gridUsers")

.ToolBar(x =>

{

x.Template(@<text>

<a id="refreshUsers" class="k-button k-button-icontext k-grid-read">

<span class="k-icon k-i-refresh"></span>Обновить</a>

<a id="addUsers" class="k-button k-button-icontext k-grid-add">

<span class="k-icon k-add"></span>Добавить</a>

<a id="editUsers" class="k-button k-button-icontext k-grid-edit">

<span class="k-icon k-edit"></span>Изменить</a>

<a id="deleteUsers" class="k-button k-button-icontext k-grid-delete">

<span class="k-icon k-delete"></span>Удалить</a>

</text>);})

.Columns(columns =>

{

columns.Bound(p => p.Login).Width(150);

columns.Bound(p => p.SurName).Width(150);

columns.Bound(p => p.Name).Width(150);

columns.Bound(p => p.MiddleName).Width(150);

columns.Bound(p => p.RoleName).Width(150);

columns.Bound(p => p.LocalAuthorityName).Width(280);

columns.Bound(p => p.Email).Width(200);

columns.Bound(p => p.Phone);

})

.AutoBind(false)

.ColumnMenu()

.Sortable()

.Scrollable()

.Filterable()

.Events(x => x.Edit("masterUsers.onEdit").DataBound("masterUsers.dataBoundResizeGrid")

.ColumnHide("masterUsers.onColumnsStateChange").ColumnReorder("masterUsers.onColumnsStateChange")

.ColumnResize("masterUsers.onColumnsStateChange").ColumnShow("masterUsers.onColumnsStateChange"))

.Editable(x => x.Mode(GridEditMode.PopUp).TemplateName("User").Window(w => w.Width(315)).DisplayDeleteConfirmation(false))

.Selectable(x => x.Mode(GridSelectionMode.Multiple))

.Resizable(resize => resize.Columns(true))

.Reorderable(reorder => reorder.Columns(true))

.DataSource(dataSource => dataSource

.Ajax().ServerOperation(false)

.Events(events => events.Error("masterUsers.onError").RequestEnd("masterUsers.onRequestEnd"))

.Model(x => x.Id(y => y.IdUser))

.Read(x => x.Action("GetUsers", "Users"))

.Create(x => x.Action("AddUser", "Users"))

.Update(x => x.Action("EditUser", "Users"))

)

)

<script type="text/javascript">

$(document).ready(function () {

var kendoGrid = $("#gridUsers").data("kendoGrid");

masterUsers.init(

$("#gridUsers"),

kendoGrid,

"Users/DeleteUsers");

masterUsers.resizeColumn(7, 150);

masterUsers.loadGridSettings();

$("#refreshUsers").click(masterUsers.refresh);

$("#editUsers").click(masterUsers.editGrid);

$("#deleteUsers").click(masterUsers.deleteGrid);

kendoGrid.element.delegate("tbody>tr", "dblclick", function () {

kendoGrid.editRow($(this));

});

var desktop = Ext.net.Desktop.desktop;

var win = desktop.windows.get("desktopUsersWindow");

win.addListener("resize", masterUsers.resizeGrid);

});

</script>

MT_SETTING.cs

Исходный код модели «Настроек».

using System.ComponentModel.DataAnnotations;

namespace Zacroma.Models.Settings

{

public class MT_SETTING

{

[Key]

[ScaffoldColumn(false)]

public long IdSetting { get; set; }

[Required(ErrorMessage = "Поле \"Описание\" должно быть заполнено")]

[Display(Name = "Описание")]

[MaxLength(250, ErrorMessage = "Количество символов в поле \"Описание\" не должно превышать 250")]

public string Description { get; set; }

[Required(ErrorMessage = "Поле \"Код\" должно быть заполнено")]

[Display(Name = "Код")]

[MaxLength(30, ErrorMessage = "Количество символов в поле \"Код\" не должно превышать 30")]

public string Code { get; set; }

[Required(ErrorMessage = "Поле \"Значение\" должно быть заполнено")]

[Display(Name = "Значение")]

[MaxLength(150, ErrorMessage = "Количество символов в поле \"Значение\" не должно превышать 150")]

public string Value { get; set; }

}

}

MT_SETTINGs.cs

Исходный код модели «Настроек».

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using Zacroma.Helpers;

namespace Zacroma.Models.Settings

{

public class MT_SETTINGs

{

private ZacromaContext _context = new ZacromaContext();

public List<MT_SETTING> Settings = new List<MT_SETTING>();

public IEnumerable<MT_SETTING> GetSettings()

{

Settings = _context.MT_SETTING.ToList();

return Settings;

}

public string EditSetting(MT_SETTING setting)

{

try

{

_context.Entry(setting).State = EntityState.Modified;

_context.SaveChanges();

return string.Empty;

}

catch (Exception ex)

{

return ExceptionHelper.ProcessException(ex).Message;

}

}

public MT_SETTING SelectSetting(long idSetting)

{

return _context.MT_SETTING.Find(idSetting);

}

}

}

SettingsController.cs

Исходный код контроллера «Настроек».

using System.Collections.Generic;

using System.Web.Mvc;

using Kendo.Mvc.Extensions;

using Kendo.Mvc.UI;

using Zacroma.Models.Settings;

namespace Zacroma.Controllers.Spr

{

public class SettingsController : BaseController

{

private MT_SETTINGs _model = new MT_SETTINGs();

public ActionResult Settings()

{

return PartialView();

}

public ActionResult GetSettings([DataSourceRequest] DataSourceRequest request)

{

return Json(_model.GetSettings().ToDataSourceResult(request));

}

[AcceptVerbs(HttpVerbs.Post)]

public ActionResult EditSetting([DataSourceRequest] DataSourceRequest request, MT_SETTING setting)

{

if (setting != null && ModelState.IsValid)

{

var res = _model.EditSetting(setting);

if (!string.IsNullOrEmpty(res))

ModelState.AddModelError("serverError", res);

}

return Json(new[] { setting }.ToDataSourceResult(request, ModelState));

}

}

}

Settings.cshtml

Исходный код представления «Настроек».

<script type="text/javascript">

var masterSettings = new Master();

</script>

@(Html.Kendo().Grid<Zacroma.Models.Settings.MT_SETTING>()

.Name("gridSettings")

.ToolBar(x =>

{

x.Template(@<text>

<a id="refreshSettings" class="k-button k-button-icontext k-grid-read"><span class="k-icon k-i-refresh"></span>Обновить</a>

<a id="editSetting" class="k-button k-button-icontext k-grid-edit"><span class="k-icon k-edit"></span>Изменить</a>

</text>);

})

.Columns(columns =>

{

columns.Bound(p => p.Code).Title("Код").Width(200);

columns.Bound(p => p.Value).Title("Значение").Width(300);

columns.Bound(p => p.Description).Title("Описание");

})

.AutoBind(false)

.ColumnMenu()

.Sortable()

.Scrollable()

.Filterable()

.Selectable()

.Resizable(resize => resize.Columns(true))

.Reorderable(reorder => reorder.Columns(true))

.Events(x => x.Edit("masterSettings.onEdit").DataBound("masterSettings.dataBoundResizeGrid")

.ColumnHide("masterSettings.onColumnsStateChange").ColumnReorder("masterSettings.onColumnsStateChange")

.ColumnResize("masterSettings.onColumnsStateChange").ColumnShow("masterSettings.onColumnsStateChange"))

.Editable(x => x.Mode(GridEditMode.PopUp).TemplateName("Setting").DisplayDeleteConfirmation(false))

.DataSource(dataSource => dataSource

.Ajax().ServerOperation(false)

.Events(events => events.Error("masterSettings.onError")

.RequestEnd("masterSettings.onRequestEnd"))

.Model(x => x.Id(y => y.IdSetting))

.Read(x => x.Action("GetSettings", "Settings"))

.Update(x => x.Action("EditSetting", "Settings"))

)

)

<script type="text/javascript">

$(document).ready(function () {

var kendoGrid = $("#gridSettings").data("kendoGrid");

masterSettings.init($("#gridSettings"), kendoGrid, "Settings/DeleteSettings");

masterSettings.resizeColumn(2, 150);

masterSettings.loadGridSettings();

$("#refreshSettings").click(masterSettings.refresh);

$("#editSetting").click(masterSettings.editGrid);

kendoGrid.element.delegate("tbody>tr", "dblclick", function () {

kendoGrid.editRow($(this));

});

var desktop = Ext.net.Desktop.desktop;

var win = desktop.windows.get("desktopSettingsWindow");

win.addListener("resize", masterSettings.resizeGrid);

});

</script>

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


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

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