Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 33

Univerzitet u NovomSadu

Tehničkifakultet „Mihajlo Pupin”


Zrenjanin

INFORMACIONI SISTEMI U OBRAZOVANJU

Tema:
Završni ispit u osnovnoj školi

Student: Kusalo Tamara


Profesor: Doc. dr Kazi Zoltan

Školska 2019/2020. godina


1.Uvod..............................................................................................................................................3
2.Opis posla......................................................................................................................................3
3.Model procesa – strukturna sistem analiza....................................................................................3
1.Stablo procesa............................................................................................................................3
1.1IS Završni ispit u osnovnoj školi – rezultati............................................................................3
1.2Profesor....................................................................................................................................3
1.3Administracija.........................................................................................................................3
3.3Rečnik podataka......................................................................................................................5
3.4 Opis logike primitivnog procesa............................................................................................6
4.Modeli podataka............................................................................................................................7
4.1EER model podataka – CDM Model.......................................................................................7
4.2Relacioni model podataka – PDM Model...............................................................................8
5. Objektni model softvera.............................................................................................................13
5.1Dijagrami slučajeva korišćenja – Use Case...........................................................................13
6. Program (PHP web aplikacija)...................................................................................................15
6.1. Opis programa, struktura programa, ekranski prikazi.........................................................15
6.2 Izveštaj..................................................................................................................................20
6.3. Realizacija programa, opis implementacije, programski kod.............................................21
7.Literatura:....................................................................................................................................29
Nparavis folder sa nazivom tvog projekta, preuzmi font, style, meni
od mene ili njega, a samo meni ces menjati prema svom radu.
Napravi foldere kao kod mene I tu ces smestiti sve što radis.

1.Uvod

Tema, organizacioni sistem: Škola, završni ispit u osnovnoj školi

2.Opis posla – ovo ne valja ovako detaljno, samo ono što je u


modelima pises

Nakon završetka školske godine radi se završni ispit u osnovnoj školi. Ispit se sastoji iz tri
predmeta: maternji jezik, matematika i kombinovani test. Nakon završetka pregledanja ispita,
rezultati se šalju profesorima/nastavnicima, a oni ih klasifikuju u kategorijama i upisuju na sajt.
Profesor evidentira osnovne podatke o upisanim učenicima i otvara svakom «dosije» učenika.
Podatke o učenicima (prezime, ime, ime roditelja/staraterlja, prezime roditelja/staratelja) dobija
od razrednog starešine.
Kada su upisani učenik i njegovi rezultati, svaki učenik moze dobiti svoj broj dosijea, kojim će
moći da pretrazi svoje rezultate, a ta pretraga se moze obaviti i po mestu u kom učenik živi.
Takođe, mogu se odstampati rezultati po mestima na kojima su učenici upisani – mesto boravka.
3.Model procesa – strukturna sistem analiza

– ovo iz tvojih modela pises

1.Stablo procesa

1.1IS Završni ispit u osnovnoj školi – rezultati


1.2Profesor
1.3Administracija

3.2. Dijagrami toka podataka


Dijagram DTP 0.nivo

– u PowerDesigneru udjes u create models i onda Physical data. Tako napravis ovaj dijagram,
prema svojoj temi (izmislis kako izgleda).

U tom dijagramu, sa strane levo imas processes tu otovris novi process odnosno pravis ovaj dtp1
I onda ces dobti onaj plus gore u dtp0 što ima. I naravno, preimenujes ih u dtp1 I dtp0.
Sačuvaj sve to u novom models folderu gde ce ti biti rad.

Dijagram DTP 1.nivo dekompozicije

3.3Rečnik podataka
– ovaj rečnik podataka nije dobar kod mene jer nemam sve podatke ,a treba da imas sve
podatke od tvojih entiteta (učenik, profesor … )

Spisak elementarnih podataka

Ime Oznaka Vrsta


Ime roditelja / staratelja Ime roditelja / staratelja Structured Data
Prezime roditelja / staratelja Prezime roditelja / staratelja Elementary Data
Ime učenika Ime učenika Elementary Data
Prezime učenika Prezime učenika Elementary Data

- Ovo sam izmislila, u sustini napisi ovako samo podatke iz tvoje teme

Struktura tokova i skladišta podataka

Struktura toka podataka:

Podaci o učenicima:

<
Broj dosijea,
{Ime i prezime roditelja/staratelja},
Imeucenika,
Prezimeucenika,
>.

Struktura skladišta podataka

Administracija učenika:

{<
[{Ime i prezime roditelja},
Ime i prezime staratelja],
Ime ucenika,
Prezime ucenika,
Broj dosijea,
>}.

3.4 Opis logike primitivnog procesa


Ides u Business Process model I napravis ovaj algoritam za svoj rad. Uglavnom ovako
izgleda, samo sa tvojim podacima.
4.Modeli podataka
4.1EER model podataka – CDM Model

Kompletna šema sa entitetima i atributima

Conceptual diagram, napravis ovo (te alatke za pravljenje modela su skroz desno) I kliknes
dvaput na njih I upisujes podatke, sve to napises isto kao kod mene ili njega. To sve pises u
Attributes, a u Identifiers stavis ID tabele. Kod svakog sa strane oznacis kao M.
4.2Relacioni model podataka – PDM Model

Iz prethodnog CDM modela, generises ovo tako što ides na tools – generate physical data model I
ako treba stavis DBMS na Mysql 5.0

Kompletna šema sa tabelama


Ovo kopiras od mene ili njega sa svojim podacima

Spisak atributa sa tipovima podataka, primarnim ključevima, indeksima i ograničenjima

Naziv Tabela Tip Duž Primarni Strani Obavezan


podataka ina ključ ključ podatak
Ime učenika Učenik varchar(25) 25 FALSE TRUE TRUE

Prezime učenika Ucenik varchar(25) 25 FALSE TRUE TRUE

Broj dosijea Ucenik varchar(10) 10 FALSE TRUE TRUE

Ime roditelja / staratelja Učenik varchar(25) 25 FALSE TRUE TRUE

Prezime Učenik varchar(25) 25 FALSE TRUE TRUE


roditelja/staratelja
IDučenika Učenik int TRUE FALSE TRUE
Naziv mesta Mesto varchar(40) 40 FALSE TRUE TRUE

PTT mesta Mesto long 20 FALSE TRUE TRUE


integer(20)

IDmesta Mesto int TRUE FALSE TRUE


Maternji jezik Rezult float(10) 10 FALSE FALSE TRUE
at
Matematika Rezult float(10) 10 TRUE FALSE TRUE
at
Kombinovani test Rezult float(10)) 10 FALSE FALSE TRUE
at
IDučenik Rezult int TRUE FALSE TRUE
at
Iz PDM modela ides na database – generate database I dobijes bazu sačuvas I ubacis u word. A
sacuvaj u folderu database.

SQL DDL komande za kreiranje baze podataka (MySQL)

/* DBMS name: MySQL 5.0 */

/* Created on: 8/20/2020 11:58:51 PM */

/*==============================================================*/

drop table if exists Mesto;

drop table if exists Profesor;

drop table if exists Rezultat;

drop table if exists Ucenik;

/*==============================================================*/

/* Table: Mesto */

/*==============================================================*/

create table Mesto

`Naziv mesta` varchar(40) not null,

`PTT mesta` bigint not null,


primary key (`PTT mesta`)

);

/*==============================================================*/

/* Table: Profesor */

/*==============================================================*/

create table Profesor

`Ime profesora` varchar(25) not null,

`Prezime profesora` varchar(25) not null,

`Broj licne karte` varchar(12) not null,

JMBG varchar(12) not null,

primary key (JMBG)

);

/*==============================================================*/

/* Table: Rezultat */

/*==============================================================*/

create table Rezultat

`Maternji jezik` float not null,

`Matematika` float not null,

`Kombinovani test` float not null,

`Broj dosijea` varchar(10) not null,

`Uce_Broj dosijea` varchar(10),


JMBG varchar(12),

primary key (`Broj dosijea`)

);

/*==============================================================*/

/* Table: Ucenik */

/*==============================================================*/

create table Ucenik

`Ime ucenika` varchar(25) not null,

`Prezime ucenika` varchar(25) not null,

`Broj dosijea` varchar(10) not null,

`PTT mesta` bigint,

`Ime roditellja / staratelja` varchar(25) not null,

`Prezime roditelja / staratelja` varchar(25) not null,

primary key (`Broj dosijea`)

);

alter table Rezultat add constraint FK_polagao foreign key (`Uce_Broj dosijea`)

references Ucenik (`Broj dosijea`) on delete restrict on update restrict;

alter table Rezultat add constraint FK_upisao foreign key (JMBG)

references Profesor (JMBG) on delete restrict on update restrict;

alter table Ucenik add constraint `FK_stanuje u` foreign key (`PTT mesta`)
references Mesto (`PTT mesta`) on delete restrict on update restrict;
5. Objektni model softvera
Ides na novi model izaberes Object Oriented I ovo povezes msm to kako ide tvoja tema.
Zatim pravis jos nova 3 ova modela I izmisljas ovako kao ja. Samo stavis te entitete I ove
coveculjke povezes vezama I etoo.
5.1Dijagrami slučajeva korišćenja – Use Case

Glavni meni informacionog sistema i korisnici

Meni: Osnovni podaci


Slučaj korišćenja:

Meni: Pregled podataka


Meni: Pregled podataka

5.2 Dijagram klasa– Class diagram(neobavezan deo rada)

6. Program (PHP web aplikacija)

E sad , ja sam preko njegovog koda radila ovo, uglavnom ti uzmi


ciji ti vise odgovara I promeni nazive I stavi opcije koje ti
odgovaraju. Ako zelis da promenis boju slike, skini neku
pozadinu izbrisi moju sliku koja se zove denim, ubaci svoju I
nazovi je denim, jer je njemu putanja do tog naziva slike.
Skrinsotuj te menije I to je to.

6.1. Opis programa, struktura programa, ekranski prikazi


Osnovni meni je relizovan kroz html web stranicu sa padajućim menijem preko CSS/JS
funkcija:
Forma za unosos novnih podataka je HTML forma są tasterima za snimanje podataka u bazu
podataka i poništavanje sadržaja forme:

Profesor je upisan u bazu podataka


Unos mesta

Stranica za realizaciju poslovnog procesa – „Upis učenika”:


Unos učeničkih rezultata

Pretraga učenika po mestima i prezimenima


Kad ti bude php sajt gotov, ovo sacuvaj kao pdf I stavi u folder pdf u tvoj folderu projekta.

6.2 Izveštaj
6.3. Realizacija programa, opis implementacije, programski kod

Meni aplikacije je urađen kroz HTML kao neuređena lista preko oznaka: <ul> i </ul,
kao i elementima liste, koji predstavljaju stavke menija pomoću oznaka <li> i </li>:

Lista

- <ul class="menu">
-             <li><a href="index.php"><span class="iconic home"></span> Naslo
vna</a>
-             <ul>
-                 <li><a href="info.php">Info programa</a></li>
-             </ul>
-         </li>
-             <li><a href="#"><span class="iconic map-pin"></span> Osnovni po
daci</a>
-                 <ul>
-                     <li><a href="profesor.php">Profesor</a></li>
-                     <li><a href="mesta.php">Mesta</a></li>
-                 </ul>
-             </li>
-             <li><a href="#"><span class="iconic plus-alt"></span> Rad profe
sora</a>
-                 <ul>
-                     <li><a href="upisucenika.php">Upis učenika</a></li>
-                     <li><a href="unosrezultata.php">Upis rezultata</a></li>
-                 </ul>
-             </li>
-             <li><a href="#"><span class="iconic magnifying-glass"></span> P
retrage</a>
-                 <ul>
-                     <li><a href="pretragaucenika.php">Pretraga učenika</a><
/li>
-                     <li><a href="pretragamesta.php">Pretraga po mestu</a></
li>
-                 </ul>
-             </li>
-             <li><a href="#"><span class="iconic mail"></span> Izveštaji</a>
-                 <ul>
-                     <li><a href="stampamesta.php">Štampa učenika po mestima
</a></li>
-                 </ul>
-             </li>
-         </ul>

Forma za unos podataka u okviru HTML oznaka u kojoj se nalazi tabela sa nekoliko redova i
poljima za unos podataka <input type> oznaka

- Forma za unos profesora, sa poljima, koja se salje kao POST metoda, kasnije se obradjuje u php
kodu

<form action="profesorsnimi.php" method="POST">
    <table>
        <tr style="float:left; clear:left; margin-top:10px;"><td>Broj lične karte
*</td> 
            <td style="float:left; clear:right; margin-top:10px;"><input typ
e="text" name="brlk" maxlenth=10 size=20 required autofocus tabindex=1></td>
        </tr>
        <tr style="float:left; clear:left; margin-top:10px;"><td>Prezime*</td> 
            <td style="float:left; clear:right; margin-top:10px;"><input typ
e="text" name="prezime" maxlenth=30 size=40 required tabindex=2></td>
        </tr>
        <tr style="float:left; clear:left; margin-top:10px;"><td>Ime*</td> 
            <td style="float:left; clear:right; margin-top:10px;"><input typ
e="text" name="ime" maxlenth=20 size=40 required autofocus tabindex=3></td>
        </tr>
        <tr style="float:left; clear:left; margin-top:10px;"><td>JMBG*</td> 
            <td style="float:left; clear:right; margin-top:10px;"><input typ
e="text" name="jmbg" maxlenth=13 size=20 required tabindex=4></td>
        </tr>
        <tr style="float:left; clear:left; margin-top:10px;">
            <td></td>
            <td>
                <input type="submit" name="snimi" value="Snimi" tabindex=6>
                <button type="reset" name="ponisti" tabindex=7>Poništi</button>
            </td>
        </tr>
    </table></br>
    </div>
</form>

Unos podataka u bazu na primeru stranice za unos podataka o profesoru.


Preuzimaju se vrednosti promenljivih, metodom POST, sa forme za unos podataka.
Otvara se konekcija do baze podataka PHP funkcijom mysqli_connect.
Izvršava se Insert SQL upit funkcijom mysqli_query:

Obrada forme u PHP kodu, vade se vrednosti iz POST metode, i upisuju se u bazu podataka

<?php
        $brlk=$_POST['brlk'];
        $prezime=$_POST['prezime'];
        $ime=$_POST['ime'];
        $jmbg=$_POST['jmbg'];
        include "parametrikonekcije.php";
        $konekcijabp = mysqli_connect($server, $korisnik, $sifrakorisnika, $imeba
ze);
        $upit="";
        $rezultat="";
        if (!$konekcijabp) 
        {
            echo('Nije uspostavljena veza sa serverom baze podataka!');
            echo "<br/>";
        }
        else
        {
            $upit="INSERT INTO profesor VALUES ('$ime','$prezime','$brlk','$jmbg'
);";
            $rezultat = mysqli_query($konekcijabp, $upit);
            if ($rezultat)
            {
                echo "Uspešno upisan profesor ".$prezime.' '.$ime." u bazu podata
ka!";    
            }
            else
            { 
                echo "Profesor ".$prezime.' '.$ime." nije upisan u bazu podataka. 
Greška, proverite podatke unete na prethodnoj stranici!";
            }
            echo "<br/>";
        }
        ?>

Pretraga podataka po jednom kriterijumu se implementira tako što se ponovo učitava PHP
stranica i proverava se da li je metodom POST pritisnut taster za pretragu, zatim se
preuzima iz POST metode reč za pretragu, otvara se konekcija do baze podataka PHP
funkcijom mysqli_connect.
Izvršava se Select SQL upit funkcijom mysqli_query, te se na osnovu broja redova
(mysqli_num_rowsfunkcija) izvršenog upita kreira tabela sa podacima i skrivenim
formama sa tasterom izmeni i podacima potrebnim za izmenu podataka:

-Unos prezimena u formu, sa metodom POST


U php-u se vade podaci iz forme, pretrazuju se u bazi i ispisuju u HTML kodu uz pomoc
echo.

<form action="" method="POST">
    <table>
        <tr><td>Pretraga po prezimenu profesora:</td> 
            <td><input type="text" name="pretraga" value="" maxlenth=10 size=10 t
abindex=5></td>
            <td><input type="submit" name="pronadji" value="Pretraga" tabindex=6>
</td>
        </tr>
    </table>
    </form>
<?php
        if(isset($_POST['pronadji'])) 
        {
        //ako je pritisnuta pretraga
        $pretraga=$_POST['pretraga'];
        include "parametrikonekcije.php";
        $konekcijabp = mysqli_connect($server, $korisnik, $sifrakorisnika, $imeba
ze);
        $upit="";
        $rezultat="";
        $brojredova=0;
        if (!$konekcijabp) 
        {
            echo('Nije uspostavljena veza sa serverom baze podataka!');
            echo "<br/>";
        }
        else
        {
            $upit="SELECT * FROM `profesor` WHERE `Prezime profesora` LIKE '%
$pretraga%' ORDER BY `Prezime profesora`";
            $rezultat = mysqli_query($konekcijabp, $upit);
            $brojredova = mysqli_num_rows($rezultat);
            if ($brojredova==0) //prazna tabela
            {
                echo "U bazi podataka nemate nijednog profesora!";
                echo "<br/>";
            }
            else
            {
                echo "Pronađeno profesora: $brojredova
                <br/>
                <table border=1>
                <th>BRLK</th>
                <th>...</th>
                <th>Prezime</th>
                <th>...</th>
                <th>Ime</th>
                <th>...</th>
                <th>JMBG</th>
                <th>...</th>";
                $red=0;
                while($red = mysqli_fetch_array($rezultat))
                    {
                        echo "<tr>";
                        echo "<td>" . $red['Broj licne karte'] . "</td>";
                        echo "<td>" . "  " . "</td>";
                        echo "<td>" . $red['Prezime profesora'] . "</td>";
                        echo "<td>" . "  " . "</td>";
                        echo "<td>" . $red['Ime profesora'] . "</td>";
                        echo "<td>" . "  " . "</td>";
                        echo "<td>" . $red['JMBG'] . "</td>";
                        echo "<td>" . "  " . "</td>";

                        $id=$red['JMBG'];
                        $prezime=$red['Prezime profesora'];
                        $ime=$red['Ime profesora'];
                        $BRLK=$red['Broj licne karte'];
                        echo "<td> <form action='profesorizmena.php' method='POST
'>";
                        echo "<input type='hidden' name='brlk' value='$BRLK'>";
                        echo "<input type='hidden' name='prezime' value='$prezime
'>";
                        echo "<input type='hidden' name='ime' value='$ime'>";
                        echo "<input type='hidden' name='id' value='$id'>";
                        echo "<input type='submit' name='izmena' value='Izmena'>"
;
                        echo "</form> </td>";
                        
                        echo "</tr>";
                    }
                echo "</table></br>";
            }
        }
        }//

Izveštaj – primer spisak učenika po mestima:

Iz baze se uzimaju podaci svih ucenika iz odredjenog mesta na prethodnoj stranici u formi POST,
zatim se za svakog ucenika uzimaju podaci iz baze ‘rezultat’ i ispisuju se u PDF formi

<?php
    echo "<table border=0>
    <tr><td>OŠ Mihajlo Pupin</td></tr>
    <tr><td>Đure Đakovića bb</td></tr>
    <tr><td>23000 Zrenjanin</td></tr>
    <tr><td>023/550516</td></tr>
    </table>
    <h3 align='center'>SPISAK UČENIKA U MESTU</h3>";

    include "parametrikonekcije.php";
    $mesto = $_POST['mesto'];

    $konekcijabp = mysqli_connect($server, $korisnik, $sifrakorisnika, $imebaze);
    $upit="";
    $rezultat="";
    $brojredova=0;
    if (!$konekcijabp) 
    {
        echo('Nije uspostavljena veza sa serverom baze podataka!');
        echo "<br/>";
    }
    else
    {
        $upit = "SELECT * FROM ucenik WHERE `PTT mesta`='$mesto' ORDER BY `Prezim
e ucenika`";
        $rezultat = mysqli_query($konekcijabp, $upit);
        $brojredova = mysqli_num_rows($rezultat);

        if ($brojredova==0) //prazna tabela
        {
            echo "U bazi podataka nemate nijednog učenika u odeljenjima za izabra
ni kriterijum pretrage!";
            echo "<br/>";
        }
        else
        {
            echo "
            <table align=center border=2>
            <th>Broj dosijea</th>
            <th>Prezime učenika</th>
            <th>Ime učenika</th>
            <th>Maternji jezik</th>
            <th>Matematika</th>
            <th>Kombinovani test</th>
            <th>Mesto</th>";
            $red=0;
            while($red = mysqli_fetch_array($rezultat))
                {
                    $brojdosijea = $red['Broj dosijea'];
                    $upit = "SELECT * FROM rezultat WHERE `Broj dosijea`='$brojdo
sijea';";
                    $rezultat2 = mysqli_query($konekcijabp,$upit);
                    $red2 = mysqli_fetch_array($rezultat2);
                    echo "<tr>";
                    echo "<td align=center>" . $red['Broj dosijea'] . "</td>";
                    echo "<td>" . $red['Prezime ucenika'] . "</td>";
                    echo "<td>" . $red['Ime ucenika'] . "</td>";
                    echo "<td>" . $red2['Maternji jezik'] . "</td>";
                    echo "<td>" . $red2['Matematika'] . "</td>";
                    echo "<td>" . $red2['Kombinovani test'] . "</td>";
                    echo "</tr>";
                }// end while
                echo "</table>";

                echo "<br/>
                Učenika u mestu:$brojredova<br/><br/>";
                echo date('d.m.Y').".";
                echo "<br/>";
                echo "Zrenjanin";
        }
    } 
?>
7.Literatura:

1. Radulović Biljana, KaziLjubica, Kazi Zoltan, Informacionisistemi – odabranapoglavlja,


Univerzitet u NovomSadu, Tehničkifakultet “Mihajlo Pupin”, Zrenjanin, 2011.

2. Jesus Castagnetto, Harish Rawat, Sascha Schumann, Chris Scollo, Deepak Veliath,
Professional PHP Programming, Wrox Press Ltd., 1999.

3. Robin Nixon, Learning PHP, MySQL, JavaScript and CSS, O’Reilly Media, Inc., 2012.

You might also like