diff frontend/doc/wymagania.rst @ 27:6a9e2b3b4398

Dodałem pliki statyczne od Miłosza, małe modyfikacje w kwestii dokumentacji
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Sat, 21 May 2011 10:01:30 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frontend/doc/wymagania.rst	Sat May 21 10:01:30 2011 +0200
@@ -0,0 +1,36 @@
+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.