„Szoftvertechnológia és -technikák” változatai közötti eltérés

A VIK Wikiből
→‎Előadás: Óra anyagának hozzáadása
→‎Előadás: Óra anyagának hozzáadása
 
(6 közbenső módosítás ugyanattól a felhasználótól nincs mutatva)
52. sor: 52. sor:
A prezentációk a Teamsre vannak feltöltve.
A prezentációk a Teamsre vannak feltöltve.


==== Szoftvertechnológiák (UML) ====
* [[Media:szoftver_EA01_20230904_Bevezetes, OOP ismetles, SOLID.pdf | 1. hét (Dr. Mezei Gergely)]]: bevezetés, ''OOP'', ''SOLID''
* [[Media:szoftver_EA01_20230904_Bevezetes, OOP ismetles, SOLID.pdf | 1. hét (Dr. Mezei Gergely)]]: bevezetés, ''OOP'', ''SOLID''
==== UML ====
* [[Media:SzTT_EA02_UMLBevezeto_Osztalydiagram_20230911.pdf | 2. hét (Dr. Mezei Gergely)]]: osztálydiagram; gyakorlófeladat: osztálydiagram készítése szöveges specifikáció alapján
* [[Media:SzTT_EA02_UMLBevezeto_Osztalydiagram_20230911.pdf | 2. hét (Dr. Mezei Gergely)]]: osztálydiagram; gyakorlófeladat: osztálydiagram készítése szöveges specifikáció alapján
* [[Media:SzTT_EA03_Szekvenciadiagram_20230918.pdf | 3. hét (Dr. Mezei Gergely)]]: osztálydiagram: «enumeration», «abstract», «interface» és kapcsolatok; sorrend; szekvenciadiagram: szinkron és aszinkron hívás, blokkok (alt, loop, opt, par); gyakorlófeladat: szekvenciadiagram készítése kód alapján
* [[Media:SzTT_EA03_Szekvenciadiagram_20230918.pdf | 3. hét (Dr. Mezei Gergely)]]: osztálydiagram: «enumeration», «abstract», «interface» és kapcsolatok; sorrend; szekvenciadiagram: szinkron és aszinkron hívás, blokkok (alt, loop, opt, par); gyakorlófeladat: szekvenciadiagram készítése kód alapján
61. sor: 60. sor:
* [[Media:SzTT_EA05_HasznalatiEset_Kitekintes_20231009.pdf | 6. hét (Dr. Mezei Gergely)]]: használatieset-diagram: rendszerhatár, aktor, usecase, asszociáció; XMI; kitekintés: UML Profile, metamodellezés (MOF); gyakorlófeladat: használatieset-diagram készítése leírás alapján
* [[Media:SzTT_EA05_HasznalatiEset_Kitekintes_20231009.pdf | 6. hét (Dr. Mezei Gergely)]]: használatieset-diagram: rendszerhatár, aktor, usecase, asszociáció; XMI; kitekintés: UML Profile, metamodellezés (MOF); gyakorlófeladat: használatieset-diagram készítése leírás alapján


==== Design pattern ====
==== Szoftverarchitektúrák ====
* [[Media:SzTT_EA06 - Tervezési minták 1_20231016.pdf | 7. hét (Benedek Zoltán)]]: design patterns: elemei, csoportosítása; template method, strategy pattern, lambda expressions
* [[Media:SzTT_EA06 - Tervezési minták 1_20231016.pdf | 7. hét (Benedek Zoltán)]]: design patterns: elemei, csoportosítása; template method, strategy pattern, lambda expressions
* 8. hét: ''szünet''
* 8. hét: ''szünet''
* [[Media:SzTT_EA07 - Tervezési minták 2_20231030.pdf | 9. hét (Benedek Zoltán)]]: design patterns, folytatás: observer, dependency injection, singleton, abstract factory
* [[Media:SzTT_EA07 - Tervezési minták 2_20231030.pdf | 9. hét (Benedek Zoltán)]]: design patterns, folytatás: observer, dependency injection, singleton, abstract factory
* [[Media:SzTT_EA08 - Tervezési minták 3_20231106.pdf | 10. hét (Benedek Zoltán)]]: design patterns, folytatás: command (processor), memento, (object / class) adapter, composite
* [[Media:SzTT_EA08 - Tervezési minták 3_20231106.pdf | 10. hét (Benedek Zoltán)]]: design patterns, folytatás: command (processor), memento, (object / class) adapter, composite
* [[Media:SzTT_EA09 _Architekturális_tervezés_20231113 | 11. hét (Benedek Zoltán)]]:  
* [[Media:SzTT_EA09 _Architekturális_tervezés_20231113.pdf | 11. hét (Benedek Zoltán)]]: szoftverarchitektúrák: SoC, rétegek: 2 (UI–data, document–view), 3 (BLL, MVC, MVVM), kliens–szerver


* [[Media:sztt_eloadas_10.pdf | EA10 Szoftverfejlesztés 1]]
==== Szoftverfejlesztés ====
* [[Media:sztt_eloadas_11.pdf | EA11 Szoftverfejlesztés 2]]
* [[Media:SzTT_EA10 - szoftverfejlesztés fázisai_20231120.pdf | 12. hét (Albert István)]]: fázisok: specifikáció, tervezés (UML), implementálás (forráskód-dokumentáció), tesztelés (dokumentáció; unit / modul / integrációs / rendszer- / átvételi / regressziós / funkcionális teszt), üzembe helyezés, üzemeltetés, karbantartás (dokumentáció)
* [[Media:sztt_eloadas_12.pdf | EA12 Szoftverfejlesztés 3]]
* 13. hét (Albert István): az előző hét folytatása: tesztelés: white / gray / black box, validáció, ellenőrzés, tesztterv, stratégia, szintek (unit / integrációs / rendszer- / rendszerintegrációs / regressziós / elfogadási / A/B- / biztonsági és terheléses teszt); [[Media:SzTT_EA11 - A vízesés és a RUP módszertan_20231127_20231204.pdf | módszertanok]]: klasszikus / iteratív vízesésmodell (tervezés, előnyei és hátrányai), változáskezelés, prototipizálás (MVP)
* [[Media:sztt_eloadas_13.pdf | EA13 Szoftverfejlesztés 4]]
* 14. hét (Albert István): az előző hét folytatása: inkrementális fejlesztés, evolúciós modell, RUP (best practices); [[Media:SzTT_EA12 - agilis fejlesztés és Scrum_20231204.pdf | agilis fejlesztés]]: agile manifesto, értékek, elvek, verifikáció és validáció; scrum: folyamat (release planning, product backlog, grooming, sprint planning, sprint backlog, stand-up meeting, sprint review, sprint retrospection), product vision & not list, definition of done, user story, use case, burndown chart, demo, kanban, ((eXtreme Programming))
* ''(([[Media:sztt_eloadas_13.pdf |15. hét]] (2023 őszén nem tananyag): DevOps: continuous integration, continuous delivery))''


=== Labor ===
=== Labor ===
88. sor: 88. sor:
==== Design pattern ====
==== Design pattern ====
* [[Media:SzTT_GY07 - HALLGATOI Kiterjeszthetosegi mintak_20231027.pdf | 8. hét]]: extension methods refactoring (Person): osztályba szervezés, bővítés, strategy pattern
* [[Media:SzTT_GY07 - HALLGATOI Kiterjeszthetosegi mintak_20231027.pdf | 8. hét]]: extension methods refactoring (Person): osztályba szervezés, bővítés, strategy pattern
* [[Media:SzTT_GY08 Observer és Singleton útmutató (okt és hallg) 2022.pdf | 9. hét]]: observer és singleton (Lift): program írása, refactoring
* [[Media:SzTT_GY08 Observer és Singleton útmutató (okt és hallg)_20231103.pdf | 9. hét]]: observer és singleton (Lift): program írása, refactoring
 
* [[Media:SzTT_GY09 Tervezési minták 3 - Hallgatói útmutató_20231110.pdf | 10. hét]]: command (processor), memento, composite, ((adapter)) ([[Media:SzTT_GY09 Tervezési minták 3 - Kiinduló_20231110.zip |Library]]): kódok bemásolása, bővítés
* 9. labor: [[Media:sztt_labor_9.pdf | útmutató]], [[Media:sztt_labor_2020_9.zip | kiinduló]]
* [[Media:.pdf | 11. hét]]:  
* 10. labor: [[Media:sztt_labor_10.pdf | útmutató]], [[Media:sztt_labor_2020_10_1.zip | kiinduló 17763]], [[Media:sztt_labor_2020_10_2.zip | kiinduló 19041]]
* 12. hét: ''szünet''
** A két különböző kiinduló fájl valójában ugyan az, csak ez azért van, hogy lehetőleg mindenkinek a rendszerén tudjon futni, az UWP sajátosságai miatt...
* [[Media:SzTT_GY12 - HALLGATÓI - Szoftverfejlesztési módszertanok a gyakorlatban_20231201.pdf | 13. hét]]: scrum: sprintek vevői igények alapján
* 11. labor: [[Media:sztt_labor_11.pdf | útmutató]], [[Media:sztt_labor_2020_11.zip | kiinduló]]
* 12. labor: [[Media:sztt_labor_12.pdf | útmutató]]


== Segédanyagok ==
== Segédanyagok ==

A lap jelenlegi, 2023. december 7., 13:36-kori változata

Szoftvertechnológia és -technikák
Tárgykód
VIAUBB02
Általános infók
Szak
üzemmérnök
Kredit
7
Ajánlott félév
3
Keresztfélév
N/A
Tanszék
AUT
Követelmények
Labor
van
KisZH
labor beugrók
NagyZH
1 db
Házi feladat
2 db
Vizsga
írásbeli
Elérhetőségek

A tárgy célja a készség szintű tudás átadás a szoftverfejlesztés folyamata, támogató eszközei és módszertana területén, ami alkalmassá teszi a tárgyat sikeresen elvégzőket a fejlesztő műhelyek munkájába való zökkenőmentes bekapcsolódásra.


Követelmények

Előtanulmányi rend

A szorgalmi időszakban

  • A ZH legalább elégséges szintű (50%) teljesítése. A zárthelyire 0-100 pontot lehet szerezni, és a pontok legalább felét kell megszerezni az elégséges teljesítéséhez.
  • A házi feladatokra darabonként 0-10 pontot lehet szerezni. A házi feladatok teljesítéséhez 4-4 pontot kell elérni mind a kettőből. Az első házi feladat a hatodik héten kerül kiosztásra és a tizedik hétig kell beadni. A második feladat a tizenegyedik héten kerül kiosztásra és a szorgalom időszak végén megjelölt laboron kell beadni.
  • A laborok 70%-át teljesíteni kell. Jár "pluszpont", ha valaki megcsinálja a szorgalmi részét egy labornak.
    • Általában 3-4 órát kell dolgozni a jelenléthez, és még 1-3 óra a szorgalmi feladat.
    • Gyakorlatoknak is szokták hívni, mert az első pár héten vannak elméletibb "gyakorlat" feladatok is laboron.
    • A szorgalmit meg lehet csinálni otthon, és a következő laboralkalom előttig be lehet adni, de csak akkor ha abból a laborból megvan a jelenlét.
  • Pótlási lehetőségek:
    • A házi feladatok a pótlási hét végéig pótolhatóak.
    • A ZH szorgalmi időszakban egyszer pótolható, pót-pót ZH már nincs.

A vizsga

  • A vizsga 90 pontos lesz.
    • Van beugró, aminek az 50% teljesítése elvárt, a beugró össztpontja alapján. (Vigyázat: az Igaz-Hamis feladatoknál pontlevonás van (UML-rajzoknál nincs)!)

Félévvégi jegy

  • Pontszámítás:
    • Vizsga + ZH * 0.4 + Házi pontok + pluszpontok
  • Ponthatárok:
    • 75-től kettes, 90-től hármas, 105-től négyes és 127-től ötös

Tematika

A példakódokat amikben mutatnak dolgokat, a Szoftvertechnológiák tananyagnál Java-ban mutatják, majd a Szoftvertechnikák tananyagnál C#-ban tanítják (de a 2. házi feladatot lehet mindkét nyelvben csinálni).

Előadás

A prezentációk a Teamsre vannak feltöltve.

Szoftvertechnológiák (UML)

  • 1. hét (Dr. Mezei Gergely): bevezetés, OOP, SOLID
  • 2. hét (Dr. Mezei Gergely): osztálydiagram; gyakorlófeladat: osztálydiagram készítése szöveges specifikáció alapján
  • 3. hét (Dr. Mezei Gergely): osztálydiagram: «enumeration», «abstract», «interface» és kapcsolatok; sorrend; szekvenciadiagram: szinkron és aszinkron hívás, blokkok (alt, loop, opt, par); gyakorlófeladat: szekvenciadiagram készítése kód alapján
  • 4. hét (Somogyi Ferenc Attila): aktivitásdiagram: initial node; őrfeltétel, dekompozíció; decision, merge; fork, join; partition, object flow, object node, pin; exception, accept (time) event / send signal action; flow final node; final node; állapot(gép)diagram: trigger, guard condition; behavior expression; composite state: entry / exit / do action; region, submachine state; shallow / deep history; entry / exit point; fork, join; gyakorlófeladat: aktivitásdiagram vagy állapotdiagram készítése leírás alapján
  • 5. hét: szünet
  • 6. hét (Dr. Mezei Gergely): használatieset-diagram: rendszerhatár, aktor, usecase, asszociáció; XMI; kitekintés: UML Profile, metamodellezés (MOF); gyakorlófeladat: használatieset-diagram készítése leírás alapján

Szoftverarchitektúrák

Szoftverfejlesztés

  • 12. hét (Albert István): fázisok: specifikáció, tervezés (UML), implementálás (forráskód-dokumentáció), tesztelés (dokumentáció; unit / modul / integrációs / rendszer- / átvételi / regressziós / funkcionális teszt), üzembe helyezés, üzemeltetés, karbantartás (dokumentáció)
  • 13. hét (Albert István): az előző hét folytatása: tesztelés: white / gray / black box, validáció, ellenőrzés, tesztterv, stratégia, szintek (unit / integrációs / rendszer- / rendszerintegrációs / regressziós / elfogadási / A/B- / biztonsági és terheléses teszt); módszertanok: klasszikus / iteratív vízesésmodell (tervezés, előnyei és hátrányai), változáskezelés, prototipizálás (MVP)
  • 14. hét (Albert István): az előző hét folytatása: inkrementális fejlesztés, evolúciós modell, RUP (best practices); agilis fejlesztés: agile manifesto, értékek, elvek, verifikáció és validáció; scrum: folyamat (release planning, product backlog, grooming, sprint planning, sprint backlog, stand-up meeting, sprint review, sprint retrospection), product vision & not list, definition of done, user story, use case, burndown chart, demo, kanban, ((eXtreme Programming))
  • ((15. hét (2023 őszén nem tananyag): DevOps: continuous integration, continuous delivery))

Labor

A laborfeladatok a tárgyhonlapra vannak feltöltve. A megoldásokat a tárgyhonlap Eredményeim aloldalára kell feltölteni.

UML

  • 1. hét: kód készítése szöveges specifikáció alapján (bútoros)
  • 2. hét: kód és osztálydiagram készítése szöveges specifikáció alapján (járművek, ETR, étterem)
  • 3. hét: osztálydiagram készítése szöveges specifikáció alapján (építési vállalat, webshop, szemétszállító cég)
  • 4. hét: szekvenciadiagram készítése kód alapján (WashingMachine), osztály- és szekvenciadiagram készítése leírás alapján (Furious Flights), kód kiegészítése osztály- és szekvenciadiagram alapján (RockPaperScissors)
  • 5. hét: szünet
  • 6. hét: aktivitás- és állapotdiagram készítése szöveges specifikáció alapján (webshop, egyetemi követelményrendszer, regény, kávéfőző, nyomtató), állapotgép kódjának elemzése (.NET Core-os verzió, ami macOS-en is fut)
  • 7. hét: használatiesetdiagram készítése szöveges specifikáció alapján (CyberPub); gyakorlás a ZH-ra feladatok önálló megoldásával: használatiesetdiagram készítése szöveges specifikáció alapján (bűvésztársulat), osztálydiagram készítése szöveges specifikáció alapján (kollégium), szekvenciadiagram készítése kód alapján (SocialMediaService), állapotdiagram készítése szöveges specifikáció alapján (ZH-javító), aktivitásdiagram készítése szöveges specifikáció alapján (hivatalnok)

Design pattern

  • 8. hét: extension methods refactoring (Person): osztályba szervezés, bővítés, strategy pattern
  • 9. hét: observer és singleton (Lift): program írása, refactoring
  • 10. hét: command (processor), memento, composite, ((adapter)) (Library): kódok bemásolása, bővítés
  • 11. hét:
  • 12. hét: szünet
  • 13. hét: scrum: sprintek vevői igények alapján

Segédanyagok

Házi feladat

ZH

Vizsga


GitEgylet segédanyagok:


1. félév
2. félév
3. félév
4. félév
5. félév
6. félév