Table of Contents
Semestrální práce - Místní knihovna
Členové týmu
- Tomáš Borovička
- Ondra Stuchlík
- Aleš Hübl
- Láďa Stára
- Jára Fibichr
První prezentace
Na .pptx mi to hlásilo nepovolenou příponu, takže dávám jako zip: 01_uvodni_studie.zip
Organizace práce
Zvolili jsme postup kompletního zkopírování struktury Mišovičova vzorového dokumentu z wiki:
Práci navrhujeme rozdělit následovně:
- Podmínky proveditelnosti a jejich zhodnocení
- Obchodní případ (podnikatelské zhodnocení)
- Kontextová analýza problémové domény
- Analýza klientů cílového software
- Prvotní přístup k architektuře cílového software
- Prvotní přístup k prostředí nasazení
- Prvotní přístup k použití vývojového prostředí
- Analýza požadavků
- Mapování funkčních/nefunkčních požadavků na případy užití
- Diagram tříd
Úvodní studie
1. Úvod
V České republice existuje v téměř každém městě aspoň jedna městská knihovna. Městské knihovny mají dlouhou tradici, ale bohužel jich mnoho zaspalo dobu a neposkytují moderní služby.
Problémová doména
- Naše studie se zabývá malou městskou knihovnou ve městě s cca 20 000 obyvateli.
- Registrujeme přibližně 3000 pravidelných čtenářů.
- V katalogu máme cca 50 000 knih.
- V knihovně pracuje celkem 5 zaměstnanců.
- Spolupracujeme s 10 vydavatelstvími.
Organizační struktura
Organizační struktura je velmi jednoduchá. Knihovnu vede Vedoucí knihovny a pod něj spadají Knihovnice a Skladník.
Skupiny procesů
Identifikovali jsme následující skupiny procesů:
- Řízení výpůjček - Vše co se týká půjčování knih - tedy, půjčování, vracení, upozorňování na konec výpůjčky, udělování penále, atd.
- Nákup knih.
- Management skladu.
- Správa katalogů.
- Meziknihovní interakce - Spolupráce s jinými knihovnami.
- Agenda čtenářů - registrace, prodlužování členství, blokace účtu, atd.
- Správa partnerských vydavatelství - správa vztahů s vydaveteli.
- Správa zaměstnanců.
- Účetnictví.
Zásah IS na skupiny procesů
- Procesy, které budeme komputerizovat
- Řízení výpůjček
- Agenda čtenářů
- Správa katalogů
- Management skladu
- Procesy, které zůstanou nekomputerizovány
- Nákup knih
- Meziknihovní interakce
- Správa partnerských vydavatelství
- Účetnictví
- Správa zaměstnanců
Fáze zahájení
1. Podmínky proveditelnosti a jejich zhodnocení
Momentálně neexistuje integrovaný systém městských knihoven,který by splňoval požadavky kladené vedoucím Místní knihovny. Ale požadovaný systém by měl být otevřený a připravený na spolupráci s produkty třetích stran, jakou by například mohl být centrální informační systém, pro integraci knihoven v celé ČR. Takový systém, je ale zatím v nedohlednu a naše městská knihovna potřebuje nutně modernizovat.
2. Obchodní případ (podnikatelské zhodnocení)
Udržení stávajícího stavu, kdy se veškeré výpujčky zaznamenávají tužkou na papír a katalogy jsou pouze v tištěné formě, je nemožné. Pokračování v tomto stylu by znamenalo přijmutí dalších zaměstnanců a tím i neůměrný růst nákladů. Městská knihovna by také měla reprezentovat město a býti příkladem pro mladé lidi a vést je ke vzdělavání.
Současný stav
- Čtenáři nemohou vzdáleně provádět akce jako
- Rezervace knih
- Prodlužování výpůjček
- Stav svých výpůjček
- Papírová evidence knih a výpůjček
- Katalogy pouze v tištěné podobně
Výhody komputerizace
- Vzdálený přístup čtenářů
- Vyhledávání knih elektronickou formou
- Zefektivnění interních procesů knihovny
3. Kontextová analýza problémové domény
Městská knihovna není izolovaný subjekt, a proto je třeba dobře popsat její okolí a interakce s ním.
Vnější kontextová analýza
Knihovna navenek interaguje zejména ze třemi subjekty:
- Čtenáři
- Vydavatelství
- Ostatní knihovny
Schema vnější interakce názorně ukazuje následující diagram:
Vnitřní kontextová analýza
Jednotlivé skupiny procesů interagují mezi sebou. Viz. následující diagram:
pozn.: Vyznačené skupiny procesů jsou ty, jež budou komputerizovány.
4. Analýza klientů cílového software
Z kontextové analýzy vyplývá, že hlavním klientem IS budou čtenáři, kteří tvoří majoritní část interakce knihovny se svým okolím. Ale zaměstnanci knihovny budou IS využívat k interním procesům, jako jsou správa katalogů, management skladu a agenda čtenářů.
5. Prvotní přístup k architektuře cílového software
Informační systém bude řešen formou webové aplikace. Tím se zajistí jednoduchá přístupnost jak zevnitř knihovny(pro interní procesy), tak i z vnějšku(pro veřejnost). Tato forma má také výhodu v tom, že se může knihovna aktivně prezentovat na internetu svými webovými stránkami, jejichž součástí tento IS bude.
Jednoznačnými výhodami tohoto řešení jsou snadná škálovatelnost, uživatelé systému nemusí instalovat žádný software a aplikace je multiplatformí - tak jako téměř celý internet.
- Architektura
- Klient – server
- Vrstevnatá
- Komponentová
- Přístupné přes webový prohlížeč
- Výhoda – multiplatformní řešení
- HW požadavky
- Pronájem serveru
- Nákup PC do knihovny
6. Prvotní přístup k prostředí nasazení
Jelikož základem celé aplikace bude báze dat, kterou bude IS využívat, bude vyžadována informační infrastruktura napojená na internet. Tuto infrastrukturu si budeme pronajímat.
Taková infrastruktura musí splňovat tyto základní požadavky:
- Napojení na síť internet.
- Prostor pro umístění báze dat na serveru.
- Uložení a provozování IS na serveru.
- Zajištění ochrany informací a softwaru.
Dále musí být přímo v knihovně přístup k síti internet(wifi) a několik PC, které budou moct využívat zaměstnanci i návštěvníci knihovny.
7. Prvotní přístup k použití vývojového prostředí
Informační systém bude vzhledem ke své klient-server a komponentové struktuře řešen objektovým přístupem a tím pádem bude potřeba využít i objektové vývojové prostředí s možností tvorby takovýchto aplikací.
Rozhodli jsme se využít platformu firmy Microsoft, .Net Framework v jeho nejnovější verzi(4.0). Pro tuto platformu je naprosto přirozené použít silně objektový jazyk C# a webovou platformu ASP.Net. Nejlepším vývojovým nástrojem pro tyto účely je Microsoft Visual Studio, které lze zdarma využívat v express verzi. Použijeme jeho zatím poslední verzi z roku 2010.
8. Analýza požadavků
Když vás napadne nějaký nefunkční požadavek, tak ho hned napište, ať jich máme alespoň 5.
Funkční(business) požadavky
- Správa katalogů (package)
- Řízení výpůjček (package)
- Agenda čtenářů (package)
- Management skladu (package)
Nefunkční(softwarové) požadavky
Specifikace funkčních(business) požadavků
Package 1: Správa katalogů
Správa katalogů knih řízena počítačem.
Knihovník dělá veškerou obsluhu správy katalogů na počítači. Při zavedení nové knihy musí vyplnit formulář založení nové knihy do katalogu - ten spočívá ve vyplnění všech důležitých informací o knize, včetně jejího umístění v knihovně. Při změně atributů knihy, například přeřazení do jiného katalogu, či zařazení do více katalogu, musí vyplnit změnový formulář. Stejně tak při odstranění knihy z katalogu, je nutné vyplnit vyřazovací formulář knihy z katalogu. V katalogu knihovník zaznamenává i případná poškození knihy uživatelem, či stav běžného opotřebení. Vždy při vracení knihy, je možné zjistit stav knihy před výpůjčkou.
Zjištění zda je kniha v nějakém katalogu.
Uživatel může zjistit, zda se kniha, kterou poptává vyskytuje v nějakém katalogu knihovny. Uživatel musí být přihlášen do systému a vybrat kriteria podle kterých se má kniha vyhledávat. Systém mu vrátí knihy, které se shodují se zadanými požadavky a ve kterých katalozích se vyskytují.
Informace o změnách v katalozích.
Uživatele se mohou nechat informovat o změnách v katalozích. Zejména jde o nové knihy zařazené do katalogů, který uživatele zajímá, např. každý týden, měsíc, rok si nechají zaslat jaké knihy přibyly/ubyly ve vybraném katalogu/zích.
Package 2: Řízení výpůjček
Rezervovace dokumentu
Systém umožňuje registrovaným čtenářům knihovny předem rezervovat dokumenty určené k absenčnímu půjčování. Rezervací myslíme udělení přednostního práva k vypůjčení tak, aby si žádný jiný uživatel nemohl danou knihu vypůjčit. Rezervaci lze vytvořit libovolně dopředu, platí však omezení počtu rezervovaných dokumentů. Rezervovat lze jak knihu volnou (k dispozici na skladě nebo v regálu), tak i půjčenou. V tomto případě je čtenáři, který má dokument zapůjčen, znemožněno další prodlužování výpůjčky. V systému lze rezervace provádět po vyhledání příslušného záznamu dokumentu.
Půjčování dokumentu
Absenční půjčování dokumentů se provádí osobní návštěvou knihovny čtenářem. Čtenář si buď vyhledá knihu přímo v knihovních regálech nebo je mu doručena ze skladu. Na přepážce knihovny se čtenář nejprve autentizuje. Následně knihovník přečte čárový kód dokumentu a tím identifikuje konkrétní dokument. Na vyžádání lze čtenáři vystavit potvrzení o vypůjčení - výpůjční lístek. V systému se dokument zařadí mezi vypůjčené a zároveň se nastaví nejpozdější datum vrácení (podle nastavení systému - tj. např. 30 dní od data výpůjčky). Dokument lze vypůjčit pouze v případě, že čtenář nemá záporný zůstatek na svém uživatelském účtu. V takovém případě lze vypůjčení provést až po jeho vyrovnání.
Vrácení dokumentu
Při vrácení čtenář fyzciky doručí dokument do knihovny. Zde předá vypůjčený dokument knihovníkovi, který po identifikaci dokumentu a autentizaci čtenáře provede odstranění položky ze seznamu vypůjčených dokumentů čtenáře. Knihovník dále zkontroluje stav dokumentu a porovná jej se stavem uvedeným v záznamu dokumentu. V případě prokazatelného zhoršení fyzického stavu dokumentu může knihovník udělit pokutu, která se ihned promítne do čtenářova účtu (nebude si tak moci půjčovat další dokumenty, dokud účet nevyrovná).
Další možnosti
- storno rezervace - prodloužení výpůjčky - objednávka meziknihovní výpůjčky - poslání upomínky - přesáhnutí doby výpůjčky - zobrazení vypůjčených knih - zobrazení rezervovaných knih
Package 3: Agenda čtenářů
Možnost evidence účtů čtenářů
Systému bude umožňovat, aby každému registrovanému čtenáří místní knihovny byl vytvořen v systému uživatelský účet. Tento účet bude obsahovat základní nacionále o registrované osobě rozšířené o metadata, která budou využívána systémem. Pokud tedy knihovnu navštíví stávající čtenář, který bude chtít zřídit elektronický přístup do systému, nebo nový čtenář, který se bude chtít zaregistrovat, knihovník bude mít možnost založit tomuto čtenáři účet. K tomuto účtu pak budou v systému vázány všechny informace týkající se daného čtenáře.
Správa penalizací za nevrácené výpůjčky
Systém bude ke každému uživatelskému účtu čtenáře evidovat veškérá penále, která se uživatelům vytvoří, pokud nestihnou vrátit vypůjčenou publikaci ve stanovené výpůjční lhůtě. Pokud k takové situaci dojde, systém zaznamená přislušnou penalizační položku, která bude v systému viditelná jak pro čtenáře, tak pro knihovníka, a uživatel bude povinen tuto penalizaci zaplatit. Po zaplacení příslušné částky bude mít knihovník možnost penalizaci označit jako zaplacenou.
Správa stavu uživatelských účtů
Systém umožní u každého učtu čtenáře zaznamenat, zda je účet aktivní, nebo blokovaný. Pokud určitý čtenář nebude dodržovat pravidla určená knihovnou, např. jeho počet penalizací překročí stanovenou mez, nezaplatí do předem určeného termínu čtenářský poplatek apod., bude mít knihovník možnost účet čtenáře zablokovat. Takový čtenář pak nebude mít do systému knihovny přístup. Pokud čtenář napraví své přestupky, např. doplatí příslučná penále, uhradí člensky poplatek apod, knihovník bude moct účet opět zaktivnit.
Package 4: Management skladu
Vyskladnění položek
Proces vyskladnění publikací ze skladu bude řízen pomocí systému. Skladník bude využívat systém pro získání informací o požadavcích na sklad. Systém bude zobrazovat požadavky i umístění požadované publikace. Při vydání publikace bude položka odečtena ze seznamu skladovaných publikací.
Uskladnění položek
Řízení procesu uskladnění publikací bude podporováno systémem. Každá položka určená pro uskladnění bude přidána do seznamu skladu. Systém určí nejvhodnější místo pro uložení.
Vyhledávání položek ve skladu
Systém bude umožňovat vyhledávat položky dle zadaných klíčových slov. Bude umožňovat globální pohled na stav skladu (zaplněná kapacita, uložení různých druhů publikací, apod.).
Specifikace nefunkčních požadavků
Povinná registrace.
Povinné přihlašování.
Systém bude umožňovat přístup přes webové rozhraní.
Bezpečná komunikace prostřednictvím protokolu HTTPS
Pro zajištění ochrany uživatelských přístupových údajů bude aplikace využívat zabezpečenou verzi HTTP protokolu, tedy HTTPS. Důvodem je fakt, že v dnešní době mnoho uživatelů interaguje s webovými aplikacemi prostřednictvím nezabezpečených wifi sítí ve veřejných prostorech, kde je pro útočníka při absenci zabezpečení komunikace jednoduché zachytit uživatelovy přístupové údaje.
Dostupnost aplikace z nejpoužívanějších webových prohlížečů
Aplikace bude přístupná nejen z PC, ale i z mobilních platforem (Andoid, WM, IPhone) a bude kompatibilní se všemi nejpoužívanějšími webovými prohlížeči od následujících verzí: MS Internet Explorer 8, Mozilla Fierfox 3.6, Google Chrome 10, Opera 11, Opera Mini, Opera Mobile, Safari 5.
Spolupráce systému se čtečkami čipů
Všechny položky v knihovně budou opatřeny elektronickým čipem. Pro tyto čipy knihovna bude využívat čtečky čipů k načítání knih do systému. Systém musí být schopen spolupracovat s těmito čtečkami.
9. Mapování funkčních/nefunčních požadavků na případy užití
Tabulky/obrázky mapování požadavků na případy užití
Mapování požadavků z balíčku Správa katalogů na případy užití:
Mapování požadavků z balíčku Správa výpůjček na případy užití:
Mapování požadavků z balíčku Agenda čtenářů na případy užití:
Mapování požadavků z balíčku Management skladu na případy užití:
Diagramy případů užití a jejich scénáře
Poznámky
- J: Neni jednotna terminologie - napr. (na ruznych mistech) položka-dokument-kniha
- J: Neni jednotna uroven detailu tech aktivity diagramu + odddeleni na swim lanes v jednom diagramu.
- ani jedno by snad nemuselo vadit…
Fáze ROZPRACOVÁNÍ pro Místní knihovnu
1. Diagram tříd
Seznam tříd a jejich popisů
Společné pro všechny package
Název třídy | Stručný popis třídy |
---|---|
Správa katalogů
Název třídy | Stručný popis třídy |
---|---|
Správce katalogu | Třídá pro správu katalogů, umožňuje vytvářet a mazat katalogy. |
Katalog | Reprezentuje katalog knih/dokumentů. |
Položka katalogu | Položka katalogu může obsahovat více dokumentů - různé formy (tištěný, elektronický apod.) |
Dokument | Představuje dílo - knihu, časopis, článek, vědeckou práci apod. |
Správce notifikací | Třída pro práci s notifikacemi o novinkach pro uživatele. |
Notifikace | Třída reprezentuje notofikaci pro uživatele, má formu a katalogy o kterých notifikuje. |
Čtenář | Popis není součástí tohoto balíku. |
Řízení výpůjček
Název třídy | Stručný popis třídy |
---|---|
Čtenář | Třída reprezentující osobu, která si v knihovně půjčuje publikace. Seskupuje základní informace o osobě čtenáře. |
Rezervace | Třída reprezentující rezervaci čtenáře pro konkrétní položku Dokumentu. |
Výpůjčka | Třída reprezentující výpůjčku čtenáře pro konkrétní položku Dokumentu. |
Položka | Konkrétní výtisk určitého dokumentu. Může se nacházet ve skladu nebo přímo v regálech knihovny. |
Dokument | Představuje dílo - knihu, časopis, článek, vědeckou práci apod. |
Agenda čtenářů
Název třídy | Stručný popis třídy |
---|---|
Čtenář | Třída reprezentující osobu, která si v knihovně půjčuje publikace. Seskupuje základní informace o osobě čtenáře. |
Čtenářský účet | Třída, jejíž instance je vytvořena ke každému čtenáři. Nese informace, které se netýkají přímo osoby čtenáře, ale jsou potřebné pro fungování aplikace - např. stav účtu, datum expirace, seznam penalizací apod. |
Penále | Čtenářova penalizace za porušení pravidel knihovny. Skládá se z jednotlivých Penalizačních položek. |
Penalizační položka | Pokuta za konkrétní přestupek, např. nevrácení publikace v termínu. |
(Výpůjčka) | POUZE POUŽÍVÁM V DIAGRAMU, ALE JEJÍ DEFINICI OČEKÁVÁM V BALÍKU ŘÍZENÍ VÝPŮJČEK |
Management skladu
Název třídy | Stručný popis třídy |
---|---|
Skladník | Třída reprezentující osobu, která přebírá a vykonává požadavky na sklad a manuálně přemísťuje skladované položky. |
Správce požadavků | Třída seskupující hlavní funkcionalitu skladu. Udržuje seznam požadavků a umožňuje s ním pracovat. |
Požadavek | Tato třída zastupuje veškeré příkazy vznášené na sklad (naskladnění/vyskladnění). |
Položka | Tato třída zastupuje veškeré skladované knihy, časopisy a jiné dokumenty, které mohou být uskladněny ve skladu. Tato třída udržuje pozici regálu, kde se kniha nachází. |
Výpis | Tato třída slouží k vytvoření pomocného seznamu položek a jejich umístění ve skladu, který může být vytištěn. |
Sklad | Tato třída udržuje seznam skladovaných položek. |