593801.ndraskovic-diplomski

68
SVEUČILIŠTE U DUBROVNIKU ODJEL ZA ELEKTROTEHNIKU I RAČUNARSTVO STUDIJ POSLOVNO RAČUNARSTVO Niko Drašković DIPLOMSKI RAD INFORMACIJSKI SUSTAV ZA EVIDENCIJU KOMUNIKACIJSKIH UREĐAJA NA BRODOVIMA Dubrovnik, rujan 2012.

Upload: kulovic-jasmina

Post on 12-Apr-2016

16 views

Category:

Documents


3 download

DESCRIPTION

Dipčomski

TRANSCRIPT

Page 1: 593801.NDraskovic-Diplomski

SVEUČILIŠTE U DUBROVNIKU ODJEL ZA ELEKTROTEHNIKU I RAČUNARSTVO

STUDIJ POSLOVNO RAČUNARSTVO

Niko Drašković

DIPLOMSKI RAD

INFORMACIJSKI SUSTAV ZA EVIDENCIJU KOMUNIKACIJSKIH UREĐAJA NA BRODOVIMA

Dubrovnik, rujan 2012.

Page 2: 593801.NDraskovic-Diplomski

Sadržaj Uvod ....................................................................................................................... 1 

1  Projektiranje informacijskih sustava ................................................................ 2 

1.1  Programsko inženjerstvo ................................................................. 3 

1.1.1  Modeli razvoja informacijskog sustava ...................................... 4 

1.2  Korištene tehnologije ....................................................................... 8 

2  Satelitske komunikacije u pomorstvu .............................................................. 9 

2.1  Inmarsat .......................................................................................... 9 

2.2  Posrednici ...................................................................................... 12 

3  Informatizacija poslovanja ............................................................................. 13 

3.1  Postojeće stanje informatizacije .................................................... 13 

3.2  Trenutni problemi informacijskog sustava ..................................... 13 

3.3  Ciljevi informatizacije ..................................................................... 14 

3.4  Specifikacije zahtjeva .................................................................... 15 

3.4.1  Slučajevi korištenja .................................................................. 15 

3.4.2  Funkcionalni zahtjevi ............................................................... 25 

3.4.3  Nefunkcionalni zahtjevi ............................................................ 28 

3.4.4  Što sustav neće raditi .............................................................. 28 

4  Modeli sustava .............................................................................................. 29 

4.1  Model funkcija ............................................................................... 29 

4.2  Model procesa ............................................................................... 30 

4.2.1  Dijagram konteksta .................................................................. 30 

4.2.2  Pregledni dijagram .................................................................. 32 

4.2.3  Razrada procesa preglednog dijagrama .................................. 34 

5  Modeli podataka ............................................................................................ 36 

5.1  Dijagram entiteti - veze .................................................................. 36 

5.2  Relacijski model baze podataka .................................................... 40 

5.2.1  Upotreba LINQ to SQL-a ......................................................... 40 

6  Dizajn programske podrške ........................................................................... 43 

6.1  Strukturna karta za funkciju aktivacije usluga ................................ 43 

6.2  Dijagram slijeda za proces aktivacije usluga ................................. 44 

Page 3: 593801.NDraskovic-Diplomski

6.3  Dijagrami aktivnosti ....................................................................... 46 

6.4  Dijagram razreda ........................................................................... 48 

7  Izrada sustava ............................................................................................... 52 

7.1  Provjera ispravnosti ....................................................................... 52 

7.2  Upotreba sustava .......................................................................... 53 

7.2.1  Administratorska uporaba sustava .......................................... 53 

7.2.2  Korisnička uporaba sustava .................................................... 54 

7.3  Buduća nadogradnja ..................................................................... 58 

Zaključak .............................................................................................................. 60 

Reference i literatura ............................................................................................ 61 

Sažetak ................................................................................................................ 63 

Summary .............................................................................................................. 63 

Page 4: 593801.NDraskovic-Diplomski

Popis oznaka i kratica

AA Računovodstvene uprave (Accounting Authorities)

BI Poslovna inteligencija (Business Intelligence)

BLL Poslovni sloj sustava (Business Logic Layer)

DAL Podatkovni sloj, sloj pristupa podacima (Data Access Layer)

DLL Dinamički povezujuća biblioteka (Dynamic Link Library)

ER dijagram Dijagram entiteti veze (Entity-Relationship diagram)

GMDSS Globalni pomorski sustav za sigurnost i nuždu (Global Maritime

Distress and Safety System)

IMN Brojevi Inmarsatovih mobilnih terminala (Inmarsat Mobile Number)

IMO Međunarodna pomorska organizacija (International Maritime

Organization)

ISN Serijski broj Inmarsat uređaja (Inmarsat Serial Number)

ISP Pružatelj Inmarsat usluga (Inmarsat Service Provider)

LES Zemaljska postaja (Land Earth Station)

LESO Operator zemaljske postaje (Land Earth Station Operator)

LINQ Tehnologija upita ugrađenih u jezik (Language-integrated Query)

MMSI Identifikator broda u pomorskim komunikacijama (Maritime Mobile

Service Identity)

NCS Stanica za koordinaciju mreže (Network Co-ordination Station)

NOC Centar za mrežne operacije (Network Operations Center)

PSA Točka aktivacije usluge (Point of Service Activation)

SARF Formular zahtjeva za aktivaciju (Service Activation Request Form)

SOLAS Međunarodna konvencija o sigurnosti života na moru (International

Convention for the Safety of Life at Sea)

Page 5: 593801.NDraskovic-Diplomski

SQL Strukturirani jezik upita (Structured Query Language)

SSN Serijski broj SIM kartice (SIM card Serial Number)

SUBP Sustav za upravljanje bazom podataka

UI Prezentacijski sloj, korisničko sučelje (User Interface)

USDP Unificirani proces razvoja softvera (Unified Software Develompent

Process)

WPF Microsoftova tehnologija izrade grafičkih sučelja (Windows

Presentation Foundation)

XAML Jezik za modeliranje aplikacija (XML Application Modelling

Language)

Page 6: 593801.NDraskovic-Diplomski

1

Uvod

Informacijski sustavi imaju potencijal da tvrtkama olakšaju poslovanje,

ubrzaju poslovni proces i da srednjem i gornjem menadžmentu pomognu pri

donošenju odluka. Dobro osmišljeni i dobro realizirani sustavi su obično skupi jer

je potrebno da tim koji izrađuje sustav vrlo dobro poznaje poslovni proces, što je

obično rezultat dugotrajne i detaljne analize poslovanja.

Izrada i održavanje informacijskog sustava osim same cijene nosi sa sobom

i rizik od neuspjeha, bilo nedovršenjem projekta ili lošom realizacijom, što

potencijalno može nanijeti štetu. Zbog toga se informacijski sustavi naručuju samo

onda kada je očekivana dobit puno veća od troška i rizika izrade, pa je izrada

takvih sustava uglavnom isplativa samo većim tvrtkama.

Ako je dio poslovnog sustava koji informacijski sustav modelira dovoljno

jednostavan, onda i male tvrtke mogu imati koristi od izrade takvog informacijskog

sustava ako je cijena dovoljno niska. Ovaj rad opisuje izradu jednog takvog

informacijskog sustava.

Informacijski sustav koji ovaj rad opisuje služi evidenciji komunikacijskih

uređaja na brodovima. Opisana je problematika evidencije, praćenja, aktivacije i

deaktivacije komunikacijskih uređaja kao i postojeće stanje informatizacije te

problemi s kojima se korisnik susreće.

U teorijskom dijelu ovoga rada se govori o načinima izrade informacijskih

sustava s naglaskom na odabrani pristup izrade, te se ukratko opisuju i tehnologije

korištene pri izradi. Navedeni su funkcionalni i nefunkcionalni korisnički zahtjevi, a

sustav je opisan raznim modelima, odnosno dijagramima.

Praktični dio rada uključuje realizaciju informacijskog sustava. Informacijski

sustav je realiziran kao aplikacija izrađena u C# .NET-u, a kao sustav za

upravljanje bazom podataka se koristi SQL Server 2008 R2 Express. Aplikacija,

izvorni kod i popratni dokumenti su dani na CD-u kao dio ovog rada.

Rad uključuje i upute za korištenje sustava s korisničkog stajališta (kreiranje

i izmjena zapisa, aktivacija, deaktivacija i slično) kao i s administratorskog

stajališta (instalacija, postavljanje baze podataka i slično).

Page 7: 593801.NDraskovic-Diplomski

2

1 Projektiranje informacijskih sustava

Informacijski sustav je dio poslovnog sustava koji daje podatkovnu sliku

procesa iz realnog sustava [3], a obično podrazumijeva bilo koju kombinaciju

informacijske tehnologije i ljudskih aktivnosti koja podržava operativni rad,

rukovanje i donošenje odluka u sustavu [4].

Pod pojmom informacijskog sustava najčešće podrazumijevamo one

sustave koji su podržani računalom, iako to mogu biti i sustavi koji se ne oslanjaju

na računala ali obrađuju informacije. Kada govorimo o informacijskim sustavima

podržanim računalom, onda govorimo o uređenju ljudi, podataka, procesa, sučelja,

mreža i tehnologija koji međusobno djeluju sa svrhom podrške i poboljšanja

svakodnevnih poslovnih aktivnosti, kao i podrške rješavanju problema i donošenju

odluka [3].

Informacija u poslovnom sustavu je barem jednako bitna kao i vlasništvo,

ljudski resursi ili kapital neke organizacije [3]. Organizacije posluju na osnovu

raspoloživih informacija - na temelju analize mogu donijeti odluke koje će povećati

uspješnost organizacije i donijeti profit. Informacije im daju sliku trenutnog stanja

organizacije, te su potrebne za obavljanje njihove osnovne poslovne djelatnosti -

nije moguće klijentu isporučiti proizvod dok ne znate njegovu adresu.

Gubitak, neispravnost, nepravovremenost i nedozvoljeni pristup

informacijama mogu uzrokovati velike financijske (kao i pravne) probleme, narušiti

ugled, pa čak i dovesti do propasti organizacije. Informacijski sustavi koji pogrešno

analiziraju informacije i daju pogrešne prijedloge također mogu uzrokovat velike

gubitke. Informacijski sustavi koji ne poboljšavaju obavljanje poslovnog procesa

organizacije su gubitak sami po sebi. Zbog toga je vrlo važno da informacijski

sustavi budu kvalitetni, da funkcioniraju ispravno, i da ispunjaju one ciljeve zbog

kojih su i uvedeni.

Oko 70% informacijskih sustava u svijetu se smatra neuspješnim. U

prosjeku se troškovi i rokovi za izradu sustava prekorače za oko duplo, a oko

trećine projekata se prekine prije dovršenja [6, 13]. Loše planiranje ili projektiranje

novog sustava će gotovo sigurno rezultirati neuspjehom, pa je pri izradi

informacijskih sustava potrebno pristupiti s inženjerskog stajališta.

Page 8: 593801.NDraskovic-Diplomski

3

1.1 Programsko inženjerstvo

Programsko inženjerstvo je primjena sistematskog, discipliniranog,

mjerljivog pristupa razvoju, operativnom radu, i održavanju softvera; odnosno,

primjena inženjeringa na softver [7]. Područje programskog inženjerstva je

sustavna primjena alata i tehnika na čitav proces razvoja programske opreme

(softvera), a sastoji se od planiranja, analiziranja i pobližeg opisivanja

(specifikacije) informacijskog sustava kojeg treba izraditi, arhitekture, dizajna i

izrade programskog rješenja, zatim provjere valjanosti, pisanja dokumentacije,

uvoda u rad te održavanja sustava tijekom rada [5, 23].

U kontekstu programskog inženjerstva se govori o životnom ciklusu razvoja

informacijskog sustava (odnosno, razvojnom procesu [10]), koji definira faze i

aktivnosti koje nužno treba obaviti tijekom razvoja bez obzira na veličinu sustava

koji se gradi [23]. Postoje različiti modeli (pristupi) razvoju informacijskih sustava,

no većina ih ima sve faze, a to su: [24]

• Planiranje:

o Snimka stanja i inicijalna strategija;

o Studija izvodljivosti;

o Planiranje projekta.

• Analiza:

o Analiza zahtjeva;

o Specifikacija zahtjeva.

• Arhitektura i dizajn:

o Dizajn sustava, modeliranje;

o Detaljni dizajn, razrada rješenja.

• Implementacija i testiranje:

o Izrada programskog rješenja;

o Testiranje komponenti;

o Integracija i provjera sustava.

• Uvođenje i održavanje:

o Uvođenje, održavanje, obuka osoblja i potpora.

• Pregled:

o Revizija sustava kada su potrebne veće izmjene.

Page 9: 593801.NDraskovic-Diplomski

4

1.1.1 Modeli razvoja informacijskog sustava

Model razvoja opisuje konkretan razvojni proces kroz nekoliko faza razvoja,

a pojedini modeli su pogodni za rješavanje neke određene vrste problema [23].

Svaki od modela ima svoje prednosti i nedostatke, a na razvojnom timu je da

odluči koji model, ili kombinaciju modela, da primjeni [26].

Generalno, modeli razvoja opisuju slijed prolaska kroz faze razvoja,

aktivnosti koje se obavljaju u pojedinim fazama i njihove rezultate, te uvjete

potrebne za prelazak u sljedeću fazu razvoja.

1.1.1.1 Vodopadni model

Vodopadni model razvoja je najstariji sustavni pristup razvoju softvera, a

smatra se da je nastao u 60-tim godinama 20. stoljeća kao posljedica tada

uobičajenog hardverskog pristupa razvoju gdje su promjene kasnije u razvoju

skupe [24].

Vodopadni model se zasniva na slijednom odvijanju faza razvoja; sljedeća

faza može početi tek kad je prethodna završila, s tim da se teško vratiti na

prethodnu fazu. Ovakav model je primijenjen velikim projektima gdje su zahtjevi

vrlo dobro definirani, i gdje se ne očekuju izmjene [5]. Također ga je moguće

primijeniti u novim sustavima kada razvojni tim ima malo iskustva, a problematika

je koncepcijski dobro objašnjena [24].

Slika 1 - Vodopadni (lijevo) i evolucijski (desno) modeli razvoja

Page 10: 593801.NDraskovic-Diplomski

5

Vodopadni model se ne primjenjuje na projekte koji imaju loše definirane

zahtjeve, odnosno u kojima se očekuju izmjene u zahtjevima. Također se ne

primjenjuje kada se radi evolucija postojećeg sustava, odnosno kada se u razvoju

novog sustava otkrivaju dodatni zahtjevi [24].

Prednosti vodopadnog modela su to što je jednostavan, a pošto se model

zasniva na tomu da se zahtjevi ne mijenjaju, neće doći do problema u kasnijoj

razvojnoj fazi radi dodatnih zahtjeva.

Nedostaci vodopadnog modela su baš u slučaju pogrešaka ili novih

odnosno promijenjenih zahtjeva. Greška pronađena kasno u razvoju je vrlo skupa

za ispraviti, a nepraktičnost povratka na prethodne faze nove zahtjeve čini teškima

za primijenit. Dodatni nedostatak je što sustav nije upotrebljiv dok nije u potpunosti

gotov, a klijentu je teško stvoriti predodžbu o sustavu na temelju pisane

specifikacije [5].

Da bi se uklonili neki od nedostataka klasičnog vodopadnog modela

razvijeni su takozvani pseudostrukturni i radikalni vodopadni modeli, koji

dozvoljavaju povratak u bilo koju od prethodnih faza razvoja i promjenu rezultata

prethodnih faza, kao i obavljanje aktivnosti različitih faza istovremeno [5].

Vodopadni model je odabran kao model izrade sustava opisanog ovim

radom. Razlog tomu je što je problematika koju sustav rješava dobro definirana,

odnosno jer se novi sustav zasniva na dodatnoj informatizaciji postojećeg sustava.

Također, razvojnom timu je ovo prvo pravo iskustvo u izradi informacijskog

sustava pa je vodopadni model korišten radi svoje jednostavnosti.

1.1.1.2 Evolucijski model

Primjena informacijskog sustava mijenja predodžbu korisnika, čije se

potrebe mijenjaju (rastu) tijekom primjene. Evolucijski model se zasniva na izradi

prototipova koji služe provjeri zahtjeva, te se često nakon prikupljanja grubo

definiranih zahtjeva odmah kreće u posao [23].

Evolucijski model razvoja je primjenjiv onda kada zahtjevi nisu dobro

definirani ili kada se očekuje da će se zahtjevi korisnika često mijenjati. Primjenjuje

se za male projekte ili dijelove sustava, kada sustav raste s organizacijom koju

podržava, ili kada se radi o vidljivoj funkcionalnosti (grafičkim sučeljima) [23].

Page 11: 593801.NDraskovic-Diplomski

6

1.1.1.3 Iterativni model

Iterativni model kombinira elemente vodopadnog modela s iterativnim

pristupom evolucijskog modela [24].

Slika 2 - Iterativni model razvoja

Iterativni model u prvoj iteraciji daje jezgreni proizvod, te kroz iteracije

omogućuje stalnu provjeru valjanosti rezultata različitih faza. Koristan je kada je

odnos s naručiteljem fleksibilan, odnosno kada su moguće (i očekivane) promjene

zahtjeva u hodu [23].

1.1.1.4 Spiralni model

Spiralni model kombinira ideju iterativnog razvoja sa sistematskim

pristupom vodopadnog modela [23]. Zasniva se na inkrementalnoj izgradnji

sustava prolaskom kroz spiralu (slika 3).

Kod spiralnog modela je značajno to što se na početku svake faze provodi

procjena rizika; nastoji se utvrditi moguće rizike i razriješiti ih prije nastavka, bilo

ukidanjem ili svođenjem na najmanju moguću mjeru. U slučaju da je rizik prevelik,

projekt se prekida [5]. Spiralni model razvoja ima sve faze kao i vodopadni model

razvoja, s tim da su odvojene planiranjem, procjenom rizika, izgradnjom prototipa i

simulacijom sustava [24].

Spiralni model se većinom koristi kod vrlo velikih projekata kada provođenje

analize rizika ne predstavlja prevelik relativni trošak [23].

Page 12: 593801.NDraskovic-Diplomski

7

Slika 3 - Spiralni model razvoja

1.1.1.5 USDP model

USDP model (Unified Software Development Process) je iterativni model

razvoja koji se dijeli u cikluse, s tim da svaki ciklus isporučuje kompletno rješenje

na određenoj razini detaljnosti [14]. Ciklusi USDP modela su:

1. Početak (engl. inception) - Određuju se ciljevi i opseg projekta,

slučajevi korištenja, ključni zahtjevi, identificiraju se rizici te se daje

procjena trajanja i troška izrade.

2. Razrada (engl. elaboration) - Nastoji se prikupiti većina zahtijeva na

sustav, riješiti poznate rizike, te uspostaviti osnovnu arhitekturu.

3. Izrada (engl. construction) - Rezultat izrade je funkcionalni sustav,

programski kod i sva popratna dokumentacija.

4. Prijelaz (engl. transition) - Završena je izrada sustava, koji se u ovoj

fazi prenosi iz razvojnog u operativno okruženje. U ovoj fazi se

obavlja učitavanje poslovnih podataka, obuka korisnika i slično.

Page 13: 593801.NDraskovic-Diplomski

8

1.1.1.6 Agilni modeli i metode

Agilne metode su razvijene kao reakcija na formalne procese koji

zahtijevaju mnogo dokumentacije prije izrade samog programskog rješenja.

Zasnivaju se na isporuci funkcionalnog programskog koda kroz iterativan proces s

kratkim iteracijama. Naglasak je na osobnom kontaktu između sudionika, te je

potrebna neprekidna uključenost korisnika u rad razvojnog tima [24].

Agilne metode su primjenjive na manje projekte koji nisu kritični a zahtjevi

im se često mijenjaju, i onda kada je razvojni tim sastavljen od manjeg broja

iskusnih programera. Agilne metode nisu primjenjive na velike projekte s većim

brojem ljudi u razvojnom timu, ili kada se razvojni tim ne nalazi na jednom mjestu.

Također nisu primjenjive za kritične sustave koji ne smiju otkazati [23].

1.2 Korištene tehnologije

Tehnologije korištene pri razvoju sustava opisanog ovim radom su:

• .NET framework - Microsoftova implementacija zajedničke jezične

infrastrukture (CLI - Common Language Infrastructure), koja se

sastoji od zajedničke izvršne okoline (Common Language Runtime,

CLR), biblioteka (engl. libraries) i jezika [16].

• C# - Objektno-orijentirani programski jezik koji se izvršava unutar

CLR (engl. managed code).

• LINQ - Skup funkcionalnosti koji proširuju sintaksu .NET jezika

dodajući sposobnosti izvođenja složenih upita nad podacima [21].

• LINQ to SQL - Proširenje nad LINQ-om koje omogućuje upravljanje

podacima relacijske baze podataka putem objekata bez gubitka

sposobnosti postavljanja upita [17].

• SQL Server 2008 R2 - Sustav za upravljanje bazom podataka.

• Windows Presentation Foundation (WPF) - sustav za izgradnju

naprednih grafičkih sučelja pomoću XAML-a, jezika za opisivanje

sučelja zasnovanog na XML-u [20].

• ClickOnce - komponenta Visual Studia (razvojnog okruženja) koja

omogućuje jednostavnu isporuku i instalaciju programskog rješenja,

uz mogućnost automatskog ažuriranja na novu verziju [18].

Page 14: 593801.NDraskovic-Diplomski

9

2 Satelitske komunikacije u pomorstvu

Komunikacijski uređaji na brodovima su potrebni ne samo za komercijalne,

već i za sigurnosne svrhe. Međunarodna pomorska organizacija (International

Maritime Organization - IMO) propisuje međunarodnu konvenciju o sigurnosti

života na moru (International Convention for the Safety of Life at Sea - SOLAS,

1974.) u kojoj stoji da su svi putnički i transportni brodovi teži od 300 tona bruto

obavezni primjenjivati GMDSS (Global Maritime Distress and Safety System) [8].

GMDSS podrazumijeva raznu opremu, propise i procedure sa svrhom poboljšanja

razine sigurnosti na moru, kao i lakšeg spašavanja brodova, brodica i zrakoplova u

nevolji [15].

U GMDSS su uključeni sustavi satelitskog pozicioniranja radio farova u

nuždi (engl. satellite emergency position indicating radio beacons - EPIRB),

transponderi za potragu i spašavanje (engl. search and rescue transponders -

SART) [8], MF, HF i VHF radio primopredajnici koji imaju mogućnost digitalnog

selektivnog pozivanja (engl. Digital Selective Calling - DSC), te Inmarsat sustavi

za satelitsku komunikaciju [15].

Pošto SOLAS putem GMDSS-a neposredno uvjetuje postojanje uređaja za

satelitsku komunikaciju, brodske kompanije koje se bave međunarodnim

prijevozom tereta ili putnika su dužne na svojim brodovima (onima koji su

obuhvaćeni GMDSS-om) imati takve uređaje. Brodovi koji nisu dužni imati takve

uređaje, poput manjih jahti i jedrilica, ih često ipak imaju radi vlastite sigurnosti (a

dijelom i luksuza).

Između brodskih kompanija i davatelja usluga satelitskih komunikacija

posreduje nekoliko različitih vrsta kompanija. Informacijski sustav koji ovaj rad

opisuje je orijentiran Inmarsat satelitskim komunikacijskim rješenjima, pa je

potrebno opisati način na koji Inmarsat obavlja svoje poslovanje.

2.1 Inmarsat

Inmarsat je dugo godina bio sinonim za satelitske komunikacije u

pomorstvu. Proteklih godina se pojavilo mnogo alternativnih komunikacijskih

sustava. Unatoč tomu Inmarsat je i dalje najrasprostranjeniji satelitski sustav čije

se usluge najčešće korisnicima prodaju od strane ISP-ova.

Page 15: 593801.NDraskovic-Diplomski

10

Inmarsat trenutno posjeduje i rukuje s 10 satelita, te nudi razna govorna,

podatkovna i IP satelitska komunikacijska rješenja u pomorstvu, aeronautici i na

kopnu [9]. Inmarsat upravlja svojim satelitima iz svog satelitskog kontrolnog centra

(Satellite Control Center) u Londonu, koji je odgovoran da se sateliti nalaze na

ispravnim pozicijama i da su u funkciji [27].

Komunikacija se obavlja tako da pozivi s Inmarsat mobilnog terminala idu

direktno do nekog od satelita, odakle se preusmjeravaju na jednu od zemaljskih

postaja (engl. Land Earth Station - LES) koja ih zatim prosljeđuje u javnu

telekomunikacijsku mrežu [27].

Slika 4 - Pojednostavljeni Inmarsat sustav

Centar za mrežne operacije (engl. Network Operations Center - NOC)

nadzire i upravlja tokom komunikacija kroz Inmarsatovu komunikacijsku mrežu, a

podupiru ga postaje za mrežnu koordinaciju (engl. network co-ordination stations -

NCS). Postoji po jedan NCS za svaku oceansku regiju te za svaki od Inmarsatovih

sustava, a uloga im je da komuniciraju s operatorima zemaljskih postaja (engl.

Page 16: 593801.NDraskovic-Diplomski

11

Land Earth Station Operators - LESO), ostalim NCS-ovima te s NOC-om u svrhu

raspodjele operacijskih informacija kroz sustav [27].

Prije nego što je moguće koristiti Inmarsatov mobilni terminal za

komunikaciju, potrebno je obaviti proces aktivacije usluge. Aktivacija usluge je

formalni proces registriranja Inmarsatovih terminala, a sastoji se od

administrativne registracije podataka o opremi krajnjeg korisnika, te uključivanja

Inmarsat terminala na Inmarsatov satelitski komunikacijski sustav od strane

LESO-a [12].

Aktivacija usluga na Inmarsat mobilnim terminalima se obavlja putem

takozvanih točaka za aktivaciju usluga (engl. Point of Service Activation - PSA).

PSA je entitet koji na osnovu ugovora s Inmarsatom obavlja aktivaciju te održava

zapise i račune Inmarsatovih mobilnih terminala. Brodske kompanije (direktno ili

posredno) od PSA traže aktivaciju usluga na svojim uređajima putem obrasca za

zahtjev za aktivacijom usluga (engl. Service Activation Request Form - SARF).

PSA se brine da su svi podaci na zahtjevu ispravni, te da podliježu raznim

financijskim, pravnim i ugovornim uvjetima za registraciju, što uključuje nacionalne

i međunarodne propise [12].

Da bi PSA odobrio zahtjev za aktivacijom usluge mora imati potvrdu da je

kompanija dogovorila način plaćanja korištenja usluge putem računovodstvenih

uprava (engl. Accounting Authority - AA) ili davatelja Inmarsatovih usluga (engl.

Inmarsat Service Providers - ISP). AA je organizacija koja se bavi naplatom

komunikacijskih usluga za Inmarsatove terminale, a svrha joj je da radi kao

posrednik između LESO-a i klijenata. ISP je entitet koji ima ugovor s jednim ili više

LESO-a da promovira i prodaje njegove usluge. ISP namijenjen kao alternativa AA

za one terminale koji će se koristiti samo u komercijalne svrhe, a ne u svrhe

sigurnosti ili u slučajevima nužde [12].

Po uspješnoj aktivaciji PSA prosljeđuje klijentu Inmarsat mobilni broj (engl.

Inmarsat Mobile Number - IMN), koji je sličan telefonskom broju u tom što se

putem njega mogu pozivati različiti Inmarsat terminali [12]. Uređaji se deaktiviraju

tako da se PSA proslijedi IMN sa zahtjevom da se deaktivira.

Osim pružanja usluge komunikacije putem svojih LES-a, LESO-i također

imaju pravo onemogućiti pojedinim terminalima pristup Inmarsatovoj

Page 17: 593801.NDraskovic-Diplomski

12

komunikacijskoj mreži, obično u slučaju neplaćanja računa od strane vlasnika

terminala. Osim neplaćanja računa, LESO može blokirati terminale ako korisnici

ne poštuju uvjete korištenja, ako uzrokuju smetnje normalnoj operaciji Inmarsatove

komunikacijske mreže ili u slučaju da je terminal prijavljen kao izgubljen ili

ukraden. Blokiranje komunikacije ne utječe na pozive u nuždi, bez obzira na razlog

blokiranja uređaja [12].

Brodari obično imaju posrednike koji se bave komunikacijskim uređajima, a

informacijski sustav koji ovaj rad opisuje je rađen za jednog takvog posrednika.

2.2 Posrednici

Tvrtka za koju je rađen informacijski sustav opisan ovim radom je privatna

tvrtka koja se bavi posredovanjem između brodskih kompanija (brodara) i pitanja u

pogledu satelitskih komunikacija na brodovima. Brodari obično nemaju vremena

proučavati najnovije tehnologije, pravila i propise u svijetu satelitskih komunikacija,

pa imaju koristi od posrednika koji to rade za njih.

Posrednik svojim klijentima nudi razna savjetovanja u vezi satelitskih

komunikacija, primjerice o preporučenim uređajima (odnosno sustavima) za

pojedine brodove, o preporučenim uslugama i naplatnim tarifama koje će se

koristiti na tim uređajima, zatim preporučuje PSA i AA (odnosno ISP) ovisno o

područjima plovidbe brodova, namjeni korištenja uređaja i slično. Posrednik

također klijentima nudi obuku u vezi satelitskih komunikacija (osnove satelitskih

komunikacija, načini i uvjeti korištenja, pravne napomene, obuka za slučaj nužde i

slično).

U ime, odnosno na zahtjev svojih klijenata, posrednik aktivira i deaktivira

komunikacijske uređaje, te pomaže u slučaju nastanka problema pri radu uređaja,

obavljanju komunikacija i plaćanju usluga.

Page 18: 593801.NDraskovic-Diplomski

13

3 Informatizacija poslovanja

Da bi uspješno obavljala svoje poslovanje, tvrtka drži evidenciju svih bitnih

podataka o svojim klijentima, njihovim uređajima te o raznim procesima (kao što

su aktivacije i deaktivacije usluga na uređajima). Osim podataka o klijentima, vodi

se i evidencija podataka o raznim davateljima usluga (PSA, AA, ISP), kao i o

proizvođačima uređaja te o samim uređajima, odnosno Inmarsat sustavima.

3.1 Postojeće stanje informatizacije

Evidencija podataka o raznim poslovnim objektima se vodi u Microsoft

Excel, Microsoft Word i u PDF dokumentima. Pošto je hijerarhija poslovnih

objekata složena, ponekad je potrebno da se dijelovi istih zapisa nalaze u više

različitih Excel dokumenata istovremeno.

Svo unošenje informacija u Excel dokumente se obavlja ručno, a ti podaci

se po potrebi koriste za izradu Word dokumenata, na primjer pri aktivaciji usluge

SARF-om. Za neke procese, poput aktivacije usluga na uređajima, čuvaju se

pojedinačni zapisi stanja dokumenta u svakoj pojedinoj fazi (obično u PDF

formatu): originalni SARF, SARF potpisan od strane klijenta, SARF potpisan od

strane AA ili ISP, te SARF odobren od strane PSA s odgovarajućim IMN.

Dokumenti se između tvrtke, klijenta, AA/ISP-a i PSA šalju elektroničkom

poštom, a čuvaju se i elektroničke i isprintane verzije. Za neke od bitnijih Excel

dokumenata se također čuvaju isprintane verzije, a sigurnosne kopije podataka se

obavljaju jednostavnim kopiranjem na vanjski uređaj za pohranu, s navedenim

datumom izrade sigurnosne kopije.

3.2 Trenutni problemi informacijskog sustava

Trenutni problem u informacijskom sustavu je što se svi podaci trebaju

unositi ručno u Excel tablice, odnosno Word dokumente. Pri dodavanju zapisa za

pojedini poslovni objekt potrebno je prvo pronaći odgovarajući dokument, zatim

unutar dokumenta pronaći logičku poziciju za taj zapis (često na osnovu nekog

proizvoljnog pravila), te zatim dodati taj novi redak i unijeti odgovarajuće podatke.

Za većinu dodanih zapisa potrebno je proces ponoviti za neki drugi Excel

dokument u kojemu se nalaze povezani zapisi.

Page 19: 593801.NDraskovic-Diplomski

14

Kako se nad zapisima u Excel dokumentima ne vrši normalizacija, ti

dokumenti sadrže mnogo redundantnih podataka. Osim što su podaci redundantni

unutar jednog dokumenta, redundantni su i preko onih dokumenata u kojima se

ponavljaju. Osim što je zbog redundancije unošenje i izmjena zapisa dugotrajan

proces, postoji mogućnost da korisnik zaboravi izmijeniti podatke u nekim od

dokumenata što uzrokuje nekonzistentnost.

Nekonzistentnost se također može pojaviti zbog greške u unosu podataka u

nekom od dokumenata. Excel dokumenti dopuštaju korisniku da unosi kakve god

podatke želi, a na njemu je da zna primijeniti razna poslovna pravila i ograničenja

pri unosu podataka. Ako korisnik sam ne primijeti grešku pri unosu ili narušavanje

nekog pravila, taj zapis će ostati pogrešan. Slično, za proces aktivacije uređaja

korisnik mora popunit SARF tako da pronađe podatke sadržane u više Excel

dokumenata, što je dugotrajan proces tijekom kojeg se znaju događati greške.

3.3 Ciljevi informatizacije

Svrha informacijskog sustava je olakšavanje poslovnog procesa tvrtke tako

da se omogući jednostavna evidencija i obrada poslovnih objekata. Uvođenjem

novog sustava bi se umjesto različitih Excel dokumenata za evidenciju trebala

koristiti jedna aplikacija u kojoj će biti moguće obaviti unose, izmjene i uvid u sve

potrebne zapisa.

Jedan od ciljeva je da se uspostavi sustav u kojem će se podaci za pojedini

entitet unositi na samo jednom mjestu, i to tako da se ne unose redundantni

podaci. To bi trebalo omogućiti brži unos i izmjene zapisa, dok u isto vrijeme

osigurava konzistentnost podataka.

Osim bržeg i efikasnijeg evidentiranja podataka, informacijski sustav bi

trebao olakšati korisniku unos na način da primjenjuje poslovna pravila za

validaciju unesenih vrijednosti. Tako korisnik sustava neće moći unijeti one

vrijednosti koje krše poslovna pravila, što će uvelike smanjiti potencijalne greške

pri unosu.

Novi sustav bi također trebao olakšati pronalaženje zapisa na osnovu

različitih kriterija, te omogućiti korisniku brz i jednostavan pristup svim podacima

koji se vežu na pojedini entitet.

Page 20: 593801.NDraskovic-Diplomski

15

Dodatno, cilj je olakšati korisniku izradu potrebnih dokumenata (u ovom

slučaju SARF dokumenta i popisa IMN-a u scenariju deaktivacije usluge) tako da

se takav proces automatizira. Uz automatizaciju pojedinih procesa, novi sustav bi

trebao omogućiti jednostavan ispis bitnih dokumenata te zapisa odabranih na

osnovu različitih kriterija.

3.4 Specifikacije zahtjeva

Specifikacija zahtjeva je izrađena na osnovu zahtjeva naručitelja,

prikupljene dokumentacije, te analize slučajeva korištenja i dokumenata koji

opisuju dio poslovnog procesa tvrtke. Dokumenti su javno dostupni na stranicama

Inmarsata, a to su upute za aktivaciju [12], SARF [11], te upute za popunjenje

SARF dokumenata [10].

3.4.1 Slučajevi korištenja

Slučajevi korištenja služe opisu funkcionalnosti sustava kroz interakciju

korisnika sa sustavom. Opisuju se grafičkim dijelom (dijagramom slučajeva

korištenja) i tekstualnim djelom (najčešće scenarijima) [22].

Slika 5 - Dijagram slučajeva korištenja

Page 21: 593801.NDraskovic-Diplomski

16

Slučajevi korištenja koriste se tijekom više faza razvoja sustava. U početnim

fazam modeliranja potrebna funkcionalnost se preslikava u funkcionalnost novog

sustava. U kasnijim fazama, scenariji slučajeva korištenja su vrlo efikasan alat za

testiranja kojim se provjerava da li sustav zadovoljava traženu funkcionalnost.

Slika 5 prikazuje najvažnije slučajeve korištenja sustava opisanog u ovom

radu. Pojam "evidencija" u ovom modelu podrazumijeva skup operacija nad

podacima koji uključuje pregled, unos i izmjene podataka. Jednostavnije radnje

poput mogućnosti ispisa podataka i odabira pogleda na podatke (filtriranje i

sortiranje) se podrazumijevaju, pa nisu opisane pojedinačnim slučajevima

korištenja. U nastavku ovog poglavnja opisani su scenariji navedenih slučajeva

korištenja.

3.4.1.1 Scenarij "evidencija kompanija"

Zaposlenik želi unijeti ili izmijeniti podatke za brodsku kompaniju.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• Brodar / klijent - daju svoje podatke posredniku, tako da posrednik

može na zahtjev obavljati pojedine poslove u njihovo ime.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka kompanije.

Uvjeti uspješnog završetka:

• Podaci kompanije sačuvani su u sustavu.

Glavni scenarij:

1. Zaposlenik otvara pregled postojećih kompanija.

2. Zaposlenik pronalazi i bira kompaniju čije podatke želi izmijeniti, ili

bira opciju za unos nove kompanije.

3. Zaposlenik unosi podatke kompanije (naziv kompanije te razne

kontaktne informacije).

4. Zaposlenik bira opciju pohrane podataka kompanije.

Page 22: 593801.NDraskovic-Diplomski

17

5. Sustav pohranjuje podatke kompanije.

6. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedeće kompanije

vraća se na točku 2.

7. Korisnik prekida postupak unosa ili izmjene podataka kompanije.

Alternativni scenarij:

*a) Prilikom rada sustava se dogodila greška.

1. Sustav javlja poruku o grešci.

2. Zaposlenik ispravlja grešku i nastavlja s radom.

*a2a) Korisnik ne može utjecati na nastavak rada.

1. Sustav prekida rad.

4a) Opcija pohrane podataka je onesposobljena.

1. Zaposlenik pregledom podataka pronalazi podatke

označene crveno.

2. Zaposlenik ispravlja greške opisane uz označene

podatke.

3. Nakon ispravka svih greški, zaposlenik se vraća na točku

4 glavnog scenarija.

3.4.1.2 Scenarij "evidencija brodova"

Zaposlenik želi unijeti ili izmijeniti podatke broda.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• Klijent - daje svoje podatke posredniku, tako da posrednik može na

zahtjev obavljati pojedine poslove u njegovo ime.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka broda.

Uvjeti uspješnog završetka:

• Podaci broda sačuvani su u sustavu.

Glavni scenarij:

Page 23: 593801.NDraskovic-Diplomski

18

1. Zaposlenik otvara pregled postojećih brodova.

2. Zaposlenik bira opciju izmjene ili unosa novih podataka brod.

3. Zaposlenik unosi podatke broda (naziv broda, pozivni znak, IMO

broj, MMSI (engl. Maritime Mobile Service Identity), tip broda, vrstu

korištenja broda, bruto tonažu, kapacitet za osobe, zemlju

registracije, luku registracije i zastavu).

4. Zaposlenik bira kompaniju koja je vlasnik broda.

5. Zaposlenik bira opciju pohrane podataka broda.

6. Sustav pohranjuje podatke broda.

7. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedećeg broda vraća

se na točku 2.

8. Korisnik prekida postupak unosa ili izmjene podataka brodova.

Alternativni scenarij (dodatno postoje isti alternativni scenariji kao i kod

evidencije kompanija koji zbog ponavljanja nisu navedeni u ostalim scenarijima):

4a) Kompanija koju zaposlenik želi odabrati nije evidentirana

1. Zaposlenik bira opciju unosa nove kompanije.

2. Zaposlenik ide na točku 3 scenarija evidencije kompanija.

3. Zaposlenik se vraća na točku 5 glavnog scenarija.

3.4.1.3 Scenarij "evidencija uređaja i usluga"

Zaposlenik želi unijeti ili izmijeniti podatke uređaja i usluga.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• Klijent - daje svoje podatke posredniku, tako da posrednik može na

zahtjev obavljati pojedine poslove u njegovo ime.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka uređaja ili

usluga na njima.

Uvjeti uspješnog završetka:

• Podaci uređaja i usluga sačuvani su u sustavu.

Page 24: 593801.NDraskovic-Diplomski

19

Glavni scenarij:

1. Zaposlenik otvara pregled postojećih uređaja ili postojećih usluga.

2. Zaposlenik bira opciju za izmjenu ili unos novih podataka uređaja ili

usluga.

3. Zaposlenik unosi podatke uređaja (razni serijski brojevi, podaci o

instalaciji, odabranom PSA i AA/ISP), odnosno usluge (kod usluge,

broj teleprintera ako je primjenjiv, itd.).

4. Zaposlenik bira model uređaja i brod na kojem je instaliran, ili bira

uređaj na koji se usluga odnosi, kao i vrstu usluge.

5. Zaposlenik bira opciju pohrane podataka uređaja ili usluge.

6. Sustav pohranjuje podatke uređaja ili usluge.

7. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedećeg uređaja ili

usluge vraća se na točku 2.

8. Korisnik prekida postupak unosa ili izmjene podataka uređaja ili

usluge.

Alternativni scenarij:

4a) Brod, model, uređaj ili tip usluge koju zaposlenik želi odabrati

nije evidentirana.

1. Zaposlenik bira opciju unosa novog broda, modela,

uređaja ili tipa usluge.

2. Ovisno o kojem unosu se radi, zaposlenik ide na točku 3

tog scenarija.

3. Zaposlenik se vraća na točku 5 glavnog scenarija.

3.4.1.4 Scenarij "evidencija proizvođača i modela"

Zaposlenik želi unijeti ili izmijeniti podatke proizvođača, odnosno nekog

modela uređaja.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

Page 25: 593801.NDraskovic-Diplomski

20

• Proizvođač - objavljuju svoje podatke kao i podatke o modelima

uređaja koje proizvode, kako bi se ti uređaji mogli promovirati i

prodavati brodskim kompanijama.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka proizvođača ili

modela uređaja.

Uvjeti uspješnog završetka:

• Podaci proizvođača ili modela sačuvani su u sustavu.

Glavni scenarij:

1. Zaposlenik otvara pregled postojećih proizvođača ili modela

2. Zaposlenik pronalazi i bira proizvođača ili model koji želi izmijeniti, ili

bira opciju za unos novog proizvođača ili modela.

3. Zaposlenik unosi podatke proizvođača (naziv kompanije, skraćenicu,

te razne kontaktne informacije) ili modela (naziv modela te Inmarsat

sustav koji koristi).

4. Zaposlenik za model bira proizvođača tog modela.

5. Zaposlenik bira opciju pohrane podataka proizvođača ili modela.

6. Sustav pohranjuje podatke proizvođača ili modela.

7. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedećeg proizvođača

ili modela vraća se na točku 2.

8. Korisnik prekida postupak unosa ili izmjene podataka proizvođača ili

modela.

Alternativni scenarij:

4a) Proizvođač modela nije evidentiran u sustavu

1. Zaposlenik bira opciju unosa novog proizvođača.

2. Zaposlenik ide na točku 2 scenarija evidencije

proizvođača.

3. Zaposlenik se vraća na točku 5 glavnog scenarija.

3.4.1.5 Scenarij "evidencija PSA"

Zaposlenik želi unijeti ili izmijeniti podatke PSA.

Page 26: 593801.NDraskovic-Diplomski

21

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• PSA - objavljuju svoje podatke tako da bi brodari mogli koristiti

njihove usluge.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka PSA.

Uvjeti uspješnog završetka:

• Podaci PSA sačuvani su u sustavu.

Glavni scenarij:

1. Zaposlenik otvara pregled postojećih PSA.

2. Zaposlenik pronalazi i bira PSA za izmijenu, ili unosi novi PSA.

3. Zaposlenik unosi podatke PSA (naziv, broj, te razne kontaktne

informacije).

4. Zaposlenik bira opciju pohrane podataka PSA.

5. Sustav pohranjuje podatke PSA.

6. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedećeg PSA vraća

se na točku 2.

7. Korisnik prekida postupak unosa ili izmjene podataka PSA.

3.4.1.6 Scenarij "evidencija AA / ISP"

Zaposlenik želi unijeti ili izmijeniti podatke AA / ISP.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• AA / ISP - objavljuju svoje podatke tako da bi brodari mogli koristiti

njihove usluge.

Preduvjeti:

• Pojavila se potreba za unosom ili izmjenom podataka AA/ISP.

Page 27: 593801.NDraskovic-Diplomski

22

Uvjeti uspješnog završetka:

• Podaci AA/ISP sačuvani su u sustavu.

Glavni scenarij:

1. Zaposlenik otvara pregled postojećih AA/ISP.

2. Zaposlenik pronalazi i bira AA/ISP za izmijenu, ili unosi novi AA/ISP.

3. Zaposlenik unosi podatke AA/ISP (naziv, kod, te razne kontaktne

informacije).

4. Zaposlenik bira opciju pohrane podataka AA/ISP.

5. Sustav pohranjuje podatke AA/ISP.

6. Ako zaposlenik želi izmijeniti ili unijeti podatke sljedećeg AA/ISP

vraća se na točku 2.

7. Korisnik prekida postupak unosa ili izmjene podataka AA/ISP.

3.4.1.7 Scenarij "aktivacija usluge"

Klijent želi da mu se aktiviraju određene komunikacijske usluge na uređaju.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• Klijent - uređaji koje posjeduje se aktiviraju za komunikaciju.

• PSA - obavlja administrativne procedure vezane uz aktivaciju

uređaja u ime Inmarsata, te dodjeljuje IMN-e.

• AA/ISP - vrše naplatu komunikacije.

Preduvjeti:

• Klijent je zatražio da mu se aktiviraju određene komunikacijske

usluge na uređajima.

Uvjeti uspješnog završetka:

• PSA je potvrdio aktivaciju usluge dodjelom IMN, koji su prosljeđeni

korisniku te pohranjeni u sustavu.

Glavni scenarij:

1. Zaposlenik otvara pregled uređaja.

Page 28: 593801.NDraskovic-Diplomski

23

2. Zaposlenik pronalazi i bira uređaj čije će se usluge aktivirati, te bira

opciju aktivacije uređaja.

3. Zaposlenik bira usluge koje će se aktivirati, te unosi zemlju aktivacije

i ime osobe u čije ime se zahtijeva aktivacija.

4. Zaposlenik bira opciju aktivacije usluga.

5. Sustav odabrane usluge označuje kao usluge koje su u procesu

aktivacije, pohranjuje podatke te generira SARF.

6. Zaposlenik pregledava SARF, te utvrđuje ispravnost podataka.

7. Zaposlenik prosljeđuje SARF klijentu, koji ga potpisuje, čime se slaže

da su podaci ispravni.

8. Klijent prosljeđuje SARF AA/ISP, koji ga potpisuju, čime se slažu da

su pristali vršit proces naplate u ovom slučaju.

9. Klijent vraća potpisani SARF zaposleniku.

10. Zaposlenik prosljeđuje SARF PSA, koji utvrđuje legalnu i

administrativnu ispravnost unesenih podataka.

11. PSA dodjeljuje IMN-e uslugama, upisuje ih u SARF, te ispunjeni

SARF prosljeđuje zaposleniku.

12. Zaposlenik bira opciju unosa IMN-a za usluge u procesu aktivacije.

13. Zaposlenik unosi IMN-e za odgovarajuće usluge, te bira opciju

aktivacije usluga.

14. Sustav označuje usluge kao aktivirane te pohranjuje podatke.

15. Zaposlenik prosljeđuje IMN-e korisniku.

16. Zaposlenik pohranjuje potrebne dokumente, te završava proces

aktivacije.

Alternativni scenarij:

3a) Ne postoji niti jedna usluga koja se može odabrati.

1. Zaposlenik bira opciju za unos nove usluge.

2. Zaposlenik ide na točku 3 scenarija za evidenciju usluga.

3. Zaposlenik se vraća na točku 3 glavnog scenarija.

6a) Zaposlenik utvrđuje da u SARF-u postoji greška.

1. Zaposlenik u popisu usluga koje čekaju aktivaciju

pronalazi usluge koje su se koristile u ovoj aktivaciji.

Page 29: 593801.NDraskovic-Diplomski

24

2. Zaposlenik za svaku uslugu bira opciju poništavanja

aktivacije.

3. Zaposlenik identificira zapise koji sadrže greške, te ih u

sustavu pronalazi i ažurira.

4. Zaposlenik se vraća na točku 1 glavnog scenarija.

*b) Klijent ili PSA su ustvrdili da podaci u SARF-u nisu ispravni.

5. Klijent ili PSA obavještavaju zaposlenika o greškama.

6. Zaposlenik ide na točku 1 alternativnog scenarija 6a.

3.4.1.8 Scenarij "deaktivacija usluge"

Klijent želi da mu se deaktiviraju određeni uređaji.

Glavni sudionik:

• Zaposlenik (posrednik).

Ostali sudionici i njihovi interesi:

• Klijent - uređaji koje posjeduje se deaktiviraju.

• PSA - obavlja administrativne procedure vezane uz deaktivaciju

uređaja, te obavještava AA / ISP o prestanku rada (naplate) usluge.

Preduvjeti:

• Klijent je zatražio da mu se deaktiviraju određeni uređaji.

Uvjeti uspješnog završetka:

• PSA je potvrdio deaktivaciju uređaja.

Glavni scenarij:

1. Zaposlenik otvara pregled uređaja.

2. Zaposlenik pronalazi i bira uređaj za deaktivaciju, te bira opciju

deaktivacije uređaja.

3. Zaposlenik potvrđuje deaktivaciju uređaja.

4. Sustav ispisuje popis IMN-a za deaktivaciju.

5. Zaposlenik prosljeđuje IMN-a PSA.

6. PSA potvrđuje deaktivaciju navedenih brojeva.

7. Zaposlenik obavještava klijenta o uspješnoj deaktivaciji te pohranjuje

potrebnu dokumentaciju.

Page 30: 593801.NDraskovic-Diplomski

25

3.4.2 Funkcionalni zahtjevi

Funkcionalni zahtjevi opisuju što bi sustav trebao raditi. Navedeni zahtjevi

su većinom izvedeni iz zatjeva naručitelja, dok je dio postavljen na osnovu

strukovnog znanja, odnosno iskustva. Većina ovih zahtijeva je realizirana u

trenutnoj verziji sustava.

Funkcionalni zahtjevi su:

• Omogućiti unos i izmjene podataka za sljedeće kategorije:

o Brodske kompanije;

o Brodove u posjedu tih kompanija;

o Uređaje za satelitsku komunikaciju na tim brodovima;

o Aktivirane i deaktivirane usluge za komunikaciju;

o PSA entitete;

o AA entitete;

o ISP entitete;

o Proizvođače uređaja za satelitsku komunikaciju;

o Modele uređaja za satelitsku komunikaciju.

• Za kategorije zapisa koji su niže u logičkoj hijerarhiji omogućiti odabir

zapisa koji je iznad njega. Primjerice da bi se navela kompanija u

zapisu broda, trebalo bi moći odabrati postojeću kompaniju (s njenim

podacima). Prilikom odabira zapisa koji je iznad u hijerarhiji potrebno

je, u slučaju da ne postoji, omogućiti stvaranje takvog zapisa bez

odbacivanja unesenih podataka za trenutni zapis.

• Omogućiti opširno vođenje kontaktnih podataka za one kategorije

zapisa za koje je to relevantno, a to uključuje:

o Adresne informacije (ulica i broj, grad, regija, ZIP, zemlja);

o Broj telefona (poslovni, osobni i za slučaj nužde);

o Broj telefaksa;

o Adresu elektroničke pošte (e-mail);

o Internetsko sjedište (website);

o Različite podatke za operativna pitanja, pitanja naplate usluga

i za slučajeve nužde, tamo gdje je to primjenjivo.

Page 31: 593801.NDraskovic-Diplomski

26

• Pri izmjeni zapisa potrebno je čuvati sve verzije starih podataka s

datumima kada su promjene nastale, te primijeniti jednostavan način

prepoznavanja dijelova zapisa koji su izmijenjeni. Zahtjev trenutno

nije ispunjen jer se povijesni zapisi tiču ne tiču operativnog dijela

sustava već analitičkog, odnosno to su podaci koji ne spadaju u

transakcijsku bazu podataka već u skladište podataka.

• Na unos i izmjene podataka je potrebno primjenjivati poslovna

pravila, te u što većoj mjeri onemogućiti unos neispravnih ili

nepotpunih podataka.

o Ako je unos određenog podatka za neki zapis obavezan,

korisniku će na jasan način biti naznačeno polje za unos tog

podatka.

o Ako se za neke podatke zna kakav im treba biti oblik, korisnik

će u slučaju pogrešnog unosa biti obaviješten na koji način

može tu grešku ispraviti, odnosno koji je očekivani oblik

podatka koji se u to polje unosi.

o Korisnik neće moći pohraniti zapis ako postoji prepoznata

greška u nekom od polja unosa.

• Omogućiti jednostavan pregled podataka, i to:

o Prikazati podatke odabrane kategorije u tabličnom prikazu;

o Za odabrani pojedini zapis prikazati detaljne informacije.

• Omogućiti brz ugnježđen pristup nižim razinama podataka, primjerice

odabirom pojedine kompanije u tablici kompanija bi se trebalo brzo i

jednostavno moći prikazati tablica sa svim brodovima koje ta

kompanija posjeduje. Trenutno nije primijenjeno zbog previda.

• Omogućiti filtriranje tablica zapisa određene kategorije na osnovu

bilo kojeg podatka koji je direktno ili hijerarhijski vezan uz taj zapis.

Filtriranje bi trebalo omogućiti po više kriterija istovremeno, i to uz

odabir kriterija usporedbe (npr. jednako, veće, manje, slično itd.).

• Za bilo koju kategoriju zapisa omogućiti odabir podataka koji će se

prikazati u tablici. Podaci koji će se prikazivati se trebaju moći

izabrati iz trenutne ili hijerarhijski nadređene kategorije zapisa, te se

trebaju moći proizvoljno poredati.

Page 32: 593801.NDraskovic-Diplomski

27

• Zapisi prikazani u tablicama bi se trebali moći poredati (sortirati) po

različitim kriterijima, na osnovu bilo kojih podataka koji su direktno ili

hijerarhijski vezani uz kategoriju zapisa koji se prikazuju. Uzlazni ili

silazni način sortiranja se bira na razini podatka.

• Zapise u tablicama bi trebalo prikazivati djelomično, odnosno na više

stranica onda kada je prikazan veći broj zapisa. Stranicama

podataka bi trebalo moći pristupati slijedno, te na osnovu odabira

stranice. Trebalo bi biti naznačeno koliko stranica podataka trenutno

ima (prilikom pregleda pojedinih tablica), te koliko je ukupno zapisa

(na osnovu trenutnog pogleda, odnosno filtera).

• Tablice bi trebalo moći ispisati, i to s onim podacima koji su trenutno

prikazani. Širine pojedinih stupaca u tablici bi trebale biti

proporcionalne širinama stupaca na tiskanoj verziji, s tim da treba

postojati mogućnost izmjene širine stupaca. Prije ispisa podataka

omogućiti pregled dokumenta za ispis (engl. print preview).

• Omogućiti automatsko ispunjavanje SARF dokumenta pri aktivaciji,

te popisa IMN-a pri deaktivaciji uređaja.

o Pristup generiranju SARF-a pri aktivaciji, te popisa IMN-a pri

deaktivaciji se obavlja nad postojećim uređajima.

o SARF dokumenti i popisi IMN-a se moraju moći ispisati.

o Prije ispisa korisnik mora moći pregledati podatke, te u slučaju

grešaka otkazati ispis te proces ponoviti nakon ispravke

grešaka.

o Nakon aktivacije odnosno deaktivacije uređaja potrebno je

moći vratiti uređaj u prethodno stanje, odnosno poništiti

procese.

• Omogućiti pregled usluga koje su u procesu aktivacije, odnosno koje

čekaju unos IMN-a, te osigurati brz pristup takvim uslugama za

unošenje odgovarajućih IMN-a.

• Potrebno je moći označiti zastarjele zapise (za primjer, deaktivirane

uređaje) tako da se takvi ne prikazuju u tablicama. Unatoč oznaci

zastarjelosti, potrebno je moći na zahtjev pregledati i takve zapise.

Omogućiti i brisanje podataka za slučaj greške ili testiranja.

Page 33: 593801.NDraskovic-Diplomski

28

3.4.3 Nefunkcionalni zahtjevi

Nefunkcionalni zahtjevi za razliku od funkcionalnih ne opisuju što će sustav

raditi, već kakav će sustav biti. To su uglavnom oni zahtjevi koji se ne tiču cilja

zbog kojeg se uvodi sustav, već koji se tiču samog sustava.

• Omogućiti izradu sigurnosne kopije podataka instalacijom alata za

izradu sigurnosnih kopija, ili postavljanjem datoteke baze podataka

na dostupnu lokaciju.

• Omogućiti konzistentan način rada sa sustavom u svrhu olakšanja

korištenja. Ekrani sustava bi se trebali moći upotrebljavati na sličan

način kroz cijeli sustav.

• Sustav bi se trebao moći jednostavno instalirati i deinstalirati od

strane korisnika, uz odgovarajuće upute. Dodatno, sustav bi se

trebao moći instalirati na postojeću opremu naručitelja.

• Sustav bi se u budućnosti trebao moći nadograditi eventualnim

dodatnim funkcionalnostima, te bi trebao imati mehanizam za

održavanje i nadogradnju kao što je mogućnost automatskog

ažuriranja na novu verziju putem interneta.

• Sustav bi trebao sadržavati upute za rad, s korisničke kao i s

administratorske perspektive.

3.4.4 Što sustav neće raditi

U svrhu bržeg i jeftinijeg razvoja potrebno je navesti funkcionalnosti koje

neće biti primijenjene u trenutnoj verziji sustava [25]. Odluke o tomu što se neće

primijeniti se postižu u dogovoru s naručiteljem.

• Sustav neće imati mehanizam za prijavu korisnika u sustav, odnosno

mehanizme autentikacije i autorizacije.

• Sustav neće podržavati višekorisnički distribuirani rad. Ipak, zbog

mogućih nadogradnji u budućnosti, potrebno je sustav napraviti tako

da se prijava na sustav i višekorisnički rad mogu relativno

jednostavno implementirati, primjerice upotrebom višeslojne

arhitekture sustava.

• Sustav neće imati podsustav poslovne inteligencije.

Page 34: 593801.NDraskovic-Diplomski

29

4 Modeli sustava

Modelima sustava opisujemo dijelove sustava da bismo mogli donijeti

odluke o tome kako ga izgraditi. Pomoću njih preciziramo doseg projekta, a

pomažu pri razumijevanju problema i usuglašavanju percepcije sustava i stavova

između sudionika (korisnika i informatičara) [5].

4.1 Model funkcija

Modeliranje funkcija obavljeno je pomoću dijagrama dekompozicije funkcija.

Na dijagramu prikazanom na slici 6 predstavljeni su osnovni podsustavi i osnovne

poslovne funkcije informacijskog sustava.

Slika 6 - Dijagram dekompozicije funkcija

Page 35: 593801.NDraskovic-Diplomski

30

Poslovni proces modeliran sustavom se može podijeliti na dvije funkcije:

upravljanje zapisima i registracija usluga.

Funkcija upravljanja zapisima se odnosi na vođenje evidencije o raznim

poslovnim objektima. Postoje tri podfunkcije upravljanja zapisima: zapisi klijenta,

zapisi davatelja usluga i zapisi tipova i poslovnih objekata.

Funkcija zapisa klijenta se odnosi na evidenciju onih zapisa koji se tiču

klijenta, a to su zapisi o kompanijama (klijentima), brodovima, uređajima i

uslugama koje se koriste na uređajima. Funkcija zapisa davatelja usluga se odnosi

na zapise PSA, AA ili ISP i proizvođača uređaja. Funkcija zapisa modela i tipova

usluga se odnosi na matične zapise modela, tipova usluga, kao i razni zapisi poput

načina upotrebe brodova, ili korištenog Inmarsat sustava. Ovi zapisi se većinom

sastoje od jedne ili dvije stavke, te se u načelu rijetko mijenjaju.

Funkcija registracije usluga se odnosi na dio sustava koji se bavi

aktivacijom i deaktivacijom usluga na uređajima. Dijeli se na podfunkciju aktivacije

usluga i podfunkciju deaktivacije usluga.

Funkcija aktivacije usluga se odnosi na odabir uređaja, odnosno usluga na

tim uređajima za koje će se tražiti aktivacija, generiranje SARF dokumenta, te

unošenje IMN-a za usluge nakon uspješne aktivacije. Funkcija deaktivacije usluga

se odnosi na odabir usluga za deaktivaciju, te generiranje dokumenta s popisom

IMN-a usluga za koje će se tražiti deaktivacija.

4.2 Model procesa

Modelom procesa prikazujemo način na koji tvrtka kao proces komunicira s

vanjskim entitetima i spremištima podataka. Model procesa se modelira

dijagramom toka podataka, odnosno predstavljen je kroz skupove podataka koji se

kreću kroz sustav [5].

4.2.1 Dijagram konteksta

Dijagram konteksta (slika 7) prikazuje entitete s kojima tvrtka kao proces

komunicira, kao i značajne tokove informacija, odnosno materijala. Dijagram

konteksta prikazuje sustav na najvišoj razini, te definira okruženje sustava i

Page 36: 593801.NDraskovic-Diplomski

31

područje analize [5]. Sustav je prikazan kao proces P0. Tokovi informacija su

označeni punim, a tokovi materijala iscrtkanim strelicama.

U poslovnom procesu tvrtke sudjeluje 5 vanjskih entiteta:

• AA / ISP (engl. Accounting Autority / Inmarsat Service Provider);

• Proizvođači uređaja;

• Brodske kompanije;

• Klijenti;

• PSA (engl. Point of Service Activation).

Tvrtka posluje tako da prikuplja informacije od raznih entiteta, te koristi

informacije za pružanje usluga klijentu.

Slika 7 - Dijagram konteksta

Page 37: 593801.NDraskovic-Diplomski

32

Brodske kompanije na početku suradnje daju posredniku potrebne podatke

o sebi te postaju klijenti. Kao klijenti, kompanije traže usluge aktivacije ili

deaktivacije uređaja, pri čemu trebaju dati podatke o brodu na kojemu se uređaj

nalazi, o samom uređaju, te podatke o uslugama koje žele aktivirati ili deaktivirati

na uređaju.

Proizvođači daju informacije o modelima uređaja (mogućnosti uređaja, koje

usluge i Inmarsat sustave podržava i slično), računovodstvene uprave (AA / ISP)

daju informacije potrebne za naplatu usluge klijentu, a PSA daje informacije

potrebne za aktiviranje odnosno deaktiviranje usluga. Uz to, PSA je zadužen za

samu aktivaciju i deaktivaciju usluga na uređajima, odnosno provjeru dali je

podneseni SARF ispravno popunjen te dali su dane informacije u skladu s

važećim pravnim propisima. Po uspješnoj aktivaciji usluga, PSA je zadužen za

raspodjelu IMN-a: brojeva potrebnih za obavljanje komunikacije.

4.2.2 Pregledni dijagram

Pregledni dijagram (slika 8) detaljnije prikazuje poslovni proces tvrtke tako

što prikazuje tokove podataka i materijala između značajnih procesa, vanjskih

entiteta i skladišta podataka.

Na dijagramu je prikazano 8 procesa i 11 skladišta podataka. Procesi se

odnose na vođenje evidencije o poslovnim objektima i subjektima, te na pružanje

usluge aktivacije i deaktivacije uređaja, odnosno komunikacijskih usluga. Procesi

P1, P4, P5, P6, P7 i P8 su slični u tomu što se odnose na prikupljanje podataka o

raznim poslovnim objektima i subjektima, i na spremanje (evidentiranje) tih

podataka u raznim skladištima podataka.

Proces P2 je najznačajniji proces, a odnosi se na prikupljanje dostupnih

podataka o poslovnim objektima i subjektima, izradu aktivacijskog obrasca

(SARF), prosljeđivanje obrasca klijentu zatim PSA za aktivaciju, zatim zaprimanje,

evidenciju i prosljeđivanje aktiviranih IMN-a klijentu, te naposljetku arhiviranje

dokumentacije. Valja napomenuti da arhiviranje dokumentacije nije direktno

obuhvaćeno informacijskim sustavom; korisnik se brine o tomu da su dokumenti

generirani aplikacijom spremljeni na odgovarajuću lokaciju.

Page 38: 593801.NDraskovic-Diplomski

33

Proces P3 je sličan procesu P2, s razlikom što je potrebno manje podataka;

PSA već ima potrebne podatke koji se vežu na aktivirane usluge, pa je bitno

poslati samo IMN-e koji će se deaktivirati. Slično kao i kod procesa P2, korisnik se

brine o arhiviranju potrebne dokumentacije.

Slika 8 - Pregledni dijagram

Page 39: 593801.NDraskovic-Diplomski

34

4.2.3 Razrada procesa preglednog dijagrama

Na sljedećim dijagramima (slika 9 i slika 10) su razrađena dva procesa

preglednog dijagrama. Pošto su procesi evidentiranja raznih poslovnih objekata

slični, izrađen je samo jedan dijagram procesa evidentiranja, P5, koji je

reprezentativan za tu vrstu procesa. Drugi dijagram se odnosi na proces aktivacije

usluga na uređajima, P2.

4.2.3.1 Razrada procesa P5 - Evidencija uređaja i usluga

U procesu evidencije uređaja i usluga (slika 9), klijent daje informacije o

uređajima i uslugama koje želi dodati ili izmijeniti. Proces započinje provjerom je li

taj uređaj već evidentiran. Ako je uređaj evidentiran podaci se ažuriraju novim

podacima, a ako nije onda se dodaju podaci za novi uređaj.

Podaci koji su potrebni za evidenciju uređaja su i podatak o brodu na kojem

se uređaj nalazi, podatak o modelu uređaja, o Inmarsat sistemu koji koristi, kao i

podaci o odabranom AA / ISP, i PSA-u koji će se koristiti za aktivaciju usluga na

tom uređaju. Nakon evidentiranja uređaja na sličan način se evidentiraju (dodaju ili

izmjenjuju) i usluge koje će se na tom uređaju koristiti.

Slika 9 - Dijagram procesa evidencije uređaja i usluga

Page 40: 593801.NDraskovic-Diplomski

35

4.2.3.2 Razrada procesa P2 - Aktivacija usluga

Proces aktivacije usluga (slika 10) započinje odabirom uređaja čije se

usluge žele aktivirati, a zatim se u listi raspoloživih usluga biraju usluge koje će biti

aktivirane. Obično se odaberu sve raspoložive neaktivirane usluge. Nakon odabira

uređaja i usluga, generira se SARF dokument. Podaci koji se koriste u generiranju

SARF dokumenta su podaci o kompaniji, brodu, uređaju i odabranim uslugama,

zatim o modelu uređaja, proizvođaču i Inmarsat sistemu koji uređaj koristi, tipu

usluge za odabrane usluge, te podaci o odabranom AA / ISP, kao i o PSA kod

kojeg će se usluge aktivirati.

Po izradi, SARF dokument se šalje klijentu na potpisivanje. Nakon što

klijent vrati potpisani SARF, jedna kopija se evidentira, a druga se šalje PSA na

aktivaciju. Po uspješnoj aktivaciji, PSA kao povratnu informaciju šalje aktivirane

brojeve usluga (IMN), koji se evidentiraju i prosljeđuju klijentu.

Slika 10 - Dijagram procesa aktivacije usluga

Page 41: 593801.NDraskovic-Diplomski

36

5 Modeli podataka

Modeliranje podataka je tehnika organiziranja i dokumentiranja podataka

sustava, a vrlo je bitna jer su strukture podataka i njihova svojstva trajniji i stabilniji

od procesa. Podaci su resurs koji se dijeli između većeg broja procesa i zbog toga

moraju biti organizirani na način koji je prilagodljiv poslovnim zahtjevima [5].

Modeli podataka su korisni za komunikaciju s korisnicima i utvrđivanje

nazivlja, kao i za lakše određivanje dosega projekta [5]. U ovom radu podatke

modeliramo pomoću dijagrama entiteti-veze i relacijskog modela baze podataka.

5.1 Dijagram entiteti - veze

Dijagram entiteti veze (engl. entity-relationship, ER diagram) je

specijalizirani dijagram koji služi opisivanju odnosa između entiteta u bazi

podataka [1]. Entitet predstavlja nešto što postoji u stvarnom svijetu i posjeduje

značajke koje ga opisuju i po kojima se razlikuje od svoje okoline. Veze pokazuju

odnos između entiteta, a može izražavati i ulogu entiteta koji povezuje. ER

dijagram također može sadržavati i atribute koji predstavljaju neka obilježja ili

značajke entiteta, kao i ključeve koji predstavljaju atribute koji jednoznačno

identificiraju entitete [5].

Slika 11 prikazuje dijagram entiteti-veze sustava opisanog u ovom radu.

Dijagram je prikazan Chenovom notacijom [1]. Entiteti su označeni kvadratima,

dok su veze označene dijamantima. Poduplani kvadrati označuju takozvane "slabe

entitete": entitete koji ne mogu postojati nezavisno od nekih drugih entiteta. Na

primjer, brod ne može biti evidentiran u sustavu ako nije evidentirana kompanija

koja je vlasnik tog broda.

Na dijagramu su označene i kardinalnosti veza. Na primjer, oznaka "1, 1 - 0,

N" između kompanije i broda znači da za pojedinu kompaniju može biti vezano

nula ili više brodova, dok za pojedini brod mora biti vezana točno jedna kompanija.

Dijagram također pokazuje da neki entiteti, kao što je kontakt, mogu imati

više uloga. Kontakt ima vezu s čak 4 druga entiteta, dok s entitetom kompanija

ima dvije veze koje predstavljaju dvije različite uloge - operacijski kontakt i

sigurnosni kontakt.

Page 42: 593801.NDraskovic-Diplomski

37

Na dijagramu radi razumljivosti nisu prikazani atributi koji se vežu na

entitete. Sami atributi (odnosno polja) i ključevi entiteta su prikazani relacijskim

modelom baze podataka (slika 12).

Slika 11 - Dijagram entiteti-veze

Page 43: 593801.NDraskovic-Diplomski

38

Pošto je jedan od ciljeva izrade modela podataka utvrđivanje nazivlja u

svrhu lakše komunikacije s korisnicima, za pojedine entitete je potrebno ukratko

opisati njihove atribute, odnosno podatke koji se u njima evidentiraju. Podaci koji

se evidentiraju entitetom kompanije su:

• Naziv kompanije;

• Operacijski kontakt;

• Kontakt za slučaj nužde;

• Kontakt za naplatu.

Podaci koji se evidentiraju entitetom broda:

• Naziv broda;

• Kompanija koja je vlasnik broda;

• Pozivni znak;

• IMO broj;

• MMSI;

• Tip broda;

• Način upotrebe broda;

• Bruto tonaža;

• Kapacitet osoba;

• Informacije o registraciji broda ako je registriran:

o Zemlja registracije;

o Luka registracije;

o Zastava.

Podaci koji se evidentiraju entitetom uređaja:

• Brod na kojem je uređaj instaliran;

• Model uređaja;

• ISN (Inmarsat serial number) za uređaje koji ne koriste SIM;

• SSN (SIM card serial number) za uređaje koji koriste SIM;

• PSA;

• AA (Accounting Authority) ili ISP (Inmarsat Service Provider);

• Informacija o tomu dali je uređaj dio GMDSS instalacije;

• Za uređaje koji nisu primarni uređaji, ISN primarnog uređaja;

Page 44: 593801.NDraskovic-Diplomski

39

• Dodatni serijski brojevi za uređaje koji ih podržavaju;

• Datum zadnje aktivacije, deaktivacije i podatak je li uređaj trenutno

aktiviran.

Podaci koji se evidentiraju entitetom usluge:

• Uređaj za koji je zapis evidentiran;

• Tip usluge;

• Kod usluge ako postoji;

• Telex answerback - broj teleprintera, ako je podržan;

• Informacije o aktivaciji:

o Datum aktivacije;

o IMN (Inmarsat Mobile Number).

Podaci koji se evidentiraju entitetima proizvođača uređaja, AA / ISP i PSA

su slični, a odnose se na:

• Naziv PSA, AA, ISP ili proizvođača;

• PSA broj, AA / ISP kod ili skraćeni naziv proizvođača;

• Kontaktne informacije.

Podaci koji se evidentiraju entitetima modela su:

• Naziv modela;

• Proizvođač modela;

• Inmarsat sistem koji model koristi.

Podaci koji se evidentiraju entitetima Inmarsat sistema, tipovima usluga i

načinima upotrebe broda su matični zapisi koji se sastoje od podatka o nazivu i

skraćenici naziva.

Entiteti kontakt i adresa sadrže razne kontaktne podatke, poput brojeva

telefona, telefaksa, adrese elektroničke pošte, internetskog sjedišta (website),

adresne informacije i slično.

Za svaki od entiteta se također vodi i informacija o tomu dali je taj entitet

povijesni zapis (ako entitet ima oznaku povijesnog zapisa, onda se trenutno ne

koristi te nije prikazan u popisima), a dodatno se vodi i bilješka u koju korisnik

može upisati razne napomene.

Page 45: 593801.NDraskovic-Diplomski

40

5.2 Relacijski model baze podataka

Relacijski model baze podataka (slika 12) prikazuje logičku raspodjelu

podataka u bazi podataka, prilagođenih za postavljanje upita i manipulaciju putem

sustava za upravljanje bazom podataka (SUBP) [2]. Nazivi tablica i atributa su radi

razumljivosti prevedeni s engleskog (jezika implementacije) na hrvatski.

Relacijski model podataka je normaliziran do 3. normalne forme, zatim

djelomično denormaliziran u svrhu jednostavnosti upravljanja. Normalizacija je

postupak strukturiranja sheme relacijske baze podataka tako da se ukloni što više

neodređenosti (zalihosti). Postoji pet stupnjeva normalizacije kroz takozvane

"normalne forme", od 1NF do 5NF, no većina dizajnera se zaustavlja na 3NF [5].

1NF se zasniva na tomu da nema ponavljajućih grupa, odnosno da je

definiran primarni ključ [5]. Model je normaliziran na 1NF tako što su se

ponavljajuće grupe izdvojile u zasebne tablice. Na primjer, tablica uređaja ne

sadrži ponavljajuće podatke o imenu i pozivnom znaku broda - podaci o brodu su

izdvojeni u zasebnu tablicu.

2NF se zasniva na tomu da su svi neključni atributi u potpunosti zavisni o

čitavom primarnom ključu. Pošto su svi primarni ključevi modela jednodijelni, 2NF

nije primjenljiva. 3NF se zasniva na tomu da je svaki neključni atribut neposredno

zavisan samo o primarnom ključu [5]. Model je normaliziran na 3NF tako što su se

atributi koji su bili zavisni o drugim neključnim atributima izdvojili u zasebne

tablice. Na primjer, tablica modela je sadržavala podatke o nazivu Inmarsat

sistema i skraćenoj verziji naziva Inmarsat sistema, koji su zbog 3NF izdvojeni u

zasebnu tablicu.

Denormalizacija je vršena u pogledu na primarne ključeve tablica, gdje su

uvedeni surogatni ključevi sa samopovećavajućim vrijednostima.

5.2.1 Upotreba LINQ to SQL-a

Tradicionalno, za pristup podacima putem SUBP-a se koristi strukturirani

upitni jezik (SQL) ili pohranjene procedure (engl. stored procedures). SQL je jezik

četvrte generacije (4GL) specifično izrađen za učinkovito korištenje SUBP-a.

SUBP vrši složenu optimizaciju upita prilikom dohvata podataka SQL naredbom,

čime ubrzava vrijeme dohvata podataka, pa se upiti pisani SQL-om mogu izvoditi

Page 46: 593801.NDraskovic-Diplomski

41

5-20 puta brže od odgovarajućih upita napisanih u nekom od jezika treće

generacije (poput C, C++) [5].

Slika 12 - Relacijski model baze podataka

Page 47: 593801.NDraskovic-Diplomski

42

Zbog fleksibilnosti postavljanja upita nad podacima, mogućnosti SUBP-a da

optimizira upite, i zbog cijene prijenosa podataka između aplikacije i SUBP-a, pri

pristupu i manipulaciji podacima se nastoji što više posla prepustiti SUBP-u. Tako

aplikacije često u svrhu performansi dio logike sustava kodiraju u SQL-u, bilo u

pohranjenim procedurama ili u dinamički izgrađenim upitima. No, problem s tako

pisanim kodom je to što je često teži za održavati nego kod pisan u programskom

jeziku 3. generacije, te nema koristi od raznih pogodnosti i alata razvojnih

okruženja poput automatskog popunjenja (npr. IntelliSense), provjere tipova

podataka (za jezike poput C#), debugiranja i slično.

LINQ to SQL, dio .NET-a 3.5, je napravljen u svrhu upravljanja relacijskim

podacima putem objekata, bez gubitka mogućnosti postavljanja upita. Zasnovan je

na tomu da se upiti pisani LINQ-om prevode u SQL za izvođenje u bazi podataka,

a rezultate upita prevodi u objekte [17]. Infrastruktura LINQ-a omogućuje

dinamičku izgradnju složenih upita, koristeći sve pogodnosti Visual Studio

razvojnog okruženja. Kako su i sami LINQ upiti zapravo podaci, moguće ih je

modularno graditi kroz više metoda, te je moguće različite dijelove logike upita

pisati u drugim slojevima sustava, primjerice u poslovnom sloju.

Pristup podacima u LINQ to SQL-u se obavlja na objektno-orijentirani način

putem objekata mapiranih na relacijsku bazu podataka. Umjesto stranim

ključevima objekti su povezani referencama, pa pojedini objekti mogu sadržavati

kolekcije drugih objekata, čineći takozvani "graf objekata" (engl. object graph).

Pošto graf objekata može biti velik, LINQ to SQL obavlja odgođeno učitavanje

(engl. deferred loading) - učitava podatke (obavlja dodatne upite) samo onda kada

su zatraženi. Dodatno, kako se LINQ izrazi prevode u SQL, moguće ga je koristiti

s različitim SUBP-ima bez potrebe za prilagodbu koda upita [28].

Implementacija ovog sustava koristi LINQ to SQL za obavljanje složenih

upita na bazu. Dio zahtjeva na sustav je da se podaci mogu filtrirati i sortirati po

bilo kojim povezanim kriterijima, da se prikazuju bilo koji povezani podaci (stupci),

te da se obavlja djelomičan dohvat podataka (po stranicama). U tu svrhu se

pomoću generičkih metoda (primjenljivih na bilo koju tablicu podataka) grade

dinamički LINQ to SQL upiti na osnovu odabranih postavki (filtriranje, sortiranje,

stranica), te se njihovim izvođenjem iz baze podataka prenose samo oni podaci

koji su zatraženi, odnosno koji će biti prikazani.

Page 48: 593801.NDraskovic-Diplomski

43

6 Dizajn programske podrške

Dizajn programske podrške je proces pretvorbe zahtjeva na programsku

podršku u oblik koji omogućuje programiranje [5]. Program modeliramo s nekoliko

različitih dijagrama, opisujući razne događaje, odnosno aktivnosti u sustavu.

Konkretno, to su dijagrami aktivnosti, dijagrami slijeda i strukturne karte.

6.1 Strukturna karta za funkciju aktivacije usluga

Strukturnom kartom modeliramo program tako što prikazujemo kako se

pojedina funkcija treba obaviti. Strukturna karta je slična dijagramu toka podataka,

s tim da razliku od njega ne prikazuje što treba napraviti, nego kako to treba

napraviti [5].

Slika 13 - Strukturna karta za funkciju aktivacije usluga

Page 49: 593801.NDraskovic-Diplomski

44

Strukturna karta za funkciju aktivacije usluga (slika 13) prikazuje način na koji

program obavlja aktivaciju usluga. Na osnovu odabranih kriterija filtriranja,

korisniku se prikazuju zapisi o uređajima, od kojih korisnik odabere uređaj na

kojemu se usluge žele aktivirati. Sustav zatim na osnovu odabranog uređaja

pronalazi i prikazuje sve usluge zapisane za taj uređaj (što je napravljeno

procesom evidencije uređaja i usluga), pa korisnik bira one usluge koje će se

aktivirati.

Sustav na osnovu odabranih podataka obavlja funkciju generiranja SARF

dokumenta. U SARF se upisuju podaci o kompaniji, brodu, uređaju, modelu,

proizvođaču, PSA i AA / ISP, a zatim se upisuju podaci o uslugama iteracijom

kroz kolekciju odabranih usluga. Nakon završenog upisivanja podataka u SARF,

ažuriraju se metapodaci o aktivaciji uređaja (datum aktivacije), kao i podaci o

stanju aktivacije.

Korisniku se prikazuje SARF dokument spreman za pregled i printanje (bilo

fizički ili u PDF dokument). Dio procesa aktivacije koji se odnosi na upis aktiviranih

brojeva usluga (IMN-a) za pojedine usluge po uspješnoj aktivaciji nije opisan ovim

dijagramom jer se odnosi na jednostavnu funkcionalnost ažuriranja podataka o

uslugama.

6.2 Dijagram slijeda za proces aktivacije usluga

Dijagram slijeda prikazuje interakcije objekata u vremenskom slijedu, pa je

izrazito pogodan za modeliranje sustava kod objektno orijentiranog razvoja. [22]

Dijagram slijeda za proces aktivacije usluga je prikazan slikom 14. Dijagram

je grafički prikaz scenarija za slučaj korištenja "aktivacija usluga", s naglaskom na

razmjenu poruka između različitih objekata (bilo objekata unutar sustava ili

vanjskih entiteta) u određenom vremenskom redoslijedu.

Zaposlenik sa skladištima podataka za uređaje i usluge "komunicira" putem

sustava, dok s klijentima i PSA komunicira direktno. Životnim linijama (engl.

lifelines) je predstavljena aktivnost pojedinih objekata u različitim fazama procesa.

Primjerice, sustav ne treba biti aktivan za vrijeme razmjene SARF-a s klijentima i

PSA. Dijagram ima i elemente uvjetnog i ponavljajućeg izvođenja dijelova slijeda.

Page 50: 593801.NDraskovic-Diplomski

45

Slika 14 - Dijagram slijeda procesa aktivacije usluga

Page 51: 593801.NDraskovic-Diplomski

46

6.3 Dijagrami aktivnosti

Dijagram aktivnosti prikazuje tok rada između objekata nekog slučaja

korištenja, ili tok upravljanja za neku operaciju [22].

Dijagram aktivnosti za evidenciju brodova (slika 15) predstavlja slučaj

korištenja evidencije brodova. Prikazani su uvjeti po kojima se grana izvođenje

radnji, kao i pod-aktivnosti koje predstavljaju druge slučajeve korištenja - unos

kompanija i kategorija načina korištenja broda. Dijagrami aktivnosti za ostale vrste

evidencija su slični ovom, pa nisu posebno obrađeni.

Slika 15 - Dijagram aktivnosti za proces evidencije brodova

Dijagram aktivnosti za proces aktivacije usluga (slika 16) prikazuje slučaj

korištenja aktivacije usluga, a osim raznih uvjetnih grananja prikazuje i paralelizam

izvođenja radnji prilikom dodjele aktiviranih IMN. Osim glavnog scenarija, ovim

dijagramom su prikazani i neki alternativni scenariji, kao što su dodavanje uređaja

i usluga ako nisu pronađeni, i poništavanje aktivacije u slučaju pogreške.

Page 52: 593801.NDraskovic-Diplomski

47

Slika 16 - Dijagram aktivnosti za proces aktivacije usluga

Page 53: 593801.NDraskovic-Diplomski

48

6.4 Dijagram razreda

Dijagram razreda je prikaz statičke strukture sustava, odnosno njegovih

elemenata (razreda, tipova, itd.), te njihovih međusobnih odnosa [22].

Slika 17 prikazuje dijagram razreda za informacijski sustav opisan ovim

radom. Dijagram je zapravo pojednostavljena verzija dijagrama razreda iz pravog

sustava, s tim da su elementi grupirani u smislene cjeline kako bi se što bolje

prikazala suština sustava. Nazivi elemenata su prevedeni na hrvatski jezik radi

jednostavnosti pregleda, a za pojedine tipove su prikazani samo oni članovi (polja i

metode) koji su reprezentativni za njih.

Dijagram prikazuje i način na koji su elementi logički grupirani, a to su:

• Infrastruktura;

• Prezentacijski sloj (engl. Presentation Layer, User Interface - UI);

• Poslovni sloj (engl. Business Logic Layer - BLL);

• Podatkovni sloj (engl. Data Access Layer - DAL);

• Vanjski elementi.

Pristupi između slojeva aplikacije (UI - BLL - DAL) se obavljaju putem

definiranih sučelja, a koristi se oblikovni obrazac lociranja usluga (engl. service

locator design pattern). Dodatno, svaka razina pristupa samo razini direktno ispod

nje (UI poziva BLL, BLL poziva DAL), te nijedna razina nije svjesna da postoje

razine iznad, što je u skladu s višeslojnom arhitekturom sustava.

Namjena infrastrukturnog dijela aplikacije je definicija elemenata koji su

zajednički za sve slojeve aplikacije (UI, BLL i DAL). Tu spadaju elementi koji

prelaze sve slojeve aplikacije kao što su poslovni objekti, definicije sučelja kao što

su sučelja slojeva, te elementi čija bi se logika mogla koristiti iz različitih slojeva,

kao što je izgradnja dinamičkih upita. Infrastruktura sadrži elemente kao što su:

• Poslovni objekti - definicije razreda koji se odnose na poslovne

objekte kao što su kompanija, brod, uređaj i slično.

• Sučelja BLL i DAL - definiraju način pristupa nižim razinama.

• IValidator - generičko sučelje koje definira pristup elementima koji

služe provjeri ispravnosti unesenih podataka za poslovne objekte.

Page 54: 593801.NDraskovic-Diplomski

49

Slika 17 - Dijagram razreda

Page 55: 593801.NDraskovic-Diplomski

50

• Elementi odabira prikaza - razredi koji služe odabiru prikaza

podataka, kao što su filteri, načini poretka i odabira projekcije.

• ElementiProjekcije i ParsiranjeProjekcije - elementi koji služe

učitavanju mogućnosti projekcije (koja polja će se inicijalno prikazati,

po kojim poljima će se sortiranje, filtriranje i projekcija moći obavljati,

itd.) iz konfiguracijskih datoteka.

• DinamičkiUpiti - definira generičke metode za dinamičku izgradnju

upita koristeći složene filtere, načine poretka, itd.

Prezentacijski sloj (UI) se odnosi na one elemente koji služe prikazu, unosu

i odabiru podataka, odnosno elemente putem kojih korisnik "upravlja" aplikacijom.

Prezentacijski sadrži elemente kao što su:

• PrikazPodataka - generička kontrola koja služi prikazu podataka za

pojedine poslovne objekte u rešetci podataka (engl. data grid).

• Prozori unosa - prozori putem kojih se obavlja unos podataka za

razne poslovne objekte, i u kojim se poziva validacija unosa.

• ProzorOdabiraZapisa, ProzorAktivacije - prozori koji koriste

PrikazPodataka za prikaz popisa poslovnih objekata koje korisnik

može odabrati. ProzorAktivacije je proširena verzija prozora odabira

zapisa, s tim da se dodatno prikazuju i neka polja unosa te se

pokreće generiranje SARF dokumenta.

• Prozori odabira prikaza - služe odabiru filtera, poretka zapisa i

odabiru elemenata koji će se u rešetci prikazati.

• Aktivacijski dokumenti - kontrole koje služe generiranju dokumenata

kao što je SARF.

• PreglednikDokumenata - služi pregledu dokumenata spremnih za

ispis, kao što su generirani SARF dokumenti, popis IMN-a, ili zapisi

iz PrikazPodataka koji se trebaju ispisati.

Poslovni sloj (BLL) se odnosi na kod koji sadrži poslovnu logiku, a to su

elementi:

• PoslovniSloj - primjenjuje sučelje poslovnog sloja, odnosno daje

logiku pristupa podacima, logiku dobavljanja validatora za pojedine

Page 56: 593801.NDraskovic-Diplomski

51

objekte, i logiku učitavanja konfiguracijskih datoteka za elemente

prikaza.

• Validatori - primjenjuju sučelja validatora za pojedine poslovne

objekte, odnosno daju logiku potrebnu za odredit ispravnost

unesenih podataka.

Podatkovni sloj (DAL) se odnosi na logiku pristupa podacima (odnosno bazi

podataka), a sastoji se od elemenata:

• PodatkovniSloj - primjenjuje sučelje podatkovnog sloja, odnosno daje

generičke metode pristupa podacima, a koristi dinamičku izgradnju

upita za filtriranje i sortiranje podataka, i straničenje (engl. paging) za

dohvat pod-skupa rezultata.

• BazaPodataka - generirani razred koji nasljeđuje LINQ to SQL

KontekstPodataka (DataContext) razred, a služi mapiranju

generičkog pristupa na pojedine tablice baze podataka.

Vanjski elementi se odnose na one elemente koji su dio vanjskih biblioteka

koda, u ovom slučaju .NET-a, a prikazani su da bi se predočilo gdje LINQ to SQL i

WPF igraju ulogu u programu. Svi prozori i kontrole se grade nad WPF-om, a

poslovni objekti se mapiraju na podatke pojedinih tablica putem LINQ to SQL-a.

Dobar dio razreda programa koristi elemente generičkog programiranja.

Generičko programiranje (engl. generics), podržano u .NET-u od verzije 2.0+,

dozvoljava definiranje tipova na takav način da nisu ovisni o specifičnom tipu

podatka. Tako je moguće pisati algoritme koji se neće mijenjati bez obzira na

promjenu tipova podataka kojim ti algoritmi manipuliraju [19].

Program je dizajniran tako da se manipulacija poslovnih objekata obavlja

generički - tamo gdje je moguće napisana je samo jedna metoda koja vrijedi za

bilo koji objekt. Primjerice razred PodatkovniSloj nema referencu na poslovne

objekte - kompletna izgradnja dinamičkih upita i dohvat podataka iz baze se

obavljaju generički, bez poznavanja tipa podataka u vremenu izgradnje programa

(engl. compile time). Slično vrijedi i za kontrolu PrikazPodataka u UI sloju.

Mapiranje generičkih metoda na stvarne tipove se obavlja pri odabiru

prikaza u UI sloju, a konfiguracija načina na koji se ti tipovi mogu upotrebljavati je

definirana u XML datoteci koja se putem parsera dobavlja u poslovnom sloju.

Page 57: 593801.NDraskovic-Diplomski

52

7 Izrada sustava

Uzevši u obzir da je posrednička tvrtka mala firma kojoj se ne isplati velika

investicija u informatizaciju, aplikacija sustava je rađena tako da koristi što manje

opreme, odnosno u obliku debelog klijenta. Tvrtka trenutno ima samo jednog

zaposlenika (ujedno i vlasnika), i ne očekuje se da će ih biti više, odnosno da će

biti potreban distribuirani rad. Tvrtki se ne isplati ni nabava pune verzije sustava za

upravljanjem bazom podataka, pa se koristi besplatna verzija, Microsoft SQL

Server 2008 R2 Express, koja je ograničena na 10GB podataka po bazi, što bi

trebalo biti dovoljno za potrebe tvrtke u bližoj budućnosti.

Aplikacija sustava je izrađena u C# .NET 4.0 kroz Microsoft Visual Studio

2010 razvojno okruženje. Elementi sustava su raspodijeljeni u Visual Studio

projekte kao na slici 17 (dijagram razreda), pa se aplikacija sastoji od 3 biblioteke

(engl. dynamic-link library - DLL):

• BLL.dll - poslovni sloj aplikacije;

• DAL.dll - podatkovni sloj aplikacije;

• Infrastructure.dll - infrastruktura aplikacije.

te od izvršne datoteke, DBClient.exe, koja je WPF UI aplikacija.

Izrađena aplikacija se isporučuje putem ClickOnce sustava za publiciranje,

koji omogućuje jednostavnu instalaciju i uklanjanje, a baza podataka se inicijalno

stvara izvršavanjem SQL skripte.

7.1 Provjera ispravnosti

Provjera ispravnosti izrađenog sustava se obavljala kroz sve faze izrade.

Prilikom pisanja pojedinih metoda vršilo se testirane jedinki (engl. unit testing)

koristeći i strukturalno (engl. white-box testing) testiranje pomoću debuggera (engl.

step-in debugging) i funkcionalno testiranje (engl. black-box testing) pozivanjem

metoda i provjerom rezultata u debuggeru (engl. step-over debugging).

Slično se testiranje provodilo i za veće komponente sustava, odnosno za

različite DLL-ove. Testiranje komponenti BLL i DAL je olakšano činjenicom da se

sav pristup obavlja preko definiranih sučelja. Elementi UI-a su testirani tako što se

pokušavalo namjerno izazvati grešku neprirodnim korištenjem korisničkog sučelja.

Page 58: 593801.NDraskovic-Diplomski

53

Testiranje samog sustava se odvijalo po planu, koji je u suštini provjera

funkcionalnih i nefunkcionalnih zahtjeva u specifikaciji. Za većinu zahtjeva sustav

je prošao testiranje, ali je pronađeno i nekoliko zahtjeva koji nisu ispunjeni.

Zahtjev koji se odnosi na spremanje povijesnih podataka, i zahtjev koji se

odnosi na brzi ugniježđeni pristup podacima su funkcionalni zahtjevi koji nisu prošli

test. Brzi ugniježđeni pristup podacima trenutno nije primijenjen zbog previda, a

spremanje povijesnih podataka nije primijenjeno jer logički spada u kategoriju koja

je trenutno izvan opsega sustava (skladišta podataka i poslovna inteligencija).

Od nefunkcionalnih zahtjeva, izrada sigurnosnih kopija i povratak na neku

od prethodnih verzija je djelomično primijenjen, odnosno moguće ga je izvesti ali

ne kroz samu aplikaciju sustava. Kako se administrativne radnje baze podataka

inače i rade izvan same aplikacije, smatra se da je ovaj test prošao.

Nefunkcionalni zahtjev brzine odziva sustava je prošao test na manjem broju

podataka, ali se smatra da će držati za bilo koju količinu podataka koju tvrtka

može imati. Nefunkcionalni zahtjev mogućnosti instalacije na trenutnoj opremi nije

prošao test. Iako se potrebni programi mogu instalirati (SQL Server, .NET 4.0) na

postojeći OS (Windows XP) i teoretski bi WPF aplikacija trebala raditi na njemu,

instalacija aplikacije na Windows XP jednostavno nije uspjela, bez naznake kako

ispraviti grešku. Rješenje za ovaj problem nije pronađeno, pa sustav trenutno nije

isporučen klijentu.

7.2 Upotreba sustava

Upotreba sustava je detaljno dokumentirana s administratorske i korisničke

strane u XPS dokumentu (na engleskom jeziku) koji se isporučuje uz aplikaciju, a

može mu se brzo pristupiti putem preglednika dokumenata u samoj aplikaciji.

7.2.1 Administratorska uporaba sustava

Administratorska uporaba sustava se tiče obavljanja zadataka koji se tiču

same aplikacije sustava, kao što su instalacija i održavanje.

Instalacija sustava se obavlja nakon instalacije potrebnih programa, a to su

.NET Framework 4.0+ i Microsoft SQL Server 2008 R2 Express, koji su besplatno

dostupni na Microsoftovim internetskim stranicama. Inicijalno je potrebno napraviti

odgovarajuću mapu na definiranoj lokaciji na disku i u nju kopirati instalacijske

Page 59: 593801.NDraskovic-Diplomski

54

datoteke. Prije instalacije same aplikacije sustava pokreće se SQL skripta koja na

instanci SQL Servera stvara bazu podataka s potrebnim tablicama. Skripta se

otvara u SQL Server Management Studio Express aplikaciji koja dolazi kao dio

instalacije SQL Servera. Potrebno je osigurati da je pokrenut servis koji predstavlja

instancu SQL Servera na lokalnom računalu.

Po uspješnoj konfiguraciji baze podataka pokreće se ClickOnce instalacija

aplikacije (setup.exe), koja instalira aplikaciju bez potrebe za dodatnom

konfiguracijom. Potrebno je pobrinuti se da antivirusni program ne sprječava rad

aplikacije. Kada je konfigurirano, automatsko ažuriranje podataka se obavlja ako

je nova verzija dostupna pri pokretanju aplikacije, pa nije potrebna korisnička

intervencija.

Datoteke baze podataka se nalaze u unaprijed definiranoj instalacijskoj

mapi, a izrada sigurnosne kopije se može obaviti jednostavnim kopiranjem

datoteka. Pri kopiranju datoteka baze podataka potrebno je privremeno zaustaviti

instancu servisa baze podataka na lokalnom računalu. Dodatno, moguće je

koristiti SQL Server Management Studio Express za napredne mogućnosti izrade

sigurnosnih kopija (inkrementalne sigurnosne kopije itd.), no zbog male količine

podataka to za sada nije potrebno. Povratak na podatke iz sigurnosne kopije

(engl. restore) se obavlja na sličan način.

Uklanjanje aplikacije sustava se obavlja putem konfiguracije instaliranih

programa u kontrolnom panelu operacijskog sustava (engl. program control,

control panel). Ako se deinstalira i SUBP (ako ga druge aplikacije ne koriste), onda

je potrebno napraviti posljednje sigurnosne kopije datoteka baze podataka prije

deinstalacije. .NET Framework nije moguće jednostavno ukloniti, niti se njegovo

uklanjanje preporučuje.

7.2.2 Korisnička uporaba sustava

Uporaba sustava iz korisničke perspektive se odnosi na razne poslove

evidencija kao i obavljanje procesa aktivacije i deaktivacije usluga. Nakon

instalacije aplikacija sustava se pojavljuje u Program Files izborniku. Glavni prozor

aplikacije se sastoji od glavnog izbornika s lijeve strane, od prostora za podatke s

desne strane, te od gornjeg padajućeg izbornika za dodatne radnje.

Page 60: 593801.NDraskovic-Diplomski

55

Glavni izbornik je podijeljen u 4 dijela, a to su:

• Zapisi vezani uz klijenta:

o Zapisi kompanija;

o Zapisi brodova;

o Zapisi uređaja;

o Zapisi usluga.

• Zapisi vezani uz druge poslovne entitete:

o Zapisi PSA;

o Zapisi AA / ISP;

o Zapisi proizvođača uređaja.

• Zapisi poslovnih objekata:

o Modeli uređaja.

• Zadaci:

o Usluge koje čekaju aktivaciju.

Odabirom nekog od elemenata izbornika, u desnom dijelu glavnog prozora

se prikazuju podaci za taj element u podatkovnoj rešetci (engl. data grid). Slika 18

prikazuje primjer pregleda podataka za upisane kompanije. Zbog povjerljivosti

podataka, u primjerima aplikacije sustava se ne prikazuju stvarni poslovni podaci.

Slika 18 - Pregled podataka

Page 61: 593801.NDraskovic-Diplomski

56

Odabirom pojedinog elementa u prikazu podataka prikazuju se detalji

izabranog zapisa. Stupci koji se prikazuju u pregledu podataka, koji podaci su

prikazani i način na koji su podaci poredani se inicijalno postavlja u

konfiguracijskoj datoteci aplikacije. Opcijama izmjene filtera, načina poretka i

prikazanih podataka se izmjenjuju načini na koji se podaci u rešetci prikazuju.

Slika 19 prikazuje prozor izmjene načina poretka podataka.

Slika 19 - Opcije sortiranja prikaza

Korisnici mogu stvoriti složene filtere i načine poretka za prikaz podataka, i

odabrati koji će se podaci u rešetci prikazivati, što je detaljnije pojašnjeno u

korisničkoj dokumentaciji.

Slika 20 - Unos podataka

Page 62: 593801.NDraskovic-Diplomski

57

Unos podataka se obavlja odabirom opcije za unos novog entiteta ili opcije

za izmjenu postojećeg entiteta u donjem desnom dijelu prikaza podataka, ispod

detalja. Slika 20 daje primjer unosa podataka za brod.

Prilikom unosa postoje tri različita načina unosa podataka - izravno

upisivanje podataka, izbor iz pripremljenog popisa, i označavanje vrste podatka

kvačicama (engl. checkbox). Za pojedina polja u koje se podaci upisuju postoje

pravila kako taj podatak mora biti oblikovan, što je definirano poslovnom logikom.

U slučaju neispravnog unosa izmjenu nije moguće prihvatiti, a neispravna polja se

označuju crvenom bojom. Prelaskom miša preko nekog od neispravnih polja

prikazuje se uputa kako pogrešku ispraviti. Slika 20 prikazuje primjer neispravnog

unosa IMO polja i uputu za ispravak pogreške.

Za polja odabira se otvara novi prozor u kojem je prikazan popis

odgovarajućih zapisa od kojih je jednog potrebno odabrati. Ako takav zapis ne

postoji, u ovom prozoru je moguće otvoriti dodatni prozor unosa i stvoriti novi

zapis. Polja odabira su često obavezna, pa se također označuju crvenom bojom

ako nijedan zapis nije odabran.

Aktivacija usluga se obavlja odabirom opcije za aktivaciju u detaljima

pojedinih uređaja. Slika 21 prikazuje prozor aktivacije, koji daje korisniku izbor

usluga koje će se za taj uređaj aktivirati.

Slika 21 - Aktivacija usluga

Page 63: 593801.NDraskovic-Diplomski

58

Po odabiru usluga i aktivacije, generira se SARF dokument i prikazuje se u

pregledniku dokumenata. Slika 22 prikazuje primjer generiranog SARF-a.

Slika 22 - Generirani SARF prikazan u pregledniku dokumenata

Usluge za koje je generiran SARF ulaze u stadij čekanja aktivacije,

odnosno čekaju da im se dodjeli IMN prije nego u sustavu postanu aktivirane.

Usluge koje čekaju aktivaciju su prikazane u odgovarajućem izborniku, a pri

pokretanju aplikacije se prikazuje broj usluga koje čekaju aktivaciju i poveznica na

prikaz tih usluga.

Usluge koje čekaju aktivaciju se mogu poništiti (zbog pogreške pri unosu i

slično), čime se vraćaju u stadij neaktiviranih usluga. Deaktivacija se obavlja na

sličan način kao i aktivacija.

7.3 Buduća nadogradnja

Sustav je dizajniran tako da daje mogućnosti budućoj nadogradnji. Pošto

ClickOnce podržava automatsko ažuriranje softvera na najnoviju verziju, sustav

ima mogućnost da se ažurira putem interneta, bez potrebe prisutnosti sistemskog

inženjera (odnosno osobe koja obavlja administratorske dužnosti). Ovaj način

raspodjele sustava pojednostavljuje proces ispravljanja pogrešaka i omogućuje

djelomičnu nadogradnju. ClickOnce je primjenjiv samo na aplikaciju - za sve

Page 64: 593801.NDraskovic-Diplomski

59

izmjene vezane za bazu podataka je potrebno izvesti odgovarajuće SQL skripte

ručno, pa "veće" promjene nisu moguće samo putem ClickOnce.

Kako je pristup podacima sustava rađen u LINQ to SQL-u, teoretski je

moguće koristiti drugi SUBP (primjerice Oracle) bez potrebe za izmjenom koda

koji generira upite, upotrebom besplatno dostupnih biblioteka [28]. Ako bi se htio

koristit SUBP koji nije podržan besplatno dostupnim bibliotekama, bilo bi potrebno

napraviti posebni pružatelj za LINQ to SQL na taj SUBP, što je vrlo opsežan posao

koji iziskuje detaljno poznavanje LINQ to SQL-a, .NET-a i korištenog SUBP-a.

Promjene SUBP-a se ne mogu obavljati automatski putem ClickOnce, jer ih je

potrebno individualno instalirati i konfigurirati na korisničkom računalu.

Sustav je rađen u slojevima da olakša eventualni prijelaz na višekorisnički

rad. Ukoliko bi se sustav koristio s više računala, između UI i BLL-a bi bio ubačen

dodatni sloj pristupa mreži, koji bi povezivao klijenta sa serverom u klijentsko-

poslužiteljskoj (engl. client-server) arhitekturi sustava. Metode svih slojeva bi

mogle ostati iste, no u mrežnom i UI sloju bi trebalo dodatno dodati mehanizme za

autentikaciju i autorizaciju korisnika, kao i odgovarajuće tablice u bazi podataka,

uz dodatne zapise praćenja pristupa podacima.

Ako bi se prešlo na klijentsko-poslužiteljsku arhitekturu, server koji sadrži

poslovnu logiku i logiku pristupa podacima (i po mogućnosti bazu podataka ako

nije izmještena na drugi server) bi trebao biti stalno dostupan na mreži. Za javno

dostupnu mrežu bi bile potrebne značajne investicije u opremu ako bi se odlučilo

kupiti server, a dodatno bi bilo potrebno osigurati solidnu brzinu slanja podataka

(engl. upload) i registrirati dediciranu IP adresu kod operatera. Alternativno, bilo bi

potrebno iznajmiti server (i bazu podataka) na nekom online hostingu.

Ako bi operacija ikada prešla na vrlo veliki broj korisnika raspodijeljenih po

različitim regijama, bilo bi potrebno uvesti distribuirane baze podataka (od kojih bi

svaka sadržavala podatke bitne za tu regiju) koje zbog složenosti iziskuju

nabavljanje komercijalnih verzija SUBP-a, što je značajna investicija. Slično,

ukoliko bi se htio uvesti sustav poslovne inteligencije (BI) koji koristi napredne

analitičke mogućnosti skladišta podataka u SUBP, bilo bi potrebno kupiti

komercijalnu verziju SUBP-a. Ove vrste proširenja su daleko izvan opsega

studentskog projekta.

Page 65: 593801.NDraskovic-Diplomski

60

Zaključak

Rad je pokazao primjer izrade informacijskog sustava primjenom

programskog inženjerstva. Na početku rada je objašnjena potreba za

informacijskim sustavima u današnjem poslovanju, a zatim su u teoretskom dijelu

objašnjeni pristupi projektiranju informacijskih sustava.

Kako se radi o projektiranju specifičnog sustava ukratko je pojašnjena i

problematika, odnosno način obavljanja satelitske komunikacije u pomorstvu

pomoću Inmarsatovog komunikacijskog sustava. Pojašnjene su i zainteresirane

strane u procesu obavljanja satelitskih komunikacija.

Naručitelj sustava je dao objašnjenje kako sustav komunikacija funkcionira

te njegovu viziju što bi u informacijskom sustavu trebalo biti napravljeno, no tek je

analiza poslovne dokumentacije (SARF-a, Inmarsatovih uputa za aktivaciju, itd.)

pokazala kakav sustav treba biti. Izrađeni su i scenarijima detaljno opisani

slučajevi korištenja sustava. Na temelju zahtjeva, analize, slučajeva korištenja i

iskustva, izrađena je specifikacija zahtjeva.

Modeliranje sustava, podataka i događaja je pomoglo razvojnom timu u

smislu olakšane komunikacije unutar i izvan tima te u smislu boljeg vlastitog

shvaćanja sustava. Dobro definiran model podataka znatno olakšava izradu

sustava, a modeli događaja u programu (dijagrami slijeda, aktivnosti itd.) daju

detaljan opis koraka pojedinih radnji.

Iako je dizajn sustava uvelike olakšao njegovu izradu, tijekom programiranja

su ipak nastale određene greške. Testiranjem je dio grešaka uklonjen, no za neke

nije pronađeno rješenje. Kako postoje neki zahtjevi koji još nisu ispunjeni

(konkretno, mogućnost instalacije sustava na postojeću opremu), sustav trenutno

nije isporučen klijentu u operativnu upotrebu.

Na kraju, planiranje mogućnosti budućih izmjena pri odabiru arhitekture je

ostavilo mogućnost za nadogradnje. Može se zaključiti da je primjena

programskog inženjerstva iznimno korisna prilikom projektiranja manjih, a

neophodna prilikom projektiranja većih informacijskih sustava.

Page 66: 593801.NDraskovic-Diplomski

Reference i literatura

[1] Chen, P. P., The Entity-Relationship Model: Toward a Unified View of Data,

ACM Transactions on Database Systems, 1, 1976.: 9-36

[2] Codd, E. F., The Relational Model for Database Management: Version 2,

Addison-Wesley, 1990.

[3] Čerić, V., Varga, M., Informacijska tehnologija u poslovanju, Element,

Zagreb, 2004.

[4] Denning, P. J., Computer science: The discipline, in Encyclopedia of

Computer Science, 4th ed, Wiley, 2003.

[5] Fertalj, K., Kalpić, D., Predavanja iz kolegija Projektiranje Informacijskih

Sustava, akad. god. 2006/7, FER. URL: (14. 08. 2012)

http://www.zpr.fer.hr/zpr/Portals/0/Predmeti/PIS/PIS-Predavanja.pdf

[6] Gheorghiu F., Why companies fail on the way to implementing project

management methodology, Project Management Today 8(10), 2006.

[7] IEEE, IEEE Standard Glossary of Software Engineering Terminology, Std

610.12-1990, URL: (16.08.2012)

http://trempet.uqam.ca/Enseignement/Normes/IEEE_STD610_12-1990.pdf

[8] IMO, International SOLAS Convention, URL: (10. 08. 2012)

http://www.imo.org/About/Conventions/ListOfConventions/Pages/Internation

al-Convention-for-the-Safety-of-Life-at-Sea-%28SOLAS%29,-1974.aspx

[9] Inmarsat, About Inmarsat, URL: (11. 08. 2012)

http://www.inmarsat.com/About/?language=EN&textonly=False

[10] Inmarsat, Notes for completing the Maritime form, URL:

http://www.inmarsat.com/Downloads/English/Support/Sarfs/Inmarsat_mariti

me_notes.pdf (12. 08. 2012)

[11] Inmarsat, SARF for Maritime terminals, URL:

http://www.inmarsat.com/Downloads/English/Support/Sarfs/Inmarsat_mariti

me.pdf (12. 08. 2012)

[12] Inmarsat, Service Activation - Inmarsat C, URL:

http://www.inmarsat.com/Support/Inmarsat_C/Activation.aspx (11. 08. 2012)

Page 67: 593801.NDraskovic-Diplomski

[13] Kaplan B., Harris-Salamone, K., Health IT success and failure:

Recommendations from literature and AMIA workshop, Journal of the

American Medical Informatics Association 16(3), 2009.: 291-299.

[14] Kendall, S., The unified process explained, Addison-Wesley Longman

Publishing Co, 2002.

[15] Krile, S., Elektroničke komunikacije u pomorstvu – Mobilne satelistke veze,

Sveučilište u Dubrovniku,Dubrovnik, 2004.

[16] Mayo, J., C#, Biblioteka Ekspert, Miš d.o.o, 2002.

[17] MSDN, .NET Language-Integrated Query for Relational Data, URL:

http://msdn.microsoft.com/en-us/library/bb425822.aspx (17. 08. 2012)

[18] MSDN, ClickOnce Deployment, URL: http://msdn.microsoft.com/en-

us/library/t71a733d%28v=vs.80%29.aspx (17. 08. 2012)

[19] MSDN, Introduction to Generics, URL: http://msdn.microsoft.com/en-

us/library/ms379564%28v=vs.80%29.aspx (25. 08. 2012)

[20] MSDN, Introduction to Windows Presentation Foundation, URL:

http://msdn.microsoft.com/en-us/library/aa970268.aspx (17. 08. 2012)

[21] MSDN, LINQ (Language-Integrated Query), URL:

http://msdn.microsoft.com/en-us/library/bb397926.aspx (17. 08. 2012)

[22] OMG, OMG Unified Modeling Language Superstructure, ver. 2.3, May

2010., URL: http://www.omg.org/spec/UML/2.3/Superstructure/PDF/

(20.08.2012.)

[23] Pressman, R., Software Engineering: A Practitioner's Approach, 7th ed.,

McGraw-Hill, 2009.

[24] Sommerville, I., Software Engineering, 8th ed., Pearson Education, 2007.

[25] Spolsky, J., Painless Funcional Specifications, Joel on Software URL:

http://www.joelonsoftware.com/articles/fog0000000035.html (14. 08. 2012)

[26] Wikipedia, Software development process, URL:

http://en.wikipedia.org/wiki/Software_development_process (16. 08. 2012)

[27] World Communication Center, How the Inmarsat System Works, URL:

http://www.wcclp.com/index.asp?pgid=32 (11. 08. 2012)

[28] ***, DbLinq, LINQ provider for Oracle, URL:

http://code.google.com/p/dblinq2007/ (21. 08. 2012)

Page 68: 593801.NDraskovic-Diplomski

Sažetak

Ovaj rad opisuje izradu informacijskog sustava za evidenciju uređaja za

satelitsku komunikaciju u pomorstvu primjenom discipline programskog

inženjerstva. U radu se govori o potrebi informacijskih sustava u današnjem

poslovanju i o modelima razvoja informacijskih sustava, a zatim se obrađuje

problematika poslovnog procesa evidencije poslovnih objekata i aktivacije /

deaktivacije uređaja za satelitsku komunikaciju. Opisani su scenariji korištenja

sustava i izrađena je specifikacija zahtjeva, a sustav i podaci su opisani s nekoliko

modela. Opisana je realizacija aplikacije, i načini upotrebe sustava s korisničkog i

administratorskog stajališta, a govori se i o mogućnostima izmjena i nadogradnje

sustava u budućnosti.

Ključne riječi: programsko inženjerstvo, projektiranje informacijskih

sustava, satelitske komunikacije u pomorstvu, modeliranje sustava, baze podataka

Summary

This paper is about the application of software engineering techniques in

the development of an information system for recording data related to maritime

satellite communication equipment. Arguments are given in favor to the necessity

of information systems in todays businesses, and the theoretical part of the paper

describes various models of system development, as well as the basic principles

of maritime satellite communications. Use cases are described with scenarios, and

the requirements specification for the system is given. The system and its data are

described with various models. The information system has been implemented as

an application, so the paper also gives usage instructions with respect to both the

user and the administrator perspective. A brief section discusses the possibilities

of future changes or upgrades to the system.

Keywords: software engineering, information systems design, maritime

satellite communications, system modeling, database systems