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

Главная
Программирование, компьютеры и кибернетика
Разработка приложения для оценивания фильмов
Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
по дисциплине: Технологии программирования
Разработка приложения для оценивания фильмов
Целью данной курсовой работы является создание многоуровневого приложения с Web-интерфейсом. В связи с чем, мной были поставлены следующие задачи:
Создание базы данных и её связь с приложением
Создание понятного и удобного интерфейса для пользователей
Создание удобного интерфейса для администратора
В качестве объекта автоматизации мной был выбран процесс выставления оценки фильму и просмотра оценок других пользователей.
Данное приложение предназначено для помощи при выборе фильма по различным категориям: жанрам, стране, актерам, оценкам других пользователей и т.д.
Целевая аудитория - люди, которые не могут самостоятельно определиться с выбором, хотели бы найти что-то подходящее им по атмосфере или настроению или другим тэгам.
Пользователи могут оставлять свое мнение о фильме и просматривать все мнения, которые оставили другие пользователи, чтобы решить, стоит смотреть фильм или нет.
Разрабатываемое приложение должно выполнять следующие функции:
Удобный интерфейс для просмотра мнений и оценивания фильмов;
Предоставление пользователям возможности оценить фильм по различным категориям;
Основные сущности в базе данных: пользователь, фильм.
Получаем следующую схему таблиц и связи между ними:
Полная схема связей между таблицами БД в приложении 1.
Незарегистрированный пользователь попадает на главную страницу сайта, с описанием приложения. В верхней части страницы будет меню с возможностью перехода на страницу с поиском случайного фильма. В верхнем правом углу ссылка для входа и регистрации.
Меню предназначается для навигации по сайту и предлагает ссылки на все страницы доступные данной категории пользователя. Для зарегистрированных пользователей и администратора меню дополняется некоторыми ссылками. При переходе по ссылкам меню его вид не изменяется.
Страница регистрации. Эта страница предназначена для регистрации пользователя. Она содержит форму регистрации с полями, необходимыми для создания учетной записи. Если регистрация прошла успешно, пользователь перенаправляется на страницу, которая сообщает ему об успешной регистрации. После этого, а также когда пользователь заходит в приложение под своим логином, в верхнем правом углу видно его логин и ссылку для смены пароля.
Основное содержание страницы меняется в зависимости от местонахождения пользователя.
Главная страница. Эта страница отображается при первом входе на сайт, ее оформление и содержание рассказывает пользователю о приложении.
На странице фильмов присутствует выбор фильма, при нажатии показывается подробная информация о фильме со всеми оценками к этому фильму.
На странице оценивания пользователь может выбрать и оценить любой фильм, присутствующий в базе данных приложения, а также просмотреть и отредактировать свои оценки.
На странице данных пользователя, доступной для всех зарегистрированных пользователей есть возможность изменить свои данные.
На странице доступной только для администратора присутствует возможность редактировать все базы данных приложения.
В качестве средства проектирования базы данных был выбран Microsoft SQL Server.
Приложение разработано в среде Microsoft Visual Studio 2010, на технологии ASP .NET MVC, на языке программирования C#. При разработке была использована стратегия Code First. Для связи с базой используется EntityFramework. Клиентская часть приложения использует HTML5. Приложение является многопользовательским и для этого используются объекты Membership.
Сначала была выбрана тема курсовой работы и функции, которые должно выполнять приложение. На основе этого была спроектирована и заполнена база данных. Следующим этапом был спроектирован общий вид интерфейса. Далее, были программно реализованы страницы для пользователей, не зарегистрированных посетителей и администратора. Далее приложение было протестировано и откорректировано на ошибки. Интерфейс был дополнен из соображений удобства.
[Required(ErrorMessage = "Введите название фильма")]
public string FilmName { get; set; }
public decimal Reiting { get; set; }
[DisplayName("Оригинальное название")]
public string FilmNameEn { get; set; }
public string Description { get; set; }
public List GenreFilm { get; set; }
public List ActorFilm { get; set; }
public List ProduserFilm { get; set; }
public List CountryFilm { get; set; }
public List TagFilm { get; set; }
public virtual List Mark { get; set; }
Таблица Жанры (модели таблиц Актеры, Продюсеры, Тэги и Страны выглядят таким же образом)
[Required(ErrorMessage = "Введите название жанра")]
public string GenreName { get; set; }
public List GenreFilm { get; set; }
public int GenreFilmId { get; set; }
public virtual Film Film { get; set; }
public virtual Genre Genre { get; set; }
[DisplayName("Качество изображения")]
[DisplayName("Ваша оценка фильму")]
public string CoolView { get; set; }
public string CoolTrack { get; set; }
public string Comment { get; set; }
public virtual Film Film { get; set; }
public virtual User User { get; set; }
public string UserName { get; set; }
public string GenreLike { get; set; }
public string Filmlike { get; set; }
public string ActorLike { get; set; }
public string AboutMe { get; set; }
public List Mark { get; set; }
public class FilmionEntities : DbContext
public DbSet Genre { get; set; }
public DbSet Country { get; set; }
public DbSet Actor { get; set; }
public DbSet Produser { get; set; }
public DbSet GenreFilm { get; set; }
public DbSet CountryFilm { get; set; }
public DbSet ActorFilm { get; set; }
public DbSet ProduserFilm { get; set; }
public DbSet TagFilm { get; set; }
public DbSet Film { get; set; }
public DbSet Tag { get; set; }
public DbSet Category { get; set; }
public DbSet User { get; set; }
public DbSet Mark { get; set; }
public class RandomFilmController : Controller
FilmionEntities DB = new FilmionEntities();
int[] array = (from film in films select film.FilmId).ToArray();
int random=rand.Next(0,array.Length);
var randomfilm = DB.Film.Find(array[random]);
Создание, изменение, удаление жанров
public class GenreManagerController : Controller
private FilmionEntities db = new FilmionEntities();
public ActionResult Create(Genre genre)
public ActionResult Edit(Genre genre)
db.Entry(genre).State = EntityState.Modified;
public ActionResult DeleteConfirmed(int id)
protected override void Dispose(bool disposing)
public class GenreFilmManagerController : Controller
private FilmionEntities db = new FilmionEntities();
var genrefilm = db.GenreFilm.Where(a => a.FilmId == id).ToList();
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName");
ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "GenreName");
public ActionResult Create(GenreFilm genrefilm)
return RedirectToAction("Index", "FilmManager");
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName", genrefilm.FilmId);
ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "GenreName", genrefilm.GenreId);
GenreFilm genrefilm = db.GenreFilm.Find(id);
ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "GenreName", genrefilm.GenreId);
public ActionResult Edit(GenreFilm genrefilm)
db.Entry(genrefilm).State = EntityState.Modified;
return RedirectToAction("Index", "FilmManager");
ViewBag.GenreId = new SelectList(db.Genre, "GenreId", "GenreName", genrefilm.GenreId);
GenreFilm genrefilm = db.GenreFilm.Find(id);
public ActionResult DeleteConfirmed(int id)
GenreFilm genrefilm = db.GenreFilm.Find(id);
return RedirectToAction("Index", "FilmManager");
protected override void Dispose(bool disposing)
Создание, изменение редактирование фильма
public class FilmManagerController : Controller
private FilmionEntities db = new FilmionEntities();
public ActionResult Create(Film film)
public ActionResult Edit(Film film)
db.Entry(film).State = EntityState.Modified;
public ActionResult DeleteConfirmed(int id)
protected override void Dispose(bool disposing)
public class MarkController : Controller
private FilmionEntities db = new FilmionEntities();
var mark = db.Mark.Include(m => m.Film).Include(m => m.User);
public ActionResult MarkFilm(int id)
var marks = db.Mark.Where(a => a.FilmId == id).ToList();
var marks = db.Mark.Where(a => a.User.UserName == User.Identity.Name).ToList();
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName");
public ActionResult Create(Mark mark)
var user = db.User.Single(a => a.UserName == User.Identity.Name);
return RedirectToAction("MarkUser");
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName", mark.FilmId);
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName", mark.FilmId);
public ActionResult Edit(Mark mark)
db.Entry(mark).State = EntityState.Modified;
return RedirectToAction("MarkUser");
ViewBag.FilmId = new SelectList(db.Film, "FilmId", "FilmName", mark.FilmId);
public ActionResult DeleteConfirmed(int id)
return RedirectToAction("MarkUser");
protected override void Dispose(bool disposing)
public class UserController : Controller
private FilmionEntities db = new FilmionEntities();
return View(db.User.First(d=>d.UserName == User.Identity.Name));
public ActionResult Create(User user)
user.UserName = User.Identity.Name;
public ActionResult Edit(User user)
user.UserName = User.Identity.Name;
db.Entry(user).State = EntityState.Modified;
protected override void Dispose(bool disposing)
Контроллер просмотра информации о фильмах
public class FilmsController : Controller
FilmionEntities DB = new FilmionEntities();
var genreFilm = DB.GenreFilm.Where(a => a.GenreId == id).ToList();
Контроллер для выведения списков жанров, актеров и др. для конкретного фильма
public class ListController : Controller
private FilmionEntities db = new FilmionEntities();
public ActionResult CountryList(int id)
var countryfilm = db.CountryFilm.Where(a => a.FilmId == id).ToList();
public ActionResult ActorList(int id)
var actorfilm = db.ActorFilm.Where(a => a.FilmId == id).ToList();
public ActionResult GenreList(int id)
var genrefilm = db.GenreFilm.Where(a => a.FilmId == id).ToList();
public ActionResult ProduserList(int id)
var produserfilm = db.ProduserFilm.Where(a => a.FilmId == id).ToList();
public ActionResult TagList(int id)
var tagfilm = db.TagFilm.Where(a => a.FilmId == id).ToList();
В данной курсовой работе были выполнены поставленные задачи, а именно:
Была создана база данных на MicrosoftSQLServer 2008;
Было разработано многопользовательское веб-приложение на ASP.NET MVC 3 с разграничением доступа к данным;
Был разработан простой в понимании интерфейс;
Приложение выполняет все функции прописанные в техническом задании.
1.Алекс Макки - Введение в .NET 4.0 и VisualStudio 2010 для профессионалов
2.Эндрю Троелсен- Язык программирования C# 2010 и платформа .NET 4
3.http://msdn.microsoft.com/ - статьи по Microsoft .NETFramework 4, VisualStudio и пошаговые руководства по созданию веб-приложений
Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения. курсовая работа [395,4 K], добавлен 28.04.2015
Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения. курсовая работа [2,2 M], добавлен 14.04.2019
Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование. курсовая работа [352,0 K], добавлен 24.08.2016
Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей. курсовая работа [4,8 M], добавлен 28.04.2014
Разработка исполняемого Win32 приложения с визуальным интерфейсом, обеспечивающим построение функций принадлежности. Проектирование визуального интерфейса приложения, включающего кнопки доступа к функциям построения графика, полей ввода исходных данных. дипломная работа [343,8 K], добавлен 06.06.2010
Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения. курсовая работа [1,0 M], добавлен 16.12.2012
Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя. курсовая работа [1,6 M], добавлен 19.04.2017
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Разработка приложения для оценивания фильмов курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая Работа Экономическая
Реферат по теме Зарождение и совершенствование отечественной военной педагогики
Понятие Источника Права Реферат
Курсовая работа по теме Денежно-кредитная политика государства
Демографический Взрыв И Его Последствия Реферат
Спортивная Игра Волейбол Реферат
Курсовая работа: Прибыль фирмы
Реферат: Типы биотических отношений. Скачать бесплатно и без регистрации
Курсовая работа по теме Происхождение единиц древнерусского языка
Дипломная Работа На Тему Политическое Завещание Кардинала Ришелье
Реферат по теме Труд женщин
Контрольные Работы 10 Класс Никольский Скачать
Декабрьское Сочинение 21 Год
Курсовая работа по теме Качество обслуживания как фактор конкурентоспособности предприятий розничной торговли
Практическая Работа Вал
Реферат Простые Механизмы
Реферат: Greeks And Romans Essay Research Paper No
Отчёт практики по строительству
Контрольная Работа На Тему Экологический Контроль
Контрольная работа: Метод простых итераций с попеременно чередующимся шагом
Формирование словаря у дошкольников с общим недоразвитием речи - Педагогика дипломная работа
Виды ревизий - Бухгалтерский учет и аудит реферат
Позиционирование имиджа нового руководства в трудовом коллективе организации - Менеджмент и трудовые отношения курсовая работа