Вы находитесь на странице: 1из 32

СОДЕРЖАНИЕ

Введение...................................................................................................................8
1 Анализ прототипов, литературных источников и формирование требований к
проектируемому программному средству........................................................9
1.1 Обзор аналогов...............................................................................................9
1.2 Формирование требований к программному средству.............................13
1.3 Аналитический обзор литературы..............................................................14
2 Моделирование предметной области и разработка функциональных
требований.........................................................................................................18
2.1 Сравнение способов сохранения истории изменений сущностей в базе
данных..........................................................................................................18
2.2 Описание функциональности программного средства.............................19
2.3 Спецификация функциональных требований...........................................23
3 Проектирование программного средства.........................................................25
3.1 Разработка модели базы данных.................................................................25
3.2 Разработка схемы программы модуля администратора...........................33
3.3 Разработка схемы программы службы почтовой рассылки.....................35
3.5 Разработка схемы алгоритма отображения списка версий продукта......36
3.6 Разработка схемы алгоритма загрузки версии продукта..........................39
4 Создание программного средства.....................................................................41
4.1 Общие сведения о Entity Framework..........................................................41
4.2 LINQ to Entities.............................................................................................43
4.3 Общие сведения об ADO.NET....................................................................45
4.4 Упрощенная диаграмма классов.................................................................46
4.5 Описание классов.........................................................................................47
5 Тестирование, проверка работоспособности и анализ полученных результатов
.............................................................................................................................50
6 Руководство по установке и использованию...................................................61
6.1 Установка программного средства.............................................................61
6.2 Начало работы с модулем администратора...............................................61
6.3 Вкладка «Companies»...................................................................................62
6.4 Вкладка «Orders»..........................................................................................65
6.5 Вкладка «Products».......................................................................................65
6.6 Вкладка «Patches».........................................................................................66
6.7 Вкладка «Administrators».............................................................................66
6.8 Вкладка «Downloads»...................................................................................66
6.9 Вкладка «Mailouts».......................................................................................67
6.10 Работа с модулем пользователя................................................................69
7 Технико-экономическое обоснование..............................................................72
7.1 Характеристика программного средства доставки цифрового
контента........................................................................................................72
7.2 Расчет затрат на разработку и отпускной цены программного модуля..72
7.3 Расчёт экономического эффекта от применения программного средства у
заказчика......................................................................................................76
7.4 Расчет показателей эффективности разработки и реализации программного
продукта на рынке.......................................................................................77
7.5 Вывод по технико-экономическому обоснованию...................................78
Заключение.............................................................................................................79
Список использованных источников...................................................................80
Приложение А. Исходный код программы.........................................................81
ВВЕДЕНИЕ

В современном мире любая страна может пользоваться всемирной сетью


Интернет для решения вопросов, связанных с коммерческой деятельностью.
При помощи Интернета можно осуществлять поиск не только конкретных
товаров и услуг, но и необходимых клиентов для ведения совместного бизнеса.
Для развитой страны это является довольно актуальной проблемой. Наиболее
простым и действенным методом эффективного поиска информации является
применение электронных досок объявлений, а подать объявление в них проще
простого. Структура данного объявления представляет собой аналог рекламных
газет или простых досок для размещения объявлений. Они содержат
тематические разделы, которые, в свою очередь, подразделяются на категории.
Фактически, электронные доски объявлений представляют список
разделов, содержащих информацию общей тематики. Содержание объявлений –
покупка, продажа, обмен, работа. Тематика объявлений должна совпадать с
направлением ресурса, что не является обязательным условием. Сравнивая
электронные доски с обычными объявлениями можно определить явное
преимущество последних – это быстрота и масштаб распространения.
Заинтересованный покупатель всегда получает исчерпывающую информацию о
том, или ином виде товара. Более того, оформление объявления составляет
короткий срок и максимально рассылается на несколько сайтов.
Эффективность электронных досок объявлений во многом превосходит
обычные деревянные доски объявлений на остановках или домах, по масштабу
в несколько раз превосходит печатные издания. Поскольку объявление
размещается в интернете, скорость оповещения его для других пользователей
максимальная. Кроме того, вероятность нахождения потенциального клиента
возрастает в геометрической прогрессии. Для работы с электронными
объявлениями не нужны специфические навыки, однако опыт работы с
персональным компьютером позволит наиболее быстро и качественно
разместить требуемое объявление и найти необходимую информацию.
В настоящее время чтобы приступить созданию доски объявлений,
рекомендуется определиться с её целями. К основным целям относят:
 постоянное наполнение сайта различным уникальным контентом типа
объявлений, размещаемыми самими пользователями;
 стабильный доход за ретрансляцию контекстной или баннерной
рекламы, либо выделенных текстовых объявлений.;
Целью данного дипломного проекта является создание веб-приложения
предоставляющего пользователю добавление и размещения объявлений.
1 АНАЛИЗ ПРОТОТИПОВ, ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ И
ФОРМИРОВАНИЕ ТРЕБОВАНИЙ К ПРОЕКТИРУЕМОМУ
ПРОГРАММНОМУ СРЕДСТВУ

1.1 Обзор аналогов

В настоящее время существует огромное количество бесплатных и


платных электронных досок объявлений. Далее будут рассмотрены самые
популярные сервисы.

1.1.1 BBS – первая в мире электронная доска объявлений


В 1978 году заработала первая Bulletin board system (BBS) или
электронная доска объявлений.
Изначально она позиционировалась как вариант телеконференции, основу
которого составляет специальная база данных, в которой различными
пользователями размещаются объявления и сообщения с целью их демонстрации
другим пользователям. Страница веб-сайта отображена на рисунке 1.1.

Рисунок 1.1 – Страница продуктов компании JetBrains

К достоинствам можно отнести то, что это первая в мире


электронная доска объявлений, которая появилась до глобальной сети
Интернет.
Недостатком является отсутствие графического интерфейса
(присутствовала только ANSI-art в качестве стартовых экранов. Кроме
того, глобальные сети в то время были локальными, что влекло огромные
затраты на междугородную телефонную связь.
1.1.2 Сайт www.dorus.ru — сервис бесплатных объявлений
Дорус.ру – это один из крупнейших сайтов объявлений, он работает
с 2007 года. Здесь размещаются объявления от организаций и частных лиц
со всей России. На сайте присутствует удобная функция сортировки и
поиска объявлений. Подача объявления на сайте достаточно проста:
заполняется небольшая форма с описанием предложения и прикрепляется
фото, если нужно. Все объявления разбиты по категориям разнообразной
тематики: от обуви и одежды до недвижимости, что облегчает поиск
нужного предложения.
Особенности Интернет-сервиса Дорус.ру:
– всего объявлений в базе данных на сегодня — более 430 000;
– количество посетителей ежедневно — более 40 000 человек;
– объявления принимаются как от частных лиц, так и от
юридических;
– VIP-выделения для объявлений (есть возможность выделить
объявление бесплатно).
К преимуществам можно отнести то, что размещение объявления не
потребует лишних регистраций на сайте. Интерфейс сайта достаточно
простой и понятный, который интуитивно понятен для любого
пользователя. Более того любое объявление, которое добавляется на этом
сайте сортируется по регионам и городам России, например, можно легко
можно найти объявление «продам квартиру в Набережных Челнах» в
соответствующем регионе страны.
Все объявления на этом сервисе разделены на более чем 150
различных категорий, что также облегчает поиск необходимого товара
или услуги. Кроме того, на сайте разрешено бесплатное размещение
любого объявления на практически всякую тематику.
Недостатком данной электронной доски объявления является
высокая загруженность в определенное время суток.
Страница сервиса отображена на рисунке 1.2.
Рисунок 1.2 – Страница ресурса www.dorus.ru
1.1.3 AVITO.ru — сайт бесплатных объявлений
Доска объявлений "Авито" была создана в 2007 году и на
сегодняшний день занимает второе место по популярности среди всех
досок объявлений в мире, уступая лишь легендарной Craigslist.
Отличительные особенности АВИТО:
– всего объявлений на сайте на сегодня — более 12 500 000;
– количество посетителей ежедневно — более 3 500 000 человек;
– объявления принимаются как от частных лиц, так и от компаний;
– VIP-объявления (выделение);
– cервис знакомств;
– cервис поиска работы;
– возможность создания на базе AVITO.ru собственного магазина.
К достоинствам интернет-магазина AVITO можно выделить
следующее:
– миллионная аудитория посетителей сайта;
– гибкие настройки личного кабинета;
– удобные инструменты для создания интернет-магазина;
– VIP-объявления (выделение);
– поисковики индексируют объявления на Авито;
– доступные цены на создание и продвижение магазина;
– чем больше объявлений – тем ниже цена одной публикации;
– скидки на тарифы при постоянном сотрудничестве.
Кроме того, на AVITO для каждого региона/города есть своя доска
объявлений. Диапазон категорий объявлений охватывает, пожалуй, все
сферы жизни: от разного рода недвижимости до домашних животных и
многое другое.
Страница магазина представлена на рисунке 1.3.
Рисунок 1.3 – Страница интернет-магазина AVITO.ru
Несмотря на высокую посещаемость и хорошую известность, в
последнее время от пользователей поступают жалобы на ее чрезмерную
коммерциализацию. Для подачи объявления в большинство рубрик
необходимо оплатить несколько сотен рублей. Это касается продажи
квартир, поиска наемных сотрудников и массы других категорий. Таким
образом, очевидна направленность "Авито" на работу с представителями
малого бизнеса, которые могут себе позволить приобретать платные
аккаунты и тратить сотни рублей на публикацию одного объявления. На
"Авито" практически невозможно найти объявление о продаже
недвижимости от собственника, многие пользователи отказываются от
использования доски, так как процесс регистрации затруднен, требуется
подтверждение по SMS.
Тем не менее "Авито" является самой популярной доской в России.
Ее, однако, догоняют альтернативные веб-ресурсы, которые
характеризуется большей ориентацией на простого пользователя, цель
которого - быстро и просто подать объявление о продаже конкретного
товара.

1.1.4. Сервис объявлений OLX


OLX – организация, которая предоставляет онлайн-площадку для
размещения различного рода товаров и услуг. Пользователи сайта могут
выставить на продажу старую мебель, игрушки, технику и многое другое, в то
время как другие пользователи, который в ней нуждаются, могут связаться с
продавцом и купить её. Создавать аккаунты есть возможность как у
физических, так и у юридических лиц.
На сегодняшний день OLX функционирует в большинстве стран СНГ:
Украине, Узбекистане, Казахстане. Самый первый OLX был запущен в
Российской Федерации в 2007 году, но потом его выкупил Авито, а уже сегодня
он входит в Топ-3 самых посещаемых сайта Узбекистана.
Преимущества сервиса OLX:
 возможность быстро продать товар;
 сервис практикует доставку товара, что определяет сразу два
преимущества: клиент не платит за доставление товара, а затраты на возврат
товара полностью несёт продавец;
 продавец получит деньги только тогда, когда покупатель забирает свой
товар на почте;
 от покупателей не требуется предоплата, что значительно снижает
процент мошенников среди продавцов;
 посещаемость сайта довольна высокая во всех 4 странах, поэтому
продать товар или найти нужный не составит труда;
 товары, предлагаемые для продажи на OLХ значительно дешевле, чем в
магазинах;
 приятный интерфейс;
 фильтры поиска настроены таким образом, чтобы любой покупатель
нашёл необходимый товар за несколько секунд;
 большой выбор ассортимента;
 оплату можно произвести несколькими способами: по карте,
наложенным платежом или при личной встрече с продавцом;
 удобная система пополнения счёта на странице;
 возможен обмен товара;
 почти все объявления с фотографиями, поэтому покупатель видит, за
что платит;
Скриншот сервиса представлен на рисунке 1.4.
Рисунок 1.4 – Главная страница сервиса OLX

К сожалению, наряду с достоинствами у сервиса есть ряд недостатков. К


самым распространённым относятся:
 рейтинг продавцов и покупателей отсутствует, что значительно
утрудняет поиск добросовестного клиента;
 на сайте есть возможность разместить платное объявление, которое
будет первым в списке выдачи. Многие пользователи жалуются, что
просмотров много, а звонков мало. Исходя из этого многие сделали вывод, что
сайт просто накручивает просмотры у платных объявлений;
 распространенная проблема – мошенники. Так как предоплату
покупатели не делают, очень часто мошенники встречаются именно среди тех,
кто покупает, а не продаёт товар;
 размещение бесплатных объявлений имеет лимит;
 стоимость платных объявлений никак не зависит от цены товара.
Пользователь может выложить объявление, а заплатить за его размещение цену
в два раза больше;
 в разделе «одежда» не хватает таких фильтров как «мужская»
«женская» «для детей», поэтому весь предоставленный товар никак не
классифицируется;
 многие пользователи называют сервис «условно» бесплатным, так как
за многие опции приходится платить.
 обратная связь со службой поддержкой отсутствует;
 часто аккаунты блокируют без объяснения причины;
 сервис не развивает защиту покупателей;
 многие пользователи жалуются на то, что сайт не выполняет своим же
требования;
 сервер, на котором расположен сайт, очень часто слетает, поэтому сайт
зачастую тормозит и виснет;
 платные объявления могут удалиться сразу после публикации;
 пользователи не могут оставлять отзывы о совершённых сделках;
 объявления удаляются без причины.

1.1.5. Доска объявлений «Из Рук в Руки»


Миссия проекта «Из рук в руки» — сделать максимально простым
общение продавца и покупателя.
Это не только доска объявлений, но и новостной аналитический портал,
на котором публикуется разнообразная информация из сферы современной
жизни делового человека.
Название доски знакомо многим гражданам уже более четверти века. В
1992 году вышел первый номер бумажного издания, которое называлось так же,
как сейчас называется веб-сайт. Публиковались в нем объявления о продаже
квартир. Тогда еще агентства недвижимости не так оккупировали этот рынок,
как сейчас, поэтому газету держал в руках практически каждый, кто в 90-е годы
осуществлял какую-либо сделку с «квадратными метрами».
Сейчас же бумажная версия не издается, все объявления размещаются на
сайте irr.ru. Его посещают миллионы человек ежедневно.
Особенности irr.ru:
 объявлений на сайте — более 5 300 000;
 количество посетителей ежедневно — более 750 000 человек;
 возможность подачи объявлений в печатные издания напрямую;
 платные и бесплатные объявления;
 премиум-объявления;
 сервис для компаний — «Интернет-партнер»;
 мобильное приложение для iPhone и iPod Touch.
Главная страница сервиса представлена на рисунке 1.5.
Рисунок 1.5 – Главная страница сервиса «Из Рук в Руки»

Как и на других подобных сайтах, организован очень удобный поиск


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

1.1.6. Интернет-портал Auto.ru


Auto.ru — автомобильный сайт в России, через который ежегодно
продаётся более полутора миллионов подержанных машин. Был создан в 1996
году.
В 2003 году портал «Авто.ру» вошёл в «большую двадцатку» ресурсов
российского интернета с наибольшим охватом российской аудитории,
составленную на основе статистических данных Rambler и Mail.Ru, а также
сотню наиболее полезных и интересных интернет-ресурсов по оценке
«Рамблера».
Кроме того, у «Авто.ру» был совместный мобильный проект с
корпорацией Google — приложение «Дороги России», представленное в марте
2012 года. Приложение использовало электронный компас и акселерометр,
чтобы отслеживать вибрацию смартфона во время поездки на машине и
передавало данные на сервер, где формировалась карта качества дорожного
покрытия. Статистика была доступна в самом мобильном приложении, карта
дорог — на сайте rusdorogi.ru
Удобства и особенности Auto.ru:
 возможность подачи и поиска объявлений прямо на картах регионов
России;
 всего объявлений в базе данных на сегодня — более 600 000;
 количество посетителей ежедневно — около 40 000 человек;
 возможно размещение объявления бесплатно и без регистрации;
 доступны возможности для спецразмещения (в ТОПе);
 возможность добавиться в каталог предприятий России;
 e-mail подписка на объявления;
 cпециальный раздел с деловыми предложениями.
Главная страница интернет-магазина представлена на рисунке 1.6.

Рисунок 1.6 – Главная страница интернет-магазина «Auto.ru»

Для подачи объявления о продаже автомобиля потенциальному продавцу


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

1.1.7. Интернет-портал для размещения по продаже машин Drom.ru


Drom.ru — интернет-портал для размещения объявлений по продаже
машин с пробегом. Раньше специализировался только на японских
автомобилях, теперь таких ограничений нет. На сайте есть форум, интересные
статьи, новости, видео и раздел с правовыми вопросами. Можно даже
потренироваться в ответах на вопросы о правилах дорожного движения.
Портал рекомендует пользоваться платным размещением в случае, если
планируется продавать слишком часто. Стоимость размещения зависит от
региона и способа оплаты и колеблется. Даже в случае бесплатного
размещения, объявление можно поднять в общем списке. Сайт предлагает такие
дополнительные услуги, как: спецразмещение (блок фотографий в верхней
части страницы — срок показа у каждого региона разный), прикрепление
объявления в верхней части списка, выделение цветом и так далее.
Одно из объявлений представлено на рисунке 1.7.
Рисунок 1.7 – Пример объявления интернет-магазина «Drom.ru»
В отличие от Авто.ru специализируется только на объявлениях о продаже
запчастей и транспорта — легкового, грузового, коммерческого, мотоциклов и
других видов. 
Плюсы:
 охват по регионам: по всей России;
 сфотографировав свидетельство о регистрации транспортного средства,
нужные поля заполняются автоматически;
 оценка стоимости автомобиля: указав параметры на сайте, можно
рассчитать примерную стоимость продажи;
 возможность разместить объявление бесплатно;
 наличие мобильного приложения;
 размещение неограниченного количества фото;
 cпециальный раздел с деловыми предложениями.
Минусы:
 бесплатное размещение только раз в полгода. Во Владивостоке
объявление можно разместить только платно;
 объявление появляется на сайте не сразу, а после модерации;
 все объявления размещаются на 30 дней и после уходят в архив. Для
возобновления необходимо поднять из архива (бесплатное – бесплатно, платное
– за деньги);
 требуется регистрация по номеру телефона – подтверждение по смс;
 штрафные санкции за нарушение правил. 
Кроме того, только при платном размещении разрешено указать URL
своего сайта на фото и в тексте объявлений.

1.1.8. Онлайн-аукцион CarPrice.ru


CarPrice — международная компания и сервис по безопасной продаже
автомобилей с пробегом через онлайн-аукцион. Сервис был создан в 2014 году.
На данном сайте размещен онлайн-калькулятор, который вычисляет
приблизительную стоимость подержанного автомобиля, исходя из его
параметров (пробега, года выпуска, комплектации и пр.), уже проведённых
аукционов и текущей рыночной конъюнктуры. После предварительной оценки
владелец автомобиля получает приглашение в один из офисов компании, где
автомобиль проходит юридическую и техническую диагностику. Диагностика
автомобиля бесплатна. Для того, чтобы выставить авто на электронные торги,
сотрудники компании осматривают автомобиль по более чем 800 параметрам. В
результате, каждому автомобилю присваивается оценка-количество звезд (от 0
до 5) по таким параметрам как «Технические параметры», «Салон», «Состояние
кузова» и «Сопутствующие факторы».
После на машину составляют аукционный лист с описанием, данные
загружаются на онлайн-платформу — и начинаются торги. Покупатели
(автодилеры) торгуются за машину. Оценка автомобиля и проведение аукциона
занимает в среднем 1,5—2 часа, из них сам онлайн-аукцион — 30 минут. По
завершении аукциона собственнику предлагается максимальная ставка.
Собственник может принять или отказаться от сделки. Для клиентов компании
вся услуга бесплатна.
Страница онлайн-аукциона представлена на рисунке 1.8.

Рисунок 1.8 – Главная страница онлайн-аукциона CarPrice.ru

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

Недостатки:
 ограниченное количество офисов;
 большие очереди и время ожидания гораздо дольше, чем заявленные 30
минут;
 цена может отличаться от желаемой как в большую, так и в меньшую
сторону.

1.1.9. ЦИАН — сайт по поиску недвижимости в России


ЦИАН является специализированном сервисом по продаже недвижимости
в Москве. Благодаря большой базой данных, пользуется популярностью среди
частых продавцов и риелторов. Предоставляет огромный спектр услуг по работе
с недвижимостью — предложения по ипотеке, классификация по регионам,
типу жилья, виду сделок. Кроме того, сайт имеет удобный интерфейс,
интуитивно понятен.
Еще одним плюсом является возможность как платного, так и бесплатного
размещения.
К недостатку можно выделить то, что сервис предъявляет, в числе которых
запрет на активные и пассивные ссылки в объявлениях на другие сайты. Также
запрещено указывать в объявлениях информацию об услугах и товарах, которые
предоставлены на интернет-аукционах и других сайтах, за ту же или за
меньшую плату.  На размещенных фото ставятся свои водяные знаки.
Кроме того, среди объявлений всё чаще и чаще попадаются те, которые
были размещены агентами, риелторами или агентствами, что приводит к тому,
что за съём квартиры придётся заплатить ещё и комиссию, 
Страница сайта представлена на рисунке 1.9.
Рисунок 1.9 – Главная страница сайта ЦИАН

1.1.10. Domofond.ru — сайт по продаже недвижимости


Domofond.ru является одним из самых новых сайтов по продаже в
недвижимости в России.
За несколько лет существования он успел подняться на лидирующие
позиции топа лучших. Данный сервис представляет собой базу не только
объявлений, но и практичных материалов для покупателей и владельцев
подобного имущества. Есть и множество дополнительных сервисов, среди
которых – инструмент оценки, банк образцов документов, ипотечный
калькулятор, отображение динамики цен и аналитики рынка.
На сегодняшний момент представлена очень широкий выбор
недвижимости: от небольших квартир в регионах до зарубежных загородных
домов.
На Domofond.ru регулярно добавляются новые услуги. Сейчас можно
подписаться на рассылку подходящих объявлений по почте. На главной
странице есть раздел с интересными статьями, свежими новостями, советами от
экспертов и др. За дополнительную плату каждый пользователь имеет
возможность поднять свое объявление или выделить его.
Основные преимущества:
 большая база объявлений;
 наличие бесплатного размещения;
 возможность разместить свое объявление на первую страницу;
 поиск недвижимости по местоположению;
 достаточно удобный поиск объявлений.
Недостатки:
 регистрация только через социальные сети или по номеру телефона;
 много навязываемых платных услуг;
 большое количество риелторов.
Страница сайта представлена на рисунке 1.10.

Рисунок 1.10 – Главная страница сайта Domofond.ru


1.1.11. Kufar.by — сервис бесплатных объявлений
На сегодняшний момент Куфар является крупнейшим по охвату ресурс
объявлений в Беларуси, а также входит в ТОП-4 самых популярных площадок
РБ. Проект был основан в 2010 году шведской компанией SCM Ventures,
участником международного медиаконцерна Schibsted.
Особенности Kufar.by:
 900 000+  активных пользователей в месяц;
 всего объявлений в базе данных на сегодня — более 800 000;
 25 000+ новых объявлений в день;
 возможно размещение объявления бесплатно и без регистрации;
 доступны возможности для спецразмещения (в ТОПе);
 более 50% ежедневных посещений Kufar происходят через мобильные
устройства, в том числе через мобильное приложение;
 доля объявлений частных лиц составляет около 97%.
Страница ресурса представлена на рисунке 1.11.
Рисунок 1.11 – Главная страница ресурса Kufar.by

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

Минусы:
 ограничение количества фотографий до 9 штук;
 нет рейтинга продавцов и покупателей;
 нет возможности бесплатно восстановить объявление с истекшим
сроком;
 наличие мошенников на сайте;
 жесткая модерация;
 отсутствует возможность продажи товара одним лотом.

1.2 Формирование требований к программному средству

1.2.1 Назначение разработки


Функциональным назначением разрабатываемого веб-приложения
является создание электронной доски объявлений по обмену товаров.
1.2.2 Основные выполняемые функции:
– создание нового объявления;
– просмотр всех объявлений;
– возможность написать комментарий под объявлением;
– регистрация и авторизация пользователей;
– возможность отсортировать объявления по выбранным критериям.

1.2.3 Требования к организации входных данных:


Входными данными ПС являются файлы версий программных продуктов
и их обновления. Требований к файлам не предъявляются.

1.2.4 Требования к организации выходных данных:


Выходными данными ПС являются файлы версий программных
продуктов и их обновления. Требований к файлам не предъявляются.

1.2.5 Требования к организации входных данных:


Веб-приложение должно функционировать на ЭВМ со следующими
минимальными характеристиками:
– процессор Intel с тактовой частотой 2 ГГц и более;
– свободное место на жестком диске, в объеме не менее 2Гб;
– оперативная память 4 Гб и более;
– операционная система: Windows;
– веб-браузер Internet Explorer версии 10 или выше.

1.2.6 Требования к языку программирования.


Данное приложение должно быть написано на платформе NodeJS с
использованием JavaScript-библиотеки React.

1.3Аналитический обзор литературы


Места, на которых можно разместить объявление бесплатно для
широкого ознакомления, появились в незапамятные времена. В Древней
Греции в качестве официальной доски объявлений использовался
монумент статуи героев, а объявления записывались на белёных досках.
Подобно грекам, в Древнем Риме так же для объявлений применялись
отбеленные доски. Кроме того, в те времена большой демократичностью
способ этот не пользовался и находился исключительно в руках властей: в
Вавилоне выбивали законы на каменном столбе, в средневековой Англии
королевские указы вывешивались на церковных дверях.
Современный вид доски для объявлений получили с изобретением в
XIX веке канцелярских кнопок. Доска с пробковой поверхностью была
запатентована Джорджем Бруксом в 1923 году. В конце XX века
популярность приобрели магнитные доски объявлений.
С изобретением электрического освещения были сделаны попытки
его использования в досках объявлений. В 1893 году планировалось
изготовление гигантского проектора для отображения сообщений на
облаках. В 1918 году компания «American Electrograph» начала поставлять
табло из электрических лампочек, устанавливаемое на крыше здания и
управляемое по проводам с пульта, напоминающего пишущую машинку.
Оператор имел возможность показывать произвольные текстовые
сообщения, которые могли меняться каждые 10 секунд.
Самая Первая электронная доска объявлений(BBS) появились в
США в начале 80-х годов и представляли собой электронный аналог
обычных досок объявлений, широко распространенных в Америке в
общественных местах. В соответствии с принципом работы этой
программы любой человек, зашедший в нее, мог прочитать чьи-то
объявления и оставить свои.
Изначально BBS содержали разнообразные фирмы и доступ к ним
был платный. Впоследствии же, в качестве хобби, их стали открывать и
частные лица. В основной своей массе доступ к частным BBS бесплатный.
Идея Электронных Досок Объявлений распространилась
молниеносно. BBS предоставляли общение со многими людьми, у
которых были сходные интересы, сохраняя полную анонимность. Многие
люди стали постоянными пользователями BBS, появлялись там по
несколько раз в день.
Первыми, кто заинтересовался таким родом обмена информацией,
стали люди, чьи интересы касались непосредственно компьютеров. При
помощи Досок Объявлений программисты обменивались новыми
методами программирования. Технари обсуждали проблемы
совместимости компьютерных комплектующих и методы улучшения его
работы. Благодаря своей анонимности BBS привлекли и компьютерных
хакеров - бунтарей от электроники, которые сочетали в себе
современнейшие технические знания с моралью изгоев.
В начале 80-х компьютеры создали свою собственную культуру,
настолько же универсальную, как и молодежная культура 60-х.
Носителями кибер-панк культуры стали молодые парни, которые были
одержимы компьютерами. Причем, эта их одержимость часто переходила
пределы того, что компьютерщики-профессионалы считали допустимым с
точки зрения морали, а юристы - с точки зрения закона. Увидев в BBS
новый способ обмена информацией, хакеры стали обмениваться
сведениями по новым методам взлома компьютерных систем, способами
добычи информации, и определения паролей доступа.
Стали возникать BBS специализирующиеся на информации о
способах взлома компьютерных сетей. Несколько культовых хакерских
BBS даже вошли в историю. Например, BBS «Пиратская бухта» в Бостоне
или «8BBS» в Кремниевой Долине (Калифорния) - этой цитадели
информационных технологий Америки. На одной из таких BBS каждому
новому пользователю выдавалось сообщение:
«Содержимое сообщений не контролируется. Организаторы данной
BBS не несут никакой ответственности за содержание сообщений,
поступающих в эту систему. Никаких подтверждений излагаемого не
требуется. Никто не несет ответственности за нарушение частного
характера сообщений. BBS функционирует, как носитель информации
общего пользования, в силу чего не может и не будет контролировать
содержание поступающих сообщений».
Результаты не заставили себя ждать. Информация, поступающая на
BBS и доступная для всех, стала иметь полукриминальный характер.
Здесь было все: способы общения с людьми для выведывания паролей, не
традиционные методы добычи информации, включая прослушивание
телефонных линий и способы нахождения сведений о конкретном
человеке, номера потерянных, но не заблокированных кредитных
карточек, описания ошибок в программном обеспечении и алгоритмы,
позволяющих эти ошибки использовать.
Вскоре электронными досками объявлений начали пользоваться
люди, которые не имели непосредственного отношения к компьютерам.
При помощи BBS стали обмениваться объявлениями о купле-продаже,
опытом по приготовлению кулинарных блюд, выращиванию цветов или
уходу за щенками. Многие фирмы открывали BBS с рекламой
предоставляемых услуг. Некоторые рестораны имели BBS, где можно
было заказать ужин на дом. Свою BBS имело даже ФБР, где хранилась
информация о преступниках, находящихся в федеральном розыске. К
середине 80-х в США насчитывалось уже несколько тысяч таких систем.
Для доступа к BBS необходимы телефонная сеть, модем и
программа-терминал (minicom, Y-term, Telix, Hyper Terminal, Terminate,
Telemax и другие). Некоторые BBS были доступны также через Интернет
по протоколу telnet.
Пользователь BBS запускает программу-терминал, инициирует в
этой программе телефонный звонок на номер BBS, после соединения BBS
предлагает авторизоваться (ввести логин и пароль) либо
зарегистрироваться как новому пользователю и после успешного логина
пользователя предоставляет ему доступ:
– к «доске объявлений», где каждый или избранные могут публиковать
новости и объявления;
– к тематическим конференциям (подобно современным веб-форумам);
– к каталогам обмена файлами, каждый файл сопровождается описанием и
счётчиком скачиваний, для пользователей может учитываться рейтинг
загрузок/скачиваний.
В дополнение к онлайновому доступу к конференциям были разработаны
способы оффлайнового чтения конференций с помощью QWK и Blue Wave.
Пользователь соединялся с BBS, скачивал на свой компьютер файл-пакет с
сообщениями, писал ответные и новые сообщения в конференции, которые
затем программой QWK или Blue Wave собирались в пакет. В наиболее
свободное время работы BBS пользователь снова соединялся с BBS, закачивал
на неё пакет со своими сообщениями и скачивал пакет с сообщениями, которые
оставили на BBS другие пользователи за время, прошедшее с его предыдущего
звонка на BBS.
Для работы с большинством BBS производился с помощью терминальной
программы в текстовом режиме.
В то время использовались следующие режимы: «простой текст» (8-
битные символы без цветовых кодов и очистки экрана), ANSI (текстовое
расширение ASCII с возможностью цветового выделения, позволяющий
создавать псевдографические рисунки) и AVATAR (более эффективный
двоичный протокол с возможностью передачи растровой графики). Для
улучшения восприятия и оформления на BBS помимо текста широко
использовались рисунки, выполненные посредством ANSI-графики.
Кроме того ,у каждого зарегистрированного пользователя на BBS
устанавливался свой уровень доступа, как правило от twit (самый нижний
уровень, при котором доступ вообще закрыт) до SySop (с полными правами). В
зависимости от этого уровня может варьироваться суточное время доступа к
станции и лимит времени на сессию, лимит на скачивание файлов (суточный и
сессионный), возможность создания сообщений и привилегии в различных
почтовых областях и группах почтовых областей, режим использования чата с
системным оператором и т. п. Уровни доступа и привилегии реализуется
различными механизмами в зависимости от используемого программного
обеспечения BBS. Так, Maxumus использует символьные обозначения уровней
доступа («twit», «limited», «normal» и др.), а в RemoteAccess уровень доступа
задается 16ти битным беззнаковым числом. Помимо этого реализована система
контроля и управления пользовательскими флажками, представляющими собой
набор из 32х логических переменных для каждого пользователя. Система
флажков позволяет менять степень взаимодействия пользователей даже одного
числового уровня доступа, например, при сохранении единых временных
лимитов, привилегированным пользователям может быть предоставлен доступ к
скрытым пунктам меню, почтовым и файловым областям и расширенные права
работы в них. Система IN-MENU, наследует механизм уровней доступа
RemoteAccess, предоставляя дополнительно возможность выполнить
индивидуальный скрипт для каждого пользователя или группы. Tornado BBS
поддерживает числовой уровень доступа и систему флажков, задаваемых
строкой латинских символов поэтому, их может быть 25 — по числу букв
латинского алфавита.
На сегодняшний момент, в странах постсоветского пространства
электронные доски объявлений пользуются большим спросом. Связано
это с тем, что большинство BBS создаются компьютерными
энтузиастами, пользующимися низкой стоимостью эксплуатации
телефонной сети. Первые BBS возникли благодаря энтузиазму отдельных
людей, которые на самодельных компьютерах при помощи самодельных
же модемов организовывали свои BBS.
В связи с этим, BBS использовали только как средство
распространения программ, а идея объявлений, как средства обмена
опытом между людьми отошла к FIDONET (международная
любительская некоммерческая компьютерная сеть) и эхо-конференциям
членов этой сети. Правда, в последнее время, в связи со с широчайшим
распространением программного обеспечения (достать можно что угодно,
стоит только посчитать количество компакт-дисков продаваемых по очень
смешным ценам на международном рынке) облик BBS стал меняться.
Программы, предлагаемые BBS стали, более специализированными.
Широко распространились коллекции музыкальных файлов, подборки
картинок (в основном порнографического содержания), сборники
анекдотов и т.д. Одни BBS представляют собой собрание разрозненных
файлов с совершенно различным содержанием, другие же имеют
определенную направленность, например, новые модули для языков
программирования или материалы по музыке и художественной
литературе.
Сегодня на BBS можно, достать что угодно от программы для
обработки оцифрованного звука до книги по приготовлению тортов.
Современные BBS стали своего рода окном в информационный мир.

2 МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И РАЗРАБОТКА


ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ

2.1 Общие сведения унифицированного языка моделирования UML


Язык UML представляет собой унифицированный язык визуального
моделирования, который разработан для визуализации, проектирования,
спецификации, и документирования компонентов бизнес-процессов,
программного обеспечения, и других систем. Кроме того, он одновременно
является простым средством моделирования, который может быть эффективно
использован для построения логических, концептуальных и графических
моделей систем самого различного целевого назначения. Этот язык вобрал в
себя наилучшие качества методов программной инженерии, которые с успехом
использовались на протяжении последних лет при моделировании больших и
сложных систем.
Нотация UML основана на некотором числе базовых понятий, которые
могут быть изучены и применены большинством программистов и
разработчиков, знакомых с методами объектно-ориентированного анализа и
проектирования. При этом понятия могут комбинироваться и расширяться
таким образом, что специалисты объектного моделирования получают
возможность самостоятельно разрабатывать модели больших и сложных систем
в самых различных областях приложений.
Одним из таких принципов построения моделей является принцип
многомодельности. Этот принцип представляет собой утверждение о том, что
никакая единственная модель не может с достаточной степенью адекватности
описывать различные аспекты сложной системы. При этом наиболее общими
представлениями сложной системы принято считать статическое и
динамическое представления, которые в свою очередь могут подразделяться на
другие более частные представления.
Принцип инкапсуляции предписывает разделять элементы абстракции на
секции с различной видимостью, что позволяет отделить интерфейс абстракции
от его реализации.
Принцип модульности определяет возможность декомпозиции
проектируемой системы на совокупность сильно связанных и слабо сцепленных
модулей.
Принцип иерархии означает формирование иерархической структуры
абстракций и предписывает выполнять иерархическое построение моделей
сложных систем на различных уровнях детализации;
Еще одним принципом прикладного системного анализа является
принцип иерархического построения моделей сложных систем. Этот принцип
предписывает рассматривать процесс построения модели на разных уровнях
абстрагирования или детализации в рамках фиксированных представлений. При
этом исходная или первоначальная модель сложной системы имеет наиболее
общее представление (метапредставление). Такая модель строится на начальном
этапе проектирования и может не содержать многих деталей и аспектов
моделируемой системы.
Язык UML предназначен для решения следующих задач:
1) Предоставить в распоряжение пользователей легко воспринимаемый и
выразительный язык визуального моделирования, специально предназначенный
для разработки и документирования моделей сложных систем самого
различного целевого назначения.
2) Снабдить возможностью расширения и специализации для более
точного представления моделей систем в конкретной предметной области.
3) Поддерживать такую спецификацию моделей, которая не зависит от
конкретных языков программирования и инструментальных средств
проектирования программных систем.
4) Поощрить развитие рынка объектных инструментальных средств.
5) Способствовать распространению объектных технологий и
соответствующих понятий ООП.
Описание языка UML состоит из 2 основных частей:
1) Семантика языка, которая представляет собой некоторую метамодель, и
определяет абстрактный синтаксис и семантику понятий объектного
моделирования.
2) Нотация языка, которая представляет собой графическую нотацию для
визуального представления.
Абстрактный синтаксис и семантика языка UML описываются с
использованием некоторого подмножества нотации UML. В дополнение к
этому, нотация UML описывает соответствие или отображение
графической нотации в базовые понятия семантики. Таким образом, с
функциональной точки зрения эти две части дополняют друг друга. При
этом семантика языка UML описывается на основе некоторой
метамодели, имеющей три отдельных представления: правила
корректного построения выражений абстрактный синтаксис, и семантику.
Семантика определяется для двух видов объектных моделей:
структурных моделей и моделей поведения. Структурные модели
описывают структуру сущностей или компонентов некоторой системы,
включая их классы, интерфейсы, атрибуты и отношения. Модели
поведения, называемые иногда динамическими моделями, описывают
поведение или функционирование объектов системы, включая их
взаимодействие, методы и сотрудничество между ними, а также процесс
изменения состояний отдельных компонентов и системы в целом.
Для решения задач моделирования разработана достаточно полная
семантика для всех компонентов графической нотации. Требования
семантики языка UML конкретизируются при построении отдельных
видов диаграмм. Нотация языка UML включает в себя описание
отдельных семантических элементов, которые могут применяться при
построении диаграмм.
2.2 Описание функциональности программного средства

Для того чтобы показать функциональную модель программируемого ПС


используется диаграмма вариантов использования UML. Она позволяет описать
систему на концептуальном уровне, отражая отношения между актерами и
прецедентами. Каждый прецедент показывает отдельный сервис системы и
соответствует одному из вариантов использования программы. Он описывает
один из способов взаимодействия пользователя и системы. UML помогает
отобразить данную диаграмму, т.к. данный язык моделирования предназначен
для определения, визуализации, проектирования и документирования
программных систем.
На рисунке 2.1 представлена диаграмма вариантов использования
разрабатываемого программного средства. Она состоит из двух видов
элементов: актер и прецедент. Актер обозначает некоторую роль пользователя в
системе, изображается как стилизованный человек. Прецедент обозначает
некоторое действие, выполняемое системой, результат которого наблюдает
актер, изображается как эллипс.
На основании представленной диаграммы вариантов использования
можно сделать вывод, что в системе будет три актера: гость, пользователь и
администратор.
Гость имеет следующие прецеденты:
а) Регистрация: гость регистрируется посредством заполнения его имени,
фамилии, адреса, названия учебного заведения, электронной почты, мобильного
телефона и пароля.
б) Авторизация: гость авторизуется посредством его адреса электронной
почты и пароля.
в) Просмотр:
1) Списка товаров: гость может просматривать список продуктов,
отсортированный по различным критериям.
2) Комментариев: гость может просматривать список комментариев,
оставленных другими пользователями.
г) Поиск:
1) По возрастанию цены: гость может просматривать список
продуктов, отсортированный по возрастанию цен.
2) По убыванию цены: гость может просматривать список
продуктов, отсортированный по убыванию цен.
3) По имени товара: гость может просматривать список продуктов,
включающих себя только те позиции, которые содержит наименование
товара.
д) Сброс фильтров поиска: пользователь может сбросить все
предшествующие алгоритмы поиска товаров.
Пользователь имеет следующие прецеденты:
а) Просмотр:
1) Списка товаров: пользователь может просматривать список
продуктов, отсортированный по различным критериям.
2) Комментариев: пользователь может просматривать список
комментариев, оставленных другими пользователями.
б) Поиск:
1) По возрастанию цены: пользователь может просматривать список
продуктов, отсортированный по возрастанию цен.
2) По убыванию цены: пользователь может просматривать список
продуктов, отсортированный по убыванию цен.
3) По имени товара: пользователь может просматривать список
продуктов, включающих себя только те позиции, которые содержит
наименование товара.
в) Сброс фильтров поиск: пользователь может сбросить все
предшествующие алгоритмы поиска товаров.
г) Подача нового объявления: пользователь добавляет нового объявления
посредством заполнения формы, которая включает себя наименование
товара, имя продавца, общее состояние товара, среднестатистическая цена
на рынке и цена продавца. Также, для подачи объявления необходима
минимум одна фотография формата .png или .jpeg.
д) Удаление своих объявлений: пользователь может удалять все свои
размещенные объявления.
e) Написание комментариев: пользователь может оставлять свои
комментарии на своих или других объявлениях.
ж) Добавить товар в список желаемых товаров: пользователь может
добавить объявление в список желаемых товаров.
з) Удалить товар из списка желаемых товаров: пользователь может
удалить объявление из списка желаемых товаров.
и) Переместить товар из списка желаемых товаров в корзину:
пользователь может переместить объявление из списка желаемых товаров
в список корзины.
к) Просмотр общей стоимости товаров: пользователь может просмотреть
итоговую стоимость всех товаров, их наименование и количество.
л) Удалить одно из объявлений из корзины: пользователь может удалить
одно из выбранных объявлений из корзины.
м) Осуществление оплаты: пользователь осуществляет платеж за все
объявления, размещенных в корзине.
Администратор имеет следующие прецеденты:
 Просмотр списка объявлений: администратор может просматривать все
объявления, размещенных другими пользователями.
 Добавление объявлений: администратор может добавлять свои
объявления.
 Редактирование объявлений: администратор может редактировать
объявления других пользователей.
 Удаление объявлений: администратор может удалять объявления
других пользователей.
 Просмотр истории действий пользователей: отображается история
действий пользователей, а также кем из пользователей и в какой момент
времени эти действия были сделаны.
 Просмотр списка пользователей: администратор может просматривать
всех зарегистрированных пользователей.
 Добавление пользователей: администратор может добавлять новых
пользователей
 Редактирование пользователей: администратор может изменять данные
пользователя.
 Удаление пользователей: администратор может удалять объявления
других пользователей.
 Редактирование корзины: администратор может изменять корзину у
конкретного пользователя.
 Редактирование комментариев: администратор может изменять
комментарии, оставленных другими пользователями.
 Создание комментариев: администратор может оставлять свои
комментарии под объявлениями, оставленных другими пользователями.
 Удаление комментариев: администратор может удалять комментарии,
оставленных другими пользователями.
 Поиск по возрастанию цены: администратор может просматривать
список продуктов, отсортированный по возрастанию цен.
 Поиск по убыванию цены: администратор может просматривать список
продуктов, отсортированный по убыванию цен.
 Поиск по возрастанию цены: администратор может просматривать
список продуктов, включающих себя только те позиции, которые содержит
наименование товара.
Рисунок 2.1 – Диаграмма вариантов использования
2.3 Спецификация функциональных требований

Целью разрабатываемого дипломного проекта является создание средства


электронной доски объявлений по продаже товаров. В ходе разработки будут
реализованы перечисленные далее функции.
Гость:
а) Авторизация при помощи адреса электронной почты и пароля;
б) Регистрация при помощи адреса электронной почты, пароля и других
необязательных полей.
в) Отображение веб-страницы. Список включает в себя такие пункты как:
1) список объявлений;
2) список комментариев.
г) Поиск товаров:
1) отсортированный по возрастанию цены;
2) отсортированный по убыванию цены;
3) по имени товара.
д) Сброс фильтров поиска. Выбрав этот пункт, гость может сбросить все
предшествующие алгоритмы поиска товара.
Пользователь:
а) Отображение веб-страницы. Список включает в себя такие
пункты как:
1) список объявлений;
2) список комментариев.
б) Поиск товаров:
1) отсортированный по возрастанию цены;
2) отсортированный по убыванию цены;
3) по имени товара.
в) Сброс фильтров поиска. Выбрав этот пункт, гость может
сбросить все предшествующие алгоритмы поиска товара;
г) Подача нового объявления. Пункт включает в себя заполнение
полей формы: наименование товара, имя продавца, общее состояние
товара, среднестатистическая цена на рынке и цена продавца;
д) Удаление своих объявлений;
е) Написание комментариев;
ж) Просмотр списка желаемых товаров. Этот список включает в
себя:
1) добавление товара в список желаемых товаров;
2) удаление товара из списка желаемых товаров;
3) перемещение товара из списка желаемых товаров в корзину.
з) Просмотр списка корзины. Список включает в себя такие пункты
как:
1) добавление товара в корзину;
2) удаление товара из корзины;

3) подсчет общей стоимости товаров. Пункт включает в себя


итоговую стоимость всех товаров, их наименование и количество;
4) осуществление оплаты.
Администратор:
а) Управление комментариями. Этот список включает в себя:
1) просмотр комментариев;
2) создание комментариев;
3) редактирование комментариев;
4) удаление комментариев.
б) Управление объявлениями. Этот список включает в себя:
1) просмотр объявлений;
2) создание объявлений;
3) редактирование объявлений;
4) удаление объявлений.
в) Управление пользователями. Этот список включает в себя:
1) просмотр пользователей;
2) создание новых пользователей;
3) редактирование пользователей;
4) удаление пользователей.
г) Просмотр истории действий пользователей.