Szoftver tervezési ág
|
|
- Laura Boros
- 6 évvel ezelőtt
- Látták:
Átírás
1 Szoftver tervezési ág VIMIMA11 Rendszertervezés és integráció Scherer Balázs BME-MIT
2 Szoftver irány Rendszer szint Rendszertervezés, Technikai rendszer spec. System design Alrendszer szint Modul szint Mechanikai alrendszer tervezés Hardver alrendszer tervezés Szoftver alrendszer tervezés Modul tervezés Modul tervezés Implementáció BME-MIT
3 Szoftver architektúra Software Követelmények (Software-Hardware interfészek) Teszt eredmények (A V modell másik ágából) Kapcsolat a tesztelési ággal Software követelmények elemzése A software architektúra specifikálása Software komponensek és interfészek specifikálása Software architektúra Teszt esetek (A tesztelés számára) Kapcsolat a tesztelési ággal BME-MIT
4 Szoftver komponensek és interfészeinek meghatározása Szenzor Node 2 Jelkondítcionálás AD konverzió Mikrovezérlő software AD device driver Kommunikáció Vezérlés Kalibrálás Comm Device driver DA driver Comm interfész Analóg kimenet Beavatkozó Class: Measurement device Attrimutes: - Measured variable tables - Sensors list - Calibration tables Methods: - Measure - Callibrate - Send measurements Class: Sensor Attrimutes: - Sensor limits - Sensor calibration parameters - Sensor value Methods: - Measure - Callibrate - Power off Class: Comm-interface Attrimutes: - Channel parameters - Data rate Methods: - Send data - Receive Data - Connect BME-MIT
5 Szoftver architektúra Software Követelmények (Software-Hardware interfészek) Teszt eredmények (A V modell másik ágából) Kapcsolat a tesztelési ággal Software követelmények elemzése A software architektúra specifikálása Software komponensek és interfészek specifikálása Software rétegek specifikációja Software architektúra Teszt esetek (A tesztelés számára) Kapcsolat a tesztelési ággal BME-MIT
6 Egy általános beágyazott rendszer SW architektúrája Application Libraries Hardware független mitmót API Felhasználói project ISO C Math DPY-TRM COM-R04 MIKROP Kernel MCU-ARM API Hardware Abstraction Layer interrupts Device Drivers Serial I/O kezelés SPI Előre fordított ecos distribúció Exceptions I2C BME-MIT
7 Réteges szemléletű szoftver architektúra példa AUTOSAR BME-MIT
8 Réteges szemléletű szoftver architektúra példa AUTOSAR BME-MIT
9 CMSIS szerkezete (v1.3) BME-MIT
10 CMSIS szerkezete (v3) BME-MIT
11 CMSIS szerkezete (v4) BME-MIT
12 Szoftver architektúra Software Követelmények (Software-Hardware interfészek) Teszt eredmények (A V modell másik ágából) Kapcsolat a tesztelési ággal Software követelmények elemzése A software architektúra specifikálása Software komponensek és interfészek specifikálása Software rétegek specifikációja Software működési módok specifikációja Software architektúra Teszt esetek (A tesztelés számára) Kapcsolat a tesztelési ággal BME-MIT
13 Szoftver működési módok Inicializációs mód Szerviz mód Hiba mód Normál működés Kalibráció Energiatakarékos mód BME-MIT
14 Szoftver komponens tervezés Software architektúra Teszt eredmények (A V modell másik ágából) Kapcsolat a tesztelési ággal Szoftver komponens specifikálása Adatmodell specifikálása Viselkedési modell specifikálása Real-time modell specifikálása Szoftver komponens specifikáció Teszt esetek (A tesztelés számára) Kapcsolat a tesztelési ággal BME-MIT
15 Adatmodell, adatfolyam meghatározása Sokszor domain specifikus nyelvvel: o Simulink o ASCET BME-MIT
16 Viselkedési modell Legtöbb esetben valamilyen állapotgépes leírás BME-MIT
17 Real-Time modell specifikálása Tipikusan fixen ütemezett taszkok: 2,5ms, 5ms, 10ms BME-MIT
18 Real-Time modell specifikálása Tipikusan fixen ütemezett taszkok: 2,5ms, 5ms, 10ms DMA: Deadline Monotonic analysis BME-MIT
19 Modell alapú kódgenerálás Simulink Real-Time Workshop BME-MIT
20 Kódgenerálás alkalmazási köre, helye Generált kód BME-MIT
21 Implementálás BME-MIT
22 Néhány implementációhoz kötődő megfontolás Hardware limitációk által okozott problémák: o Fixpontos, vagy lebegőpontos számábrázolás o Online számolás, vagy lookup table alkalmazása o Lebegőpontos számábrázolásból fakadó hibák Hardware specialitások figyelembe vétele o Speciális hardware-hez kötődő technológiák alkalmazása: DMA és annak specialitásai o Cache és annak viselkedése o Tightly-coupled memory o Belső, vagy külső RAM-ba helyezett változó o Speciális üzemállapotok: pl.: Sleep és az abban való viselkedés BME-MIT
23 Szoftver implementálás általános szabályai Szinte SIL/ASIL szint függetlenül mindig kötelezőek BME-MIT
24 Implementálási nyelv Az Embedded Market Study statisztikái BME-MIT
25 MISRA-C nyelvi készlet korlátozás (Motor Industry Software Reliability Association) MISRA-C 1998: Az első MISRA C szabályverziót ban hozták létre célja az volt, hogy javítsa az UK (United Kingdom) autóiparában használt szoftverek minőségét. A MISRA-C 1998 sikere nem csak az autóiparra terjedt ki, hanem széleskörben alkalmazásra került a repülőgépiparban valamit az egészségügyi iparban is. A MISRA-C 2004: Elfogadásra került az USA-ban (SAE J2632) és Japánban is. o Javítja a MISRA-1998 hibáit, és pontosítja azt. o 121 Mandatoryés 20 Advisoryszabályt tartalmaz a C nyel leszűkítésére MISRA-C 2012: 2013 közepén megjelent új verzió a C99-es szabványára épül BME-MIT
26 MISRA-C célja Cél a C szabados programozói nyelv leszűkítése úgy, hogy a lehető legmegbízhatóbb nyelvi alrendszert kapjuk. oszintaktikailag helyes, szemantikailag rossz megoldásokra felhívni a figyelmet. otiltani a nem egyértelmű változó típus használatot. o Szabályozni a precendencia zárójelezéseket. otiltani a nem strukturált programozást eredményező szerkezeteket. BME-MIT
27 Triviális szabályok Kódsort soha nem szabad kikommentezni o A kikommentezett sorok gondot okozhatnak az egymásba ágyazott kommentek, illetve a kódérthetőség miatt is. Ciklusváltozót nem lehet a ciklus belsejében módosítani. flag = 1; for (i = 0; (i<5) && (flag == 1); i++) { flag = 0; /* Engedélyezett a ciklus gyors befejezése */ i = i + 3; /* Nem Engedélyezett ciklusváltozó módosítás */ } A goto használata tiltott! A continue használata tiltott! Bitmanipuláló műveletet nem szabad signed, vagy floating típusokon végrehajtani (>>, <<, ~, &, ^) BME-MIT
28 Elgondolkodtató szabályok Kiválasztott compiler egész osztásokra való reakcióját ellenőrizni és dokumentálni kell. Egy ISO kompatibilis fordító két ponton is mutathat eltérő viselkedést negatív egész osztás esetében: o (-5/3) lehet -1 ahol a maradék -2 illetve o (-5/3) lehet -2 ahol a maradék +1 Változók összeadásánál szorzásánál kicsúszás az értéktartományból: uint16_t u16a = 40000; uint16_t u16b = 30000; uint32_t u32x; U32x = u16a + u16b; /* u32x = vagy 4464? */ Az összeadás aritmetikáját nem az eredmény tárolási típusa, hanem a compiler belső aritmetikája szabályozza (belső int típus), ezért, ha a belső aritmetika 16 bites akkor az összeadásban túlcsordulás következhet be. Ilyen jellegű hibalehetőségből van még jó pár darab. BME-MIT
29 SEI CERT Coding Standards MISRA-hoz hasonló szabályozás kevésbé beágyazott környezetre C, C++, JAVA, Perl, Android Hibák kategorizálása: Severity, Likehood, Remediation cost Level 1: Priorítás Nagy kárt okozó, valószínű és viszonylag olcsón javítható hibák Level 2: Priorítás 6-9 Level 3: Priorítás 1-4 Közepes kárt okozó, közepes valószínűségű, és közepes javítási költcségű hibák Nehezen javítható kis valószínűségű és kis kárú hibák BME-MIT
30 Style guides Cél a kód egységes kinézete és szervezése onem egységes kód nehezíti a csapatmunkát és az átláthatóságot Nincs egységes nemzetközi szabvány Tipikusan cégekre jellemző szabályozások o C és header file-ok szerkezete o Változók elnevezésének stílusa ovezérlési szerkezetek stílusa o Kommentezés módja BME-MIT
31 Tipikus C file szerkezet 1.Komment a file nevéről, rendeltetéséről, szerzőjéről, verziójáról, és verzió history-árol. (Egyes verziókövető rendszerek automatikusan generálják, módosítják a file verzióra vonatkozó kommenteket. Ilyenkor ezeket a fejlesztőnek általában tilos kézzel módosítani.) 2. Header file include-ok 3. Definiciók a következő sorrendben: Típus definíciók, Define-ok, Konstans makrók függvény makrók, 4. Globális változók: extern, nem static, static global sorrendben 5. függvények: általában hívási sorrendben, ha egy mód van rá. BME-MIT
32 Tipikus H file szerkezet 1. Komment a file nevéről rendeltetéséről, szerzőjéről, verziójáról, és verzió history-árol. A file neve sohasem lehet normál C inklúdnévvel egyező pl.: math.h. 2. A következő file kezdési szerkezet kötelező: #ifndef EXAMPLE_H #defineexample_h... /* body of example.h file */ #endif/* EXAMPLE_H * 3, Fejléc file-okban ne definiáljunk változókat ha egy mód van rá. BME-MIT
33 Elnevezési szabályok Egyik leghíresebb az ún. Hungarian Notatinon o Simonyi Károly vezetett be a Microsoftnál Az elnevezési szisztéma a magyar elnevezési logikából indul ki, ahol a vezetéknév megelőzi az adott keresztnevet Ezt próbálja a változókra is bevezetni, ahol először a típus, vagy alkalmazási kör szerepel és utána csak az adott név Két alsítulsa van a System és az Application o System esetében a változó típusa o Az Application esetében az alkalmazás típusa van belekódolva a változó nevébe. A jelölésrendszer sokszor kiegészül a láthatóságot jelölő előtéttel is BME-MIT
34 Példák Hungarian notation-ra bbusy: boolean capples: count of items dwlightyears: double word (system) fbusy: boolean (flag) nsize: integer (system) vagy count (application) isize: integer (system) vagy index (application) g_nwheels: member of a global namespace, integer m_nwheels: member of a structure/class, integer s_wheels: static member of a class _wheels: local variable BME-MIT
35 Vezérlési szerkezetek stílusa BME-MIT
36 Automatikus formázó tool-ok Artistic Style: ingyenesen leölethető formázó tool BME-MIT
37 Általános dokumentációs problémák 1. Megírjuk a kódot 2. Még talán kommentezzük is 3. Nagy erőszakra megírjuk a dokumentációt 4. Módosítjuk a kódot 5. Talán a kommentet is 6. A doksit biztos nem Inkonzisztencia: kód komment dokumentáció között BME-MIT
38 Automatikus dokumentáció generálás: Doxygen 1997-ben jelent meg az első verzió v0.1 A komment dokumentáció közötti inkonzisztenciát igyekszik feloldani Többfajta kommentezési stílust képes kezelni C stilusú JAVA doc szerű kommentek /**... text... */ C stílusú! kommentek /*!... text... */ BME-MIT
39 Doxygen kommentek példa /*! \fn void UART1_Init(unsigned long baud_rate, void (*handler)(void)); * \brief An inicialisation function to redirect STDIO to UART1 * \param baud_rate: Baudrate in bit/sec * \param handler: Callback function for receiving UART characters with IT * \return nothing */ void UART1_Init(unsigned long baud_rate, void (*handler)(void)); An inicialisation function to redirect STDIO to UART1 baud_rate: Baudrate in bit/sec handler: Callback function for receiving UART characters with IT nothing */ BME-MIT
40 Csoportosítás Alapvetően file szintű dokumentálás, ahhoz, hogy logiaki egység szintű dokumentációt csináljunk szükséges a csoportok megalkotása Szinte az összes firmware library ezt alkalmazza Az én */ */ BME-MIT
41 Csoportosítás, struktúra, hivatkozás I2C Init structure definition */ typedef struct { uint32_t I2C_ClockSpeed; /*!< Specifies the clock frequency */ uint16_t I2C_Mode; /*!< Specifies the I2C mode. This parameter can be a value I2C_mode */ } I2C_InitTypeDef; */ #define I2C_Mode_MASTER 1 #define I2C_Mode_SLAVE 0 */ BME-MIT
Scherer Balázs: Mikrovezérlık fejlıdési trendjei
Budapesti Mőszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Scherer Balázs: Mikrovezérlık fejlıdési trendjei 2009. Budapesti Mőszaki és Gazdaságtudományi Egyetem, Méréstechnika
Nagyteljesítményű mikrovezérlők
Nagyteljesítményű mikrovezérlők 6. CMSIS és Fejlesztőkörnyezetek Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2015 CMSIS Cortex
Scherer Balázs: Mikrovezérlők fejlődési trendjei
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Scherer Balázs: Mikrovezérlők fejlődési trendjei 2009. Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
Érzékelők és beavatkozók I.
Érzékelők és beavatkozók I. Mikrovezérlők, mikroszámítógépek: 32-bites ARM Cortex architektúra c. egyetemi tanár - 1 - ARM ARM architektúrájú processzorok ARM Advanced RISC Machine RISC Reduced Instruction
Mikrorendszerek tervezése
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Beágyazott rendszerek Fehér Béla Raikovich Tamás
ARM Cortex magú mikrovezérlők. mbed
ARM Cortex magú mikrovezérlők mbed Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2016 MBED webes fejlesztőkörnyezet 2009-ben megjelent
The modular mitmót system. DPY kijelző kártya C API
The modular mitmót system DPY kijelző kártya C API Dokumentációkód: -D 01.0.0.0 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Beágyazott Információs Rendszerek
Silabs STK3700, Simplicity Studio laborgyakorlat
Silabs STK3700, Simplicity Studio laborgyakorlat Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2016 Saját Firmware library Saját
C++ programok fordítása
C++, 1/ 33 C++ programok fordítása Pataki Norbert 2012. február 24. C++, 2/ 33 Információk Pataki Norbert, patakino@elte.hu http://patakino.web.elte.hu/levelezo Jegy: gyakorlat, Szűgyi Zalán C++, 3/ 33
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Tesztelési feladatok és kihívások a FALCON projektben
Tesztelési feladatok és kihívások a FALCON projektben Búr Márton Szoftver Verifikáció és Validáció 2016.12.07. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
ARM Cortex magú mikrovezérlők
ARM Cortex magú mikrovezérlők 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 32 bites trendek 2003-2017
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Járműinformatika A járműinformatikai fejlesztés
Járműinformatika A járműinformatikai fejlesztés 2016/2017. tanév, II. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Informatika Intézet 107/a. Tel: (46) 565-111 / 21-07 A járműfejlesztés
A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom
A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2 A szoftver-folyamat Szoftver
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató
Nagy bonyolultságú rendszerek fejlesztőeszközei
Nagy bonyolultságú rendszerek fejlesztőeszközei Balogh András balogh@optxware.com A cég A BME spin-off-ja A Hibatűrő Rendszerek Kutatócsoport tagjai alapították Tisztán magánkézben Szakmai háttér Hibatűrő
Számítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
C programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
5. Fejezet : Lebegőpontos számok
5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda
5. Fejezet : Lebegőpontos számok. Lebegőpontos számok
5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda
ARM processzorok felépítése
ARM processzorok felépítése Az ARM processzorok több családra bontható közösséget alkotnak. Az Cortex-A sorozatú processzorok, ill. az azokból felépülő mikrokontrollerek a high-end kategóriájú, nagy teljesítményű
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Segédeszközök szükségessége Szoftver
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
Mintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
Dr. Schuster György október 14.
Real-time operációs rendszerek RTOS 2011. október 14. A fordítás vázlata prog.c Előfeldolgozó Átmenti állomány Fordító prog.obj más.obj-tek könyvtárak indító kód Linker futtatható kód Ismétlés Előfeldolgozó
Budapesti Műszaki- és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar MIT. Nagyteljesítményű mikrovezérlők tantárgy [vimim342]
Budapesti Műszaki- és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar MIT Nagyteljesítményű mikrovezérlők tantárgy [vimim342] 8x8x8 LED Cube Készítette: Szikra István URLJRN Tartalomjegyzék
1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
Digitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
Autóipari beágyazott rendszerek CAN hardver
Scherer Balázs, Tóth Csaba: Autóipari beágyazott rendszerek CAN hardver Előadásvázlat Kézirat Csak belső használatra! 2012.02.19. SchB, TCs BME MIT 2012. Csak belső használatra! Autóipari beágyazott rendszerek
Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.
Tervezési minták Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 8. E. Gamma, R. Helm, R. Johnson, J. Vlissides:Design patterns: Elements
Autóipari beágyazott rendszerek. AutoSAR Platform
Autóipari beágyazott rendszerek AutoSAR Platform 1 Az AutoSAR Architektúra Software Component Application Software Component Actuator Software Component Sensor Software Component Software... Runtime Environment
Digitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
Osztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom
Szoftver újrafelhasználás (Software reuse) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 18. Roger S. Pressman: Software Engineering, 5th e. chapter 27. 2 Szoftver újrafelhasználás Szoftver
Operációs rendszerek. A Windows NT felépítése
Operációs rendszerek A Windows NT felépítése A Windows NT 1996: NT 4.0. Felépítésében is új operációs rendszer: New Technology (NT). 32-bites Windows-os rendszerek felváltása. Windows 2000: NT alapú. Operációs
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Szoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (8) Szoftverminőségbiztosítás Szoftvertesztelési folyamat (folyt.) Szoftvertesztelési ráfordítások (Perry 1995) Tesztelésre fordítódik a projekt költségvetés 24%-a a projekt menedzsment
Szoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT
Orvostechnikai eszköz tesztelése DSS Unit test Taliga Miklós BME-IIT Szabványok és direktívák Orvostechnikai eszközök feladatai Objektív eredmények képzése Embernek érzékelhetetlen paraméterek mérése Sokféle
Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA
KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA System Design Wahl István 2019.03.26. BME FACULTY OF TRANSPORTATION ENGINEERING AND VEHICLE ENGINEERING Tartalomjegyzék Rövidítések A rendszer definiálása
4. Fejezet : Az egész számok (integer) ábrázolása
4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson
Programozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
Programozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
Programozás I. zárthelyi dolgozat
Programozás I. zárthelyi dolgozat 2013. november 11. 2-es szint: Laptopot szeretnénk vásárolni, ezért írunk egy programot, amelynek megadjuk a lehetséges laptopok adatait. A laptopok árát, memória méretét
Az AVR programozás alapjai. Előadja: Both Tamás
Az AVR programozás alapjai Előadja: Both Tamás Fordító C nyelven programozunk Ehhez az AVR-GCC fordító áll rendelkezésre Ennek használatához a WinAVR-t kell telepíteni Teljes értékű C fordító, minden megengedett,
Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
Programozás 1. Dr. Iványi Péter
Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására
Digitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK VIMIAA02 14. hét Fehér Béla BME MIT Rövid visszatekintés, összefoglaló
Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.
Norway Grants AKKUMULÁTOR REGENERÁCIÓS ÉS Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai Kakuk Zoltán, Vision 95 Kft. 2017.04.25. Rendszer szintű megoldás
ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM
ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM Dr. Soumelidis Alexandros 2018.09.06. BME KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR 32708-2/2017/INTFIN SZÁMÚ EMMI ÁLTAL TÁMOGATOTT TANANYAG SensAct0
Bevezetés a programozásba Előadás: Fordítási egység
Bevezetés a programozásba 2 5. Előadás: Fordítási egység ISMÉTLÉS Tagfüggvény kiemelése struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; void Particle::rajzol() { gout
Arduino bevezető Szenzorhálózatok és alkalmazásaik
Arduino bevezető Szenzorhálózatok és alkalmazásaik VITMMA09 Okos város MSc mellékspecializáció Mi az Arduino? Nyílt hardver és szoftver platform 8 bites Atmel mikrokontroller köré építve Ökoszisztéma:
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
Alprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
ARM Cortex magú mikrovezérlők
ARM Cortex magú mikrovezérlők 12. STemWin garfikus könyvtár Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 LCD kijelzők kezelése
Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
Nagyteljesítményű mikrovezérlők
Nagyteljesítményű mikrovezérlők Tárgykövetelmények, tematika Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2015 Lehetőségek: o
Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító
Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
Digitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA02 14. hét Fehér Béla BME MIT Digitális technika
Komponens alapú fejlesztés
Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.
Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft. Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.
A Feldspar fordító, illetve Feldspar programok tesztelése
A Feldspar fordító, illetve Feldspar programok tesztelése [KMOP-1.1.2-08/1-2008-0002 társfinanszírozó: ERFA] Leskó Dániel Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.
Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel Németh Rajmund Vezető BI Szakértő 2017. március 28. Szövetkezeti Integráció Központi Bank Takarékbank Zrt. Kereskedelmi Bank FHB Nyrt.
Alapszintű formalizmusok
Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények
Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?
System on a Chip Programmable Chip Lazányi János 2010 Tartalom A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban? Page 2 1 A hagyományos technológia Elmosódó határvonalak ASIC
Adatbányászat és Perszonalizáció architektúra
Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a
Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1
Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó
Konkurencia és energiakezelés integrálása eszközmeghajtókba. Vezeték nélküli szenzorhálózatok
Konkurencia és energiakezelés integrálása eszközmeghajtókba Vezeték nélküli szenzorhálózatok Energiahatékonyság Beágyazott eszközökben fontos a hatékony energiagazdálkodás OS-ek nagy részében ennek ellenére
Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához
I. előadás, 2014. április 30. Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához Dr. Orosz Péter ATMA kutatócsoport A kutatócsoport ATMA (Advanced Traffic Monitoring and Analysis)
Nagyteljesítményű mikrovezérlők 10b. RTOS gyakorlatok
Nagyteljesítményű mikrovezérlők 10b. RTOS gyakorlatok Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2015 FreeRTOS BME-MIT 2015
2. Fejezet : Számrendszerek
2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő
11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.
11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;
Programozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.
Architektúrák dokumentálása UML-lel Irodalom L. Bass, P. Clements, R. Kazman: Software Architecture in Practice, Addison-Wesley, 2003 H. Störrle: UML 2, Panem, 2007 2 Szoftver architektúra (emlékeztet!)
Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül
Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül 1 Tartalom Miről is lesz szó? Bosch GS-TC Automata sebességváltó TCU (Transmission Control Unit) Élettartam tesztek
Programozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
evosoft Hungary Kft.
2. fejezet: Runtime Software Előadó: Petényi István - üzletágvezető ELŐADÓ: PETÉNYI ISTVÁN üzletágvezető Programozó matematikus, ELTE Informatikai Kar projektvetető, ágazatvezető, szakterületvezető, üzletág
Autóipari beágyazott rendszerek Dr. Balogh, András
Autóipari beágyazott rendszerek Dr. Balogh, András Autóipari beágyazott rendszerek Dr. Balogh, András Publication date 2013 Szerzői jog 2013 Dr. Balogh András Szerzői jog 2013 Dunaújvárosi Főiskola Kivonat
Imperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
Bevezetés a programozásba
Bevezetés a programozásba A szoftverfejlesztés folyamata PPKE-ITK Tartalom A rendszer és a szoftver fogalma A szoftver, mint termék és készítésének jellegzetességei A szoftverkészítés fázisai: Az igények
Bevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
Adatbázis-kezelés ODBC driverrel
ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM
NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM 0. A feladat... 2 1. Az Egész számok ábrázolásai... 2 2. A műveletek szignatúrája... 3 3. A keretprogram... 4 4. Technikai tanácsok... 7 5. Elegancianövelő lehetőségek
iphone és Android két jó barát...
iphone és Android két jó barát... Multiplatform alkalmazásfejlesztés a gyakorlatban Kis Gergely MattaKis Consulting 1 Tartalom Miért multiplatform fejlesztés? Multiplatform fejlesztési módszerek A közös
The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003
. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,