бесплатные рефераты

Интернет-магазин по продаже музыкальных CD и DVD дисков

Перейдя по ссылке "Корзина", расположенной на панели "Пользователь", покупатель перейдёт на страницу ShoppingCart.aspx. На этой странице отображаются информация обо всех альбомах, находящихся в данный момент в корзине покупателя, а именно название, цена, количество. Также отображается начисленная скидка и итоговая цена всех альбомов с учётом этой скидки. Покупатель может изменять количество того или иного альбома в корзине, а также удалять их из корзины. Изображение страницы ShoppingCart.aspx приведёно на рисунке 19.

Рис. 19 "Корзина покупателя"

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

Кроме того, информация об общем количестве товаров в корзине и текущей цене заказа с учётом скидки выводится на панели "Корзина". Данная панель представляет собой пользовательский элемент управления ShoppingCart.ascx. Все изменения в корзине товаров также немедленно отражаются на этой панели.

4.7.7 Оформление заказа

Нажав на кнопку "Оформить заказ", покупатель переходит на страницу Order.aspx, изображение которой представлено на рисунке 20.

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

Если ничего менять не надо, покупатель выбирает желаемый способ оплаты заказа и нажимает на кнопку "Разместить заказ". После этого заказ размещён, и изменить его нельзя, а корзина товаров очищается.

4.7.8 История заказов

Покупатель может просматривать историю всех сделанных им заказов и следить за ходом их выполнения. Для этого необходимо перейти по ссылке "История заказов", размещённой на панели "Пользователь". После этого он перейдён на страницу HistoryOrders.aspx, изображённую на рисунке 21.

Рис. 21 "История заказов"

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

После этого покупатель будет перемещён на страницу HistoryOrderDetails.aspx, которая изображена на рисунке 22.

Рис. 22 "Подробности заказа"

На этой странице выводится информации о товарах заказа, а также скидка, которая была начислена на момент оформления заказа.

4.7.9 Страница вопросов покупателей

Любой пользователь как аутентифицированный, так и анонимный может задавать любые вопросы, касающиеся работы музыкального Интернет-магазина. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Перейдя по ссылке "Задать свой вопрос" пользователь сможет задать свой вопрос, заполнив необходимые поля. Страница AddQuestion.aspx изображена на рисунке 24.

Рис. 23 "Вопросы покупателей"

Рис. 24 "Размещение вопроса администрации музыкального Интернет-магазина"

4.8 Основные элементы интерфейса администратора музыкального Интернет-магазина

4.8.1 Управление каталогом товаров

Администратор музыкального Интернет-магазина может добавлять, модифицировать и удалять товары в каталоге. Чтобы добавить альбом в каталог необходимо перейти по ссылке "Альбомы -> Добавить альбом" в меню "Функции". После этого администратор будет перемещён на страницу AddProduct.aspx, изображённую на рисунке 25.

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

Рис. 25 "Добавление альбома в каталог"

Для описания альбома формат xml-файла должен быть следующим:

<description>

… описание…

</description>

Для треклиста альбома xml-файла должен быть следующим:

<tracklist>

<track> название песни №1</track>

<track> название песни №2</track>

</tracklist>

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

Для того чтобы изменить или удалить альбом в каталоге необходимо перейти по ссылке "Альбомы -> Изменить информацию об альбоме / Удалить альбом" в меню "Функции". В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Удалить можно только альбом, который ещё ни разу не заказывали. Это необходимо для поддержания целостности информации в истории заказов, а также в текущих заказов, находящихся в обработке. Если в данный момент альбом отсутствует на складе, необходимо просто снять галочку "Наличие на складе".

На рисунке 26 изображена страница UpdateDeleteProduct.aspx.

Также администратор может управлять структурой каталога, а именно добавлять изменять и удалять информацию об исполнителях, музыкальных жанрах, категориях продукции и фирмах-издателях. Для этого необходимо выбрать соответствующий подпункт в элементе меню "Управление магазином". На рисунке 27 изображена страница ManagementArtist.aspx, предназначенная для управления исполнителями. Другие страницы управления каталогом действуют аналогично.

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

Рис. 26 "Изменение и удаление альбомов в каталоге"

Рис. 27 "Управление исполнителями"

4.8.2 Управление заказами

Для управления заказами администратор должен перейти по ссылке "Заказы" в меню "Функции". После этого он будет перемещён на страницу Orders.aspx. Используя панель поиска он может отсортировать заказы по дате и состояния выполнения. Изображение страницы Orders.aspx приведено на рисунке 28.

Рис. 28 "Заказы покупателей"

Она содержит общую информацию о заказе. Чтобы посмотреть детали заказа, необходимо перейти по ссылке "Подробности" напротив соответствующего заказа. После этого администратор будет перемещён на страницу OrderDetails.aspx. Здесь администратор может изменить состояние выполнения, а также распечатать бланк заказа. Изображение страницы OrderDetails.aspx приведено на рисунке 29.

Рис. 29 "Подробности заказа"

4.8.3 Ответы на вопросы покупателей

Администратор может также отвечать на вопросы покупателей. Для этого необходимо перейти по ссылке "Вопрос / Ответ" в меню "Функции" на страницу AdminFAQ. Изображение страницы приведено на рисунке 30.

Рис. 30 "Страница ответов на вопросы покупателей"

5. Производительность и масштабируемость web-приложения

5.1 Способы повышения производительности и масштабируемости

Для любого web-приложения, которое одновременно обслуживает большое число пользователей, важна скорость работы. Особенно это важно для приложений электронной коммерции, в конкурентной борьбе за клиентов это имеет огромное значение. Ведь если пользователю придется подолгу ждать загрузки страницы, то он, скорее всего, предпочтёт пользоваться услугами другого Интернет-магазина, который, предлагая аналогичные услуги, обеспечивает более высокую производительность.

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

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

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

В данной главе была обозначена важность обеспечения высоких показателей производительности и масштабируемости для систем электронной коммерции, а также приведены некоторые способы их достижения, такие как кэширование и разбиение на страницы. В следующих разделах будут приведены конкретные способы, которые использовались при разработке web-приложения "Музыкальный Интернет-магазин".

5.2 Применение механизма кэширования

5.2.1 Кэширование вывода

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

При разработке дипломного проекта этот способ кэширования применялся для некоторых пользовательских элементов управления, например, пользовательский элемент управления TopSales.ascx, который отображает пять наиболее продаваемых товаров. Он отображается на каждой странице, доступной пользователю, и если не применять кэширование, то при каждом запросе любой страницы любым пользователем необходимые данные извлекались бы из базы данных. Кэширование вывода применяется декларативно:

<%@ OutputCache Duration=" 3600" VaryByParam=" None" Shared=" true"%>

Если добавить эту строку в файл дескрипторов TopSales.ascx, то при первом запросе сгенерированный HTML-код пользовательского элемента управления будет сохранён в памяти на один час, и при последующих запросах пользователей будет вставляться в мастер-страницу в готовом виде, без обращения к базе данных. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Если пользовательский элемент управления используется на нескольких страницах, то по умолчанию, в КЭШе сохраняется копию для каждой страницы отдельно. Чтобы не хранить лишние копии, указан параметр Shared = "true". Таким образом, в кэше сохраняется одна копия элемента для всех страниц, где он используется.

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

5.2.2 Кэширование данных

Несмотря на простоту применения и эффективность кэширования вывода, иногда применять его нельзя. Так как кэшированная информация, страница или пользовательский элемент управления, хранятся в виде готового HTML-кода, то мы не имеем возможности взаимодействовать с ней на стороне сервера. В таком случае необходимо применять кэширование данных. Например, можно сохранять в памяти результаты запроса к базе данных. При следующем запросе страницы, обращения к базе данных не будет, вместо этого необходимая информация будет взята из кэша, однако код серверной стороны выполнится и HTML-код будет сгенерирован заново.

Кэширование данных широко применялось при разработке дипломного проект. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. При каждом последующем запросе обращение к базе данных не происходит, а информация прямо из КЭШа вставляется в элементы управления.

Ниже приведён пример наполнения списка "Музыкальные жанры":

DataSet ds;

if (Cache ["GenresList"]!= null)

{

ds = (DataSet) Cache ["GenresList"];

}

else

{

ds = GenresDB. GetGenres();

……………….

{

Response. Redirect ("~/ErrorPage.aspx");

}

Cache. Insert ("GenresList", ds, null, DateTime. Now. AddMinutes(60), TimeSpan. Zero);

}

GenreList. DataSource = ds;

…………………………

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

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

Если запросы к базе данных осуществляются с помощью элементов управления источниками данных, то в этом случае также можно использовать механизм кэширования, так как они поддерживают встроенное кэширование данных. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Ниже приведён пример настройки кэширования элемента управления источником данных, осуществляющего поиск по первой букве в названии продукции:

<asp: ObjectDataSource ID= "ObjectDataSource3" runat= "server"

TypeName= "ComponentsDB. CatalogDB" SelectCountMethod= "GetCountByLetter"

………………………………………………………………………………………….

OnSelected= "ObjectDataSource_Selected" EnableCaching= "true" CacheDuration= "360">

<SelectParameters>

<asp: QueryStringParameter Name= "Letter" QueryStringField= "Letter" Type= "Char" />

</SelectParameters>

</asp: ObjectDataSource>

…………………………………………………………………………….

CacheDuration= "360" - устанавливает срок нахождения данных в кэше.

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

5.3 Настраиваемое разбиение на страницы с помощью ObjectDataSource

Как уже было сказано в пункте 4.7.3 информация из каталога выводится на экран в виде таблицы (GridView) постранично по 15 записей. Элементы управления GridView и ObjectDataSource поддерживают автоматическое разбиение на страницы, однако нагрузка на базу данных при этом не уменьшается. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. При этом на базу данных выпадает большая нагрузка, связанная с тем, что необходимо выбирать каждый раз весь объём информации.

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

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

Необходимо настроить элемент управления источником данных на автоматическое кэширование:

<asp: ObjectDataSource ID= "ObjectDataSource1" runat= "server"

TypeName= "ComponentsDB. CatalogDB" SelectCountMethod= "GetCountByGenre" SelectMethod= "GetPageProductsByGenre" EnablePaging= "true" OnSelected= "ObjectDataSource_Selected" EnableCaching= "true" CacheDuration= "360">

<SelectParameters>

<asp: QueryStringParameter Name= "GenreID" QueryStringField= "GenreID"

Type= "Int32" />

</SelectParameters>

</asp: ObjectDataSource>

где

EnablePading = "true" - включает разбиение на страницы в источнике данных.

SelectCountMethod = "GetCountByGenre" - метод для подсчёта общего кол-ва строк в таблице. Данный метод необходим, для того чтобы GridView мог создать корректное количество ссылок страниц на панели навигации.

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

Метод GetCountByGenre:

public static int GetCountByGenre (int GenreID)

{

SqlConnection conn = new SqlConnection (WebConfigurationManager. ConnectionStrings ["connStr"].ConnectionString);

SqlCommand cmd = new SqlCommand ("GetCountByGenre", conn);

……………………………………………………

cmd. Parameters. Add ("GenreID", SqlDbType. Int);

cmd. Parameters ["GenreID"].Value = GenreID;

int count=-1;

try

{

conn. Open();

count = (int) cmd. ExecuteScalar();

}

……………

{

conn. Close();

}

finally

{

conn. Close();

}

return count;

}

Хранимая процедура GetCountByGenre

CREATE PROCEDURE GetCountByGenre (@GenreID INT)

AS

……………………………….

WHERE GenreID = @GenreID

GO

Метод GetPageProductsByGenre вызывает хранимую процедуру GetPageProductsByGenre, которая возвращает данные для текущей страницы GridView.

Метод GetPageProductsByGenre:

public static DataSet GetPageProductsByGenre (int startRowIndex, int maximumRows, int GenreID)

{

SqlConnection conn = new SqlConnection (WebConfigurationManager. ConnectionStrings ["connStr"].ConnectionString);

SqlCommand cmd = new SqlCommand ("GetPageProductsByGenre", conn);

cmd. CommandType = CommandType. StoredProcedure;

cmd. Parameters. Add ("Start", SqlDbType. Int);

cmd. Parameters ["Start"].Value = startRowIndex;

……………………………………………………

cmd. Parameters ["Count"].Value = maximumRows;

cmd. Parameters. Add ("GenreID", SqlDbType. Int);

cmd. Parameters ["GenreID"].Value = GenreID;

DataSet ds = new DataSet();

SqlDataAdapter da = new SqlDataAdapter();

………………………….

try

{

conn. Open();

da. Fill(ds);

}

catch (SqlException)

{

conn. Close();

return null;

}

finally

{

conn. Close();

}

return ds;

}

Хранимая процедура GetPageProductsByGenre:

CREATE PROCEDURE GetPageProductsByGenre (@Start INT, @Count INT, @GenreID INT)

AS

CREATE TABLE #TempProductsList

(

……………….

ProductID INT,

ArtistName NVARCHAR(50),

ArtistID INT,

……………………….

UnitCost MONEY,

Presence BIT

)

INSERT INTO #TempProductsList

(ProductID, ArtistName, ArtistID, AlbumName, UnitCost, Presence)

SELECT ProductID, ArtistName, Catalogue. ArtistID, AlbumName, UnitCost, Presence

………………………….

WHERE GenreID = @GenreID AND Catalogue. ArtistID = Artists. ArtistID

ORDER BY ArtistName

DECLARE @FromNum INT

DECLARE @ToNum INT

SET @FromNum = @Start

……………………………

SELECT ProductID, ArtistName, ArtistID, AlbumName, UnitCost, Presence FROM #TempProductsList

WHERE Num >= @FromNum AND Num <= @ToNum

GO

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

6. Развёртывание web-приложения и модели компиляции

6.1 Развёртывание web-приложения

В самом простом варианте процесс развёртывания web-приложения ASP.NET заключается в копировании структуры каталога вашего приложения и его файлов на целевой сервер. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Ниже описаны все действия, необходимые для развёртывания web-приложения "Музыкальный Интернет магазин":

· Прежде всего, нужно убедиться, что на целевой ЭВМ установлено необходимое ПО (ОС Windows XP Professional, Windows 2000 Server или Windows Server 2003, IIS 5.0 или 6.0 в зависимости от ОС.NET Framework 2.0, СУБД SQL Server 2000). Если какой-то компонент отсутствует, то его необходимо установить.

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

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

· Создать виртуальный каталог на основе каталога приложения. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Если на сервере установлено несколько версий.NET Framework, необходимо установить для виртуального каталога именно версию 2.0, это можно сделать в его свойствах на вкладке ASP.NET.

· Установить права учётной записи Windows для пользователя рабочего процесса ASP.NET на доступ к каталогам приложения. В IIS 5.0 рабочий процесс называется aspnet_wp.exe и по умолчанию работает от имени учётной записи ASP.NET Machine Account, в IIS 6.0 - w3wp.exe, учётная запись - Network Service. На корневой каталог приложения необходимо дать право на чтение, а на папку AlbumImage дополнительно установить права на запись и изменение. Это можно сделать на вкладке "Безопасность" в свойствах папки.

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

· Последним шагом, возможно, понадобится внести какие-то изменения в файл web.config, например, модифицировать строку соединения с базой данных. По умолчанию подразумевается, что используется сервер localhost и используется интегрированная аутентификация для подключения к базе данных.

Таким образом, для развёртывания web-приложения "Музыкальный Интернет-магазин" необходимо скопировать каталог с приложением на целевой сервер, сконфигурировать виртуальный каталог и задать необходимые права учётной записи ASP.NET, а также создать и сконфигурировать базу данных.

6.2 Модели компиляции

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

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

Существует также возможность развёртывать web-приложение уже в скомпилированном виде, например, если необходимо скрыть доступ к исходным кодам. Эта модель получила название предварительной компиляции.

Чтобы предварительно скомпилировать web-приложение, необходимо использовать отдельный инструмент для компиляции, называемый aspnet_compiler.exe, который храниться в каталоге Microsoft.NET Framework. В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес, указанный в конце дипломной работы, в заключении. Далее каталог с приложением можно копировать на целевой сервер, и выполнять шаги, описанные в предыдущем пункту, никаких дополнительных действий выполнять не нужно.

7. Разработка бизнес-плана

7.1 Резюме

Целью дипломного проекта является создание программного продукта под общим названием "Музыкальный Интернет-магазин". Данный продукт предназначен для организации работы магазина по продаже музыкальной продукции, осуществляющую свою деятельность только в сети Интернет или использующий её в качестве дополнительного канала сбыта продукции.

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

В ходе оценки экономической эффективности инвестиционного проекта с помощью критерия NPV (чистая приведённая стоимость), было установлено, что значение NPV выходит на положительную величину уже с первого года реализации, а за весь жизненный цикл проекта, который составляет 2 года, значение NPV составит 082512 руб., что свидетельствует об экономической целесообразности проекта.

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

7.2 Анализ положения дел в отрасли

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

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

7.3 Суть разрабатываемого проекта

7.3.1 Назначение

Программный продукт "Музыкальный Интернет-магазин" предназначен для выполнения следующих функций:

Со стороны продавца:

· Хранить информацию о товарах, заказах, личные данные пользователя;

· Возможность управления каталогом продукции;

· Прием заказов от покупателей;

· Возможность отвечать на вопросы покупателей;

Со стороны покупателя:

· Предоставление покупателю полную информацию о продукции;

· Предоставление удобной и быстрой системы поиска продукции по различным критериям поиска;

· Позволять осуществлять заказ продукции;

· Возможность задавать вопросы по работе магазина;

· Возможность оставлять отзывы о продукции;

7.3.2 Форма реализации

Разработка web-приложения будет вестись на ПК под ОС Windows XP Professional. Для разработки данного программного продукта будет использоваться среда программирования Microsoft Visual Studio 2005, в качестве СУБД будет использоваться Microsoft SQL Server 2000.

7.3.3 Преимущества перед аналогами

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

· Красивый, эргономичный и интуитивно-понятный интерфейс;

· Высокая производительность и масштабируемость за счёт применения самых новейших технологий в области web-программирования;

· Безопасность данных приложения от несанкционированного доступа;

· Высокая надёжность за счёт встроенной обработки ошибок и контроля корректности вводимой информации;

7.4 План маркетинга

7.4.1 Анализ конкурентоспособности товара

Таблица 2 "Характеристики товара"

Описание товара и его применения

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

Отличительные или уникальные свойства товара

- Красивый, эргономичный и интуитивно-понятный интерфейс;

- Высокая производительность и масштабируемость за счёт

применения самых новейших технологий в области web-

программирования;

- Безопасность данных приложения от несанкционированного доступа;

- Высокая надёжность за счёт встроенной обработки ошибок и контроля

корректности вводимой информации;

Любые лицензионные и патентные права.

Для функционирования приложения требуется операционная система Microsoft Windows XP Professional, Windows 2000 Server или Windows Server 2003. Web-сервер IIS 5.0 или ISS 6.0. В качестве СУБД требуется Microsoft SQL Server 2000. Также необходимо наличие среды.NET Framework 2.0

Потенциальные возможности в будущем.

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

7.4.2 Анализ рынка сбыта

Результаты сегментации рынка и прогнозируемый объём продаж представлены в таблице 3 и на рисунке 31.

Таблица 3 "Характеристики сегментов рынка"

Сегмент

Описание сегмента

Прогнозируемый объем продаж

Прогнозируемая цена продажи

Музыкальные Интернет-магазины

Интернет-магазины осуществляющие коммерческую деятельность только в Интернет

3 шт. в год

70000 руб.

Музыкальные магазины

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

1 шт. в год

70000 руб.

Звукозаписывающие студии и издатели.

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

2 шт. в год

70000 руб.

Рисунок 31 "Планируемое распределение объёмов продаж по сегментам рынка"

7.4.3 Разработка стратегии ценообразования и стратегии продвижения товара

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

Таблица 4 "Применение стратегии продвижения информационного продукта на рынок"

Элементы стратегии

Действия

Льготы и скидки

- Оплата в рассрочку

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

Рекламная деятельность

- Реклама в Интернете

- Создание общедоступного демонстрационного сайта

Консультация пользователей

- Развёртывание web-приложения на сервере клиента

- Настройка производительности

- Поддержка и сопровождение

Ознакомительный маркетинг

-

7.5 Производственный план

Перечень технологических процессов:

· Анализ технического задания

· Изучение документации по данному заданию

· Выбор программной среды и технологий

· Разработка программного проекта

· Реализация программного проекта

· Тестирование и отладка

· Документирование

7.6 Планирование разработки и определение себестоимости программного обеспечения

7.6.1 Планирование разработки

Планируемый календарный график работ приведен в таблице 5.

Таблица 5 "Календарный график работ"

Действия

Ai

Mi

Bi

Moi

Di

1. Разработка технического задания

3

4

5

4

0,33

2. Уточнение технического задания, выбор программной среды и методов разработки ПО

2

3

4

3

0,33

3. Изучение технической документации

5

6

7

6

0,33

4. Обучение технологии программирования и освоение среды разработки

5

6

7

6

0,33

5. Разработка алгоритмов

10

12

03

01,833

0,50

6. Разработка ПО

05

17

09

07

0,67

7. Тестирование и отладка ПО

1

2

3

2

0,33

8.

5

6

8

0,1667

0,50

Итого

06

06

06

06

0,22

Ai - оценка продолжительности действий при благоприятном стечении обстоятельств;

Bi - оценка продолжительности действий при неблагоприятном стечении обстоятельств;

Mi -;

Mоi - ожидаемая величина длительности действий;

Di - стандартное отклонение для каждого действия, характеризующее степень неопределённости выполнения работ за ожидаемое время;

Mоi= (Ai+4Mi+Bi)/6;

Di = (Bi-Ai)/6;

Итоговая оценка затрат на разработку программного продукта:

Стандартное отклонение от итоговой оценки:

На рисунке 32 представлена диаграмма Ганта, иллюстрирующая процесс разработки программного продукта.

Рис. 32. "Диаграмма Ганта процесса разработки"

7.6.2 Определение себестоимости программного обеспечения

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

Зарплата сотрудника составляет 35000 руб.

Для разработки программного продукта необходимо закупить требуемое аппаратное и программное обеспечение, список которого представлен в таблице 6.

Таблица 6 "Аппаратное и программное обеспечение необходимое для разработки"

Тип оборудования

Наименование

Модель

Кол-во, шт.

Цена за 1 шт., руб.

Стоимость, руб.

Аппаратное обеспечение

Процессор

Athlon 64 3000+

1

0700

0700

Материнская плата

Asus A8N-E

1

0500

0500

Жёсткий диск

Western Digital, Sata, 80Гб

1

0500

0500

Оперативная память

Samsung, DDR 400, 512 мб

2

1000

2000

Принтер

HP deskjet 3820

1

0500

0500

Программное обеспечение

Операционная система

Windows XP Professional

1

0600

0600

ПО ведения

документации

Open Office

1

200

200

Среда разработки

Microsoft Visual Studio 2005 Standart Edition

1

5000

5000

СУБД

Microsoft SQL Server 2000 Standart Edition

1

3000

3000

ИТОГО:

07000

Плановая себестоимость разработки С определяется по формуле:

, где

З - заработная плата разработчика с начислениями на социальные нужды;

А - амортизация ПЭВМ и другого оборудования;

Спр - прочие производственные затраты;

Заработная плата разработчика проекта рассчитывается по формуле:

, где

Зо - среднемесячная заработная плата,

m - количество рабочих дней в месяце (m = 22),

tp - время разработки.

Амортизационные отчисления при линейном методе расчета амортизации составят:

где

НА - годовая норма амортизации, НА = 12%;

ЦВТ - балансовая стоимость вычислительной техники (ВТ),

256 - среднее количество рабочих дней в году

Прочие производственные затраты включают затраты на техническое обслуживание, ремонт ВТ и расходные материалы и определяются по формуле:

,

где

Нпр - процент прочих производственных затрат от первоначальной стоимости ВТ, Нпр = 4%.

Проведение расчётов:

З = 05000 * (1 + 0,395) / 02 * 06 = 024282 руб.

А = (0,12 * 07000) / 056 * 06 = 082 руб.

Спр = (0,04 * 07000) / 056 * 06 = 094 руб.

Плановая себестоимость составит при КН = 0,2

С = (024282 + 082 + 094)*(1 + 0,2) = 050070 руб.

7.7 Оценка экономической эффективности инвестиционного проекта

7.7.1 Критерии эффективности коммерческих инвестиций

Наиболее распространённым критерием эффективности инвестиций в мировой практике является чистая приведённая стоимость проекта (NPV), представляющая собой приведённую (современную) стоимость будущих потоков денежных средств, генерируемых инвестиционным проектом за жизненный цикл.

, где

t - интервал, год;

Дt - чистый поток денежных средств, генерируемых проектом на t-м интервале инвестиционного периода, руб.;

i - ставка сравнения (ставка дисконта) в долях, i = 13%.;

- коэффициент дисконтирования (дисконтный множитель по ставке i для периода планирования t).

Чистый поток денежных средств Дt, генерируемых инвестиционным проектом за каждый год жизни проекта рассчитывается по формуле:

, где

ЧПt - годовая чистая прибыль от реализации продукции, созданной инвестиционным проектом, руб.;

Аt - годовые амортизационные отчисления, руб.;

ИЗt -.

Годовая чистая прибыль может быть рассчитана как:

, где

ВР - годовой объём продажи продукции, руб.;

ЭР - годовые эксплуатационные затраты, руб.;

Т -.

Инвестиционные затраты определяются суммой затрат в основной и в оборотный капитал:

, где

ИЗоб - инвестиционные затраты в оборотный капитал (начальный оборотный капитал), руб. Инвестиционные затраты (капитальный бюджет) представлены в таблице 7.

Таблица 7 "Инвестиционные затраты (капитальный бюджет)"

Вид капиталовложений

Всего, руб.

Сметная стоимость проектно-изыскательных работ (плановая себестоимость), руб.

050070

Стоимость оборудования, руб.

07000

Итого

077070

Жизненный цикл данного проекта составляет два года. Жизненный цикл инвестиционного проекта - это длительность существования проекта. Он начинается с момента начала разработки и заканчивается после снятия с производства и утилизации.

Жизненный цикл инвестиционного проекта приведен на рисунке 33.

131

Рисунок 33 "Жизненный цикл инвестиционного проекта"

7.7.2 Расчёт экономической эффективности инвестиционного проекта

Прогнозируемый годовой объём продаж по данным маркетингового анализа составит 6 шт. В соответствии с рекомендациями маркетинговых исследований выбираем метод формирования цены "издержки плюс надбавки" с учётом цен конкурентов. Цены у конкурентов на аналогичные изделия составляют около 100000 руб. Чтобы составить достойную конкуренцию существующим товарам, выходить на новый рынок планируется с ценой 70000 руб./шт., что должно обеспечить достойную конкурентоспособность нашего изделия и привлечь внимание потенциальных покупателей.

В этом случае годовой объём продаж составит:

ВР = 70000 * 0 = 020000 руб.

Годовые эксплуатационные (операционные) расходы:

ЭР = 05000*0,5*6= 005000 руб.

Годовая чистая прибыль:

ЧП = (020000 - 005000) * (1 - 0,24) = 040000 руб.

Сумма инвестиционных затрат составит:

ИЗО = 077070 руб.

Если предположить, что жизненный цикл товара составит 2 года и за этот срок стоимость инвестиционных затрат в основной капитал (077070 руб.) должна быть возмещена для инвесторов, то годовые амортизационные отчисления составят 08535 руб. в год при равномерной амортизации.

Если предположить, что для того, чтобы запустить проект, требуется 10,5% годовых эксплуатационных расходов, то:

ИЗоб = 005000 * 0,105 = 01025 руб.

Общая сумма инвестиционных затрат составит:

ИЗ = 077070 + 01025 = 088095 руб.

Расчет NPV представлен далее в виде таблицы 8.8.

Из таблицы 8 следует, что проект выходит на положительную величину NPV уже на первом году. За срок жизненного цикла Tж равный 2 года, значение NPV составит 382500 руб., что свидетельствует об экономической целесообразности проекта.

Таблица 8 "Укрупнённый прогноз потоков денежных средств проекта"

Показатели

Интервал планирования, год

0

1

2

1. Годовой объем продаж

020000

020000

2. Инвестиционные затраты

-088095

3. Годовые эксплуатационные расходы

-005000

-005000

4. Валовая прибыль (п. 1 - п. 3)

015000

015000

5. Налог на прибыль (24% от п. 4)

05600

05600

6. Чистая прибыль (п. 4 - п. 5)

039400

039400

7. Амортизация, руб.

08535

08535

8. Чистый поток денежных средств (п. 6 + п. 7)

027935

027935

9. Дисконтный множитель i = 0,1

1

0,91

0,83

10. Приведенный чистый поток денежных средств (п. 8 * п. 9)

098420

072185

11. Чистая приведенная стоимость будущих потоков денежных средств NPV (п. 10 нарастающим итогом)

- 088095

010326

082512

7.8 Анализ рисков и неопределенностей

7.8.1 Возможность ошибки при постановке или анализе задачи

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

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

· провести дополнительное обучение разработчиков в предметной области. Это позволит избежать проблемы за счет того, что разработчикам будет проще разговаривать с клиентом с использованием терминов предметной области;

· согласовать график регулярных встреч с заказчиком для презентации продукта.

7.8.2 Срыв графика работ в результате ошибки в оценке времени разработки

Срыв графика работ может произойти в результате одной из двух причин:

· разработка ведётся работниками, не имеющими необходимой квалификации;

· неправильная постановка задачи перед исполнителями.

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

· при оценке длительности привлечь экспертов, компетентных в;

· привлечь специалистов более высокой квалификации и обладающих опытом в.

Заключение

В результате работы над дипломным проектом в соответствие с требованиями, изложенными в пункте 1.2, было разработано web-приложение, представляющее собой интернет - магазин по продаже музыкальных CD и DVD дисков. Все требования по функциям web-приложения выполнены.

В качестве основной технологии для разработки использовалась одна из самых современных и функциональных web-технологий на сегодняшний день - ASP.NET 2.0.

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

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

Также был рассмотрен план маркетинга и определена прогнозируемая прибыль от реализации web-приложения. Были рассмотрены вопросы, связанные с безопасностью и санитарно-гигиеническими условиями труда на рабочем месте пользователя ПЭВМ.

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

В данной дипломной работе некоторые фрагменты текста отсутствуют или замещены на текст не соответствующий теме этого диплома. Отсутствуют или не соответствуют некоторые необходимые формулы, расчеты, диаграммы и таблицы. Для получения оригинальной версии работы пишите на электронный адрес: BarS-Kovd (собака) yandex.ru. К работе прилагается презентация, интернет-магазин, исходные тексты программ, речь к защите.

Список источников

1. Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов. - М.: ООО "Издательский дом Вильямс", 2006. - 1408 c.

2. C# 2005 для профессионалов. - М.: ООО "Издательский дом Вильямс", 2006. - 1376 c.

3. Visual C#.NET. Полное руководство. - К.: "ВЕК", 2004. - 960 с.

4. Microsoft ADO.NET 2.0 для профессионалов. - М.: ООО "Издательский дом Вильямс", 2006. -560 c.

5. Дэниел Эймор "Internet-магазины и закупочная деятельность"/ "Электронный бизнес. Эволюция и / или революция" изд. "Вильямс" 2001 г. С. 291-302.

6. Пирогов С.В. - "Обзорных крупных проектов" / "Электронная коммерция" Москва 2003 - С. 69-61.

7. Балабанов И.Т. - "Торговля через виртуальный магазин" / "Электронная коммерция"/ 2004 г. С. 195-197.

8. Паршенцев А.А. Проблема и перспективы развития электронных магазинов // Маркетинг в России и за рубежом. - 2000. - №3. - С. 84-89.

9. Петров В.Н. - "Информационные системы" СПб.: Питер, 2003. - 688 с.: ил.

10. Т.С. Карпова. - "Базы данных: Модели, разработка, реализация" СПб.: Питер, 2002. - 304 с.: ил.

11. Иванова Г.С. - "Основы программирования" Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. - 392 с., ил.

12. Костяев, Р.А. Бизнес в Интернете: финансы, маркетинг, планирование / Р.А Костяев - СПб. БХВ-Петербург, 2002. - 630 с.: ил.

13. Попов В.М. Глобальный бизнес и информационные технологии: современная практика и рекомендации/В.М. Попов, Р.А. Маршавин, С.И. Ляпунов; под общ. ред. В.М. Попова. - М.: Финансы и статистика, 2001. - 238 с.

14. Холмогоров В. Интернет - маркетинг. Краткий курс. 2-е издание/ В. Холмогоров. - СПб.: Питер 2002. - 272 с.: ил.

15. Юрасов А.В. Электронная коммерция: учеб. пособие./А.В. Юрасов - М.: Дело. 2003. - 480 с

16. Белов Н.А. Безопасность жизнедеятельности/ Н.А. Белов - М.: знание, 2000. - 364 с.

17. Комиссарова И, Перелетова И, Петрова Е.К. Интернет-магазин от А до Я: полное пошаговое руководство по созданию, управлению/ Эксмо - 2008.

18. www.gotdotnet.ru

19. www.aspnetmania.com

Страницы: 1, 2, 3, 4


© 2010 РЕФЕРАТЫ