A tantárgyleírás hatályossága
| 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) |
|
||||||||||||
| 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
elérhetőség:
benyo.balazs@vik.bme.hu
|
||||||||||||
| 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
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
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.