Веб-приложение для автоматизации учета правонарушений

Структура комитета государственной безопасности Республики Беларусь. Язык программирования PHP. Ограничения возможностей JavaScript. Архитектура клиент-сервер. Классы, реализующие непосредственно логику работы веб-приложения. Структура таблиц базы данных.

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

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

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

3.1.8 Класс PreventivesController

Данный класс отвечает за работу с отчетами профучета.

Свойства класса PreventivesController, приведены в таблице 3.11.

Методы класса PreventivesController, приведены в таблице 3.12.

Таблица 3.11 - Свойства класса PreventivesController

Свойство

Описание

layout

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

Таблица 3.12 - Свойства класса PreventivesController

Метод

Описание

preventives

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

createPreventive

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

viewPreventive

Предоставляет страницу содержащей данные об отчете профучета.

editPreventive

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

deletePreventive

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

3.1.9 Класс PrivateCasesController

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

Свойства класса PrivateCasesController, приведены в таблице 3.13.

Методы класса PrivateCasesController, приведены в таблице 3.14.

Таблица 3.13 - Свойства класса PrivateCasesController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления.

Таблица 3.14 - Свойства класса PrivateCasesController

Метод

Описание

privateCases

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

createPrivateCase

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

viewPrivateCase

Предоставляет страницу содержащей данные о деле правонарушителя.

editPrivateCase

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

deletePrivateCase

Осуществляет удаление данных дела правонарушителя по переданному идентификатору.

3.1.10 Класс UrlController

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

Методы класса UrlController, приведены в таблице 3.15.

Таблица 3.15 - Методы класса UrlController

Метод

Описание

replaceCurrentUrl

Осуществляет изменение текущего адреса страницы хранящегося в сессии.

3.1.11 Класс UsersController

Данный класс отвечает за работу с данными о сотрудниках, зарегистрированных в системе.

Методы класса UsersController, приведены в таблице 3.16.

Таблица 3.16 - Свойства класса UsersController

Метод

Описание

users

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

Метод

Описание

createUser

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

viewUser

Предоставляет страницу содержащей данные о сотруднике инспекции.

editUser

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

changePassword

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

deleteUser

Осуществляет удаление данных сотрудника.

3.1.12 Класс RelativesController

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

Свойства класса RelativesController, приведены в таблице 3.17.

Методы класса RelativesController, приведены в таблице 3.18.

Таблица 3.17 - Свойства класса RelativesController

Свойство

Описание

layout

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

Таблица 3.18 - Свойства класса RelativesController

Метод

Описание

relatives

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

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

createRelative

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

viewRelative

Предоставляет страницу содержащей данные о родственнике правонарушителя.

editRelative

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

deleteRelative

Осуществляет удаление данных о родственнике по переданному идентификатору.

3.1.13 Класс ChangePinaltiesController

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

Свойства класса ChangePinaltiesController, приведены в таблице 3.19.

Методы класса ChangePinaltiesController, приведены в таблице 3.20.

Таблица 3.19 - Свойства класса ChangePinaltiesController

Свойство

Описание

layout

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

Таблица 3.20 - Свойства класса PreventivesController

Метод

Описание

changePinalties

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

Метод

Описание

createChangePinalty

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

viewChangePinalty

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

editChangePinalty

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

deleteChangePinalty

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

3.1.14 Класс ViolationsController

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

Свойства класса ViolationsController, приведены в таблице 3.21.

Методы класса ViolationsController, приведены в таблице 3.22.

Таблица 3.21 - Свойства класса ViolationsController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления.

Таблица 3.22 - Свойства класса ViolationsController

Метод

Описание

Violations

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

createViolation

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

«Нарушения». Передав в функцию данные формы, будет запущен процесс записи информации в базу данных.

viewViolation

Предоставляет страницу содержащей данные о совершенных нарушениях.

editViolation

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

deleteViolation

Осуществляет удаление данных о нарушении по переданному идентификатору.

3.1.15 Класс AmnistiesController

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

Свойства класса AmnistiesController, приведены в таблице 3.24.

Методы класса AmnistiesController, приведены в таблице 3.25.

Таблица 3.24 - Свойства класса AmnistiesController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления.

Таблица 3.25 - Свойства класса AmnistiesController

Метод

Описание

amnisties

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

createAmnisty

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

viewAmnisty

Предоставляет страницу содержащей данные об амнистии.

editAmnisty

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

deleteAmnisty

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

3.1.16 Класс PartnersController

Данный класс отвечает за работу с данными о соучастниках.

Свойства класса PartnersController, приведены в таблице 3.26.

Методы класса PartnersController, приведены в таблице 3.27.

Таблица 3.26 - Свойства класса PartnersController

Свойство

Описание

layout

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

Таблица 3.27 - Свойства класса PartnersController

Метод

Описание

partners

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

createPartners

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

viewPartners

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

editPartners

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

deletePartners

Осуществляет удаление данных о соучастниках по переданному идентификатору.

3.1.17 Класс PaymentsController

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

Свойства класса PaymentsController, приведены в таблице 3.28.

Методы класса PaymentsController, приведены в таблице 3.29.

Таблица 3.28 - Свойства класса PaymentsController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления.

Таблица 3.29 - Свойства класса PaymentsController

Метод

Описание

payments

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

createPayment

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

viewPayment

Предоставляет страницу содержащей данные о платежах.

editPayment

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

deletePayment

Осуществляет удаление данные о платеже по переданному идентификатору.

3.1.18 Класс TreatmentsController

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

Свойства класса TreatmentsController, приведены в таблице 3.30.

Методы класса TreatmentsController, приведены в таблице 3.31.

Таблица 3.30 - Свойства класса TreatmentsController

Свойство

Описание

layout

Данное свойство отвечает за базовый шаблон представления.

Таблица 3.31 - Свойства класса TreatmentsController

Метод

Описание

treatments

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

createTreatment

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

viewTreatment

Предоставляет страницу содержащей данные о посещениях.

editTreatment

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

deleteTreatment

Осуществляет удаление данные о посещении уголовно-исполнительной инспекции по переданному идентификатору.

3.2 Структура таблиц базы данных

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

Структура таблиц и связи между ними показаны на чертеже модели данных (ГУИР.400201.206 РР.2), а также подробно рассмотрены далее.

3.2.1 Таблица defendants

Таблица содержит данные о нарушителе.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор нарушителя.

Поля внешних ключей

– gender_id - поле содержащее идентификатор пола;

– issuing_passport - поле содержащее идентификатор органа выдавшего паспорт.

Поля:

– first_name - имя;

– second_name - фамилия;

– patronymic - отчество;

– date_birth - дата рождения;

– place_birth - место рождения;

– place_residence - место проживания;

– place_registration - место регистрации;

– passport_series - серия паспорта;

– passport_number - номер паспорта;

– passport_date_issue - дата выдачи паспорта;

– passport_personal_number - идентификационный номер паспорта;

– home_phone - домашний телефон;

– mobile_phone - мобильный телефон;

– citizenship - гражданство;

– nickname - прозвище;

– photo - фотография;

– note - примечание;

– edit_date - дата изменения записи;

– create_date - дата создания записи.

3.2.2 Таблица relatives

Таблица содержит данные о родственниках правонарушителя.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор родственника нарушителя.

Поля внешних ключей

– gender_id - поле содержащее идентификатор пола;

– issuing_passport - поле содержащее идентификатор органа выдавшего паспорт.

Поля:

– relation_degree - степень родства;

– first_name - имя;

– second_name - фамилия;

– patronymic - отчество;

– date_birth - дата рождения;

– place_reisdence - место проживания;

– place_work - место работы;

– passport_series - серия паспорта;

– passport_number - номер паспорта;

– passport_date_issue - дата выдачи паспорта;

– passport_personal_number - идентификационный номер паспорта.

программирование веб приложение javascript

3.2.3 Таблица places_work

Таблица содержит данные о метах работы правонарушителей.

Поле первичного ключа:

– id - содержит уникальный идентификатор дела правонарушителя.

Поля внешних ключей

– defendant_id - поле содержащее идентификатор правонарушителя.

– case_type - поле содержащее идентификатор типа дела.

Поля:

– company_name - название организации;

– company_address - адрес компании;

– accounting_phone - телефон бухгалтерии;

– personnel_department_phone - телефон отдела кадров;

– position - должность;

– admission_date - дата принятия на работу;

– dismissal_date - дата увольнения;

– note - примечание;

– create_date - дата создание записи;

– edit_date - дата изменения записи.

3.2.4 Таблица private_cases

Таблица содержит данные о делах правонарушителей.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор дела правонарушителя.

Поля внешних ключей

– defendant_id - поле содержащее идентификатор правонарушителя;

– case_type - поле содержащее идентификатор типа дела;

– card_filled_employee_id - поле содержащее идентификатор сотрудника.

Поля:

– case_number - номер дела;

– card_number - номер карты;

– outgoing_number - входящий номер;

– outgoing_date - входящая дата;

– incoming_number - исходящий номер;

– incoming_date - исходящая дата;

– opop_number - ОПОП номер;

– take_accounting_date - дата взятия на учет;

– withdrawn_accounting_date - дата снятия с учета;

– base_withdrawn_accounting - основания снятия с учета;

– note - примечание;

– taken_into_custody_from - дата взятия под стражу;

– taken_into_custody_to - дата освобождения из под стражи;

– taken_into_custody_note - основания освобождения;

– criminal_case_number - номер уголовного дела;

– presence_inspection_report - наличие отчета инспекции;

– copy_employment_record - копия рабочей книги;

– zzd - запрет занимать должности;

– create_date - дата создания записи;

– edit_date - дата изменения записи.

3.2.5 Таблица convictions

Таблица содержит данные о осуждениях вынесенных правонарушителю по делу.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор осуждения.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор дела;

– punishment_extended_court_id - поле содержит идентификатор суда;

– conviction_court_id - поле содержит идентификатор суда;

– release_court_id - поле содержит идентификатор суда;

– released_article_id - поле содержит идентификатор статьи;

– conviction_article_id - поле содержит идентификатор статьи.

Поля:

– date_conviction - дата осуждения;

– conviction_term_years - срок осуждения (лет);

– conviction_term_months - срок осуждения (месяцев);

– conviction_term_days - срок осуждения (дней);

– conviction_term_hours - срок осуждения (часов);

– punishment - наказание;

– date_entry_into_force - дата вступления наказания в силу;

– released_from - место освобождения;

– init_released_date - дата принятия решения об освобождении;

– release_date - дата освобождения;

– conviction_postponed_years - осуждение отложено (лет);

– conviction_postponed_months - осуждение отложено (месяцев);

– conviction_postponed_days - осуждение отложено (дней);

– punishment_extended_date - дата продления наказания;

– punishment_extended_years - продление наказания (лет);

– punishment_extended_months - продление наказания (месяцев);

– punishment_extended_days - продление наказания (дней);

– prohibition_holding_positions - запрет занимать должности;

– prohibitions - запреты по приговору;

– note - примечания;

– create_date - дата создания записи;

– edit_date - дата изменения записи.

3.2.6 Таблица violations

Таблица содержит данные о нарушениях, совершенных правонарушителем по делу.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор нарушения.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор дела.

Поля:

– violation - нарушение;

– type_violation - тип нарушения;

– date_making - дата совершения нарушения;

– main_violation - поле содержит значения, обозначающее является ли это нарушение главным;

– measure_recovery - компенсация ущерба;

– date_expiry - дата истечения срока действия;

– drawdown_date - дата снятия;

– officially - официальность.

3.2.7 Таблица amnesties

Таблица содержит данные об амнистиях.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор амнистии.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор правонарушителя;

– article_id - поле содержит идентификатор статьи.

Поля:

– date_application - дата заявки;

– cancelled_years - отменено лет;

– cancelled_months - отменено месяцев;

– cancelled_days - отменено дней;

– note - примечание.

3.2.8 Таблица change_penalties

Таблица содержит данные об изменениях приговора.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор амнистии.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор правонарушителя;

– new_article_id - поле содержит идентификатор статьи;

– changed_court_id - поле содержит идентификатор суда.

Поля:

– change_date - дата внесения изменения;

– new_term_years - новое количество лет;

– new_term_months - новое количество месяцев;

– new_term_days - новое количество дней;

– number_sentence - номер приговора;

– date_intoduction - дата введения;

– changes - изменения;

– additional_punishment - дополнительное наказание.

3.2.9 Таблица treatments

Таблица содержит данные об посещениях правонарушителя уголовно-исполнительной инспекции.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор посещения.

Поля:

– date - дата посещения;

– note - примечание.

3.2.10 Таблица reports_puku

Таблица содержит данные о отчетах профучета.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор посещения.

Поля:

– one - первое число месяца;

– two - второе число месяца;

– three - третье число месяца;

– four - четвертое число месяца;

– five - пятое число месяца;

– six - шестое число месяца;

– seven - седьмое число месяца;

– eight - восьмое число месяца;

– nine - девятое число месяца;

– ten - десятое число месяца;

– eleven - одиннадцатое число месяца;

– twelve - двенадцатое число месяца;

– therteen - тринадцатое число месяца;

– fourteen - четырнадцатое число месяца;

– fifteen - пятнадцатое число месяца;

– sixteen - шестнадцатое число месяца;

– seventeen - семнадцатое число месяца;

– eighteen - восемнадцатое число месяца;

– nineteen - девятнадцатое число месяца;

– twenty - двадцатое число месяца;

– twenty_one - двадцать первое число месяца;

– twenty_two - двадцать второе число месяца;

– twenty_three - двадцать третье число месяца;

– twenty_four - двадцать четвертое число месяца;

– twenty_five - двадцать пятое число месяца;

– twenty_six - двадцать шестое число месяца;

– twenty_seven - двадцать седьмое число месяца;

– twenty_eight - двадцать восьмое число месяца;

– twenty_nine - двадцать девятое число месяца;

– thity - тридцатое число месяца;

– thiry_one - тридцать первое число месяца;

– total - общее число дней;

– note - примечание;

– month - месяц;

– year - год;

– ky - наличие контручета;

– pu - наличие профучета;

– create_date - дата создания записи;

– edit_date - дата изменения записи.

3.2.11 Таблица partners

Таблица содержит данные о соучастниках по делу.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор амнистии.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор правонарушителя;

– defendant_id - поле содержит идентификатор правонарушителя, на которого открыто дело;

– partner_id - поле содержит идентификатор правонарушителя, который является соучастником по делу.

3.2.12 Таблица payments

Таблица содержит данные о платежах совершенных при осуществлении возмещений ущерба.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор платежа.

Поля внешних ключей

– private_case_id - поле содержащее идентификатор правонарушителя;

– report_puku - поле содержит идентификатор отчета профучета.

Поля:

– payment_date - дата платежа;

– number_directory - номер каталога;

– number_PP - номер ПП;

– number_workong_days - количество рабочих дней;

– number_included_days - количество включенных дней;

– number_not_included_days - количество не включенных дней;

– reason - причина;

– earn_money - заработал денег;

– transferred_money - перечислено денег.

3.2.13 Таблица notices

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

Поля:

– name - название извещения;

– direction_date - дата отправки извещения;

– confirmation_date - дата подтверждения о получении.

3.2.14 Таблица additional_employees

Таблица содержит данные о сотрудниках.

Поле первичного ключа:

– id - поле содержит уникальный идентификатор платежа.

Поля внешних ключей

– gender - поле содержащее идентификатор пола;

– position - поле содержит идентификатор должности;

– title - поле содержит идентификатор звания.

Поля:

– first_name - имя;

– second_name - фамилия;

– patronymic - отчество;

– date_birthday - дата рождения;

– in_ovd - в ОВД;

– in_position - в должности;

– education - образование;

– vuz - закончил ли ВУЗ;

– cabinet - номер кабинета;

– work_phone - рабочий телефон;

– mobile_phone - мобильный телефон;

– card_number - номер карточки;

– note - примечание;

– login - логин;

– password - пароля;

– create_date - дата создания;

– edit_date - дата изменения.

3.3 Классы работы с базой данных и доступа к данным

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

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

– кэширование данных;

– формирование базовых запросов в базу данных, напрямую;

– построение модели данных;

– формирование запросов через класс модели данных;

– выполнение запросов;

– фильтрация данных.

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

– формирование и выполнение запросов;

– представление данных;

– проверка данных.

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

3.3.1 Класс ModelManager

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

Свойства класса ModelManager, приведены в таблице 3.32.

Таблица 3.32 - Свойства класса ModelManager

Свойство

Описание

tableName

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

id_field_name

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

selected_fields

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

orm_model

Данное свойство является защищенным и содержит объект класса Orm, предназначенный для работ с моделями данных, формированием запросов и их выполнения.

modelName

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

db

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

fields

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

db_fields

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

db_field_types

Данное свойство является защищенным и содержит типы полей таблицы.

total_hits

Данное свойство является защищенным и содержит общее число записей.

is_cached

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

Методы класса ModelManager, приведены в таблице 3.33.

Таблица 3.33 - Методы класса ModelManager

Метод

Описание

__construct

Метод срабатывающий при создании объекта и инициализирует основные свойства.

getGroupName

Метод возвращающий название таблицы в зависимости от менеджера и принадлежности его к модели данных.

getModelName

Метод возвращающий название используемой модели данных.

getNotCachedMethods

Метода возвращающий название методов, которые не нужно кэшировать.

getCachedMethods

Метода возвращающий название методов, которые нужно кэшировать.

isCached

Метод проверяющий является ли метод закешированным.

setCached

Метод возвращает устанавливающим флаг кэширования.

setNoCached

Метод сбрасывает значение флага кэширование.

getTotalHits

Метод возвращающий общее число записей в таблице.

getOneById

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

getSortedListByIdList

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

getList

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

getSortedList

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

getFields

Получает список заданных для данной модели полей.

getListBySearchParams

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

initList

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

initOne

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

save

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

create

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

delete

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

deleteById

Метод осуществляет удаление записи по переданному в нее идентификатору.

update

Метод осуществляет обновление данных записи извлеченных из объекта модели данных.

formParamsArrayFromModel

Метод осуществляющий извлечение данных из модели.

getDbFields

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

beforeSave

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

afterSave

Метод вызывающийся после сохранения данных в таблицу.

checkExistsById

Метод проверяющий наличие записи в таблице по идентификатору.

getListWithLimit

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

getListWithPaging

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

deleteAll

Метод очищающий таблицу.

resetAutoIncrement

Метод сбрасывающий значение счетчика записей таблицы.

truncateTable

Метод осуществляющий пересоздание таблицы.

getIdList

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

createModel

Метод создает объект модели данных.

getTableName

Метод возвращающий имя таблицы.

filter

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

getParams

Метод возвращающий данные таблицы извлеченные из объекта модели данных.

3.3.2 Класс DynamicModel

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

Свойства класса DynamicModel, приведены в таблице 3.34.

Таблица 3.34 - Свойства класса DynamicModel

Свойство

Описание

id

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

params

Данное свойство является защищенным и содержит данные выбранные из таблицы.

validator

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

validate

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

save_process_flag

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

manager

Данное свойство является защищенным и содержит объект менеджера текущей модели данных.

is_new

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

is_need_to_filter

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

fields_models

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

Методы класса DynamicModel, приведены в таблице 3.35.

Таблица 3.35 - Методы класса DynamicModel

Методы

Описание

setParams

Метод осуществляющий установку списка полей модели данных, переданных в виде массива.

setValidator

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

getValidator

Метод возвращающий объект осуществляющий проверку данных.

getId

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

setId

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

isNeedToFilter

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

disableFilter

Метод осуществляющий отключение фильтра данных для текущей модели данных.

enableFilter

Метод позволяющий использовать фильтр для данной модели.

__get

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

getParams

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

validate

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

setFields

Метод устанавливающий свойства модели данных по переданному в него ассоциативному массиву.

disableValidation

Метод осуществляющий отключение проверки данных.

enableValidation

Метод осуществляющий включение проверки данных.

getManager

Метод возвращающий объект менеджера данных.

getUniqueId

Метод возвращающий идентификатор текущей записи.

getFields

Метод возвращающий набор полей заданный для данной модели данных.

save

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

update

Метод осуществляющий обновление данных заданных для текущей модели данных.

getSaveProcessFlag

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

setSaveProcessFlag

Метод предоставляющий возможность вызова метода модели данных перед выполнение сохранения данных.

unsetSaveProcessFlag

Метод запрещающий возможность вызова метода модели данных перед выполнение сохранения данных.

setDefaultValue

Метод задающий полям модели данных значения по умолчанию.

clearParams

Метод очищающий параметры, заданные для модели данных.

isNew

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

delete

Метод осуществляющий удаление текущей записи.

4. РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ

4.1 Программные модули

4.1.1 Авторизация

Работа с приложением начинается после того, как пользователь перешел по адресу http://ao.by. Перейдя по этому адресу, пользователь попадает на страницу авторизации.

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

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

public function beforeAction()

{

$actionWithoutAuthorization = array(

'clearData',

);

if(!in_array($this->action, $actionWithoutAuthorization)) {

$this->authorized = Acc::isAuthed();

if(!$this->authorized) {

RedirectManager::redirect('/login');

} else {

if(!$this->security->checkAccess($this->action)) {

if($this->request->isAjax()) {

JsonResponse::error('error', 0, $this->errorMessages['denied_access']);

} else {

RedirectManager::redirect404();

}

}

if(!in_array($this->action, $this->getNotRememberMethods())) {

$this->setSessionHistory();

}

}

$this->changePageEvent();

$this->transferToView();

$this->dataCleaning();

}

}

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

if(!$this->authorized) {

RedirectManager::redirect('/login');

}

Если пользователь не прошел авторизацию $this->authorized свойство будет иметь ложное значение и в этом случае пользователю будет предложено авторизовать, путем возврата его на страницу авторизации, представленной на рисунке 4.1.

Рисунок 4.1 - Форма авторизации

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

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

На веб-сервере данные принимаются методом login класса AccountController, листинг данного метода приведен ниже.

public function login()

{

/**

* @var AccountService $accountService

**/

$this->layout = 'account';

if($this->authorized) {

/*

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

* или на страницу изменения пароля, в случае если действие его пароля истек.

*/

$this->redirectAuthUserPage(Acc::getAccountInfo());

}

if($this->request->isPost()) {

$accountService = ServiceFactory::getByName('account', $this, $this->request('login', array()));

$response = $accountService->login();

if(!$accountService->handleRequestError()) {

if($accountService->hasWarning()) {

Flash::set(ResponseStatuses::RESPONSE_WARNING, $accountService->getWarning());

}

$this->redirectAuthUserPage($response);

} else {

$error = $accountService->getError();

}

}

$this->addToJsData(

array(

'getKeyUrl' => LinkHelper::getUrl('getEncryptionKeyForElectronicKey')

)

);

$this->view->distributionPath = $this->siteCfg['distribution_path'] . $this->siteCfg['distribution_name'];

$this->view->error = !empty($error) ? $error : '';

}

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

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

public function login()

{

/**

* @var AdditionalEmployeesManager $additionalEmployeesManager

**/

$convertedData = $this->_fieldTypes->getConvertedFields($this->getAction(), $this->getData());

$this->validate($convertedData);

if(!$this->checkValidateStatus()) {

$this->setError($this->getValidateError());

} else {

$additionalEmployeesManager = ModelManagerFactory::getByName('additionalEmployees');

$employee = $additionalEmployeesManager->getEmployeesByLoginAndPassword(

$convertedData['login'],

$this->getSecurity()->getPasswordHash($convertedData['password'])

);

if(!empty($employee)) {

$response = $this->processedLoginResponse($employee);

} else {

$this->setError($this->getErrorMessage('auth_absent_account'));

}

}

return !empty($response) ? $response : array();

}

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

$convertedData = $this->_fieldTypes->getConvertedFields($this->getAction(), $this->getData());

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

$this->validate($convertedData);

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

$additionalEmployeesManager = ModelManagerFactory::getByName('additionalEmployees');

$employee = $additionalEmployeesManager->getEmployeesByLoginAndPassword(

$convertedData['login'],

$this->getSecurity()->getPasswordHash($convertedData['password'])

);

В данном методе осуществляется построение запроса. Для этого используется класс Orm.

public function getEmployeesByLoginAndPassword($login, $password)

{

$data = $this->orm_model->select()->where(' login = ? AND password = ? ', $login, $password)->fetchOne();

return (count($data)) ? $this->initOne($data) : array();

}

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

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

4.1.2 Заведение дела

Заведение дела начинается с введения данных о правонарушителе. За работу с данными правонарушителей отвечает контроллер DefendantController, а также его сервис DefendantService и менеджер DefendantManager модели данных, вместе с моделью данных DefendantModel.

Введение данных о правонарушителе осуществляется на странице «Создания правонарушителя», за работу данной страницы отвечает метод createDefendant контроллера DefendantController.

public function createDefendant()

{

/**

* @var DefendantsService $defendantsService

* @var ReferencesService $referencesService

**/

$params['formData'] = $this->request($this->action, array());

$params['files'] = $_FILES;

$fields = array();

$referencesService = ServiceFactory::getByName('references', $this, $params);

$defendantsService = ServiceFactory::getByName('defendants', $this, $params);

if($this->request->isPost()) {

$defendantsService->createDefendant();

if(!$defendantsService->handleRequestError()) {

$responseStatus = ResponseStatuses::RESPONSE_SUCCESS;

$responseParams = array(

'title' => $this->infoMessages['create_defendant_title'],

'message' => str_replace('%defendantName%', $defendantsService->getUserFio(), $this->infoMessages['create_defendant_message'])

);

if($defendantsService->hasWarning()) {

$responseStatus = ResponseStatuses::RESPONSE_WARNING;

$responseParams = $defendantsService->getWarning();

}

Flash::set($responseStatus, $responseParams);

RedirectManager::redirect(Ahist::getPrevUri());

} else {

$fields = $params['formData'];

}

}

$this->view->fields = $fields;

$this->view->inspections = $referencesService->getInspections();

$this->view->genders = $referencesService->getGenders();

$this->view->isCreate = TRUE;

$this->view->error = $defendantsService->getError();

$this->view->warning = $defendantsService->getWarning();

$this->render('/defendants/edit-defendant');

}

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

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

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

С этого момента можно осуществлять заведение дела. Дело заводится путем вызова функции CreatePrivateCase контроллера PrivateCaseController.

public function createPrivateCase()

{

/**

* @var PrivateCasesService $privateCasesService

**/

$params['defendantId'] = $this->request('defendant_id', '');

$params['caseType'] = $this->request('case_type', '');

$fields = array();

$privateCasesService = ServiceFactory::getByName('privateCases', $this, $params);

if($this->request->isPost()) {

$privateCaseId = $privateCasesService->createPrivateCase();

if(!$privateCasesService->handleRequestError()) {

$responseStatus = ResponseStatuses::RESPONSE_SUCCESS;

$responseParams = '';

if($privateCasesService->hasWarning()) {

$responseStatus = ResponseStatuses::RESPONSE_WARNING;

$responseParams = $privateCasesService->getWarning();

}

Flash::set($responseStatus, $responseParams);

RedirectManager::redirect(LinkHelper::getUrl('editPrivateCase', array('caseType' => $params['caseType'], 'caseId' => $privateCaseId)));

} else {

Flash::set(ResponseStatuses::RESPONSE_ERROR, $this->errorMessages['site_update_error']);

RedirectManager::redirect(Ahist::getPrevUri());

}

}

$this->view->error = $privateCasesService->getError();

$this->view->warning = $privateCasesService->getWarning();

$this->render('/defendants/edit-defendant');

}

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

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

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

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

5. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ

5.1 Определение вида тестирования

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

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

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

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

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

5.2 Объект тестирования

Объектом тестирования выступает «Веб-приложение для автоматизации учета правонарушений» (далее - Веб-приложение).

Веб-приложение обеспечивает следующую функциональность:

– ведение базы сотрудников;

– ведение базы мест работы;

– ведение базы личных дел правонарушителей;

– ведение базы правонарушений;

– ведение базы родственников правонарушителя;

– ведение базы профучета;

– обеспечение возможности просмотра и сортировки информации базы данных.

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

– Вход в систему;

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

– Добавить сотрудника;

– Просмотреть список сотрудников;

– Редактировать сотрудника;

– Изменить пароль сотрудника;

– Удалить сотрудника;

– Добавить правонарушителя;

– Просмотреть список правонарушителей;

– Просмотреть правонарушителя;

– Редактировать правонарушителя;

– Удалить правонарушителя;

– Добавить место работы правонарушителя;

– Просмотреть место работы правонарушителя;

– Редактировать место работы правонарушителя;

– Удалить место работы правонарушителя;

– Добавить родственника;

– Просмотреть список родственников;

– Просмотреть родственника;

– Редактировать родственника;

– Удалить родственника;

– Добавить дело;

– Просмотреть список дел;

– Просмотреть дело;

– Редактировать дело;

– Удалить дело;

– Добавить осуждение;

– Просмотреть список осуждений;

– Просмотреть осуждение;

– Редактировать осуждение;

– Удалить осуждение;

– Добавить нарушение;

– Просмотреть список нарушений;

– Просмотреть нарушение;

– Редактировать нарушение;

– Удалить нарушение;

– Добавить отчет профучета;

– Просмотреть список отчетов профучета;

– Просмотреть отчет профучета;

– Редактировать отчет профучета;

– Удалить отчето профучета;

– Формировать документ.

5.3 Цель тестирования

Предварительные испытания проводятся с целью проверки работоспособности Веб-приложения.

5.4 Средства и порядок испытаний

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

Запуск Веб-приложение осуществляется путем ввода в адресной строке браузера следующего адреса: http://ao.by.

5.5 Методы испытаний

5.5.1 Вход в систему

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

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

1) Запустить Веб-приложение, перейдя по ссылке http://ao.by.

2) В форме авторизации осуществить ввод логина и пароля.

3) Нажать на кнопку «Войти».

Проверка считается выполненной, если:

1) Доступ к Веб-приложению обеспечивается через сеть интернет.

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

3) При попытке войти незарегистрированному пользователю выдалось сообщение «Введенное сочетание логин и пароль не найдено в системе»

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

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

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

2) Нажать на кнопку «Выйти».

Проверка считается выполненной, если:

1) Если произошло перенаправление на страницу авторизации.

2) Если пропал доступ к внутренним страницам.

5.5.3 Добавить сотрудника

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


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

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

    курсовая работа [3,4 M], добавлен 23.03.2013

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

    курсовая работа [12,6 M], добавлен 17.06.2014

  • Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".

    практическая работа [26,0 K], добавлен 04.02.2015

  • Архитектура клиент-сервер на основе сокетов Windows. Описание утилиты Ipconfig. Конфигурирование стека TCP/IP. Реализация сокетов через классы NET. Структура библиотечных и пользовательских классов. Схема интерфейса пользователя и работы приложения.

    курсовая работа [419,5 K], добавлен 13.12.2012

  • Обзор существующего программного обеспечения. Структура и отличительные особенности формата MP3. Сокеты TCP/IP, клиент-сервер. Язык программирования Visual Basic.net в среде разработки Visual Studio 2008. Разработка приложения "MP3_Catalogizator".

    дипломная работа [2,1 M], добавлен 09.02.2015

  • Назначение и возможности разработанного приложения. Определение ограничения на таблицу в среде MS SQL Server. Структура базы данных: состав и содержание таблиц, SQL-код. Диалог пользователей с разработанным приложением, корректировка таблиц-справочников.

    курсовая работа [1,8 M], добавлен 30.04.2013

  • Описание основных используемых технологий и языков программирования. Язык программирования JavaScript. Таблица стилей CSS. Общая схема работы web-приложения. API система "1С-Битрикс: Управление сайтом". Формирование требований к сценариям работы.

    дипломная работа [186,4 K], добавлен 30.04.2014

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

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.

    курсовая работа [1,0 M], добавлен 16.12.2012

  • Представление данных в памяти компьютера. Обобщенные структуры и модели данных. Методы доступа к информации. Физическая организация системы управления базами данных, структура сервера. Архитектура "клиент-сервер". Создание базы данных с помощью "Денвер".

    курсовая работа [770,3 K], добавлен 17.11.2014

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