Professional Documents
Culture Documents
Zavrsni Ispit U Osnovnoj Skoli - Dok
Zavrsni Ispit U Osnovnoj Skoli - Dok
Tema:
Završni ispit u osnovnoj školi
1.Uvod
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
1.Stablo procesa
– 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.
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 … )
- Ovo sam izmislila, u sustini napisi ovako samo podatke iz tvoje teme
Podaci o učenicima:
<
Broj dosijea,
{Ime i prezime roditelja/staratelja},
Imeucenika,
Prezimeucenika,
>.
Administracija učenika:
{<
[{Ime i prezime roditelja},
Ime i prezime staratelja],
Ime ucenika,
Prezime ucenika,
Broj dosijea,
>}.
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
/*==============================================================*/
/*==============================================================*/
/* Table: Mesto */
/*==============================================================*/
);
/*==============================================================*/
/* Table: Profesor */
/*==============================================================*/
);
/*==============================================================*/
/* Table: Rezultat */
/*==============================================================*/
);
/*==============================================================*/
/* Table: Ucenik */
/*==============================================================*/
);
alter table Rezultat add constraint FK_polagao foreign key (`Uce_Broj dosijea`)
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
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>
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:
<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>";
}
}
}//
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:
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.