ZPP

Use-case
T#32410
Facebook
beny poziom 3
#185052 26.11.2008 16:38:49
Siemano,
na wykonanie kolejnego zadania mamy co prawda jeszcze dwa tygodnie, ale chyba nie warto czekać zbyt długo. Dostaliśmy do napisania przypadki użycia i trzeba jakoś sensownie rozdzielić pracę. Ja teraz pracuję w trybie bezweekendowym. Musicie przyjąć, że od piątku ok 20 do poniedziałku 7-8 nie będzie ze mną zupełnie żadnego kontaktu - prawdopodobnie telefonicznego również. Nie jest to żadna złośliwość - po prostu będę w tym czasie w górach. W związku z tym kolejne zadania będę wyznaczał z deadlinem do poniedziałku - wcześniej i tak nie zdążę zobaczyć, co zrobiliście. Powinniśmy wyróżnić kilka głównych przypadków użycia i je opisać. Wg mnie z punktu widzenia naszej aplikacji i opisu przypadków użycia istotna będzie tylko część funkcjonalności, które zawarliśmy w wizji:
-personalizacja - co będzie szło w górę, co będzie spamiętywane (bilety, grafiki) itd - musimy gdzieś przejść od wizyjnych ogółów do konkretów
-ekran administracyjny i zarządzanie stroną - co będzie się dało zrobić z tego poziomu - to jest szczególnie ważne, bo po chwili zastanowienia doszedłem do wniosku, że w tej kwestii czeka nas naprawdę sporo pracy
-wyszukiwanie - najlepiej od razu zastanowić się nad tym, jak indeksować treść, jak wymuszać na reżyserach dodanie odpowiednich tagów - tutaj możnaby pokusić się o napisanie od razu małego poradnika dla filmowca: "jeśli chcesz zwiększyć swoje szanse na wygraną w Festiwalu, zastanów się jak go zareklamować na naszej stronie"; jak w końcu wyszukiwać informacje - trzeba by już na tym etapie rozejrzeć się nad dostępnymi algorytmami i zdecydować się na rozwiązanie-wyszukiwarkę
-zamawianie biletów - książkowy przykład, na którym uczy się pisać use-casy. Trzeba się zastanowić, jak dokładnie dostosować ten schemat do naszych potrzeb. Musimy uwzględnić bezpieczeństwo itd; zwróćcie też uwagę na to, co powiedział nam Grzesiek z Pentegy odnośnie podpisywania umów z tymi pośrednikami - to daje nam dość dobre perspektywy na start
-głosowanie na filmy- to na jakie rozwiązanie się zdecydowaliśmy będzie musiało być już wiadome po tych dwóch tygodniach. Później powinniśmy się tego już trzymać. W związku z tym trzeba będzie jeszcze raz odgrzać stary temat i zastanowić się nad tym, co będzie najsprawiedliwsze z punktu widzenia Festiwalu i co jesteśmy w stanie fizycznie zaimplementować
-rezerwacja biletów - to też ważny aspekt, którego kwestię trzeba poruszyć. Czy decydujemy się tylko na sprzedawanie biletów bez wskazania miejsca, czy idziemy na całość i modelujemy też wybór konkretnego miejsca na sali. No i cała otoczka związana z rezerwacją poza tym - już na tym etapie trzeba pomyśleć, jak bezpiecznie zamodelować współbieżne wykonanie.
-narazie nie robimy nic z aktorami/reżyserami/dziennikarzami - myślę, że na to narazie nie starczy nam czasu
-generowanie grafików seansów - jakie minimalne informacje będą nam potrzebne, żeby taki grafik wygenerować (kwestia jakichś warunków brzegowych), jak będziemy go generować (tak, tak - trzeba już wymyślić jakąś sprytną heurezę, która się sprawdzi w tym przypadku).
To chyba wszystko, chociaż jak narazie są to same migawki. Postarałem się tylko zwrócić Waszą uwagę na istone wg mnie zagadnienia. Zastanówcie się do jutra do 16, które z tych usecasów bardziej, a które mniej przypadają Wam do gustu. Zgłaszajcie to pod tym wątkiem. Jutro wieczorem podzielę pracę z tym związaną. Tutaj duży apel w Waszą stronę - w tym zadaniu nie chodzi mi o napisanie po prostu przypadków użycia - to ma być tylko efekt uboczny naszej pracy. Mamy sobie wyrobić pojęcie o tym, jak będziemy za miesiąc lub dwa pisali tę aplikację. Nie można tego zrobić po łebkach, bo będziemy później długo to nadrabiali. Oczekuję, że po wybraniu przez Was konkretnych przypadków, każdy z Was ukierunkuje się już w stronę swoich przypadków użycia i w większym stopniu przy kodowaniu będzie się zajmował takimi sprawami. Dlatego jest to jak narazie najbardziej odpowiedzialna część naszego projektu.
Pozdro,
P.
karol poziom 2
#185402 27.11.2008 15:37:04
Hej,
jeśli o mnie chodzi to nie chciałbym się zajmować personalizacją i panelem administracyjnym,
natomiast cała reszta mniej lub bardziej mi już pasuje(chociaż wątpie żebym miał po weekendzie
gotowy chociazby zarys algorytmu do generowania grafików). Nie zajmowałbym się też na razie
zamawianiem biletow przez internet(sugerował to prowadzacy; nie wiem jak dokładnie jakimi zasadami
kierują się twórcy festiwalu przy sprzedazy biletow- tzn ile komu mozna przyznac itp; tak jak
to przedstawiał Grzesiek- to nie jest taka prosta sprawa- chociazby, zeby to przetestowac, to
trzebaby miec jakis dostep do tych lacz itp)- zastanowiłbym sie jedynie, jak powinna dzialac
reszta systemu, zeby potem w jakis latwy sposob mozna dodac funkcje sprzedazy biletow przez
internet. Podobnie jesli chodzi o numeracje miejsc- w chwili obecnej chyba nie ma czegos takiego,
jak numeracja miejsc w salach festiwalowych(tym bardziej, ze to troche komplikuje sprawe
rezerwacji- co zrobic jesli na zamawiany film jest mnostwo wolnych miejsc, ale nie te, ktore
ktos akurat chce zarezerwowac), wiec zastanowmy sie jak to rozwiazac, zeby mozna to bylo dodac,
ale na razie sie moze z tym wstrzymajmy...
beny poziom 3
#185437 27.11.2008 17:22:22
Poczekam jeszcze chwilę na Pawła ze Sławkiem, ale jeżeli się nie wypowiecie, to będę musiał z góry wyznaczyć Wam zadania, a nie chciałem w sumie tego tak załatwiać. Fajnie by było jakbyście pracowali nad czymś, co lubicie.
beny poziom 3
#185834 28.11.2008 18:34:12
Ok - przesadziłem z tym poniedziałkiem. Aż tak się nie spieszymy. Zróbmy deadline do czwartku do 16, ale na wtedy bądźcie już przygotowani z gotowymi use-casami(z diagramami). Karol dostanie te dwa przypadki, które chciał. Paweł - Ty zajmiesz się generowaniem grafików, przy czym na razie zastanówmy się jak to będzie bez numeracji miejsc. Wiem, że to sporo, ale mówiłeś, że masz już coś opracowane z grafikami. W razie czego krzycz, że nie zdążysz. Sławek - Twoje zadanie to rezerwacja i głosowanie. Te przypadki trochę się ze sobą splatają, więc postaraj się, żeby wyszła z tego spójna wizja. Ja zajmę się wyszukiwaniem i składaniem gotowej wersji dokumentu. Bez odbioru do poniedziałku,
pzdr
karol poziom 2

Ilość edycji wpisu: 2
#185902 28.11.2008 20:33:13
Heh- te, o których pisałem, że nie chce się nimi zajmować?oczko No trudno, nie będziemy
już teraz z tym mieszać, myśle, że z tym jakoś też sobie dam rade, ale na przyszłość
czytajmy to co inni piszą...
wpis edytowany 29.11.2008 00:54:39
beny poziom 3
#186708 01.12.2008 15:34:08
Abardzo szczęśliwy Qrde sorry. Wyjdzie na to, że nie opłaca się wcześniej pisać na forumbardzo szczęśliwy Oczywiście nie zauważyłem tego "nie". Napisz mi, jak postępy w pracy. Zobaczymy co da się przesunąć. Przepraszam - po prostu jeśli się nie zauważyło tego "nie", to Twój mail dalej miał senswesoły Jeszcze raz sry i odezwij się, jak Ci idzie.
Pzdr
karol poziom 2
#186760 01.12.2008 17:25:20
Heh, no nic się nie stałowesoły Szczerze mówiąc to formalizować jeszcze nie zaczalem, zastanawiam
się na razie nad tym co powinien móc robic admin i co dokładnie ma oznaczac pojecie
personalizacja. Mysle, ze ciezko mi bedzie przygotowac jakis konkretny use-case, bo
w sumie to są szerokie pojęcia, postaram się za to miec do tego czwartku do 16 koncepcje,
co do tego na czym to powinno polegać i co powinien móc robic admin i widz(w ramach
personalizacji) i ewentualnie z grubsza jak powinni to robić. Najwyzej potem, jesli bedzie
potrzeba to sie wybierze jakas konkretna czynnosc i napisze use-case do niej. Tak na powaznie
bede sie tym zajmowal jutro i mam taka propozycje, ze zostawimy ten podział pracy juz tak, jak
jest, ale zastanowcie sie(bez wchodzenia w szczególy i nie jakos strasznie gleboko) co dokladnie
oznaczalaby dla was personalizacja na takiej witrynie, i potem skonfrontujemy to co ja przygotuje
z waszymi wyobrazeniami na ten temat. Moze byc?
pozdro
beny poziom 3
#186779 01.12.2008 18:04:03
ok - it is up to you. No i jeszcze raz sry za zamieszanie. Paweł, Sławek - co z Wami? Jesteście tu jeszcze?
cookie poziom 2 Administrator 

Ilość edycji wpisu: 1
#186826 01.12.2008 19:15:11
Hey, jestem i żyje oczko
Ale ostatnio mnie trochę zasystemiło i mnie na forum nie było oczko
Przechodząc do kwestii konkretnych to sprawa wygląda tak:
Generowanie grafików jest w dużej mierze zagadnieniem implementacyjnym bo w usecasach tego nie ma.
PS.:
Jak już mówimy o implementacji to nie wiem czy ten problem jakiś NP-trudny nie jest ale jest kilka lepszych lub gorszych heurez, coś takiego było zdaje się przy okazji programowania dynamicznego na pierwszym roku i specjalnie ponad to bym nie wychodził.
Od strony usecasów zastanowię się jak to mogłoby być realizowane od strony user'a traktując sam algorytm jako czarną skrzynkę chyba że coś wymyśle ciekawego to na pewno gdzieś to opisze jak nie tam, to na forum żeby nie wcięło potem.

Jak się nauczę pisać po polsku w stopniu lepszym niż komunikatywny też się pochwale oczko
wpis edytowany 01.12.2008 19:20:19
scravek poziom 2
#187109 02.12.2008 14:28:13
Przepraszam Was - ostatnio mialem troche zamieszania. Postaram sie przygotowac to co mi zleciliscie.
PS Bylbym jednak za system, ktory kiedys Pawel zaproponowal tzn, ze jesli ktos bardzo dlugo sie nie odzywa to puscic sygnal, albo ske.
beny poziom 3
#187949 03.12.2008 22:53:02
Jeszcze jedno: forma graficzna jest nieistotna. W razie czego spokojnie akceptuję tylko tekst. Istotna jest zawartość. Chciałbym, żeby ta praca nie poszła na marne i dała nam dużo wskazówek implementacyjnych (przynajmniej ja zauważyłem, że pisząc przypadek użycia i szkice algorytmu znalazłem kilka istotnych powiązań z innymi przypadkami, które będzie trzeba uwzględnić. Wyszła też potrzeba dokonania kosmetyki w wizji, aby nie gryzła się z przypadkami).
Pzdr
beny poziom 3
#188405 05.12.2008 01:53:52
Wklejam do Waszego wglądu raport z naszego dzisiejszego(wczorajszego) spotkania:
Wyszukiwanie:
Pod use-case.
Aktor główny: wyszukujący
Uczestnicy i interesy:
-wyszukujący: chce otrzymać informację jak najbardziej zgodną z jego zapytaniem; system powinien niejako "przewidywać", co wyszukujący miał na myśli wpisując taką właśnie frazę
-baza danych systemu: chce zbierać informacje nt popularności poszczególnych haseł, żeby w ten sposób lepiej podpowiadać użytkownikom kolejne propozycje i pozycjonować wyniki wyszukiwania
Warunek początkowy: wyszukujący uzyskał dostęp do witryny
Gwarancja powodzenia: system zwrócił poprawną informację nt zapytania o dane hasło (poprawną ze względu na zaproponowany algorytm); baza danych została wzbogacona o informację nt danego zapytania;
Główny scenariusz powodzenia:
1. Użytkownik postanawia wyszukać dany film w bazie danych systemu. Potrzeba taka może wystąpić z kilku powodów:
-klient chce zdobyć informacje nt danego filmu
-klient lub sprzedawca biletów chce zarezerwować/kupić bilet na dany seans
-klient chce dodać nową pozycję do swojego grafiku seansów
2. Użytkownik wpisuje frazę, po której chce wyszukiwać
3. Moduł wyszukiwania zostaje uruchomiony i zwraca listę wyszukanych pozycji
4. Pozycje są wyświetlane użytkownikowi w kolejności od najbardziej do najmniej pasujących (przy remisach bieże się pod uwagę popularność danych pozycji)
5. Użytkownik wybiera odpowiadającą mu pozycję
6. System przesyła odpowiednią treść na ekran użytkownika
7. Baza danych aktualizuje swoje informacje nt popularności poszczególnych haseł

Rozszerzenia/alternatywy:
8. Użytkownik po obejrzeniu wyników hasła wybiera jedną z pozycji na listach: "użytkownicy, którzy obejrzeli ten film obejrzeli także" oraz "podobne pozycje".
9. W razie implementacji tego algorytmu zostaje także zaktualizowana tablica powiązań między filmami.

Use case - rezerwacja biletu przez internet zakończona zakupem u kasjera
Aktor główny: klient
Uczestnicy i interesy:
klient - chce zarezerwować i kupić zestaw biletów. Ponadto chciałby móc przez internet monitorować stan zamówienia, a po jego realizacji mieć wgląd w grafik seansów, na które kupił bilety. Musi też dostać informację zwrotną nt tego, w jakiej części jego zamówienie zostało zrealizowane.
baza danych systemu - potrzebuje zbierać informacje o zrealizowanych rezerwacjach i zamówieniach, aby móc aktualizować stopień powiązań między filmami
sprzedawca - chce sprawnie przeprowadzić transakcję sprzedaży
Warunek początkowy: klient zalogowany na swoim koncie użytkownika.
Gwarancja powodzenia: został zachowany niezmiennik: "bilet na jedno miejsce został przydzielony co najwyżej jednej osobie"; w bazie danych odnotowano chęć dokonania rezerwacji i sprzedaży; klient zakupił interesujące go bilety; za pośrednictwem swojego konta ma dostęp do podglądu zdefiniowanego zestawu;
Główny scenariusz powodzenia:
1. Użytkownik chce zakupić zestaw biletów
2. Użytkownik wybiera zdefiniowany zestaw ze swojej puli zdefiniowanych zestawów3. Użytkownik zgłasza chęć rezerwacji danego zestawu
3. Do bazy danych trafia informacja o zamówieniu
4. Status zestawu zmieniany jest na "czekający na akceptację rezerwacji"
5. System wysyła do modułu kontrolera rezerwacji żądanie walidacji rezerwacji
6. Kontroler zwraca informację, które bilety udało się zakupić oraz informacje nt ostatecznego terminu odbioru biletów
------
(Kasjer jest zalogowany)
7. Użytkownik przychodzi do kasy po odbiór biletów
8. Kasjer wyszukuje w bazie danych klienta na podstawie numeru użytkownika lub danych z dowodu osobistego
9. Kasjer wybiera odpowiedni zestaw spośród rezerwacji dokonanych przez danego klienta
10. Użytkownik decyduje się, które bilety chce zakupić
11. Kasjer przeprowadza transakcję
12. Użytkownik odbiera bilety
13. W bazie danych modyfikowany jest dany zestaw:
- zakupione pozycje zmieniają swój status na "zakupione"; zostają one na grafiku i system wysyła przypomnienia o zbliżających się seansach
- bilety, które nie zostały zakupione zostają usunięte z danego grafika i przeniesione do sekcji filmów obserwowanych

Scenariusze alternatywne:
I. 2.1 Użytkownik nie zdefiniował dotąd żadnych zestawów
2.2 Użytkownik zostaje przekierowany do sekcji definiowania zestawów
3

II. 7.1 Upływa okres ważności rezerwacji
7.2 W bazie danych zmienia się status rezerwacji zestawu na "dostępne"
7.3 Wraca możliwość zarezerwowania danych biletów


Use case - rezerwacja biletu bezpośrednio w kasie
Aktor główny: klient
Uczestnicy i interesy:
klient - chce zarezerwować i kupić zestaw biletów. Musi też dostać informację zwrotną nt tego, w jakiej części jego zamówienie zostało zrealizowane.
baza danych systemu - potrzebuje zbierać informacje o zrealizowanych rezerwacjach i zamówieniach, aby móc aktualizować stopień powiązań między filmami
sprzedawca - chce sprawnie przeprowadzić transakcję sprzedaży
Warunek początkowy: klient stoi przy kasie z kartą - zestawem wybranych biletów; kasjer jest zalogowany na swoje konto
Gwarancja powodzenia: został zachowany niezmiennik: "bilet na jedno miejsce został przydzielony co najwyżej jednej osobie"; w bazie danych odnotowano chęć dokonania rezerwacji i sprzedaży; klient zakupił interesujące go bilety;
Główny scenariusz powodzenia:
1. Użytkownik chce zakupić zestaw biletów
2. Użytkownik przekazuje kasjerowi kartę - zestaw
3. Kasjer zakłada klientowi nieaktywowane konto użytkownika
4. Kasjer definiuje na koncie danego użytkownika zestaw zdefiniowany na karcie
5. Kasjer zgłasza zestaw do walidacji-rezerwacji
6. Moduł walidowania rezerwacji zwraca, które bilety udało się zarezerwować
7. Baza danych aktualizuje swoje statystyki odnośnie powiązań między filmami
8. Klient decyduje się na kupno części biletów
9. Kasjer finalizuje transakcję
10. Na koncie użytkownika zmienia się status zestawu jak w poprzednim przypadku

Use case - generowanie grafiku
Aktor główny: klient
Uczestnicy i interesy:
klient - chce zdefiniować odpowiadający mu pod względem preferencji filmów i terminów seansów grafik
Warunek początkowy: klient jest zalogowany na swoim koncie użytkownika
Gwarancja powodzenia: Klient dostaje satysfakcjonujący go grafik - jeśli jest to wykonalne
Główny scenariusz powodzenia:
1. Klient chce zdefiniować nowy zestaw
2. Klient przechodzi do panelu definiowania zestawów
3. System prosi użytkownika o wybór filmów z listy filmów obserwowanych lub wyszukanie nowych filmów (tytułów)
4. Klient wybiera odpowiadające mu pozycje szeregując je od tego, na którym najbardziej mu zależy
5. Klient zatwierdza swój wybór
6. System wyświetla klientowi zdefiniowaną przez niego siatkę dogodnych terminów
7. Klient ewentualnie modyfikuje terminy
8. Klient zatwierdza swój wybór
9. System odnotowuje ewentualne zmiany w terminarzu
10. System prosi moduł generowania grafików o wygenerowanie listy dogodnych grafików
11. Użytkownik wybiera spośród wygenerowanych grafików najbardziej mu odpowiadające i zapisuje je na swoim koncie
12. System zbiera statystyki nt powiązań między filmami

Scenariusze alternatywne:
I. 6.1 Klient nie definiował dotąd grafiku dogodnych terminów
6.2 System wyświetla klientowi siatkę terminów z prośbą o ustalenie, które terminy najbardziej mu odpowiadają
8

Uwaga:
Użytkownik taki ma założone konto. Może je aktywować poprzez wpisanie odpowiedniego kodu, który dostanie przy założeniu konta.

Uwagi:
Można zbierać statystyki nt powiązań filmów na podstawie informacji o odwiedzinach stron poszczególnych filmów w ramach jednej sesji danego użytkownika.

Zostają jeszcze kwestie aktualizacji list: "podobne filmy" oraz "Ci, którzy obejrzeli ten film, obejrzeli również".
Dodania do obserwowanych.

Pierwsza będzie aktualizowana na podstawie kategorii takich jak:
-długość filmu
-posiadanie wspólnych tagów
-pochodzenie
-reżyser
-obsada
-nazwa
-język
-kategoria
-opis
Taką aktualizację wystarczy przeprowadzać tylko wtedy, gdy do bazy dodawany jest nowy film.

Drugą aktualizujemy po każdej zrealizowanej sprzedaży i rezerwacji biletu. Nie zwracamy uwagi na zwrócone bilety lub odwołane rezerwacje.

Szkic algorytmu wyszukiwania:
Ważenie zgodności w kategoriach wymienionych powyżej. Staranie się dopasować wyszukiwanego słowa najpierw jako słowa z danej kategorii, później ew. jako sufiksoprefiks. Przeszukiwanie chmury tagów każdego z filmów - im więcej "hitów", tym strona wyżej w rankingu.

Panel administracyjny:
usuwanie kont
dodawanie newsów
zarządzanie przerwami administracyjnymi
co ile liczyć statystyki dynamiczne
opcjonalnie cenzurowanie rezerwacji
Use-case
T#32410
Facebook
Aby pisać na forum musisz się zalogować !!!
rss · kontakt · załóż własne forum · TestHub.pl · korzystasz z forum? wesprzyj projekt!