Bevezetés a programozásba



Hasonló dokumentumok
A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Verifikáció és validáció Általános bevezető

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Programtervezés. Dr. Iványi Péter

Informatikai projekteredmények elfogadottságának tényezői

DW 9. előadás DW tervezése, DW-projekt

30 MB INFORMATIKAI PROJEKTELLENŐR

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

01. gyakorlat - Projektalapítás

Projectvezetők képességei

Verziókövető rendszerek használata a szoftverfejlesztésben

Járműinformatika A járműinformatikai fejlesztés

1. Bevezetés a szoftvertechnológiába

Szoftver-technológia I.

A fejlesztési szabványok szerepe a szoftverellenőrzésben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Szoftverfejlesztő képzés tematika oktatott modulok

Információ menedzsment

TERMÉK FEJLESZTÉS PANDUR BÉLA

Információs rendszerek Információsrendszer-fejlesztés

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Tartalommenedzser képzés tematika oktatott modulok

Univerzális munkafolyamat szimulátor

S01-7 Komponens alapú szoftverfejlesztés 1

IRÁNYTŰ A SZABÁLYTENGERBEN

Internetes alkalmazásfejlesztő képzés tematika oktatott modulok

E-learning tananyagfejlesztő képzés tematika oktatott modulok

Programfejlesztési Modellek

SW-project management

Bánsághi Anna 1 of 49

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

A benchmarking fogalma

Szoftvermenedzsment 4. fejezet A szoftverfolyamat

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

A CRD prevalidáció informatika felügyelési vonatkozásai

Hogyan tudom soros eszközeimet pillanatok alatt hálózatba kötni?

A CMMI alapú szoftverfejlesztési folyamat

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Az azonosító számú, Internetes alkalmazásfejlesztő megnevezésű elágazás szakmai követelménymoduljainak

1 Informatikai beszerzések.

Félévi követelmények Bemutatkozás és követelmények

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

Programozás alapjai Bevezetés

A szoftver minősége az elmúlt 15 év alatt szignifikánsan megnőtt. Oka:

minic studio Melinda Steel Weboldal kivitelezési árajánlat

Szoftvertechnológia ellenőrző kérdések 2005

Félévi követelmények. Gyakorlatvezetők

A TANTÁRGY ADATLAPJA

A projektvezetési eszköz implementációja hazai építő-, szerelőipari vállalkozásoknál

Információtartalom vázlata

Feladataink, kötelességeink, önkéntes és szabadidős tevékenységeink elvégzése, a közösségi életformák gyakorlása döntések sorozatából tevődik össze.

Szoftverminőségbiztosítás

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Hát én immár mit válasszak?

Biztonsági folyamatirányító. rendszerek szoftvere

A szoftverfejlesztés eszközei

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Szoftverfejlesztés I. Tömösközi Péter

TOGAF elemei a gyakorlatban

stratégiai kutatási terve

Designer képzés tematika oktatott modulok

Időkönyvelő Projektfeladat specifikáció

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Szoftver karbantartási lépések ellenőrzése

Okos gyógyszeres doboz Projektfeladat specifikáció

Nagy bonyolultságú rendszerek fejlesztőeszközei

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

Funkciópont elemzés: elmélet és gyakorlat

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján.

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Kiváló minôségû szolgáltatás, MKIK Védjegy. Az informatikai szolgáltatások tanúsítási követelményei

Azonnali fizetési rendszer megvalósítása

5. Témakör TARTALOMJEGYZÉK

Programrendszerek tanúsítása szoftverminőség mérése

Programzás I gyakorlat

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

Szoftver újrafelhasználás

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

4. A szoftvergyártás folyamata

Szoftvertechnológia 2008/2009. tanév 2. félév 1. óra. Szoftvertechnológia

MIÉRT KELL TESZTELNI?

ELTE Informatikai Kooperációs Kutatási és Oktatási Központ. Az ELTE-Soft KMOP / jelű pályázat zárórendezvénye

Software project management Áttekintés

Megfelelés a PSD2 szabályozásnak, RTS ajánlásokkal Electra openapi

A Bankok Bázel II megfelelésének informatikai validációja

Szoftverminőségbiztosítás

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

Ami a vízesésen túl van

Átírás:

Bevezetés a programozásba A szoftverfejlesztés folyamata PPKE-ITK

Tartalom A rendszer és a szoftver fogalma A szoftver, mint termék és készítésének jellegzetességei A szoftverkészítés fázisai: Az igények felmérése A követelmények specifikálása Szoftvertervezés Implementáció (programozás) Integráció, verifikáció, validáció A szoftver működtetése, karbantartása, továbbfejlesztése A szoftver minősége Fejlesztési stratégiák, csoportmunka PPKE-ITK Bevezetés a programozásba 1 / 2

Mi a rendszer és mi a szoftver? A szoftver csak valamilyen számítógépen képes működni. Működéséhez szükség van bemenő adatokra és az eredményt más rendszerek, vagy emberek használják fel. A rendszer a számítógép(ek), input/output eszközök, hálózatok és a rendszerrel kapcsolatba kerülő emberek (kezelők, operátorok, stb.), valamint a dokumentációk összessége. PPKE-ITK Bevezetés a programozásba 1 / 3

Mi a szoftver? A szoftver: Számítógépi programok és a hozzájuk tartozó dokumentációk összessége. (A gyakorlatban ide tartoznak a szakterületi ismeretek és azok dokumentációi is, amelyek alapján a szoftvert kifejlesztették.) A szoftver készülhet: Egy adott felhasználó egyedi megrendelésére, Piaci értékesítésre, sok felhasználó számára. A szoftver, mint termék lehet: Általános - sok, különböző felhasználó céljaira alkalmas, Egyedi - egyetlen felhasználó igényeit kiszolgáló. PPKE-ITK Bevezetés a programozásba 1 / 4

Miben különbözik a szoftver más termékektől? A mindennapi termék többnyire látható, megfogható, közismert fogalmak szerint értelmezhető tulajdonságai vannak. A szoftver nem látható, nem megfogható, jó esetben is csak hatását érzékelhetjük, tulajdonságai elvont fogalmak ismeretében értékelhetőek. Ezért a szoftver hiányosságait nehezebb felfedezni a tervezéskor, még működés közben is! PPKE-ITK Bevezetés a programozásba 1 / 5

Hagyományos termék és a szoftver Hagyományos termék Szoftver A hibák, tévedések nagy része hagyományos fogalmak szerint, már a tervben könnyen felismerhető. A terv egyszerűen egyeztethető a laikus felhasználóval is. A követelmények félreértéséből, következetlenségéből eredő hibák csak az implementáció után ismerhetők fel. A szoftver tervét csak informatikai képzettséggel rendelkező felhasználó érti meg. Személyi adatok Név: Cím: Bevitel PPKE-ITK Bevezetés a programozásba 1 / 6

Szoftvertechnológia A szoftver olyan termék, amely nem készül el határidőre, többe kerül, mint tervezték és legalábbis részben nem azt végzi, amit kellene. (csalódott felhasználó) A szoftvertechnológia (Software Engineering) a nagy rendszerek: követelményeinek megismerésére, a szoftver specifikálására, tervezésére és implementálására, dokumentálására, a csoportmunka szervezésére és a szoftver minőségének biztosítására szolgáló módszerekkel és eszközökkel foglalkozik. (hasonlítható az építészethez, amely az épületek tervezésétől a kivitelezéséig módszeresen átfogja, tervezi és szervezi a tevékenységeket) PPKE-ITK Bevezetés a programozásba 1 / 7

Mi a szoftverfolyamat? A szoftver termék előállítására irányuló tevékenységek sora. Az általános tevékenységek: Igényfelmérés: a felhasználó igényeinek, követelményeinek felmérése, rendszerezése. Specifikáció: a szoftver feladatainak és a megszorításoknak specifikációja. Tervezés és implementáció: a szoftver nagyvonalú és részletes tervének kidolgozása, programozás, egységtesztelés. Integráció: a szoftver részeinek összeállítása és tesztelése. Verifikáció, validáció: annak bizonyítása, hogy az elkészített szoftver a követelményeknek megfelelően működik. Evolúció: a szoftver karbantartása, továbbfejlesztése a változó igényeknek megfelelően. PPKE-ITK Bevezetés a programozásba 1 / 8

A követelmények felmérése A megrendelő (felhasználó) igényeinek megismerése, rendszerezése és specifikálása. (A legjobban megírt programot sem fogják használni, ha nem azt, és nem úgy csinálja, amit és ahogyan a felhasználó elvárja.) Szakterületi ismereteket igényel. (Meg kell érteni az adott szakma pl. könyvelés vagy raktárgazdálkodás feladatait.) Fontos a követelmények teljessége és következetessége. (Sok esetben csak a rendszer átadásakor derül ki, ha néhány követelményt kifelejtünk, vagy félreértünk.) A felhasználókkal a követelményeket prototípus segítségével ellenőriztethetjük. (Hasonló az épület makettjéhez, ami segít elképzelni az épület tömegét és elhelyezkedését, funkcióit.) PPKE-ITK Bevezetés a programozásba 1 / 9

Specifikáció A követelmények következetes és teljes leírása. A szoftver által megvalósítandó feladatok meghatározása és rendszerbe foglalása. (Azt tartalmazza, hogy mit csináljon a szoftver és nem azt, hogy hogyan) A követelmények folyamatosan változnak, ezért a specifikációnak is változtathatónak kell lennie. (Ez befolyásolja a szoftverfolyamat további fázisait is.) A szoftverrel szemben a követelmények változásának igénye sokkal gyakoribb, mint a hagyományos termékek esetében! (A megrendelő könnyen belátja, hogy egy épület alaprajza már nem változtatható, ha az alapozás elkészült.) A felhasználó számára a specifikációt prototípussal tehetjük érthetővé. (A természetes nyelv, amit a felhasználó könnyebben megértene, nem egyértelmű) PPKE-ITK Bevezetés a programozásba 1 / 10

Tervezés és implementáció A tervezés és implementáció a specifikáció futtatható programmá konvertálása. A szoftver tervezése: a szoftver és az adatok struktúrájának meghatározása, modellek készítése, a szoftverkomponensek közti kapcsolatok (interfészek) megtervezése, a komponensek tervezése, az adatszerkezet és az algoritmusok tervezése. Az implementáció a programozást és az egységteszteket jelenti. A tervezés és az implementáció a fejlett módszerek esetén iteratív tevékenység. (Egy épület részleteinek tervezése is gyakran párhuzamosan folyik a kivitelezéssel.) PPKE-ITK Bevezetés a programozásba 1 / 11

Integráció, verifikáció, validáció A szoftver részeinek összeillesztése, együttműködésük tesztelése és az elkészült szoftver beillesztése környezetébe, a környezeti kapcsolatok tesztelése. (Hardver konfiguráció, kapcsolatok más rendszerekkel, hálózati kapcsolatok, humán kapcsolatok, stb.) A tesztelésre számos stratégia létezik, választásuk az alkalmazott technológiától függ. A verifikáció annak ellenőrzése, hogy az elkészült szoftver a specifikációnak megfelelően működik. A validáció során ellenőrzik, hogy a szoftver teljesíti-e a minőségi és technológiai előírásokat. PPKE-ITK Bevezetés a programozásba 1 / 12

Evolúció Az alkalmazásba vett szoftvert használat közben változtatni kell: A használat közben felfedezett hibák javítása miatt, Új funkciók beépítése, vagy meglévő funkciók változtatása miatt, A környezet (hw/sw) változása miatt. A szoftvert már a tervezéskor fel kell készíteni a karbantartásra, továbbfejlesztésre. Csak a részletesen, jól dokumentált szoftver alkalmas a karbantartásra és a továbbfejlesztésre. A szoftver jövője nem függhet attól, hogy a fejlesztők emlékeznek-e még az évekkel korábbi döntések, megoldások indokaira. PPKE-ITK Bevezetés a programozásba 1 / 13

A szoftver költségei A hosszú élettartamú szoftver előállításának és karbantartásának költségei (80-as éveken) (Schach) Követelmények 2% Karbantartás 67% Specifikáció 5% Tervezés 6% Kódolás 5% Modulteszt 7% Integráció 8% PPKE-ITK Bevezetés a programozásba 1 / 14

Mi a CASE-eszköz? (Computer-Aided Software Engineering) A CASE-eszközök olyan szoftver rendszerek, amelyek a szoftver folyamat tevékenységeit támogatják, automatizálják. Általában konkrét módszerekhez kapcsolódnak. Magas szintű CASE-eszközök A szoftverfolyamat kezdeti lépéseit támogatják: elemzés, tervezés, modellezés, rendszer dokumentálás, jelentés-készítés, stb. Alacsony szintű CASE-eszközök A szoftverfejlesztés későbbi tevékenységeit támogatják, mint kódszerkesztés (kódgenerálás!), kódelemzés, nyomkövetés, tesztelés, stb. PPKE-ITK Bevezetés a programozásba 1 / 15

A jó szoftver tulajdonságai A jó szoftvernek a kívánt funkcionalitással és teljesítménnyel, a tervezett időre kell elkészülnie. Legyen: Karbantartható Alkalmazható legyen az igények folyamatos változásához. Üzembiztos Legyen megbízható biztonságos és védett. Összeomlása nem okozhat gazdasági károkat. Hatékony Optimálisan használja fel a rendszer erőforrásait. Jól használható Legyen könnyen megtanulható és jól dokumentált. PPKE-ITK Bevezetés a programozásba 1 / 16

Szoftverminőség A szoftver minőségét az jellemzi, hogy mennyire felel meg a specifikációjának és az általános szabályoknak. A szoftver minősége a szoftverfolyamat minőségétől függ, ezért annak szabályozásával javítható: Nemzetközi minőségbiztosítási szabványok alkalmazása, betartásuk ellenőrzése, A fejlesztő szervezet minőségi előírásai, minőségkultúrája. A szoftver minőségét és az előállító szervezet képességeit folyamatosan ellenőrizni és dokumentálni kell. PPKE-ITK Bevezetés a programozásba 1 / 17

Fejlesztési stratégiák A piac igénye a szoftverfolyamat felgyorsítása, a szoftver gyors piaci megjelenése érdekében: Gyors fejlődés, gyors avulás (pl. elektronikus üzletvitel..), Konkurencia (a versenytárs hamarabb megjelenik a konkurens termékkel). A fejlesztéskor olyan stratégiák alkalmazhatók, amelyek Lehetővé teszik a termék változtatását fejlesztés közben, Gyorsabbá teszik a szoftverfolyamatot (többnyire azonban a minőség rovására). A különböző célú szoftver fejlesztésekor különböző stratégiák alkalmazhatók (pl. kritikus rendszerek, adatfeldolgozó rendszerek, stb.) PPKE-ITK Bevezetés a programozásba 1 / 18

Csoportmunka A szoftverkészítés csoportmunka, a magányos programozó korszaka véget ért. A fejlesztés egyes fázisaiban különböző szakértelemre van szükség. Ezért a szoftverfolyamatot meg kell tervezni: Projekttervezés, szervezés, vezetés, A szoftver méretének és bonyolultságának előzetes becslése, A projekt dokumentációs és minőségi szabályainak kidolgozása, A fejlesztés előrehaladásának követése és dokumentálása. A projekt célja: A szoftver a tervezett határidőre, a tervezett költségkereten belül, a tervezett minőségben készüljön el, Ennek érdekében a szükséges tudásnak (szakemberek) és eszközöknek a megfelelő időben kell rendelkezésre állnia. PPKE-ITK Bevezetés a programozásba 1 / 19

A szoftvertervezés kihívásai A meglévő rendszerek A ma használt nagy rendszerek évekkel ezelőtt készültek. Ezek karbantartása, bővítése, frissítése nagy feladat. A heterogenitás A szoftvernek gyakran sokféle számítógépen, többféle környezetben (pl. különböző operációs rendszerek alatt), eltérő körülmények között kell működnie. A fejlesztés időtartama A minőségi szoftver kidolgozása hosszú ideig tart, amíg a piac a gyors bevezetést, rugalmas változathatóságot követeli. PPKE-ITK Bevezetés a programozásba 1 / 20

Összefoglalás A szoftverfejlesztés olyan összefüggő folyamat, amely az igény felmerülésétől a szoftver használatának utolsó pillanatáig tart (életciklus). A fejlesztési folyamat modelljeivel, módszereivel, eszközeivel a szoftvertechnológia foglalkozik. A szoftver minősége a fejlesztő szervezet és a szoftverfolyamat minőségétől függ. A piaci igények gyakran a minőségi munka elleni hatást fejtenek ki. A nagy szoftverek készítése nem magányos feladat, többféle szakértelmet, csoportmunkát, szervezést igényel. PPKE-ITK Bevezetés a programozásba 1 / 21