
- •Informační a komunikační technologie
- •Architektura a principy činnosti počítače
- •Historický vývoj počítače
- •Architektura a principy činnosti počítače
- •1) Skříň počítače (case)
- •2) Zdroj - součástí skříně počítače
- •3) Základní deska
- •- Formát atx (Advanced Technology Extended)
- •-Formát btx (Balanced Technology Extended)
- •4)Bios (Basic Input Output System)
- •5) Procesor cpu
- •6) Sběrnice
- •7) Usb (Universal Serial Bus)
- •Programové vybavení – operační systémy
- •Současné standardy programového vybavení počítače
- •Algoritmizace a tvorba software
- •Vývoj programovacích jazyků:
- •Informační systémy
- •1) Pojem informační systémy a úrovně řízení.
- •Globální informační prostředí - počítačové sítě
- •Prezentace na internetu
- •Bezpečnost it
Algoritmizace a tvorba software
Problém Nápad Postup (=Algoritmus) Realizace (=Program) Nezdar?
Algoritmizace
chci něco spočítat: a) rozmyslím si, jak postupovat-tvůrčí činnost, mohu vymýšlet různé strategie a hledat
důvtipné triky
b) provedu výpočet podle vymyšleného postupu-mechanicky provádím výpočet: ani nemusím problému moc rozumět, ale musím pracovat pečlivě
Algoritmus
Přesný návod či postup pro řešení daného typu úlohy
V širším slova smyslu: jakýkoliv postup řešení (např. kuchyňský recept)
V užším slova smyslu: postup splňující silnější požadavky (např. počítačový algoritmus)
Požadavky: 1) mechanický – lze ho provést i bez bližšího porozumění
2) diskrétní – rozdělený na dílčí kroky
3) hromadný – pro řešení celé třídy úloh (např. součin dvou celých čísel)
4) deterministický – po každém kroku je určeno, který další krok bude následovat
5) konečný (rezultativní) – postup skončí v konečném počtu kroků
6) správný – pro přípustné vstupní údaje a po určitém počtu kroků se vždy dospěje k výsledku
Záznam algoritmu: - srozumitelný – musí být jasné, co a jak řeší
- přehledný – rychle uchopitelný
- dostatečně podrobný – pro objasnění způsobu řešení
- dostatečně stručný – detaily jsou matoucí
-slovním vyjádřením (často nedokonalý), grafem nebo obrázkem, vhodně okomentovaným programem, smluveným grafickým vyjádřením-vývojovým diagramem, plošným strukturogramem
(vývojový diagram= činnost činnost činnost)
(plošný strukturogram= činnost,činnost,činnost)
Algoritmus= Jdi do obchodu,vezmi košík,vezmi sáček,naplň rohlíkama,zaplať…
Základní první algoritmu: 1. Sekvence = jednotlivý krok,prováděný vždy
2. Selekce= větvení, volba pokračování podle podmínky,výběr z možných pokračování
3. Iterace= cyklus, opakované provádění podmíněno (testem na začátku,na konci)
Selekce vs Iterace – Selekce-výběr z více možností; provádí se pouze jednou a neopakuje se
Iterace-činnost uvedená v bloku iterace se může opakovat více než jednou, dokud platí podmínka
Počítačový software
Uživatel zadává svoje požadavky počítačovému hardware prostřednictvím instrukcí v software
Tyto instrukce musí být zapsány v podobě srozumitelné mikroprocesoru (CPU) - programování
Programování vs. algoritmizace: Programování = proces tvorby (psaní) programu pomocí programovacího jazyka
Algoritmizace = proces tvorby algoritmu (postupu řešení)
Programování ≠ algoritmizace
Programovací jazyk
Počítač (CPU) rozumí elektrickým signálům (bity) – jazyk strojového kódu
Příliš dlouhé a složité
Programovací jazyk – zápis instrukcí ve zkrácené podobě srozumitelné člověku
Speciální program – překladač – převádí instrukce programovacího jazyka do strojového kódu
Vývoj programovacích jazyků:
První generace (jazyk strojového kódu)
-nejstarší typ,instrukce tvořeny posloupností bit,obtížné hledání chyb,100% využití CPU
Druhá generace (jazyk symbolických adres)
-jazyk nižší úrovně,jazyk je hardwarově závislý,příkazy překládá do stroj.kódu procesoru
speciální program – assembler
Třetí generace (problémově orientované jazyky)
-vyšší úrovně programování,příkazy odvozené z anglic.slov,moderní programovací jazyky,
jazyky pro vědecko-technické výpočty,hromad.zprac.dat,univerzální jazyky
Čtvrtá generace (programovacích jazyků)
-vyšší úroveň program.jazyků,snaha o zjednodušení a zrychlení práce programátora,
PowerBuilder,využívání mnoho vestavěných funkcí,bývají často napojeny na databázi
(objektově orientované jazyky)
-programování na abstraktní úrovni,data a instrukce jsou v tzv.objektu,důraz na snadnou údržbu
Proč vývoj software?
Využití příležitosti (proaktivní přístup)-Zvýšení příjmů podniku,Snížení nákladů,Získání konkurenční výhody
Řešení problému (reaktivní přístup) -Vyhnout se potížím
Nařízení- Pokyn k akci (shora od vedení)
Krize software: 60. a 70. léta 20. století
Problém „programátora - umělce“ vedl ke katastrofálním následkům při tvorbě větších softwarových systémů
Používání programovacích triků je nesrozumitelné pro ostatní programátory (problém údržby software)
Změna programu vede k nutným změnám v ostatních částech programu
Skokový nárůst nákladů na vývoj a údržbu software
Zpoždění v dokončování softwarových projektů
Softwarový vývojáři jsou zaneprázdněni správou a opravováním existujících programů
Cesta z cenové pasti: Typový aplikační software („krabicový software“)
Velké množství uživatelů
Potenciálně vyšší kvalita (?)
Nevýhoda: neobsahuje speciálně požadované funkce
Techniky tvorby software (softwarové inženýrství)
Principy, metody a nástroje efektivní tvorby spolehlivějšího a lépe udržovatelného software
Software je chápán jako běžný „produkt“, který má svůj životní cyklus
Programy pro tvorbu software (vývojové nástroje)
Výhoda: větší spolehlivost software a snazší údržba
- Vývoj software: Aktivity, které vedou k tvorbě řešení softwarové aplikace nebo informačního systému, který řeší určitý problém nebo příležitost
Doporučené postupy řešení aplikací a informačních systémů – metodiky
Většina ICT firem disponuje vlastními metodikami (např. IBM RUP, Unicorn ES,aj.), ale existují i standardní (ITIL, COBIT) nebo univerzitní metodiky
Aplikace prochází fázemi životního cyklu
Každá fáze zahrnuje aktivity, které musí být vykonány při vzniku aplikace
Fáze životního cyklu se opakují – aplikace se dostává na vyšší úroveň, zahrnuje nové požadavky uživatelů, využívá moderní technologie, apod.
-ITIL