Тип работы:
Предмет:
Язык работы:


Разработка, компиляция и выполнение программ на языке C++ с использованием Web интерфейса

Работа №21718

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы30
Год сдачи2016
Стоимость5600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
318
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ
1 Анализ предметной области
1.1 Возможности студента в системе
1.2 Возможности преподавателя в системе
1.3 Обработка действий пользователя
1.4 Поддержка работы студента
1.5 Поддержка работы преподавателя
1.6 Анализ существующих решений
1.6.1 Инструментальные средства, поддерживающие онлайн компиляцию и
выполнение
2 Архитектура разработанной системы
2.1 Общая архитектура приложения
2.2 Средства разработки
2.3 Описание прецедентов
2.4 Модульная структура приложения
2.6 Данные, используемые системой
3 Реализация разрабатываемой системы
3.1 Разработка серверной части
3.2 Список функций слоя логики
4 Функционирование системы
4.1 Вход пользователя в систему
4.2 Рабочее пространство студента
4.3 Рабочее пространство преподавателя
4.4 Регистрация пользователей
4.5 Создание задания
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Приложение А Структура баз данных системы

На сегодняшний день существует множество различных программных продуктов для разработки программного обеспечения, как полностью свободного для использования с открытым исходным кодом, так и проприетарного, для использования которого пользователю приходится приобретать лицензию. Компании-разработчики каждый день предоставляют все больше и больше потенциала пользователям в своих программах. В связи с этим, память, занимаемая ими, растет в быстром темпе, а также растет время, требуемое на установку.
Обучение программированию на машинах с автономным программным обеспечением становится неудобным в ходе интерактивного обучения, и поэтому предлагается проводить его в онлайн системах, способных скомпилировать программный код, запустить программу на стороне сервера и выдать результат ее выполнения, а также вести учет выполненных работ.
На текущий момент существует множество подобных систем, но ни одна не позволяет в полной мере применять ее для обучения студентов. Все эти системы могут только производить какую-либо работу с программным кодом, будь то компиляция, исполнение или выдача результата, но для обучения программированию вдобавок необходим список определенных для выполнения студентом задач, а также рейтинг с оценками за их выполнение.
Данный подход к обучению программированию имеет свои достоинства и недостатки.
Достоинства:
• Отсутствие необходимости устанавливать то или иное специализированное программное обеспечение, ведь для работы такой системы пользователю достаточно иметь браузер с выходом в сеть Интернет;
• Задания могут выполняться в любое удобное для студента время в любом удобном для него месте;
• Студенту нет смысла переживать за свои работы, т.к. они все будут храниться на сервере;
• Автоматизированная система оценивания работ, экономящая время преподавателей;
Недостатки:
• Система не позволит подготовить студента к нормальному программированию в условиях разработки программного обеспечения в больших компаниях;
В настоящее время данный метод обучения студентов программированию распространен далеко не повсеместно, но развить его не составит труда. Скорее всего, он не сможет полностью заменить нынешний подход, оставив разработку программного обеспечения в специализированных программных продуктах манерой разработчиков, но может являться вводным для большинства начинающих студентов.
Целью данной работы является разработка онлайн системы обучения программированию, в которой студент сможет написать программный код, отправить его на компиляцию на сервер и получить выходные данные. Все задания будут автоматически оцениваться системой по нескольким критериям. В ходе анализа технического задания были определены основные задачи:
• Изучить информацию о данной предметной области;
• Проанализировать существующие системы;
• Выбрать вариант реализации разрабатываемой системы;
• Поиск возможного решения с открытым исходным кодом для последующей доработки;
• Разработка пользовательского интерфейса, удовлетворяющего всем требуемым функциям;
• Разработать клиентскую часть;
• Разработать серверную часть;
В ходе исследования предметной области были выделены основные функции, которыми должна обладать система. Она должна обеспечивать удобство проведения практических занятий во время лекций, как для студента, так и для преподавателя, путем их интерактивного взаимодействия, которое более подробно будет рассмотрено далее.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения выпускной квалификационной работы была разработана онлайн система обучения программированию. Функции, реализованные в полученной системе:
• Разработка программного кода онлайн с использованием веббраузера;
• Отправка выполненного задания на сервер для последующей компиляции и выполнения;
• Возможность написания задания для студентов преподавателем через удобный веб-интерфейс;
Также были выполнены общие требования к системе, а именно:
• Обеспечение необходимого уровня безопасности и надёжности, защиты от несанкционированного повреждения информации;
• Адекватное поведение системы при одновременной работе нескольких пользователей;
• Простой и интуитивно понятный интерфейс;
• Разграничение прав доступа;
Для достижения полученного результата были решены следующие задачи:
• Изучена информация о данной предметной области;
• Проанализированы существующие системы;
• Выбран вариант реализации разрабатываемой системы;
• Доработана серверная часть;
• Доработана клиентская часть;



1. Типичный программист [Электронный ресурс] : 5 онлайн компиляторов: запускаем и тестируем код прямо в браузере, одним кликом - Режим доступа: https://tproger.ru/digest/compile-code-online/
2. C++ Shell. Online C++ compiler [Электронный ресурс] : Онлайн компилятор - Режим доступа: http://cpp.sh
3. Compiler Explorer. C++ [Электронный ресурс] : Онлайн компилятор - Режим доступа: https://gcc.godbolt.org
4. Codingground. Compile and execute c++ online [Электронный ресурс] :
Онлайн компилятор — Режим доступа:
http://www.tutorialspoint.com/compile_cpp_online.php
5. Ideone. [Электронный ресурс] : Онлайн компилятор — Режим доступа: http://ideone . com
6. SonnyLab. [Электронный ресурс] : Онлайн компилятор — Режим доступа: http://sonnylab . com/api/compiler.
7. Htmlbook. [Электронный ресурс] : HTML5 - Режим доступа:
http://htmlbook . ru/html5
8. Htmlbook. [Электронный ресурс] : CSS3 - Режим доступа:
http://htmlbook.ru/css3
9. Node.js [Электронный ресурс] : About - Режим доступа:
https://nodejs.org/en/about/
10. Softtime [Электронный ресурс] : Работа с SQLite - Режим доступа: http://www.softtime.ru/article/?id_article=70
11. Хабрахабр [Электронный ресурс] : npm для простых смертных - Режим доступа: https://habrahabr.ru/post/243335/
12. Express [Электронный ресурс] : Express - фреймворк веб-приложений Node.js - Режим доступа: http://expressjs.com/ru/
13. Хабрахабр [Электронный ресурс] : Как работает Passport.js - Режим доступа: https://habrahabr.ru/post/201206/
14. Socket.IO [Электронный ресурс] : Socket.io - Режим доступа:
http://socket.io
15. Cloud Commander [Электронный ресурс] : Облачный файловый менеджер
- Режим доступа: http://ru.cloudcmd.io
16. Wikipedia [Электронный ресурс] : bcrypt - Режим доступа:
https://ru.wikipedia.org/wiki/Bcrypt
17. Ruseller [Электронный ресурс] : Стартуем с SQLite3 - Основные команды
- Режим доступа: http://ruseller.com/lessons.php?id=2277&rub=32


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ