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



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

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

Bevezetés a programozásba

Ismeretanyag Záróvizsgára való felkészüléshez

Szoftver-technológia I.

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

Katasztrófavédelem informatikai rendszere ZNEBK104102

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

A folyamat közös fázisai. A szoftverfolyamat modelljei. A vízesésmodell fázis: követelmények elemzése és meghozása

30 MB INFORMATIKAI PROJEKTELLENŐR

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

Szoftverspecifikáció fázis: Követelmény specifikáció. 2. fázis: Követelmények feltárása és elemzése

Informatikai rendszerek fejlesztése

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

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

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Információtartalom vázlata

Szoftver újrafelhasználás

01. gyakorlat - Projektalapítás

Autóipari beágyazott rendszerek Dr. Balogh, András

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

S01-7 Komponens alapú szoftverfejlesztés 1

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

A szoftverfejlesztés eszközei

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

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

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

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

Tartalom Globális (eredő) rendszertulajdonságok Rendszertervezés Szervezetek, emberek és számítógépes rendszerek Legacy rendszerek

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

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

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

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

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

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

4. A szoftvergyártás folyamata

A TANTÁRGY ADATLAPJA

Statikus technikák: A szoftver átvizsgálása. Statikus technikák: A szoftver átvizsgálása

1. Bevezetés a szoftvertechnológiába

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

A TANTÁRGY ADATLAPJA

Szoftverfejlesztési folyamatok és szoftver minőségbiztosítás

Univerzális munkafolyamat szimulátor

Szoftverprototípus készítése

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

Szoftverminőségbiztosítás

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

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

Programtervező informatikus MSc nappali tagozat ajánlott tanterv 2018

KÉSZÍTETTE: DR. MILEFF PÉTER

Szoftvermenedzsment 4. fejezet A szoftverfolyamat

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

Programfejlesztési Modellek

A CMMI alapú szoftverfejlesztési folyamat

A követelm. vetelmény. analízis fázis. Az analízis fázis célja. fázis feladata

Szoftverfejlesztő képzés tematika oktatott modulok

Szaktanácsadói menedzsment (Extension Management)

A BIZTONSÁGINTEGRITÁS ÉS A BIZTONSÁGORIENTÁLT ALKALMAZÁSI FELTÉTELEK TELJESÍTÉSE A VASÚTI BIZTOSÍTÓBERENDEZÉSEK TERVEZÉSE ÉS LÉTREHOZÁSA SORÁN

Folyamatmenedzsment módszerek a projekt menedzsment eszköztárában

Web-programozó Web-programozó

SW-project management

TRL Hungary Kft. Cégismertető. TRL Hungary Kft.

HEFOP 4.4 Egészségügyi információtechnológiafejlesztés az elmaradott régiókban

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

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

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

Szoftverfejlesztés. (MSc) Miskolci Egyetem Általános Informatikai Tanszék MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

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

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

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

Szoftvertechnológia 2012/2013. tanév 1. félév. Szoftvertechnológia

Név: Neptun kód: Pontszám:

A szoftverfejlesztés eszközei

A TANTÁRGY ADATLAPJA

Új megközelítés az európai IT biztonságitudatosság növelésben

S01-8 Komponens alapú szoftverfejlesztés 2

J NEMZETGAZDASÁGI ÁG - INFORMÁCIÓ, KOMMUNIKÁCIÓ. 62 Információtechnológiai szolgáltatás Információtechnológiai szolgáltatás

ALKALMAZÁS KERETRENDSZER

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Szoftverminőségbiztosítás

Bevezetés a kvantum informatikába és kommunikációba Féléves házi feladat (2013/2014. tavasz)

Projectvezetők képességei

Soft. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Software minőség menedzsment. ftware minőség menedzsment

Az átállás tervezésének feladatai. Ugrás a mélyvízbe! avagy Felkészülés a rendszer átadására Raffai Mária, dr. A szervezet-átalakítás feladatai

MÉRŐ AUTOMATA RENDSZEREK

A-NET Consulting a komplex informatikai megoldásszállító

A szoftverfolyamat és s a tesztelés

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

A prototípus gyors, iteratív fejlesztése azért nagyon fontos, mert a költségek így ellenırizhetık.

Cloud Computing a gyakorlatban. Szabó Gyula (GDF) Benczúr András (ELTE) Molnár Bálint (ELTE)

PROJEKTMENEDZSERI ÉS PROJEKTELLENŐRI FELADATOK

PROGRAMTERVEZŐ INFORMATIKUS ALAPKÉPZÉSI SZAK

Szoftverfejlesztési modellek

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Visual Studio 2012 és MSDN. Csomagok és licencelés

INFORMATIKAI PROJEKTELLENŐR

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

Az xx. sorszámú Informatikai rendszergazda megnevezésű szakképesítés szakmai és vizsgakövetelménye I. AZ ORSZÁGOS KÉPZÉSI JEGYZÉKBEN SZEREPLŐ ADATOK

A dokumentáció felépítése

Átírás:

Bevezetés Mi a szoftver? Számítógép-programok és kapcsolódó dokumentációk, illetve konfigurációs adatok, amelyek elengedhetetlenek ahhoz, hogy ezek a programok helyesen működjenek. Szoftvertermékek fejleszthető k egyedi ügyfelek számára vagy akár általános piacra. Általános termékek: Ezek az egyedülálló rendszerek, amelyeket egy fejleszt ő szervezet készít és ad el a piacon bármely vevő nek, aki azt képes megvásárolni. Ezek a dobozos szoftverek. Pl. adatbáziskezelők, szövegszerkesztők, projektmenedzselési eszközök. Mi a szoftvertervezés? A szoftvertervezés mérnöki tudományág, mely a szoftvertermékek minden lehetséges aspektusát érinti a rendszerspecifikáció korai szakaszaitól a rendszerkarbantartáson át egészen a rendszer bevezetéséig. Elméleteket, módszereket és eszközöket alkalmaznak ott, ahol azok megfelelő ek. A mérnököknek azt is fel kell ismerniük, hogy szervezeti és pénzügyi megszorítások közt kell dolgozniuk, megkeresni a megoldást. 1

Mi a különbség a szoftvertervezés és a számítógép-tudomány között? A számítógép-tudomány elméletekkel és alaptételekkel foglalkozik, a szoftvertervezés pedig a használható szoftverek fejlesztésének és leszállításának gyakorlati aspektusait érinti. Mi a különbség a szoftvertervezés és a rendszertervezés között? A rendszertervezés a számítógép alapú rendszerek tervezésével foglalkozik, ide értve a hardver, a szoftver és a folyamatok tervezését. A szoftvertervezés ennek egy része. Mi a szoftverfolyamat? A szoftverfolyamat tevékenységek és kapcsolódó eredmények olyan halmaza, amely szoftverterméket állít el ő. Tevékenységek: 1. Szoftverspecifikáció: a szoftver működését és a mű ködésre vonatkozó megszorításokat kell definiálni. 2. Szoftverfejlesztés: A specifikáció szerint el kell készíteni a szoftvert. 3. Szoftvervalidáció: Validálni kell a szoftvert, hogy biztosítsuk azt, hogy azt készítettük el, amit a vásárló megrendelt. 4. Szoftverevolúció: Fejleszteni kell a szoftvert a vásárló igényeinek megfelelően. 2

Szoftvertervezői etikai és szakmai gyakorlati előírások ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices Számítógép alapú rendszerek tervezése A szoftvertervező knek ismerniük kell a rendszertervezést, mert a szoftvertervezés problémái gyakran rendszertervezési döntések eredményei. Rendszermodellezés A rendszer követelményeinek elemzési és a rendszer tervezési tevékenysége részeként a rendszert komponensek és a közöttük található kapcsolatok halmazaként kell modellezni. A rendszerarchitektúrát általában blokkdiagrammal ábrázoljuk, melyből leolvashatók a fő bb alrendszerek, illetve a köztük fennálló kapcsolatok. 3

1. Ábra. Pl. Egy légiforgalom-irányító rendszer felépítése 4

A rendszerarchitektúra tervezése funkcionális alrendszerenként is történhet. A funkcionális komponenseket osztályozhatjuk: 1. Érzékel ő komponensek: Információkat gyű jtenek a rendszer környezetéről. 2. Működtet ő komponensek: Változásokat okoznak a rendszer környezetében. 3. Számítási komponensek: Valamilyen adott inputon valamilyen számítási folyamatot hajtanak végre és valamilyen outputot állítanak el ő. 4. Kommunikációs komponensek: Feladatuk, hogy biztosítsák a kommunikációt más rendszerkomponensekkel. 5. Koordinációs komponensek: Feladatuk a többi komponens üzemeltetésének koordinációja. 6. Interfész komponensek: A különböz ő komponensek által használt ábrázolásmódokat transzformálják más komponensek által is értelmezhet ő formátumba. 5

A rendszerfejlesztés folyamata 2. Ábra A rendszerfejlesztés folyamata A rendszerkövetelmények meghatározása Feladat, hogy teljes egészében feltárja a rendszer követelményeit. A folyamat az ügyféllel, illetve a végfelhasználókkal történő konzultációt is magába foglalja. 3 fázis: 1. Absztrakt funkcionális követelmények: A rendszer által szolgáltatandó alapfunkciók absztrakt szinten definiáltak. 2. Rendszertulajdonságok: Olyan tulajdonságokat foglalnak magukba, mint az elérhetőség, a teljesítmény, a biztonságosság stb. 3. Megmutatott jellemző k: Néha ugyanolyan fontos definiálni, mi az, amit a rendszernek nem kell megcsinálni, mint azt, hogy mit kell megtennie. 6

A rendszer tervezése A rendszer tervezése azzal foglalkozik, hogyan lehet biztosítani a rendszer funkcionalitását különböz ő komponensek segítségével. Ehhez a folyamathoz a következ ő tevékenységek tartoznak: 3. Ábra A rendszertervezés folyamata Rendszerintegráció A rendszerintegráció nem más, mint az egymástól függetlenül fejlesztett alrendszerek összeillesztése, hogy teljes rendszert alkossanak. A rendszer telepítése A rendszer telepítése azt jelenti, hogy a rendszert abba a környezetbe kell helyezni, amelyben működnie kell. Ez látszólag egyszerű folyamatnak tűnik, ugyanakkor számos probléma léphet föl közben. 7

A rendszer evolúciója A nagy és összetett rendszerek nagyon hosszú élettartamúak. Az életük alatt fel kel ismerniük az eredeti rendszer követelményeinek hibáit, és megfelelni a felmerül ő új követelményeknek. A rendszer evolúciója költséges. A rendszerek üzemen kívül helyezése A rendszerek üzemen kívül helyezés nem más, mint hasznos élettartamuk után kivonni azokat a forgalomból, felfüggeszteni az általuk nyújtott szolgáltatásokat. A rendszer beszerzése A rendszer beszerzésének folyamata magába foglalja a rendszer meghatározását, a szükséges tervezetek elő készítését, a beszállítók kiválasztását, illetve a rendszerhez kapcsolódó szerző dések megkötését. Általában a nagy számítógép alapú rendszerek bizonyos részei lehetnek kulcsrakész piaci komponensek is. 8

Egy programfejlesztés alapvetően a következ ő lépésekből áll: Igények elemzése: miért van szükség a rendszerre megvalósíthatóság tanulmányozása rendszerrel szembeni követelmények megfogalmazása Specifikáció: a rendszer mű ködésének, környezetének és korlátainak pontos leírása Nagyvonalú tervezés: a rendszer modulokra bontása, esetleg lehető vé téve az egyes részek egyidej ű fejlesztését Részletes tervezés a modulok megtervezése, az adatstruktúrák és algoritmusok megválasztása Implementáció a megtervezett algoritmusok megvalósítása valamilyen programozási nyelven Egységek tesztelése a modulok önmagukban helyesen működnek-e Integrációs teszt a modulokból összeállított teszt program jól működik-e Rendszer teszt az összeállított program a specifikációnak megfelelő en működik-e Elfogadási teszt az elkészített rendszer kielégíti-e a vele szemben támasztott követelményeket Üzemeltetés, karbantartás esetleges hibákból adódó változtatások pótlólagos követelmények jobb algoritmusok a régiek helyett 9

Mivel foglalkozunk a félév során Projektmenedzsment Az emberek menedzselése A szoftver költségeinek becslése A minőség kezelése, A szoftverfejlesztés minőségmenedzsmentje A munkahely ergonómiája A szoftver-ergonómia tárgya Tervezési és vizsgálati módszerek Elvek és ajánlások A minimalista kézikönyv Szabványok, direktívák, törvények. Az ISO 9000 A szoftverfejlesztés és az ISO Az ISO szabványcsaládok szoftverfejlesztésre vonatkozó pontjainak áttekintése 10

Ajánlott irodalom M. Helander: Handbook of Human-Computer Interaction North- Holland (1990) A. Dix, J. Finlay, G. Abowd, R. Beale: Human-Computer Interaction Prentice Hall (1997) I. Sommerville: Szoftverrendszerek fejlesztése Panem (2002) E. Denerth: Software-engineering Methodische Projektabwicklung Springer Verlag (1991) F. Lehner: Softwareartung - Management, Organization und Methodische Unterstützung Hanser (1991) G. Myers: The Art of Software Testing John Wiley & Sons (1979) I. Sommerville: Software Engineering Addison-Wesley (1992) E. Denerth: Software Engineering Springer Verlag (1992) R. S. Pressman: Software Engineering Osborne McGraw-Hill (1992) 11