Система за агрегиране и публикуване на новини | Защитена на: 27/10/2015
Анотация:
В съвременния свят се забелязва тенденция на нарастване на нуждата от информираност, както и развитие на всевъзможните методи и технологии за предоставяне и достъп до информацията. Тъй като обемът на самата информация расте всяка година, става все по-трудно да се асимилира от обикновените потребители, които четат новини или блогове, възползват се от електронни книги или от обучителни видеа, или просто разглеждат фотографии, картини или изображения. В този ред на мисли се налага като необходимост развитие и на самите технологии за предоставяне на информация – те трябва да се персонализират спрямо интересите на потребителя, да му предоставят предложения, да систематизират и организират информацията в удобен и лесен за откриване вид и да отделят качественото от посредственото съдържание.
С такава концепция се създават и системите за агрегация на новини. Доста често дадена новина или статия бива публикувана в специализирани сайтове за новини, както от квалифицирани редактори, така и от участници в общности или автори на блог страници, които споделят личен, професионален опит или препращат към други сайтове. Потребителите често избират една или повече такива страници и проверяват за въведена нова информация в системата. При нарастването на броя сайтове обаче е невъзможно да се проследяват винаги най-актуалните или да бъдат открити най-качествените новини. Системите за агрегация на новини се заемат именно с тази задача – те обединяват новините от различни други системи, като дават лесен и консистентен визуален достъп до тях, използвайки предварително абониране и протоколи за комуникация и извличане на въпросните новини. Интересни проблеми за решаване тук са тези свързани с обединението на огромни количества информация, проверката за обновление на хиляди сайтове, възможността за подреждане на информацията, нейното оценяване и премахване на ниско качествените статии, класификацията по теми и възможността по един бърз, удобен и надежден начин потребителят да достъпва обединените изгледи през каквито и да е устройства.
Цел на дипломната работа:
Така разработената дипломна работа си поставя за задача да намери и създаде решения на тези проблеми чрез реализиране на софтуерна система за агрегация на новини. Тя трябва да предложи по-интелигентни начини за подреждане на информацията - показване на най-важната и качествена с предимство и възможност за класификация. Освен това тя трябва да предложи достъп чрез всякакви устройства – навсякъде и по всяко време, и да реализира стъпка към обединяване със социалните мрежи – да предложи интеграция със съществуващи социални мрежи и да позволи на потребителите да обогатяват системата, внасяйки ново и уникално съдържание. Такава комбинация от възможности не съществува и налагането на подобен род системи ще бъде стъпка напред в създаването на интелигентни системи на бъдещето.
Задачи, произтичащи от целта
- Анализ на съществуващите решения за агрегация откриване на техни предимства и недостатъци
- Избор на конкретни технологии, чрез които да се реализира системата.
- Анализ на изискванията към системата и тяхното документиране
- Проектиране на системата от високо ниво
- Реализирането системата – написване на кода на системата и документиране на реализацията
- План за тестване на системата
- Анализ на резултатите от реализацията
Резултати:
Втора глава прави обзор на съществуващите решения. Тази глава проследява основните термини и концепции, като създава общо представяне на конкретиката на приложната област, предимствата и недостатъците на съществуващите решения. Включва сравнителен анализ на няколко съществуващи системи с функционалностите, които поддържат и прави изводи за ключови характеристики, които биха дали предимство на една такава система пред нейните конкуренти.
Трета глава запознава читателя със съществуващи технологии и прави задълбочен анализ на необходимите технологии. В нея се прави предварителна оценка на съвкупност от технологии, които да удовлетворят изискванията към системата – сървърна технология, библиотека за потребителския интерфейс и база данни. На базата на тази предварителна оценка се разделят технологиите на типове и за всеки тип технология се описват краен брой от най-популярните и качествени от наличните решения, после се прави сравнителен анализ между тях и документира избора на най-подходяща технология на база на така направения анализ. Освен това тази глава съдържа описание на съпътстващите технологии, като например за конвертиране на изображения или компоненти на потребителския интерфейс.
Четвърта глава прави анализ на изискванията към системата, като описва възможните функционални и нефункционални изисквания, участващите потребители и външни системи. След това документира случаите на употреба в табличен вид с приоритет и оценка за риска и обема работа, а всеки от тези случаи е описан с диаграми и стъпки за изпълнение по единен формат. Така маркира най-критичните изисквания от потребителска гледна точка, както и най-сложните и най-рискови за реализация от бизнес гледна точка.
Пета глава представя различните структури на архитектурата, изобразявайки ги чрез диаграми, като за всяка структура описва всевъзможните елементи и връзки. Архитектурата използва структури на модулна декомпозиция и употреба на модулите, за да обособи различните функционалности по модули. Комбинираната структура на контекста, компонентите и конекторите и внедряването дава възможност да се проследи разпределеността на системата, протоколите за комуникация, съдържаните модули по инстанции и протоколите за комуникация с външни и вътрешни услуги и компоненти. Освен това описва и изобразява графично модела на данните и релациите между отделните елементи на модела и документира идеите за структурата на потребителския интерфейс.
В шеста глава се разглеждат различни алгоритми и подходи при имплементацията, използвани формули и се прави обосновка на техния избор. За всеки от модулите се описват ключови решения при имплементацията, които да отговорят на дефинираните изисквания и проектираната архитектура. Описват се алгоритми за разпределяне на данните, за синхронизация, формули за изчисление на оценка за популярност, актуалност и качество и други. Документира се планът за тестване чрез различни сценарии и тестови случаи, както и средите за тестване и възможните комбинации от среди и тестови случаи. Освен това се прави анализ на така постигнатите резултати и се проверява, че те отговарят на първоначалните цели.
Заключение:
Настоящата дипломна работа доказва осъществимостта на система за агрегация на новини, която използва подобрени функционалности за търсене и подреждане на информацията и едновременно с това е проектирана да се скалира относно данни и потребители. Резултатите от нея дават насока за бъдещи подобрения на самата система и може да бъде използвана като референция за подобен тип разработки.