PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola...

8
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 1 Visoka tehnička mašinska škola strukovnih studija Trstenik 2 Visoka škola strukovnih studija za IT Beograd 1 [email protected], 1 [email protected] 1 [email protected], 2 [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

Transcript of PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola...

Page 1: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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

Page 2: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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

Page 3: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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.

Page 4: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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

Page 5: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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{

Page 6: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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();

}

Page 7: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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;

Page 8: PRIMENA SOFTVERSKOG INŽENJERSTVA U … Pepic, Goran... · 1Visoka tehnička mašinska škola strukovnih studija ... slučaja korišćenja ili ... Konektovanje koje smo kuristili

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