Skip to content

A project for my University subject "Object oriented programming"

Notifications You must be signed in to change notification settings

saidsalihefendic/Sistem-biblioteke

Repository files navigation

Sistem-biblioteke

A project for my University subject "Object oriented programming"

Sistem organizacije biblioteke Tokom nasih interakcija sa bibliotekom koje smo imali neovisno gdje god se mi nalazili (primjer, gradska biblioteka, fakultetska biblioteka, ...), imali bismo jednu clansku kartu gdje bismo bili registrovani, tj. dobivali bismo papirne clanske karte, te ako bismo htjeli podici knjigu, prvo ne bismo bili sigurni da li ta knjiga postoji, pa bi nasa cijenjena osoba koja radi u biblioteci pokusala naci upravo taj dokument koji nama treba. Kada dobijemo zeljenu knjigu, potpisujemo se da smo je preuzeli, ali nazalost, ne vodi se evidencija kada ce se knjiga vratiti, te u moru tih clanskih kartica, osoba koja radi u biblioteci bi se pravo namucila da uradi sav taj posao. Mi, kao studenti kompjuterskih nauka, smo odlucili da to rijesimo sa znanjem koji smo do sada stekli na nasem studiju na Prirodno-matematickom fakultetu, da rijesimo upravo taj problem evidencije i dokaz postojanja knjiga u trenutnoj biblioteci putem sortiranja i pozicioniranja knjiga na odredjenim policama, uvodjenje novog sistema korisnika zajedno sa njihovim emailom radi obavjestavanja o novostima biblioteke i njihovim mjesecnim statusom, kao i javljanje kada ja najkasniji rok za vracanje knjiga koje su podigli. Sve u svemu, imat cemo hijerarhiju korisnika biblioteke, od obicnog gosta do administratora bibliotecnog sistema, koji ima svrhu organizacije citave biblioteke, kako da elegantno rijesi problem pozicioniranja svih dokumenata koji se nalaze. Biblioteka Sam sistem mora da ima informacije o biblioteku kao sto su njen naziv, osnivac (administrator, zapravo), adresa, email adresa, broj telefona, broj korisnika (i bazu korisnika), broj knjiga na raspolaganju (slicno, bazu dokumenata), police sa dokumentima koji su oznacene zanrom (tj. koji je zanr tih dokumenata koje su na toj polici), arhiva (ako ne mogu neke knjige stati na policu) (ovdje jos se moze nastaviti). Kada sistem udje u srz biblioteke, onda postoje razne mogucnosti, kao sto su sortiranje knjiga po policama, trazenje knjige generalno, filtriranje knjiga po odredjenim karakteristikama, dodavanje novih knjiga, sa unosom svih potrebnih informacija o knjizi, ispisivanje katalog knjiga po odredjenim karakteristikama (moze i generalno), slanje emailova korisnicima o novim knjigama ili mjesecnom obavjestenju (preko objekata ce se to vrsiti, Korisnik), (ovdje jos treba nekih akcija). Nas glavni fokus jeste efektivno uvodjenje novih knjiga i citanje knjiga iz baze, mreza korisnika, evidencija dokumenata izdatih odredjenim korisnicima, trazenju knjiga vrlo brzo i efikasno, te obavjestavanju tim korisnicima kada moraju da vrate knjigu. Korisnik Kako imamo informacije o bibliotekama, tako moramo i osnovati odredjene karakteristike korisnicima. Korisnici moraju imati svoje ime, prezime, email adresu, jedinstveni clanski broj, knjige koje su trenutno izdate od strane korisnika (dodati jos stvari ovdje). Odredjeni korisnici ce imati vise dozvola nego neki drugi, kao sto su administratori, zaposlenici, pocasceni clanovi, obicni clanovi. Clanovi ce moci podici veci broj knjiga, ali ne i sve knjige koje zeli da podigne i moci ce maksimalno 5 knjiga u istom vremenskom periodu imati podignuto, dok pocasceni ce imati priliku da podigne knjigu koju god zeli i plus ima veci kapacitet dizanja knjiga od obicnog clana. Zaposlenik ce, pored mogucnosti pocasnog clana, imati mogucnost da dodaje nove dokumente i clanove u biblioteku, dok administrator ce imati sve mogucnosti organizacije biblioteke, kao i samu promjenu strukturu i dizajn biblioteke, ali nece moci da preimenuje vec postojece knjige ili dokumente. (Razmisliti jos o nekim ulogama u biblioteci i nekim akcijama) Dokument Trebat ce nam kompletna struktura dokumenata (osnova za biblioteku). Dokumenti moraju da imaju svoj jedinstveni barkod(tj. sifru), naziv, kategoriju, datum izdanja, autore, mjesto izdanja, broj primjeraka tog dokumenta, u kojim jezicima su dostupni, koja su dostupna pisma, kad su posudjeni, a kada se trebaju vratiti (ovdje mozda jos treba nekih stvari). Dokumenti mogu biti u raznoj formi, mogu biti u papirnoj i u elektronskoj formi. Papirnu formu podrazumijevamo knjige, enciklopedije, manuskripte, novine, naucne radove (ovdje mozda jos moze nesto), a elektronsku formu CD, DVD, audiobook, ebook (ovdje isto moze jos neke stvari dodati). Papirne forme (Knjiga) moraju da imaju broj stranica, recenzente, broj izdanja, izdavaca, stampu, (ovdje dodati jos nekih stvari). Elektronska forma (Fajl) mora da ima velicina podatka, tip podatka (koja je ekstenzija u pitanju), datum modificiranja, broj verzije, (ista stvar, ovdje treba jos nesto da ide). I na kraju, ebook, koji moze biti samo ebook, a moze biti i audiobook, koji ima karakteristike kao i papirna forma i elektronska forma (multiple inheritance), s tim da posjeduje jos informaciju gdje je zadnji put procitano, te koliko jos procenata je ostalo do kraja da se procita, (mozda jos nesto ovdje).
Akcije svakog dokumenta su konzolni ispis, vracanja svake karakteristike (GUI) Arhiva Arhiva je pomocna struktura neogranicenog prostora, koji nam pomaze kada dodajemo knjige, a nemamo vise gdje da stavimo knjige na policama. Takodjer, mozemo iz arhive izvlaciti knjigei dodati na police. Arhive nemaju klasifikaciju, nego imaju samo raspored po imenima i velicini dokumenata (naravno, razlicito za elektronske forme i papirne forme). Takodjer, u arhivi je moguce vrsiti destrukciju knjiga, tj. moguce je dokumente "baciti u smece", (jos treba ovdje neke akcije koje su moguce sa arhivima) Soba Soba (?) (ovdje ce biti potrebna 3D niz, tj. niz polica koji su vec 2D). Polica Police su pomocna struktura u sistemu, kao i arhiva, gdje cemo imati ogranicen broj prostora koje knjige mozemo izloziti. Police ce imati ogranicen broj prostora (sirinu i duzinu) i imat ce odredjenu klasifikaciju koje knjige mozemo izloziti na tim policama, tacnije koji zanr one predstavljaju. Moci cemo dodavati knjige, a moci cemo i izbaciti knjige u arhivu, ali ne i unistiti knjige. Ako su police popunjene, tada knjige automatski idu u arhivu (postoji mogucnost, ako su druge police iste klasifikacije, da se stavi u drugim policama). Svaka polica mora imati svoju identifikaciju (jedinstveni broj), broj i slovo (1A, npr.), koji label(oznaku) ima, (jos vidjeti da se doda ovdje)

Datum Pomocna struktura koja ce nam pomoci odrediti sve potrebne datume, ispis dana za taj odredjeni datum i slicno. Dan, mjesec i godina izbavit ce iz sistema rada servera (racunara). Racuna takodjer i prijestupne godine, kao i koji je dan u sedmici u pitanju!

Plan rada Neki dodaci ce se jos dodati tokom rada(naravno, to ce sve biti uz filozofiju enkapsulacije). Prvo sto cemo uraditi je da napravimo kompletnu strukturu dokumenta, pa cemo raditi kompletnu strukturu korisnika, te cemo napraviti sistem biblioteke.

About

A project for my University subject "Object oriented programming"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages