Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
5. Előadás 1. rész Műszaki informatika
2
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
3
Ó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
4
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.”
5
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)
6
Vízesés-modell
7
V-modell
8
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)
9
Microsoft IDE
10
Eclipse IDE
11
Arduino IDE
12
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
13
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)
14
Game Maker
15
Objektum-osztályok Szuperosztály – osztály Elemei: Név
Adatok, állapotok (argumentumok) Tagfüggvények (metódusok) Konstruktor-destruktor
16
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
17
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)
18
Újrafelhasználhatóság
Megtervezett vagy kidolgozott modellelemek ismételt felhasználásra Repository Programozás „mintázattal” (program patterns)
19
Programozási példák Nem algoritmus áttekintés! Makró programozás
A Windows alatti programozás Programozás a web számára
20
Makró programozás (MS Word)
A példa: kijelölés megvastagítása
21
Még hasznos makrók Példa kiadványszerkesztés: Springer LNCS sablon
22
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
23
„Fordítós” fejlesztés
24
Egyszerű programfutás
Indítás Utasítások szekvenciális (!) végrehajtása Befejezés
25
Futtatás Windows alatt
Eseményvezérelt (!) program MFC-elemek a GUI-hoz
26
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
27
Android rendszer-architektúra
28
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
29
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)
30
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)
31
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…
32
Vizuális programozási példák
33
Top 10 programozási nyelv
34
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
35
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
36
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 * * -
37
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
38
Web-es programnyelvek
Java – Applet, Script… Perl (Practical Extraction Report Language) CGI (Common Gateway Interface) PHP (PHP Hypertext Preprocessor) VBScript HTML - VRML
39
PHP példa
40
Web-program
41
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)
42
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
43
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
44
Stratégiai játék
45
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.) …
46
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.
47
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
48
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
49
2D-s CAD rendszer BME K épület II. emelet Északi szárny
50
3D-s CAD rendszer
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.