Professional Documents
Culture Documents
IS
IS
TEHNIKI FAKULTET
Mihajlo Pupin
Zrenjanin
Profesor:
Studenti:
Smer:
diplomirani inenjer informatike
Zrenjanin, 2008.
Sadrzaj
1. OPIS POSTUPAKA RADA NA SEMINARSKOM RADU ( METODE,
POSTUPCI )
4
1.1. Strateko planiranje razvoja softvera
1.2. Modelovanje
1.5. Testiranje
2. OPIS POSLA
3. SNIMAK STANJA
4. SSA
13
13
14
14
14
14
14
15
15
16
17
18
9. CLASS DIAGRAM
19
20
22
1.5. Testiranje
2. Opis posla
Skrobara je firma koja se bavi proizvodnjom skroba preradjivanjem sirovina.
Sirovine mogu biti bilo koja organska materija koja sadrzi skrob. Sirovine
dostavljaju dobavljaci koje se zatim mere. U zavisnosti od donete kolicine robe,
isplacuje se dobavljac. Sama proces prerade robe je dat u dokumentu nacin
rada.doc Informacioni sistem je potreban ovom preduzecu da bi lakse imao uvid u
svoje poslovanje i povecanje efikasnosti.
Sam informacioni sistem se bazira na tome da u svojoj bazi podataka sadrzi
sve potrebne informacije potrebne za automatizaciju skrobare. U toj bazi se nalazi
lista administrativnih radnika kojima je dozvoljen pristup aplikaciji. Prilikom
samog pokretanja aplikacije otvara se prozor za prijavljivanje gde radnik moze da
se identifikuje preko korisnickog imena i korisnicke sifre.
3. Snimak stanja
Posmatrana firma vec ima standardni funkcionisanja. Ona funkcionise tako
sto se svaki podatak upisuje na posebne obrazce, tako da imamo dokument o
predaji robe, dokument o isplati, dokument o izvrsenoj hemijskoj analizi... Ta
dokumenta idu iz odeljenja do odeljenja firme ostvarujuci komunikaciju unutar
firme koja je potrebna za njeno funkcionisanje.
Od racunara jedino postoje par u odseku za racunovodstvo gde se koristi
Microsoft Office paket za skladistenje finansijskih podataka. Uvodjenjem
informacionog sistema ostvarila bi se brza unutrasna komunikacija ali bi se moralo
nabaviti za svako odeljenje bar po jedan PC racunar na kome bi se instalirao
odredjeni deo informacionog sistema.
4. SSA
Root Process
Process Tree
IS Skrobare [1]
Menadzment [1.3]
Prerada sirovina [1.4]
Prijem sirovina [1.1]
Prodaja skroba [1.2]
Graph
Banka
Dobavljac
si rovina
1
IS Skrobare
Kupac
skroba
Process IS Skrobare
Code:
Label:
Number:
Lowest Level:
Name:
PRCS_1
IS Skrobare
1
No
Connected to
S
rc
D
st
X
X
X
X
X
X
X
X
Lists of objects
External Entity List
Name
Code
BANKA
DOBAVLJAC_SIROVINA
KUPAC_SKROBA
Banka
Dobavljac sirovina
Kupac skroba
Domain List
Name
NaziviSirovina
Code
NAZIVISIROVINA
Type
TXT
Code
EVIDENCIJA_PRERADJENIH_SIROVINA
EVIDENCIJA_PRIJEMA_SIROVINA
EVIDENCIJA_UPLATA_I_ISPLATA
Code
ADRESADOBAVLJACA
CENASIROVINE
IDENTIFIKACIONIBROJDOSTA
Type
TXT
DC
I
IDENTIFIKACIONIBROJZAHTE
JEDINICNACENA
KLIJAVOST
KOLICINADONETESIROVINE
KOLICINASIROVINE
KOLICINASKROBA
NAZIVDOBAVLJACA
NAZIVISPLATIOCA
NAZIVISPORUCIOCA
NAZIVKUPCA
NAZIVPREUZIMAOCA
NAZIVSIROVINE
OTPAD
PROCENATSKROBA
UKUPNACENA
VLAZNOST
VREMEIZDAVANJA
DC
DC
DC
DC
DC
TXT
TXT
TXT
TXT
TXT
TXT
DC
DC
DC
DC
DT
VE
IdentifikacioniBrojZahteva
VA
JedinicnaCena
Klijavost
KolicinaDoneteSirovine
KolicinaSirovine
KolicinaSkroba
NazivDobavljaca
NazivIsplatioca
NazivIsporucioca
NazivKupca
NazivPreuzimaoca
NazivSirovine
Otpad
ProcenatSkroba
UkupnaCena
Vlaznost
VremeIzdavanja
Process List
Name
IS Skrobare
Code
PRCS_1
Subprocess IS Skrobare
Graph
Dobavljac
sirovina
Dobavljac
sirovina
Prerada
sirovina
Upis pristiglih sirovina
1.1
Prijem
sirovina
Banka
1.4
1.3
Menadzment
Evidenc ija preradjenih sirovina
Dobavljac
sirovina
1.2
Evidencija uplata i
isplata
Prodaja
skroba
Kupac
skroba
Subprocess Menadzment
Code:
Label:
Number:
Lowest Level:
Name:
MENADZMENT
Menadzment
1.3
No
Connected to
S
rc
D
st
Store)
Izvestaj o izvrsenoj uplati na tekuci
racun
Pregled pristiglih sirovina i potrebnih
uplata
Store)
Uplatnica na tekuci racun
Name:
Prerada sirovina
PRERADA_SIROVINA
1.4
No
Connected to
S
rc
D
st
Store)
Pregled pristiglih sirovina
Store)
Name:
Prijem sirovina
PRIJEM_SIROVINA
1.1
No
Connected to
S
rc
X
X
X
X
X
X
Store)
Rezultati hemijske analize
Upis pristiglih sirovina
Store)
Name:
Prodaja skroba
PRODAJA_SKROBA
1.2
No
D
st
Connected to
S
rc
D
st
X
X
Store)
Pregled stanja skroba za prodaju
Store)
Zahtev za otkupom skroba
POTVRDA_O_DONETOJ_ROBI:
<
IDENTIFIKACIONIBROJDOSTAVE,
VREMEIZDAVANJA,
NAZIVDOBAVLJACA,
ADRESADOBAVLJACA,
{<
NAZIVSIROVINE,
KOLICINADONETESIROVINE
>},
NAZIVPREUZIMAOCA
>;
REZULTATI_HEMIJSKE_ANALIZE:
<
IDENTIFIKACIONIBROJDOSTAVE,
{<
NAZIVSIROVINE,
VLAZNOST,
KLIJAVOST,
OTPAD,
PROCENATSKROBA
>}
>;
POTVRDA_O_PRODAJI_SIROVINA:
<
IDENTIFIKACIONIBROJDOSTAVE,
VREMEIZDAVANJA,
NAZIVDOBAVLJACA,
{<
NAZIVSIROVINE,
KOLICINASIROVINE,
JEDINICNACENA,
CENASIROVINE
>},
UKUPNACENA,
NAZIVISPLATIOCA
>;
IZVESTAJ_O_IZVRSENOJ_UPLATI:
<
ADRESADOBAVLJACA,
NAZIVDOBAVLJACA,
NAZIVISPLATIOCA,
UKUPNACENA,
VREMEIZDAVANJA,
IDENTIFIKACIONIBROJDOSTAVE
>;
UPLATNICA_NA_TEKUCI_RACUN:
<
ADRESADOBAVLJACA,
NAZIVDOBAVLJACA,
NAZIVISPLATIOCA,
UKUPNACENA,
VREMEIZDAVANJA,
IDENTIFIKACIONIBROJDOSTAVE
>;
IZVESTAJ_O_IZVRSENOJ_UPLATI_NA_TEKUCI_RACUN:
<
ADRESADOBAVLJACA,
NAZIVDOBAVLJACA,
NAZIVISPLATIOCA,
UKUPNACENA,
VREMEIZDAVANJA,
IDENTIFIKACIONIBROJDOSTAVE
>;
ZAHTEV_ZA_OTKUPOM_SKROBA:
<
IDENTIFIKACIONIBROJZAHTEVA,
NAZIVKUPCA,
KOLICINASKROBA,
VREMEIZDAVANJA
>;
DOSTAVNI_LIST_ROBE:
<
VREMEIZDAVANJA,
IDENTIFIKACIONIBROJZAHTEVA,
NAZIVKUPCA,
KOLICINASKROBA,
JEDINICNACENA,
NAZIVISPORUCIOCA
>;
Isplata
<<zavisi>>
Prijava dostave
Administrativni radnik
<<zavisi>>
Dobavljac
Predaja robe
Izvestavanje o rezultatima merenja
<<zavisi>>
Hemjisko ispitivanje
<<zavisi>>
Tehnicar
Slanje rezultata
Hemijski tehnicar
Merenje
<<sadrzi>>
<<sadrzi>>
<<sadrzi>>
Merenje robe
Istovar
Priprema
Administracija
Isplata prijema
Administracija robe ( Pregled, unos, izmena i brisanje )
Korisnik
Stampanje prijema
Prijava na sistem
Pregled prijema
5.3.3. Exceptions
<exception NEDOZVOLJENA VREDNOST ZA KOLICINU>
Uneti tekst u tekst boks nije prepoznatljiva numericka vrednost
5.3.4. Pre-Conditions
Otvorena je glavna forma odakle se poziva ovaj slucaj koriscenja.
5.3.5. Post-Conditions
Ako je pritisnuto dugme "Prijavi" snimanje promena u bazu.
Prijava dobavljaca
[Da]
Isplata dobavljaca
Da li se isplacuje odmah
[Ne]
Baza prijema
Donosilac robe
Identifier_1 <pi>
IdPrijem
<pi> Integer
<M>
Kolicina
Decimal (18,2) <M>
ZaIsplatu
Decimal (18,2) <M>
Isplaceno
Boolean
<M>
DatumPrijema
Date & Time
<M>
DatumIsplate
Date & Time
<M>
Identifier_1 <pi>
Doneta roba
Mesto stanovanja
Mesto
Roba
Unosilac prijema
Identifier_1 <pi>
Identifier_1 <pi>
Mesto stanovanja
AdministrativniRadnik
idAdministrativniRadnik <pi> Integer
<M>
Ime
Variable multibyte (25) <M>
Prezime
Variable multibyte (25) <M>
Adresa
Variable multibyte (50) <M>
Telefon
Variable multibyte (15) <M>
Email
Variable multibyte (20) <M>
KorisnickoIme
Variable multibyte (20) <M>
KorisnickaSifra
Variable multibyte (20) <M>
Identifier_1 <pi>
Prijem
IdPrijem
IdDobavljac int
<pk>
idAdministrativniRadnik
IdMesto
int
<fk>
IdDobavljac
Naziv
nvarchar(50)FK_PRIJEM_DONOSILAC_DOBAVLJA
IdRoba
Adresa
nvarchar(50)
Kolicina
Telefon
nvarchar(15)
ZaIsplatu
Email
nvarchar(20)
Isplaceno
DatumPrijema
DatumIsplate
int
int
int
int
decimal(18,2)
decimal(18,2)
bit
datetime
datetime
<pk>
<fk3>
<fk2>
<fk1>
FK_DOBAVLJA_MESTO_STA_MEST O
FK_PRIJEM_UNOSILAC__ADMINISTFK_PRIJEM_DONET A_RO_ROBA
Mesto
AdministrativniRadnik
idAdministrativniRadnik
IdMesto int
<pk>
FK_ADMINIST _MESTO_STA_MESTO
IdMesto
Naziv
nvarchar(50)
Ime
Ptt
nvarchar(7)
Prezime
Adresa
Telefon
Email
KorisnickoIme
KorisnickaSifra
int
<pk>
int
<fk>
nvarchar(25)
nvarchar(25)
nvarchar(50)
nvarchar(15)
nvarchar(20)
nvarchar(20)
nvarchar(20)
Roba
IdRoba int
<pk>
Naziv
nvarchar(50)
Cena
decimal(18,2)
9. Class Diagram
Dijagram klasa pripada statickom modelu sistema i prikazuje staticku
strukturu klasa u sistemu. Klase predstavljaju objekte koje sistem obradjuje, a
mogu se nalaziti u razlicitim tipovima medjusobnih odnosa: asocijaciji (povezane
jedna sa drugom), agregaciji (zavisne jedna od druge), specijalizaciji (jedna je
specijalan slucaj - podklasa druge), ili spakovane (grupisane kao celina). Opis
sistema moze da sadrzi vise dijagrama klasa.
Prijem
Dobavljac
+
+
+
+
+
-
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
+
+
+
+
+
+
+
+
+
+
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
IdDobavljac
Naziv
Adresa
Telefon
Email
_IdDobavljac
_Naziv
_Adresa
_Telefon
_Email
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
int
string
string
string
string
int
string
string
string
string
0..*
1..1
void
int
void
string
void
string
void
string
void
string
+
+
+
+
+
+
-
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
+
+
+
+
+
+
+
+
+
+
+
+
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
IdPrijem
Kolicina
ZaIsplatu
Isplaceno
DatumPrijema
DatumIsplate
_IdPrijem
_Kolicina
_ZaIsplatu
_Isplaceno
_DatumPrijema
_DatumIsplate
:
:
:
:
:
:
:
:
:
:
:
:
int
decimal
decimal
bool
DateTime
DateTime
int
decimal
decimal
bool
DateTime
DateTime
:
:
:
:
:
:
:
:
:
:
:
:
Roba
void
int
void
decimal
void
decimal
void
bool
void
DateTime
void
DateTime
0..*
1..1
AdministrativniRadnikHelper
+
+
+
+
+
+
GetAll ()
: AdministrativniRadnik[]
GetBy_KorisnickoIme_KorisnickaSifra (String KorisnickoIme, String KorisnickaSifra) : AdministrativniRadnik
GetBy_IdAdministrativniRadnik (int IdAdministrativniRadnik)
: AdministrativniRadnik
Insert (AdministrativniRadnik AdministrativniRadnik)
: void
Update (AdministrativniRadnik AdministrativniRadnik)
: void
Delete (AdministrativniRadnik AdministrativniRadnik)
: void
<<Property>>
<<Property>>
<<Property>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
+
+
+
+
+
+
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
PrijemHelper
+
+
+
+
+
+
+
+
+
+
+
+
+
GetAll ()
GetBy_IdDobavljac (int IdDobavljac)
Insert (Dobavljac Dobavljac)
Update (Dobavljac Dobavljac)
Delete (Dobavljac Dobavljac)
RobaHelper
MestoHelper
GetAll ()
GetBy_IdMesto (int IdMesto)
Insert (Mesto Mesto)
Update (Mesto Mesto)
Delete (Mesto Mesto)
:
:
:
:
:
:
DobavljacHelper
GetAll ()
: Prijem[]
GetBy_IdPrijem (int IdPrijem)
: Prijem
GetBy_DatumPre_DatumPosle (DateTime DatumPre, DateTime DatumPosle) : Prijem[]
GetBy_Neisplaceno ()
: Prijem[]
GetBy_IdDobavljac (int IdDobavljac)
: Prijem[]
Insert (Prijem Prijem)
: void
Update (Prijem Prijem)
: void
Delete (Prijem Prijem)
: void
+
+
+
+
+
IdMesto
Naziv
Ptt
_IdMesto
_Naziv
_Ptt
:
:
:
:
:
Mesto[]
Mesto
void
void
void
+
+
+
+
+
GetAll ()
GetBy_IdRoba (int IdRoba)
Insert (Roba Roba)
Update (Roba Roba)
Delete (Roba Roba)
:
:
:
:
:
Roba[]
Roba
void
void
void
:
:
:
:
:
Dobavljac[]
Dobavljac
void
void
void
:
:
:
:
:
:
int
string
string
int
string
string
void
int
void
string
void
string
1..1
+
+
+
+
+
+
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
+
+
+
+
+
+
+
+
-
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<Property>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
<<Setter>>
<<Getter>>
IdRoba
Naziv
Cena
_IdRoba
_Naziv
_Cena
:
:
:
:
:
:
:
:
:
:
:
:
int
string
decimal
int
string
decimal
void
int
void
string
void
decimal
AdministrativniRadnik
1..1
Mesto
+
+
+
-
<<Property>>
<<Property>>
<<Property>>
<<PropertyImplementation>>
<<PropertyImplementation>>
<<PropertyImplementation>>
0..*
0..*
1..1
+
+
+
-
0..*
idAdministrativniRadnik
Ime
Prezime
Adresa
Telefon
Email
KorisnickoIme
KorisnickaSifra
_idAdministrativniRadnik
_Ime
_Prezime
_Adresa
_Telefon
_Email
_KorisnickoIme
_KorisnickaSifra
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
int
string
string
string
string
string
string
string
int
string
string
string
string
string
string
string
void
int
void
string
void
string
void
string
void
string
void
string
void
string
void
string
:DobavljacHelper
:RobaHelper
Administrativni radnik
1: Instanciranje
2: Instanciranje kontrola
3: Trazenje dobavljaca
4: Vracanje dobavljaca
5: Popunjavanje combobox a rezultatima
6: Trazenje svih roba
7: Vracanje svih roba
8: Popunjavanje combobox a rezultatima
9: Prikazivanje
10: Unos podataka
11: Potvrda unosa
12: Unos novog prijema u bazu
13: Rezultat unosa
14: Prikazivanje rezultata unosa
:PrijemHelper
frmPocetna
:DobavljacHelper
:MestoHelper
:RobaHelper
:PrijemHelper
Administrativni radnik
btnPrijavaPrijem a_Click
frmPrijavaPrijema frm = new frmPrijavaPrijem a()
frmPrijavaPri jema
PrijavaPrij ema_Load
DobavljacHelper.GetAl l()
dobavljaci
MestoHelper.GetAll()
mesta
RobaHelper.GetAll()
robe
cmbMesto.Items.AddRange(mesta);
cmbDobavljaci.Items.AddRange(dobavljaci );
cmbRoba.Items.AddRange(robe);
frm.ShowDialog()
Odabir dobavljaca
cmbDobavljaci_SelectedIndexChanged(object sender, EventArgs e)
Prikazi informacije o dobavljacu
Odabir robe
cmbRoba_SelectedIndexChanged(object sender, EventArgs e)
MessageBox.Show( "Potvrda?" )
Da
PrijemHelper.Insert(p);
this.Close();
:Prijem
Isplata
Pregled prijema