Главная страница
Навигация по странице:

  • Тестирование кода.

  • Ручное тестирование. Была осуществлена проверка функциональности системы от имени пользователя и администратора. Нагрузочное и стрессовое тестирование

  • центр занятости населения (3). 1. 3Программа и методика испытания разработанной системы 28


    Скачать 1.78 Mb.
    Название1. 3Программа и методика испытания разработанной системы 28
    Дата30.05.2022
    Размер1.78 Mb.
    Формат файлаdocx
    Имя файлацентр занятости населения (3).docx
    ТипРеферат
    #556242


    Титульный лист

    Задание

    СОДЕРЖАНИЕ


    СОДЕРЖАНИЕ 3

    ВВЕДЕНИЕ 4

    1.ОСНОВНОЙ РАЗДЕЛ 7

    1.1Проектирование и разработка базы данных 7

    1.1.1Концептуальное проектирование базы данных 7

    1.1.2Логическое проектирование базы данных 14

    1.1.3Физическое проектирование базы данных 15

    1.2Проектирование и разработка приложения 21

    1.2.1 Функциональные возможности системы 21

    1.2.2 Описание входной и выходной информации 22

    1.2.3 Разработка интерфейсных форм приложения 23

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

    1.3Программа и методика испытания разработанной системы 28

    ЗАКЛЮЧЕНИЕ 31

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


    ВВЕДЕНИЕ


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

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

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

    • поиск, обработка и хранение информации;

    • хранение данных разной структуры;

    • анализ и прогнозирование потоков информации различных видов и типов;

    • генерации отчетов для формального представления информации;

    • и многие другие;

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

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

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

    В процессе выполнения проекта необходимо исследовать особенности предприятия (центр занятости населения) и проанализировать современные средства автоматизации информационного сопровождения поиска работы. Необходимо проанализировать деятельность предприятия, разработать объектно-ориентированную модель для решения задачи автоматизации информационного сопровождения поиска работы и откликов на вакансии, построить UML, use-case диаграммы проектируемой системы. Написанная на основании исследования информационная система, должна соответствовать функциональным и нефункциональным требованиям, а также отвечать требованиям надежности и отказоустойчивости.

    Таким образом, целью работы является разработка системы «центр занятости населения».

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

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

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

    1. Выбраны данные, подлежащие сохранению.

    2. Построена модель данных.

    3. Выбраны алгоритмы расчета назначения пособия и снятия с учета соискателей.

    4. Создано и протестировано приложение «центр занятости населения».

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

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

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

    Практическая значимость полученных результатов работы заключается возможности применения данной информационной системы на базе любого центра занятности населения.
    1. ОСНОВНОЙ РАЗДЕЛ

      1. Проектирование и разработка базы данных

        1. Концептуальное проектирование базы данных


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

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

    Сотрудники Центра занятости обязаны в течение 10 дней со дня обращения гражданина предложить ему два варианта подходящей работы. В случае невозможности предоставления гражданам подходящей работы из-за отсутствия вакансий сотрудником Центра принимается решение о признании гражданина безработным и начислении пособия, начиная с 11-го дня после обращения в Центр. При этом безработными не признаются те, кто отказался от двух предложенных вариантов работы, а также впервые ищущие работу, отказавшиеся от двух вариантов работы.

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

    • Соискатель

    • Вакансия

    • Отклик на вакансию

    • Выплаты

    • Организация

    • Контактное лицо организации

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



    Рис 1. Диаграмма сущность-связь

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



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

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

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

    UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур[1].



    Рис 2. UML – диаграмма классов
    Рассмотрим подробнее поля каждой сущности. На рисунках 3-13 приведены составы таблиц базы данных, обеспечивающие полноценную работу системы. Административные таблицы помечены префексом AspNet.



    Рис 3. Параметры сущности «Соискатели» – People



    Рис 4. Параметры сущности «Выплаты по безработице» - UnemploynmentBenefits



    Рис. 5 Параметры сущности Вакансии – «Vacancies»



    Рис. 6 – Параметры сущности «Отклики на вакансии» - VacancyApplications



    Рис. 7 Справочник – «Тип образования» - EducationType



    Рис 8. Параметры сущности «Организация» - Organization



    Рис 10. – Параметры сущности «Контактное лицо организации» – OrganizationContacts



    Рис 11. Параметры сущности «Пользователи» - AspNetUsers



    Рис 12. Параметры сущности «Роли в системе» - Aps.netRoles



    Рис 13. Параметры служебной сущности «Пользователь-Роль» - AspNetUserRoles

        1. Логическое проектирование базы данных


    Даталогическая модель представляет собой имплементацию бизнес модели на базу данных и представлена на рисунке 3 в виде Entity-Relations диаграммы. ER-модель (от англ. Entity-Relationship model, модель «сущность — связь») — модель данных, позволяющая описывать концептуальные схемы предметной области. ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями. Как видно из рисунка 14, для реализации связи один-ко-многим (например, значение организация - вакансии) используется внешний ключ (foreign key).



    Рис 14. ER – Диаграмма основных сущностей системы.



    Рис 15. ER – модель служебных сущностей

    Как видно из рисунка 15, для реализации связи многие-ко-многим, согласно правилам нормализации данных, была создана промежуточная таблица.
        1. Физическое проектирование базы данных



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

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

    • Были устранены повторяющиеся группы в отдельных таблицах.

    • Созданы отдельные таблицы для каждого набора связанных данных.

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

    Создание базы данных можно разделить на три последовательных этапа:

    Этап 1. Создание таблиц и связей между ними

    /****** создаём БД ******/
    USE [master]

    GO
    CREATE DATABASE [EmploymentCenter]

    GO

    /****** создаём таблицы ******/
    USE [EmploymentCenter]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[EducationTypes](

    [Id] [uniqueidentifier] NOT NULL,

    [Name] [nvarchar](max) NULL,

    CONSTRAINT [PK_dbo.EducationTypes] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[Organizations](

    [Id] [uniqueidentifier] NOT NULL,

    [Name] [nvarchar](max) NULL,

    [Description] [nvarchar](max) NULL,

    CONSTRAINT [PK_dbo.Organizations] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[OrganzationContacts](

    [Id] [uniqueidentifier] NOT NULL,

    [Name] [nvarchar](max) NULL,

    [PhoneNumber] [nvarchar](max) NULL,

    [OrganizationId] [uniqueidentifier] NOT NULL,

    CONSTRAINT [PK_dbo.OrganzationContacts] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[People](

    [Id] [uniqueidentifier] NOT NULL,

    [Name] [nvarchar](max) NULL,

    [PhoneNumber] [nvarchar](max) NULL,

    [Gender] [int] NOT NULL,

    [PassportNumber] [nvarchar](max) NULL,

    [Speciality] [nvarchar](max) NULL,

    [Experience] [int] NOT NULL,

    [HasComputerSkills] [bit] NOT NULL,

    [Languages] [nvarchar](max) NULL,

    [ApplyDate] [datetime] NOT NULL,

    [EducationType_Id] [uniqueidentifier] NULL,

    [PassportSerialNumber] [nvarchar](max) NULL,

    CONSTRAINT [PK_dbo.People] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[UnemploymentBenefits](

    [Id] [uniqueidentifier] NOT NULL,

    [StartDate] [datetime] NOT NULL,

    [Person_Id] [uniqueidentifier] NULL,

    CONSTRAINT [PK_dbo.UnemploymentBenefits] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[Vacancies](

    [Id] [uniqueidentifier] NOT NULL,

    [OrganizationId] [uniqueidentifier] NOT NULL,

    [Position] [nvarchar](max) NULL,

    [Salary] [float] NOT NULL,

    [Speciality] [nvarchar](max) NULL,

    [MinExperience] [int] NULL,

    [Age] [int] NULL,

    [Gender] [int] NULL,

    [Languages] [nvarchar](max) NULL,

    [HasComputerSkills] [bit] NOT NULL,

    [Education_Id] [uniqueidentifier] NULL,

    [IsActual] [bit] NOT NULL,

    CONSTRAINT [PK_dbo.Vacancies] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE TABLE [dbo].[VacancyApplications](

    [Id] [uniqueidentifier] NOT NULL,

    [Applied] [bit] NULL,

    [ApplicationDate] [datetime] NULL,

    [IsRefused] [bit] NULL,

    [DateOfRefuse] [datetime] NULL,

    [Person_Id] [uniqueidentifier] NULL,

    [Vacancy_Id] [uniqueidentifier] NULL,

    CONSTRAINT [PK_dbo.VacancyApplications] PRIMARY KEY CLUSTERED

    (

    [Id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY]

    GO
    ALTER TABLE [dbo].[Vacancies] ADD DEFAULT ((0)) FOR [IsActual]

    GO
    /****** добавляем связи при помощи внешних ключей ******/
    ALTER TABLE [dbo].[OrganzationContacts] WITH CHECK ADD CONSTRAINT [FK_dbo.OrganzationContacts_dbo.Organizations_OrganizationId] FOREIGN KEY([OrganizationId])

    REFERENCES [dbo].[Organizations] ([Id])

    ON DELETE CASCADE

    GO

    ALTER TABLE [dbo].[OrganzationContacts] CHECK CONSTRAINT [FK_dbo.OrganzationContacts_dbo.Organizations_OrganizationId]

    GO

    ALTER TABLE [dbo].[People] WITH CHECK ADD CONSTRAINT [FK_dbo.People_dbo.EducationTypes_EducationType_Id] FOREIGN KEY([EducationType_Id])

    REFERENCES [dbo].[EducationTypes] ([Id])

    GO

    ALTER TABLE [dbo].[People] CHECK CONSTRAINT [FK_dbo.People_dbo.EducationTypes_EducationType_Id]

    GO

    ALTER TABLE [dbo].[UnemploymentBenefits] WITH CHECK ADD CONSTRAINT [FK_dbo.UnemploymentBenefits_dbo.People_Person_Id] FOREIGN KEY([Person_Id])

    REFERENCES [dbo].[People] ([Id])

    GO

    ALTER TABLE [dbo].[UnemploymentBenefits] CHECK CONSTRAINT [FK_dbo.UnemploymentBenefits_dbo.People_Person_Id]

    GO

    ALTER TABLE [dbo].[Vacancies] WITH CHECK ADD CONSTRAINT [FK_dbo.Vacancies_dbo.EducationTypes_Education_Id] FOREIGN KEY([Education_Id])

    REFERENCES [dbo].[EducationTypes] ([Id])

    GO

    ALTER TABLE [dbo].[Vacancies] CHECK CONSTRAINT [FK_dbo.Vacancies_dbo.EducationTypes_Education_Id]

    GO

    ALTER TABLE [dbo].[Vacancies] WITH CHECK ADD CONSTRAINT [FK_dbo.Vacancies_dbo.Organizations_OrganizationId] FOREIGN KEY([OrganizationId])

    REFERENCES [dbo].[Organizations] ([Id])

    ON DELETE CASCADE

    GO

    ALTER TABLE [dbo].[Vacancies] CHECK CONSTRAINT [FK_dbo.Vacancies_dbo.Organizations_OrganizationId]

    GO

    ALTER TABLE [dbo].[VacancyApplications] WITH CHECK ADD CONSTRAINT [FK_dbo.VacancyApplications_dbo.People_Person_Id] FOREIGN KEY([Person_Id])

    REFERENCES [dbo].[People] ([Id])

    GO

    ALTER TABLE [dbo].[VacancyApplications] CHECK CONSTRAINT [FK_dbo.VacancyApplications_dbo.People_Person_Id]

    GO

    ALTER TABLE [dbo].[VacancyApplications] WITH CHECK ADD CONSTRAINT [FK_dbo.VacancyApplications_dbo.Vacancies_Vacancy_Id] FOREIGN KEY([Vacancy_Id])

    REFERENCES [dbo].[Vacancies] ([Id])

    GO

    ALTER TABLE [dbo].[VacancyApplications] CHECK CONSTRAINT [FK_dbo.VacancyApplications_dbo.Vacancies_Vacancy_Id]

    GO
    Этап 2. Написание триггеров

    /****** для формирования значений первичных ключей

    ******/

    CREATE TRIGGER [IdentityTrigger]

    ON [dbo].[EducationTypes]

    INSTEAD OF INSERT

    AS

    BEGIN

    declare @Id uniqueidentifier

    set @Id = newid()

    declare @Name nvarchar(100)

    select @Name = Name from inserted

    insert into dbo.EducationTypes values (@Id,@Name)

    SET NOCOUNT ON

    END

    /****** для запрета удаления гражданина, которому назначено пособие ******/
    CREATE TRIGGER dbo.[OnPersonDeleteTrigger]

    ON [dbo].[People]

    FOR DELETE

    AS begin

    DECLARE @PersonId uniqueidentifier, @HasBenifits integer

    select @PersonId = Id from deleted

    select @HasBenifits= count(*) from dbo.UnemploymentBenefits U where U.Person_Id = @PersonId

    if(@HasBenifits > 0)

    rollback transaction
    SET NOCOUNT ON
    End

    /****** для проверки правильности формирования "Серия паспорта" и "Номер паспорта". Маска серии: 4 цифры Маска номера: шесть цифр******/
    CREATE TRIGGER [PassportTrigger]

    ON [dbo].[People]

    FOR INSERT, UPDATE

    AS

    BEGIN

    declare @PassportNumber nvarchar(100)

    declare @PassportSeria nvarchar(100)
    select @PassportNumber = PassportNumber, @PassportSeria = PassportSerialNumber from inserted
    if(LEN(@PassportNumber)!=6 or LEN(@PassportSeria)!=4 or Isnumeric(@PassportNumber)<> 1or Isnumeric(@PassportSeria)<> 1)

    rollback transaction

    SET NOCOUNT ON

    END
    Этап 3. Написание хранимых процедур
    /*** Функция, принимающая в качестве параметров серию и номер паспорта и возвращающая количество вакансий, отклоненных данным гражданином.***/
    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE FUNCTION GetRejectedVacances

    (

    @passportNumber nvarchar(6), @passportSeria nvarchar(4)

    )

    RETURNS int

    AS

    BEGIN

    Declare @count int

    SELECT @Count = count(*) from dbo.People P join dbo.VacancyApplications V on P.Id = V.Person_Id where V.IsRefused = 1 and P.PassportNumber = @passportNumber and P.PassportSerialNumber = @passportSeria

    return @count

    END

    GO

    /*** Функция, проверяющая правильность поля "Пол". Параметры: отчество и пол. Возвращаемое значение – пустая строка или строка "не соответствует", если отчество не соответствуют установленному полу. Основные правила: мужской пол – отчество оканчивается на 'ИЧ'; женский пол – окончание отчества 'НА'.***/
    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE FUNCTION CheckGender

    (

    @gender nvarchar(12), @fathersName nvarchar(100))

    RETURNS bit

    AS

    BEGIN

    Declare @checked bit

    return

    case when substring(@fathersName, len(@fathersName)-1, 2) = N'на' and @gender = N'женский' then 1

    when substring(@fathersName, len(@fathersName)-1, 2) = N'ич' and @gender = N'мужской' then 1

    else 0 end
    END

    GO

    /*** Процедура, возвращающая количество мужчин и количество женщин, обратившихся в Центр в текущем месяце.***/
    CREATE PROCEDURE MenAndWomenInCurrnetMonth

    AS

    BEGIN

    -- SET NOCOUNT ON added to prevent extra result sets from

    -- interfering with SELECT statements.

    SET NOCOUNT ON;

    select count(*), gender from dbo.People P where month(getdate()) = month(p.ApplyDate) and year(getdate()) = year(p.ApplyDate)

    group by Gender
    END

    GO

      1. Проектирование и разработка приложения



    1.2.1 Функциональные возможности системы


    Информационная система центра занятости населения поддерживает два режима работы:

    • Пользовательский режим;

    • Административный.

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

    • заведение новой вакансии в систему;

    • редактирование вакансии;

    • удаление вакансии (при условии, что не неё нет откликов);

    • добавление соискателя в систему;

    • удаление соискателя;

    • редактирование данных о соискателе;

    • назначение пособия;

    • просмотр списков соискателей.

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

    1.2.2 Описание входной и выходной информации


    Администратор получает от организации информацию о вакансии. В неё входят:

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

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

    • Контакты ответственного лица от организации.

    Администратор получает информацию о соискателе:

    • ФИО;

    • Пол и возраст;

    • паспортные данные;

    • уровень образования;

    • опыт работы.

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

    Таким образом выходными данными системы являются:

    • списки вакансий;

    • списки соискателей;

    • назначенные пособия.






    1.2.3 Разработка интерфейсных форм приложения



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

    Рис 16. Главный экран системы «центр занятости населения»



    Рис 17. Экран входа в систему «центр занятости населения»



    Рис 18. Неудачный вход в систему «центр занятости населения»



    Рис 19. Регистрация нового пользователя в системе «центр занятости населения»



    Рис 20. Успешная регистрация / вход в систему «центр занятости населения»



    Рис 21. Экран добавления новой вакансии системы «центр занятости населения»



    Рис 22. Список вакансий для зарегистрированных пользователей и администраторов системы «центр занятости населения»



    Рис. 23. Результаты поиска по параметру «заработная плата» системы «центр занятости населения»

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


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



    Рис. 24 Диаграмма развертывания информационной системы «центр занятости населения»

    Для работы с программой потребуются минимальные аппаратные требования для работы на ОС Windows 7, включающих в себя: процессор Intel Сore i3 -3200U, 2 ядра, оперативной памятью 4 Гбайт, памятью на диске 100 Гбайт, свободной памятью на диске 300 Mбайт, видеоадаптер типа SVGA, обеспечивающий отображение 16bit цветов в разрешении 1920 x 1080, windows-совместимая мышь, Windows-совместимая клавиатура со стандартным набором клавиш, монитор с разрешение 1920х1080, бесперебойный блок питания на 220V. Так как информационная система является web-приложением, необходимо наличие браузера. Приложение запускается с любого браузера, благодаря кроссбраузерной вёрстке, отображается одинаково во всех интернет-браузерах.

      1. Программа и методика испытания разработанной системы


    Тестирование системы проводилось в три этапа:

    • тестирование кода с помощью тестовых методов;

    • ручное тестирование системы;

    • тестирование под нагрузкой.



    Тестирование кода.

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

    Ручное тестирование.

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

    Нагрузочное и стрессовое тестирование

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

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

    Для проведения нагрузочного тестирования применялся JMeter. Apache JMeter — инструмент для проведения нагрузочного тестирования, разрабатываемый Apache Software Foundation [15].

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



    Рис 25. Результаты нагрузочного тестирования сайта агенства недвижимости в системе JMeter.

    ЗАКЛЮЧЕНИЕ


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

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


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




    1. Ларман К., Применение UML 2.0 и шаблонов проектирования, 3-е издание. Пер. с англ.-М.: Вильямс, 2007. – 624 с.;

    2. Фаулер М., UML. Основы.-М.: Символ-Плюс, 3-е издание, 2005. – 184 с.

    3. Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software – Addison Wesley, 2003, – 560с.

    4. Черткова, Е. А. Статистика. Автоматизация обработки информации : учеб. пособие для вузов / Е. А. Черткова ; под общ. ред. Е. А. Чертковой. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2017. — 195 с.

    5. Полное руководство по языку программирования С# 10 и платформе .NET 6 – Вильямс – 540с.;

    6. Карвин, Билл Программирование баз данных SQL. Типичные ошибки и их устранение / Билл Карвин. - М.: Рид Групп, 2018. - 336 c.

    7. Кригель, А. SQL. Библия пользователя / А. Кригель. - М.: Диалектика / Вильямс, 2016. - 0 c.

    8. .Грин Дж. Изучаем C# / Дж. Грин, Э. Стиллмен. – СПб.: «Питер», 2012.

    9. Маркин, А. В. Программирование на sql в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М. : Издательство Юрайт, 2019. — 292 с.

    10. Кудрина, Е. В. Основы алгоритмизации и программирования на языке c# : учеб. пособие для СПО / Е. В. Кудрина, М. В. Огнева. — М. : Издательство Юрайт, 2019. — 322 с.

    11. Сысолетин, Е. Г. Разработка интернет-приложений : учеб. пособие для вузов / Е. Г. Сысолетин, С. Д. Ростунцев ; под науч. ред. Л. Г. Доросинского. — М. : Издательство Юрайт, 2019. — 90 с

    12. Зыков, С. В. Программирование. Объектно-ориентированный подход: учебник и практикум для академического бакалавриата / С. В. Зыков. — М.: Издательство Юрайт, 2019. — 155 с.

    13. Построение диаграмм: [Электронный ресурс] URL: https://online.visual-paradigm.com/drive/#diagramlist:proj=0&dashboard

    14. Microsoft Visual Studio Overview, [Электронный ресурс] URL:

    http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2005

    1. Load Testing using Apache JMeter Testing Tool, , [Электронный ресурс] URL:http://jakarta.apache.org/jmeter

    2. Рейтинг языков программирования TOIBE [Электронный ресурс] URL: https://www.tiobe.com/tiobe-index/

    3. 3-Tier System Architecture, [Электронный ресурс] URL:http://en.wikipedia.org/wiki/Multitier_architecture

    4. ASP.NET and Web Development Overview, : [Электронный ресурс] URL:

    http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

    1. Introduction to ADO.NET, [Электронный ресурс] URL: http://en.wikipedia.org/wiki/ADO.NET

    2. Introduction to .NET Architecture, [Электронный ресурс] URL: http://www.devtopics.com/what-is-net/

    3. Common Language Infrastructure Definition, [Электронный ресурс] URL: http://en.wikipedia.org/wiki/Common_Language_Infrastructure

    4. 3-Tier Architecture [Электронный ресурс] URL: http://www.c-sharpcorner.com/

    5. Рейтинг СУБД по версии TOPDB- [Электронный ресурс] URL: https://pypl.github.io/DB.html

    6. Константин Таранов о SQL Server [Электронный ресурс] URL: https://habr.com/ru/company/pgdayrussia/blog/329842/

    7. Рейтинг СУБД по версии компании Flourish [Электронный ресурс] URL: https://public.flourish.studio/visualisation/5446616/?utm_source=showcase&utm_campaign=visualisation/5446616

    ПРИЛОЖЕНИЕ 1. UML-диаграмма классов



    написать администратору сайта