5. Előadás 1. rész Műszaki informatika.

Slides:



Advertisements
Hasonló előadás
Szoftver Fogalma, típusai.
Advertisements

Rendszertervezés GIMP.
Piacképes programozói tudás a középiskolában
Az integrált áramkörök (IC-k) tervezése
3. A programozás eszközei, programozás-technikai alapismeretek
Intelligens szoftver megoldások acélszerkezeti tervezéshez.
Adatbányászati technikák (VISZM185)
Programozás.
Programozási nyelvek.
OBJEKTUMORIENTÁLT PROGRAM
Vizuális modellezés Uml és osztálydiagram UML eszközök

Programozási alapismeretek Bóta László
Java programozási nyelv 3. rész – Osztályok I.
Felső tagozatosok programozás oktatása
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Szombathely Dinamikus WEB programozás: PHP és JSP.
ISZAM III.évf. részére Bunkóczi László
Module 1: A Microsoft Windows XP Professional telepítése
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás alapismeretek
Adatfolyam modellezés az SSADM-ben
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Objektumorientált tervezés és programozás II. 3. előadás
Programozás. fordító (compiler): a program forrásszövegéből egy gépi kódú, futtatható programot (pl. EXE) állít elő, vagyis a programot lefordítja a gép.
S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Rendelkezésre álló erőforrások pontos ismerete Kiosztott feladatok közel „valósidejű” követése Átláthatóság Tervezési folyamatok támogatása.
Java Angster Erzsébet: OO tervezés és programozás, Java I. kötet alapján Készítette: Andor Gergely és Angster Erzsébet Ellenőrizte: Dr. Szelezsán János.
III. Java környezet 9. A Java nyelvről 10. Java programfejlesztés, JDK.
Operációs rendszer.
2008/2009 – 2. félév levelező tagozat
Hernyák Zoltán Programozási Nyelvek II.
Objektumorientált programozás
UML Unified Modelling Language Szabványos jelölésrendszer elemeivel írja le diagramok formájában a rendszer működését a különböző modell-nézetek szempontjából.
Programozás. Programozási nyelvek: Gépi nyelv A számítástechnika őskorában egyedüli lehetőség volt a gép bitsorozattal való programozása. Minden processzor.
A szoftver, szoftvertípusok
Objektumvezérelt rendszerek tervezése
Szoftverek.
6-os Kurzus (UML) Visszatekintés: ”történelmi szempontok”
Szoftver születik Eötvös Konferencia Köllő Hanna.
Programozás, programtervezés
5. előadás Műszaki informatika.
Bevezetés az Office programozásába
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
Reverse Engineering Rendszerfejlesztés II. 2. óra.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Analogical and Neural Computing Laboratory, Hungarian Academy of Sciences, Budapest 1 MATLAB u Hatékony, interaktív, tudományos és műszaki számítások,
kialakulása, fejlődése, generációk
S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN Structured Systems Analysis and Design Method.
Dokumentum generálás LabVIEW-ban Mérnök informatikus Farkas András.
INFORMÁCIÓMENEDZSMENT Dr. Szalay Zsigmond Gábor adjunktus, intézeti tanszékvezető VEZETÉS ÉS SZERVEZÉS MSC SZAK SZENT ISTVÁN EGYETEM.
Programok készítése és futtatása. Integrált fejlesztői környezet (IDE) tartalmaz:  szövegszerkesztőt a program forráskódjának szerkesztésére,  fordítóprogramot.
LA C++ programozási nyelv Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 16./0. lA világ objektum alapú szemlélete lSzoftverfejlesztési.
EUCIP konferencia október 20. Cséfalvay Katalin Fejlesztés (BUILD) modul.
Számítógépes alapismeretek
kialakulása, fejlődése, generációk
Adatstruktúrák Algoritmusok Objektumok
Programozási nyelvek Programozási alapismeretek
Programozási alapok.
Informatika (Bevezetés az informatikába)
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Compiler illetve interpreter nyelvek
Objektumorientált fejlesztés – szoftverobjektumok fizikai megjelenése
Hernyák Zoltán Programozási Nyelvek II.
Programozási nyelvek Talata István.
Programozási nyelvek Talata István.
Előadás másolata:

5. Előadás 1. rész Műszaki informatika

Előző órán Rendszerszintű és segédszoftverek Vírusölők, kémelhárító szoftverek Tűzfalak Titkosítók és e-szignók Tömörítők Irodai alkalmazások PDF

Óravázlat Szoftverfejlesztés általában Objektum-orientáltság Programozási nyelvek Mesterséges intelligencia CAD-rendszerek Számítógépes grafika Digitális képfeldolgozás

Miért beszélünk a programozásról? Steve Jobs szerint: “Learning to program teaches you how to think. Computer science is a liberal art.”

Szoftverfejlesztés (software engineering) Definíció: tudományos eredmények és módszerek alkalmazása a valós problémák számítógéppel támogatott megoldásában Ágai: Rendszerfejlesztés (system engineering) Információfeldolgozás (information engineering) Tudásalapú információfeldolgozás (knowledge engineering)

Vízesés-modell

V-modell

Szoftverfejlesztési eszközök Módszer/módszertan: Számos, pl. SSADM, OOSD Gyors fejlesztés: Rapid Application Development (RAD), Rapid Prototyping (RP) Fejlesztői környezet: Sokféle, általános elnevezés: IDE (Integrated Development Environment) Fejlesztőkészletek: SDK (Software Development Kit) API (Application Programming Interface)

Microsoft IDE

Eclipse IDE

Arduino IDE

SSADM Structured System Analysis and Design Method Szabvány vagy ajánlás Jellemzői: Termékorientált Elvárásnak megfelelés igénye (együttműködés a felhasználóval) Erőforrás-kihasználás Elkülönülő logikai és fizikai tervezés Dokumentálás

OOSD Object Oriented Software Design (Object Oriented Programming – OOP) Alapelvek: Egységbezárás (encapsulation) Öröklés (inheritance) Polimorfizmus (polymorphism) Elemek: Osztály (class) – Példány (instance) www.gamemaker.nl

Game Maker

Objektum-osztályok Szuperosztály – osztály Elemei: Név Adatok, állapotok (argumentumok) Tagfüggvények (metódusok) Konstruktor-destruktor

CASE Computer Aided Software Engineering (Számítógéppel segített szoftverfejlesztés) Elemei: Probléma-definiálás, - elemzés Tervezés, modellezés Tesztelés, követés,karbantartás Dokumentálás, ellenőrzés, összehasonlítás UML

UML Unified Modeling Language Vizuális modellezés szimbólumrendszerrel Fontosabb diagramok (pl.): Osztálydiagram (class diagram) Komponensdiagram (component diagram) Állapotdiagram (state space) Használati eset diagram (use case)

Újrafelhasználhatóság Megtervezett vagy kidolgozott modellelemek ismételt felhasználásra Repository Programozás „mintázattal” (program patterns)

Programozási példák Nem algoritmus áttekintés! Makró programozás A Windows alatti programozás Programozás a web számára

Makró programozás (MS Word) A példa: kijelölés megvastagítása

Még hasznos makrók Példa kiadványszerkesztés: Springer LNCS sablon

Fordító? Értelmező? Fordító (compiler): a forráskód közvetlen gépi végrehajtásra alkalmassá tétele Szerkesztő (linker): objektumkód, könyvtárak, erőforrások összeszerkesztése Értelmező (interpreter): fordítás+szerkesztés+végrehajtás

„Fordítós” fejlesztés

Egyszerű programfutás Indítás Utasítások szekvenciális (!) végrehajtása Befejezés

Futtatás Windows alatt Eseményvezérelt (!) program MFC-elemek a GUI-hoz

Microsoft Foundation Classes Előre elkészített OO elemkönyvtár Cél: főként a grafikus felület elkészítése

Android rendszer-architektúra

Programozás Wizard-dal Megjegyzések (pl. TODO) elhelyezése Alapértelmezések beállítása Minimális funkcionalitás biztosítása Paraméter-állítás GUI-n keresztül Változó és függvénykezelés

Hatékony fejlesztői eszközök Debugger - Hibakereső Profiler – Teljesítmény-mérő SourceSafe – Verziózó és kódarchiváló InstallShield – Telepítőkészlet varázsló Visual Modeler – objektum-modellező (UML)

Programozási nyelvek története Plankalkül (1944) Fortran (1954): FORmula TRANslator Algol (1958) Basic (1964): Beginners All-purpose Standard Instruction Code Lisp (1969): LIst Processing C (1972) Pascal (1973) C++ (1980) Java (1990) Visual Basic (1994)

Programozási nyelvek csoportjai Imperatív, procedurális nyelvek: C, C++, Fortran, Algol, Pascal, Cobol… Applikatív, funkcionális nyelvek: Lisp… Objektumorientált nyelvek: Ada, Modula, Simula, Smalltalk, Java… Szabály alapú, logikai nyelvek: Prolog… Vizuális programozás: LabView, Simulink, VPL, NXT…

Vizuális programozási példák

Top 10 programozási nyelv

Nyelvi elemek Vezérlési szerkezetek: Típusok Alprogramok Ciklusok, elágazások, vezérlésátadás Típusok Elemi: skalár, mutató Összetett Alprogramok

Egy példa: for-ciklus Pascal: for i:=0 to n do (lépés=1!) Basic: for i=0 to n step m C: for(i=0;i<n;i+=m) Matlab: for i=0:m:n

Operátortípusok Infix: Prefix: Postfix: b * b – 4 * a * c Sub(Mul(b,b), Mul(4,Mul(a,c))) Postfix: b b * 4 a c * * -

Web-programozás Cél: a weben elérhető (megnövelt) funkcionalitás (pl. dinamikus oldal) Eszköz: HTML + programnyelv Programnyelv: Általános célú: pl. C++ Script: pl. VBScript Speciális: pl. PHP

Web-es programnyelvek Java – Applet, Script… Perl (Practical Extraction Report Language) CGI (Common Gateway Interface) PHP (PHP Hypertext Preprocessor) VBScript HTML - VRML

PHP példa

Web-program

Algoritmus Definíció: előírás, amely adott feladattípus megoldásához szükséges műveletek megfelelő sorrendű összessége Jellemzői: Hatásosság (feladatkörök bővítése) Hatékonyság (idő-tár használat) Komplexitás (méretnövekedés hatása)

Mesterséges intelligencia (Artificial Intelligence – AI) Fejezetei: Neurális hálózatok (ANN) Fuzzy logika Genetikus algoritmusok (GA), programozás (GP) Következtető rendszerek: Szemantikus hálók, tételbizonyítók, logikai programnyelvek,valószínűségi hálók, szakértői rendszerek (ES) Hibrid megoldások

Wumpus-játék Objektumok: „Érzékelés”: Cél: Gödör, Wumpus, arany Fény, bűz, szél Cél: Megtalálni az aranyat rövid úton

Stratégiai játék

A CAD feladata Alapvetően: (Computer Aided Design) számítógéppel segített tervezés (!):2D-3D Szolgáltatások: Drótvázas geometria képzés 3D parametrikus alaksajátosságon alapuló modellezés, szilárdtest modellezés Szabad formájú felületmodellezés Műszaki rajz készítés a szilárdtest modellből Tervrészletek újbóli felhasználása Szabványos alkatrészek automatikus generálása Műhelyrajzok és darabjegyzékek készítése Alkatrészek és összeállítások könyvtárának kezelése Ábrázolási segítségek biztosítása (sraffozás, elfordítás, takart vonalak eltávolítása stb.) …

CAD-kapcsolatok CAM (Computer Aided Manufacturing): Gyártás, pl. NC-programozás, CNC-vezérlés CAE (Computer Aided Engineering): Elemzés, pl. végeselem-módszerek (FEM), áramlástani szimulációk (CFD), kinematika, optimalizálás CIM (Computer Integrated Manufacturing): Mindenféle gyártási fázisban alkalmazott számítógépek, pl. raktározás, erőforrás-tervezés stb.

Top 10 AEC (világszerte) Autodesk Bentley Systems Intergraph Nemetschek AVEVA Group Fukui Computer Fujitsu Tekla Tririga Graphisoft Group Architecture Engineering Construction Forrás: Gartner Group, Nemetschek

Néhány gyakori CAD-rendszer Általános célú: Autodesk AutoCAD Bentley MicroStation Speciális: Graphisoft ArchiCAD Siemens SiCAD Intergraph SolidEdge SewCAD Pro/ENGINEER

2D-s CAD rendszer BME K épület II. emelet Északi szárny

3D-s CAD rendszer