Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
311
UDK: 004.4 Stručni rad
PRIMENA SOFTVERSKOG INŽENJERSTVA U RAZVOJU INFORMACIONOG SISTEMA
ENGENEERING SOFTWARE APPLICATION IN
DEVELOPEMENT OF THE INFORMATION SYSTEM
Selver Pepić1, Goran Miodragović1, Slobodan Ivanović1, Zoran Lončarević2 1Visoka tehnička mašinska škola strukovnih studija Trstenik
2Visoka škola strukovnih studija za IT Beograd [email protected], [email protected] [email protected], [email protected]
Rezime: U radu je predstavljena analiza, dizajn i implementacija aplikacije za mlekaru.
Strategija razvoja bazira se na korišćenju domaćih sirovina, modernizaciji proizvodnih
procesa i održavanju kvaliteta sa akcentom na njegovo poboljšanje. Sama organizacija
poslova u proizvodnji mleka i mlečnih proizvoda podeljena je u nekoliko segmenata i to:
ulazne sirovine, proces proizvodnje i izlaz gotovih proizvoda i distribucija. Aplikacija je
razvijena u C# programskom jeziku.
Ključne reči: Desktop aplikacija, UML dijagram, C# .
Abstract: The paper presents the analysis, design and implementation of applications for
the dairy. The development strategy is based on the use of domestic raw materials,
modernization of production processes and maintain quality with a focus on
improvement. The organization of labor in the production of milk and dairy products is
divided into several segments, including: raw material input, process and output of
finished products and distribution. The application is developed in C # programming
language.
Key words: Desktop application, UML diagram, C# .
1. OBJEKTNO ORIJENTISANA ANALIZA I DIZAJN
Potreba za univerzalnim jezikom za objektno – orijentisano modelovanje se javila
shodno tome što analiza i dizajn omogućava svim učesnicima u razvoju aplikacije da na
jednostavan i sveobuhvatan način steknu uvid u analizu i implementaciju konkretnog
problema. Dakle, rezultat je UML (eng. Unifed Modeling Language) grafički jezik za
vizuelizaciju, specifikaciju, konstruisanje i dokumentovanje sistema programske podrške,
a pogodan je za dizajn i razvoj različitih informacionih, transportnih, komunikacionih i
drugih kompleksnih sistema. UML se koristi se različitim fazama razvoja, od
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
312
specifikacije zahteva do testiranja završenih, gotovih sistema [7]. UML je moćan i bogat
opcijama i nudi različite dijagrame, za različite svrhe, sa jasno definisanom semantikom
koja ne zavisi od implementacije i procesa. UML podržava apstrakcije i ima široku
primenu.
Uopšteno, prilikom modelovanja za aplikacije, kakva je ova predstavljena u radu, treba
najpre odraditi slučajeve korišćenja, koji predstavljaju osnovu za razvoj svih ostalih
dijagrama. Preko dijagrama klasa i dijagrama objekata prikazuje se statički aspekt
sistema, a dinamički aspekt se prikazuje preko dijagrama interakcije, dijagrama promene
stanja i dijagrama aktivnosti [4]. Prikazuje se distribucija hardverskih komponenti i
instalacija softverskih komponenti na njima. U okiviru ovog projekta, mogu se uočiti
sledeći učesnici i to: službenik, radnik, kupac, proizvodjač sirovog mleka, dostavljač
repromaterijala i serviser. Na sledećem dijagramu slučajeva korišćenja mogu se uočiti
njihove nadležnosti odnosno slučajevi za koji su oni zaduženi i aktivnosti koje obavljaju.
Slučajevi korišćenja modeluju dijalog između izvođača i sistema. Skupom slučajeva
korišćenja, za neki sistem, se mogu ustanoviti svi definisani načini na koje sistem može
biti korišćen.
Slika 1. Proceces prijema sirovog mleka, proizvodnje i distribucije mleka i mlečnih
proizvoda
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
313
2. DIJAGRAM KLASA Dijagram klasa je jedan od najčešće korišćenih dijagrama u UML-u koji se može
definisati kao dijagram koji opisuje tipove objekata u sistemu i različite vrste statičkih
veza koje postoje među njima.
Slika 2. Class diagram – Mlekara
3. DIJAGRAMI SEKVENCI Predstavlja aktivnosti koje se mogu ponavljati više puta. U nastavku će biti predstavljeni
pojedini dijagrami sekvenci.
Slika 3. Sequence diagram – Naručivanje gotovih
proizvoda
Slika 4. Sequence diagram – Naručivanje
gotovih proizvoda
4. DIJAGRAMI AKTIVNOSTI Dijagram aktivnosti je pojednostavljen prikaz onoga što se događa za vreme operacije ili
procesa. Pokazuje korake u operaciji ili procesu, koji su nazvani aktivnosti, ali i tačke
odluke (decision points) i grane (ogranke). Koristi se npr. za prikazivanje poslovnog
procesa ili operacije. Unastavku će biti predstavljeni pojedini dijagrami aktivnosti.
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
314
Slika 5. Activity diagram – Porudžbina
Slika 6. Activity diagram – Pregled
gotovih proizvoda
Slika 7. Activity diagram – Pregled i unos novih
proizvođača sirovog mleka
Slika 8. Activity diagram – Plaćanje
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
315
4. DIJAGRAMI SARADNJE
Dijagram saradnje prikazuje interakciju objekata koji ostvaruju ponašanje određenog
slučaja korišćenja ili dela slučaja korišćenja. Koriste ga projektanti radi definisanja i
objašnjavanja uloga objekata koji izvršavaju određeni tok događaja slučaja korišćenja.
Oni su primarni izvor informacije za određivanje odgovornosti klasa i njihovih odnosa.
Zbog njegovog formata pogodniji su za opisivanje jednostavnijih interakcija malog broja
objekata. Kako broj objekata i poruka počne da raste, tada dijagram postaje teško čitljiv.
Unastavku će biti predstavljeni pojedini dijagrami saradnje.
Slika 9. Communication diagram – Predaja sirovog
mleka
Slika 10. Communication diagram – Reklamacija
gotovog proizvoda
5. INFORMACIONI SISTEM MLEKARE
Ova aplikacija prestavlja informacioni sistem za proizvodnju mleka i mlečnih proizvoda.
U ovoj aplikaciji su ugrađene komponete koje mogu kontorlisati proces proizvodnje od
procesa nabavke sirovog mleka pa sve do konačnog proizvoda (mleka i mlečnih
proizvoda).
Proces je odvojen u nekoliko celina i to:
1. proces prikupljanja sirovog mleka
2. proces pripreme za proizvodnju (unosom dobijenog sirovog mleka u aplikaciju i
unos ostalog repromaterijala)
3. proces proizvodnje (unosom radnog naloga i naloga za proizvodnju)
4. proces distribuiranja mleka do sopstvenih prodavnica ili kupaca.
U ovoj aplikaciji smo koristili komponente “DevExpress DXperience 12.2”.
Konektovanje koje smo kuristili ovde za povezivanje na bazu je ODBC Microsoft
Access povezivanje. Aplikacija koristi automatski DataSet i koristili smo TableAdapter-
e i Query-e.
Zbog obimnosti koda i same aplikacije prikazaćemo samo pojedine screenschoot-ove
prozora aplikacije i fragmente C# koda.
U vrhu je meni sa opcijama. Klikom na određeni button dobijamo posebne prozore koji
se otvaraju kao tabovi u osnovnom programu, sto prestavlja sistem MDI otvaranja formi.
Osnovna ili main forma je mlekara_main. Kod forme je sledeći:
namespace MlekaraIS{
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
316
public partial class mlekara_main : RibbonForm{
public mlekara_main(){
InitializeComponent();
InitSkinGallery();
UserLookAndFeel.Default.StyleChanged += new
EventHandler(OnLookAndFeelStyleChanged);
IniFile ini = new
IniFile(System.IO.Directory.GetCurrentDirectory().ToString() +
"\\dodaci\\MlekaraIS.ini");
string skinName = ini.IniReadValue("MlekaraIS", "skinName");
UserLookAndFeel.Default.SetSkinStyle(skinName);
}
public int broj_magacina, user_idd, veleprodaja_maloprodaja;
public int id_kupac, id_firme, broj_firme, poreski_obveznik;
public string opis_magacina, user, naziv_firme;
Slika 11. Glavni meni aplikacije
Forma za izdavanje računa:
public partial class f_racun : DevExpress.XtraEditors.XtraForm{
public f_racun(){
InitializeComponent();
}
public int broj_magacina, id_kupac, broj_firme;
public int veleprodaja_maloprodaja;
public int trebovanje_repromaterijala;
public int radnik_id;
…
Slika 12. Forma za izdavanje računa
Slika 13. Forma za ulazne kalkulacije
public partial class f_kalkulacije : DevExpress.XtraEditors.XtraForm{
public f_kalkulacije(){
InitializeComponent();
}
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
317
Slika 14. Forma za unos izmenu i prikaz artikala
Slika 15. Radni nalog
public partial class f_roba : DevExpress.XtraEditors.XtraForm{
public f_roba(){
InitializeComponent();
}
public int broj_magacina, id_kupac, broj_firme;
public int veleprodaja_maloprodaja;
public int radnik_id;
public string opis_magacina;
private int izmenjene_cene = 0;
Proizvodnja radi na principu normativa za svaki proizvod se podese normativi koji
označavaju ono što je potrebno da bi se jedan proizvod napravio tj šta će od
repromaterijala biti utrošeno.
Nakon toga se prave podešavanja koja će označiti koji magacini u aplikaciji prestavljaju
određene dijelo preduzeća koji se koriste za proizvodnju. I to magacin repromaterijala,
magacin koji označava proizvodnju i na kraju magacin gde će se odlagati gotovi
proizvodi.
Sve ovo je potrebno zato sto je kada se kreira radni nalog za prozvodnju nekog proizvoda
aplikacija će automatski da kreira i ostale naloge kao što su nalog za potrebni
repromaterijal, nalog za prijem tog repromaterijala u proizvodnji i nalog za proizvodnju
koji će dobiti rdnici koji rade u proizvodnji.
Radni nalog izgleda kaon a sledećoj slici.
public partial class f_radni_nalog : DevExpress.XtraEditors.XtraForm {
public f_radni_nalog(){
InitializeComponent();
}
public int broj_magacina, id_kupac, broj_firme;
public int radnik_id;
public string opis_magacina;
private int max_broj_rad_naloga = 0, broj_decimala = 0,
broj_magacina_repromaterijala = 0, broj_magacina_proizvodnje = 0,
broj_magacina_gotovih_proizvoda = 0;
private int vrsta_dokumenta_knjiz_repromaterijala = 0,
vrsta_dokumenta_knjiz_proizvodnje = 0, vrsta_dokumenta_knjiz_gotovih_proizvoda =
0;
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17
318
Trebovanje repromaterijala možemo videti i na klik button trebovanje repromaterijala
stim da je kod isti za račun, gde setovanjem varijable “trebovanje_repromaterijala” na
vrednost 1 dobijamo drugi izgled forme i magacin po difoltu postaje magacin
repromaterijala.
Slika 16. Forma za trebovanje repromaterijala
Slika 17. Forma za unos u magacin gotovih
proizvoda
ZAKLJUČAK
U radu je predstavljen informacioni sistem mlekare kroz efikasno modeliranje složenog
realnog sistema i implementaciju koja rezultuje modelima koji su eksplicitni, razumljivi i
modularni i koji se mogu efikasno ažurirati, distribuirati i raditi pod različitim
platformama i operativnim sistemima.
LITERATURA [1] B. Johnson, P. Madziak and S. Morgan (2008). MCTS Self-Paced Training Kit,
Microsoft Press.
[2] A. Veljović (2004). UML osnove objektnog programiranja. Kompjuter biblioteka,
Beograd.
[3] M. Price (2016). C# 6 i .NET Core 1.0 moderno međuplatformsko programiranje.
Kompjuter biblioteka. Beograd.
[4] Park, D., Kang, S., Design phase analysis of software performance using aspect
oriented programming, Proc.5th. Aspect-oriented Modeling Workshop, 2004.
[5] D. Berardi, D. Calvanese, G.D Giacomo (2003), Reasoning on UML class diagrams,
Technical Report 11- 03, Dipartimento di Informatica e Sistemistica, Universita di
Roma,"La Sapienza".
[6] W. Harrison, C. Barton, M. Raghavachari (2000), Mapping UML Designs to Java
Proc. Conf. on ObjectOriented programming, systems, languages and applications,
178-187, Oct.
[7] Ojo, E. Estevez, Object-Oriented Analysis and Design with UML,
www.cd3wd.com/CD3WD_40/UNU_JAVA/19/repor t19.pdf