Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:ztb:2012:projekty:rss:start [2012/04/26 23:42] ztb2012 utworzono |
pl:dydaktyka:ztb:2012:projekty:rss:start [2019/06/27 15:50] (aktualna) |
====== Projekt konceptualny ====== | ====== RSS Hunter ====== |
| Program RssHunter służy do „polowania” na konkretne informacje w kanałach RSS. Użytkownik nie musi dzięki temu tracić czasu na przeszukiwanie wszystkich nowych informacji, jakie się pojawiają. Nie musi też martwić się o odświeżanie kanału w poszukiwaniu nowych wpisów. Jedyne, co robi to tworzy bazę poszukiwań, do której dodaje kanały RSS oraz słowa kluczowe, które powinny znajdować się w interesujących go artykułach. Jeśli tylko na którymś kanale pojawi się wpis, który użytkownika interesuje, program o tym powiadamia. |
| |
===== 1. Sformułowanie zadania projektowego: podanie przedmiotu projektowania, jego celów, przeglądu zadań, specyfiki i uwarunkowań. ===== | Do realizacji projektu postanowiliśmy posłużyć się zaproponowaną na [[pl:dydaktyka:ztb:2012:etapy_projektowania|stronie]] metodyką. Składa się ona z następujących etapów: |
| |
| - [[pl:dydaktyka:ztb:2012:projekty:rss:konceptualny|Projekt konceptualny]] |
Rss Manager służyć będzie do zaawansowanego zarządzania kanałami RSS z jednej lub wielu stron WWW. Czasami zdarzają się sytuacje, w których użytkownik czeka na pojawienie się konkretnej zawartości na określonej stronie internetowej. Wymaga to ciągłego sprawdzania zawartości strony (lub w przypadku podstawowej obsługi RSSa, każdorazowego przeszukiwania jego najnowszej treści). Zadaniem aplikacji będzie zwolnienie użytkownika z takiej potrzeby poprzez powiadamianie go o pojawieniu się szukanej treści na danej stronie (np. w przypadku, w którym dany wpis zawiera określone wcześniej słowo kluczowe). Planowaną funkcjonalnością programu jest także sprawdzanie czy określona strona zmieniła swoją zawartość. | - [[pl:dydaktyka:ztb:2012:projekty:rss:logiczny|Projekt logiczny]] |
| - [[pl:dydaktyka:ztb:2012:projekty:rss:koncowy|Raport końcowy]] |
//Przykład I//\\ | |
Marek – fan produktów firmy Apple, interesuje się wszelkimi nowinkami dotyczącymi iPhonów. Uruchamia więc aplikację Rss Manager i ustawia w niej słowo kluczowe „iPhone”. Następnie dodaje do bazy kanałów RSS kilka ze swoich ulubionych blogów. Gdy tylko na którymkolwiek z nich pojawi się wpis zawierający słowo „iPhone”, Marek zostanie o tym powiadomiony bezpośrednio na komputerze, przez mail lub przez sms. W bardziej zaawansowanej wersji programu Marek może w wolnym czasie przeglądać na swoim mailu dzienne raporty zawierające wszystkie wpisy dotyczące iPhonów z podanych blogów. | |
| |
//Przykład II//\\ | |
Maciej, student Informatyki Stosowanej na AGH z niecierpliwością czeka na wyniki egzaminu z Matematyki Dyskretnej. Zamiast co kilka minut odświeżać zawartość strony swojego profesowa, ustawia aplikaję Rss Manager na tą stronę i zaznacza powiadomienie sms. Teraz może spokojnie iść z kolegami napić się soku marchewkowego, a gdy na stronie profesora pojawi się nowa zawartość, Maciej zostanie powiadomiony smsem. | |
| |
Istnieją różne możliwości zarobku na projekcie: | |
* wprowadzenie reklam dołączanych do stopki wiadomości email i sms | |
* wprowadzenie płatnej wersji programu (rozszerzone możliwości lub po prostu brak reklam) | |
* pewne (bardzo niskie) opłaty za powiadomienia sms (najlepiej w przypadku wdrożenia własnej bramki) | |
| |
| |
===== 2. Analiza stanu wyjściowego; analiza stanu zastanego, uwarunkowań prawnych, przyjętego obiegu istniejącej dokumentacji, analiza istniejącego systemu elektronicznego przetwarzania danych (aktualnej bazy), analiza występujących problemów, etc. pomocne mogą być scenariusze postępowania i ich analiza (elementy, obiekty, charakterystyki, atrybuty, struktura, przepływ danych, powiązania, relacje, ograniczenia funkcjonalności). ===== | |
| |
| |
Na chwilę obecną konkurencja nie jest zbyt wielka. Istnieje kilka programów, jednak nie są tak rozpromowane że każdy o nich słyszał, pomimo tego że z RSS każdy ma jakiś pośrednią bądź bezpośrednią styczność. Jest kilka rozszerzeń które pomagają przeglądanie takich kanałów, jednak nie spotkałem się z takim który oferowałby podobne rozwiązania jak nasze. Dodatkowym atutem tego typu aplikacji jest fakt że każdy może z niego korzystać, dlatego też będziemy starać się aby aplikacja była jak najbardziej przyjazna użytkownikowi (user friendly). | |
Na rynku znajduje się kilka czytników RSS, takich jak: | |
| |
**Google Reader** – który umożliwia subskrypcje wybranych kanałów RSS, dostarcza także kilka możliwości sortować i udogodnień, jednak funkcje które nasz program będzie oferował nie są dostępne, bądź też trudne w odszukaniu. Jest to darmowe rozwiązanie. | |
| |
**Microsoft Outlook** – jest to potężne narzędzie, i jak się okazuje można w nim skonfigurować RSS. Posiada takie funkcje jak: dodawanie źródeł, wyświetlanie najnowszych wiadomości, regularnie sprawdza kanały RSS i kilka dodatkowych. Wadą tego rozwiązania jest jego koszt, gdyż jest to program komercyjny. | |
| |
**FeedDemon** – jeden z najbardziej zaawansowanych programów, posiada poza standardowymi funkcjami związanymi z RSS takie właściwości jak: wyszukiwarkę wiadomości, filtrowanie i sortowanie wiadomości. Oprogramowanie to jest na licencji Adare, czyli jest darmowe, jednak zarabia na reklamach. | |
| |
===== 3. Analiza wymagań użytkownika (wstępna); na tym etapie należy określić podstawowe cele, zadania i funkcjonalność jakie mają być realizowane przez projektowaną bazę danych oraz ew. wymagania dotyczące projektu i dokumentacji. Dobrze byłoby, aby użytkownik na bieżąco współuczestniczył w projektowaniu i implementacji oraz wnosił swoje uwagi. Należy zidentyfikować wymagania jawne i niejawne. ===== | |
| |
| |
==== Funkcjonalność produktu: ==== | |
| |
Ponieważ podstawowym celem aplikacji jest oszczędzenie czasu użytkownika, głównym celem w funkcjonalności będą: prosty w obsłudze interfejs oraz przejrzyste raporty zawierające wyniki przeszukiwań danych kanałów RSS. | |
| |
Główny interfejs powinien zawierać: | |
* Bazę dodanych kanałów RSS, możliwość usuwania ich z listy, oraz dodawania nowych | |
* Bazę poszukiwanych słów kluczowych, również w postaci listy | |
| |
Cechy raportowania: | |
* Możliwość ustawienia częstotliwości otrzymanych raportów. Użytkownik może otrzymywać następujące raporty: | |
- Dzienny, zawierający podsumowanie, ile RSSów zawierających słowo kluczowe pojawiło się na stronie | |
- Godzinny | |
- Natychmiastowy, gdy tylko pojawi się wpis dotyczący danego tematu, użytkownik jest powiadamiany. | |
* Możliwość ustawienia rodzaju powiadomień. Użytkownik może chcieć otrzymywać szczegółowy raport mailowy, lub wiadomość sms o pojawieniu się nowej zawartości ze słowem kluczowym. | |
| |
| |
==== Analiza MoSCoW: ==== | |
| |
Must: | |
- Pobieranie nowych RSSów dla podanych przez użytkownika stron | |
- Przeszukiwanie nowych RSSów pod kątem zawartości, kiedy zawierają dane słowo kluczowe. | |
- Zapisywanie zaakceptowanych RSSów w bazie danych | |
- Powiadomienie użytkownika o nowych wiadomościach w bazie | |
- Tworzenie raportu dotyczącego nowej zawartości bazy | |
| |
Should: | |
- Wybieranie rodzaju i częstotliwości raportowania | |
- Wybór rodzaju powiadomień (poprzez mail/sms) | |
- Powiadamianie o zmianie zawartości danej strony | |
| |
Could: | |
- Znalezienie darmowego sposobu na powiadomienia sms | |
- Wysłanie powiadomień sms wykorzystując kalendarz google (posiada możliwość darmowego powiadamiania) | |
- Sprzątanie bazy ze starych wpisów | |
| |
Won't: | |
- Własna bramka wysyłająca smsy z powiadomieniami (mogłaby być korzystna w przypadku dużego zainteresowania aplikacją) | |
- Zabezpieczenia przed celowym przeciążeniem programu nadmierną ilością przetwarzanych wpisów | |
| |
==== Zadania, moduły do wykonania: ==== | |
| |
Do realizacji projektu należy wykonać następujące zadania: | |
- Zaprojektowanie bazy danych (Jakub Kozik) | |
- Konfiguracja serwera bazy danych (Jakub Kozik) | |
- Moduł pobierania RSSów (Jakub Kozik) | |
- Moduł obsługi bazy danych (Jakub Kozik) | |
- Moduł powiadamiania użytkownika (Dariusz Gruca) | |
- Moduł tworzenia raportów (Dariusz Gruca) | |
- Zaprojektowanie i wykonanie GUI (Dariusz Gruca) | |
- Dokumentacja projektu (Dariusz Gruca i Jakub Kozik) | |