Biografije Karakteristike Analiza

Ovladavanje osnovama ekološke pismenosti. Član 42. Ustava Ruske Federacije


Razvoj blok dijagrama (arhitekture) programa jedna je od najvažnijih faza u procesu razvoja softvera iz sljedećih razloga:

  • pogrešan odabir arhitekture dovodi do rizika od narušavanja cjelokupnog projekta u budućnosti;

  • ova faza je osnova za čitav razvojni proces;

  • dobro osmišljena arhitektura olakšava modifikaciju softverskog proizvoda ako se zahtevi za njega promene.
Arhitektura se shvata kao skup programskih komponenti, kao i veza i načina organizovanja razmene informacija između njih. Prvi zadatak koji treba riješiti pri izradi strukturnog dijagrama sistema je zadatak određivanja njegovih sastavnih komponenti.

Na osnovu analize zahtjeva za sistem utvrđuje se skup svih funkcija koje program mora podržavati. Nadalje, dobivene funkcije se kombiniraju u logički međusobno povezane grupe. Svaka od ovih grupa može postati jedna od komponenti softverskog sistema. Morate biti spremni na činjenicu da prva verzija skupa komponenti neće biti potpuna. Tokom analize funkcija iu ranim fazama projektovanja arhitekture mogu se identifikovati dodatne funkcije koje je potrebno uključiti u razvijeni program. Uglavnom, ove funkcije će biti neophodne za obavljanje tehnoloških procesa za održavanje sistema u holističkom i operativnom stanju. Sasvim je prirodno pretpostaviti da ove funkcionalne karakteristike ne mogu biti poznate kupcu softverskog sistema, a ni programerima u prvim fazama razvoja.

Pre svega, arhitektura programa treba da sadrži opšti opis sistema. Bez takvog opisa, dovoljno je teško napraviti koherentnu sliku mnogih malih detalja ili čak desetak odvojenih klasa. Arhitektura treba da sadrži potvrdu da su u njenom razvoju razmatrane alternative i da opravda izbor konačne organizacije sistema.

Arhitektura treba jasno definirati odgovornost svake komponente. Komponenta treba da ima jedno područje odgovornosti i da zna što je manje moguće o područjima odgovornosti drugih komponenti. Minimiziranjem količine informacija koje komponente znaju o drugim komponentama, možete lako lokalizirati informacije o dizajnu aplikacije u pojedinačne komponente.

Arhitektura treba jasno definirati pravila komunikacije između programskih komponenti i opisati koje druge komponente data komponenta može koristiti direktno, koje indirektno, a koje uopće ne bi trebala koristiti.

Korisnički interfejs se često dizajnira u fazi zahteva. Ako nije, trebalo bi da se odredi u fazi projektovanja arhitekture. Arhitektura treba da opisuje glavne elemente formata web stranice, grafički korisnički interfejs (GUI) itd. Pogodnost sučelja može u konačnici odrediti popularnost ili neuspjeh programa.

Arhitektura programa je modularna tako da se grafički interfejs može menjati bez uticaja na glavnu logiku programa.

Program za obradu studentskih anketnih upitnika može se podijeliti u dva dijela sa različitim funkcijama i nivoima pristupa za korisnike:


  • sistem za sprovođenje anketiranja studenata;

  • sistem za obradu rezultata ankete;

  • sistem kontrole.
Svi dijelovi su povezani u jedan program zajedničkom bazom podataka.



Slika 2.1. - Struktura sistema


Anketni sistem sadrži sljedeće funkcije:

  • postavljanje pitanja iz upitnika;

  • automatska provjera vrste i ispravnosti ulaznih podataka;

  • pohranjivanje podataka u bazu podataka.
Sistem za obradu rezultata ankete vam omogućava da:

  • prikaz ili štampanje izveštaja ankete;

  • pregledati informacije o anketi određenog učenika;

  • uporedite rezultate tekuće i prethodne ankete sa istim pitanjima.
Kontrolni sistem omogućava:

  • kontroliše sprovođenje ankete;

  • upravljati podacima - dodavati, brisati i mijenjati;
Zauzvrat, svaki od sistema se može podijeliti na dva podsistema na osnovu okruženja u kojem rade:

  • serverski dio, napisan u PHP programskom jeziku i pokrenut na serveru;

  • dio na strani klijenta napisan u HTML markup jeziku i JavaScript programskom jeziku koristeći jQuery biblioteku i izvršava se u korisnikovom pretraživaču.
OD
Serverski dio programa po svojoj strukturi odgovara MVC arhitekturi (Model-View-Controller) ili model-view-controller. MVC je softverska arhitektura u kojoj su model podataka aplikacije, korisnički interfejs i kontrolna logika podeljeni u tri odvojene komponente tako da modifikacije jedne od komponenti imaju minimalan uticaj na ostale komponente.
Slika 2.2. – Model-View-Controller Architecture
Ovaj pristup vam omogućava da podatke, prezentaciju i obradu radnji korisnika odvojite u tri odvojene komponente.

  • Model(model) - modul odgovoran za direktno izračunavanje nečega na osnovu podataka primljenih od korisnika. Rezultat koji je primio ovaj modul mora biti proslijeđen kontroleru i ne smije sadržavati ništa što se odnosi na trenutni izlaz (tj. mora biti u internom formatu sistema). Glavni cilj je da model bude potpuno nezavisan od ostalih dijelova i da se ne zna gotovo ništa o njihovom postojanju, što bi omogućilo promjenu i kontrolera i pogleda na model bez dodirivanja samog modela, pa čak i rad nekoliko instanci. pregleda i kontrolera sa jednim modelom u isto vreme. Kao rezultat toga, model nikada, ni pod kojim okolnostima, ne može sadržavati reference na objekte pregleda ili kontrolera.

  • pogled- modul za izlaz informacija. Odgovornost pogleda je da prikaže podatke primljene od modela. Obično pogled ima slobodan pristup modelu i može uzeti podatke iz njega, ali ovo je pristup samo za čitanje, ne mijenja ništa u modelu, ili čak jednostavno poziva metode koje dovode do promjene njegovog internog stanja, pogled je zabranjen . Za interakciju s kontrolerom, pogled će obično implementirati neko sučelje poznato kontroleru, omogućavajući pogledima da se mijenjaju nezavisno i da imaju više pogleda po kontroleru.

  • Kontroler- upravljački modul za unos i izlaz podataka. Zadaci kontrolera uključuju reagiranje na vanjske događaje i promjenu modela i/ili pogleda u skladu sa logikom koja je u njemu ugrađena. Jedan kontroler može raditi s više pogleda, ovisno o situaciji, komunicirajući s njima preko nekog (prethodno poznatog) interfejsa koji ti pogledi implementiraju. Važna nijansa - u klasičnoj verziji MVC-a, kontroler ne prenosi podatke iz modela u prikaz.

    Kontroler prima podatke od korisnika i prosljeđuje ih modelu. Osim toga, prima poruke od modela i prosljeđuje ih pogledu. Važno je napomenuti da i pogled i kontroler zavise od modela. Međutim, model ne ovisi ni o kontroleru ni o ponašanju. To je jedna od ključnih prednosti takve podjele. Omogućava vam da izgradite model nezavisno od vizuelnog predstavljanja, kao i da kreirate nekoliko različitih pogleda za jedan model.
Prednosti koje MVC arhitektura predstavlja u odnosu na tradicionalni model:

  • transparentnost sistema;

  • jedinstvena tačka ulaska u sistem;

  • ponovna upotreba koda;;

  • brz razvoj;

  • dostupnost gotovih rješenja;

  • lakoća podrške;

  • lake promene.
Dakle, upotreba MVC arhitekture daje opipljive prednosti u dizajniranju i razvoju programa za obradu studentskih anketnih upitnika, što pozitivno utiče kako na brzinu samog razvoja tako i na kvalitet konačnog rezultata.

2. Razvoj strukture baze podataka programa

Organizacija strukture baze podataka formirana je na osnovu sljedećih razmatranja:

  • adekvatnost opisanom objektu - na nivou konceptualnog i logičkog modela;

  • jednostavnost upotrebe za računovodstvo i analizu podataka - na nivou tzv. fizičkog modela.
Prema modelu prezentacije podataka, kao glavni se izdvajaju hijerarhijski, mrežni i relacioni modeli, odnosno za rad sa svakom od navedenih baza podataka koriste sopstveni DBMS.

U ovom slučaju, najprikladniji je relacijski model podataka, jer se sve informacije lako mogu prikazati u obliku tabela. Relacioni model podataka je logički model podataka koji opisuje strukturni aspekt, aspekt integriteta i aspekt obrade podataka u relacionim bazama podataka.

Strukturni aspekt- Podaci u bazi podataka su skup relacija.

Aspekt integriteta- odnosi ispunjavaju određene uslove integriteta.

Aspekt obrade- podržani su operatori manipulacije odnosima.

Važan aspekt dizajna baze podataka je normalizacija – proces pretvaranja baze podataka u oblik koji odgovara normalnim oblicima. Normalizacija pomaže u zaštiti baze podataka od logičkih i strukturnih problema zvanih anomalije podataka. Na primjer, kada postoji nekoliko identičnih zapisa u tabeli, postoji rizik od narušavanja integriteta podataka kada se tabela ažurira. Tabela koja je normalizovana manje je sklona ovim problemima jer njegova struktura uključuje definisanje odnosa između podataka, čime se eliminiše potreba za postojanjem zapisa sa informacijama koje se ponavljaju.

Za DBMS je izabran besplatni MySQL sistem upravljanja bazom podataka. Fleksibilnost MySQL DBMS-a podržana je velikim brojem tipova tabela: korisnici mogu birati između MyISAM tabela koje podržavaju pretraživanje punog teksta i InnoDB tabela koje podržavaju transakcije na nivou pojedinačnih zapisa. Zahvaljujući svojoj otvorenoj arhitekturi i GPL licenciranju (GNU General Public License - licenca za slobodni softver, čija je svrha da korisniku da pravo na kopiranje, modificiranje i distribuciju programa, kao i da osigura da korisnici svih izvedenih programa dobiju iznad prava), u MySQL DBMS se stalno pojavljuju novi tipovi tabela.

Važna prednost MySQL DBMS-a je to što je portovan na veliki broj platformi kao što su AIX, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, Solaris i Windows. Imajte na umu da MySQL AB omogućava besplatno preuzimanje ne samo izvornih kodova DBMS-a, već i gotovih izvršnih modula kompajliranih i optimiziranih za određene operativne sisteme.

MySQL ima interfejs za programiranje aplikacija (API) za jezike kao što su Delphi, C, C++, Java, Perl, PHP, Python i Ruby, biblioteke za jezike .NET platforme i pruža podršku za ODBC kroz Open DataBase Connectivity ( ODBC) drajver je programski interfejs za pristup bazama podataka) MyODBC.

Kao glavni tip tablica odabran je tip MyISAM. MyISAM tabele su idealno optimizovane za upotrebu sa web aplikacijama u kojima dominiraju zahtevi za čitanje. MyISAM tabele pokazuju vrlo dobre rezultate performansi sa SELECT-ovima. To je uglavnom zbog nedostatka podrške za transakcije i strane ključeve. Međutim, prilikom modifikacije i dodavanja zapisa, cela tabela se nakratko zaključava, što može dovesti do ozbiljnih kašnjenja tokom velikih opterećenja. Ali u slučaju programa analize anketnog upitnika to nije ozbiljan problem, jer se ne planira veliko opterećenje sistema.

Još jedna prednost MyISAM tabela je nezavisnost od platforme. Fajlovi tabele mogu se premeštati između računara različitih arhitektura i različitih operativnih sistema bez ikakve konverzije.

MyISAM tabele mogu imati fiksne, dinamičke ili komprimirane unose. Izbor između fiksnog i dinamičkog formata diktira definicije stupaca.

Struktura baze podataka prikazana je na slici 2.4.

R

Slika 2.3. – Struktura baze podataka


Relacije između tabela organizovanih u bazi podataka omogućavaju vam da izvršite kaskadno brisanje i ažuriranje podataka. Upotreba tabela veza omogućila je smanjenje redundantnosti podataka na minimum.

Tabela it_students sadrži podatke o studentima koji su ispunili anketu.

Tabela 2.1 - Tabela podataka "it_students"


Polje

Vrstu

Dužina

Opis

id

Numerički

11

Indeks

br

Numerički

11

Student ID broj

ime

Symbolic

100

Ime

drugo ime

Symbolic

100

srednje ime

prezime

Symbolic

100

Prezime

rođenje

datum

-

Datum rođenja

year_postupl

godine

-

Godina prijema

adresa

Symbolic

500

Adresa

phone_h

Symbolic

15

Kućni telefon

phone_m

Symbolic

15

Mobilni telefon

mail

Symbolic

250

E-mail adresa

icq

Numerički

10

ICQ broj

Tabela it_answers_var sadrži odgovore na pitanja ankete.

Tabela 2.2 - Tabela podataka "it_answers_var"

Tabela it_questions sadrži pitanja ankete.

Tabela 2.3 - Tabela podataka "it_questions"

Tabela it_tests_cfg povezuje pitanja ankete sa određenim upitnikom.

Tabela 2.4 - Tabela podataka "it_tests_cfg"

Tabela it_tests sadrži podatke o svim upitnicima i datumima anketiranja.

Tabela 2.5 - Tabela podataka "it_tests"

Tabela it_text_answers sadrži podatke o ručno unesenim odgovorima učenika.

Tabela 2.6 - Tabela podataka "it_text_answers"

Tabela it_students_answers sadrži podatke o odgovorima učenika.

Tabela 2.6 - Tabela podataka "it_students_answers"

3. Razvoj modela toka informacija baze podataka

Budući da je program za analizu studentskih anketnih upitnika izgrađen na MVC principu, moguće je tokove informacija predstaviti na sljedeći način. Kada se primi zahtjev od korisnika koji šalje pretraživač na web server, kontroler, slijedeći programirane algoritme, kvalifikuje primljeni zahtjev, modificira ga i prosljeđuje modelu. Model, koji je veza između kontrolera i DBMS-a, interpretira upit i upućuje odgovarajući poziv MySQL DBMS-u, vraćajući rezultate kontroleru.

Važno je napomenuti da za kontroler ostaje skriveno sa kojim tipom ili implementacijom DBMS radi, svi pozivi bazi podataka se odvijaju kroz model, čiji je glavni zadatak apstrahovati rad sa podacima. Umjesto baze podataka, možete čak koristiti tekstualni ili XML fajl, to neće biti važno za kontroler. Paralelno, kontroler šalje zahtjev komponenti pogleda, koja sačinjava konačni predložak i vraća ga kontroleru. Također je moguće da se podaci razmjenjuju direktno između modela i pogleda. Kontroler kombinuje izbor iz baze podataka i predložaka prikaza i prosleđuje ga korisnikovom pretraživaču.



Slika 2.4. - Šema tokova informacija MVC arhitekture

4. Razvoj algoritamske podrške

Algoritamska podrška svih programskih komponenti ima značajne razlike, jer nose različite funkcionalnosti.

Kada student prvi put uđe u sistem ankete, kreira se novi identifikator sesije. Sesija, ili sesija, omogućava serveru da identifikuje korisnika koristeći poseban broj koji je jedinstven i dodeljen kada korisnik stupi u interakciju sa serverom. Osim toga, sesije vam omogućavaju da pridružite varijable ovom korisniku i pohranite ove varijable na server. Drugim riječima, sesije vam omogućavaju da varijable napravite globalnim za sve komponente programa. Dakle, anketni sistem može nedvosmisleno utvrditi od koga su od korisnika koji rade sa programom došli određeni podaci.

D
Dalje, student odgovara na niz anketnih pitanja i tek na kraju ankete svi podaci se pohranjuju u bazu podataka. Algoritam sistema upitnika prikazan je na slici 2.5.

Slika 2.5. – Algoritam anketnog sistema

Jedna od najvažnijih sigurnosnih tačaka web aplikacije je provjera svih pristiglih podataka, tako da uvijek treba provjeriti podatke koje je korisnik unio u formulare za pretragu, popunjavanje registracionih polja i tako dalje na prisustvo „opasnih“ podataka. To mogu biti zlonamjerni JavaScript kod, PHP ili PERL komande i (što je najopasnije) komande za server.

Uvijek treba imati na umu da apsolutno svaki korisnik predstavlja opasnost za nesigurnu web aplikaciju, tako da uvijek vrijedi provjeriti zahtjeve i varijable koje dolaze od korisnika.


  • analiza POST i GET varijabli i superglobalnih nizova;

  • razdvajanje varijabli;

  • filtriranje string varijabli.
Obavezno provjerite dolazne varijable na samom početku programa, ne dozvoljavajući rad sa funkcijama i upitima prema bazi podataka koji još nisu provjereni, potencijalno opasni, podaci od korisnika. Tako će sve funkcije potrebne za zaštitu biti locirane na jednom određenom mjestu ili čak fajlu. U slučaju programa za obradu upitnika studentskih anketa, filtriranje podataka se vrši na nivou CodeIgniter frameworka u automatskom načinu rada, budući da je linija uključena u konfiguracijski fajl $config["global_xss_filtering"] = TAČNO.

Apsolutno svaka varijabla u programu mora već imati svoj tip u fazi dizajna, bilo da se radi o broju ili nizu. Ovaj problem je posebno akutan za programske jezike sa slabim ili bez kucanja, koji uključuju PHP i JavaScript. Stoga se u najkritičnijim dijelovima programa provjeravaju varijable za podudaranje tipa.

Posebno su opasne tekstualne varijable, na primjer polje za unos odgovora na upitnik. Samo ih treba provjeriti na zlonamjerni kod. Da bi se uklonila opasnost, neki elementi se uklanjaju iz teksta ili zamjenjuju drugim znakovima. Algoritam za obradu dolaznih podataka u okviru CodeIgniter prikazan je na slici 2.6.

R
Slika 2.6. – Algoritam za obradu ulaznih podataka u okviru CodeIgniter

2.5 Razvoj programskog interfejsa

Jedno od najvažnijih pitanja u razvoju softverskog sistema je razvoj korisničkog interfejsa. Svaki sistem koji u svom funkcionisanju koristi tehnička sredstva spada u klasu sistema "čovjek-mašina". Bilo bi ispravno postaviti sljedeće zahtjeve za sučelje sistema za testiranje:


  • interfejs treba da bude jasan, jednostavan i lak za korišćenje

  • korisnika ne bi trebalo ometati aktivnosti koje nisu povezane sa zadatkom koji se obavlja.
Korisnički interfejs je napravljen u HTML markup jeziku koristeći JavaScript i jQuery biblioteku, što je omogućilo izgradnju interaktivnog korisničkog interfejsa programa.

To

Na primjer, tekstualno polje za unos datuma pomoću jQueryja je pretvoreno u kompaktni kalendar sa automatskom provjerom valjanosti unosa datuma (vidi sliku 2.7).

Slika 2.7. - Kalendarski interfejs za odabir datuma rođenja
Korisnički interfejs dostupan studentima koji anketiraju je donekle minimalistički. Kao rezultat toga, učenicima ne smeta lijepa grafika i koncentrišu se na razmišljanje o odgovoru na pitanje. interfejs sa jednim od

istraživanja prikazana je na slici 2.8.

Slika 2.8. – Interfejs za odgovor na pitanje


Ako iz nekog razloga učenik ne odabere nijedan od odgovora na pitanje, ali pokuša da pređe na sledeće pitanje, sistem ankete će automatski prikazati poruku o grešci i ponuditi da ponovo odgovori na trenutno pitanje (vidi sliku 2.9).

Slika 2.9. - Poruka o grešci pri unosu podataka



Sistem za obradu rezultata ankete može prikazati rezultate u nekoliko režima – tekstualni, grafički i štampani. Interfejs za prikaz rezultata ankete u grafičkom obliku prikazan je na slici 2.10.

Slika 2.10. – Interfejs za prikaz rezultata ankete



Preglednik koji je klijent serveru i šalje mu zahtjev za obradu web stranice može biti implementacija takozvanih tankih klijenata. Pregledač može da prikazuje web stranice i obično je uključen u operativni sistem, dok je njegovo ažuriranje i održavanje odgovornost dobavljača operativnog sistema. Logika aplikacije fokusira se na server, a funkcija pretraživača je uglavnom da prikaže informacije preuzete preko mreže sa servera i povrati podatke korisnika. Jedna od prednosti ovog pristupa je da su klijenti nezavisni od korisnikovog konkretnog operativnog sistema, a Web aplikacije su stoga usluge na više platformi.

Značajna prednost izgradnje Web aplikacija za podršku standardne funkcionalnosti pretraživača je ta što ta funkcionalnost mora da radi nezavisno od operativnog sistema datog klijenta. Umjesto pisanja različitih verzija za Microsoft Windows, Mac OS X, GNU/Linux i druge operativne sisteme, aplikacija se gradi jednom i postavlja na bilo koju platformu.

3. Tehnološki dio

3.1 Tehnologija razvoja programa

3.1.1 Osnove web servera

Kako web server radi: Poznato je da web serveri pohranjuju informacije u obliku tekstualnih datoteka, koje se nazivaju i stranice. Osim teksta, takve stranice mogu sadržavati linkove ka drugim stranicama (koje se nalaze na istom ili drugom serveru), linkove ka grafičkim slikama, audio i video informacije, razne ulazne objekte (polja, dugmad, obrasce itd.), kao i druge objekte i programe izvršne na serveru. U stvari, stranice su neka vrsta veze između objekata različitih tipova. Dizajnirani su pomoću posebnog jezika za označavanje hiperteksta HyperText Markup Language, ili skraćeno HTML. Za pristup informacijama koje se nalaze na web serverima, korisnici koriste posebne klijentske programe - pretraživače. Trenutno postoji na desetine različitih pretraživača, ali samo neki od njih su trenutno najpopularniji:


  • Microsoft Internet Explorer;

  • Opera;

  • Mozilla Firefox

  • Google chrome.
Svaka stranica web servera ima svoj takozvani Univerzalni lokator resursa (URL). Da bi pristupio određenoj stranici, korisnik mora dati njenu URL adresu pretraživaču. Po pravilu, svaki web server ima jednu glavnu stranicu koja sadrži linkove ka svim ostalim stranicama ovog servera. Stoga, pregledavanje sadržaja web servera obično počinje sa njegovom glavnom (indeksom) stranicom.

3.1.2 Pasivni i aktivni web serveri

Razlikujte pasivne i aktivne web servere. Ako stranice servera sadrže samo statički tekst i multimedijalne informacije, kao i hipertekstualne veze do drugih stranica, tada se server naziva pasivnim. Kada se stranice servera ponašaju slično prozorima običnih interaktivnih aplikacija, ulazeći u dijalog sa korisnikom, imamo posla sa aktivnim serverom.


3.1.3 Objektno orijentisani pristup

Trenutno korištenje objektno orijentiranog pristupa u razvoju web aplikacija dobiva sve veću popularnost. I iako prednosti ovog pristupa nisu tako očigledne kao, na primjer, u programskim jezicima kao što su C++ ili Java, sve veći broj slobodno distribuiranih biblioteka i programa napisanih u PHP programskom jeziku prelazi na objekt- orijentisan interfejs. Čineći to, oni prisiljavaju programere koji ih koriste da se okrenu objektno orijentisanim karakteristikama PHP-a. Uvođenje pune podrške za objektno orijentisani model u petoj verziji PHP interpretera dodatno podstiče interesovanje za ovu metodologiju.

Često korištenje objektno orijentiranog pristupa na mjestu i van mjesta čini projekt uspješnim. Programiranje za početnike u OO stilu je često poput hodanja kroz minsko polje—ako ne znate gdje su mine, ne možete doći do kraja projekta. Samo po sebi, objektno orijentirano programiranje nije lijek - to je funkcionalna tehnologija koja vam omogućava:


  • povećati postotak izvornog koda za višekratnu upotrebu;

  • rade sa konceptima i objektima iz stvarnog svijeta (učenik, grupa, predmet, itd.) umjesto kompjuterskih termina niskog nivoa (fajl, string, itd.) prilikom programiranja, što vam omogućava da kreirate veće projekte sa manje grešaka i kraćim vremenom .
Razvoj programskih tehnologija, kako je primijetio Dijkstra, diktira teza Zavadi pa vladaj. Svaka uspješna tehnologija pretpostavlja da što je kraći izvorni kod programa, to je lakše kreirati, otklanjati greške i održavati, a jednostavan program je mnogo manje sklon greškama od složenog.

U zoru kompjuterskog doba, program je bio jedna nit koja je obrađivala jedan niz podataka. Vremenom se povećavala složenost programa i zahtevi za njima, a ovakav način organizovanja podataka pokazao se neprihvatljivim. Predložen je strukturni pristup, u kojem je niz podataka postao dostupan sa bilo kojeg mjesta u programu, ali je glavni tok programa podijeljen u nekoliko procedura. Jednu malu proceduru, čak i ako koristi uobičajene podatke, mnogo je lakše razviti nego veliku količinu izvornog koda.

Svaka od procedura ima lokalne varijable, čiji je životni vijek određen trajanjem procedure. Neke procedure mogu pozvati druge, ali niz podataka u programu ostaje zajednički i dostupan svim procedurama. Ovaj pristup se koristi u proceduralnom programiranju u PHP-u i omogućava kreiranje velikih softverskih sistema. Ali razvoj, otklanjanje grešaka i podrška programa koji rade na velikim količinama podataka (kao što je, na primer, baza podataka katedrale) i dalje ostaje težak i zahteva znatne veštine i iskustvo.

Odgovor na ovu sve veću složenost bila je pojava objektno orijentisanog pristupa programiranju: program je razbijen na nekoliko skupova podataka, od kojih svaki ima svoje procedure, kao i procedure koje su u interakciji sa drugim skupovima podataka.

Kao rezultat toga, složeni zadatak je razbijen na niz jednostavnijih podzadataka, a programeri dobijaju fleksibilniji način upravljanja projektom - uređivanje jednog ogromnog monolitnog bloka koda je mnogo teže nego skup malih, slabo povezanih blokova.

Bez obzira na vezivanje za programski jezik, objektno orijentisani pristup ima niz opštih principa, i to:


  • mogućnost kreiranja apstraktnih tipova podataka, što omogućava, zajedno sa unaprijed definiranim tipovima podataka (kao što su cijeli broj, string, itd.), da se uvedu vlastiti tipovi podataka (klase) i deklariraju "varijable" takvih tipova podataka (objekata). Stvarajući sopstvene tipove podataka, programer ne operiše sa mašinskim terminima (varijabla, funkcija), već sa objektima stvarnog sveta, podižući se na novi nivo apstrakcije;

  • enkapsulacija koja ograničava korisničku interakciju apstraktnih tipova podataka samo na njihov interfejs i sakriva internu implementaciju objekta, ne dozvoljavajući uticaj na njegovo unutrašnje stanje. Ljudska memorija je ograničena i ne može sadržati sve detalje velikog projekta, dok vam upotreba enkapsulacije omogućava da razvijete objekat i koristite ga bez brige o internoj implementaciji i pribegavanja samo malom broju metoda interfejsa;

  • nasljeđivanje, koje vam omogućava da razvijete postojeći apstraktni tip podataka - klasu, kreirajući novu klasu na osnovu nje. U ovom slučaju, nova klasa automatski prima mogućnosti već postojećeg apstraktnog tipa podataka. Često su apstraktni tipovi podataka previše složeni, pa pribjegavaju svom dosljednom razvoju, izgrađujući hijerarhiju klasa od opšteg do posebnog;

  • polimorfizam koji omogućava izgradnju čitavih lanaca i razgranatih stabala koja nasljeđuju međusobno apstraktne tipove podataka (klase). U ovom slučaju, ceo skup klasa će imati više metoda sa istim imenima: bilo koja od klasa ovog stabla garantovano ima metod sa istim imenom. Ovaj princip pomaže da se automatski obrađuju nizovi podataka različitih tipova.

3.1.4 Karakteristike CodeIgniter okvira

Korišteni okvir CodeIgniter je napisan korištenjem objektno orijentisanog pristupa. Sve klase kontrolera, pogleda i modela koje je uveo programer nasljeđuju originalne klase uvedene u sam okvir. Ovo omogućava pisanje manjeg izvornog koda, jer su sve potrebne osnovne funkcije odmah dostupne.

Pored klasa kontrolera, mapiranja i modela dostupnih programeru, CodeIgniter framework takođe ima funkcije dodataka i pomoćnika koji su dostupni programeru. Pomagači, kao što ime implicira, dizajnirani su da pomognu u obavljanju neke manje funkcije. Na primjer, postoje pomoćnici za pravljenje web obrazaca, postavljanje datoteka ili rad sa sesijama. Za razliku od svih ostalih osnovnih elemenata okvira, pomoćnici su skupovi elementarnih funkcija, napisani čak i bez korištenja objektno orijentiranog pristupa. Svaka funkcija obavlja mali, strogo ograničen zadatak. Međutim, set je prilično velik, a takva "sitnica" postaje vrlo korisna u radu.

Dodaci su prilično isti kao pomoćnici, osim glavne razlike: oni nisu skup funkcija, oni su jedna funkcija. Osim toga, možete obratiti pažnju na činjenicu da su pomoćnici više dio jezgre sistema, dok su dodaci nešto eksterno, razvijeno od strane programera treće strane. U stvarnosti, ovako ispada. Čak i one dodatke koji dolaze s glavnim paketom pišu korisnici CodeIgnitera koji su dio zajednice.


3.1.5 Eclipse IDE

Prilikom izrade programa za obradu upitnika studenata odsjeka korišten je i tako važan i koristan programski alat kao što je integrirano razvojno okruženje (IDE - Integrated Development Environment), odnosno Eclipse. Eclipse je besplatni okvir za razvoj modularnih višeplatformskih aplikacija. Razvijena i održavana od strane Eclipse Foundation.

Najpoznatije aplikacije zasnovane na Eclipse platformi su različite "Eclipse IDE" za razvoj softvera na više jezika (na primjer, najpopularniji "Java IDE" koji je izvorno podržan). U ovom slučaju, ekstenzije su korišćene za programiranje u PHP programskim jezicima (PDT modul) i JavaScript (JSEclipse modul), kao i za izgled pomoću HTML markup jezika.

3.2 Tehnologija testiranja programa

Testiranje programa je proces identifikacije grešaka u softveru. Trenutno postoji mnogo metoda za testiranje programa, ali one vam ne dozvoljavaju da pouzdano identifikujete i eliminišete sve nedostatke i greške, da uspostavite ispravno funkcionisanje analiziranog programa. Dakle, sve postojeće metode testiranja funkcionišu u okviru formalnog procesa verifikacije istraženog ili razvijenog softvera.

Takav formalni proces verifikacije može dokazati da nema grešaka samo u pogledu korišćene metode, ali ne garantuje njihovo potpuno odsustvo.

Test je informacija koja se sastoji od posebno odabranih početnih podataka za program koji se otklanja greške i odgovarajućih referentnih rezultata koji se koriste za kontrolu ispravnog rada programa.

Kontrola programa se svodi na izbor testova, prijem tačnih rezultata kojim bi se garantovao ispravan rad programa za ostatak početnih podataka iz čitavog dozvoljenog opsega vrednosti.

Testiranje sistema je sprovedeno na nekoliko načina:


  • Stres Testing;

  • ručno otklanjanje grešaka i praćenje programa pomoću ekstenzije XDebug;

  • jedinično testiranje sa phpUnit-om.
U slučaju testiranja programa napisanih na PHP-u, podatke prikazane na ekranu korisnika treba proveriti da li su u skladu sa očekivanjima. U ovom slučaju mogući su sljedeći glavni problemi:

  • ništa se ne prikazuje na ekranu ili se generiše sistemska greška sa odgovarajućim kodom (greška autorizacije, greška web servera, itd.);

  • došlo je do greške u radu sa bazom podataka, dok se generiše izveštaj o grešci;

  • greška servera povezana sa velikim opterećenjem aplikacije ili baze podataka;

  • Došlo je do greške u izvršavanju programa, što je rezultiralo netačnim podacima ili prikazanim izvještajem o grešci.

3.2.1 Testiranje opterećenja programa

Jedan od najvažnijih testova je testiranje opterećenja, koje vam omogućava da pronađete "uska grla" u izvornom kodu ili pozivima baze podataka.

Dostupni su mnogi alati koji pojednostavljuju zadatak povećanja broja zahtjeva i pozivanja mnogih operacija na serveru. Test ograničenja opterećenja treba biti dizajniran tako da precizno reproducira očekivano radno opterećenje aplikacije.

Za testiranje opterećenja programa za obradu upitnika studenata katedre korišćen je program curl-loader. Curl-loader je besplatno distribuiran uslužni program za testiranje performansi web aplikacija napisan u programskom jeziku C. U stanju je simulirati stotine, pa čak i hiljade pristupa HTTP i HTTPS servera i koristi libcurl biblioteku, koja vam omogućava da lako testirate aplikacije koje zahtijevaju autorizaciju . A podrška za HTTPS protokol vam omogućava da koristite uslužni program curl-loader za testiranje opterećenja web aplikacija koje rade kroz šifrirane transportne mehanizme SSL (Secure Sockets Layer – sloj sigurnih utičnica) i TLS (Transport Layer Security).

3.2.2 Otklanjanje grešaka sa ugrađenim PHP alatima

Standardno ponašanje aplikacije napisane u PHP jeziku, kada se pojavi greška u kodu, u velikoj meri zavisi od postavki konfiguracije. Po pravilu se postavljaju u konfiguracionoj datoteci php.ini:

  • parametar display_errors, postavljen na uključeno ili isključeno, određuje hoće li se poruke o grešci prikazati korisniku ili ih ostaviti skrivene;

  • parametar log_errors, postavljen na uključeno ili isključeno, uzrokuje da PHP tumač piše poruke u datoteku evidencije događaja;

  • error_reporting direktiva određuje kada treba generirati upozorenje i kada se može zanemariti.
Kada razvijate i otklanjate greške u programu na test serveru, morate omogućiti parametar display_errors i onemogućiti log_errors. Ovo omogućava programeru da što brže odgovori na pojavu situacije greške, minimizirajući broj "prebacivanja između prozora".

U radnoj verziji programa, naprotiv, onemogućite parametar display_errors, ali omogućite log_errors. S jedne strane, to će zakomplikovati život napadačima koji više neće moći vidjeti informacije o otklanjanju grešaka. S druge strane, u kritičnoj situaciji, pomoći će vam da shvatite šta se tačno dogodilo i ispravite grešku, čak i ako se ne reprodukuje u testnom okruženju.

U oba slučaja, zgodno je postaviti parametar error_reporting na najdetaljnije stanje - E_ALL, što primorava PHP da prijavi najmanje propuste u kodu.

3.2.3 Otklanjanje grešaka u programu pomoću XDebug-a

Dok se PHP programski jezik može koristiti za kreiranje skripti komandne linije za zadatke kao što su administracija sistema i tradicionalna obrada podataka, moć jezika je posebno očigledna u web aplikacijama.

S obzirom na kratko vrijeme rada web aplikacija i njihov slojevit dizajn (klijentska aplikacija, mreža, web server, kod aplikacije i osnovna baza podataka), može biti teško uhvatiti greške u izvornom kodu. Čak i pod pretpostavkom da svi slojevi osim PHP koda rade besprijekorno, praćenje do greške u programu može biti teško, posebno ako aplikacija koristi veliki broj klasa.

PHP jezički izraz echo i funkcije kao što su var_dump() , debug_zval_dump() i print_r() su uobičajeni i vrlo popularni alati za otklanjanje grešaka koji pomažu u rješavanju različitih manjih problema. Međutim, kao alati za testiranje i otklanjanje grešaka, ovi izrazi (i još pouzdaniji alati, kao što je PEAR Log paket) su od male pomoći i ne uvek.

Osim toga, takvo otklanjanje grešaka je brute force pristup. U nedostatku potrebnih informacija, potrebno je ponoviti izvorni kod, ponoviti prethodne korake i ponovo pokrenuti potragu za greškom. Mnogo efikasnija strategija je testiranje aplikacije dok je pokrenuta. Možete katalogizirati parametre upita, pogledati stek poziva procedura, saznati vrijednost bilo koje varijable ili objekta. Možete privremeno prekinuti izvršavanje aplikacije i dobiti obavijest o promjenama vrijednosti varijable

Ovo "živo" ili interaktivno istraživanje osigurava posebna aplikacija koja se zove debugger. Program za otklanjanje grešaka pokreće proces ili se povezuje sa njim kako bi ga kontrolisao i ispitao njegovu memoriju. Ili, u slučaju interpretiranih jezika, program za otklanjanje grešaka može direktno interpretirati kod. Tipičan moderni debager može indeksirati i pregledati izvorni kod, prikazati složene strukture podataka na način čitljiv za ljude i istovremeno prikazati stanje programa, stek poziva, izlaz programa i vrijednosti svih varijabli. Na primjer, uobičajeno je da debugger katalogizira i prikazuje svojstva i metode klase.

Umjesto ručnog dodavanja različitih izlaznih funkcija za otklanjanje grešaka, možete koristiti XDebug za generiranje evidencije praćenja. Dnevnik praćenja je lista poziva funkcijama i metodama klase tokom izvršavanja programa. Njegova prednost je što će se apsolutno svaki poziv reflektovati u dnevnik.

Dnevnik praćenja se obično razlikuje od pokretanja do pokretanja, jer zavisi od dolaznih podataka, koji se razlikuju od zahtjeva do zahtjeva.

Praćenje dnevnika pomaže vam da shvatite kako se program izvršava, ali je vrlo teško vizualizirati sve moguće grane osim ako program nije vrlo jednostavan. Zbog toga je testiranje velikih programa prilično teško: postoji previše različitih razvojnih puteva i svi moraju biti testirani.

Alat za otklanjanje grešaka u aplikaciji XDebug, kao što mu ime govori, pruža nekoliko funkcionalnosti za prikaz stanja programa i vrlo je vrijedan alat za istraživanje. Jednom instaliran, XDebug ometa proces kako bi spriječio beskonačne rekurzije, dodaje informacije o steku i praćenju funkcija porukama o grešci, prati dodjelu memorije i izvodi neke druge funkcije. Xdebug također sadrži skup funkcija koje se mogu dodati izvornom kodu za pružanje dijagnostičkih podataka o vremenu izvršavanja.

Rezultati XDebug modula mogu se vidjeti pomoću programa KCachegrind, koji vam omogućava da vizualizirate procese koji se dešavaju u izvornom kodu (vidi sliku 3.1).

Ukratko, XDebug je mali, ali vrlo koristan alat za PHP programere, trebalo bi ga instalirati na svaki PHP interpreter koji se koristi za razvoj. Ali ne biste trebali koristiti XDebug na produkcijskim serverima, jer će značajno smanjiti performanse.
R

Slika 2.1. – Programski interfejs KCachegrind

3.2.4 Jedinično testiranje korištenjem phpUnit

Jedinično testiranje je proces u programiranju koji vam omogućava da provjerite ispravnost pojedinih modula izvornog koda programa. Ideja je da se napišu validacijski testovi za svaku netrivijalnu funkciju ili metodu. To vam omogućava da brzo provjerite da li je sljedeća promjena koda dovela do pojave grešaka u već napisanim i testiranim dijelovima programa, a također olakšava otkrivanje i otklanjanje takvih grešaka. Svrha jediničnog testiranja je da se izoluju pojedinačni delovi programa i da se pokaže da ti delovi rade pojedinačno.

Prilikom otklanjanja grešaka i testiranja programa za obradu studentskih upitnika korišćen je sistem phpUnit koji omogućava jedinično testiranje web aplikacija napisanih u PHP programskom jeziku.

Da biste napisali minimalni testni paket koristeći phpUnit, trebate:


  • povežite biblioteku PHPUnit.php;

  • kreirati podklasu osnovne klase TestCase;

  • dodajte proizvoljan broj metoda testiranja, čija imena počinju sa "test". Ulaz će biti dat unaprijed poznatim parametrima, a rezultat se upoređuje sa referentnim pomoću Asert porodice funkcija koje nasljeđuje test klasa iz osnovne klase TestCase;

  • kreirajte PHPUnit_TestSuite klasu, prosleđujući joj ime klase sa test paketom kao parametrom;

  • Pokrenite testni paket i provjerite rezultat izvršenja.

6(?). Spisak grafičkog materijala

6.1 Izjava o problemu

6.2 Blok dijagram programa


Informacije na kojima će informacioni sistem raditi organizovane su u obliku baze podataka kreirane korišćenjem MySQL alata (slika 16).

Slika 16 Šema baze podataka kreirana pomoću MySQL-a

Formalizacija proračuna (algoritmi proračuna i rješavanje problema)

Da bi se dobila izlazna dokumentacija, ulazni podaci se konvertuju prema određenom algoritmu.

Prilikom izračunavanja troškova ugradnje rastegljivog stropa morate ispuniti obrazac "Cijena" koji sadrži 3 polja i unos podataka: širina stropa, dužina stropa, tekstura materijala. Nakon popunjavanja ovih polja, program od MySQL baze podataka zahteva podatke o ceni materijala sa ovom fakturom. Trošak se izračunava množenjem površine plafonske obloge sa cenom materijala po 1 m 2.

U obrascu "Rashodi", kada kliknete na dugme "Ostaci", programski modul izračunava količinu preostalog materijala u skladištu. Prilikom popunjavanja dva polja u obrascu "Ostaci": datum prijema materijala, datum utroška materijala, preuzimaju se podaci iz MySQL baze podataka sa upitom o količini prijema materijala u datom mjesecu i iznos potrošnje u ovom mjesecu. Ostatak materijala obračunava se kao razlika između prijema i potrošnje materijala za određeni vremenski period.

Blok dijagram upotrebe softverskog paketa (stablo dijaloga)

Sistemski meni - je glavni oblik dijaloga u primenjenim sistemima za obradu podataka, koji sadrži komande dizajnirane za obavljanje određenih zadataka.

Razvijena aplikacija ima intuitivan meni. Za rad sa tabelama baze podataka, modul IS „Upravljanje preduzećem“ sastoji se od.

Tema 3. SOFTVER

Za adekvatnu upotrebu računara ( obrada informacija) morate znati svrhu i svojstva programa koji su vam potrebni kada radite s njim. Set programa i prateće dokumentacije ( koristi u radu ovih programa), se zove softver(UKLJUČENO). Softver je sastavni dio svakog računarskog sistema i dijeli se ( po dogovoru) u tri kategorije: sistemski softver(neophodan za kontrolu računara, za kreiranje i podršku izvršavanja drugih korisničkih programa, za pružanje korisniku skup različitih usluga), sistemi za programiranje ili sistemi alata (obezbeđivanje kreiranja novih programa za računare) i aplikativni softver (direktno osiguravanje izvršenja posla koji je potreban korisniku).


Struktura softvera

Sistemski softver uključuje skup programa koji kontrolišu rad hardvera računara i računarskih mreža ( po pravilu ovi programi ne rješavaju specifične korisničke zadatke, već stvaraju uslove za njihovo rješavanje). Sistemski softver poslan na:

osigurati stabilan rad računara i računarske mreže;

stvoriti uslove za normalan rad aplikativnih programa;

za obavljanje pomoćnih operacija;

za dijagnostiku računarskog hardvera i računarske mreže;

Cijeli skup sistemskih programa može se podijeliti u dvije velike grupe: osnovni softver i servisni sistemi. Osnovni softver je minimalni skup softvera koji omogućava da računar radi.

Osnovna potklasa Softver uključuje:

· Operativni sistemi (OS) - skup programa koji kontrolišu proces izvršavanja aplikativnih programa, planiranje i upravljanje računarskim resursima računara ( OS preuzima izvršavanje takvih operacija kao što je praćenje ispravnosti PC opreme; izvođenje bootstrap procedure; upravljanje radom svih PC uređaja; upravljanje sistemom datoteka; interakcija korisnika sa računarom; učitavanje i izvođenje aplikativnih programa; raspodjela PC resursa - RAM-a, procesorskog vremena i perifernih uređaja između aplikacijskih programa).

operativne ljuske - posebni programi dizajnirani da olakšaju komunikaciju korisnika sa komandama operativnog sistema, koji imaju tekstualne i grafičke opcije za krajnji korisnički interfejs ( Shell programi pružaju zgodan i vizuelan način komunikacije sa računarom, omogućavaju vam da vizuelno prikažete sadržaj direktorijuma na diskovima, pogodno kopirate, preimenujete, šaljete i brišete datoteke itd.).



· mrežni operativni sistemi – skup programa koji obezbeđuju obradu, prenos i skladištenje podataka na mreži.

Do nedavno je većina računara imala instaliran operativni sistem. MS DOS, koji je 1981. godine kreirao Microsoft ( imajte na umu da to nije bio originalni razvoj samog Microsofta - kompanija Billa Gatesa je samo finalizirala "OS" pod nazivom QDOS, kreirana od strane druge kompanije). Prije pojave Windowsa, MS DOS disk operativni sistem je bio najpopularniji i naširoko korišćen. U njegovom okruženju stvorena je čitava generacija softvera. Na bazi MS DOS-a, u procesu razvoja računarske tehnologije pojavio se Windows ( Od 1996. MS DOS je uključen u Windows 95 operativno okruženje). Glavne komponente OS-a, razvijene u okruženju MS DOS, su klasike i organski su uključene u Windows u novoj fazi razvoja softvera općenito i njegovih jezgra - operativnih sistema.

MS DOS je 16-bitni operativni sistem "interfejsa komandne linije" sa jednim zadatkom koji je kompaktan, ima skromne hardverske zahtjeve i obavlja minimalan broj funkcija za korisnike i programe. Glavni nedostaci DOS-a:

Njegova glavna slaba tačka je rad sa ograničenim RAM-om ( u eri stvaranja MS-DOS-a, RAM većine računara nije prelazio 256 kilobajta. DOS je mogao raditi sa 640 kilobajta RAM-a, a Bill Gates je tvrdio da nikome nikada neće trebati više, ali kako je vrijeme odmicalo, pojavili su se programi kojima je bilo potrebno više RAM-a za rad i morali su koristiti posebne programe - menadžere memorije, ali oni to nisu riješili. problem);

Drugi nedostatak DOS-a bila je nemogućnost rada u punopravnom grafičkom načinu ( iako su kompjuteri tog vremena već mogli pružiti podršku za to);

· Treći nedostatak MS-DOS-a je bio samo jedan zadatak.

Operativni sistemi DOS porodice su, uprkos jednostavnosti i isplativosti, zastareli, a zamenili su ih operativni sistemi nove generacije. Ovi operativni sistemi uključuju operativne sisteme porodice Windows, operativni sistemi porodice Unix i sl.

Servisni sistemi- namenjeno za održavanje računara ( proširiti mogućnosti osnovnog softvera). Na funkcionalnoj osnovi, među servisnim softverom možemo razlikovati:

Programi održavanja diskova ( obezbjeđivanje provjere kvaliteta površine diska, kontrolu sigurnosti datoteka, kompresiju diska, izradu sigurnosnih kopija, backup podataka na vanjskim medijima itd.);

antivirusni softver ( pružanje zaštite računara, otkrivanje i oporavak zaraženih datoteka);

programi za arhiviranje podataka ( pružaju proces kompresije informacija u datotekama kako bi se smanjila količina memorije za njihovo pohranjivanje);

programi održavanja mreže.

Programi za dijagnosticiranje ispravnosti računala;

Programi koji se koriste za obavljanje pomoćnih operacija obrade podataka ili održavanja računara ( dijagnostika, testiranje, optimizacija korištenja prostora na disku, oporavak informacija uništenih na magnetnom disku itd.) se nazivaju komunalije.

Programski sistemi ili sistemi alata su softverski proizvodi koji podržavaju tehnologiju programiranja. Unutar ovog smjera postoje alati za kreiranje aplikacija, uključujući:

lokalni alati koji osiguravaju izvođenje individualnog rada na kreiranju programa;

· Integrisana okruženja za programere, koja obezbeđuju implementaciju skupa međusobno povezanih poslova na kreiranju programa.

Lokalni alati za razvoj softvera uključuju programske jezike i sisteme, kao i okruženje korisničkih alata. Postoje mašinski programski jezici ( mašinski kodovi koje prihvata kompjuterski hardver), mašinski orijentisani jezici ( programskih jezika koji odražavaju strukturu određene vrste računara - asemblera), algoritamski ( univerzalni) jezici nezavisni od računarske arhitekture, kao što je Fortran ( Fortran), Cobol ( Cobol), Algol ( Algol), Pascal ( Pascal), OSNOVNI ( Basic), Si ( C), C++ ( C++) i sl.; proceduralni jezici ( gdje je moguće opisati program kao skup procedura – potprograma), jezici specifični za domen ( dizajniran za rješavanje problema određene klase), integrisani sistemi programiranja. Imajte na umu da GOST-ovi nisu fiksirali klasifikaciju programskih jezika ( u obrazovne svrhe, obično se klasifikuju prema različitim kriterijumima). Program pripremljen na programskom jeziku prolazi kroz fazu prevođenja, otklanjanja grešaka i testiranja.

Osnovna namjena alata integriranih softverskih okruženja je povećanje produktivnosti programera, automatizacija kreiranja programa koji pružaju grafičko korisničko sučelje itd.

Osim toga, postoje alati za kreiranje složenih informacionih sistema ( CASE - tehnologija). Dizajn informacionih sistema je radno intenzivan i dugotrajan posao koji zahteva visoko kvalifikovane stručnjake koji su uključeni u njega. U nedavnoj prošlosti, dizajn se često obavljao na intuitivnom nivou uz neformalne metode koje su uključivale elemente umjetnosti, praktičnog iskustva, stručnog prosuđivanja i skupih eksperimentalnih testova performansi. Početkom 70-ih. u SAD je bila programska kriza ( softverska kriza). To se ogledalo u činjenici da su veliki projekti počeli da se izvode sa zakašnjenjem ili iznad predviđenih troškova, razvijeni proizvod nije imao potrebnu funkcionalnost, njegove performanse su bile niske, a kvalitet nastalog softvera nije odgovarao potrošačima. Potreba za kontrolom procesa razvoja softvera, predviđanjem i garancijom troškova razvoja, vremena i kvaliteta rezultata dovela je do potrebe prelaska sa zanatskih na industrijske metode kreiranja softvera i pojave skupa inženjerskih metoda i alata za kreiranje softvera. , ujedinjen zajedničkim imenom "softverski inženjering" ( softversko inženjerstvo). Softverski inženjering se zasniva na ideji da je dizajn softvera formalan proces koji se može naučiti i poboljšati. Do kraja 80-ih. bilo je dosta istraživanja u oblasti programiranja ( razvoj i implementacija jezika visokog nivoa, metoda strukturiranog i modularnog programiranja, dizajnerskih jezika i njihovih alata za podršku, formalnih i neformalnih jezika za opisivanje sistemskih zahtjeva i specifikacija, itd.). CASE termin ( Računarski softverski inženjering) ima veoma široko značenje. U početku je značenje pojma CASE bilo ograničeno na pitanja automatizacije razvoja samo softvera, ali je sada dobilo novo značenje i pokriva proces razvoja složenih informacionih sistema u celini. CASE tehnologija je skup metoda za projektovanje informacionih sistema, kao i skup alata koji vam omogućavaju da vizuelno modelujete predmetnu oblast, analizirate ovaj model u svim fazama razvoja i održavanja i razvijate aplikacije u skladu sa informacionim potrebama korisnika. Većina postojećih CASE alata zasnovana je na strukturnoj ili objektno orijentisanoj analizi i metodama projektovanja, koristeći specifikacije u obliku dijagrama ili tekstova za opisivanje eksternih zahteva, odnosa između modela sistema, dinamike ponašanja sistema i softverske arhitekture.

Aplikacioni programi- dizajniran za rješavanje primijenjenih korisničkih zadataka ( osigurava izvršavanje zadataka potrebnih korisniku na računaru). Uslovno ( prema njihovoj namjeni) mogu se podijeliti u sljedeće podklase:

Programi za obradu teksta;

· grafički urednik;

Programi za obradu fotografija i video slika;

Programi za pripremu prezentacija;

proračunske tablice;

Sistemi za upravljanje bazama podataka;

· Programi ekonomske i statističke analize;

Računalni sustavi za projektovanje (CAD);

Sistemi za pronalaženje informacija;

mrežni softver ( e-mail programi, pristup video konferencijama, internet pretraživači itd.);

programi za igre.

Aplikacioni softver se sastoji od paketi aplikacija(PPP) i korisničkih aplikativnih programa.

Trenutno značajno mjesto u aplikativnom softveru zauzimaju aplikativni softverski paketi koji se prema obimu primjene dijele na paketi specifični za domen (usmjereno na rješavanje uskog spektra problema), paketi opšte namene (dizajniran za rješavanje tipičnih zadataka obrade podataka) i integrisani paketi (opseg njihove primjene je uglavnom ekonomska sfera; obično sadrže: proračunsku tabelu, uređivač teksta, sistem za upravljanje bazom podataka, grafički uređivač, komunikacijske alate). Aplikacioni programi kreirani su kao dio specifičnog računarskog okruženja ( obično se razvijaju od slučaja do slučaja prema sporazumu JPP ili OS prema kojem se primjenjuju).

Odjeljci: Osnovna škola , Ekologija

„Priroda nije hram, već radionica, a čovek je u njoj radnik“, rekao je Turgenjevljev junak. Čovjek je dugo vremena gradio svoj odnos sa prirodom po ovom principu. Međutim, ono što se vekovima odgajalo – potrošački pristup prirodi – vrlo je teško promeniti. Ekološka edukacija je tu od posebnog značaja.

Posebna uloga u osnovnoj školi je data predmetu "Svijet", koji je integrisani predmet i ima za cilj formiranje socijalnog iskustva učenika, njihove svijesti o elementarnoj interakciji u sistemu "čovek, priroda, društvo". Vaspitanje moralnog i ekološki ispravnog odnosa prema životnoj sredini i pravilima ponašanja u prirodi.

Već drugu godinu radim u nastavnom kadru "Škole Rusije".

Glavne teme sekcija:

  1. Gdje živimo
  2. Priroda
  3. Život u gradu i na selu
  4. Zdravlje i sigurnost
  5. Komunikacija
  6. Putovanje

Teme za projekte date su na kraju svake sekcije, ali se prezentacije projekata održavaju na kraju prve i druge polovine godine. U prvom razredu djeca su pripremala kratke izvještaje o ovim rubrikama, uz pomoć roditelja izrađivala prezentacije na whatman papiru. U drugom razredu djeca rade ovaj posao u grupi. Oni dijele podatke koje su sačuvali od prve godine, kombinuju ih, dopunjuju novim pronađenim materijalom. Odbranu sprovode odabrani studenti svake grupe.

Postoje teme koje su od velikog interesa za djecu, ali ih nema u projektima. Djeca se s entuzijazmom bave ovim temama, a zatim dijele svoja otkrića. Tako se dogodilo i sa radom na temu "Zvjezdano nebo", u rubrici priroda. Proučavali smo sazvežđa, na vannastavnoj aktivnosti „Moj Astrahanj“ upoznali smo se sa planetarijumom Astrahan i njegovim zaposlenima, koji su nas obavestili o kreativnom takmičenju i momci su, udruženi u grupu, odlučili da učestvuju.

Tokom sezonskih izleta djeca promatraju promjene u prirodi, sakupljaju prirodne materijale, stvaraju zanate, pomažu pticama koje zimuju, grade hranilice i čekaju goste. Razgovarajte o svojim ljubimcima i brinite o njima. Zimi na prozorima uređuju povrtnjak i uzgajaju mahunarke.

Elementi ekološkog obrazovanja mogu se uključiti u bilo koju nastavu: ruski (rečnik, diktati, izlaganja), matematika (prilikom rješavanja i sastavljanja zadataka), književno čitanje (kada se raspravlja o pjesmama, prozi).

Na časovima ruskog jezika, u fazi razvoja govora, djeci se mogu ponuditi zadaci ekološkog sadržaja, objasniti značenje poslovica i izreka o prirodi.

Djeca sastavljaju priče od slika na zadatu temu, na primjer, "Šta mi je čvorak rekao u proljeće."

Tekstove za diktate, prezentacije i provjeru varanja biram na način da pomognu djetetu da shvati i osjeti povezanost i međuzavisnost cijelog života na ovom svijetu, budi osjećaj za lijepo.

U nastavi matematike formiraju se i temelji ekološkog obrazovanja i odgoja. Djeca vole zadatke u kojima se mogu upoznati sa životom prirode. U 2. razredu djeca počinju sama da sastavljaju zadatke koristeći znanja stečena na drugim časovima. Istovremeno, učenici uče rješavati probleme, dobijaju nove informacije o prirodi i razvijaju govor, pamćenje i mišljenje.

Velike mogućnosti za ekološko obrazovanje leže u časovima književnog čitanja. Poklanjam pažnju razvoju motivacije za zaštitu prirode kroz figurativno poznavanje svijeta. Važno mjesto u formiranju estetskih motiva zaštite prirode zauzima literarna analiza lirskih pjesama ruskih pjesnika. Djeca uče osjetiti „raspoloženje prirode“, izraziti svoju viziju svijeta oko sebe, pronaći neobično u običnim predmetima.

Ekološki rad se obavlja i sa roditeljima: na roditeljskim sastancima, u individualnim razgovorima i konsultacijama.

Raznovrstan naporan rad daje dobre rezultate. Na osnovu dijagnoze možemo zaključiti: djeca postavljaju više pitanja, pitanja postaju dublja po značenju. Djeca imaju želju da sama traže odgovore na pitanja. Djeca ne samo da promišljaju prirodu, već i doživljavaju, brinu, raduju se, saosjećaju, savladavaju vještine brige o životinjama i biljkama.

Rad na edukaciji o životnoj sredini odvija se i van škole. Ekskurzije imaju veliku edukativnu vrijednost. Omogućuju direktnu komunikaciju djece s prirodom u različitim godišnjim dobima.

Pokušavam naučiti djecu da vide ne samo ljepotu prirode, već i nepromišljeno uništavanje nje od strane ljudi.

Ekološko obrazovanje mlađe generacije jedan je od glavnih zadataka u ovom trenutku. Ovo je veoma težak ali zanimljiv posao.

Jedan od principa ekološkog obrazovanja je kontinuitet. Moramo to zapamtiti i odražavati ovaj princip u radu sa djecom.

Prilično novi pravac u unapređenju ekološkog obrazovanja u osnovnoj školi je problem upravljanja samostalnom aktivnošću mlađih učenika u proučavanju životne sredine uz pomoć zadataka koji dijete stavljaju u poziciju istraživača, otkrivača prirodnih tajni i misterija.

U toku rada možete koristiti sljedeće aktivnosti:

  • igre uloga;
  • Praktične aktivnosti;
  • dječija kreativnost;
  • komunikacija sa prirodom;
  • eksperimentiranje;
  • govorna aktivnost: razmjena informacija, utisaka;
  • posmatranje;
  • čitanje knjiga, posjećivanje izložbi, muzeja, kino dvorana.

Raznolikost aktivnosti prirodno povezuje ekološki odgoj sa cjelokupnim procesom razvoja ličnosti mlađeg učenika.

Zadaci ekološkog vaspitanja i obrazovanja u osnovnoj školi zahtijevaju svrsishodan sistematski rad. Ekološko obrazovanje je nemoguće bez integracije svih akademskih predmeta i vannastavnih aktivnosti. Djecu je potrebno upoznati sa posebnostima prirode njihovog rodnog kraja. Studija se izvodi po principu: od bliskog ka dalekom - od matičnog grada, regiona - do cijele zemlje, a zatim u druge zemlje i kontinente.

Cilj ekološkog odgoja i obrazovanja mlađih školaraca je postizanje pozitivnih obrazovno-vaspitnih rezultata u ovoj fazi školskog obrazovanja. Djeca formiraju začetke ekološke kulture, koja će kasnije, u skladu sa konceptom opšteg srednjeg ekološkog obrazovanja, uspješno usvojiti praktična i duhovna iskustva čovjekove interakcije s prirodom, što će osigurati njen opstanak i razvoj.

Formiranje ekološke pismenosti mlađih školaraca u nastavi o svijetu kroz zadatke kreativne prirode

Čuveni učitelj V. A. Sukhomlinsky je rekao: „Duboko sam uvjeren da ako u djetinjstvu osoba doživi osjećaj zadivljenosti ljepotom svoje rodne prirode, ako, zadržavši dah, sluša riječi učitelja o tome šta njegove oči vide , tokom ovih sati njegov puls budi žive misli. Zahvaljujući ovim satima komunikacije sa zavičajnom prirodom, razvijaju se njegove mentalne sposobnosti, riječ njegovog zavičajnog govora ulazi u njegov duhovni život i postaje njegovo vlastito bogatstvo: u riječi on izražava svoje misli, osjećaje, doživljaje. Sklad slike i riječi, znanje uma i znanje srca - to je rađanje onoga što nazivamo osjećajem ljubavi prema prirodi, prema zavičajnom svijetu. Analizirajući ove riječi, shvatio sam da veliku ulogu u negovanju ovog osjećaja ima učiteljica razredne nastave. Na satu svijeta oko sebe proveo sam anketu među učenicima i došao do zaključka da je negativna lista višestruko veća od liste dobrih djela. Velika većina djece je usvojila negativne primjere i, u najboljem slučaju, usvojila pasivan stav „ne radi to“. Takav položaj odgovara niskom stepenu razvoja ekološke kulture. Djeca s niskim stupnjem razvoja ekološke kulture slabo znaju o dobrobitima koje i sama sada mogu donijeti prirodi, gradu i ljudima oko sebe. Dakle, pedagoška praksa se trenutno suočava sa sljedećim poteškoćama u razvoju ekološke pismenosti mlađih učenika: učenici ne razumiju u potpunosti da je sve u prirodi međusobno povezano; učenici nemaju ekološka znanja, nema osjećaj da je čovjek dio prirode; djeca ne znaju vrednovati svoje postupke i postupke drugih ljudi u odnosu na okolinu na osnovu predviđanja mogućih negativnih posljedica.

U posljednje vrijeme, pitanja zaštite prirode, ekološki problemi postali su glavna ne samo za naučnike, već i za opštu populaciju, uključujući i mlađu školsku djecu. U Federalnom državnom obrazovnom standardu osnovnog opšteg obrazovanja, među glavnim oblastima rada škole, kaže se da je „vaspitanje emocionalno vrijednog, pozitivnog stava prema sebi i svijetu oko sebe“ od velikog značaja. Tako država postavlja zadatak školi da unaprijedi ekološko obrazovanje mlađe generacije.

Hitnost problema diktirala je sljedeće zadatke: 1. Analizirati školski program i utvrditi njegove mogućnosti u ekološkom obrazovanju učenika. 2. Stvorite ideju o složenom odnosu između čovjeka i prirode. 3. Dati moderne ideje o biosferi, ulozi vodenih i vazdušnih bazena, pokrivaču tla, flori i fauni. 4. Podizanje odgovornosti za stanje prirode, njeno očuvanje i unapređenje u interesu budućih generacija.

Rješenje ovog problema zavisi od nivoa opšte kulture svakog čoveka na zemlji. Temelji svake kulture postavljeni su u djetinjstvu. Smatram da je neophodno da svaki dan učenici sami sebi dođu do otkrića, kako bi svaki korak oplemenio dušu djeteta. Ovo je olakšano integrisanim kursom N.Ya. Dmitrieva i A.N. Kazakova "Mi i svijet oko nas" u sistemu L.V. Zankova, koja je zasnovana na „Prirodnim naukama“ i „Društvenim naukama“. Široko područje sadržaja, koje je predstavljeno u udžbenicima "Svijet oko", omogućava svakom djetetu da pronađe sferu svojih interesovanja, stvarajući uslove za formiranje univerzalnih obrazovnih aktivnosti. Dakle, uranjanje u široku prirodnu i društvenu sferu aktivira emocionalnu i senzualnu sferu djece, budi u njima interesovanje za svoju Zemlju i zavičaj, za ljude Zemlje, za porodicu, osjećaj pripadnosti onome što je dešava u našoj zajedničkoj kući.

Najvažniji pokazatelj formiranja ekološke pismenosti, ekološke kulture pojedinca je ● interesovanje deteta za prirodne objekte, uslove života ljudi, biljaka, životinja, pokušaje njihove analize; ● poštovanje ekoloških pravila ponašanja u okruženju postaje životna norma, postaje navika. Dakle, govorimo o formiranju ekološke kulture kao dijela opće kulture pojedinca, koja predstavlja skup ekološki razvijenih intelektualnih, emocionalno-čulnih i djelatnih sfera.

Za realizaciju zadataka koje koristim u svom radu koriste se sledeća sredstva: ● ekološke bajke ● ekološki zadaci, zadaci-priče ● konferencije, konferencije za štampu ● proučavanje biljaka i životinja lokalnog područja, navedenih u „Crvenoj knjizi“ ● zadaci zabavne prirode: intelektualne kreativne igre, kvizovi, takmičenja u crtanju plakata "Čuvajmo život", "Čuvajmo Zemlju!"

Bajka je dobar materijal za ekologiju. Bajka ne samo da zabavlja, ona nenametljivo obrazuje, upoznaje svijet oko sebe, dobro i zlo. Ako bajka sadrži neka biološka znanja i pojmove o međusobnom odnosu živih organizama i sa njihovom okolinom, onda će bajka biti izvor za formiranje elementarnih ekoloških pojmova. Ali u ekološkim bajkama ne treba kršiti ekološka pravila, ne treba iskrivljavati svojstva i postupke junaka bajke.

Svrha ekološke bajke je da pruži tačne, naučno pouzdane informacije. Dobro biološko znanje treba da bude osnova ekološke obuke. U bajkama se daju ideje o obrascima u prirodi: da kršenje obrazaca u prirodi može dovesti do problema; o individualnim karakteristikama ponašanja i života različitih predstavnika životinjskog i biljnog svijeta. U bajkama su vrlo precizno zabilježene osobine mnogih životinja i biljaka, prirodnih pojava i krajolika.

Bajke koje komponuju sama deca jedan su od pokazatelja stepena razumevanja ekoloških problema i empatije. Ako je dijete samo izmislilo bajku, "povezalo u svojoj mašti nekoliko objekata svijeta oko sebe, onda možemo reći da je naučilo misliti" (V.A. Sukhomlinsky) Premještanje u bajkama u fokus dječje pažnje s osobe na divljinu , koji stvara i podržava ljudsko okruženje, omogućava vam da formirate poštovanje prema prirodi, odgovornost za nju. Ovo bi trebalo da bude osnova ekološkog obrazovanja dece.

Ekološki zadaci u osnovnoj školi mogu se koristiti i na temu i bez obzira na temu časa. U svakom slučaju, oni će aktivirati pažnju i mentalnu aktivnost učenika, postaviti ih za rad koji potiče kreativnost i inicijativu, što povećava emocionalnu pozadinu časa. Tekstualne zadatke ekološkog sadržaja treba koristiti u nastavi za procjenu kako pozitivnog tako i negativnog utjecaja čovjeka na prirodu. Ekološki zadaci ne samo da podstiču radoznalost djece, već doprinose ispoljavanju brige i brige o stanju prirode. Ekološki zadaci za mlađe školarce mogu biti različitog stepena složenosti u zavisnosti od razreda i spreme dece.

Na časovima okolnog svijeta učenici ovladavaju vještinama da sagledaju problem, iznesu i dokažu hipoteze, izražavaju svoje misli usmeno i pismeno. Uče da predstave rezultate istraživanja u obliku shema, planova, modela, zanata. Akumulirana znanja i veštine treba konsolidovati i primeniti, tj. Treba mi prirodan izlaz, prilika da ostvarim svoje iskustvo. Kako bi djeca osjetila značaj svog znanja, odlučeno je da se održi niz konferencija.

Izvršeni su pripremni radovi, nakon čega su razmotrena sljedeća pitanja:

1. Šta je "konferencija"?

2. Zašto su nam potrebne konferencije?

3. Kome su potrebne konferencije?

4. Da li su školarcima potrebne konferencije?

5. Kako se ljudi pripremaju za konferenciju?

6. A kako da se pripremimo za konferenciju?

7. Kako možemo organizirati konferenciju? Ko će biti naši gosti?

Uzbudljivo i korisno za studente da rade na ekološkim projektima:

“Moje drvo”, “Rijeke naše zemlje”, “Planine nisu vrijedne zato što su visoke, već zato što su bogate”, “Pomozi pticama zimi”, “Biljke i životinje navedene u Crvenoj knjizi”, “Zemlja je naš zajednički dom“. Radeći na projektima, učenici uče da rade sa uputstvima, razvijaju istraživačke veštine, zapažanje, sposobnost da dobiju informacije iz različitih izvora, analiziraju ih, uče da rade sa referentnom literaturom, razvijaju internet veštine. Prilikom kreiranja prezentacije, pokazuju kreativnost, govore publici, razvijaju sposobnost da ukratko formulišu svoje misli, argumentovano argumentuju svoje mišljenje.

Budući da savremene ekološke promjene predstavljaju realnu prijetnju životima ljudi, obrazovno-vaspitne aktivnosti škole treba da budu usmjerene na formiranje ekološke pismenosti, ekološke kulture učenika, kako bi odrastala generacija koja će čuvati životnu sredinu.

Dati sistem iskustvenih sredstava doprinosi formiranju ekološke pismenosti i formiranju lične pozicije mlađih učenika. Pitanja kulture potrošnje prirodnih resursa bila su u središtu mog obrazovnog rada sa razredom.