view frontend/doc/wymagania.rst @ 28:d017e2ab3027

Poprawki z rana 23 maja, prezentacja django-flask
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Mon, 23 May 2011 12:49:48 +0200
parents 6a9e2b3b4398
children
line wrap: on
line source

Lista wymagań funkcjonalnych
============================

Wymagania obowiązkowe
---------------------

Strona klienta
^^^^^^^^^^^^^^

* Użytkownik podczas definiowania nowego zadania ma możliwość wpisania hasha hasła, który będzie łamane przez system.
* Użytkownik ma możliwość wyboru sposobu, w jaki zdefiniowane wcześniej hasło będzie łamane.
 * Metoda brute force - sprawdzenie każdej z możliwych kombinacji znaków.
 * Metoda słownikowa - próba złamania hasła z użyciem dostarczonego słownika.
* System umożliwia rejestrację nowych użytkoników oraz logowanie użytkowników już zarejestrowanych w systemie.
* Użytkownik ma możliwość anulowania zadania w dowolnym momencie jego wykonywania.

Serwer aplikacji wraz ze stroną klienta
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Na serwerze powinna znajdować się baza danych przechowująca informacje o użytkownikach zarejestrowanych w systemie.
* Na serwerze powinna znajdować się baza danych zawierająca wyniki działań aplikacji rozproszonej.
* Serwer powinien przechowywać kolejkę zadań zdefiniowanych przez użytkowników do wykonania.
* Serwer powinien przydzielać zadania aplikacji rozproszonej zgodnie z ustaloną kolejką zadań.
* Serwer powinien wyświetlać na stronie klienta wyniki prac aplikacji rozproszonej dla odpowiednich zadań zdefiniowanych przez danego użytkownika.
* Serwer powinien wyświetlać na stronie klienta informacje o postępie praz nad poszczególnymi zadaniami.

Aplikacja rozproszona
^^^^^^^^^^^^^^^^^^^^^

* Komputer pełniący funkcję mastera powinien komunikować się z serwerem aplikacji w celu sprawdzenia dostępności zadań oraz ich pobierania.
* Master powinien rozdzielać zadania pomiędzy inne dostępne komputery pełniące funkcję slave.
* Komputery funkcjonujące jako slave powinny być w stanie złamać hasła metodą brute force.
* Komputery funkcjonujące jako slave powinny być w stanie złamać hasła metodą słownikową.
* Komputery powinny na bieżąco informować serwer o postępie swoich prac.
* Komputer master powinien zbierać gotowe wyniki rozwiązanych zadań przydzielonych komputerom slave.
* Wynik działania aplikacji rozproszonej (złamane hasło) powinien być wysyłany na serwer aplikacji w momencie zakończenia zadania.