На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

АИС Система технической поддержки C#, WPF, SQL Server

Задание

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

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

Технологии: C#, WPF (.NET 6) + MVVM, SQL Server 2019.

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

Функционал программы

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

  • Авторизации пользователя;
  • Управление пользователями;
  • Управления категориями заявок;
  • Управление отделами технической поддержки;
  • Создание заявок технической поддержки;
  • Управление заявками;

Каждая функциональная возможность также требует наличия окна редактирования сущности.

Управление системой разделено на Администратора и Специалиста технической поддержки.

Содержание записки (91 страница)

  • ВВЕДЕНИЕ. 9
  • ГЛАВА 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ.. 11
  • 1.1. Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности «КАК ЕСТЬ». 11
  • 1.1.1.          Характеристика предприятия и его деятельности. 11
  • 1.1.2.          Организационная структура ООО «Озон Технологии». 12
  • 1.1.3.           Программная и техническая архитектура ИС предприятия. 13
  • 1.2.          Характеристика комплекса задач, задачи и обоснование необходимости автоматизации.. 15
  • 1.2.1.           Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов  15
  • 1.2.2.           Определение места проектируемой задачи в комплексе задач и ее описание. 17
  • 1.2.3.           Обоснование необходимости использования вычислительной техники для решения задачи   19
  • 1.2.4.           Анализ системы обеспечения информационной безопасности и защиты информации. 21
  • 1.3.          Анализ существующих разработок и выбор стратегии автоматизации «КАК ДОЛЖНО БЫТЬ». 24
  • 1.3.1.           Анализ существующих разработок для автоматизации задачи. 24
  • 1.3.2.           Выбор и обоснование стратегии автоматизации задачи. 29
  • 1.3.3.           Выбор и обоснование способа приобретения ИС для автоматизации задачи. 31
  • 1.4.          Обоснование проектных решений.. 33
  • 1.4.1.           Обоснование проектных решений по информационному обеспечению.. 33
  • 1.4.2.           Обоснование проектных решений по программному обеспечению.. 38
  • 1.4.3.           Обоснование проектных решений по техническому обеспечению.. 44
  • ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ.. 47
  • 2.1.          Разработка проекта автоматизации.. 47
  • 2.1.1.           Этапы жизненного цикла проекта автоматизации. 47
  • 2.1.2.           Ожидаемые риски на этапах жизненного цикла и их описание. 51
  • 2.1.3.           Организационно-правовые и программно-аппаратные средства обеспечения информационной безопасности и защиты информации. 54
  • 2.2.          Информационное обеспечение задачи.. 56
  • 2.2.1.           Информационная модель и её описание. 56
  • 2.2.2.           Характеристика нормативно-справочной, входной и оперативной информации. 57
  • 2.2.3.           Характеристика результатной информации. 59
  • 2.3.          Программное обеспечение задачи.. 60
  • 2.3.1.           Общие положения (дерево функций и сценарий диалога). 60
  • 2.3.2.           Характеристика базы данных. 61
  • 2.3.3.           Структурная схема пакета (дерево вызова программных модулей). 65
  • 2.3.4.           Описание программных модулей. 65
  • 2.4.          Контрольный пример реализации проекта и его описание. 66
  • ГЛАВА 3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА.. 73
  • 3.1.          Выбор и обоснование методики расчёта экономической эффективности   73
  • 3.2.          Расчёт показателей экономической эффективности проекта. 76
  • ЗАКЛЮЧЕНИЕ. 80
  • СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ.. 82
  • ПРИЛОЖЕНИЯ.. 84

Фрагмент программного кода

/// <summary>
/// Класс авторизации пользователя в системе с UI
/// </summary>
public sealed class AuthViewModel : BaseViewModel
{
    private readonly IAuthorizationService _authService;
    private readonly IServiceProvider _serviceProvider;

    public override string Title => "Авторизация";

    // Логин пользователя
    public string Login
    {
        get => GetValue<string>(nameof(Login));
        set => SetValue(value, nameof(Login));
    }

    public ICommand LoginCommand { get; }

    public AuthViewModel(IAuthorizationService authSerivce, IServiceProvider serviceProvider)
    {
        _authService = authSerivce;
        _serviceProvider = serviceProvider;
        LoginCommand = new AsyncCommand<object>(TryLogin, x => !string.IsNullOrWhiteSpace(Login));
    }

    // Метод авторизации пользователя
    public async Task TryLogin(object passwordControl)
    {
        await Execute(async () =>
        {
            var pswrdBox = (PasswordBox)passwordControl;

            // Проверка полей
            if (string.IsNullOrWhiteSpace(Login) || string.IsNullOrWhiteSpace(pswrdBox.Password))
            {
                MessageBox.Error("Заполните все поля.", "Ошибка авторизации");
                return;
            }

            try
            {
                // Попытка авторизовать пользователя
                var user = await _authService.Authorize(Login, pswrdBox.Password);
                // Установка текущего пользователя
                App.CurrentUser = user;
                // Отображение окна с меню
                _serviceProvider.GetRequiredService<MainView>().Show();
                // Закрыть окно авторизации
                App.Current.Windows[0].Close();
            }
            catch (AuthorizeException)
            {
                MessageBox.Error("Неверный логин или пароль.", "Ошибка авторизации");
            }
            catch (UserNotFoundAuthorizeException)
            {
                MessageBox.Error("Пользователь с таким логином и паролем не существует.", "Ошибка авторизации");
            }
            catch (Exception e)
            {
                MessageBox.Error(e.Message, "Внутренняя ошибка");
            }
        });
    }
}
/// <summary>
/// Сервис для авторизации пользователей в системе
/// </summary>
internal class AuthorizationService : IAuthorizationService
{
    private readonly TechSupportContext _context;

    public AuthorizationService(TechSupportContext context)
    {
        _context = context;
    }

    /// <summary>
    /// Метод авторизации пользователя
    /// </summary>
    /// <param name="nickname">Логин</param>
    /// <param name="password">Пароль</param>
    public async Task<CurrentUser> Authorize(string nickname, string password)
    {
        // Преобразование пароля в хэш
        var passwordHash = PasswordGenerator.Generate(password);

        // Поиск пользователя в базе
        var user = await _context.Users.FirstOrDefaultAsync(x => x.Login == nickname);

        if (user is null)
        {
            // Выбросить исключение, если пользователь не найден
            throw new UserNotFoundAuthorizeException();
        }

        if (user.PasswordHash != passwordHash)
        {
            // Выбросить исключение, если пароль не совпадает
            throw new AuthorizeException();
        }

        // Преобразование модели
        return user.ToCurrentUser();
    }
}

Скриншот архива с проектом

Пояснения по запуску программы

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

  • Visual Studio 2019;
  • .NET 6;
  • SQL Server (Local Db).

Всё это можно установить в установщике Visual Studio Installer при установке Visual Studio 2019.

После просто открыть проект и запустить программу. База автоматически создастся с пользователем admin для входа в программу.

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

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

Купить 3000,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

kostyaLem

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

3000,00 

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

Заказать через

TechSupportApp.rar
9431475
ВКР.docx
2527704
Оцени работу

рейтинг

АИС Система технической поддержки C#, WPF, SQL Server
Автоматизация приема и анализа заявок технической поддержки пользователей. АСУ ТП
Категория: Образование
Стоимость: 3000,00