Веб-приложение "Персональный блог"

Особенности платформы ASP.NET MVC. Схема взаимодействия контроллера, модели и таблицы. База данных проектируемого приложения, ее сущности, объекты, типы контроллеров и представления. Системные требования, алгоритм развертывания и тестирования приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.03.2014
Размер файла 321,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ОБЗОР СОСТОЯНИЯ ВОПРОСА

1.1 Предметная область

1.2 Платформа ASP.NET MVC

2. ПОСТАНОВКА ЗАДАЧИ

3. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ПО

3.1 Проектирование приложения

3.2 Реализация приложения

4. РУКОВОДСТВО ПО РАЗВЕРТЫВАНИЮ ПРИЛОЖЕНИЯ

4.1 Системные требования

4.2 Создание базы данных

4.3 Развертывание приложения

5. ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

Выделяют следующие разновидности блогов:

по авторскому составу блоги могут быть личными, групповыми (корпоративными, клубными), общественными (открытыми);

по содержанию -- тематическими или общими;

по размещению -- сетевыми (на службе блогов) и автономными (на самостоятельной системе управления содержимым и самостоятельном хостинге).

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

В основном, персональные блоги ведутся на сервисах, предоставляющих бесплатные услуги, таких как - «Живой Журнал». В ходе опроса блогеров «Живого журнала», проведённого в 2005 году, были выделены следующие основные функции блогов:

коммуникативная функция;

функция самопрезентации;

функция развлечения;

функция сплочения и удержания социальных связей;

функция саморазвития, или рефлексии;

психотерапевтическая функция;

продвижение товаров и услуг.

В данном курсовом проекте разрабатывалось веб-приложение «Персональный блог»

1. ОБЗОР СОСТОЯНИЯ ВОПРОСА

1.1 Предметная область

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

1.2 Платформа ASP.NET MVC

Особенности платформы

ASP.NET MVC - это фреймворк для веб-разработки, основанный на платформе Microsoft .NET, который предоставляет разработчикам возможность создавать хорошо структурированные веб-приложения. Представленная как альтернатива Web Forms платформа ASP.NET MVC приобрела значительную популярность с момента первой публичной демонстрации ее предварительной версии в 2007 году, и на сегодняшний момент большое количество крупных веб-приложений создано посредством использования данной технологии.

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

Шаблон MVC, лежащий в основе новой платформы, подразумевает взаимодействие трех компонентов: контроллера (controller), модели (model) и представления (view). Далее мы рассмотрим подробнее его компоненты.

Модель (model) - домен, на основе которого строится ваше программное обеспечение. Если бы вы создавали блог, вашими моделями были бы пост и комментарий. Иногда термин "модель" может обозначать конкретную модель представления - отображение домена для конкретной цели демонстрации в пользовательском интерфейсе.

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

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

Общую схему взаимодействия упрощенно можно представить следующим образом:

Рисунок 1.1 - Схема взаимодействия контроллера, модели и представления

Различия ASP.NET MVC и ASP.NET Web Forms

ASP.NET MVC является в некотором роде конкурентом для традиционных веб-форм и имеет по сравнению с ними следующие преимущества:

Разделение ответственности. В то время как ASP.NET Web Forms устойчиво связывает пользовательский интерфейс с его выделенным кодом, ASP.NET MVC поддерживает конструкцию, в которой пользовательский интерфейс (представление) сохраняет свою изолированность от кода, управляющего им (контроллера). При хорошей реализации это означает, что разработчикам легче передвигаться по приложениям, а также такая возможность упрощает процесс сохранения приложения - то, что вы внесете изменения в контроллер, еще не означает, что вам придется изменять пользовательский интерфейс.

Лучшая тестируемость. С помощью отделения логики приложения от его пользовательского интерфейса ASP.NET MVC упрощает тестирование отдельных компонентов приложения. Классы контроллеров могут быть протестированы без тестирования реального пользовательского интерфейса. В отличие от Web Forms MVC контроллеры не имеют прямой зависимости от имеющего позорную славу, нетестируемого класса HttpContext, а вместо этого полагаются на абстракцию, что упрощает процесс написания автоматизированных тестов.

Соответствие протоколу HTTP. В то время как ASP.NET Web Forms пытается полностью скрыть не сохраняющую состояние сущность разметки, ASP.NET MVC не пытается ее скрыть. За счет того, что в нем используется MVC паттерн, а также за счет возможности преобразования отдельного HTTP запроса в вызов конкретного метода ASP.NET MVC, позволяет получить навыки разработки, которая более знакома разработчикам, обладающим теоретическими познаниями в создании веб-приложений. Модель также радикально упрощена - уход от сложных событий жизненного цикла страницы, используемых в Web Forms, а также минимальное количество абстрактных конструкций HTTP.

2. ПОСТАНОВКА ЗАДАЧИ

Необходимо разработать Персональный блог. Сайт должен соответствовать следующим требованиям:

Структура: статья - комментарий;

Роли пользователей: администратор, пользователь, гость;

Администратор -- зарегистрированный пользователь, имеющий роль administrator. Он имеет следуйщие права:

Просматривать темы, посты, комментарии;

Создавать, редактировать;

Пользоватеть - любой зарегистрированный пользователь. Имеет право:

просматривать блоги, статьи, комментарии;

создание комментариев и постов, тем блогов;

редактирование постов (только для статей им созданных);

Гость - любой незарегистрированный пользователь. Имеет право:

Просматривать статьи, блоги

Зарегистироваться.

3. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ПО

3.1 Проектирование приложения

База данных

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

Пользователь.

Комментарии.

Темы

Посты

Модель

Проектируемая модель должна содержать следующие объекты:

Модель комментариев.

Модель логина.

Модель регистрации.

Модель поста

Модель темы блога

Модель пользователя.

Модель главной страницы.

Контроллеры

Для выполнения поставленной задачи необходимы следующие контроллеры:

Контроллер управления пользователями.

Контроллер управления комментариями.

Контроллер управления постами

Контроллер управления статьями.

Контроллер управления логином.

Контроллер управления регистрацией.

Контроллер управления главной страницей.

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

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

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

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

Контроллер управления логином должен предоставлять функционал для управления авторизацией пользователя.

Контроллер управления регистрацией должен предоставлять функционал для регистрации пользователя в системе.

Контроллер управления главной страницей должен предоставлять функционал просмотра списка блогов и постов.

Представления

Представление «Главная страница».

Представление «Создание блога».

Представление «Просмотр блога».

Представление «Редактирование блога».

Представление «Создание поста».

Представление «Просмотр поста».

Представление «Редактирование поста».

Представление «Главная страница».

Представление «Логин».

Представление «Регистрация».

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

Представление «Главная страница» отображает список созданных блогов.

Представление «Создание блога» содержит форму для создания поста. Форма содержит следующие поля: название, описание.

Представление «Просмотр блога» должно содержать описание события, список комментариев к нему и форму добавления комментария.

Представление «Редактирование блога» форму для редактирования блога. Форма содержит следующие поля: название, описание.

Представление «Создание поста» содержит форму для создания поста. Форма содержит следующие поля: название, описание. Разрешение на комментирование и публичное представление.

Представление «Просмотр поста» должно содержать описание события, список комментариев к нему и форму добавления комментария.

Представление «Редактирование события» содержит форму для редактирования события. Форма содержит следующие поля: название, описание, дата, адрес, теги.

Представление «Логин» должно содержать форму для авторизации пользователя.

Представление «Регистрация» должно содержать форму для регистрации пользователя в системе.

3.2 Реализация приложения

База данных

Для хранения необходимых сущностей были созданы таблицы:

Users (Id, firstName, surname, email, login, active, password).

Posts (Id, blogId, title, description, text, dateReg, dateEdit, allowComment, ActiveInt).

Blogs (Id, userID, title, description, dateCreate, dateEdit).

Comments (Id, userId, postId, text, dateCreate, dateEdit).

Для работы с базой данных используется ORM-система EntityFramework. Способ создания модели из базы данных - Database First, то есть сначала создается база данных, а затем объект EntutyFramework на основе базы данных.

Модель

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

User.

Post.

Blog.

Comment.

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

Полный текст всех классов модели предоставлен в приложении Б.

Контроллеры

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

PostController.

HomeController.

LoginControler.

RegistrationController.

BlogControler.

UserController.

CommentController.

Методы данных контроллеров возвращают все необходимые представления

Представления

Для выполнения задачи были созданы необходимые представления.

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

Для создания представлений использовались язык гипертекстовой разметки HTML и каскадные таблицы стилей CSS

Пример представления для отображения списка постов представлен на рисунке 5.

Рисунок 3.1 - список постов

Полный листинг всех представлений представлен в приложении Г.

4. РУКОВОДСТВО ПО РАЗВЕРТЫВАНИЮ ПРИЛОЖЕНИЯ

4.1 Системные требования

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

ОС Microsoft WindowsXP/Vista/Seven, Server 2003/2008/2008R2/2012

Microsoft .Net Framework 5.0.

MS SQL Server 2012 R2, 2012.

IIS 6.0+

4.2 Создание базы данных

Для развертывания БД на MS SQL Server 2012 необходимо:

Создать пустую базу данных.

С помощью скрипта расположенного в приложении А создать таблицы в базе данных.

4.3 Развертывание приложения

приложение блог платформа данный

Алгоритм развертывания приложения на веб сервере IIS 7.0:

Создать папку на сервере

Скопировать сайт в созданную папку

Добавить Application Pool: указать название(название сайта), .Net framework 4.0

Добавить сайт, указать:

Название сайта.

Физический путь (путь к папке, созданной в пункте 1).

IP адрес (Все назначенные).

Имя узла (название сайта).

Выбрать созданный в пункте 3 application pool.

5. ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ

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

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

Тестирование программы выполнялось на ПК со следующей конфигурацией:

процессор: Intel Core i-3;

ОЗУ: 4 Гб;

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

ОС Microsoft Windows7/Vista/Seven, Server 2003/2008/2008R2/2012ч

Microsoft .Net Framework 5.0.

MS SQL Server 2012, 2012.

IIS 7.0+

Ниже приведен список тест кейсов, которые использовались для критического тестирования приложения.

Номер

Название

Описание

Ожидаемый результат

Результат выполнения

1

Просмотр всех блогов

Подготовка: В базе уже имеется набор постой
1. Открыть сайт (перейти по ссылке «Blogs»)

1. Открылась главная страница, содержащая список всех постой.

Успех

2

Добавление блога

1. Войти в систему под администратором
2. Нажать кнопку «Добавить блог»
3. Ввести название поста, описание, нажать Добавить
добавленного события

1. Отобразилась главная страница
2. Открылась страница добавления блога. На ней присутствуют поля для ввода нужной информации.

Успех

3

Редактирование блога

Войти в систему под администратором, перейти на страницу все темы

Нажать на ссылку «Edit».

Изменить название, нажать ок

1. На странице отобразился список блогов.

2.Ссылка нажата

3. Название изменено

Успех

4

Добавление комментария

1. Войти в систему
2. Выбрать событие
3. Ввести в поле комментарий текст и нажать кнопку добавить

1. На странице присутствует список событий
2. Открыта страница с подробным описанием события

3. Комментарий добавился

Успех

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

ЗАКЛЮЧЕНИЕ

В данной курсовой работе разработан Персональный блог. При работе использовались следующие инструментальные средства: Microsoft SQL ServerManagementStudio 2012, язык запросов SQL, Microsoft VisualStudio 2013, язык программирования C#, web сервер IIS 7.0+.

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

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

Разработанный продукт готов к эксплуатации, однако он еще может расширяться, например, путем добавления дополнительного функционала. А именно возможность создания тегов, поиска по тегам, тексту.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

Википедия [Электронный ресурс]. - режим доступа http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%B3/ - Дата доступа 29.12.2013

MSDNLibrary [Электронный ресурс]. - Режим доступа:http://www.msdn.com.- Дата доступа: 15.12.2011

Metanit.com [Электронный ресурс].-режим доступа http://metanit.com/sharp/mvc/1.1.php - Дата доступа 03.12.2013

Smarly.net [Электронный ресурс]. - режим доступа: http://smarly.net/asp-net-mvc-4-in-action - Дата доступа: 10.12.2013

Размещено на Allbest.ru


Подобные документы

  • Логическая и физическая модели базы данных. Запрет на содержание неопределенных значений. Размещение базы данных на сервере. Реализация клиентского приложения управления базой данных. Модульная структура приложения. Основные экранные формы приложения.

    курсовая работа [1,4 M], добавлен 13.06.2012

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

    курсовая работа [926,7 K], добавлен 20.05.2015

  • Создание базы данных при помощи СУБД, разработка собственного приложения. Информационно-логическая модель рекламного агентства. Структура реляционной базы данных в Access. Заполнение таблиц информацией. Структура приложения и взаимодействия форм.

    курсовая работа [12,6 M], добавлен 17.06.2014

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Информационная структура, навигационная система и номенклатура страниц web-приложения. Проектирование web-приложение для организации взаимодействия внутри компании через сети Intranet, включающее функцию проведения экспертных опросов. Схема базы данных.

    курсовая работа [6,6 M], добавлен 21.01.2015

  • Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.

    дипломная работа [3,4 M], добавлен 19.01.2017

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

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Последовательность разработки "Базы данных ГОСТИНИЦА" в среде Visual Studio 2010 C#. Обоснование выбора средства программирования. Требования к аппаратному обеспечению. Алгоритм решения задачи, функциональное назначение. Руководство пользователя.

    курсовая работа [2,0 M], добавлен 07.07.2012

  • Составление модели взаимодействия клиент-сервер. Логические уровни типического приложения: пользовательский интерфейс, логика приложения и доступ к данным, работающий с базой данных. Требования к распределительным системам и понятие промежуточной среды.

    реферат [183,1 K], добавлен 15.11.2011

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

    курсовая работа [3,3 M], добавлен 23.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.