[[
✎ pl:dydaktyka:sbd:2012:projekty:lab:projekt_konceptualny
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== 1. Sformułowanie zadania projektowego ====== 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ł** * 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 mogących przeglądać eksperyment. **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 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]: *resinstance_id *Restemplate_id (foreign key) **ExpScheme** [Schemat eksperymentu, używany przy sugerowaniu następnych eksperymentów]: *expscheme_id *name *description *next_expscheme (foreign key) (następny sugerowany eksperyment) *restemplate_id **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]: *resgroup_id *expscheme_id (foreign key) **Result_** [Konkretny wynik, zawierający opis i odpowiednik numeryczny] : *result_id *resNumber *description *resgroup_id (foreign key) *next_expscheme_id (foreign key) **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**: *sample_ID *experiment_id(foreign key) *description *isOnBoard **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_ID *sizeX *sizeY *experiment_ID (foreign key) *state_ID (foreign key) **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.)] *state_ID *board_state **Adnotation**: *adnotation_ID *content *experiment_ID(foreign key) **Attachment**: *attachment_ID *name *description *experiment_ID(foreign key) ====== 7. Analiza hierarchii funkcji projektowanej aplikacji: ====== {{:pl:dydaktyka:sbd:2012:projekty:lab:wirt_zeszyt.png|}} ====== 8. Projektowanie powiązań (relacji) pomiędzy encjami. ====== {{:pl:dydaktyka:sbd:2012:projekty:lab:erd_konceptualny.png|}}
pl/dydaktyka/sbd/2012/projekty/lab/projekt_konceptualny.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry