Разработка интегрированной системы активного формирования рабочей области пользователя в сети Интернет

Технологии хранения и обработки файлов. Построение UML диаграммы системы. Разработка программного обеспечения интегрированной информационной системы. Реализация системы на языке программирования C# в интегрированной среде разработки MS Visual Studio.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2019
Размер файла 3,7 M

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

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

3.2.2 Тестирование программы

Для начала тестирования программы необходимо запустить исполняемый файл «IP-player». После этого появляется главное меню программы (Рисунок 3.1).

Далее мы можем перейти в меню воспроизведения каналов. Для этого необходимо нажать кнопку «ТЕЛЕВИДЕНИЕ». Появляется новая форма (Рис. 3.14)

Все телеканалы разделены на категории для удобства выбора. Например, если нужно выбрать телеканал «ТНТ» то необходимо перейти на вкладку «Развлекательные» (Рисунок 3.15).

Из всех телеканалов нам необходимо выбрать «ТНТ» для этого мы нажимаем кнопку «ТНТ» и появляется сообщение о том, что канал загружается, т.е. идет буферизация (Рисунок 3.16)

После нескольких секунд ожидания начинается воспроизведение видеопотока в окне видеоплеера. Как видно на рисунке 3.17 окно воспроизводит канал «ТНТ», который нам и был необходим.

Рисунок 3.14 - Форма воспроизведения телевизионных каналов

Рисунок 3.15 - Категория развлекательных телеканалов

Теперь необходимо проверить, как работает просмотр телепрограммы. Для этого необходимо нажать кнопку «программа передач». На экране вместо окна воспроизведения появляется окно браузера, где с сайта «yandex.ru» загружается программа передач на сегодняшний день для того телеканала, который сейчас воспроизводится (Рисунок 3.18). Для закрытия телепрограммы необходимо снова нажать «программа передач».

Рисунок 3.16 - Сообщение о том, что идет загрузка канала

Рисунок 3.17 - Воспроизведение телеканала «ТНТ»

Теперь необходимо записать определенный фрагмент видео. Для этого необходимо нажать кнопку запись, но сначала нужно выбрать формат записи, иначе появляется предупреждение (Рисунок 3.19)

После того, как формат был выбран нужно нажать кнопку «Запись». Она окрашивается в красный цвет. Это означает, что в данный момент идет запись в файл (Рисунок 3.20). Для остановки записи нажимаем еще раз кнопку «Запись».

Рисунок 3.18 - Программа передач для телеканала «ТНТ»

Рисунок 3.19 - Предупреждение о выборе формата записи

Рисунок 3.20 - Запись видеотрансляции

Теперь попробуем воспроизвести и записать один из радиоканалов. Для этого нужно выйти в основное меню программы и нажать кнопку «РАДИО». После этого появляется форма, на которой необходимо выбрать тот канал, который необходим. Например, мне необходимо воспроизвести канал «Радиоспорт». Для этого я нажимаю кнопку «Радиоспорт» и жду, пока пройдет буферизация. Через некоторое время начинается воспроизведение и в окне видеоплеера начинается визуализация и воспроизведение самого радио. Поскольку пользователь не может определить, какой именно сейчас канал воспроизводится, для удобства в верхней части формы отображается окно, в котором указывается, какая именно станция сейчас воспроизводится (Рисунок 3.21).

Рисунок 3.21 - Окно воспроизведения радиостанции «Радиоспорт»

Запись аудио осуществляется по принципу записи видео. Здесь тоже необходимо изначально выбрать формат. В данном случае это будут форматы для аудио (mp3, wav, flac) (Рисунок 3.22).

В противном случае будет предупреждение (Рисунок 3.23)

После того, как был выбран формат, можно нажать кнопку «Запись» и начнется запись потока в аудиофайл (Рисунок 3.24)

Рисунок 3.22 - Выбор формата записи

Рисунок 3.23 - не выбран формат записи

Рисунок 3.24 - Запись аудио в файл

Для того, чтобы воспроизводить или редактировать записи необходимо перейти на форму «Работа с записями» нажав на кнопку «Редактирование записи» на формах воспроизведения телевидения и радио (Рисунок 3.25).

Рисунок 3.25 - Форма «Работа с записями»

После открытия формы «Работа с записями» необходимо выбрать тот файл, с которым нужно работать. Для этого нужно нажать кнопку «Выбрать запись» и в диалоговом окне выбрать необходимый файл (Рисунок 3.26)

Рисунок 3.26 - Выбор файла для дальнейшей работы с ним

Как видно на рисунке, все файлы поименованы по времени их записи. Это сделано для удобства пользователя, чтобы он мог выбрать именно тот файл, который ему необходим. Теперь попробуем открыть файл «16-23-50.avi». На форме появляется название файла, и активируются две кнопки «Воспроизвести» и «Редактировать» (Рисунок 3.27).

Рисунок 3.27 - Выбор файла для работы с ним

Для того, чтобы воспроизвести файл в какой-либо программе, нам необходимо нажать кнопку «Воспроизвести» предварительно выбрав ту программу, через которую необходимо это сделать. Иначе появляется сообщение об ошибке (Рисунок 3.28).

Рисунок 3.28 - Предупреждение о том, что не выбрана программа

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

Рисунок 3.29 - Выбор программ для воспроизведения

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

Рисунок 3.30 - Воспроизведение файла с помощью JetAudio

Если по какой-то причине выбранная программа не была установлена на компьютере, приложение выдаст ошибку (Рисунок 3.31)

Рисунок 3.31 - Предупреждение о том, что выбранная программа не установлена

Выводы по третьей главе

В данной главе дано обоснование выбранных средств разработки сайта. В качестве языка программирования выбран язык С#. В качестве программной платформы использован .NET Framework. Дан подробный анализ выбора этих средств разработки и указаны их основные преимущества.

Осуществлена программная реализация системы. Приведено руководство пользователя в соответствии с предоставляемыми ему правами и выполняемыми функциями.

Проведено успешное тестирование системы, которое показало, что она функционирует корректно.

4. Технико-экономическое обоснование разработки интегрированной системы активного формирования рабочей области пользователя в сети Интернет

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

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

Целью данного раздела является обоснование экономической целесообразности разработки интегрированной информационной системы активного формирования рабочей области пользователя в сети Интернет.

4.1 Определение затрат на разработку программного обеспечения

Программное изделие должно быть разработано так, чтобы оно выполняло свои функции без лишних затрат ресурсов (оперативной памяти ЭВМ, машинного времени, пропускной способности каналов передачи данных и др. - на стадии функционирования; время разработки и денежных ресурсов - на стадии использования программного изделия). Приведенные в данном разделе дипломного проекта перечни данных, позволяют сопоставить результаты разработки и затраты на нее, чтобы сделать вывод об эффективности проекта.

Создание любого устройства или системы связано с некоторыми затратами [6].

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

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

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

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

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

Важным этапом проектирования является точная оценка этих затрат. В данном разделе приводится расчет затрат на проектирование разрабатываемого программного обеспечения [7].

Расчет цены программного обеспечения включает:

- определение затрат на оплату труда и накладных расходов;

- установление цены ПО - её нижнего предела цены и договорной цены с учетом тиражирования.

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

Зр.по = Зр + Зд + Зс + Нр + Рэкспл , (4.1)

Где Зр - заработная плата разработчиков, руб.;

Зд - дополнительная заработная плата, руб.;

Зс - отчисления на социальные нужды, руб.;

Нр - накладные расходы, руб.;

Рэкспл - эксплуатационные расходы, руб.

Оплата труда разработчика составляет 28000 руб. в месяц или 1400 руб. за каждый рабочий день. В общей сложности разработка программного обеспечения велась в течение 54 рабочих дней. Таким образом, общая заработная плата за 54 дня разработки составит:

Зр = 1400 * 54 = 75600 руб.

Дополнительная заработная плата определяется по формуле:

Зд = Кд * Зр , (4.2)

где Кд - коэффициент, учитывающий дополнительную заработную плату (0,08-0,12).

Примем Кд равным 0,1, тогда получаем, что дополнительная заработная плата составляет:

Зд = 75600* 0,1 = 7560 руб.

Отчисления на социальные нужды определяются по формуле:

Зр * Со, (4.3)

где Со - ставка отчислений, которая в этом году составляет:

Пенсионный фонд - 22 %

Фонд социального страхования - 2,9 %

Фонд обязательного медицинского страхования 5,1 %

Всего на социальные нужды необходимо 30 %

Учитывая ранее полученные значения заработной платы разработчика и дополнительной заработной платы, отчисления на социальные нужды составляют:

Зс = 75600* 0,3 = 22680 руб.

Накладные расходы - затраты, не связанные прямо с производством отдельного изделия или вида работы и относимые на весь выпуск продукции. К ним относятся: расходы на содержание, эксплуатацию и текущий ремонт зданий, сооружений и оборудования; отчисления на социальное страхование и другие обязательные платежи; содержание и заработную плату административно-управленческого персонала; расходы, связанные с потерями от брака и простоев и др. Включаются в себестоимость изготовленной продукции, но не прямо, а косвенно, т. е. пропорционально сумме заработной платы, стоимости сырья и материалов и т. д. В торговле к накладным расходам принято относить издержки, связанные с хранением, упаковкой, транспортировкой и сбытом продукции [7]. В данном случае процент накладных расходов равен 55 %. Исходя из этого, накладные расходы (Нр) будут в размере:

Нр = 75600 * 55 / 100 = 41580 руб.

Расчет стоимости одного часа эксплуатации ЭВМ производится по формуле:

Рэкспл = (Сэ + Со + А + Ср) / Ф,(4.4)

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

Со - расходы на обслуживание одного компьютера в течение одного года, руб.

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

Ср - расходы на текущий ремонт, руб.

Ф - годовой полезный фонд времени работы ЭВМ, ч.

Компьютер работает в течение 9 часов в сутки, пять дней в неделю, 68 дней. Таким образом, полезный фонд времени работы компьютера при таких условиях составляет:

Ф = 9 * 68 = 612 часов.

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

Сэ = Mn * Фг * Цэ ,(4.5)

где Mn - потребляемая мощность ЭВМ (кВт/ч);

Цэ - цена 1 кВт/ч электроэнергии (руб.).

Согласно текущей тарифной ставке 1 кВт-ч электроэнергии стоит 2,2 руб. Потребляемая мощность компьютера 0,45 кВт. Затраты на электроэнергию составят:

Сэ = 0,45 * 612 * 2,2 = 605,88

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

Со = (ЗПо * 12) / n,(4.6)

где ЗПо - заработная плата персонала, обслуживающего компьютеры, руб.;

n - количество обслуживаемых им единиц оборудования;

12 - количество месяцев в году.

Специалист, обслуживающий компьютеры (в количестве 10 штук) получает 12000 руб. в месяц. В соответствии с формулой (4.7), затраты на обслуживание ЭВМ составляют:

Со = (12000 * 12)/2 = 72000 руб.

Амортизационные отчисления определяются по формуле:

A = Aкомп + Апом,(4.7)

где Aкомп - амортизационные отчисления для компьютера;

Апом - амортизационные отчисления для помещения.

Балансовая стоимость компьютера складывается из его стоимости, стоимости транспортировки и стоимости установки. Для используемого компьютера балансовая стоимость составляет 38000 руб.

Амортизационные отчисления определяются по формуле:

А = (На * С) / 100 %,(4.8)

где На - норма амортизации ускоренная (20%);

С - балансовая стоимость компьютера, руб.

Таким образом, амортизационные отчисления составят:

А = (20 % * 38000) / 100 % = 7600 руб.

Балансовую стоимость помещения можно рассчитать как произведение площади (20 кв. м.) на стоимость одного кв. м (28500 руб). Таким образом, согласно формуле (4.8), амортизационные отчисления для помещения составят:

А = (20 * 28500 * 3 %) / 100 % = 17100 руб.

Общие амортизационные отчисления составляют:

А = 7600 + 17100 = 24700 руб.

Расходы на текущий ремонт Ср определяются как 3 % от балансовой стоимости компьютера. Таким образом, получаем, что расходы на текущий ремонт составят:

Ср = 0,03 * 20000 = 600 руб.

Подставляя вычисленные значения в формулу (4.4) получаем, что стоимость одного часа эксплуатации ЭВМ равна:

Рэкспл = (605,88 + 7600 + 17100 + 600) / 612 = 42,32 руб.

Из 68 дней, затраченных на разработку ПО, 33 дня пришлось на кодирование и 35 дней на отладку ПО. Учитывая, что в день компьютер работает в течение 9 часов, получаем, что эксплуатационные расходы составят:

Рэксп = 33 + 35 * 9 * 42,32 = 25899,84 руб.

Согласно формуле (4.1) затраты на разработку программного обеспечения составят:

Зр.по = 75600 + 7560 + 22680 + 41580 + 25899,84 = 173319,84 руб.

4.2 Установление цены программного обеспечения

Цена разработанной программы определяется по формуле

Цп = (1+Рн) * Зр.по,(4.9)

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

Так как норматив рентабельности равен 19 %, то цена разрабатываемого программного продукта равна

Цп = 173319,84 * 1,19 = 206250,61 руб.

Таким образом, цена программного продукта, разработанного в ходе дипломного проектирования, составляет 206250,61 руб. при норме рентабельности 19 %. Себестоимость программы - 173319,84 руб.

4.3 Установление нижнего предела цены и договорной цены с учетом тиражирования

Определим нижний предел цены (ЦНП) с учетом желаемой рентабельности (P), объемом тиражирования (N) и ставкой НДС (H) по формуле:

Цнп = ((Зр.по * (1+Рн)) / N) * (1 + H) (4.10)

Так как в настоящее время НДС составляет 18%, а за желаемый тираж в первый год 10 штук рассчитываем предел нижней цены

Цнп = ((173319,84 * (1.19)) / 10) * (1.18) = 24337,57 руб.

Договорная цена устанавливается с учетом дополнительной прибыли, которая принимается в процентах к Цнп (последний не может быть ниже ставки банковского процента - 16 %) и равна

Цдог = 24337,57 * 1,16 = 28231,58 руб.

Окончательную цену разрабатываемого программного обеспечения примем на уровне 29000 руб.

4.4 Экономическое обоснование инвестиционного проекта разработки программного обеспечения

Капитальные вложения на разработку и внедрение объектов проектирования можно рассматривать как инвестиции, необходимые для получения прибыли. Этим определяется необходимость и целесообразность проведения технико-экономического обоснования дипломных разработок как инвестиционных проектов. Экономическая эффективность инвестиционных проектов характеризуется системой показателей, отражающих соотношение результатов (притока, поступлений, дохода) и затрат (оттока, выплат) от операционной, инвестиционной и финансовой деятельности [7].

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

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

В предыдущих пунктах получено, что окончательная цена разрабатываемого ПО (Ц) составляет 29000 руб., затраты на разработку (Зр.по) = 173319,84 руб. Необходимо проверить, является ли инвестиционный проект эффективным. Предварительно следует установить горизонт расчетов. Его можно принять равным сроку морального устаревания ПО, который можно рассчитать по формуле:

Т = 1 / Ур = 1 / 0,33 = 3,06,(4.11)

где Ур -- коэффициент, учитывающий время годового устаревания - 0,3-0,4.

Временной горизонт расчетов (Т) возьмем равным трем годам. Теперь спрогнозируем возможный объем продаж в течение этого срока. Предположим, что в первый год объем продаж составит 10 штук, во второй год - 20, в третий - 15.

В дальнейшем понадобятся следующие данные:

- НДС составляет 18 %;

- налог на прибыль 20 %;

- стоимость доработки в конкретных условиях - 20 % от цены ПО.

С учетом этих допущений приступим к расчету показателей эффективности. Для этого проведем составление денежных потоков.

Реальные деньги за каждый год расчета составят величину равную:

Дt = Пt - Пt * 0,2,(4.12)

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

Пt -- прибыль от реализации на t-м шаге расчета, руб.;

0,20 -- налог на прибыль.

Прибыль от реализации определяется по формуле:

Пt = Вt - Сt - Зфикс,(4.13)

где Вt -- выручка от реализации без НДС на t-м шаге расчета, руб.;

Сt -- себестоимость на t-м шаге расчета, руб.;

Зфикс -- фиксированные затраты на выпуск продукции.

Фиксированные затраты заключаются в съеме станка для выпуска дисков. Аренда за станок (A) для записи дисков в зависимости от количества (Q) начисляется по следующей схеме:

А = 50 * Q (4.14)

Фиксированные затраты заключаются в плате за аренду станка и составляют 5000 руб. в год при записи компакт дисков до 100 штук. Размер оплаты за каждый записанный сверх оговоренного количества диск составляет 60 руб.

Зфикс = 5000 руб.

Выручку от реализации (доход) вычисляется по формуле:

Bt =Ц * Nt, (4.15)

где Ц-- цена изделия, руб.;

Nt -- объем продаж на t-м шаге расчета, шт.

Подставляя данные в формулу (4.15) получаем, что доход в первый год составил

B1 = 29000 * 10 = 290000 руб.

во второй

В2 = 29000 * 20 = 580000 руб.

в третий

В2 = 29000 * 15 = 435000 руб.

Себестоимость вычисляется по формуле:

Сt = Здор + Зндс, (4.16)

где Здор -- расходы на доработку на t-м шаге расчета;

Зндс -- расходы с учетом НДС на t-м шаге расчета.

Так как стоимость доработки составляет 20 %, то расходы на доработку определяются следующим образом:

Здор = Bt * 0.2(4.17)

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

Здор1 = 290000 * 0,2 = 58000

во второй

Здор2 = 580000 * 0,2 = 116000

в третий

Здор3 = 435000 * 0,2 = 87000

Так как НДС составляет 18 %, расходы с учетом НДС (Зндс) составят в первый год

Зндс1 = 290000 * 0,18 = 52200 руб.

во второй

Зндс2 = 580000 * 0,18 = 104400 руб.

в третий

Зндс3 = 435000 * 0,18 = 78300 руб.

По формуле (4.16) получаем, что себестоимость в первый год расчета равна

С1 = 58000 + 52200 = 110200 руб.

С2 = 116000 + 104400 = 220400 руб.

С3 = 87000 + 78300 = 165300 руб.

По формуле (4.14) вычисляется прибыль от реализации, и она составляет в первый год

П1 = 290000 - 110200 - 5000 = 174800 руб.

П1 = 580000 - 220400 - 5000 = 354600 руб.

П1 = 435000 - 165300 - 5000 = 264700 руб.

По формуле (4.13) получаем

Д1 = 174800 - 174800 * 0,2 = 139840 руб.

Д2 = 354600 - 354600 * 0,2 = 283680 руб.

Д3 = 264700 - 264700 * 0,2 = 211760 руб.

где Д1, Д2, Д3 - денежные потоки в первый, второй и третий годы расчета.

Сведем полученные результаты в таблицу 4.1

Таблица 4.1 - План денежных потоков

Показатели

0-й год, руб.

1-й год, руб.

2-й год, руб.

3-й год, руб.

Выручка от реализации

290000

580000

435000

Расходы на разработку

173319,84

Расходы НДС (18 %)

52200

116000

87000

Расходы на доработку

58000

92000

87000

Прибыль от реализации

174800

354600

264700

Денежные потоки (Дt)

-173319,84

139840

283680

211760

Диаграмма денежных потоков приведена на рисунке 4.1

Соизмерение разновременных затрат и результатов осуществляется путем дисконтирования - приведения их к ценностям в начальном периоде. Для этого используется норма дисконта (Е), равная приемлемой норме дохода на капитал. При расчетах в качестве нормы дисконта (барьерной ставки) принимается депозит 0,15, для рисковых проектов - до 0,18-0,2.

Рисунок 4.1 Диаграмма динамики денежных потоков

Приведение осуществляется путем умножения затрат и результатов на коэффициент дисконтирования (КД), равный:

КДt = 1 / (1 + E)^t(4.18)

Вычисление ставки дисконтирования:

E = 0,15 + 0,04 + 0,081 = 0,271,

где 0,15 -- цена капитала (депозит);

0,04 -- коэффициент, учитывающий риск;

0,081 -- уровень инфляции.

По формуле (4.18) вычислим коэффициент дисконтирования для первого года

КД1 = 1 / (1 + 0,271)^1 = 0,787

для второго года

КД2 = 1 / (1 + 0,271)^2 = 0, 619

для третьего года

КД3 = 1 / (1 + 0,271)^3 = 0,478

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

чистая дисконтированная стоимость (доход);

индекс доходности (рентабельности инвестиций);

срок окупаемости.

Чистая дисконтированная стоимость (ЧДС) или интегральный экономический эффект (Эин) определяется как сумма потоков реальных денег (текущих эффектов Эt), приведенная за весь расчетный период (Т) к начальному году [7].

Вычислим текущую дисконтированную стоимость (ТДС), текущую дисконтированную стоимость с нарастающим итогом (ТДСн) и чистую дисконтированную стоимость (ЧДС) по формуле (4.19) и занесем результаты в таблицу 4.2.

График ТДС и ТДСн приведен на рисунке 4.2

Таблица 4.2 - Вычисление чистой дисконтированной стоимости

Год

при Е=0,271

Дt , руб.

ТДС

ТДСн

0

1

-173319,84

-173319,84

-173319,84

1

0,787

139840

118251,47

-72197,08

2

0,619

283680

188492,93

116295,85

3

0,487

211760

110736,00

227031,85

ЧДС = 227031,85

Рисунок 4.2 - График, отражающий динамику ТДС и ТДСн

Индекс доходности (ИД) рассчитывается по формуле:

, (4.20)

где Зt -- затраты на t-м шаге расчетов без учета инвестиций;

К -- привлеченная величина инвестиций.

По формуле (4.21) получаем, что индекс доходности равен

Так как при ИД большим единицы проект является эффективным, при ИД < 1 -- убыточным. Рассчитанный индекс доходности равен 1,839, следовательно, проект разработки ПО является эффективным.

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

Средняя рентабельность проекта равна:

, (4.21)

где Т = 3, т.к. проект рассчитывается на три года.

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

4.5 Оценка рентабельности проекта

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

R = Дt / (Т * Зр.по) 100% (4.22)

где -- рентабельность проекта,

Т -- время реализации проекта.

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

Таблица 4.3 - Сводные данные по каждому году

Показатели

1-й год, руб.

2-й год, руб.

3-й год, руб.

1

Выручка от реализации

230000

460000

345000

2

Расходы на доработку

46000

92000

69000

3

Фиксированные расходы

5000

5000

5000

4

Прибыль от реализации

137600

280200

208900

5

Налог на прибыль (20%)

27520

56040

41780

6

Денежные потоки (Дt)

110080

224160

167120

7

Коэффициенты дисконтирования

0,787

0.619

0.487

8

Чистая дисконтированная стоимость

118251,47

188492,93

110736

Чистая дисконтированная стоимость за три года равна:

ЧДС = 118251,47 + 188492,93 + 110736= 417480,4

Подставляя найденное значение чистой дисконтированной стоимости в формулу (4.25), найдем значение рентабельности:

Р = 417480,4 / (3 * 173319,84) * 100 % = 80,3 %

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

Таблица 4.4 - Сводные данные по всему проекту

Показатель

Формула

Значение

Затраты на разработку программного обеспечения

Зр.по = Зр + Зд + Зс + Нр + Рэкспл

173319,84

Отчисления на социальные нужды

Зр * Со

22680

Накладные расходы

41580

Эксплуатационные расходы

25899,84

Стоимость потребляемой электроэнергии

605,88

Расходы на обслуживание компьютера

Со = (ЗПо * 12) / n

72000

Амортизационные отчисления

A = Aкомп + Апом

24700

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

Азд=Назд*Сзд / 100%

17100

Амортизационные отчисления для компьютера

Аком = (На * Ском) / 100 %

7600

Расходы на текущий ремонт

Рт = Бком * 0,03

600

Цена разработанной программы

Цп = (1+Рн) * Зр.по

206250,61

Нижний предел цены

Цнп = ((Зр.по * (1+Рн)) / N)*(1+H)

24337,57

Договорная цена

Цдог = Цнп * 1,16

28231,58

Горизонт расчетов

Т = 1 / Ур

3,06

Денежный поток

Дt = Пt - Пt * 0,2

1 год: 150256

2 год: 283680

3 год: 211760

Прибыль от реализации

Пt = Вt - Сt - Зфикс

1 год: 187820

2 год: 354600

3 год: 264700

Выручка от реализации (доход)

Bt =Ц * Nt

1 год: 311000

2 год: 580000

3 год: 435000

Аренда за станок

А = 50 * Q

5000

Себестоимость

Сt = Здор + Зндс

1 год:110200

2 год: 220400

3 год: 165300

Расходы на доработку

Здор = Bt * 0.2

1 год: 58000

2 год: 92000

3 год:87000

Расходы с учетом НДС

Зндс1 = Выр * 0,18

1 год: 55980

2 год: 116000

3 год: 87000

Коэффициент дисконтирования

1 год:0,787

2 год:0,619

3 год:0,487

Чистая дисконтированная стоимость

417480,4

Индекс доходности

1,839

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

То = 1 + (Инв / ? Дп * n)

1,383 года

проекта

R = Дt / (Т * Зр.по) 100%

80,3 %

Выводы по четвертой главе

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

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

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

файл диаграмма программирование visual

Заключение

В результате выполнения дипломного проекта разработана интегрированная система активного формирования рабочей области пользователя в сети Интернет

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

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

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

Тестирование системы показало, что приложение функционирует правильно и эффективно решает поставленные задачи.

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

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

Задание на дипломный проект выполнено в полном объёме.

В качестве дальнейшего совершенствования системы представляется возможным разработка подобного приложения для платформ Windows Phone, iOS, Android, а также возможность сохранять записи на облачном сервере.

Список использованных источников

1. Технология проектирования ИС.

2. Жизненный цикл ИС.

3. Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя. 2-е издание: пер. с англ. Н. Мухин. - Москва: ДМК Пресс, 2007. - 496 стр.

4. Сайт компании Microsoft

5. Троелсен С# и платформа. NET -- СПб.: Питер, 2004. --796 с.

6. Мишенин А.И. Теория экономических информационных систем: Учебник. - М.: Финансы и статистика, 2001. - 327 стр.: ил.

7. Информационно-образовательный портал Ханадеевой Е.А.

8. Вендров А.М.. CASE-технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика, 1998. - 218 стр.: ил.

9. Леоненков А.В. Самоучитель по UML. - Санкт-Петербург.: БХВ-Петербург, 2007. - 576 стр.: ил.

10. Мишенин А.И. Теория экономических информационных систем: Учебник. - М.: Финансы и статистика, 2001.

11. Савицкая Г.В.. Анализ хозяйственной деятельности предприятия: Учебник. - М.: ОЛМА-ПРЕСС, 2001. - 315 стр.

12. Замков О. О., Черемных Ю. А., Толстопятинко А.В.. Математические методы в экономике. - М.: Эко-про, 2004. - 284 стр.: ил.

13. Колесник А.П. Компьютерные системы в управлении финансами. - М.: «Финансы и статистика», 1994. - 273 стр.: ил.

14. Кантор М.. Управление программными проектами. - М.: АСТ, 2001 - 220 с.

15. Russian Software Developer Network.

16. Компания ДатаХаус.

17. Торрес Р. Практическое руководство по проектированию и разработке пользовательского интерфейса. - Пер. с англ. - М.: Изд-кий дом «Вильямс», 2002.

18. Роббинс Дж. Отладка приложений для Microsoft .NET. - Пер. с англ. - М.:«Русская редакция», СПб.:Питер, 2008.

19. Нейгел К., Ивьен Б., Глинн Дж., Уотсон К., Скиннер М. C# 4 и платформа .NET 4 для профессионалов. - Пер. с англ. - М.: Изд-кий дом «Вильямс», 2011.

20. Тидвелл Дж. Разработка пользовательских интерфейсов. - Пер.сангл.-СПб.: Питер, 2008.

Приложение А

UML-Диаграммы

Рисунок А.1 - Диаграмма вариантов использования

Рисунок А.2 - Диаграмма деятельности для варианта использования «Запись видео»

Рисунок А.3 - Диаграмма деятельности для варианта использования «Редактирование записанного видео»

Рисунок А.4 - Диаграмма деятельности для варианта использования «Просмотр программы передач»

Рисунок А.5 - Диаграмма деятельности для варианта использования «Запись аудио»

Рисунок А.6 - Диаграмма развертывания

Приложение Б

Листинг основных модулей программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

using System.IO;

using System.Threading;

using System.Net;

namespace IP_pleer

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

label1.Visible = false;

}

private void OnApplicationExit(object sender, FormClosedEventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

public void PlayerStop()

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

private void button1_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8038";

label1.Visible = true;

timer1.Enabled = true;

}

private void button3_Click_1(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://109.87.81.21:8888/udp/238.0.0.64:1234";

label1.Visible = true;

timer1.Enabled = true;

}

private void axWindowsMediaPlayer1_PlayStateChange(

object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)

{

if (e.newState == 6)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

if (e.newState == 3)

{

}

}

private void button2_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

private void button5_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.pause();

}

private void button4_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

private void Form1_Load(object sender, EventArgs e)

{

axWindowsMediaPlayer1.settings.autoStart = true;

}

private void timer1_Tick(object sender, EventArgs e)

{

label1.Visible = false;

}

private void trackBar1_Scroll(object sender, EventArgs e)

{

axWindowsMediaPlayer1.settings.volume = trackBar1.Value * 10;

}

private void button6_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site1.ertelecom.ru:8011";

label1.Visible = true;

timer1.Enabled = true;

}

private void button7_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8009";

label1.Visible = true;

timer1.Enabled = true;

}

private void button8_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8003";

label1.Visible = true;

timer1.Enabled = true;

}

private void button9_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8012";

label1.Visible = true;

timer1.Enabled = true;

}

private void button10_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8016";

label1.Visible = true;

timer1.Enabled = true;

}

private void button11_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site1.ertelecom.ru:8011";

label1.Visible = true;

timer1.Enabled = true;

}

private void button12_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8029";

label1.Visible = true;

timer1.Enabled = true;

}

private void button13_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8031";

label1.Visible = true;

timer1.Enabled = true;

}

private void button14_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://109.87.81.21:8888/udp/238.0.0.191:1234";

label1.Visible = true;

timer1.Enabled = true;

}

private void button15_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8021";

label1.Visible = true;

timer1.Enabled = true;

}

private void button16_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8037";

label1.Visible = true;

timer1.Enabled = true;

}

private void button17_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8033";

label1.Visible = true;

timer1.Enabled = true;

}

private void button18_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://iptv.site2.ertelecom.ru:8033";

label1.Visible = true;

timer1.Enabled = true;

}

private void button2_Click(object sender, AxWMPLib._WMPOCXEvents_BufferingEvent e)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

private void button19_Click(object sender, EventArgs e)

{

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8030")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/146");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site1.ertelecom.ru:8011")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/202");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8009")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/162");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8003")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/384");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8012")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/291");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8033")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/187");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8038")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/850");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8016")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/515");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site1.ertelecom.ru:8011")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/49/channels/455");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

if (webBrowser1.Visible == false)

{

if (axWindowsMediaPlayer1.URL == "http://iptv.site2.ertelecom.ru:8031")

{

webBrowser1.Visible = true;

webBrowser1.Url = new Uri("http://tv.yandex.ru/38/channels/350");

}

}

else

{

webBrowser1.Visible = webBrowser1.Visible == false;

}

}

private FileStream fs;

// Состояние записи

private bool state = false;

Thread recording;

// Цвет кнопки

Color cl;

public string WMURL()

{

string str = axWindowsMediaPlayer1.URL;

return str;

}

private void GetStream()

{

try

{

string now = DateTime.Now.ToLongTimeString();

now = now.Replace(':', '-');

System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;

if (comboBox2.SelectedIndex == 0)

{

fs = new FileStream(now + ".wma", FileMode.Create);

}

if (comboBox2.SelectedIndex == 1)

{

fs = new FileStream(now + ".mp4", FileMode.Create);

}

if (comboBox2.SelectedIndex == 2)

{

fs = new FileStream(now + ".avi", FileMode.Create);

}

if (comboBox2.SelectedIndex == 3)

{

fs = new FileStream(now + ".mkv", FileMode.Create);

}

if (comboBox2.SelectedIndex == 4)

{

fs = new FileStream(now + ".flv", FileMode.Create);

}

if (comboBox2.SelectedIndex == 5)

{

fs = new FileStream(now + ".3gp", FileMode.Create);

}

WebResponse response = WebRequest.Create(WMURL()).GetResponse();

// Получаем поток порциями в 65536 байтов

using (Stream stream = response.GetResponseStream())

{

byte[] buffer = new byte[65536];

int read;

while ((state == true) && ((read = stream.Read(buffer, 0, buffer.Length)) > 0))

{

long pos = fs.Position;

fs.Position = fs.Length;

fs.Write(buffer, 0, read);

fs.Position = pos;

}

fs.Flush();

}

response.Close();

fs.Close();

}

catch

{

MessageBox.Show("Не воспроизводится ни один канал");

}

}

private void button22_Click(object sender, EventArgs e)

{

if (comboBox2.SelectedIndex < 0)

{

MessageBox.Show("Не выбран формат");

}

else

{

if (!state)

{

state = true;

cl = button22.BackColor;

button22.BackColor = Color.Red;

recording = new Thread(GetStream);

recording.Start();

}

else

{

button22.BackColor = cl;

state = false;

}

}

}

private void button23_Click(object sender, EventArgs e)

{

Enabled = false;

Form2 form = new Form2();

form.Owner = this;

form.ShowDialog();

Enabled = true;

}

private void OnApplicationExit()

{

}

}

}

using System;

using System.ComponentModel;

using System.Drawing;

using System.Windows.Forms;

using System.IO;

using System.Threading;

using System.Net;

namespace IP_pleer

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.Filter = "Files(*.AVI;*.WMA;*.MP4;*.MKV;*.FLV;*.3GP;*.MP3;*.WAV;*.FLAC)|*.AVI;*.WMA;*.MP4;*.MKV;*.FLV;*.3GP;*.MP3;*.WAV;*.FLAC|All files (*.*)|*.*";

if (openFileDialog1.ShowDialog() == DialogResult.OK) //показываем диалог открытия

{

textBox1.Text = System.IO.Path.GetFileName(openFileDialog1.FileName);

button3.Enabled = true;

button2.Enabled = true;

}

}

private void button2_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

{

MessageBox.Show("не указан путь");

}

else if (comboBox1.SelectedIndex == 0)

{

System.Diagnostics.Process.Start("mpc-hc.exe", textBox1.Text);

}

else if (comboBox1.SelectedIndex == 1)

{

System.Diagnostics.Process.Start("wmplayer.exe", textBox1.Text);

}

else if (comboBox1.SelectedIndex == 2)

{

System.Diagnostics.Process.Start("VegasMovieStudioPE110.exe", textBox1.Text);

}

if (comboBox1.SelectedIndex < 0)

{

MessageBox.Show("не выбран тип");

}

}

private void button3_Click(object sender, EventArgs e)

{

try

{

if (textBox1.Text == "")

{

MessageBox.Show("не указан путь");

}

else if (comboBox2.SelectedIndex == 0)

{

System.Diagnostics.Process.Start("mpc-hc.exe", textBox1.Text);

}

else if (comboBox2.SelectedIndex == 1)

{

System.Diagnostics.Process.Start("wmplayer.exe", textBox1.Text);

}

else if (comboBox2.SelectedIndex == 2)

{

System.Diagnostics.Process.Start("JetAudio.exe", textBox1.Text);

}

else if (comboBox2.SelectedIndex == 3)

{

System.Diagnostics.Process.Start("kmplayer.exe", textBox1.Text);

}

if (comboBox2.SelectedIndex < 0)

{

MessageBox.Show("не выбрана программа для работы с файлом");

}

}

catch

{

MessageBox.Show("На вашем компьютере не установлено данной программы. Попробуйте выбрать другую");

}

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace IP_pleer

{

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

Enabled = false;

Radio form = new Radio();

form.Owner = this;

form.ShowDialog();

Enabled = true;

}

private void button1_Click(object sender, EventArgs e)

{

Enabled = false;

Form1 form = new Form1();

form.Owner = this;

form.ShowDialog();

Enabled = true;

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Threading;

using System.Net;

namespace IP_pleer

{

public partial class Radio : Form

{

public Radio()

{

InitializeComponent();

axWindowsMediaPlayer1.settings.autoStart = true;

}

private void axWindowsMediaPlayer1_PlayStateChange(

object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)

{

if (e.newState == 6)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

if (e.newState == 3)

{

}

}

private void button1_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://radio02-cn03.akadostream.ru:8114/jumorfm192.mp3";

textBox1.Text = "ЮМОР ФМ";

}

private void button2_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://radio02-cn03.akadostream.ru:8114/nrj192.mp3";

textBox1.Text = "Радио NRJ";

}

private void button3_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://voicerock.net:8000/voicerock";

textBox1.Text = "RADIOROCK FM";

}

private void button4_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://mp3-vr-128.as34763.net:80/";

textBox1.Text = "Classic Rock radio";

}

private void button5_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://radio02-cn03.akadostream.ru:8112/nashe128.mp3";

textBox1.Text = "НАШЕ РАДИО";

}

private void button6_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.URL = "http://radio02-cn03.akadostream.ru:8108/radiosport128.mp3";

textBox1.Text = "Радио Спорт";

}

private void button8_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.pause();

}

private void button7_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

private void button9_Click(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

private void trackBar1_Scroll(object sender, EventArgs e)

{

axWindowsMediaPlayer1.settings.volume = trackBar1.Value * 10;

}

private FileStream fs;

// Состояние записи

private bool state = false;

Thread recording;

// Цвет кнопки

Color cl;

public string WMURL()

{

string str = axWindowsMediaPlayer1.URL;

return str;

}

private void GetStream()

{

try

{

string now = DateTime.Now.ToLongTimeString();

now = now.Replace(':', '-');

System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;

if (comboBox1.SelectedIndex == 0)

{

fs = new FileStream(now + ".mp3", FileMode.Create);

}

if (comboBox1.SelectedIndex == 1)

{

fs = new FileStream(now + ".wav", FileMode.Create);

}

if (comboBox1.SelectedIndex == 2)

{

fs = new FileStream(now + ".flac", FileMode.Create);

}

WebResponse response = WebRequest.Create(WMURL()).GetResponse();

// Получаем поток порциями в 65536 байтов

using (Stream stream = response.GetResponseStream())

{

byte[] buffer = new byte[65536];

int read;

while ((state == true) && ((read = stream.Read(buffer, 0, buffer.Length)) > 0))

{

long pos = fs.Position;

fs.Position = fs.Length;

fs.Write(buffer, 0, read);

fs.Position = pos;

}

fs.Flush();

}

response.Close();

fs.Close();

}

catch

{

MessageBox.Show("Не воспроизводится ни одно радио");

button10.BackColor = cl;

}

}

private void button10_Click(object sender, EventArgs e)

{

if (comboBox1.SelectedIndex < 0)

{

MessageBox.Show("Не выбран формат");

}

if (axWindowsMediaPlayer1.URL == "")

{

MessageBox.Show("Не воспроизводится ни одно радио");

}

else

{

if (!state)

{

state = true;

cl = button10.BackColor;

button10.BackColor = Color.Red;

recording = new Thread(GetStream);

recording.Start();

}

else

{

button10.BackColor = cl;

state = false;

}

}

}

private void button7_Click_1(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.play();

}

private void button8_Click_1(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.pause();

}

private void button9_Click_1(object sender, EventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

private void OnApplicationExit(object sender, FormClosedEventArgs e)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

}

private void button11_Click(object sender, EventArgs e)

{

Enabled = false;

Form2 form = new Form2();

form.Owner = this;

form.ShowDialog();

Enabled = true;

}

}

}

Приложение В

Копия графической части

Диаграмма вариантов использования

Диаграмма развертывания

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

...

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

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