K-INFO
HU
EN
Belépés

Szoftvertervezés

Software Design
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
—
Tantárgy neve (magyarul, angolul)
Szoftvertervezés
Software Design
Tantárgykód BMEVIIIMA15
Tantárgyjelleg —
Képzési szint —
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 3 0 0
jelleg (kapcsolt/önálló) — — —
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Benyó Balázs István
beosztás: egyetemi tanár
Tantárgyat gondozó oktatási szervezeti egység
Irányítástechnika és Informatika Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala https://www.iit.bme.hu/targyak/BMEVIIIMA15
Tantárgy elsődleges mintatantervi jellege —
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram
  1. A szoftver rendszerek létrehozásának folyamata. A software engineering fogalmának meghatározása. Alapfogalmak definíciója: szoftver, szoftverfejlesztési módszertan, életciklus modell. A szoftverfejlesztési módszertanok és szoftverfejlesztési környezetek fejlődésének bemutatása. A szoftver életciklus modelljeinek bemutatása és azok összehasonlítása: vízesés modell, V modell, iteratív-inkrementális fejlesztés, spirál modell. Modell vezérel fejlesztés jellemzői.

  2. Modern szoftverfejlesztési módszertanok jellemzői, agilis fejlesztési módszertanok meghatározása. Néhány elterjedt agilis tervezés módszertan és módszer bemutatása: SCRUM , Extreme Programming, Test First Development, Test Driven Development.

  3. SCRUM módszertan: A módszertan bemutatása, az agile szemléletmód és annak megvalósítása a fejlesztés során. A Product Backlog és annak használata a fejlesztés során. A Scrum Folyamat és a Scrum Csapat bemutatása. Az egyes szerepkörök ismertetése: Scrum Master szerep, Product Owner szerep, Fejlesztő (Developer) szerep.

  4. SCRUM módszertan: A Srum folyamat végrehajtása a gyakorlatban, ceremóniák és fogalmak. A Product Backlog kezelésének részletei, különböző típusú Backlog Item-ek definiálása, azok leírásának kezelése a fejlesztés során. User Story fogalma és használata. A ráfordítás becslése és előrejelzése a Scrum folyamat végrehajtása során.

  5. Objektum orientált szoftver fejlesztés meghatározása. Objektum orientált megközelítés, ill. szoftver fejlesztési elvek alkalmazása az elemzés, a tervezés és a megvalósítás során: legfontosabb alapelvek és módszerek ismertetése. Unified Process (UP) fejlesztési módszertan bemutatása. A UP fázisai, diszciplínák vagy munkafolyamatok, a UP során létrejövő szoftverfejlesztési termékek. A sikeres fejlesztés kockázatainak kezelése. Unified Modelling Language (UML) bemutatása.

  6. A Unified Process Előkészítés (Inception) fázisa. Jellemző termékek tartalmának meghatározása: Vízió, Use Case modell, Kiegészítő követelmények leírása (Supplementary Specification), Glossary. A funkcionális és nem funkcionális követelmények meghatározásának módszerei. A FURPS+ modell a követelmények meghatározására.

  7. A Use Case modellezés meghatározása. A Use Case-ek és Aktorok definiálása és azok leírása. A Use Case diagramok felépítése és azok strukturálása. A System Sequence Diagram (SSD) szintaktikája és elkészítése. Az SSD viszonya más fejlesztési termékekkel. Gyakorlati példa ismertetése.

  8. Az Aktivitás diagram és annak használata a Use Case modellezés során. Az Aktivitás diagram és a Use Case leírás viszonya. Gyakorlati példa ismertetése.

  9. Az UML osztály diagram. A Domain modell felépítése, értelmezése és létrehozásának módszerei. Gyakorlati példa ismertetése.

  10. A Unified Process Kidolgozás (Elaboration) fázisa. Felelősségek meghatározásának és kiosztásának módszerei. Gyakorlati példa ismertetése.

  11. Az UML interakciós diagramjainak (szekvencia és kommunikációs, ill. együttműködési diagramok) szintaktikája, azok alkalmazása a tervezés során. A Unified Process Design Modell elemei és azok létrehozásának módszerei. Gyakorlati példa ismertetése.

  12. A szoftverfejlesztés során alkalmazott szoftver tervezési minták fogalma, típusai, alkalmazásuk. Tervezési minták a szoftver felelősségek meghatározásához: Genenal Responsibility Assignment Software Patterns (GRASP). Gyakorlati példák ismertetése.

  13. A Unified Process Megvalósítás (Construction) és Átadás (Transition) fázisai. Modellek és a szoftver kód viszonya, kódgenerálás módszerei és lehetőségei. UML modellek és alkalmazásuk a Megvalósítás és Átadás fázisaiban. A szoftver rendszerek verifikációja és validációja: a feladatok meghatározása, helyük a fejlesztési folyamatában, jellemző típusai. A szoftver verifikáció és validáció során felhasznált legfontosabb módszerek.

  14. A modern szoftver tervezés gyakorlatában alkalmazott, a szoftverek tervezését és létrehozását támogató környezetek (CASE) típusai és funkciói. Verzió és konfiguráció management környezetek tipikus feladatai. Feladatok és hibák követése (Issue tracking, Bug tracking) a szoftverfejlesztés során. A szoftver projektek tervezése módszerei: Gantt diagram, PERT háló bemutatása. Szoftver fejlesztő szervezetek minősítése: Capability Maturity Model (CMM) ismertetése.

TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link { } A tárgy célja a modern szoftvertervezés elméleti és gyakorlati alapjainak ismertetése, a szoftver rendszerek fejlesztése során alkalmazott legfontosabb elvek és módszerek, valamint azok gyakorlatban történő alkalmazásának bemutatása. A hallgatók közvetlenül alkalmazható tudást szereznek az objektum-orientált szoftvertervezés gyakorlatából, megismerhetik a szoftvertervezési minták alkalmazását. Képesek lesznek átlátni a szoftvertervezés és fejlesztés folyamatát, a szoftverek létrehozása során alkalmazott különböző típusú követelményeket, valamint az azokat kielégítő rendszer megvalósításának folyamatát.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Heti három előadás. (A hallhatók házi feladatot kapnak.)

Tanulástámogató anyagok

Online források
TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link { }; Larman,; Craig. Applying UML and Patterns: An Introduction to Object-Oriented; Analysis and Design and Iterative Development, 3rd edition. 2012.; Jeff; Sutherland, Ken Schwaber: The Scrum Guide - The Definitive Guide to; Scrum: The Rules of the Game, 2017.; Satzinger,; John W., Robert Jackson, and Stephen D. Burd. Systems analysis and; design in a changing world. Cengage Learning, 2011.; Mike; Cohn: Agile Estimating and Planning, Prentice Hall, 2005.; Sommerville,; Ian: Software Engineering. International computer science; series,  2004.; Ian: Szoftverrendszerek fejlesztése/Software; Engineering, Sixth Edition, PANEM Könyvkiadó, Budapest (2002).; Pressman,; Roger S.: Software engineering: a practitioner’s approach, McGraw-Hill, 2001.; Rumbaugh,; James, Ivar Jacobson, and Grady Booch: Unified Modeling Language; Reference Manual, Pearson Higher Education, 2004.; h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Serif", serif; }h1.cjk { font-family: "Droid Sans Fallback"; font-size: 24pt; }h1.ctl { font-family: "FreeSans"; font-size: 24pt; }h3.cjk { font-family: "Droid Sans Fallback"; }h3.ctl { font-family: "FreeSans"; }p { margin-bottom: 0.25cm; line-height: 120%; }a:link { }

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Objektum-orientált programozás alapjai.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Objektum-orientált programozás alapjai.
Általános szabályok
Követelmények: TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link {A. A szorgalmi időszakban: egy nagyzárthelyi és több, egymáshoz kapcsolódó otthoni házi feladat sikeres elkészítése csoportmunkában. A félévközi jegy megszerzésének feltétele a házi feladat elfogadása és legalább elégséges nagyzárthelyi. A félévközi jegyet a nagyzárthelyi és a házi feladat eredménye alapján kapja a hallgató. TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link { } A. A szorgalmi időszakban egy nagyzárthelyi megírása, és egy komplex csoportmunkában készített otthoni házi feladat elkészítése. A félévközi jegy megszerzésének feltétele a házi feladat elfogadása és legalább elégséges nagyzárthelyi. A félévközi jegyet a nagyzárthelyi (60%) és a házi feladat (40%) eredménye alapján kapja a hallgató. B. A vizsgaidőszakban: nincs.   Pótlási lehetőségek: TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link { } TD P { margin-bottom: 0cm; direction: ltr; color: rgb(0, 0, 0); }TD P.western { font-family: "Times New Roman",serif; font-size: 12pt; }TD P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }TD P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "DejaVu Sans"; font-size: 12pt; }P.ctl { font-family: "Lohit Hindi"; font-size: 12pt; }A:link { } A nagyzárthelyi a pótlási héten egy alkalommal pótolható, az otthoni házi feladat különeljárási díj megfizetése mellett pótolható.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak

Nincs megadva.

A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
—
Tantárgykövetelmények hatályosságának vége:
—
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.