„Szoftvertechnológia és -technikák” változatai közötti eltérés
A VIK Wikiből
start |
→Előadás: Óra anyagának hozzáadása |
||
(44 közbenső módosítás, amit 7 másik szerkesztő végzett, nincs mutatva) | |||
7. sor: | 7. sor: | ||
|kereszt=N/A | |kereszt=N/A | ||
|tanszék=AUT | |tanszék=AUT | ||
| | |labor=van | ||
| | |kiszh=labor beugrók | ||
|nagyzh= | |nagyzh=1 db | ||
|hf= | |hf=2 db | ||
|vizsga=írásbeli | |||
|tad=https://portal.vik.bme.hu/kepzes/targyak/VIAUBB02/ | |tad=https://portal.vik.bme.hu/kepzes/targyak/VIAUBB02/ | ||
|targyhonlap= | |targyhonlap=https://www.aut.bme.hu/Course/SzTT | ||
|levlista= | |levlista= }} | ||
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 == | == Követelmények == | ||
=== Előtanulmányi rend === | |||
*A tárgy felvételéhez az [[Objektumorientált programozás | Objektumorientált programozás]] előzetes vagy egyidejű felvétele szükséges. | |||
=== A szorgalmi időszakban === | === 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 feladatok'''ra 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 '''labor'''ok 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. | |||
=== A | *'''Pótlási lehetőségek:''' | ||
**A '''házi feladat'''ok 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 === | === 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 == | == 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) ==== | |||
* [[Media:szoftver_EA01_20230904_Bevezetes, OOP ismetles, SOLID.pdf | 1. hét (Dr. Mezei Gergely)]]: bevezetés, ''OOP'', ''SOLID'' | |||
* [[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_EA04_Aktivitasdiagram_Allapotgep_20230925.pdf | 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'' | |||
* [[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 | |||
==== 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 | |||
* 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_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.pdf | 11. hét (Benedek Zoltán)]]: szoftverarchitektúrák: SoC, rétegek: 2 (UI–data, document–view), 3 (BLL, MVC, MVVM), kliens–szerver | |||
==== Szoftverfejlesztés ==== | |||
* [[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ó) | |||
* 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) | |||
* 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 === | |||
A laborfeladatok a tárgyhonlapra vannak feltöltve. | |||
A megoldásokat a tárgyhonlap [https://www.aut.bme.hu/Members/MyResults.aspx Eredményeim] aloldalára kell feltölteni. | |||
==== UML ==== | |||
* [[Media:SzTT_Gy01_hallgatoi_20230908.pdf | 1. hét]]: kód készítése szöveges specifikáció alapján (bútoros) | |||
* [[Media:SzTT_GY02 - HALLGATOI - Osztálydiagram_20230915.pdf | 2. hét]]: kód és osztálydiagram készítése szöveges specifikáció alapján (járművek, [[Media: SzTT_Gyak2_Neptun_20230915.zip | ETR]], étterem) | |||
* [[Media:SzTT_GY03 - HALLGATOI_20230922.pdf | 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) | |||
* [[Media:SzTT_GY04 - HALLGATO - Szekvencia_20230929.pdf | 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), [[Media:SzTT_GY04_Source_20230929.zip | kód]] kiegészítése osztály- és szekvenciadiagram alapján (RockPaperScissors) | |||
* 5. hét: ''szünet'' | |||
* [[Media:SzTT_GY05 - HALLGATOI - Activity es State Machine v3_20231013.pdf | 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 [[Media:SzTT_GY05 - kiindulo_20231013.zip | kódjának]] elemzése ([[Media:SzTT_GY05 - kiindulo_20231013_Core.zip |.NET Core-os verzió, ami macOS-en is fut]]) | |||
* [[Media:SzTT_GY06 - HALLGATOI - UseCase_UMLOsszefoglalo_20231020.pdf | 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 ==== | |||
* [[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)_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 | |||
* [[Media:.pdf | 11. hét]]: | |||
* 12. hét: ''szünet'' | |||
* [[Media:SzTT_GY12 - HALLGATÓI - Szoftverfejlesztési módszertanok a gyakorlatban_20231201.pdf | 13. hét]]: scrum: sprintek vevői igények alapján | |||
== Segédanyagok == | == Segédanyagok == | ||
* [https://github.com/bzolka/AUT-SZTT Szoftvertechnikák példakódok Git] | |||
* [[:File:sztt_csoop_bevezeto.zip |C# OOP bevezető, példakóddal együtt]] | |||
== Házi feladat == | |||
* 1. házi feladat - Szoftvertechnológiák | |||
** [[Media:sztt_hazi1_szoftech.pdf | Specifikáció 2020. ősz]] | |||
**[[Media:SzTT_Hazi1_2021.pdf | Specifikáció 2021. ősz]] | |||
* 2. házi feladat - Szoftvertechnikák | |||
** [[Media:sztt_hazi2_sznikak.pdf | Specifikáció 2020. ősz]] | |||
**[[Media:SzTT_Hazi2_2021.pdf | Specifikáció 2021. ősz]] | |||
== ZH == | |||
* 2019. ősz | |||
** [[Media:sztt_mintazh_2019.pdf | MintaZH]] | |||
* 2020. ősz | |||
** [[Media:sztt_mintazh_2020.pdf | MintaZH]] | |||
== | == Vizsga == | ||
* 2019. ősz | |||
** [[Media:sztt_mintavizsga_2019.pdf | Minta vizsga,]] [[Media:sztt_mintavizsga_2019megoldasok.pdf | megoldások]] | |||
* 2021. ősz | |||
**[[Media:Vizsga_SzTT_2021_Minta.pdf | Mintavizsga 2021]] | |||
**[[Media:Mintavizsga2021_Megoldasok.pdf | Mintavizsga 2021 megoldások]] | |||
* 2022. ősz | |||
**[[Media:Sztt_VizsgaF_2023_01_16_beugronelkuli.pdf | 2023.01.16 Vizsga F (beugró nélkül)]] | |||
[[GitEgylet]] segédanyagok: | |||
*[[Media:sztt_jegyzetek.zip | Vizsga elméleti jegyzetek]] | |||
*[[Media:finalsztt (1).pdf | ZH elméleti anyag]] | |||
{{Lábléc_-_Üzemmérnök-informatikus_alapszak}} | |||
A lap jelenlegi, 2023. december 7., 13:36-kori változata
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 tárgy felvételéhez az Objektumorientált programozás előzetes vagy egyidejű felvétele szükséges.
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
- 7. hét (Benedek Zoltán): design patterns: elemei, csoportosítása; template method, strategy pattern, lambda expressions
- 8. hét: szünet
- 9. hét (Benedek Zoltán): design patterns, folytatás: observer, dependency injection, singleton, abstract factory
- 10. hét (Benedek Zoltán): design patterns, folytatás: command (processor), memento, (object / class) adapter, composite
- 11. hét (Benedek Zoltán): szoftverarchitektúrák: SoC, rétegek: 2 (UI–data, document–view), 3 (BLL, MVC, MVVM), kliens–szerver
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
- 1. házi feladat - Szoftvertechnológiák
- 2. házi feladat - Szoftvertechnikák
ZH
Vizsga
- 2019. ősz
- 2021. ősz
- 2022. ősz
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 |