Детальная информация
Название | Использование бесконфликтных реплицируемых типов данных для разработки совместного текстового редактора: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения» |
---|---|
Авторы | Багров Матвей Юрьевич |
Научный руководитель | Малыхина Галина Федоровна |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Выходные сведения | Санкт-Петербург, 2024 |
Коллекция | Выпускные квалификационные работы; Общая коллекция |
Тематика | CRDT; P2P; MVP; WebSocket; TCP; Java; Gradle; Intellij IDEA; распределенные системы; текстовый редактор; консистентность; пиры; клиент; сервер; JSON; distributed systems; text editor; consistency; peers; client; server |
Тип документа | Выпускная квалификационная работа бакалавра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Бакалавриат |
Код специальности ФГОС | 09.03.01 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2024/vr/vr24-2575 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Ключ записи | ru\spstu\vkr\30270 |
Дата создания записи | 11.07.2024 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
В данной работе описывается анализ существующих проблем распределенных систем и современных методов их решения. Описан процесс разработки ПО, результатом которой является приложение совместного редактирования текста для нескольких участников в одноранговой сети с возможностью общаться во встроенном чате. В основе логики редактора лежит своя реализация бесконфликтных реплицируемых типов данных. Задачи, которые решались в ходе разработки: 1. Исследование предметной области; 2. Анализ существующих решений; 3. Изучение требований заказчика; 4. Формирование технического задания и требований к продукту; 5. Выбор средств разработки; 6. Выбор архитектуры; 7. Разработка и тестирование приложения; 8. Анализ полученных результатов. Для разработки был выбран язык программирования Java, с реализацией графического интерфейса с помощью библиотеки Swing. Работа велась в интегрированной среде разработки Intellij IDEA. Основой приложения является архитектурный паттерн MVP. Для реализации P2P сети выбран протокол Web-Socket, написана программа сигнального сервера. Для реализации сетевого взаимодействия на Java выбрана библиотека Java-Websocket, для сокращения объема шаблонного кода использована библиотека Lombok.
This paper describes an analysis of existing problems of distributed systems and modern methods for solving them. The software development process is described, the result of which is a collaborative text editing application for several participants in a peer-to-peer network with the ability to communicate in a built-in chat. The editors logic is based on its own implementation of conflict-free replicated data types. Problems that were solved during development: 1. Research of the subject area; 2. Analysis of existing solutions; 3. Study of customer requirements; 4. Formation of technical specifications and product requirements; 5. Selection of development tools; 6. Choice of architecture; 7. Application development and testing; 8. Analysis of the results obtained. The Java programming language was chosen for development, with a graphical interface implemented using the Swing library. The work was carried out in the integrated development environment Intellij IDEA. The basis of the application is the MVP architectural pattern. To implement the P2P network, the Web-Socket protocol was chosen, and a signaling server program was written. To implement network in-teraction in Java, the Java-Websocket library was chosen, and the Lombok library was used to reduce the amount of boilerplate code.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
Количество обращений: 0
За последние 30 дней: 0