Bevezetés. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Szendrei Rudolf. Információk.

Hasonló dokumentumok
Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Programozási technológia

Programozási technológia I. Sike Sándor

Programfejlesztési Modellek

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Szoftver újrafelhasználás

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

Nagy bonyolultságú rendszerek fejlesztőeszközei

Programozás 1. 2.gyakorlat

Számítógépes alapismeretek

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Programtervező informatikus BSc 2018, Szoftverfejlesztő specializáció ajánlott tantervi háló. Törzsanyag. Konzultáció Kredit

PTE PMMIK, SzKK Smart City Technologies, BimSolutions.hu 1

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

Bevezetés a programozásba

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

30 MB INFORMATIKAI PROJEKTELLENŐR

01. gyakorlat - Projektalapítás

A TANTÁRGY ADATLAPJA

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Információtartalom vázlata

Szoftverminőségbiztosítás

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Név: Neptun kód: Pontszám:

Azonnali fizetési rendszer megvalósítása

Információ menedzsment

Objektumorientált paradigma és a programfejlesztés

Objektum orientált programozás Bevezetés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

I. Bevezetés. 1. ábra A Java "logója"

Közösség, projektek, IDE

OOP. Alapelvek Elek Tibor

Tartalommenedzser képzés tematika oktatott modulok

A szerzõrõl... xi Bevezetés... xiii

Programrendszerek tanúsítása szoftverminőség mérése

Menetrendkezelő Rendszer

Informatikai technológiák szakirány Rendszertervezés ágazat

Programozási technológia 2.

Gyakorlati vizsgatevékenység B

Java Programozó képzés A&K AKADÉMIA 2019.

Szoftver-technológia II. Modulok és OOP. Irodalom

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2

VEGYIPARI RENDSZEREK MODELLEZÉSE

Eötvös Loránd Tudományegyetem, Informatikai Kar ELTE Informatikai Kar, dec. 12.

Adatbázis rendszerek Info MÁTRIX

Gyakorlati vizsgatevékenység A

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Objektum orientált software fejlesztés (Bevezetés)

TÁJÉKOZTATÓ. a programozó matematikus hallgatók szakdolgozatával és záróvizsgájával (államvizsgájával) kapcsolatos tudnivalókról

PROGRAMTERVEZŐ INFORMATIKUS ALAPKÉPZÉSI SZAK

Designer képzés tematika oktatott modulok

Szimulációs technikák

Előzmények

Komponens alapú fejlesztés

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Objektumorientált paradigma és programfejlesztés Bevezető

Objektum Orientált Tervezés

A Java EE 5 plattform

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.

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Modell alapú tesztelés mobil környezetben

Programtervezés. Dr. Iványi Péter

TÁJÉKOZTATÓ a programtervező informatikus BSc szak hallgatóinak szakdolgozatával és záróvizsgájával kapcsolatos tudnivalókról

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Modell alapú tesztelés: célok és lehetőségek

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

A NetSupport School oktatást támogató rendszer

Bevezetés A harmadik szoftverkrízis korát éljük! Szoftverkrízisek: 1. nincs elég olcsó: hardver, szoftver, programozó 2. nincs elég olcsó: szoftver, p

Programozási technológia I.

A TANTÁRGY ADATLAPJA

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Rózsa Tünde. Debreceni Egyetem AGTC, Pannon Szoftver Kft SINCRO Kft. Forrás:

Üzletmenet folytonosság menedzsment [BCM]

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely

Programtervező informatikus BSc, Modellalkotó informatikus (A) szakirány, 2008-tól

Projectvezetők képességei

Szerepjáték Project Story of my life

A szoftverfejlesztés eszközei

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

A TANTÁRGY ADATLAPJA

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

A TANTÁRGY ADATLAPJA

Szoftvertechnológia ellenőrző kérdések 2005

Átírás:

Programozási Informatikai Kar Eötvös Loránd Tudományegyetem 1

Tartalom 1 2 3 2

a tárgyról Képzés: Programtervező Informatikus BSc nappali tagozat, C szakirány Tárgykód: IP-08cPROGT1 Előfeltétel: Programozás tárgy (erős) Kreditszám: 6 3 óra előadás 2 óra gyakorlat 1 óra konzultáció Cél: Objektumelvű alkalmazások tervezéséhez szükséges szoftvertechnológiai megismerése Az elkészített terv JAVA platformon történő implementálásához szükséges ismeretek elsajátítása 3

Számonkérés Gyakorlati jegy alapján megszerezhető vizsgajegy (összevont számonkérés) 2 db beadandó feladat bemutatása dokumentációval, határidőre Csak a kitűzött feladatot megoldó, önállóan megvalósított, hibátlanul működő, letesztelt program fogadható el. 1 db évfolyam géptermi zárthelyi Egyszer javítható A félév végi jegy a beadandók és a dupla súllyal vett zárthelyi jegy átlaga. 4

Elérhetőségek Honlap: http://swap.web.elte.hu E-mail: swap@inf.elte.hu Személyesen: Programozáselmélet és i Tanszék, 2.602 5

Előadás tematikája Statikus modell, objektumdiagram Statikus modell, osztályok, objektumok Osztálydiagram, osztályok közötti kapcsolatok Öröklődés, absztrakt osztályok, interfészek, polimorfizmus Osztály szintű elérés, adatok beolvasása Fájlkezelés, kivételkezelés Gyűjtemények, algoritmusok Grafikus felhasználói felületek Eseménykezelés Grafikus felhasználói felületelemek kommunikációja Párbeszédablakok, vezérlőelemek, egér stb. Netbeans GUI tervező felülete Netbeans GUI rajzolás felhasználói felületen 6

Programozási technológiai áttekintése Története Ágazatai, programozási technológia Tervezési elvek Tervezési szempontok 7

Szoftvertechnológiát igénylő feladatok Katonai számítások (ENIAC, JONIAC) Számítás igényes tudományos és műszaki feladatok Mechanikusan ismétlődő ügyviteli feladatok Fizikai folyamatok adatainak gyűjtése és az eredmények kiértékelése alapján folyamatok vezérlése (hadiipar, űrkutatás, gépjárműipar stb.) Gyártósorok vezérlése A termelési folyamathoz kapcsolódó ügyviteli feladatok, a megrendelések, a megrendelésekhez szükséges raktárkészletek, szállítások ütemezése (logisztika automatizálása) Komplex termelés-irányítási rendszerek létrehozásának igénye 8

Szoftvertechnológiát igénylő feladatok Szolgáltató rendszerek (banki szolgáltatások, biztosítás) A PC megjelenésével előtérbe kerültek a kisvállalkozások, az oktatás, a játék, a szórakozás stb. Globális kommunikációs alkalmazások multimédia távmunka kommunikációs platformok (ICQ, MSN, Skype, Viber stb.) Osztott rendszerek, hálózati alkalmazások, multimédia, mobil 9

Hardver A hardver követte az igényeket: egységek integrációja erőforrások kapacitásának növelése nagyságrendekkel méret csökkentése ember-gép interfészek Monitor Billentyűzet, egér, trackball, joystick, kormány... Hangkártya VR sisak, Google glass 10

Szoftver Az egyszemélyes feladatokkal a magasan képzett szakemberek képesek voltak megbirkózni. Nagy rendszerek esetén, amikor több ember együttműködésével lehet befejezni a fejlesztést, a létező módszerek alkalmatlanná váltak a feladatok megoldására: a határidők nem voltak tarthatóak, az elkészült programban rejtett hibák maradtak, az előállítási költség előre megbecsülhetetlen módon növekedett. Szoftverkrízis 11

A probléma megoldása A probléma megoldásához a szakembereknek fel kellett ismerniük, hogy a program termékké vált, az előállításához technológiára van szükség. A program, mint termék Mit jelent az, hogy a program termék? van szolgáltatási funkciója, van minősége, van előállítási költsége, van előállítási határideje. 12

célja Tervezési paraméterek meghatározása funkció minőség költség határidő A tervezési paramétereknek megfelelő termék előállításának biztosítása tárgya tehát a nagy méretű programrendszerek előállítása. 13

Szoftver jellemzői Nagy bonyolultságú rendszer, azaz fejben tartva nem kezelhetők a kidolgozás során felhasználandó részletek: a programegységek, azok jellemzői, összefüggései stb. Csapatmunkában készül. Hosszú élettartamú, amelynek során számos változatát kell előállítani, azokat követni, karbantartani stb. kell. 14

célkitűzése Előírt minőségű programtermék, előre megállapított határidőre, előre meghatározott költségen történő előállítása. 15

összetevői 1 Módszerek a programkészítés különböző fázisai számára. 2 Szabványok (kidolgozási, dokumentációs stb.), amelyeket a program kidolgozása során kötelező betartani; és ajánlások, amelyek hozzájárulhatnak a program minőségének javításához. 3 Program, egységes rendszert alkotó programfejlesztési környezet, amelyek megkönnyítik és biztonságosabbá teszik az emberi munkát. 4 Irányítási módszerek a programkészítés folyamatának vezérlésére, szervezésére. 16

Feladatok Követelményelemzés (specifikáció készítése) Tervezés Fejlesztés Tesztelés Karbantartás Kivitelezés Szoftvermenedzsment Fejlesztési folyamat Tervező Szoftverminőség Formális módszerek, programszintézis 17

i elvek Absztrakció Modularitás Architektúra Vezérlési hierarchia Adatszerkezetek Információ elrejtés 18

i szempontok Újrafelhasználhatóság Bővíthetőség Hibatűrés, robosztusság Karbantarthatóság Modularitás Megbízhatóság Kompatibilitás Biztonság Használhatóság, felhasználóbarátság 19

Modell A specifikációnak és a tervezési elveknek és szempontoknak megfelelő terv, mely alapján a program elkészíthető. Modellező nyelv Olyan mesterséges nyelv, amely strukturált információt képes kifejezni, mely struktúrát a specifikáció határozza meg. Unified Modeling Language (UML) Általános modellező nyelv (nem csak szoftvermodellezésre alkalmas), szerkezet és viselkedés szempontjából is leírja a modellt. Grafikus megjelenéssel rendelkezik. UML-ből automatikus programgenerálás is lehetséges. 20

Tervezés és minták használata Az önálló tervezés hatékony, ugyanakkor újra felhasználható tervhez ötleteket kitalálni nehéz. A korábban már bevált tervek alapján viszont könnyebb dolgozni. Újra felhasználható tervek megismeréséhez, elsajátításához sok gyakorlatra van szükség. Ezek a tervrészletek a tervminták. Tervezéskor hasonlóan használhatóak, mint programozás közben az újrafelhasználható kódrészletek. 21

ArgoUML - http://argouml.tigris.org/ StarUML - http://staruml.io/ Umbrello UML - https://umbrello.kde.org/ PowerDesigner (fizetős) - http://go.sap.com/product/data-mgmt/powerdesigner-datamodeling-tools.html Microsoft Visio (fizetős) - http://office.microsoft.com/hu-hu/visio/ (Eclipse UML Tools) (NetBeans) 22

Gyakorlaton használt JAVA Development Kit (JDK) http://www.oracle.com/ index.html JAVA dokumentáció - http://docs.oracle.com/javase/8/docs/api/ NetBeans - http://netbeans.org/ További JAVA Runtime Environment (JRE) Eclipse - http://www.eclipse.org/ JDeveloper - http://www.oracle.com/ JCreator - http://www.jcreator.com/ JBuilder IntelliJ IDEA - http://www.jetbrains.com/idea/ 23

Netbeans gyorsbillentyűk Futtatás: Kódkiegészítő: Kódgenerálás: Kód formázása: Hibajavítási tippek: Átnevezés: Változó kiemelése kifejezésből: Attribútum kiemelése kifejezésből: Függvény készítése kódrészletből: F6 Ctrl + szóköz Alt + Insert Alt + Shift + F Alt + Enter Ctrl + R Alt + Shift + V Alt + Shift + E Alt + Shift + M 24