Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
1. UVOD Demo Demokr krat atsk skaa stra strank nkaa pred predst stav avlj ljaa poli politič tičku ku orga organi niza zaci ciju ju koja koja je tren trenut utno no najpopularnija stranka na političkoj sceni Srbije. Ta popularnost je rasla iz godine u godinu godinu,, što je rezult rezultira iralo lo konsta konstantn ntnim im poveć povećanj anjem em broja broja članov članova, a, da bi danas danas Demokratska stranka imala oko 130.000 članova. Sa porastom članova stranka je morala da poboljša i svoju organizacionu strukturu. Tih 130.000 članova je bilo potrebno evidentirati na neki način. U ovom seminarskom radu pokušaću delimično da objasnim funkcionisanje i praće praćenje nje kadrov kadrovaa u Demokr Demokrats atskoj koj stranc strancii kroz kroz njenu njenu centra centralnu lnu bazu, bazu, odnosn odnosnoo izdvojiću deo koji je konkretno vezan za vođenje evidencije o članovima u centralnoj bazi nekog od Opštinskih ogranaka, i to ću pokušati da Vam približim putem UML-a i izvornog koda u programskom jeziku C++. Već nekoliko godina u Demokratskoj stranci postoji „centralna baza“, koja je iz godine u godinu evoluirala. Pošto će predmet ovog rada biti konkretno članstvo i način ažuriranja članova u bazi, vredi napomenuti kakva je baza bila pre par godina a kakva je danas. Od 2003. godine od kada sam ja konkretno radio na bazi i njenom ažuriranju, imao sam priliku da pratim kako se ona razvijala u pozitivnom pravcu. Naravno, ona se i danas razvija i uvek je potrebno raditi na njoj i njenom poboljšanju. Imajući u vidu da Demokratska stranka ima oko 120 Opštinskih ogranaka širom Srbije i oko 130.000 članova, postoji potreba da se svi ti članovi i evidencija o njima vodi centralizovano u jednoj bazi, a da Opštinski ogranci imaju delimičan pristup bazi članstva, odnosno odnosno samo pristup članovima članovima sa njihove teritorije. Ovakva zamisao zamisao se iz godine u godinu sve više ostvaruje kako se rešavaju tehnički problemi po Opštinskim ograncima (uglavnom u južnim delovima Srbije), kod kojih je uglavnom najveći problem Internet i njegova brzina (iako smo već u 21. veku). Pored problema interneta, više od 50% Opštinskih ogranaka je imalo svoje interne baze članstva koje su vodili u Access-u ili u Excel tabelama, tako da su zanemarivali centralnu bazu, pa dobar deo članova faktički nije ni bio u validnoj bazi. Ovakvo stanje se u poslednjih par godina u mnogome popravilo.
1
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
2. DEFINIS DEFINISANJ ANJE E I ANALI ANALIZA ZA ZAHT ZAHTEVA EVA 2.1 Prikupljanj Prikupljanjee i analiza zahteva zahteva Evidencija članova se vrši u centralnoj bazi stranke koja je povezana u WANu sa udaljenim lokacijama gde se nalaze podaci iz svih opštinskih ogranaka. Na svakoj udaljenoj lokaciji postoji deo baze koji se odnosi na dotičnu lokaciju. Podatk Podatkee o poten potencij cijaln alnom om članu članu priku prikuplj pljaa osoba osoba (admin (administ istrat rator) or) koja koja je zadužena za bazu u okviru svog opštinskog ogranka. Osnovni podaci o članu se popunjavaju u Pristupnici nakon čega administrator unosi podatke u centralnu bazu. Nakon unošenja podataka u bazu potencijalni član ima status „ispravan/neverifikovan“. Nakon provere člana od strane administratora, i njegove verifikacije od strane nadležnog organa, potencijalni član dobija status „ispravan“, tek pošto administrator lokalne baze to zatraži zvaničnim dopisom od administratora centralne baze. Čino Činom m veri verifi fika kaci cije je član člana, a, on prih prihva vata ta dužn dužnos osti ti i odgo odgovo vorn rnos osti ti koje koje su propisane Statutom stranke. Član prihvata obavezu plaćanja godišnje članarine čiji je iznos određen u skladu sa kategorijom kojoj pripada član (zaposlen, nezaposlen, penzioner, student).Članarina se isključivo plaća preko računa u banci ili pošti, nakon čega se evidencija o uplati beleži u centralnu bazu..
2
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
2. DEFINIS DEFINISANJ ANJE E I ANALI ANALIZA ZA ZAHT ZAHTEVA EVA 2.1 Prikupljanj Prikupljanjee i analiza zahteva zahteva Evidencija članova se vrši u centralnoj bazi stranke koja je povezana u WANu sa udaljenim lokacijama gde se nalaze podaci iz svih opštinskih ogranaka. Na svakoj udaljenoj lokaciji postoji deo baze koji se odnosi na dotičnu lokaciju. Podatk Podatkee o poten potencij cijaln alnom om članu članu priku prikuplj pljaa osoba osoba (admin (administ istrat rator) or) koja koja je zadužena za bazu u okviru svog opštinskog ogranka. Osnovni podaci o članu se popunjavaju u Pristupnici nakon čega administrator unosi podatke u centralnu bazu. Nakon unošenja podataka u bazu potencijalni član ima status „ispravan/neverifikovan“. Nakon provere člana od strane administratora, i njegove verifikacije od strane nadležnog organa, potencijalni član dobija status „ispravan“, tek pošto administrator lokalne baze to zatraži zvaničnim dopisom od administratora centralne baze. Čino Činom m veri verifi fika kaci cije je član člana, a, on prih prihva vata ta dužn dužnos osti ti i odgo odgovo vorn rnos osti ti koje koje su propisane Statutom stranke. Član prihvata obavezu plaćanja godišnje članarine čiji je iznos određen u skladu sa kategorijom kojoj pripada član (zaposlen, nezaposlen, penzioner, student).Članarina se isključivo plaća preko računa u banci ili pošti, nakon čega se evidencija o uplati beleži u centralnu bazu..
2
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
2.2 Modeliranje zahteva slučajeva korišćenja (Use case dijagram) Na sledećem dijagramu se vidi proces učlanjavanja potencijalnog člana koji se odvijaju i akteri koji učestvuju u procesu, takođe prikazan je i scenario tog procesa.
Pristupnica
Unos novog clana u bazu
izmene podataka o clanu Potenc ijalni ijalni clan
Administrator
Pretraga
Generisanje izvestaja
. Dijagram slučajeva korišćenja – proces učlanjavanja potencijalnog člana
3
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
Scenario učlanjavanja novog člana: Naziv use case-a: Primarni učesnik: Sekundarni učesnik: Opis use case-a:
Preduslov: Triger: Osnovni scenario:
Alternativna scenarija:
Post uslov:
Učlanjavanje potencijalnog člana Potencijalni član Administrator Ovaj scenario počinje dolaskom subjekta u kancelariju sa namerom da se učlani u stranku. Administrator proverava identitet člana pomoću lične karte i pretražuje bazu da nije već bio evidentiran po nekom osnovu. U slučaju da ga ne pronađe, prikuplja potrebne podatke od kandidata za člana. Odlazak kandidata za člana. Da osoba koja je kontaktirala administratora nije član nijedne stranke niti da je u predhodnom periodu isključen ili drugačije negativno obrađen u stranci u koju aplicira. Dolazak potencijalnog člana 1. Provera identiteta osobe uz pomoć lične karte. 2. Pretraga u bazi i potvrđivanje nepostojanja razloga za odbijanje aplikacije. 3. Saopštavanje uslova za prijem u stranku. 4. Saopštavanje osnovnih podataka o obavezama člana (članarina ...), upoznavanje sa statutom i pravilnikom. 5. Potencijalni član daje svoje podatke, popunjavanjem pristupnice 6. Administrator unosi podatke u bazu i proverava tačnost unosa. 7. Potencijalni član odlazi Prvi: Potencijalni član se nalazi u bazi u negativnom kontekstu (predhodno isčlanjen ...) - odbija mu se pristup, kandidat za člana odlazi. Drugi: Potencijalni član je već član druge stranke - odbija mu se aplikacija, kandidat za člana odlazi. Treći: Potencijalni član se već nalazi u bazi članstva sa statusom (odseljen, inostranstvo, nepoznat), pri čemu se vrši obnavljanje njegovog statusa.. Četvrti: Ispravka greške pri unosu podataka Podaci o potencijalnom članu su uneti. Scenario učlanjavanja potencijalnog člana
4
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
3. DEFINISANJE VIZIJE REŠENJA Uzimajući u obzir činjenicu da dobar deo Opštinskih ogranaka ima svoje lokalne baze u koje unose podatke ( MS Excel, MS Access ) vezane za članstvo, problem je što ne postoji objedinjeno vođenje računa o podacima, što bi smanjilo mogućnost neažurnosti i gubljenja podataka o članovima. Cilj centralne baze jeste da se objedine svi podaci koji se obrađuju na lokalnom nivou, i da se time unapredi rad kako lokalne politicke organizacije tako i centralne organizacije kroz globalno vođenje podataka o članstvu. Nakon uvođenja baze u svim lokalnim organizacijama, potrebno je kroz određenu edukaciju osposobiti lokalne administratore za korisćenje te baze i pokazati im sve njene mogućnosti kako ne bi dolazilo do situacija pogrešnog unosa podataka što dodatno onemogućuje pravilno praćenja ažurnosti podataka, i vođenje računa o podacima članova.
5
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
4. IDEJNI (KONCEPTNI) PROJEKAT
4.1 Dijagram aktivnosti prema Use case-u 2.2.2 Dijagram aktivnosti prikazuje događaje koji se odvijaju prema scenariju učlanjavanja potencijalnog člana 2.2.2. Iz dijagrama se može videti da postoje tri tačke odluke koje imaju opciju odlaska na kraj tj. kao rezultat odlazak potencijalnog člana.
Dolazak potencijalnog clana
Negatinvo je zabelezen u bazi [ Ne ]
Da[ Da ]
Upoznavanje sa uslovima uclanjenja u stranku
Potencijalni clan je vec clan drugestranke
Da[ Da ]
[ Ne ] Potencijalni clanse upoznaje sa njegovim obavezama vezanim za stranku
Potencijalni clan odustaje oduclanjenja
Da Da[ Da ]
[ Ne ] Prikupljaju se podaci o potencijalnomclanu
Podaci se unose u bazu Da [ Da ] Dobijeni podaci se proveravaju u bazi
Pogresni podaci [ Ne ] Odlazak potencijalnog clana
6
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom Dijagram aktivnosti
4.2 Arhitektura aplikacije Pri opredeljivanju za arhitekturu aplikacije polazilo se od informacionih potreba na samoj lokaciji i postojećih tehničkih rešenja i mogućnosti samostalnog rada u slučaju prekida veze sa centralnom bazom i naknadnu razmenu podataka sa centralom (replikacija podataka). Lokacije najčešće zapošljavaju jednog aministratora i imaju mogućnosti za ostvarivanje dial-up konekcije za razmenu podataka. U tom slučaju se obezbeđuje port u centrali gde će pristupati po potrebi udaljene lokacije i obavljati potrebne radnje i gde će se u pozadini odvijati replikacija. Lokacije koje imaju više korisnika i LAN, poželjno je da imaju tehnološki naprednije rešenje za ostvarenje linka prema centrali za data stream (razmenu podataka). U ovom drugom slučaju, rešenje se svodi na formiranje lokalne mreže (LAN) koja u svom sklopu sadrži database server, klijentskih mašina koliko je potrebno, pasivnu i potrebnu aktivnu opremu zavisno od tehničkih mogućnosti za razmenu podataka. Iz ovoga proizilazi da sama arhitektura aplikacije treba da bude minimalno troslojna sa mogućnošću razvoja sistema za višeslojnu upotrebu odgovarajućih web servisa što bude diktirao razvoj aplikacije pomoću modernih tehnologija. Troslojna arhitektura aplikacije: •
Sloj podataka
Potrebni podaci smešteni su na bazi podataka zajedno sa uskladištenim procedurama. •
Srednji sloj
Poslovna logika i pristup podacima obezbeđeni su preko nezavisnih kompajliranih komponenti radi jednostvnog upravljanja, komunikacije i integracije različitih tipova i izvora podataka. •
Prezentacioni sloj
Kao klijente možemo posedovati razne aplikacije u zavisnosti od tehnologija koje koristimo za prezentacioni sloj.
7
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
5. GLAVNI (LOGIČKI) PROJEKAT 5.1 Konceptualni model podataka
Opstina
Funkcija
S i f ra _ O p s ti n e I D : i n t O p st i n a : v a r c h a r ( 2 0 )
1 S t ru c n a sp r e m a S t ru c n a _ sp r e m a I D : i n t S t r u c n a _ sp r e m a : v a rc h a r (2 0 )
1
Zanimanje Zanim anjeID : int Z a n i m a n j e : v a rc h a r (5 0 )
1
R a d n o m e st o R a d n o _ m e st o I D : i n t R a d n o _ m e st o : v a r c h a r (3 0 )
1
F i rm a F i rm a I D : i n t F i rm a : v a rc h a r ( 5 0 )
F u n kc i j a I D : i n t F u n kc i j a : v a r c h a r (3 0 )
clanovi J M B G : in t P r e z i m e : v a r c h a r (2 0 ) I m e : v a r c h a r (2 0 ) I m e _ r o d i t e l ja : v a r ch a r (2 0 ) A d r e sa _ st a n o v a n j a : v a r c h a r (7 0 ) K o n t a kt _ a d re s a : v a rc h a r (7 0 ) B ro j _ L i c n e _ ka r te : v a r ch a r (2 0 ) S i f ra _ O p st i n e I D : i n t K u c n i _ t e l e f o n : v a rc h a r (2 0 ) T e l e f o n _ n a _ p o sl u : v a r ch a r (2 0 ) M o b i ln i _ t e l e f o n : v a rc h a r (2 0 ) E -m a i l : v a r c h a r (5 0 ) S t ru c n a _ sp r e m a I D : i n t Zanim anjeID : int R a d n o _ m e st o I D : i n t F i rm a I D : i n t F u n k ci j a I D : i n t K rsn a _ s la v a I D : i n t B ra c n o _ st a n j e : va r c h a r (2 0 ) C l a n a r in a : v a rc h a r (2 0 ) D a t u m _ u c l a n j e n j a : in t M e sn i _ o d b o r ID : i n t B i ra c ko _ m e s to I D : in t S t a t u s_ c l a n a : v a rc h a r ( 2 0 )
1 K rsn a sl a v a
1
K rsn a _ s l a v a I D : i n t K rsn a sl a v a : v a r c h a r (5 0 )
M e sn i o d b o r
1
M e sn i _ o d b o r ID : in t M e sn i o d b o r : v a r c h a r (2 0 )
B i ra c k o m e st o
1
B i ra c k o _ m e st o I D : in t B i ra c k o m e s to : v a r c h a r (2 0 )
1
Konceptualni model podataka
8
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
5.2. Izrada dijagrama interakcije 5.2.1. Prikaz dijagrama sekvence Dijagram sekvence prikazuje interakcije između objekata poređane po vremenskom redosledu. On prikazuje objekte i klase u vezi sa scenarijom, kao i redosled poruka koje objekti razumeju da bi se sprovela funkcionalnost scenarija.
: clanovi
: Administrator
: Potencijalni clan
Provera potencijalnog clana
Rezultat provere
Zahtev za podacima potencijalnog clana
Podaci potencijalnog clana
Unos podataka
Potvrda o unesenim podacima
Dijagram interakcije
9
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
5.2.2. Prikaz dijagrama kolaboracije Dijagram kolaboracije predstavlja alternativni način da se prikaže scenario. Taj tip dijagrama prikazuje interakcije objekata pomoću tih objekata i njihovih međusobnih veza.
3: Zahtev za podac ima potenc ijalnog clana
: Administrator
5: Unos podataka
4: Podaci potencijalnog clana : Potencijalni clan
1: P rovera potencijalnog c lana
2: Rezultat provere 6: Potvrda o unesenim podacima
: clanovi
Dijagram kolaboracije
10
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
6. IZOĐAČKI (FIZIČKI) PROJEKAT 6.1. Dijagram klase Dijagram klase pravimo da bismo obezbedili sliku ili prikaz nekih ili svih klasa u modelu. Dijagram klase se može praviti i u prikazu korisničkih funkcija modela. Takav dijagram se obično prilaže uz korisničke funkcije i sadrži prikaz klase koja učestvuje u korisničkoj funkciji.
Opstina
Funkcija
Sifra_OpstineID : i nt Opstina : varchar (20) dodaj() ispravi() obrisi()
FunkcijaID : i nt Funkcija : varchar (30)
*
1
clanovi
Strucna sprema Strucna_spremaID : int Strucna_sprema : varchar (20) dodaj() ispravi() obrisi()
1
*
Zanimanje ZanimanjeID : int Zanimanj e : varchar (50)
1
dodaj() ispravi() obrisi()
*
Radno mesto Radno_mestoID : int Radno_mesto : varchar (30) dodaj() ispravi() obrisi()
1
*
JMBG : int Prezime : varchar (20) Ime : varchar (20) Ime_roditelja : varchar (20) Adresa_stanovanja : varchar (70) Kontakt_adresa : varchar (70) Broj_Licne_karte : varchar (20) Sifra_OpstineID : i nt Kucni_tel efon : varchar (20) Tel efon_na_p oslu : varchar (20) Mobilni_telefon : varchar (20) E-mail : varchar (50) Strucna_spremaID : i nt ZanimanjeID : int Radno_mestoID : int FirmaID : int FunkcijaID : i nt Krsna_slavaID : int Bracno_stanje : varchar (20) Clanarina : varchar (20) Datum_uclanjenja : int Mesni_odborID : int Biracko_mestoID : i nt Status_clana : varchar (20)
1
Krsna slava Krsna_slavaID : int Krsna slava : varchar (50)
*
1
Firma FirmaID : int Firma : varchar (50)
dodaj() ispravi() obrisi()
Mesni odbor Mesni_odborID : int Mesni odbor : varchar (20)
*
1
dodaj() ispravi() obrisi() povezi()
*
dodaj() ispravi() obrisi()
*
dodaj() ispravi() obrisi()
dodaj() ispravi() obrisi()
Biracko mesto Biracko_mestoID : i nt Biracko mesto : varchar (20)
*
1
dodaj() ispravi() obrisi()
1
Dijagram klase
11
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
6.2. Dijagram komponenti Dijagrami komponente se prave da bi pokazali komponente koje čine fizičku realizaciju sistema.
Aplikacija
A p l ik a c i o n i s e r ve r
B a z a p o d a ta k a
Dijagram komponenti
6.3. Model uvođenja – Dijagram raspoređenosti (Deployment model) Ovaj prikaz obuhvata preslikavanje softvera na čvorove obrade – on prikazuje konfiguraciju procesnih elemenata u vreme iyvršavanja i softverske procese koji se tu odvijaju. Dijagrami raspoređenosti se prave da bi pokazali različite čvorove zajedno sa njihovim vezama u sistemu.
Stampac
Switch
Klijent
Ruter na lokaciji
Switch u centrali
Server
Centralni ruter
Centralni server
Glavna baza
Lokalna baza
Model uvođenja
12
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
6.4. Projektovanje sloja prezentacije Pod projektovanjem sloja prezentacije se podrazumeva aktivnost izrade korisničkog interfejsa. Interfejs treba da ispunjava korisničke zahteve i organizacione standarde. Kako je interfejs aplikacija za krajnjeg korisnika, veoma je važno da interfejs bude lak za korišćenje, fleksibilan i da reflektuje stil rada korisnika.
Prozor za pristupanje bazi članstva
Glavna forma za unos podataka o članu
13
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
6.5. Projektovanje sloja podataka 6.5.1. Fizički model baze Za kreiranje fizičkog modela, korišćen je CASE alat Paradigme plus koji ima definisane opcije vezane za generisanje fizičkog modela iz logičkog modela, kao i inverzni postupak, definisanje logičkog modela iz fizičkog. Takođe, Paradigma plus ima opciju prevođenja fizičkog modela u ERwin model podataka i obrnuto.
Fizički model baze podataka
14
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
7.
ZAKLJUČAK
Vizuelno modelovanje je način razmišljanja o problemima pri kome se koriste modeli zasnovani na idejama iz realnog sveta. Modeli su korisni za razumevanje problema, za komunikaciju među ljudima koji su uključeni u projekat, za modelovanje preduzeća, za pripremu dokumentacije i za dizajn programa i baza podataka. Modelovanje omogućava bolje razumevanje zahteva, čistiji dizajn i sisteme pogodnije za održavanje. Ovaj Seminarski rad prikazuje mogućnosti primene elemenata skladišta podataka i vizuelnog programiranja na konkretnom problemu vođenja evidencije članstva u političkoj stranci, pri čemu su razmatrana i identifikovana rešenja i koncepti savremene računarske tehnike pogodne za realizaciju rešenja u uslovima koji postoje kod klijenta . Aplikacija je
predstavljena po fazama njenog razvoja i izvršeno je celokupno modelovanje aplikacije po svim fazama. UML se nametnuo kao standard za projektovanje softverskih rešenja. Njime je moguće pratiti razvoj projekta od prvobitne apstraktne ideje analitičara, preko konkretnih klasa, aktivnosti pa sve do fizičkog rasporeda računara i mreže. Zahvaljujući analizi, smanjuje se vreme programiranja, većina problema se identifikuju i rešavaju pre samog kodiranja, programeri na samom početku imaju sliku kako koji deo treba da izgleda, a održavanje proizvoda i uvođenje novih ljudi u razvoj više ne predstavlja problem.
15
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
8.
LITERATURA
1. Terry Quatrani, Vizuelno modelovanje Rational Rose 2002 i UML, Izdavač: CET Computer Equipment and trade, Beograd 2. Prof. Dr Alempije Veljović, Osnove objektnog modeliranja UML, drugo dopunjeno izdanje, Izdavač: „Kompjuter biblioteka“, Čačak
16
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
9. PRILOZI 9.1. Izvorni kod paketa klase 9.1.1. Izvorni kod klase clanovi #include "stdafx.h" #include "Zanimanje.h" #include "Firma.h" #include "Opstina.h" #include "Funkcija.h" #include "clanovi.h"
//##ModelId=47B9A29502BF clanovi::dodaj() { } //##ModelId=47B9A29A031C clanovi::ispravi() { } //##ModelId=47B9A2A002DE clanovi::obrisi() { } //##ModelId=47B9A2AA0109 clanovi::povezi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_CLANOVI_47B429BB03C8_INCLUDED #define _INC_CLANOVI_47B429BB03C8_INCLUDED class Zanimanje; class Firma; class Opstina; class Funkcija; //##ModelId=47B429BB03C8 class clanovi 17
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
{ public: //##ModelId=47B431E703B9 varchar (20) Prezime; //##ModelId=47B4329C03B9 varchar (20) Ime; //##ModelId=47B432F70157 varchar (20) Ime_roditelja; //##ModelId=47B4333601C5 varchar (70) Adresa_stanovanja; //##ModelId=47B4335B004E varchar (70) Kontakt_adresa; //##ModelId=47B433730280 varchar (20) Broj_Licne_karte; //##ModelId=47B4340A030D int Sifra_OpstineID; //##ModelId=47B4345A0157 varchar (20) Kucni_telefon; //##ModelId=47B434EE0157 varchar (20) Telefon_na_poslu; //##ModelId=47B4350B02FD varchar (20) Mobilni_telefon; //##ModelId=47B4352702BF varchar (50) Email; //##ModelId=47B435790138 int Strucna_spremaID; //##ModelId=47B4359201F4 int ZanimanjeID; //##ModelId=47B435A90109 int Radno_mestoID; //##ModelId=47B435C0003E int FirmaID; //##ModelId=47B4384700CB int FunkcijaID;
18
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
//##ModelId=47B435DB03A9 int Krsna_slavaID; //##ModelId=47B4366901A5 varchar (20) Bracno_stanje; //##ModelId=47B4367D000F varchar (20) Clanarina; //##ModelId=47B436A900CB int Datum_uclanjenja; //##ModelId=47B436CB0186 int Mesni_odborID; //##ModelId=47B436F90119 int Biracko_mestoID; //##ModelId=47B43724008C varchar (20) Status_clana; //##ModelId=47B43EEA03DA Strucna sprema* theStrucnaSprema; //##ModelId=47B43EED012A Zanimanje* theZanimanje; //##ModelId=47B43EEF037A Radno mesto* theRadnoMesto; //##ModelId=47B43EF20290 Firma* theFirma; //##ModelId=47B43F29031C Opstina* theOpstina; //##ModelId=47B43F320157 Funkcija* theFunkcija; //##ModelId=47B43F380196 Krsna slava* theKrsnaSlava; //##ModelId=47B43F3F009E Mesni odbor* theMesniOdbor; //##ModelId=47B43F4403C8 Biracko mesto* theBirackoMesto; //##ModelId=47B9A29502BF dodaj(); 19
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
//##ModelId=47B9A29A031C ispravi(); //##ModelId=47B9A2A002DE obrisi(); //##ModelId=47B9A2AA0109 povezi(); protected: //##ModelId=47B431CB034B int JMBG; }; #endif /* _INC_CLANOVI_47B429BB03C8_INCLUDED */
9.1.2. Izvorni kod klase biračko mesto #include "stdafx.h" #include "clanovi.h" #include "BirackoMesto.h"
//##ModelId=47B9A22B02FD BirackoMesto::dodaj() { } //##ModelId=47B9A231001F BirackoMesto::ispravi() { } //##ModelId=47B9A3450186 BirackoMesto::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_BIRACKOMESTO_47B43C8D03B9_INCLUDED #define _INC_BIRACKOMESTO_47B43C8D03B9_INCLUDED class clanovi; //##ModelId=47B43C8D03B9 20
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
class BirackoMesto { public: //##ModelId=47B43C980109 int Biracko_mestoID; //##ModelId=47B43CA7004E varchar (20) BirackoMesto; //##ModelId=47B43F4403B9 clanovi* theclanovi; //##ModelId=47B9A22B02FD dodaj(); //##ModelId=47B9A231001F ispravi(); //##ModelId=47B9A3450186 obrisi(); }; #endif /* _INC_BIRACKOMESTO_47B43C8D03B9_INCLUDED */
9.1.3. Izvorni kod klase firma #include "stdafx.h" #include "clanovi.h" #include "Firma.h"
//##ModelId=47B9A188007D Firma::dodaj() { } //##ModelId=47B9A18D01C5 Firma::ispravi() { } //##ModelId=47B9A193006D Firma::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once 21
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
#endif #ifndef _INC_FIRMA_47B43BAA029F_INCLUDED #define _INC_FIRMA_47B43BAA029F_INCLUDED class clanovi; //##ModelId=47B43BAA029F class Firma { public: //##ModelId=47B43BB3036B int FirmaID; //##ModelId=47B43BBE008C varchar (50) Firma; //##ModelId=47B43EF20280 clanovi* theclanovi; //##ModelId=47B9A188007D dodaj(); //##ModelId=47B9A18D01C5 ispravi(); //##ModelId=47B9A193006D obrisi(); }; #endif /* _INC_FIRMA_47B43BAA029F_INCLUDED */
9.1.4. Izvorni kod klase funkcija #include "stdafx.h" #include "clanovi.h" #include "Funkcija.h"
//##ModelId=47B9A1A10148 Funkcija::dodaj() { } //##ModelId=47B9A1A7002E Funkcija::ispravi() { }
22
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
//##ModelId=47B9A1AC029F Funkcija::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_FUNKCIJA_47B43BDE0271_INCLUDED #define _INC_FUNKCIJA_47B43BDE0271_INCLUDED class clanovi; //##ModelId=47B43BDE0271 class Funkcija { public: //##ModelId=47B43BE9031C int FunkcijaID; //##ModelId=47B43BF4035B varchar (30) Funkcija; //##ModelId=47B43F320148 clanovi* theclanovi; //##ModelId=47B9A1A10148 dodaj(); //##ModelId=47B9A1A7002E ispravi(); //##ModelId=47B9A1AC029F obrisi(); }; #endif /* _INC_FUNKCIJA_47B43BDE0271_INCLUDED */
9.1.5. Izvorni kod klase krsna slava #include "stdafx.h" #include "clanovi.h" #include "KrsnaSlava.h"
//##ModelId=47B9A1E80399 KrsnaSlava::dodaj() { 23
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
} //##ModelId=47B9A1EE0186 KrsnaSlava::ispravi() { } //##ModelId=47B9A1F5034B KrsnaSlava::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_KRSNASLAVA_47B43C0C02AF_INCLUDED #define _INC_KRSNASLAVA_47B43C0C02AF_INCLUDED class clanovi; //##ModelId=47B43C0C02AF class KrsnaSlava { public: //##ModelId=47B43C180399 int Krsna_slavaID; //##ModelId=47B43C3100DA varchar (50) KrsnaSlava; //##ModelId=47B43F380186 clanovi* theclanovi; //##ModelId=47B9A1E80399 dodaj(); //##ModelId=47B9A1EE0186 ispravi(); //##ModelId=47B9A1F5034B obrisi(); }; #endif /* _INC_KRSNASLAVA_47B43C0C02AF_INCLUDED */
9.1.6. Izvorni kod klase Mesni odbor #include "stdafx.h" #include "clanovi.h" 24
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
#include "MesniOdbor.h"
//##ModelId=47B9A206006D MesniOdbor::dodaj() { } //##ModelId=47B9A20C03A9 MesniOdbor::ispravi() { } //##ModelId=47B9A2120280 MesniOdbor::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_MESNIODBOR_47B43C440213_INCLUDED #define _INC_MESNIODBOR_47B43C440213_INCLUDED class clanovi; //##ModelId=47B43C440213 class MesniOdbor { public: //##ModelId=47B43C5C0232 int Mesni_odborID; //##ModelId=47B43C730232 varchar (20) MesniOdbor; //##ModelId=47B43F3F009C clanovi* theclanovi; //##ModelId=47B9A206006D dodaj(); //##ModelId=47B9A20C03A9 ispravi(); //##ModelId=47B9A2120280 obrisi();
25
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
}; #endif /* _INC_MESNIODBOR_47B43C440213_INCLUDED */
9.1.7. Izvorni kod klase Opstina #include "stdafx.h" #include "clanovi.h" #include "Opstina.h"
//##ModelId=47B9A0B00000 Opstina::dodaj() { } //##ModelId=47B9A0FF0167 Opstina::ispravi() { } //##ModelId=47B9A328032C Opstina::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_OPSTINA_47B43A780000_INCLUDED #define _INC_OPSTINA_47B43A780000_INCLUDED class clanovi; //##ModelId=47B43A780000 class Opstina { public: //##ModelId=47B43A8A0399 int Sifra_OpstineID; //##ModelId=47B43AB2008C varchar (20) Opstina; //##ModelId=47B43F29030D clanovi* theclanovi; //##ModelId=47B9A0B00000 dodaj(); 26
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
//##ModelId=47B9A0FF0167 ispravi(); //##ModelId=47B9A328032C obrisi(); }; #endif /* _INC_OPSTINA_47B43A780000_INCLUDED */
9.1.8. Izvorni kod klase radno mesto #include "stdafx.h" #include "clanovi.h" #include "RadnoMesto.h"
//##ModelId=47B9A170003E RadnoMesto::dodaj() { } //##ModelId=47B9A174037A RadnoMesto::ispravi() { } //##ModelId=47B9A17A038A RadnoMesto::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_RADNOMESTO_47B43B62001F_INCLUDED #define _INC_RADNOMESTO_47B43B62001F_INCLUDED class clanovi; //##ModelId=47B43B62001F class RadnoMesto { public: //##ModelId=47B43B6E033C int Radno_mestoID; //##ModelId=47B43B8302DE 27
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
varchar (30) Radno_mesto; //##ModelId=47B43EEF036B clanovi* theclanovi; //##ModelId=47B9A170003E dodaj(); //##ModelId=47B9A174037A ispravi(); //##ModelId=47B9A17A038A obrisi(); }; #endif /* _INC_RADNOMESTO_47B43B62001F_INCLUDED */
9.1.9. Izvorni kod klase stručna sprema #include "stdafx.h" #include "clanovi.h" #include "StrucnaSprema.h"
//##ModelId=47B9A1260119 StrucnaSprema::dodaj() { } //##ModelId=47B9A12F01F4 StrucnaSprema::ispravi() { } //##ModelId=47B9A1360177 StrucnaSprema::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once #endif #ifndef _INC_STRUCNASPREMA_47B43ADF01F4_INCLUDED #define _INC_STRUCNASPREMA_47B43ADF01F4_INCLUDED class clanovi; //##ModelId=47B43ADF01F4 28
Daniel Hadnađev
Projektovanje IS – baze članstva političke stranke UML metodom
class StrucnaSprema { public: //##ModelId=47B43AF1030D int Strucna_spremaID; //##ModelId=47B43B020000 varchar (20) Strucna_sprema; //##ModelId=47B43EEA03D8 clanovi* theclanovi; //##ModelId=47B9A1260119 dodaj(); //##ModelId=47B9A12F01F4 ispravi(); //##ModelId=47B9A1360177 obrisi(); }; #endif /* _INC_STRUCNASPREMA_47B43ADF01F4_INCLUDED */
9.1.10. Izvorni kod klase zanimanje #include "stdafx.h" #include "clanovi.h" #include "Zanimanje.h"
//##ModelId=47B9A155002E Zanimanje::dodaj() { } //##ModelId=47B9A15B0290 Zanimanje::ispravi() { } //##ModelId=47B9A161009C Zanimanje::obrisi() { } #if defined (_MSC_VER) && (_MSC_VER >= 1000) #pragma once 29