Pretraži ovaj blog

ponedjeljak, 25. studenoga 2013.

Kako napraviti INFORMACIJSKI SUSTAV

Specijalizirana metodologija MIRIS


Informacijski sustav (IS) je dio svake organizacije. IS se pravi - razvija od strane informatičara raznih struka. Postoje različite "kuharice" kako se razvija IS.

Evo nekih kuharica - specijalizirana metodologija za razvoj IS

Popis specijaliziranih metodologija za razvoj IS:
  • Systems Development Life Cycle
  • Problem Statement Language / Problem Statement Analyser
  • Application Development Cycle
  • Business Systems Planning
  • Information Engineering Methodology
  • Jackson System Development/Programming
  • Structured Analysis / Structured Design
  • Structured Analysis and System Specification
  • Structured System Analysis
  • Structured System Analysis and Design Method
  • Metodologija CASE* tvrtke Oracle
  • Strateško planiranje IS
  • Metodologija za razvoj informacijskih sustava
  • Metoda za reinženjerstvo poslovnih procesa
  • Structured Analysis And Design of Information Systems
  • Information Systems Work and Analysis
  • Effective Tehnical and Human Implementation of Computer based Systems
  • Joint Application Development
  • Rapid Application Development
  • Soft System Methodology
  • Yourdon/Object Oriented
  • Rational Unified Process
  • Agile Software Development
  • Extreme Programming
  • Feature Driven Development
  • Information Technology Infrastructure Library
  • Lean Development



Puno ih je a ovo je samo dio. Dakle IS se može napraviti na različite načine. Slično je kao s jelima, ne postoji jedna najbolja kuhinja. 
Jedna od njih je naša - MIRIS. SPIN je također hrvatska (autora J. Brumec - FOI Varaždin).

Specijalizirana metodologija MIRIS ili metodika MIRIS (skraćeno od hrvatskog Metodologija za Razvoj Informacijskog Sustava).  

Što je to MIRIS? 
To je skup je metoda i uputa čiji je ukupni cilj projektirati i izgraditi informacijski sustav (IS). Njezino je oblikovanje započelo 1984. godine, a objavljena je 1995. godine. Puno mi je osoba u tome pomoglo. Raduje me danas gledati kako mladi ljudi koriste MIRIS i uspješno razvijaju IS različitih tvrtki. Vidi izvore na kraju članka.  
IS se gradi (kao i drugi proizvodi) u fazama, prvo jedno pa drugo i tako do kraja proizvoda.

Faze životnog ciklusa razvoja IS grupirane su u dvije skupine faza: 
  • logičko oblikovanje (projektiranje IS) i 
  • fizičko oblikovanje (izgradnja IS). 


Svaka skupina faza (grupa) ima tri faze. Faze se dalje dijele u aktivnosti.

Faze i aktivnosti životnog ciklusa razvoja informacijskog sustava prema specijaliziranoj metodologiji MIRIS prikazane su u sljedećim tablicama.

Tablica: Strateško planiranje
Faza 1. STRATEŠKO PLANIRANJE INFORMACIJSKOG SUSTAVA (SP)
1.1. Analiza: definiranje i poduka tima, dekompozicija procesa, popis dokumentacije i kretanje kroz sustav
1.2 Podsustavi: određivanje podsustava i veza
1.3 Prioriteti: određivanje prioriteta
1.4 Resursi: definiranje cjelovite infrastrukture
1.5 Plan: planiranje glavnih projekata i aktivnosti

Tablica: Glavni projekt
Faza 2. GLAVNI PROJEKT (GP)
2.1. PZ: izradba projektnog zadatka
2.2 DTP: intervjuiranje, raščlanjivanje i modeliranje procesa (DTP)
2.3 Procesi GP: analiza procesa, problema i prijedloga poboljšanja
2.4 Podatci GP: opisivanje podataka
2.5 Plan GP: planiranje izvedbenih projekata
2.6 Resursi GP: definiranje modela resursa glavnoga projekta

Tablica: Izvedbeni projekt
Faza 3. IZVEDBENI PROJEKT (IP)
3.1. DEV: intervjuiranje, apstrakcija i modeliranje podataka (EV)
3.2 prevođenje: prevođenje modela podataka u shemu BP (RM)
3.3 arhitektura IP: definiranje arhitekture programskog proizvoda (APP)
3.4 Operacije IP: projektiranje operacija nad shemom BP

Tablica: Proizvodnja softvera
Faza 4. PROIZVODNJA SOFTVERA (PS)
4.1.: PLANIRANJE PROIZVODNJE
·       Planiranje aktivnosti proizvodnje SW
·       Određivanje izvršitelja za pojedine zadatke i određivanje rokova
·       Određivanje i kreiranje produkcijske, testne i razvojne okoline
4.2: OBLIKOVANJE BAZE PODATAKA
·       Prevođenje logičkog modela podataka u fizički model sheme baze podataka
·       Kreiranje razvojne okoline za svakoga pojedinog programera
·       Punjenje sheme baze podataka u razvojnoj okolini iz postojeće produkcijske BP
·       Dodavanje novih koncepata iz modela podataka u razvojnu shemu BP (tip entiteta i dr.)
·       Kreacija razvojne baze podataka
·       Inicijalno punjenje testne baze podataka
4.3: RAZVOJ PROGRAMSKOGA PROIZVODA
·       Izradba glavnog izbornika (aplikacijskog stabla) ili dorada već postojećega
·       Izradba ekrana za pregled redaka svake tablice po jednom ili više ključeva
·       Izradba ekrana za operacije nad jednim retkom tablice (unos, izmjena, brisanje i pregled)
·       Izradba programskih modula različitih vrsta i namjena: obračuna, procedura, funkcija kontrola, look-upova nad tablicama (s prvim testiranjem modula)
·       Izradba izvještaja (s prvim testiranjem modula)
4.4: TESTIRANJE U TESTNOJ OKOLINI
·       Prijenos razvijenih programskih modula u testno okruženje
·       Spajanje novih modula s postojećim
·       Back-up verzija softvera
·       Testiranje prototipa softvera nad testnom bazom podataka
·       Ažuriranje planova proizvodnje softvera
·       Izvođenje prema potrebi aktivnosti iz ranijih skupina aktivnosti i ponovno testiranje
4.5: TESTIRANJE I ISPRAVLJANJE U RADNOJ OKOLINI
·       Prijenos razvijenih programskih modula u radno okruženje
·       Spajanje novih modula s postojećima
·       Back-up verzija softvera
·       Punjenje baze podataka
·       Testiranje prototipa softvera nad produkcijskom bazom podataka koje provodi programer
·       Ažuriranje planova proizvodnje softvera
·       Izvođenje prema potrebi aktivnosti iz ranijih skupina aktivnosti i ponovno testiranje
4.6: TESTIRANJE KOJE PROVODI KORISNIK
·       Prezentacija softvera korisniku
·       Testiranje koje provodi korisnik
·       Izradba popisa primjedbi korisnika
·       Ažuriranje planova proizvodnje softvera
·       Izvođenje prema potrebi aktivnosti iz ranijih skupina aktivnosti i ponovno testiranje
·       Izradba zapisnika o testiranju i prihvaćanju faze uvođenja

Tablica: Uvođenje
Faza 5. UVOĐENJE (UVO)
5.1. Instalacija gotovog softvera na produkcijsko okruženje (kod korisnika)
5.2. Izradba uputa
5.3. Prezentacija gotovog softvera
5.4. Poduka
5.5. Završne konverzije
5.6. Završno testiranje
5.7. Početak primjene nove aplikacije
5.8. Uspostava novog sustava i potpisivanje primopredajnog zapisnika

Tablica: Primjena i održavanje
Faza 6: PRIMJENA I ODRŽAVANJE (ODR)
6.1. Podešavanje novoga aplikacijskog sustava
6.2 Izvješće o procjeni novoga projekta
6.3 Raspodjela odgovornosti korisnika i programera
6.4 Korištenje aplikacijskim sustavom
6.5 Postavljanje korisnikovih zahtjeva za izmjenama

Cjelokupni posao započinje izradbom strateškog plana. Potom se u fazi Glavnog projekta analizira poslovanje i kreira model podataka.
U fazi Izvedbenog projekta modeliraju se podatci i definira logička arhitektura programskoga proizvoda.
Faza „Proizvodnja softvera” započinje planiranjem proizvodnje. Uzimaju se u obzir postojeći programski proizvodi i baza podataka u sustavu. Cilj je reorganizirati postojeću bazu podataka (stvoriti novu ako ništa ne postoji) i kreirati potreban novi programski proizvod, odnosno izmijenjen, ili zamijeniti postojeći programski proizvod.

Gotov programski proizvod uvodi se u sustav, a nakon uvođenja primjenjuje se u svakodnevnom radu. Po potrebi se dijelovi informacijskog sustava održavaju kako bi on zadovoljio potrebe korisnika.

Poznata je i kao metodika MIRIS. Ta specijalizirana metodologija propisuje faze razvoja i aktivnosti pojedine faze do potrebne razine detalja informacijskih sustava.
Osnovna hipoteza oko koje je MIRIS oblikovan jest „dekompozicija sustava”, a glasi:
  • životni ciklus projektiranja podijeliti u tri faze
  • u prvoj fazi apstraktno modelirati cijeli sustav i u tom modelu sustav podijeliti u podsustave
  • u drugoj fazi modelirati podsustav i propisati odgovarajuću metodu za modeliranje procesa
  • u trećoj fazi modelirati podatke relevantnih procesa i definirati arhitekturu aplikacije prema modelu procesa i modelu podataka.

 Predloženi životni ciklus metodologije MIRIS je „V” model, i to tako da su na lijevoj strani faze kojima se dekomponira poslovni sustav (dok se kod uobičajenog „V” modela dekomponira proces modeliranja sustava), a na desnoj se strani predlaže linearan razvoj i uvođenje aplikacija neovisno o složenosti (dok se kod „V” modela izvodi testiranje i okrupnjavanje modula u veće proizvode).

MIRIS se koristi trima osnovnim metodama: metodom za modeliranje podataka, metodom za modeliranje procesa i metodom za modeliranje aplikacija. Metode su slične mnogobrojnim metodama u drugim metodologijama.

ISKUSTVA I PRAKSA KORIŠTENJA  MIRIS-A
Tvrtka RIS d.o.o. je prihvatila metodiku MIRIS kao svoju kuharicu za razvoj IS. Kroz dugogodišnja iskustva na projektiranju i gradnji informacijskih sustava za velike kupce (Croatia osiguranje, HRT...) tvrtka RIS je razvila svoj specifičan pristup i način rada koji se prvenstveno odnosi na analizu, modeliranje i projektiranje sustava i unaprijedila metodiku MIRIS.  Specijalizirane metodologija (MIRIS), dobila je u RIS-u odgovarajuću softversku podršku i usavršena je razvojna  tehnologija kao nadgradnja specijaliziranim razvojnim platformama i alatima.

Kvaliteta RIS-ovih proizvoda rezultat je vlastitog procesa razvoja softvera pod nazivom "metodika MIRIS", prvog i jedinog hrvatskog procesa razvoja koji je nositelj prestižnog znaka "Izvorno hrvatsko".

Za sustav upravljanja kvalitetom RIS posjeduje ISO 9001:2008 certifikat iz djelatnosti projektiranja, programiranja i održavanja informacijskih sustava i aplikacija, usluge data centra, a za sustav informacijske sigurnosti RIS posjeduje certifikat  ISO 27001:2005.

Metodika MIRIS koristi se još i u drugim našim ICT centrima i ne zaostaje za drugim specijaliziranim metodologijama.

References:
  1. Pavlić, M., (1995): Tehnologija projektiranja informacijskih sustava – MIRIS, CASE, Opatija.
  2.  Pavlić, M., (1996): Razvoj informacijskih sustava – projektiranje, praktična iskustva, metodologija, Znak, Zagreb. 
  3. Pavlić, M., Ivašić, M., Zamlić, I. (1999): Methodology MIRIS, Proceedings of the eight Electrotechnical and Computer Science Conference ERK'99, 23.09. – 25.09. 1999., Slovenian Section IEEE, Portorož, Slovenija, str. 309 – 312.
  4. Pavlić, M.,”Informacijski sustavi”, Školska knjiga, Zagreb, 2011. UDK 533-12-10-0002, ISBN 978-953-0-30882-4, 298 strana,
  5. Pavlić, M., “Oblikovanje baza podataka”, Odjel za informatiku Sveučilišta u Rijeci, Rijeka, 2011. UDK 004.65(075.8), ISBN 978-953-7720-08-7, 205 strana
  6. Jakupović, A., Pavlić, M., „Measuring the Complexity of Business Organization and Business Software Using Analytic Hierarchy Process (AHP)“, Computer Technology and Application, 2 (2011) , 9; 736-747 

petak, 25. listopada 2013.

Kako napisati "Diplomski rad?"

Upute za pisanje diplomskog (završnog) rada!


Ali evo i male pripomoći za pisanje diplomskog rada (nakon dvogodišnjeg diplomskog studija) ili završnog rada (nakon trogodišnjeg preddiplomskog studija)!

Ove godine imam više od deset diplomskih/završnih radova i pomalo mi je već dosadno svima govoriti isto, daj ovo, daj ono, daj lektoriraj tekst, daj brojeve slikama s brojem poglavlja, ...

Svak fakultet ima Pravilnika o diplomskom radu i Uputa za izradu diplomskog rada sveučilišnog diplomskog studija. U diplomskom se toga obvezno treba pridržavati. 
O tome neću pisati. Nego ono nešto što tamo ne piše.


Svakako dobra pomoć je uzor, pa evo u prilogu jednog uzoritog uratka kolega Davora Vrgoča.

Diplomski rad i Završni rad je pisani rad koji ima odlike i formu znanstvenog rada. On može biti:

  • pregledni rad (opisuje šire područje), ili 
  • uži (opisuje jednu temu detaljnije) ili 
  • model ili 
  • softver ili 
  • poslovna aplikacija ili 
  • upute za korištenje složenih proizvoda ili 
  • e-nastava ili .... 
  • ili što god. 

On govori da autor rada pored toga što je pametan i sve to nešto zna (da ga ispitamo) ima sposobnost sve to nešto i napisati u standardnoj formi, koja može drugima čitateljima približiti i skratiti proces učenja o odabranoj temi. I štošta drugo...

Veličina rada nije bitna ali donja granica postoji za lijenčine i ne može biti trivijalna, recimo 30 završni, 50 i više stranica diplomski.

Može ga pisati jedan i samo jedan autor. Ako više autora radi na istoj temi svaki od njih ima svoju ulogu, funkciju, temu, modul, dio većeg sustava. I dva rada se mogu izlagati jedan za drugim. Rad se može nastaviti na rad drugih bivših studenata, što je i poželjno.

Što odabrati za temu diplomskog?
 Ako imate problem naći temu onda imate dva problema i dva pitanja: znate li uopće išta o svom studiju?, zanima li vas išta u životu? i  ima li vaš mentor ideja? 
Rad može imati razne sadržaje, ovisno o cilju. 

Struktura rada
Naslov je u skladu s propisanim standardom ustanove za koju se radi: fakultet, odjel, autor, mentor, naslov rada, podnaslov, mjesto i vrijeme i sl.

Sadržaj s brojem stranice.

Uvod: motivacija, gdje je rađen rad, što je važno u radu, što je cilj, vizija, misija, koji resursi, koje teme, zašto je to odabrano, čemu to služi i kome se zahvaljuje autor (opcija).

Poglavlja, s logičkim razdvajanjem tema na više razina.

Zaključak, iznijeti svoje mišljenje, ponoviti dio uvoda, reći što se postiglo, što bi se još moglo dalje istražiti i opisati, što je važno ili koja misao je zgodna za cijelu tu temu. Nešto originalno što ste vi otkrili. S čim se od prihvaćenog  /uobičajenog ne slažete?

Literatura, što više to bolje. Literatura je obavezan dio rada, bar 30 navoda u diplomskom. Studenti često obično ima samo nekoliko referenci. Postoje razni standardi za popis literature, ali svaki je dobar. Evo primjera popisa literature. 

Literatura

[1] Gordon, S. R. (2008). Supplier evaluation and performance excellence. J. Ross Publishing.
....

[9]    Wikipedia (2013): Spend Management, http://en.wikipedia.org/wiki/Spend_management
Citati

Postoje razni standardi za citiranje. Možete navesti prezime prvog autora i godinu izdanja u zagradi kao (Gordon, 2008) ili redni broj citata na popisu literature kao /1/. Evo primjer jednostavnog citiranja u jednom radu.

U doba krize tvrtke se često okreću smanjenju troškova zbog činjenice da je omjer prihoda i troškova 3:1, odnosno tri zarađene kune odgovaraju jednoj ušteđenoj, odnosno ušteda od jedne kune na troškovnoj strani ima isti učinak kao i povećanje prihodovne strane za tri kune /9/.

Da je to misao koju je student uzeo i slobodno uobličio vidimo po oznaci citata, /9/ na kraju rečenice. Broj 9 označava devetu referencu na popisu literature. Citat može biti bilo gdje u tekstu, u rečenici, na nazivu slike ili u tablici. Obično ne i u sažetku.

Student u radu može prepisivati i opisivati tuđe misli ali treba citirati izvor od kuda su to originalno prepisane misli. Dakle dozvoljeno je prepisati tuđe rezultate i to se potiče i to je preporuka ali obavezno je navesti izvore. To je u skladu sa zakonom o autorskom djelu. Sve se može prepisati, to nije zabranjeno, ali je potrebno navesti tko je i gdje to napisao.

Diplomski rad nije doktorat i ne mora imati originalnih znanstvenih istraživanja koja još nitko nigdje nije objavio. 

Citiranje je posebno teško jer nemamo naviku pisanja znanstvenih radova. 

Poželjno je imati među izvorima:  
  • knjige
  • WWW
  • članke
  • forume
  • Wikipedi-ju
  • rječnik

Svakako prekopati besplatnu arhivu na WWW.

Autorska prava i tajnost podataka
Diplomski rad ne treba i ne smije sadržavati niti jedan dio teksta koji čini povredu autorskih prava.
To nije teško jer se sve što je zaštićeno citira i navodi autor ili nije dostupno studentima.

Ne smije se prepisati tuđe autorsko djelo bez navođenja autora. Ne smije se prepisati tuđe djelo ni s navođenjem u nekim uvjetima, npr. prepisati 10 stranica u svoj seminar i reći ja sam ovo kopirao od toga i toga. Kopirati se može dio teksta do desetak rečenica, ali samo ako to ima smisla. Kopirati se može slika ili tablica. Ne upute za korištenje programa s opisom i ekranima, koji su tuđe djelo. U tom slučaju bolje je sam prolaziti kroz aplikaciju - program, kopirati ekrane u tekst seminara i opisivati program svojim riječima iz svog uma. Na taj se način razvija vlastiti potencijal. 

Često studenti odustaju od teme diplomskog rada kada im u kompanijama za koje rade ne daju uvid u poslovne podatke. Rad ne  smije sadržavati niti jedan podatak koji predstavlja poslovnu tajnu neke organizacije. Podaci u tvrtkama u kojima se rade radovi obično jesu poslovna tajna i kao takvi se ne smiju objaviti i ne smiju pojaviti u radu niti u prilogu. Dakle, autor rada treba dobiti dozvolu za uvrštenje teksta u rad, čime je isti postao dostupan javnosti. Ako ne dobije dozvolu za uvrštavanje podataka u rad, moguće je u prazne obrasce upisati ručno "lažne" podatke. Npr. ako se prikazuje osobna iskaznica, ne stave se ime i prezime prave osobe već npr. "Višnja Biljanović" i sl.

Svaki rad se može javno objaviti, npr. na WWW, i to može učiniti i profesor mentor i student autor, prema svojim potrebama i bez traženja ikakve suglasnosti.
Diplomski i završni rad nije poslovna tajna.



Pisanje teksta
Tekst treba biti strukturiran, tj. podjeljen u poglavlja. Studentu se ostavlja kreativnost u toj podjeli u cjeline. Svako poglavlje ima broj poglavlja. 
Dobar rad ima puno slika i tablica. Sve slike i tablice trebaju biti numerirane.
Važni pojmovi mogu biti podebljani.
Tekst se piše Fontom veličine 12, npr. Times New Roman.
Fusnote font veličine 10.



nedjelja, 22. rujna 2013.

Veza - relationship


Veza i znanstveno istraživanje

Tvrdnja koju želim dokazati, bez eksperimenta, u mislima (dakle slab dokaz), tiče se dva svijeta. Prvi je stvarnost a drugi mašta. Pitati ćemo se može li se u mislima popiti stvarno vino? I kakve to ima veze sa sveukupnom znanošću - ili ciljem znanosti? A pokazati ćemo kako istraživanje može početi od: ili problema ili pitanja ili hipoteze ili cilja istraživanja. I da je to isto napisano na različiti način.

Idemo redom!
Veza je vrlo važan pojam. O njoj uglavnom govorimo kao o elementu koji povezuje koncepte na našim modelima.
Stvari i misli su u brojnim vezama. Otkriće veza vrlo je važno.
Rijetko se otkrivaju nove pojedinačne stvari, često se otkrivaju nove veze. Veza stvari je nova stvar.
Tako recimo Teslin elektromotor je nova veza među postojećim stvarima koja dovodi do nove stvari.

Evo slike nekih ljudskih veza.




Ljudi su u vezama s drugim ljudima. Bračnim, rukovodnim, prijateljskim, roditeljskim, ... i inim.
Ljudi su u vezi sa stvarima, bićima i apstrakcijama. Posjeduju auto, kuću, stan, psa, mačku, livadu, diplomu, ...
Stvari su u vezi sa drugim stvarima. Banka ima račun, Kamion je registriran u gradu, fakultet je izdao potvrdu, na građevinskom terenu je dozvoljena gradnja zgrade, ...
Misli mogu biti u vezi s drugim mislima. primjer: planira se nastava modeliranja podataka u prvom tjednu.

U informatici zanimaju nas informacije o stvarima i mislima, kodirane kao podaci u nekom jeziku.
Same stvari i misli predmet su drugih područja istraživanja.

Što je veza ?
Veza je misao o interakciji stvari u objektivnoj stvarnosti (OS) ili misli u misaonoj stvarnosti (MS).
Veza u OS je (pretpostavljam) naziv za energetsku interakciju materije (gravitacijsko privlačenje, električno odbijanje, mehanički sudar masa, ...).
Veza u MS je jedna nova misao među mislima, odnosno ako je misao o pojmu neuralna mreža u umu onda je veza nova neuralna mreža među postojećim neuralnim mrežama, koje promatrač (svijest) vidi kao novu ideju. Samim njenim nastankom veza postaje koncept u mislima koji se dalje može povezivati gradeći složenije misli.

Tvrdnja koju želim dokazati, tiče se dva svijeta, stvarnosti - OS i mašte - MS.
Veza nije moguća među ova dva svijeta, stvarnosti i misli. Ova misao je hipoteza. Dokaz: zamislimo čašu u stvarnosti i misao o vinu. Napunimo stvarnu čašu s mislima o vinu i provjerimo, možemo li u stvarnosti ispiti to vino? Dakako ne.

U redu, a možemo li u mislima popiti iz te stvarne čaše misaono vino? Opet, dakako ne, možemo popiti samo misao o vinu iz misaone čaše.

Dakle ova dva svijeta se ne mogu sudariti. Ta veza ima oba kraja, oba ili u mislima ili u stvarnosti, ili je misao ili stvar, ne oboje.
Ovo je istina dok neki znanstvenik ne dokaže drugačije. A to je i možda krajnji cilj znanosti.

Ima nas sigurno koji se s ničime ne slažemo, super.

Neki ne prihvaćaju postojanje dva svijeta.

Jednoga vječnoga, bez-osjećajnoga, stvarnoga, bez dobra i zla, bez izbora, bez greške,...
Drugoga koji postoji samo u mašti maštača, privremenoga, nepotpunog, smrtnog, lako stvorivog u bićima s umom, posebno ponovljenog u svakom čovjeku, a opet jedino važnog za svakog od nas ponaosob iako je moguće pun laži i malo istine. A usto osjećajnog, virtualnog, dobrog ili zlog, s varijantama, s mogućnošću promijene, izborom, punog grešaka.

Pokažimo na našim vezama kako znanstveni problem malo drugačije napisan može biti prikazan kao znanstveno pitanje ili znanstveni cilj.

Pitanje: Postoji li veza između misli o predmetu i predmeta u stvarnosti?
Može se iskazati i kao tvrdnja (hipoteza): Ne postoji direktna veza dva jedino postojeća i bitna svijeta MS i OS!

A i kao cilj: um i mozak treba razvijati, dakle ljudi trebaju evoluirati a znanstvenici otkrivati i razvijati mogućnosti tijela i uma kako bi se čovjek oslobodio potrebe za alatima i strojevima i mogao zamisli pretvoriti u stvarnost. Na što li to liči, evo tema za razmišljanje.

A i kao problem: kako misli oživotvoriti?

Ovdje smo mogli vidjeti i kako ista misao može biti iskazana i kao: problem i kao cilj i kao pitanje i kao tvrdnja.
Dakle znanstvenik može krenuti u istraživanje tražeći veze među stvarima a uočavajući ih ili prikazujući ih najprije na jedan od navedenih načina. Svi ostali su izvedivi.

srijeda, 12. lipnja 2013.

Knjiga Oblikovanje baze podataka

Mile Pavlić

Oblikovanje baze podataka 


Odjel za informatiku Sveučilišta u Rijeci objavio je Sveučilišni udžbenik pod nazivom "Oblikovanje baze podataka". On se može nabaviti slanjem upita autoru;)





Ova knjiga daje upute kako analizirati poslovnu dokumentaciju i napraviti model podataka iz koga se dolazi do relacijske sheme baze podataka i aplikacije, neovisno radi li se o složenim informacijskim  sustavima ili mobilnim aplikacijama.

Dio znanja o modeliranju podataka moguće je vidjeti iz predavanja na tu temu održanih na savjetovanju CASE25 u Hipo centru u Zagrebu dana 10.06.2013.

http://www.slideshare.net/milepavlic1/dev-case25

Opišimo samu knjigu, njenu namjenu, cilj i svrhu detaljnije.

UVOD
Cilj ove knjige je pomoći oblikovati bazu podataka. Većina poslovnih aplikacija podatke čuva u relacijskim bazama podataka te je potrebno poznavati teoriju oblikovanja relacijskih baza podataka (nazovimo je relacijska metodu, skraćeno RM). Oblikovanje baze podataka (engl. Database Design) može se izvesti relacijskom metodom na logičkoj razini i definirati shemu baze podataka. Na osnovi sheme se uz pomoću softverskih sustava za upravljanje relacijskom bazom podataka (kao Oracle, MS SQL, DB2…) organizira fizička baza podataka. Fizičko i logičko oblikovanje baze podataka su dva odvojena koraka. Oblikovanje baze podataka općenito sastoji se od tri koraka i to konceptualno, logičko i fizičko oblikovanje.
Standardna metoda za konceptualno oblikovanje je EV (metoda entiteta i veza, engl. ER) koja dovodi do konceptualnog prikaza poslovnog sustava. Model podataka dobiven EV metodom jednostavno je prevesti u relacijsku shemu baze podataka i s njom uz pomoć sustava za upravljanje bazom podataka oblikovati fizičku bazu podataka.
U ovoj knjizi biti će prikazane navedene metode, EV i relacijska metoda, te proces modeliranja podataka pomoću obije metode i proces i pravila prevođenja EV modela podataka u relacijsku shemu.

Ova knjiga je proistekla iz želje i s nadom da će spoznaje biti korisne praktičarima koji projektiraju informacijske sustave (oblikuju bazu podataka i oblikuju programski proizvod) i studentima kako za modeliranje podataka tako i za razvoj informacijskih sustava nakon formalnog školovanja.
Knjiga je namijenjena projektantima informacijskih sustava, analitičarima, organizatorima, programerima, rukovoditeljima informatičkih centara, studentima i svima onima koji u poslovno - proizvodnim sustavima sudjeluju u razvoju informacijskih sustava i polaznicima seminara o projektiranju informacijskih sustava, projektiranju baza podataka, modeliranju podataka, sistem analizi i dizajnu. Knjiga će poslužiti studentima redovitog i postdiplomskog obrazovanja.

Imate li problema s informacijskim sustavom, bazom podataka i programskom podrškom? Ako ih imate, potrebno Vam je znanje kako izgraditi informacijski sustav, oblikovati bazu podataka i oblikovati programsku podršku.
Knjiga obiluje objašnjenjima i definicijama vezanim uz metode za oblikovanje baza podataka.
Knjiga je rezultat višegodišnjeg iskustva u projektiranju i gradnji informacijskih sustava, baza podataka, različitih projekata i primjeni metoda za oblikovanje pa su u knjizi iznijeta iskustva i mišljenje o metodama.
Prikazane metode su primjenjive kako za razvoj novih informacijskih sustava tako i za reinženjering postojećih programskih rješenja i baza podataka.

Centralni dio knjige je metoda entiteta i veza. Prikazani su svi koncepti potrebni za izradu modela podataka. Prikazana je relacijska metoda. Većina baza podataka su danas relacijske baze podataka. Modeliranje podataka je lakše izvesti metodom entiteta i veza, te se ona preporuča kao metoda za oblikovanje baze podataka. Nakon oblikovanja pristupamo postupku prevođenja EV modela podataka u relacijsku shemu baze podataka. Posebno poglavlje ovaj proces prevođenja detaljno opisuje. Prikazana je normalizacija podataka i njeno tumačenje dano kroz koncepte metode entiteta i veza. Proces izrade modela podataka prikazan je kao zasebna metoda VATAK (opisana u 8. poglavlju) koja pomaže projektantima brzu i kvalitetnu izradu modela podataka. Na kraju je dano desetak primjera dokumenata i njihovih modela podataka.

Knjiga ima devet poglavlja. Prvo poglavlje je uvodno.
Poglavlje 2  Informacijski sustavi prikazuje položaj baze podataka u informacijskom sustavu. Definirani su pojmovi vezani uz baze podataka. Prikazano je projektiranje informacijskih sustava, proizvodnja softvera i uvođenje gotovih aplikacija. Iz teorije i prakse je razvijena i u knjizi prikazana vlastita specijalizirana metodologija MIRIS, metodologija za analizu i oblikovanje informacijskih sustava, kao mogući okvir za sve faze razvoja od strateškog planiranja do održavanja. Oblikovanje baze podataka samo je jedna od faza razvoja informacijskog sustava. Postoje druge brojne slične specijalizirane metodologije standardizirane od pojedinaca ili tvrtki, ali gotovo da svaki programer ima vlastiti nestandarizirani način razvoja informacijskih sustava.
      Poglavlje 3  Relacijska baza podataka prikazuje pojmove koji čine strukturu relacijske metode i pojmove ograničenja u relacijskom modelu iz kojih slijedi pojam ključnog atributa. Prikazani su ukratko operatori relacijske algebre pri čemu je SQL - standardni upitni jezik za relacijske baze podataka, prikazan ukratko.  
Poglavlje 4  Modeli podataka prikazuje osnovne pojmove i metode modeliranja podataka. Posebno je opisana apstrakcija podataka koja se nalazi u osnovi svih metoda.
Poglavlje 5  Metoda entiteta i veza prikazuje jedan po jedan koncepti metode EV detaljno i predstavlja centralni dio ove knjige. Uz svaki koncept odmah se izlažu njegova ograničenja i prikazuje njegovo prevođenje u shemu relacijske baze podataka.
Poglavlje 6  Prevođenje definira pravila za prevođenje dijagrama dobivenih metodom EV u relacijsku shemu baze podataka.
Poglavlje 7 Normalizacija je uobičajen prikaz pogreške kod organiziranja sheme baze podataka te procesa otklanjanja jedne po jedne pogreške sve dok se shema ne dovede u oblik da ne stvara probleme u održavanju baze podataka. Pored uobičajenog prikaza tablice prikazan je i model podataka metodom EV i to prije i nakon normalizacije. Na taj se način grafički vidi kakve pogreške pri modeliranju uzrokuju probleme u bazi podataka.
Poglavlje 8  Proces oblikovanja baze podataka prikazana je procedura za izradu modela podataka metodom EV. Sama ta procedura je zasebna metoda modeliranja podataka i kao takva može se, s manjim prilagodbama, koristiti za različite varijante metode EV.
Poglavlje 9  Praktični primjeri modeliranja podataka prikazuje konkretne popunjene dokumenta iz poslovnog sustava te za njih daje prikaz modela podataka. Na taj način čitatelj može vidjeti konkretnu primjenu metode EV i prevođenja dijagrama EV u relacijsku shemu. Na primjerima su također postavljeni zadaci koje treba dodatno riješiti proširenjem modela podataka zbog korisničkih zahtjeva.

Na ovom blogu postavio sam i postaviti ću korisne tekstove kao naprimjer projektnu dokumentaciju koju su izradili analitičari i studenti. Na taj način čitatelj može vidjeti primjenu navedenih metoda i potpuni oblik informacijskog sustava dokumentiran kroz faze analize i oblikovanja.

Zahvala
Zahvaljujem mnogobrojnim prijateljima i suradnicima s kojima sam radio na nizu projekata u okviru kojih smo učili i isprobavali metode.
Zahvaljujem se brojnim učiteljima, prijateljima, kolegama i partnerima na savjetima i pomoći u promišljanjima o temama, mogućnosti, primjerima i praktičnim problemima informacijskih sustava.
Zahvaljujem programerima u tvrtki RIS na suradnji u izradi mnogobrojnih primjera softvera i informacijskih sustava.
Zahvaljujem mnogobrojnim suradnicima s HRT‑a, iz Croatia osiguranja, Croatia banke, Elektromaterijala, Konta i drugim poslovnim organizacijama na suradnji, na njihovoj želji za unapređenjem informacijskog sustava i njihovoj vjeri u naše napore.
Posebno zahvaljujem Martini Ašenbrener, za golem trud u izradi knjige, prikupljanju i obradi izvorne građe, podršci i vjeri u uspjeh.
Zahvaljujem studentima Odjela za informatiku, Sveučilišta u Rijeci, mojim magistrantima i doktorandima, polaznicima jednogodišnje Škole za projektiranje informacijskih sustava na njihovim mnogobrojnim sugestijama, pitanjima, diplomskim, seminarskim, magistarskim, doktorskim radovima koji su pridonijeli nastanku ove knjige.

Sadržaj knjige


1.       Uvod
2.       Informacijski sustavi
3.       Relacijske baze podataka
4.       Modeli podataka
5.       Metoda ENTITETI -VEZE
6.       Prevođenje
7.       Normalizacija
8.       Proces oblikovanja baze podataka
9.       Praktični primjeri modeliranja podataka


References:

(Alagić, 1984.) S. Alagić, "Relacijske baze podataka", Svjetlost, Sarajevo,1984.
(Anić, 2003.) V. Anić, „Veliki rječnik hrvatskoga jezika“, Novi liber, Zagreb, 2003.
(Anić, Goldstein,  1999.) V. Anić, I. Goldstein, I. "Rječnik stranih riječi", Novi Liber, Zagreb, 1999.
(Anić, Rončević, Cikota, Goldstein, Jojić, Matasović, Pranjković, 2002.) V. Anić, D. B. Rončević, LJ. Cikota, I. Goldstein, LJ. Jojić, R. Matasović, I. Pranjković, "Hrvatski enciklopedijski rječnik", Novi Liber, Zagreb, 2002.
(Atzeni, 1983.) P. Atzeni i E. Carboni, "INCOD (A System for Interactive Conceptual Design) Revisited After the Implementation of a Prototype", vidi (Davis, 1983.).
(Avison, 1995.) D.E. Avison and G. Fitzgerald, "Information System Development: Methodologies, Techniques and Tools", McGraw-Hill, London, 1995.
(Bachman, 1969.) C. W. Bachman, "Data Structure Diagrams", Database 1, 2, pp. 4-10, 1969. 
(Barker, 1990.) Richard Barker, “CASE*Method Entity Relationship Modelling - ORACLE”, Addison-Wesley P.C., Wokingham, England, 1990.
(Beizer, 1990.) B. Beizer, "Software Testing Techinques"; Boston, Inetrnational Thompson Computer Press, 1990.
(Beizer, 1995.) B. Beizer, "Black Box Testing", New York, Yohn Wiley & Sons, Inc., 1995.
(Blaha, 2010.) M. Blaha, "Patterns of Data Modeling", CRC Press, NY, 2010. 
(Boggs, 2003.) W. Boggs, M. Boggs, "UML sa Rational Rose-om 2002", Kompjuter Biblioteka, Čačak, 2003., p.736
(Brodie, 1984.) M. L. Brodie, J. Mylopoulos, J. W. Schmidt, "On Conceptual Modelling", Springer-Verlag, NY, 1984. 
(CARNet, 2010.) Hrvatska akademska i istraživačka mreža CARNet, tvrtka Pro Leksis d.o.o., (2010.), Proleksis enciklopedija - prva hrvatska opća i nacionalna online enciklopedija: http://enciklopedija.carnet.hr/login.aspx
 (Chaing, 1980.) T. C. Chaing, R. F. Bargeron, "A Database Menagement System With an E-R Conceptual Model", 1980, vidi (Chen, 1980).
(Chan, 1980.) E.P.F. Chan i F.H. Lochovsky, "A Graphical Database Design Aid Using the Entity-Relationship Diagram", (vidi Chen, 1979.), str. 303-318.
(Chen, 1976.) P. P. Chen, "The Entity-Relationship Model-Towards a Unified View of Data", ACM TODS, Vol.1, No.1, 1976.
(Chen, 1980.) P. P. Chen, "Entity-Relationship Approach to System Analysis and Design", North-Holland, Amsterdam, 1980.
(Chen, 1983.) P.P. Chen (Editor), "Entity-Relationship Approach to Software Engineering, Anaheim, North-Holland, Amsterdam, the Netherlands, 1983.
(Chen, 2001.) I. J. Chen, "Planning for ERP systems: analysis and future trend", Bussines Process Management Journal, 7, pp.374-386, 2001.
(Coad, 1991.) Coad P., Yourdon E., “Object-Oriented Analysis”, Yourdon Press, New Jersey, 1991.
 (Database eLearning, 2010.) http://db.grussell.org/section002.html
 (Davis, 1983.) C.G. Davis, S. Jajodia, P. A-B. Ng. i R.T. Yeh (Editors), "Entity-Relationship Approach to Software  Engineering", North-Holland, Amsterdam, the Netherlands, 1983.
(ER, 1997.) Conceptual Modeling – ER '97, Proceedings of 16th International Conference on Conceptual Modeling, Ed. Embley, D. W., Goldstein R. C., Los Angeles, 1997., p. 1-477
(Esculier, 1980.) C. Esculier, A. M.  Glorieux, "The Sirious-Delta Distributed DBMS", vidi (Chen, 1980.), 1980.
(Fertalj, 2006.) K. Fertalj, V. Mornar, i dr. "Komparativna analiza programske potpore informacijskim sustavima u Hrvatskoj", 5. svibnja 2006., <http://www.zpr.fer.hr/ projekti/erp/ Dokumenti/ERP-HR.pdf>, 28. siječnja 2007.
(Ford, 1985.) R.M. Ford, "A Data Manager Using Entity- Relationship", PC Tech Journal for IBM Personal Computer Users, Vol.3, N0.10, Octobar 1985.
(Giorgio, 1987.) B. Giorgio i E. Antonio, "Extending the Entity - Relationship Approach for Dynamic Modeling Purposes", vidi (Spaccapietra, 1987.).
(Goldberg, 1986.) E. Goldberg, "Excelerator aids Straids adoption", Comuter World, 21.april 1986.
(Hammer, 1980.) Hammer, McLeod, "Semantis Data Model", TODS ACM, 1980.
(Hernandez, 1997.) M. J. Hernandez, "Database Design for Mere Mortals", Addison-Wesley Developers Press, New York, 1997., p. 440
(IBM, 1985.) IBM, "System Development Method (SDM) - System Design, IBM, 1985.
(Iossiphidis, 1980.) J. Iossiphidis, "A Translator to Convert the DDL of ERM to the DDL of System 2000", vidi (Chen, 1980.).
(Jajodia, 1983.) S. Jajodia i dr., "On Universal and Representative Instances for Inconsistent Databases", vidi (Davis, 1983.).
(Junet, 1987.) M. Junet, "Design and Implementation of an Extended Entity - Relationship Data Base Management System (ECRINS/86 ", vidi (Spaccapietra, 1987.).
(Kangassalo, 1991.) Hannu Kangassalo (Editor), "Entity - Relationship Approach: The Core of Conceptual Modelling, Proceedings of the Ninth International Conference on the Entity - Relationship Approach”, Lausanne, Switzerland, 8.-10. October, 1990., North - Holland, Amsterdam, the Netherlands, 1991.
(Kellner, 1999.) M. I. Kellner, R. J.  Madachy, D. M. Raffo, "Sofware processes simulation modelling: Why? What? How? ", J.Syst.Software, 46, 91-105, 1999.
(Kiš, 2002.) M. Kiš, "Englesko-hrvatski i hrvatsko-engleski INFORMATIČKI RJEČNIK", Naklada Ljevak, Zagreb, 2002.
(Kiš, 1993.) M. Kiš, J. Buljan, S. Vuković, O. Anić, "Englesko-hrvatski informatički rječnik s računalnim nazivljem", Školska Knjiga, Zagreb, 1993.
(Lazarević, 1985.) B. Lazarević, V. Jovanović, P. Dizdarević i M. Vučković, "Projektiranje informacijskih sistema", I i II dio, Naučna knjiga, Beograd, 1985.
(Lazarević, 2008.) B. Lazarević, Z.Marjanović, N. Aničić, S. Babarogić, " Baze podataka", FON, Beograd, 2008.
(Lien, 1980.) E. Y. Lien, "Semantic of Entity-Relatioship Model", vidi (Chen, 1980.).
(Linthicum, 2000.) D. S. Linthicum, "Enterprise Application  Integration", Addison-Wesley Information Technology Series, Boston, 2000., p. 377
(Longworth, 1989.) G. Longworth, D. Nicholls, "SSADM MANUEL Techniques and documentation", National Computing Centre, England, 1989.
(Lusk, 1980.) E. L. Lusk i R. A. Overbeek, "A DML for Entity- Relationship Models", 1980 vidi (Chen, 1980.).
(Markowitz, 1983. a) V. M. Markowitz i Y. Raz, "ERROL: An Entity- Relationship, Role Oriented, Query Language", vidi (Davis, 1983.).
(Markowitz, 1983.) V. M. Markowitz i Y. Raz, "A Modified Relational Algebra and its Use in an Entity-Relationship Environment", vidi (Davis, 1983.).
(Marti, 1983.) R. W. Marti, "Integrating Database and Program Descriptions Using on ER-Data Dictionary", vidi (Davis, 1983.).
(Martin, 1977.) J. Martin, "Computer Data - Base Organization", Prentice - Hall, New Jersey, 1977.
(Martin, 1985.) J. Martin, "Banka podataka za krajnjeg korisnika" Informatika i društvo, Zagreb, 1985.
(Martin, 1985.) J. Martin, & C. McClure, "Diagramming Techniques for Analysts and Programmers". Englewood Cliffs, NJ: Prentice Hall, Inc., 1985.
(Martin, 1985.) J. Martin, C. McClure, "Action Diagrams: Clearly Structured Program Design”, Prentice Hall, Englewood Cliffs, N.J. 1985.
(Martin, 1986.) J. Martin, "Fourth Generation Languages", Prentice Hall, Vol 1 i Vol 2, 1985.-1986.
(Melkanoff, 1980.) M. A. Melkanoff, C. Zaniolo, "Decomposizion of Relations and Synthesis of Entity Relationship Diagrams", vidi (Chen, 1980.), 1980.
(Mogin, 2000.) P. Mogin, V. Luković, M. Govedarica, "Principi projektovanja baza podataka", Univerzitet u Novom sadu, Novi sad, 2000., p. 699
(Munz, 1980.) R. Munz, "Design of WELLSystem", 1980., vidi (Chen, 1980.).
(Nakata, 1983.) S. Nakata, G. Yamazaki, "A System Based on the E-R Model and its Application to Database-Oriented Tool Generator", 1983., vidi (Davis, 1983.).
(Navathe, 1983.) S. B. Navathe, A. Cheng, "A Methodology for Database Schema Mapping from Extended Entity-Relationship Models into the Hierarchical Model", 1983., vidi (Davis, 1983.).
(Neufeldt, 1991.) V. Neufeldt, D. B. Guralnik, "Webster's New World Dictionary", Prentice Hall, New York, 1991.
(Ng, 1980.) P.A.Ng i J.F. Paul, "A Formal Definition of Entity- Relationship Models", (vidi Chen, 1980.).
(Papp, 1979.) L. Papp, "A konyvviteli informacions rendszer elmeleti kerdesei", Tankonyvkiado, Budapest, 1979.
(Parent, 1985.) C. Parent i S. Spaccapietra, "An Algebra for General Entity-Relationship Model", IEEE Transaction on Software Engineering, Volume SE-11, Number 7, pages 634-643, July 1985.
(Pavlić, 1986.) M. Pavlić, V. Jovanović, P. Dizdarević, Z. Jugo, "Projektiranje informacijskog sustava kalkulacija cijene broda primjenom metode SSA i E-V", III savjetovanje za informatičku djelatnost, Privredna komora Rijeka, Opatija, 1986.
(Pavlić, 1992.) M. Pavlić, "Apstrakcija metodologije modeliranja na području projektiranja informacijskih sustava - doktorski rad", FOI, Varaždin, 1992.
(Pavlić, 1996.) M. Pavlić, "Razvoj informacijskih sustava - projektiranje, praktična iskustva", metodologija, Znak, Zagreb, 1996.
(Sakai, 1980.) H. Sakai, "A Unified Approach to the Logical design of a Hierarcihal Data Model", 1980, vidi (Chen, 1980.).
(Sakai, 1983.) H. Sakai, "Entity-Relationship Approach to Logical Database Design", 1983., vidi (Davis, 1983.).
(Santos, 1980.) C.S. dos Santos, E.J. Neuhold i A.L. Furtado, "A Date Type Approach to the Entity-Relationship Model", (vidi Chan, 1980.).
(Schuldt, 1987.) G. Schuldt, " ER - Based Access Modeling", vidi (Spaccapietra, 1987.).
(Tardieu, 1980.) H. Tardieu, H. Heckenroth, D. Pascot i D. Nanci, "A Method, A Formalism and Tools for Database Design ( Three Years of Experimental Practice)",1980., vidi (Chen, 1980.).
(Tsichritzis, 1982.) D.C. Tsichritzis , F.H. Lochovsky ,"Data Models",Prentice  Hall, 1982.      
(Ursprung, 1983.) P. Ursprung i C.A. Zemnder, "HIQUEL: An Interactive Query Language to Define and Use Hierarchies", (vidi Davis, 1983.).
(Varga, 1994.) Mladen Varga, “Baze podataka - konceptualno, logičko i fizičko modeliranje podataka”, DRIP, Zagreb, 1994.
(Vetter, 1987.) M. Vetter, "Strategy for Data Modelling, Application and Enterprise-wide", John Wiley and sons, Chichester, 1987., p. 344
(Vujnović, 1995.) R. Vujnović, “SQL i relacijski model podataka” , Znak, Zagreb, 1995.
(Wikipedia, 2010.) http://en.wikipedia.org/wiki/Categorization (09.05.2010.)
(Wikipedia, 2010.) Wikipedija: http://en.wikipedia.org/wiki/Peter_Chen, 22.04.2010.
(Wikipedija, 2010.) http://hr.wikipedia.org/wiki/Informacijski_sustavi (19.04.2010.)
(Yao, 1985.) S. Bing Yao, "Principles of Database Design", Prentice - Hall, New Jersey, 1985.
(Yourdon, 1979.) E. Yourdon, L. L. Constantine, "Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design", facsimile edn, Prentice Hall, 1979.

(Zhang, 1983.) Z.Q. Zhang i A.O. Mendelzon, "A Graphical Query Language for Entity-Relationship Databases", 1983., vidi (Davis, 1983.).