1 / 50

5. Előadás 1. rész

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

kanan
Télécharger la présentation

5. Előadás 1. rész

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5. Előadás1. 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 ApplicationDevelopment (RAD), Rapid Prototyping (RP) • Fejlesztői környezet: • Sokféle, általános elnevezés: IDE (IntegratedDevelopmentEnvironment) • Fejlesztőkészletek: • SDK (Software Development Kit) • API (ApplicationProgrammingInterface)

  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) • www.gamemaker.nl

  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 • UnifiedModelingLanguage • Vizuális modellezés szimbólumrendszerrel • Fontosabb diagramok (pl.): • Osztálydiagram (class diagram) • Komponensdiagram (component diagram) • Állapotdiagram (statespace) • Használati eset diagram (usecase)

  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: • 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: • b * b – 4 * a * c • Prefix: • 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 • (ArtificialIntelligence – 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: • Gödör, Wumpus, arany • „Érzékelés”: • 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ázasgeometriaképzés • 3D parametrikusalaksajátosságonalapulómodellezés, szilárdtestmodellezés • Szabadformájúfelületmodellezés • Műszakirajzkészítés a szilárdtestmodellből • Tervrészletekújbólifelhasználása • Szabványosalkatrészekautomatikusgenerálása • Műhelyrajzokésdarabjegyzékekkészítése • Alkatrészekésösszeállításokkönyvtáránakkezelése • Ábrázolásisegítségekbiztosítása (sraffozás, elfordítás, takartvonalakeltávolításastb.) • …

  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 • BentleyMicroStation • Speciális: • GraphisoftArchiCAD • Siemens SiCAD • IntergraphSolidEdge • SewCAD • Pro/ENGINEER

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

  50. 3D-s CAD rendszer

More Related