24
1 Programiranje Informacijske tehnologije Doc. dr. Aleš Hladnik Programiranje n Algoritem Algoritem zaporedje ukazov oz. navodil, ki v kon zaporedje ukazov oz. navodil, ki v končnem nem številu korakov pripelje do rezultata tevilu korakov pripelje do rezultata n Ukazi omogo Ukazi omogočajo ra ajo računalniku, da opravi dolo unalniku, da opravi določeno nalogo eno nalogo n Ukazi so napisani v Ukazi so napisani v programskem jeziku programskem jeziku u Sintaksa Sintaksa slovni slovnična pravila za tvorbo ukazov na pravila za tvorbo ukazov u Semantika Semantika pomen/interpretacija ukazov pomen/interpretacija ukazov u Mo Možno bolj precizno izra no bolj precizno izražanje v primerjavi z naravnimi anje v primerjavi z naravnimi jeziki jeziki u Izvorna (programska) koda Izvorna (programska) koda ra računalni unalniški program ali ki program ali njegov del, napisan v izbranem programskem jeziku njegov del, napisan v izbranem programskem jeziku SAMO ZA INTERNO UPORABO

RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

  • Upload
    vuque

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

1

Programiranje

Informacijske tehnologije Doc. dr. Aleš Hladnik

Programiranje

nn AlgoritemAlgoritem –– zaporedje ukazov oz. navodil, ki v konzaporedje ukazov oz. navodil, ki v konččnem nem šštevilu korakov pripelje do rezultatatevilu korakov pripelje do rezultata

nn Ukazi omogoUkazi omogoččajo raajo raččunalniku, da opravi dolounalniku, da opravi določčeno nalogoeno nalogonn Ukazi so napisani v Ukazi so napisani v programskem jezikuprogramskem jeziku

uu SintaksaSintaksa –– slovnislovniččna pravila za tvorbo ukazovna pravila za tvorbo ukazovuu SemantikaSemantika –– pomen/interpretacija ukazovpomen/interpretacija ukazovuu MoMožžno bolj precizno izrano bolj precizno izražžanje v primerjavi z naravnimi anje v primerjavi z naravnimi

jezikijezikiuu Izvorna (programska) kodaIzvorna (programska) koda –– raraččunalniunalnišški program ali ki program ali

njegov del, napisan v izbranem programskem jezikunjegov del, napisan v izbranem programskem jezikuSAMO ZA INTERNO U

PORABO

Page 2: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

2

Organiziranost računalnika

nn Centralna procesna enotaCentralna procesna enota –– opravlja izvropravlja izvršševanje evanje (izvajanje) programskih ukazov(izvajanje) programskih ukazov

nn Notranji pomnilnikNotranji pomnilnik –– hrani program in potrebne podatke hrani program in potrebne podatke med izvajanjemmed izvajanjem

nn Zunanji pomnilnik (trdi disk)Zunanji pomnilnik (trdi disk) –– hrani vse programe, ki se hrani vse programe, ki se ne izvajajo in vse podatkene izvajajo in vse podatke

nn Vhodno/izhodne napraveVhodno/izhodne naprave –– omogoomogoččajo komunikacijo ajo komunikacijo raraččunalnika z zunanjim svetomunalnika z zunanjim svetom

Dva pogleda na računalniške programe

Uporabniški vmesnik

Plasti programov, ki jih zakriva uporabniški vmesnik

Uporabniški pogledPogled računalniškega

programerja

Aplikacija (Word, PhotoShop)

Višji programski jeziki

Nižji programski jeziki

Strojna oprema (PC)

SAMO ZA INTERNO U

PORABO

Page 3: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

3

Programski jeziki

nn NiNižžji programski jezikiji programski jezikiuu Vezani na doloVezani na določčeno vrsto raeno vrsto raččunalnika oz. CPE unalnika oz. CPE

(Machine dependent)(Machine dependent)uu ČČloveku teloveku težžko razumljiviko razumljiviuu Strojni in zbirniStrojni in zbirni

nn ViViššji programski jezikiji programski jezikiuu Neodvisni od vrste raNeodvisni od vrste raččunalnika (Machine unalnika (Machine

independent)independent)uu LaLažžje berljivi in razumljivije berljivi in razumljiviuu FORTRAN, C++, Java, BASICFORTRAN, C++, Java, BASIC

Strojni jezik

nn Programski Programski jezik prve generacijejezik prve generacijenn RaRaččunalnikov naravni jezik unalnikov naravni jezik –– edini jezik, ki ga edini jezik, ki ga

mikroprocesor neposredno razumemikroprocesor neposredno razumenn Zaporedje binarnih znakov (0 in 1)Zaporedje binarnih znakov (0 in 1)

SAMO ZA INTERNO U

PORABO

Page 4: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

4

Zbirni jezik (Assembly language)

nn Programski Programski jezik druge generacijejezik druge generacijenn Koda sestavljena iz okrajKoda sestavljena iz okrajššav, simbolnih oznak in navodil av, simbolnih oznak in navodil

(ADD, STORE, LD, d1, d2, (ADD, STORE, LD, d1, d2, ……))nn Poleg Poleg šštevilk se uporabljajo tudi tevilk se uporabljajo tudi ččrkerke

Višji programski jeziki

nn ProceduralniProceduralni (spadajo med (spadajo med jezike tretje generacijejezike tretje generacije))uporabljajo procedure, t.j. zaporedja programskih uporabljajo procedure, t.j. zaporedja programskih stavkov, ki sestojijo iz anglestavkov, ki sestojijo iz anglešških besedkih besed

nn Programer napiProgramer napišše ukaze, s katerimi da navodila e ukaze, s katerimi da navodila raraččunalniku, katero nalogo naj opravi in na kakunalniku, katero nalogo naj opravi in na kakššen en nanaččinin

SAMO ZA INTERNO U

PORABO

Page 5: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

5

Prevajalnik in tolmač

nn Dve moDve možžnosti izvajanja ukazov, napisanih v vinosti izvajanja ukazov, napisanih v viššjem jem programskem jezikuprogramskem jezikuuu Prevajalni jezikPrevajalni jezik (Compiler) (Compiler) –– pprogramrogram, ki pretvori , ki pretvori

programsko kodo iz viprogramsko kodo iz viššjega programskega jezika jega programskega jezika neposredno v strojni jezikneposredno v strojni jezik

uu TolmaTolmačč (Interpreter) (Interpreter) –– pretvori kodo v vmesno obliko pretvori kodo v vmesno obliko in jo izvedein jo izvedett Ni prevajanja v strojni jezikNi prevajanja v strojni jeziktt ObiObiččajno poajno poččasnejasnejšše izvajanje programae izvajanje programa

C

nn Zmogljiv programski jezik, ki je bil razvit z namenom Zmogljiv programski jezik, ki je bil razvit z namenom pisanja sistemske programske opreme (UNIX)pisanja sistemske programske opreme (UNIX)

nn Zahteva profesionalno znanje programiranjaZahteva profesionalno znanje programiranja

SAMO ZA INTERNO U

PORABO

Page 6: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

6

Objektno programiranje

nn Objektno orientirano programiranje (OOP)Objektno orientirano programiranje (OOP)uu Temelji na delu z Temelji na delu z objekti (predmeti)objekti (predmeti), ki vsebujejo , ki vsebujejo

podatke, potrebne za delovanje programa, in podatke, potrebne za delovanje programa, in metodemetode za delo s podatkiza delo s podatki

uu RazredRazred –– skupek pravil, ki opredeljujejo, katere skupek pravil, ki opredeljujejo, katere spremenljivke in metode vsebujejo objekti tega spremenljivke in metode vsebujejo objekti tega razredarazreda

uu Glavna prednost OOP je moGlavna prednost OOP je možžnost ponovne nost ponovne uporabe obstojeuporabe obstoječčih objektov (npr. v novih ih objektov (npr. v novih programih)programih)

uu Primeri OOP jezikov: Primeri OOP jezikov: C++C++, , JavaJava, , C#,C#, DelphiDelphi, , vizualni programski jezikvizualni programski jezik

Objektno programiranje

nn Program vsebuje zbirko med seboj sodelujoProgram vsebuje zbirko med seboj sodelujoččih objektovih objektovnn Delovanje programa doloDelovanje programa določčajo skupinske interakcije, ki jih doloajo skupinske interakcije, ki jih določčajo ajo

posamezni objektiposamezni objekti

nn Objekti so "antropomorfni" Objekti so "antropomorfni" –– vsak posamezen objekt je "pameten" v svoji vsak posamezen objekt je "pameten" v svoji specialnostispecialnostiuu Npr. postelja se lahko sama pospravi, vrata odprejo, itd.Npr. postelja se lahko sama pospravi, vrata odprejo, itd.

nn Vsakemu objektu je potrebno povedati, kdaj mora nanj delovati drVsakemu objektu je potrebno povedati, kdaj mora nanj delovati drug ug objekt objekt àà da bi opravili nalogo, morajo ti med seboj sodelovatida bi opravili nalogo, morajo ti med seboj sodelovati

nn Vsak objekt predstavlja abstrakcijo Vsak objekt predstavlja abstrakcijo –– ""ččrna rna šškatlakatla““: skrije nepomembne : skrije nepomembne podrobnosti podrobnosti

nn OmogoOmogočča programerju, da nadzoruje kompleksnost programaa programerju, da nadzoruje kompleksnost programa

nn Pisanje programa z modeliranjem problema kot niza med seboj Pisanje programa z modeliranjem problema kot niza med seboj sodelujosodelujoččih komponentih komponent

nn Programer doloProgramer določči, kateri so gradniki programa in jih povei, kateri so gradniki programa in jih povežže, tako da e, tako da pravilno sodelujejo (Lego kocke!)pravilno sodelujejo (Lego kocke!)

SAMO ZA INTERNO U

PORABO

Page 7: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

7

Objektno programiranje

nn Primer: igra Primer: igra TetrisTetrisuu Kateri objekti nastopajo v igri?Kateri objekti nastopajo v igri?uu Katere naloge morajo ti objekti znati opravljati?Katere naloge morajo ti objekti znati opravljati?uu Katere so njihove lastnosti?Katere so njihove lastnosti?

Objektno programiranje

nn Kateri objekti nastopajo v igri?Kateri objekti nastopajo v igri?uu Liki in igralna povrLiki in igralna površšinaina

nn Katere naloge morajo ti objekti znati Katere naloge morajo ti objekti znati opravljati?opravljati?uu Liki:Liki:

tt se ustvaritise ustvarititt padatipadatitt se vrteti (rotirati)se vrteti (rotirati)tt se ustaviti ob trkuse ustaviti ob trku

uu Igralna povrIgralna površšina:ina:tt se ustvaritise ustvarititt odstraniti vrsticeodstraniti vrsticett preveriti, preveriti, čče je igra kone je igra konččanaana

nn Katere so njihove Katere so njihove lastnosti?lastnosti?uu Liki:Liki:

tt orientacijaorientacijatt polopoložžajajtt oblikaoblikatt barvabarva

uu Igralna povrIgralna površšina:ina:tt velikostvelikosttt vrsticevrsticeSAMO ZA IN

TERNO UPORABO

Page 8: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

8

Java

nn Objektno orientiran programski jezik soroden C in C++Objektno orientiran programski jezik soroden C in C++nn Razvit v zgodnjih 90Razvit v zgodnjih 90--ih letih v podjetju Sun Microsystemsih letih v podjetju Sun Microsystemsnn Kot samostojni program ali kot vgrajena aplikacija (Applet), ki Kot samostojni program ali kot vgrajena aplikacija (Applet), ki

jo pojo požženemo iz spletnega brskalnikaenemo iz spletnega brskalnikauu Vnos izvorne kode v datoteko z urejevalnikomVnos izvorne kode v datoteko z urejevalnikomuu Pretvorba izvornega programa v strojni jezik ali Pretvorba izvornega programa v strojni jezik ali Java Java

Bytecode Bytecode s t.i. Justs t.i. Just--inin--Time (JIT) prevajalnikom (npr. Time (JIT) prevajalnikom (npr. javac)javac)

uu IzvrIzvrššitev prevedenega programa s tolmaitev prevedenega programa s tolmaččem (npr. java)em (npr. java)uu Odstranitev napak (hroOdstranitev napak (hroššččev) z urejevalnikomev) z urejevalnikom in zain začčetek etek

novega ciklusanovega ciklusa

C++ in C#

nn C++C++uu Poleg vseh elementov jezika C vsebuje Poleg vseh elementov jezika C vsebuje šše e

dodatne mododatne možžnosti za objektno orientirano delonosti za objektno orientirano delouu Uporaba za razvoj podatkovnih baz in spletnih Uporaba za razvoj podatkovnih baz in spletnih

aplikacijaplikacij

nn C#C#uu Objektno orientiran programski jezik, ki temelji na Objektno orientiran programski jezik, ki temelji na

C++C++uu Sprejet kot standard za spletne aplikacije in Sprejet kot standard za spletne aplikacije in

storitve, temeljestoritve, temelječče na XMLe na XMLuu Podobno kot Java uporablja JIT prevajalnikPodobno kot Java uporablja JIT prevajalnik

SAMO ZA INTERNO U

PORABO

Page 9: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

9

Vizualni programski jeziki

nn Vizualno programsko okolje Vizualno programsko okolje (Visual (Visual programming environment, VPE) omogoprogramming environment, VPE) omogočča a programerjem razvijanje programov z vleprogramerjem razvijanje programov z vleččenjem in enjem in odlaganjem predmetovodlaganjem predmetovuu Vizualni ali grafiVizualni ali grafiččni vmesnik za ustvarjanje ni vmesnik za ustvarjanje

izvorne kodeizvorne kodenn Pogosto uporabljani v okoljih hitrega razvijanja Pogosto uporabljani v okoljih hitrega razvijanja

aplikacij (Rapid application development)aplikacij (Rapid application development)uu Programer piProgramer pišše in implementira program v e in implementira program v

segmentihsegmentihnn Primeri: Primeri: LabVIEWLabVIEW, , SimulinkSimulink

Visual Studio 2005

nn Microsoftova zbirka programskih orodij za Microsoftova zbirka programskih orodij za profesionalne razvijalceprofesionalne razvijalceuu OmogoOmogočča ustvarjanje samostojnih aplikacij, a ustvarjanje samostojnih aplikacij,

spletnih strani, aplikacij in storitevspletnih strani, aplikacij in storitev na razlina različčnih nih platformah (streplatformah (strežžniki in delovne postaje MS niki in delovne postaje MS Windows, Pocket PC, pametni telefoni, spletni Windows, Pocket PC, pametni telefoni, spletni brskalniki)brskalniki)

uu VkljuVključčuje uje Visual Basic, Visual C++, Visual C# Visual Basic, Visual C++, Visual C# in Visual J#in Visual J#SAMO ZA IN

TERNO UPORABO

Page 10: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

10

Visual Studio 2005

1. korakRazvijalec razvije uporabniški vmesnik

2. korakRazvijalec določi lastnosti vsakemu objektu na obrazcu

3. korak Razvijalec napiše kodo, ki določa funkcijo vsakemu ukaznemu gumbu

4. korak Razvijalec preizkusi program

Neproceduralni jeziki in razvojna orodja

nn Neproceduralni jezikiNeproceduralni jeziki –– Programerji piProgramerji piššejo navodila ejo navodila v anglev angleššččiniini--podobnem jeziku ali interagirajo z podobnem jeziku ali interagirajo z vizualnim okoljem npr. z namenom pridobivanja vizualnim okoljem npr. z namenom pridobivanja podatkov iz datotek ali podatkovnih bazpodatkov iz datotek ali podatkovnih baz

nn Programska razvojna orodjaProgramska razvojna orodja –– Uporabniku prijazni Uporabniku prijazni programi, ki pomagajo programerjem in uporabnikom programi, ki pomagajo programerjem in uporabnikom pri ustvarjanju programovpri ustvarjanju programov

SAMO ZA INTERNO U

PORABO

Page 11: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

11

Neproceduralni jeziki

nn Jeziki Jeziki ččetrte generacijeetrte generacije –– rerešševanje evanje problemov, ozko usmerjenih v problemov, ozko usmerjenih v dolodoloččeno podroeno področčje (npr. je (npr. raraččunovodstvo)unovodstvo)

nn OmogoOmogoččajo dostop do podatkov v ajo dostop do podatkov v podatkovnih bazah (SQL), podatkovnih bazah (SQL), generiranje porogeneriranje poroččil, matematiil, matematiččne ne analize (Mathematica, SPSS)analize (Mathematica, SPSS)

uu PovpraPovprašševalni jezik SQLevalni jezik SQL (Structured Query (Structured Query Language) omogoLanguage) omogočča uporabnikom upravljanje s a uporabnikom upravljanje s podatki v relacijskih podatkovnih bazah (DBMS)podatki v relacijskih podatkovnih bazah (DBMS)

Programska razvojna orodja

nn Visual Basic for Applications (VBA)Visual Basic for Applications (VBA) –– makro makro programski jezikprogramski jezikuu Makro Makro –– zaporedje ukazov, ki avtomatizirajo zaporedje ukazov, ki avtomatizirajo

opravilaopravila

SAMO ZA INTERNO U

PORABO

Page 12: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

12

Spletno programiranje

nn HTMLHTMLnn Skriptni jeziki Skriptni jeziki

uu JavaScriptJavaScriptuu PERLPERLuu VBScriptVBScript

nn DinamiDinamiččni HTML (DHTML)ni HTML (DHTML)nn XHTMLXHTMLnn XMLXMLnn WMLWMLnn Orodja za izdelavo spletnih strani (Dreamweaver, Flash, Orodja za izdelavo spletnih strani (Dreamweaver, Flash,

FrontPage)FrontPage)

HTML

nn HTMLHTML (HyperText Markup Language) (HyperText Markup Language) –– oznaoznaččevalni jezik evalni jezik za izdelavo spletnih strani oz. veza izdelavo spletnih strani oz. veččpredstavnostnih predstavnostnih dokumentov dokumentov

nn Urejanje HTML datotek: tekstovni (NoteTab) ali Urejanje HTML datotek: tekstovni (NoteTab) ali WYSIWYG urejevalniki (FrontPage, Dreamweaver)WYSIWYG urejevalniki (FrontPage, Dreamweaver)

SAMO ZA INTERNO U

PORABO

Page 13: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

13

nn SkriptaSkriptauu Interpretiran Interpretiran program, ki teprogram, ki tečče na odjemalcue na odjemalcu

nn ApletApletuu ObiObiččajno teajno tečče na odjemalcu, a je e na odjemalcu, a je prevedenpreveden

nn ServletServletuu Aplet, ki teAplet, ki tečče na stree na strežžnikuniku

nn ActiveXActiveX controlcontroluu ProgramProgramčček, ki teek, ki tečče na odjemalcue na odjemalcu

nn ŠŠtevectevecuu Vodi evidenco o Vodi evidenco o šštevilu obiskovalcev spletne stranitevilu obiskovalcev spletne strani

nn ObrazecObrazecuu Zbira podatke o obiskovalcih spletne straniZbira podatke o obiskovalcih spletne strani

Interaktivni elementi in dodatki na spletnih straneh

Skriptni jeziki

nn Enostavni za uEnostavni za uččenje in uporaboenje in uporabouu JavaScriptJavaScript –– spletni strani dodaja dinamispletni strani dodaja dinamiččne ne

vsebine in interaktivne elementevsebine in interaktivne elementeuu PERLPERL (Practical Extraction and Report Language)(Practical Extraction and Report Language)

–– vsebuje vsebuje šštevilne napredne motevilne napredne možžnosti obdelave nosti obdelave besedilabesedila

uu VBScriptVBScript (Visual Basic, Scripting Edition)(Visual Basic, Scripting Edition) ––spletnim stranem dodajaspletnim stranem dodaja inteligentnost in inteligentnost in interaktivnostinteraktivnostSAMO ZA IN

TERNO UPORABO

Page 14: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

14

Dinamični HTML

nn DHTMLDHTML (dinami(dinamiččni HTML) ni HTML) –– omogoomogočča a razvijalcem, da vkljurazvijalcem, da vključčijo v spletne strani veijo v spletne strani veččgrafigrafiččnih vsebin in interaktivnostinih vsebin in interaktivnosti

XHTML, XML, WML

nn XHTMLXHTML (Extensible HTML)(Extensible HTML) –– omogoomogočča enostavneja enostavnejšše e prikazovanje spletnih straneh na PDA brskalnikihprikazovanje spletnih straneh na PDA brskalnikih (dlan(dlanččniki, niki, mobilni telefoni)mobilni telefoni)uu Vsebuje znaVsebuje značčilnosti ilnosti HTML HTML inin XMLXML

nn XMLXML (Extensible Markup Language)(Extensible Markup Language) –– omogoomogočča razvijalcem a razvijalcem ustvarjanje prilagojenih znaustvarjanje prilagojenih značčk (Tags)k (Tags)uu StreStrežžnik ponik poššlje celoten zapis odjemalcu, ki lahko opravi lje celoten zapis odjemalcu, ki lahko opravi

veveččino procesiranja, ne da bi se moral vraino procesiranja, ne da bi se moral vraččati k streati k strežžnikunikunn WMLWML (Wireless Markup Language)(Wireless Markup Language) –– omogoomogočča razvijalcem a razvijalcem

ustvarjanje spletnih strani, specifiustvarjanje spletnih strani, specifiččno namenjenih PDA no namenjenih PDA brskalnikombrskalnikomuu ŠŠtevilni dlantevilni dlanččniki in pametni telefoni uporabljajo WML kot niki in pametni telefoni uporabljajo WML kot

svoj oznasvoj označčevalni jezikevalni jezik

SAMO ZA INTERNO U

PORABO

Page 15: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

15

Programi za postavljanje spletnih strani

nn Spletna razvojna orodja Spletna razvojna orodja -- ustvarjanje kompleksnih spletnih ustvarjanje kompleksnih spletnih strani brez prikaza HTML kodestrani brez prikaza HTML kode

nn Enostavni za uporabo Enostavni za uporabo –– ni potrebno poznavanje jezika ni potrebno poznavanje jezika HTML HTML uu Macromedia DreamweaverMacromedia Dreamweaver (Adobe)(Adobe)

tt 70%70%--ni trni tržžni deleni deležž med HTML urejevalnikimed HTML urejevalnikitt NovejNovejšše verzije vsebujejo podporo drugim spletnim e verzije vsebujejo podporo drugim spletnim

tehnologijam (CSS, JavaScript)tehnologijam (CSS, JavaScript)uu FrontPageFrontPage (Microsoft)(Microsoft)

tt WYSIWYG HTML urejevalnikWYSIWYG HTML urejevalniktt VkljuVključčen v MS Office Proen v MS Office Pro

Večpredstavnostni razvojni programi

nn Kombiniranje besedila, grafike, animacije, audio Kombiniranje besedila, grafike, animacije, audio in video vsebin v interaktivno predstavitevin video vsebin v interaktivno predstavitev

nn Uporaba pri Uporaba pri ee--uuččenjuenjuuu RaRaččunalniunalnišško podprto uko podprto uččenje (Computerenje (Computer--

based Training, CBT)based Training, CBT)uu SpletnoSpletno--podprto upodprto uččenje (Webenje (Web--based Training, based Training,

WBT)WBT)nn Programi: Programi: ToolbookToolbook, , AuthorwareAuthorware,, Director MXDirector MXSAMO ZA IN

TERNO UPORABO

Page 16: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

16

Razvoj programske opreme

nn ŽŽivljenjski (razvojni) cikel programske opremeivljenjski (razvojni) cikel programske opremeuu Definicija problemaDefinicija problemauu Analiza in opredelitev zahtevAnaliza in opredelitev zahtevuu NaNaččrtovanjertovanjeuu UvajanjeUvajanjeuu Preverjanje rePreverjanje reššitveitveuu VzdrVzdržževanjeevanje

nn RazliRazliččni pristopini pristopiuu Linearni (kaskadni)Linearni (kaskadni)uu PrototipniPrototipniuu ObjektniObjektniuu Ekstremno programiranjeEkstremno programiranje

Analiza

Načrtovanje

Uvajanje

Testiranje

Vzdrževanje

Analiza zahtev

nn Analiza in dokumentiranje obstojeAnaliza in dokumentiranje obstoječčega procesaega procesann Pregled zahtevPregled zahtevnn ŠŠtudija zmotudija zmožžnosti (Feasibility study) nosti (Feasibility study) –– tehnolotehnološška, ka,

ekonomska, vedenjskaekonomska, vedenjskann Sestanki s sistemskim analitikom in uporabnikiSestanki s sistemskim analitikom in uporabnikinn Identifikacija vhodov, izhodov in procesnih korakov Identifikacija vhodov, izhodov in procesnih korakov ––

IPO diagramIPO diagramSAMO ZA INTERNO U

PORABO

Page 17: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

17

Načrtovanje

nn DoloDoloččitev potrebne strojne opremeitev potrebne strojne opremenn DoloDoloččitev komponent sistemaitev komponent sistemann DoloDoloččitev komunikacije med komponentamiitev komunikacije med komponentaminn Strukturni (hierarhiStrukturni (hierarhiččni) diagramni) diagram

Diagram poteka

nn Diagram potekaDiagram poteka (Flow (Flow chart) omogochart) omogočča zapis a zapis algoritmaalgoritmauu PuPuššččice ice –– potek potek

algoritmaalgoritmauu Liki razliLiki različčnih obliknih oblik

SAMO ZA INTERNO U

PORABO

Page 18: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

18

Diagram poteka

nn PrireditevPrireditev –– spremenljivki spremenljivki priredimo neko vrednostpriredimo neko vrednostuu X X ←← 55uu n n ←← n + 1n + 1

nn Branje in izpisBranje in izpis –– preberemo preberemo vrednost spremenljivke in jo vrednost spremenljivke in jo izpiizpiššemoemo

START

Beri A

Beri A

STOP

A ← A + 3

Diagram poteka

nn Vejitev Vejitev –– izvajanje izvajanje algoritma se cepi v algoritma se cepi v dve vejidve veji

START

Beri A, B

Izpiši C

STOP

A > B

C ← AC ← B

ne da

Primerjava dveh števil in izpis večjega

SAMO ZA INTERNO U

PORABO

Page 19: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

19

Diagram poteka

nn ZankaZanka –– uporabimo pri uporabimo pri zaporedju enakih ukazovzaporedju enakih ukazovuu ŠŠtevilo ponovitev tevilo ponovitev

omejimo z doloomejimo z določčenim enim pogojempogojem

START

Beri A, B

Izpiši A*C

C ← 1

STOP

C > B

C ← C + 1

da

ne

Izpis B večkratnikov števila A

SAMO ZA INTERNO U

PORABO

Page 20: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

20

nn Preverjanje toPreverjanje toččnosti oz. pravilnosti nanosti oz. pravilnosti naččrtartauu "Desk check"Desk check““ –– programerji na podlagi testnih programerji na podlagi testnih

(simuliranih) podatkov preverjajo logiko (simuliranih) podatkov preverjajo logiko posameznih korakovposameznih korakov

nn Iskanje logiIskanje logiččnih napak v nanih napak v naččrturtu

Validacija načrta

Uvajanje

n Kodiranje – pisanje programske kode, ki spremeni načrt v računalniški program

t Sintaksa – pravila programskega jezika, ki določajo, kako je treba pisati ukaze

t Komentarji – programska dokumentacija

SAMO ZA INTERNO U

PORABO

Page 21: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

21

Preverjanje rešitve

nn Preverjanje, ali program tePreverjanje, ali program tečče pravilno in je brez e pravilno in je brez napaknapak

nn RazhroRazhroššččevanjeevanje (Debugging) (Debugging) –– iskanje in iskanje in popravljanje sintaktipopravljanje sintaktiččnih in loginih in logiččnih napak nih napak (hro(hroššččev)ev)uu Za iskanje hroZa iskanje hroššččev se vev se vččasih uporablja testna asih uporablja testna

((betabeta) verzija programa) verzija programa

Dokumentiranje rešitve

nn Naloge programerja oz. programerjevNaloge programerja oz. programerjevuu Pregled programske kodePregled programske kode

tt Odstranjevanje delov kode, ki se ne Odstranjevanje delov kode, ki se ne izvajajoizvajajo

uu Pregled dokumentacijePregled dokumentacije

SAMO ZA INTERNO U

PORABO

Page 22: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

22

Slabosti klasičnega (linearnega) pristopa

nn ČČas, obseas, obsežžna dokumentacijana dokumentacijann Vsaka napaka v specifikaciji je lahko zelo draga in se Vsaka napaka v specifikaciji je lahko zelo draga in se

jo tejo težžko popravi v delujoko popravi v delujoččem sistemuem sistemunn Od uporabnika se zahteva Od uporabnika se zahteva ““popolnapopolna”” definicija definicija

sistema sistema žže v zae v začčetni fazietni fazinn Komunikacija med uporabniki in razvijalciKomunikacija med uporabniki in razvijalci

uu Uporabniki steUporabniki stežžka podajo abstraktne definicijeka podajo abstraktne definicijeuu Komunikacijski problemi vodijo v nepopolne Komunikacijski problemi vodijo v nepopolne

sistemesistemenn Problemi se pokaProblemi se pokažžejo ejo ššele kasneje, ko jih je teele kasneje, ko jih je težžko ko

odpravitiodpraviti

Ekstremno programiranje

SAMO ZA INTERNO U

PORABO

Page 23: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

23

Ekstremno programiranje

nn Inkrementalni razvoj, minimalno naInkrementalni razvoj, minimalno naččrtovanje pred rtovanje pred kodiranjemkodiranjem

nn Poslovno najpomembnejPoslovno najpomembnejšši deli so razviti najpreji deli so razviti najprejnn Kratek Kratek ččas med posameznimi verzijami izdaje as med posameznimi verzijami izdaje

programske opremeprogramske opremenn Majhne razvojne ekipeMajhne razvojne ekipenn Kupci in programerji razvijajo programe skupajKupci in programerji razvijajo programe skupaj

Lastnosti dobrega programa

nn Ustreza specifikacijamUstreza specifikacijamnn Izdelan pravoIzdelan pravoččasno in v okviru predvidenih asno in v okviru predvidenih

strostrošškovkovnn OsredotoOsredotoččen na uporabnikaen na uporabnikann Pri rePri rešševanju problema je uporabljena evanju problema je uporabljena

ustvarjalnostustvarjalnostnn Dobro strukturiran / organiziran / napisan / Dobro strukturiran / organiziran / napisan /

dokumentirandokumentirannn Lahko ga nadgrajujemo in vzdrLahko ga nadgrajujemo in vzdržžujemoujemo

SAMO ZA INTERNO U

PORABO

Page 24: RA BO P O O U T E R N Z A I N M O · 2009-01-24 · n Algoritem – zaporedje ukazov oz. navodil, ki v končnem številu korakov pripelje do rezultata n Ukazi omogočajo računalniku,

24

Lastnosti dobrega programerja

nn Dober programer je mnogo veDober programer je mnogo večč od zgolj pisca od zgolj pisca programske kodeprogramske kode

nn Problem mora znati razstaviti v dovolj majhne Problem mora znati razstaviti v dovolj majhne korakekorake

nn Dovolj dobro mora poznati podroDovolj dobro mora poznati področčje je –– in in programski jezik programski jezik –– da ve, kaj v konkretnem da ve, kaj v konkretnem primeru pomeni "korak" primeru pomeni "korak"

Kje lahko uporabiš svoje znanje programiranja

nn InInžženirske in tehnienirske in tehniččne vedene vedenn NaravoslovjeNaravoslovje

uu MedicinaMedicinauu RaRaččunska biologijaunska biologija

nn Poslovne aplikacijePoslovne aplikacijenn InternetInternetnn ……SAMO ZA IN

TERNO UPORABO