U ovom delu prelazimo iz oblasti poslovnih potreba i zahteva u svet projektovanja informacionog sistema. Do ovog momenta bi trebalo da smo iz perspektive korisničkih funkcija stekli dobar uvid u ono što treba da se izgradi. Sada nastavljamo sa logičkim projektovanjem sistema, koje će obezbediti opšti plan onoga što će se graditi.
Naši ciljevi u analizi i preliminarnom projektovanju su:
1. da napravimo takav idejni projekat sistema koji će omogućavati ispunjavanje svih izraženih poslovnih potreba i zahteva;
2. da napravimo opšti plan za sve članove razvojnog tima.
Dijagram klasa
Kao glavna tvorevina prethodnih aktivnosti proizaći će dijagrami klasa sistema. Dijagram klasa, koji prikazuje statičku strukturu sistema, uvek je bio ključni, ako ne i centralni dijagram u mnogim UML i objektno orijentisanim metodologijama. Ali sada u segmentu korišćenja UML-a za projektovanje baza podataka, dijagram klasa postaje još značajniji. Dijagram klasa sada postaje opšti, centralni dijagram koji će kao osnovu u svojim projektima koristiti i tim za aplikacije i tim za bazu podataka.
Dijagram klasa ne samo što ustanovljava glavne entitete u sistemu i njihove međusobne relacije, nego on to sada radi i za entitete u aplikacijama i u bazi podataka. Pošto obe grupe rade zajedno na uspostavljanju dizajna sistema, projektant baze podataka moći će da obezbede potrebne detalje o tajnim klasama u sistemu, umesto da projektanti aplikacija pretpostavljaju koji su podaci raspoloživi. To je od posebnog značaja ako u našem projektu dolazi do promene osoblja.
Posedovanje ovakvog opšteg plana i zajedničkog jezika (UML-a) olakšava promene u upravljanju. U jednom momentu, kada logički model, u obliku dijagrama klasa, postane dovoljno razvijen, dva tima (za aplikacije i bazu podataka) razdvojiće se da dovrše svoje posebne projekte. Projektanti aplikacija nastaviće da razvijaju zajedničke dijagrame klasa do dovoljnog nivoa detaljnosti za programiranje aplikacija (kada tačno dolazi do prelaska na programiranje zavisi od organizacije, kulture, nivoa obučenosti osoblja i drugog). Projektanti baze podataka uzeće zajedničke dijagrame klasa kada većina atributa bude ustanovljena i pretvoriće ih u model baze podataka. Oni će zatim nastaviti sa svojim detaljnim projektovanjem koristeći taj model podataka.
Pitanje: Kako se prelazi od korisničkih funkcija i dijagrama sekvenci na dijagram klasa?
Odgovor: U razvojnim pristupima koji kreću od nivoa podsistema (tj. bez poslovnog modelovanja) obično se primenjuju vrlo opšte smernice za "otkrivanje" kandidatskih klasa za dijagram klasa. Mada su te smernice jednostavne za razumevanje i mogu da se praktično koriste (npr. "izdvoji sve imenice u iskazu koji opisuje problem i napravi od njih kandidatske klase"), ipak one proizvode model klasa u kome se postavlja mnogo pitanja, naročito kod novih korisnika tog pristupa.
Međutim pošto smo u našem projektu prethodno obavili posao na poslovnom nivou, mi smo u prednosti. Ranije smo videli kako se mogu koristiti informacije iz poslovnih modela za unošenje u model poslovnih korisničkih funkcija podsistema, tako da u razvoju tog modela postoji odskočna daska. Sada postižemo sličan princip pri korišćenju informacija iz modela korisničkih funkcija podsistema kao odskočne daske za razvoj dijagrama klasa tog podsistema.
Pošto sam ja već odradio model baze podataka u ERwinu sada sam proširio model, tako što sam dodao još dve tabele (OGRANIČENJE i TIP_OGRANIČENJA), table RADNIK je preimenovana u BIBLIOTEKAR pošto ne želimo da vodimo evidenciju o svim radnicima u biblioteci već samo o bibliotekarima (ove jedne od definicija granice sistema). Tabela RADNO_MESTO koja je bila vezana za tabelu RADNIK je sada izbrisana. Normalizovao sam tabelu CITALAC tako da sam napravio još jednu tabelu MESTO_IZDAVANJA_LK. Preimenovao sam tablelu IZDAVANJE_KNJIGE U IZNAJMLJENE_KNJIGE, a tabelu IZNAJMLJENE KNJIGE sam preimenovao STAVKE_IZNAJMLJIVANJA.
Ova faza u projektovanju je prilično obimna ali ja nisam puno vremena gubio ovde pošto sam već imao model baze podataka, koji sam samo izmenio i proširio u skladu sa novim zahtevima.
Evo dijagrama klasa: