Baza pozycji bibliograficznych

1. Sformułowanie zadania projektowego

Projekt systemu do zarządzania bibliografią. Celem jest stworzenie bazy danych, w której będą umieszczane dane o artykułach członków zespołu badawczego (grupy, katedry) oraz pozycji często przez nich wykorzystywanych. System będzie przechowywał szczegółowe metadane takie jak punktacja ministerstwa, według listy z systemu Copernicus. Dodatkowo będzie umożliwiał synchronizację danych z systemem AGH BPP oraz wychwytywanie ewentualnych rozbieżności. System będzie pozwalał na eksport do pliku BibTeX pozycji wyszukanych pod zadanych parametrach.

2. Analiza stanu wyjściowego

Nasz system będzie korzystał z listy MNiSW zawierającej tytuły czasopism naukowych wraz z liczbą punktów przyznawanych za publikację w tych czasopismach. Przykładowy wpis z takiej listy wygląda następująco:

Tytuł: Acta Analytica 
Nr ISSN: 0353-5150
Liczba punktów za publikację w czasopiśmie naukowym: 12

System będzie umożliwiał synchronizację z serwisem AGH BPP. Jest to system, który obejmuje opisy publikacji pracowników od roku 1999, w wyjątkowych przypadkach także publikacji wcześniejszych (od 1992 r.), jeśli nie zostały ujęte w drukowanych wersjach Bibliografii. Dodatkowo system będzie zapewniał eksport do pliku BibTeX, jest to format pliku zawierającego dane bibliograficzne, stosowany zwykle z systemem LateX. Dla każdego wpisy BibTeX określone są pola obowiązkowe oraz opcjonalne. Na ich postawie generowany jest wpis w stylu:

@Book{abramowitz+stegun,
 author    = "Milton {Abramowitz} and Irene A. {Stegun}",
 title     = "Handbook of Mathematical Functions with
              Formulas, Graphs, and Mathematical Tables",
 publisher = "Dover",
 year      =  1964,
 address   = "New York",
 edition   = "ninth Dover printing, tenth GPO printing"
}

3. Analiza wymagań użytkownika (wstępna)

Celem projektu jest stworzenie aplikacji przechowującej dane bibliograficzne publikacji pracowników AGH i punkty uzyskane ze te publikacje w czasopismach według oceny MNiSW. System ma umożliwiać synchronizację danych z systemem AGH BPP i wychwytywać ewentualne różnice. Użytkownik będzie miał możliwość wyszukiwania pozycji bibliograficznych po określonych kryteriach oraz eksport znalezionych wpisów do pliku BibTeX.

4. Określenie scenariuszy użycia

Nowemu pracownikowi zostaje automatycznie utworzone nowe konto w serwisie. Od tej pory może dodawać swoje publikacje oraz edytować te już istniejące.

Pracownik napisał nowy artykuł. Dodaje do systemu wpis bibliograficzny. Następnie zostaje sprawdzone, czy czasopismo, w którym został umieszczony artykuł znajduje się na liście ministerstwa. Jeśli tak, zostaje przyznana odpowiednia ilość punktów.

Użytkownik potrzebuje znaleźć wszystkie pozycje bibliograficzne danego autora. Wyszukuje w serwisie pod odpowiednim kryterium, a następnie eksportuje wszystkie znalezione pozycje do pliku BibTeX.

5. Identyfikacja funkcji

  • Zakładanie/usuwanie/edycja konta
  • Dodawania/edycja/usuwanie pozycji bibliograficznej
  • Filtracja wyszukiwania
    • Wybierając listę publikacji z przedziału czasu od do (dla konkretnego autora I nie tylko) – trzeba przemyśleć jakie prawa ma admin, a jakie użytkownicy.
    • Wybierając listę publikacji z punktami powyżej/poniżej/na równi z wybranym progiem.
    • Wybierając tylko dla konkretnego autora.
  • Eksport do pliku BibTex,
  • Synchronizacja z systemem BPP.
  • Generowanie podsumowań – historia logowań.

6. Analiza hierarchii funkcji projektowanej aplikacji

7. Budowa i analiza diagramu przepływu danych

8. Wybór encji (obiektów) i ich atrybutów

AUTHOR:
* id(integer)
* name(varchar)-imię
* surname(varchar)-nazwisko
* university(varchar)-uczelnia
* faculty(varchar)-wydział
* degree(varchar)-stopień naukowy
* publication_count(integer)-licznik publikacji
PUBLICATION:
* id(integer)
* title(varchar)-tytuł publikacji
* year(year)-rok publikacji
* author(varchar)-autor
* journal(varchar)-czasopismo, w którym ukazała się publikacja
* issn (integer)-numer issn czasopisma
* points(integer)-liczba przyznanych punktów
* bibtex_key(varchar)-klucz bibtex
* volume(integer)-tom
* number(integer)-numer
* pages(integer)-strony, na których został opublikowany artykuł
* month(integer)-miesiąc wydania
* key(varchar)-klucz

PUBLICATION_HAS_AUTHOR:
* author_id (integer)
* publication_id (integer)
USER:
* id(integer)
* username(varchar)-login
* password(varchar)-hasło
* email(varchar)-adres email
* user_type(Integer)-typ użytkownika
* salt(varchar)-odszyfrowywanie hasła
* author_id 
ACTION:
*id(integer)
*module(varchar)-moduł w aplikacji
*controller(varchar)-kotroler w aplikacji
*action(varchar)-nazwa akcji
*is_secure(tinyint)-zabezpieczona przed niechcianym dostępem
ACTION_HAS_USER
*action_id(integer)
*user_id(integer)
LOG:
* id (integer)
* log_date (date)-data loga
* hour(time)-godzina
* user_id
COPERNICUS:
* id (integer)
* title (varchar)-tytuł czasopisma
* issn(integer)-numer issn
* points(integer)-liczba punktów

9. Projektowanie powiązań (relacji) pomiędzy encjami

10. Projekt diagramów STD

Blok główny:

Blok UI:

Blok Admin:

Blok Autor:

Blok User:

pl/dydaktyka/sbd/2012/projekty/bibliografia/konceptualny.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0