Ovde se radi o projektovanju informacionog sistema. Na prvom mestu, šta je to informacioni sistem?
Moje viđenje informacionog sistema je da je to sistem kojeg čine:
- prikupljači podataka,
- podaci,
- metode za pretvaranje podataka u informacije i
- korisnici informacija.
U ovom mom viđenju nema mesta za hardware i software! A zašto?
Hardware i software su alati kojima se služi IS u obavljanju svoje uloge. To je tehnologija koja se koristi u sadašnjem stadijumu razvoja ljudskog društva.
Informacioni sistemi su postojali mnogo pre pojave kompjutera i postojaće i kada (i ako) ljudski rod prevaziđe kompjutere.
Kompjuteri su nastali 40tih godina prošlog veka, a informacioni sistem o stanju faraonovog blaga u starom Egiptu je postojao još pre 4000 godina. Verovatno je bio neprecizan i spor ali je ispunjavao krajnju funkciju informacionog sistema - uvid u informacije koje služe za upravljanje resursima nekog fizičkog sistema.
U prvom svetskom ratu su sve vojske imale sisteme prikupljanja podataka sa terena, slanje tih podataka, obradu i izvlačenje korisnih informacija koje su služile za odlučivanje o daljim akcijama upotrebe vojske. Da li su generalštabovi tih vojski imali SUBP-ove? Naravno da nisu.
Naravno da mašina može da bude korisnik IS-a, ali to nikako nije SUBP! Korisnik IS-a može biti neka "inteligentna" ekspertska mašina koja će na osnovu dostupnih informacija izvući nekakav zaključak i po njemu postupiti (Ko je rekao skynet?)
Uvođenje SUBP-a kao korisnika IS-a je besmisleno, a u prilog ovome govori i recimo sledeći dijagram, kojeg ću pokušati da rastumačim:
1. Administrator obaveštava SUBP da hoće da unese članarinu.
2. SUBP od administratora traži da unese period članarine.
3. Administrator dostavlja SUBP-u period članarine.
4. SUBP od administratora traži da unese vrednost članarine.
5. Administrator dostavlja SUBP-u vrednost članarine.
6. SUBP dobivene podatke o članarini upisuje u bazu podataka.
Da li sada uočavate probleme koji su nastali uvođenjem SUBP-a kao korisnika IS-a?
Evo nekih (uz pretpostavku da je SUBP nekakav SUBP koji podržava SQL):
- U gornjem scenariju SUBP od administratora zahteva da mu se dostave podaci o period i vrednosti članarine. SUBP zahteva! Kako? Kojim to metodama upravljanja bazama podataka taj sistem može da traži podatak o vrednosti članarine? Koji je to SUBP? Oracle, MSSQL? Koji? Kako? Koje su to komande? .... Ah da setio sam se
Code:
SELECT "Unesite iznos clanarine:" FROM dual;
SUBP od administratora jednostavno nemože da traži vrednost članarine. To nije funkcija SUBP-a, to treba da radi aplikativni softver!
- Administrator šalje SUBP-u podatke o periodu i vrednosti članarine u dve odvojene akcije! Kako? KOje su to komande? Kako to administrator radi? Da li to administrator prvo izvršava INSERT perioda, pa nakon toga UPDATE vrednosti? Kojim to jezikom, kojim protokolom uopšte komuniciraju Administrator i SUBP?
- SUBP podatke o članarini upisuje u bazu podataka! Kako? SUBP grubo rečeno jeste baza podataka! SUBP Upisuje sam u sebe? Moglo bi se reći "SUBP pokreće upisivanje podataka na uređaj za pohranu podataka (hard disk)."
Ja nisam upoznat da postoje SUBP-ovi koji mogu da sprovedu gornji scenario u delo. Ili je možda moja poimanje SUBP-a pogrešno?
Izbacivanjem SUBP-a iz skupa korisnika, u vodu padaju mnogi dijagrami! Ja sam ovde isčitao samo jedan od dijagrama, ali probajte sami da isčitate još po neki i videćete da su dijagrami u kojima figuriše SUBP besmisleni.
Koliko ste to swimline-ova u životu napravili u kojima se kao uloga (izvođač... kako li se već zove?) pojavljuje SUBP?
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming." - Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo