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ć kolejnych laborantów jako współpracowników-mogących modyfikować lub przeglądać eksperyment oraz klientów, którzy mogą obserwować efekty pracy. Laboranci dodani jako współpracownicy 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ł,
• Logowanie się (wszyscy)- wpisanie loginu i hasla
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)
• Po wybraniu danego badania tworzenie w jego ramach eksperymentu (nadanie nazwy, opisu),
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 zaangażowanych w eksperyment oraz mogących go przeglądać.
8. Usuwanie eksperymentu (laborant, który go utworzył).
9. Wylogowanie
5. Identyfikacja funkcji
Klient:
- logowanie,
- edycja swoich danych,
- przeglądanie eksperymentów (do których ma przyznany dostęp), ich opisów i wyników,
- wylogowanie.
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 innych laborantów do zespołów badawczych przy swoich badaniach i eksperymentach i usuwanie ich,
- dodanie innych laborantów jako obserwatorów badań i eksperymentów i usuwanie ich,
- dodanie klientów jako obserwatorów badań i eksperymentów i usuwanie ich, - przeglądanie eksperymentów swoich oraz tych, do których ma dostęp jako członek zespołu badawczego lub obserwator,
- dodawanie próbek, adnotacji, załączników, płytek laboratoryjnych do eksperymentów swoich oraz tych, w których należy do zespołu badawczego,
- usuwanie dodanych przez siebie elementów eksperymentu,
- usuwanie swoich 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 ] :
ResInstance [Instancja badania]:
ExpScheme [Schemat eksperymentu]:
ResGroup [Grupa wyników]:
Result :
result_id
resNumber
resgroup_id
expscheme_id
Experiment:
experiment_ID
labgeek_ID(foreign key)
name
description
result
client_ID(foreign key)
Sample:
PlaceOnBoard:
place_ID
placeX
placeY
sample_ID(foreign key)
board_id(foreign key)
Lab_board:
board_ID
sizeX
sizeY
description
state_ID (foreign key)
Board_state:
Adnotation:
Attachment:
7. Analiza hierarchii funkcji projektowanej aplikacji: