Softwareová architektura

Slides:



Advertisements
Podobné prezentace
Pro začátek něco lehčího
Advertisements

Modelování moderních aplikací v SELECT Enterprise
Prostředí pro výuku programování
Vyvíjejte webové aplikace nově a lépe
Stručný úvod do UML.
Úvod do platformy Java EE
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
Perl Co je Perl a na co je dobrý Základní konstrukce jazyka
Třetí cvičení Podmíněné příkazy Cykly Break a Continue Switch Return
 Vyhledání míst v programech vhodných pro optimalizaci  Sleduje se četnost volání a trvání jednotlivých částí programu JetBrains dotTrace Profiler.
Práce s textem Jan Martinovič Fakulta elektrotechniky a informatiky
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
Práce se soubory. Ukládání dat Textové soubory s jednoduchou strukturou (např..txt a.csv) textové soubory s vnitřní hierarchií (např..xml) Soubory binárního.
C# pro začátečníky Mgr. Jaromír Osčádal
OMO1 Cvičení 2 Ing. Monika Šimková.
Návrh architektury moderních informačních systémů
Tvorba software Konceptuální modely. Konceptuální model (vodopádový) Formulace problému Analýza Programování Testování Užívání.
● SWIG - Simplified Wrapper and Interface Generator ● + google a diskusní fóra ● nástroj zjednodušující (a sjednocující)
Desáté cvičení Java Core API Java Collection Framework JavaDoc.
A4M33NMS Návrh a modelování softwarových systémů
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
DOK.
Podpora výuky a tvorby ER diagramu ve výukovém systému Barborka Petr Kopka VŠB – TU Ostrava, 2005.
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
13AMP 9. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled ADA ADA Java Java.
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
Software Architect Forum 2006 Trendy ve vývoji aplikací Michael Juřek, Dalibor Kačmář Microsoft s.r.o.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
BAKALÁŘSKÁ PRÁCE Tomáš Janda
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
Association table mapping Jakub Chalupa Naim Ashhab ČVUT FEL A7B36ASS – Architektura SW systémů LS 2014.
Navrhované předměty pro OI a další zimní semestr.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro vstup a výstup 12 Verze
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Návrh a tvorba WWW Přednáška 13 Vývoj webových aplikací.
2. přednáška Databáze, využití MS Excel
Aplikovaná informatika Zimní semestr 2013/2014. Ing. Bohuslav Růžička, CSc. tajemník katedry K101 kancelář: 215 tel
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Metodologie OOHDM, jazyk Lua a tvorba webových aplikací
Obhajoba projektu PA165 Půjčovna stavebních strojů Milan Malota, Ferdinand Hudek, Kamil Veselý, Daniel Gašper PA165: Vývoj programových systémů v jazyce.
(Java) RDF APIs Jan Zemánek KIZI VŠE, Praha. Přehled Java RDF APIs Jena Download
Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: FastRPC meziserverová.
Úvod do PHP IZI 228.
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TEORETICKÉ ELEKTROTECHKY Oddělení informatiky Java Micro Edition pro mobilní zařízení.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B19 Autor Ing. Jiří Kalousek Období vytvoření Duben 2013.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B18 Autor Ing. Jiří Kalousek Období vytvoření Duben 2013.
Foreign key mapping Jakub Chalupa Naim Ashhab ČVUT FEL
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B6 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
PHP Programy pro tvorbu WWW stránek - 01
Service layer. Service layer – úvod Problém  Vytvoření API aplikace  Odstínění bussiness logiky a transakčního chování od zbytku aplikace  Kam s aplikační.
IB111 Programování a algoritmizace
Úvod do programování2 Vyučující: Mgr. Vítězslav Jersák Web: xjv.webnode.cz.
C-Sim verze 5.0. Charakteristika Softwarový nástroj pro simulaci v diskrétním čase Použitá metodou paralelních procesů Navržen podle vzoru jazyka SIMULA.
Open Source LMS systémy Open eDoceo Miroslav Bureš.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Jazyk C# a platforma.NET ZS 2015/2016 Pavel Ježek
Vývoj software pro Linuxové distribuce Installfest Praha,
PHP ● Personal Home Page ● PHP: Hypertext Preprocessor.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY MVC vs MVP.
Počítače a programování 2
Jazyk C# a platforma .NET ZS 2016/2017
Ruby on Rails framework vývoj aplikací pro WWW
METODOLOGIE PROJEKTOVÁNÍ
Praktická cvičení Úvodní hodina David Malý kabinet 205.
Jazyk C# a platforma .NET ZS 2018/2019
Transkript prezentace:

Softwareová architektura Miroslav Šimek miroslav.simek@gmail.com (miroslav.simek@vscht.cz)‏

Náplň Úvod do sfw architektury Implementace projektu v jazyce Java modely vývoje software návrhové vzory Implementace projektu v jazyce Java

Formální ... Formálně 2 přednáška + 3 cvičení, ve skutečnosti 5 (hands-on) seminář V průběhu budeme vyvíjet Java aplikaci – každý člověk sám za sebe Aplikace je jedinou podmínkou pro získání kreditů Cvičení na sebe navazují, každá absence snižuje pravděpodobnost dokončení aplikace !

Aplikace Web Shop requirements mockup analýza design implementace v jazyce Java UI vrstva Objektový model (business logic)‏ Databázová vrstva

Doporučená literatura Bruce Eckel: Thinking in Java http://www.codeguru.com/java/tij en.wikipedia.org design patterns uml ... Javadoc http://java.sun.com/javase/6/docs/api/ slides, software atp. jsou k dispozici na http://ich.vscht.cz/dokuwiki/softwareova_architektura_zima_2008

Proč Java Oblíbenost Java .net Rails Django PHP Akceptovanost

Umístění v hierarchii jazyků mikroinstrukce strojový kód assembler C C++ PHP Java .net Perl Python Ruby/Rails

Java v praxi 70% připadá na webové aplikace 10% mobilní aplikace 20% ostatní (konektory systémů, ...)‏

Náplň Java části Jazyk Java Java pro web Java pro databáze Typový systém Javy Kolekce Rozšiřování typů Java pro web JSP, JSF Java pro databáze Hibernate Pokročilé věci Další knihovny, vlákna, ...

Rozdíly Java vs. Python Statická vs. dynamická typová kontrola Kompaktnost Knihovny Rychlost vykonávání programu

Statická typová kontrola Python a = 10 b = 1.23 s = ”hello world” c = True a = b Java int a = 10; float b = 1.23; String s = ”hello world”; boolean c = true; a = b; ?? proměnná proměnná objekt objekt typ typ typ

Operace nad čísly Python +-*/% Java +-*/%

Větvení Python Java if podminka: neco else: neco

Cykly Python Java for i in range(0, 10): do_something for (int i = 0; i < 10; i++) { do_something; } while i<10: do_something break continue while (i<10) { do_something; } break; continue;

Tisk na stdout Python Java print ”blah” print ”blah”, System.out.println (”blah”); System.out.print (”blah”);

Příklady v BeanShellu Faktoriál čísel 1...10 f(n)=1 . 2 . ... . n prvních 20 Fibonacciho čísel f(n) = f(n) + f(n-1), f(0) = f(1) = 1 pro a=1..5 (power tower)‏ a ( )‏ a a

Typy II Numerické typy: Automatické přetypování Ruční přetypování byte, short, int, long, float, double Automatické přetypování byte → short → int → long → float → double Ruční přetypování int a = (int) 2.5;

Deklarace funkcí Python Java jmenná konvence: camelCase def function(a, b): return a+b Java int function(int a, int b) { return a+b; } jmenná konvence: camelCase

Příklady v BeanShellu Pro předchozí příklady zaveďte funkce, které vrátí: factorial(n)‏ fibonacci(n)‏ powerTower(n)‏ pascalův trojúhelník funkce pascalNumber(n, k)‏ program, který vytiskne prvních 20 řádek program, která vytiskne prvních 20 řádek modulo 2

Pole Python Java a = [1, 2, 3] a[1] = 4 b = [0 for i in range(0, 10)] len(b) for i in a: print i Java int[] a = { 1, 2, 3 }; a[1] = 4; int[] b = new int[10]; b.length for (int i : a) { System.out.println (i); }

Příklady v BeanShellu Vytvořte funkci dice1(), která vrací náhodné číslo od 1-6 s uniformním rozdělením. Pro vygenerování náhodného čísla použijte funkci Math.random(), která vrací náhodné číslo v intervalu [0, 1)‏ Napište funkci diceN(n), která vrátí pole n hodů Napište následující statistické funkce: minItem(arr), maxItem(arr)‏ mean(arr) – vrací aritmetický průměr prvků pole distribution(arr) – vrací pole 6-ti prvků obsahující procentuální zastoupení čísel 1..6