Tantárgy neve, kódja: Szoftvertechnológia, GINFBAN-SZOFTTEC-1
A hallgatók szerezzenek rálátást a nagyobb projektekben használatos szoftvertervezési technikákra és technológiákra. Ismerjék meg az UML alapú modellezést, illetve CASE-eszközöket.
Szoftverfejlesztési projektek menedzselése. Szoftver életciklus modellek. UML. Elvárások elemzése & specifikáció és a kapcsolódó UML diagrammok. Tervezés és a kapcsolódó UML diagrammok. Implementálás és a kapcsolódó UML diagrammok. Adatbázisok modellezése. Prototípus. OO fejlesztési módszertanok. OMT. Booch. RUP. Agilis módszerek. Extrém programozás. Scrum. Test Driven Development. Szoftverek ellenőrzése és elemzése. Verziókezelés. Tervezési minták: egyke, simple factory, Dependency injection, Decorator, Proxy, Bridge, Adapter, Facade, Composite, Observer, Template, Iterator, Command, MVC, MVP, MVVM. Agilis módszertanok a gyakorlatban. Tervezési minták: Repository, Data Mapper, Pehelysúlyú tervezési minta. SOLID elvek.
Elsajátítandó ismeretanyag laboratórium:
Projektmenedzsment MS Project segítségével. Kockázatok azonosítása, értékelése (halszálka diagram, Pareto, SWOT). UML diagramok készítése Software Ideas Modeller és Visual Studio segítségével (használati eset). Projektfeladat konzultáció. Tevékenység diagram elkészítése SIM és Visual Studio segítségével. Állapotgép, kontextus, szakarchitektúra, sorrend diagramok elkészítése SIM segítségével. Egyed-kapcsolat diagram készítése, majd ennek alapján entitás diagram. Adatbázis előállítása az entitás diagramból. Scrum. Sorrend diagram Visual Studio segítségével. Tervezési minták I. Tervezési minták II. Projektek végső bemutatása. Tesztelés. Test Driven Development, Jegykezelő rendszerek, Verziókövetés.
Tudása:
- Képes alkalmazást fejleszteni, kliens-szerver és WEB, mobil rendszereket programozni, multiplatform rendszereket kialakítani.
- Képes a megszerzett alapismeretekre építve egy-egy műszaki informatikai területen mélyebb ismeretek önálló megszerzésére, a szakirodalom feldolgozására, majd a területhez kapcsolódó informatikai problémák megoldására.
- Képes szakterületén elemzési, specifikációs, tervezési, fejlesztési és üzemeltetési feladatok ellátására, alkalmazza a fejlesztési módszertanokat, hibakeresési, tesztelési és minőségbiztosítási eljárásokat.
- Együttműködik informatikusokkal és villamosmérnökökkel a csoportmunka során, és más szakterületek képviselőivel is az adott probléma követelményelemzésének és megoldásának kimunkálása során.
- Magyar és angol nyelven kommunikál szakmai kérdésekről és alkotó módon használja az informatika formális nyelvezetét.
- Folyamatosan képezi magát és lépést tart az informatikai szakma fejlődésével.
- Ismeri az informatikai rendszerek hardver és szoftver elemeinek működését, megvalósításuk technológiáját, működtetéséből származó feladatok megoldásának mikéntjét, valamint informatikai és egyéb műszaki rendszerek összekapcsolásának lehetőségeit.
- Ismeri a főbb programozási paradigmákat, programnyelveket, fejlesztési eszközöket. Tudása kiterjed az információs rendszerek modellezésére, adatbázis alapú rendszerek kialakítására, számítógépes hálózatok felépítésére, működésére és implementációjára, intelligens rendszerek jellemzőire, a mobil alkalmazásfejlesztés sajátosságaira, a korszerű, általános célú operációs rendszerek menedzselésére, és az IT biztonság szempontjaira
- Ismeri a fontos szoftverfejlesztési módszertanokat, informatikai tervek és dokumentációk jelölésrendszerét.
- Ismeri az informatika és a mérnöki szakma szókincsét és kifejezési sajátosságait magyar és angol nyelven, legalább alapszinten.
- Hitelesen képviseli a mérnöki és informatikai szakterületek szakmai alapelveit.
- A saját munkaterületén túl a teljes műszaki rendszer átlátására törekszik.
-Nyitott az új módszerek programozási nyelvek, eljárások megismerésére és azok készség szintű elsajátítására
- Nyitott az informatikai eszközöket alkalmazó más szakterületek megismerésére és azokon informatikai megoldások kidolgozására az adott terület szakembereivel együttműködve.
- Törekszik a hatékony és minőségi munkavégzésre.
- Feltárja az alkalmazott technológiák hiányosságait, a folyamatok kockázatait és kezdeményezi az ezeket csökkentő intézkedések megtételét.
Félévközi tanulmányi követelmények:
Elméleti ZH, 40 pont szerezhető, ebből legalább 20-at kell megszerezni a vizsgára bocsátáshoz. Projektfeladat, 60 pont szerezhető, ebből legalább 30-at kell megszerezni a vizsgára bocsátáshoz. A feladatot a gyakorlatvezető adja ki. Pluszpont szerzési lehetőségek: külön meghirdetés szerint.
Vizsgakövetelmények:
Vizsgára bocsátás feltétele: úgy az elméleti, mint a gyakorlati részből teljesíteni kell a minimum követelményt (50%). Megajánlott vizsgajegy feltétele: a 4-es jegyhez a TVSZ általl meghatározott minimum pontszám elérése. Vizsga módja: szóbeli
A laborgyakorlatok számítógépes teremben történnek.
- Előadásanyag - minden előadást követően frissítve elérhető a tantárgy MS TEAMS csoportjában. - Gyakorlatok anyaga elérhető: http://johanyak.hu - Tarczali Tünde: UML diagramok a gyakorlatban, Typotex, 2011, ISBN 978-963-279-524-9 http://www.tankonyvtar.hu/hu/tartalom/tamop425/0008_tarcali/adatok.html - Szabolcsi Judit: Szoftvertechnológia segédlet (2012) http://johanyak.hu/files/u1/segedlet/szoftvertechnologia/Szabolcsi_Judit_Szoftvertechnologia_2012.pdf
- Mileff Péter: Szoftverfejlesztés segédlet http://users.iit.uni-miskolc.hu/~mileff/szoftverf.html- - Szentirmai Róbert: Vállalati szintű projektirányítás Microsoft Office Project 2010 segítségével, Jedlik Oktatási Stúdió, 2011, ISBN: 978-615-501-202-0 - Ian Sommerville: Szoftverrendszerek fejlesztése. Második, bővített, átdolgozott kiadás, Panem Kiadó, Budapest 2007., ISBN 978-963-545-4785 http://iansommerville.com/software-engineering-book/ - Langer Tamás: Projektmenedzsment a szoftverfejlesztésben, Panem, 2014, ISBN: 978-615-518-620-2 - Project Management Institute: Agilis gyakorlati útmutató, Akadémiai Kiadó, 2019, ISBN: 978-963-059-942-9 Az egyetemi hálózatról ingyenesen elérhető: https://mersz.hu/dokumentum/m453agyu__1/