To jest stara wersja strony!
Celem projektu jest stworzenie aplikacji webowej pozwalającej na dokumentowanie pracy w laboratorium (biologia, chemia). System powinien pozwalać na definiowanie protokołów dla eksperymentów, projektów, prowadzenie dziennika eksperymentów, gromadzenie wyników, wniosków, oraz powiązań logicznych między nimi. System ma pozwalać na projektowanie ścieżki badań oraz wspierać podejmowanie decyzji w zależności od wyników pojedynczych eksperymentów. Każdy eksperyment może zostać wzbogacony załącznikami różnych typów (zdjęcia, pliki tekstowe, pliki binarne, arkusze kalkulacyjne) oraz pozycjami bibliograficznymi. Dodatkową funkcjonalnością jest przypisywanie badanych próbek do płytek laboratoryjnych (postaci macierzy x*y, adresowane jak w arkuszu kalkulacyjnym).
2. Analiza stanu wyjściowego
Wirtualne zeszyty laboratoryjne są dość powszechnie stosowane w pracy naukowców, powstał nawet termin ELN (Electronic Lab notebook). Są one tworzone głównie po to, aby ułatwić wyszukiwanie danych i zaoszczędzić dzięki temu czas (za http://www.contur.com/tour/: „przy użyciu zeszytów tradycyjnych 20-40% czasu pracy laboranci spędzają na wyszukiwaniu danych”). W Internecie znaleźć można wiele dostępnych programów ELN, między innymi bezpłatne: Labarchives lub Sparlix czy komercyjne: Labtrack albo iLabber. Programy te działają w zasadzie w podobny sposób- po zalogowaniu się możemy utworzyć projekt, a w nim dodawać eksperymenty.
3. Analiza wymagań użytkownika
Aplikacji używać będą 3 rodzaje użytkowników- administrator, laboranci i klienci. Administrator jest osobą odpowiedzialną za stronę techniczną dziennika. Ma najbardziej rozległe uprawnienia, może być to np. szef instytutu czy jednostki badawczej. Tylko on może dodawać nowych użytkowników i określać, do jakiej grupy należą (klient, laborant, czy kolejny administrator). Eksperymenty i późniejsze opracowywanie ich przebiegu (dodawanie próbek, opisów obserwacji, załączników itd.) dodawane są przez laborantów. Tylko osoba, który dodaje eksperyment, ma możliwość edycji stałych elementów eksperymentu, jak np. opis i nazwa, może też dodawać klientów, którzy mogą obserwować efekty pracy. Inni laboranci również mogą modyfikować eksperyment (np. przez dodanie zasobów). Klient (np. osoba zlecająca badanie) nie ma możliwości edytowania żadnego eksperymentu, lecz może przeglądać zasoby dotyczące eksperymentu, do którego ma przyznany dostęp.
Badanie jest to zbiór przeprowadzonych kolejno eksperymentów dotyczących jednego zagadnienia. Do każdego eksperymentu przyporządkowane są:
+ opcjonalne próbki/załączniki/ dane różnego rodzaju ,
+ opcjonalne wyniki.
W systemie istnieje też schemat dla danego badania – drzewiasta struktura zawierająca następne eksperymenty, sugerowane na podstawie wyniku danego eksperymentu.
Osobne struktury (tabele) to płytki laboratoryjne, które będą zawierać próbki (każda płytka będzie mieć x*y miejsc, po wypełnieniu wszystkich może zostać przetwarzana). W toku badania każda próbka może być przyporządkowana do kilku płytek – lecz tylko do jednej na raz.
4. Określenie scenariuszy użycia
1. Tworzenie użytkowników (administrator)
2. Tworzenie użytkowników typu laborant lub klient, nadanie im loginów oraz haseł
3. Zmiana danych (wszyscy) – zmiana imienia, nazwiska i hasła, po wpisaniu poprzedniego hasła
4. Dodanie badania (laborant)
Kliknięcie przycisku „dodaj badanie” tworzy folder w którym będą znajdować się eksperymenty danego typu,
Pojawią się pola do wypełnienia: nazwa, laboranci (jest możliwość dodania laborantów zaangażowanych w projekt), klienci.
5. Dodanie eksperymentu (laborant)
6. Dodanie nowego schematu badania/ szablonu eksperymentu (administrator)
7. Edycja eksperymentu
Dodanie, próbek, adnotacji, załączników. (laboranci),
Edycja wcześniej uzupełnionych danych,
Edycja osób mogących przeglądać eksperyment.
8. Usuwanie eksperymentu (laborant, który go utworzył).
9. Wylogowanie
5. Identyfikacja funkcji
Klient:
Administrator
logowanie,
edycja swoich danych,
dodawanie nowych użytkowników (administratorów, laborantów i klientów),
wszystkie funkcje dostępne dla laboranta,
wylogowanie.
Laborant:
logowanie,
edycja swoich danych,
dodawanie nowych badań,
dodawanie nowych eksperymentów,
edycja danych swoich eksperymentów (tytuł, opis),
dodanie klientów jako obserwatorów badań i eksperymentów i usuwanie ich,
przeglądanie eksperymentów,
dodawanie próbek, adnotacji, załączników, płytek laboratoryjnych do eksperymentów,
wylogowanie.
6. Encje i ich atrybuty:
Admin:
admin_ID
login
name
surname
password
Client:
client_ID
login
name
surname
password
LabGeek:
labgeek_ID
login
name
surname
password
ResTemplate [Szablon badania, zawierający sugerowane eksperymenty ] :
restemplate_id
description
ResInstance [Instancja badania, określająca faktyczny przebieg ciągu eksperymentów]:
ExpScheme [Schemat eksperymentu, używany przy sugerowaniu następnych eksperymentów]:
ResGroup [Grupa wyników, związana z szablonem eksperymentu, zawierająca możliwe do uzyskania wyniki danego eksperymentu (typu: sukces, porażka, niejasny wynik), będące podstawą do zasugerowania następnego etapu]:
Result_ [Konkretny wynik, zawierający opis i odpowiednik numeryczny] :
Experiment [Eksperyment właściwy]:
experiment_ID
name
description
result
labgeek_ID(foreign key)
expscheme_id(foreign key)
ResInstance_ID(foreign key)
next_experiment_ID (foreign key)
Sample:
PlaceOnBoard[Określenie zawartości konkretnego miejsca na płytce laboratoryjnej - zawiera współrzędne i próbkę, znajdującą się w tych współrzędnych]:
place_ID
placeX
placeY
sample_ID(foreign key)
board_id(foreign key)
Lab_board[Płytka laboratoryjna o konketnych wymiarach, na której umieszczane mogą być próbki]:
Board_state [Encja do stworzenia typu wyliczeniowego, reprezentującego stan płytki (może być np. „w trakcie kompletowania próbek”, „podczas przetwarzania”, „przetwarzanie zakończone”, itp.)]
Adnotation:
Attachment:
7. Analiza hierarchii funkcji projektowanej aplikacji:
8. Projektowanie powiązań (relacji) pomiędzy encjami.