K-INFO
HU
EN
Belépés

A programozás technológiája

Software Engineering
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
A programozás technológiája
Software Engineering
Tantárgykód BMEVIFO2228
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) 4 0 0
jelleg (kapcsolt/önálló)
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 5
Tantárgyfelelős
Dr. László Zoltán Ferenc
beosztás: adjunktus
elérhetőség: laszlo@iit.bme.hu
Tantárgyat gondozó oktatási szervezeti egység
Kar
Tantárgy weboldala
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

Hét Téma

  1. Mi a software engineering ? A szoftver technológia kialakulása, fejlödése. Technológia, tudomány, oktatás. A szoftver krizis. A problémák, az okok, a hitek és a megoldások.
  2. A rendszerfejlesztés folyamata, annak dimenziói. Absztrakció és formalizálás, fogalmi és implementációs modellek. A szoftver, mint termék. Életciklusmodellek. A szoftver projekt tervezése. A fejlesztési folyamat érettségi modellje (CMM). A fontosabb költségelemek és becslésük. Projekt terv.
  3. Követelmények elemzése, definiálása. A specifikáció nézőpontjai: funkcionális, strukturális, dinamikus. Specifikációs módszerek: adatfolyamábra, adatszerkezetek leirása, entitás relációs diagrammok.
  4. Dinamikus viselkedés specifikálása, kiterjesztett állapotgép. Formalizálási lehetőségek: algebrai axiómák, Petri-gráfok.
  5. A programtervezés elvei. Absztrakció és információ rejtés. Döntések és absztrakciók. Föbb absztrakciós stratégiák. Dijkstra-elv. Modul. Modularizálás. Kohézió és csatolás.
  6. Szoftver architektúrák. Data-flow, Call-and-return, Data-centered, Virtual machines. Adatfolyam és adatstruktúra orientált tervezés.
  7. Jackson System Development (JSD). Specifikációs eszközök, az eljárás lépéseinek lényege.
  8. Az objektum orientált programtervezés alapfogalmai: objektum, üzenet, metódus, adatbeágyazás, polimorfizmus, dinamikus kötés, példány, osztály, prototipus, tipus, öröklés. A Unified Modeling Language.
  9. Objektum orientált rendszerek UML modellezése.
  10. OO Unified Process. Tervezési feladat megoldása.
  11. Felhasználói felület tervezése. Metaforák, WIMP, direkt manipulációk. Parancsnyelvi interfész. Hibajelzések, help, hipermédia rendszerek. Implementálás, kódolás, programozási technikák. Hordozhatóság, újrahasznosithatóság.
  12. Integráció, verifikáció és validáció. Verifikációs módszerek. Tesztelés és debug technikák. A megbizhatóság alapfogalmai. Rendelkezésre állás.
  13. A szoftver management. A szoftver minősége, szabványok. A szoftver karbantartása. A karbantartási feladatok, és mellékhatások. Konfigurációs management.
A tárgy nagy méretü szoftver rendszerek tervezésének, fejlesztésének, karbantartásának tanitását tüzi ki célul, bemutatva a szoftver, mint termék elöállitásához szükséges mérnöki tevékenység technikáit és módszereit. A tárgy a technikai aspektusok kiemelése mellett foglalkozik a technológiák adminisztrativ vonatkozásaival is ( management ). A tárgyat abszolválva a hallgatók képesek - megérteni és kezelni a nagy méretü szoftver rendszerek fejlesztésének problémáit; - részt venni nagy projektekben. A tárgy kidolgozásánál - a korábbi évek tapasztalataiból kiindulva - két-lépcsős Software Engineering oktatási modellt vettünk alapul, ahol a hallgatók egy félév alatt előadásokon keresztül megismerik a technikákat és metodológiákat, majd a következö félévben a számítógép labor keretében alkalmazzák a tanultakat.

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

előadás

Tanulástámogató anyagok

Online források
Kondorosi, László, Szirmay-Kalos: Objektum orientált szoftver fejlesztés, ComputerBooks, Bp., 1997; A tárgy weboldaláról (http://kfarkas.iit.bme.hu/~ptuser/) letölthető kb. 600 darab előadás fólia (magyar és angol nyelven egyaránt), az ugyanonnan letölthető segédletek, kidolgozott mintafeladatok és vizsgasorok.; Sommerville, I. – Szoftver rendszerek fejlesztése (Software Engineering, 6th ed) Panem kiadó, Debrecen, 2002; Sommerville, I. - Software Engineering, 6th ed. Addison-Wesley PC. Reading Massachusettes, 2001.; Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, Addison-Wesley, 1999.; Fairly, R.E. - Software Engineering Concepts, McGraw-Hill, New York, 1985.

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)
- programozási gyakorlat - digitális technika - diszkrét matematika (számelmélet 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)
- programozási gyakorlat - digitális technika - diszkrét matematika (számelmélet alapjai)
Általános szabályok
Követelmények: A szorgalmi időszakban: Nincs követelmény b. A vizsgaidőszakban: A vizsga írásbeli. Pótlási lehetőségek: A vizsgák a TVSZ-nek megfelelően pótolhatók
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
A tárgyat csak azok vehetik fel, akik korábban hallgatták a következő tárgyakat: viee1227 Programozás alapjai II. kredit
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.