Informatika | Hardver- és szoftver specifikációk » Ficsor Lajos - Software engineering

Alapadatok

Év, oldalszám:2002, 43 oldal

Nyelv:magyar

Letöltések száma:105

Feltöltve:2009. szeptember 25.

Méret:118 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

Software engineering (Software techológia) Bevezetés, alapfogalmak Ficsor Lajos SWENGBEV / 1 Történelem 1. 60-as évek Megoldandó problémák: egyedi problémákra kis programok Fejlesztÿ: Speciális tudású személy (kutató) Eszköz: assemler, memória térkép Módszer: nincs Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 2 Történelem 2. a software krízis (1960. évek vége) zuhanó hardware árak növekvÿ hardware teljesítmény növekvÿ igény a software-ekre software költségeinek ugrásszer növekedése a software minÿsége nem megfelelÿ. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 3 Történelem 3. 70-es évek Megoldandó problémák: Visszatérÿ problémák Nagy, monolitikus programok Nincs (vagy korlátozott) interaktivitás Fejlesztÿ: speciális szaktudású szakember esetleg informális csoportok Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 4 Történelem 4. 70-es évek (folyt) Eszköz:

editor – compiler – linker, kezdetleges debugger elsÿ generációs. majd strukturált programnyelvek célnyelvek (pl. report generator) egyedi adatkezelés Módszer: algoritmusok, adatszerkezetek kutatása strukturált, majd moduláris programozás Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 5 Történelem 5. 80-es évek Megoldandó problémák: nagyméret , folyamatosan m ködÿ, nagy megbízhatóságot követelÿ programok Egyre bonyolultabbá váló felhasználói felületek Nagy mennyiség adatok, tranzakció szemlélet feldolgozás Adatok tárolási és feldolgozási struktúrája elválik Hálózat megjelenése Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 6 Történelem 6. Fejlesztÿ: csoportmunka igénye szakmán belüli specializálódás Management problémák megjelenése Eszköz: fejlesztÿi környezetek korai CASE rendszerek adatbázis kezelÿ rendszerek Módszer: kezdeti módszertanok - dekompozíció Ficsor Lajos Software

engineering (Bevezetés) SWENGBEV / 7 Történelem 7. 90-es évek Megoldandó problémák: hálózat és internet széles kör vé válása elosztott rendszerek igénye információk változatos megjelenési formája fejlesztési cilus idejének rövidülése (üzleti nyomás a folyamatos továbbfejlesztésre) nyílt, hozdozható sÿt plattform független megoldások igénye minÿségbiztosítás igénye Fejlesztÿ: csoportmunka, sokszor térben elosztva Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 8 Történelem 8. Eszköz: integrált, csoportmunkát támogató fejlesztÿ környezetek szélessávú CASE rendszerek keretrendszerek software management támogatása Módszer: Objektum orientált technológia Szabványok (X, Corba, DCOM, Java RMI) Komponens alapú programozás kutatások további technológiai fejlesztésekre Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 9 Mi a software? TERMÉK!!!! De . Ficsor Lajos Software engineering

(Bevezetés) SWENGBEV / 10 A software speciális tulajdonságai nem anyagi jelleg másolat = eredeti használat miatt nem igényel karbantartást nincs sorozatgyártás tükröznie kell a valóságot Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 11 A software speciális tulajdonságai (folytatás) komplexitása nagyobb bármely m szaki terméknél viselkedése nem folytonos hibák elÿzetes jelek nélkül alkalmazkodás a külsÿ környezethez Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 12 A software engineering definíciói 1. Az egyszer : Eszközök és módszerek a szoftver termékszer elÿállítására Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 13 A software engineering definíciói 2. A klasszikus (Boehm, 1976): The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them. Ficsor Lajos

Software engineering (Bevezetés) SWENGBEV / 14 A software engineering definíciói 2. Magyarul: Tudományos ismeretek gyakorlati alkalmazása számítógépes programok és a fejlesztésükhöz, használatukhoz és karbantartásukhoz szükséges dokumentációk tervezésében és elÿállításában. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 15 A software engineering definíciói 3. A hivatalos (IEEE, 1983): The technological and managerial discipline concerned with systematic production and maintenance of software products that are develop and modified on time and within cost estimated. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 16 A software engineering definíciói 4. Magyarul: Technológiai és vezetési alapelvek, amelyek lehetÿvé teszik programok termékszer gyártását és karbantartását a költség- és határidÿ korlátok betartásával. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 17 A szoftver

fejlesztés fázisai 1. 1.Követelmény analízis Mit is kellene csinálni? Mikorra, és mennyiért? Kikkel? 2.Specifikáció Mit kell csinálni? Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 18 A szoftver fejlesztés fázisai 2. 3.Tervezés Hogyan kell megcsinálni? 4.Implementáció Na, akkor csináljuk!! 5.Installáció és tesztelés Mit m veltünk? Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 19 A szoftver fejlesztés fázisai 3. 6. Karbantartás Ha elszúrtad, javítsd is ki! Aki elszúrta, azóta már fÿnök - TE javítsd ki! Ha pedig a rendszer hibátlan(nak látszik) - Az Úr (a felhasználó) szava : igazából nem is ez kellene, hanem . azt pedig nem úgy értettem, hanem. ha már ezt tudja, tudhatná azt is, hogy. újabban ezt már nem is így kell csinálni, hanem. Azaz: esmétlés onnan, hogy . Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 20 Software életciklus modellek Az egyes fejlesztési fázisok viszonya

egymáshoz Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 21 Klasszikus ("waterfall") 1. Boehm, 1976 Analízis Specifikáció Tervezés Implem. Tesztelés Használat Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 22 Klasszikus ("waterfall") 2. Jellemzÿi: technikai problémának tekinti a fejlesztést nem foglalkozik a kommunikációs problémákkal visszacsatolás túl késÿn lehetséges hol a helye a karbantartásnak? Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 23 Gyors prototípus (rapid prototyping) 1. Analízis Specifikáció ^ Tervezés Implem. V Tesztelés Prototípus Ficsor Lajos > Software engineering (Bevezetés) Használat SWENGBEV / 24 Gyors prototípus (rapid prototyping) 2. Jellemzÿi: segíti a fejlesztÿ és a felhasználó kummunikációját fÿleg kisebb csoportoknál vált be Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 25 Inkrementális 1. Analízis

Specifikáció Specifikáció Tervezés Implem. Tervezés Specifikáció Tesztelés Implem. Tervezés Tesztelés Implem. Tesztelés Használat Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 26 Inkrementális 2. Jellemzÿi: az eredeti célhoz egyre közelebb álló rendszerek sorozata minden rendszer átmegy legalább a tervezés implementálás - tesztelés fázisokon Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 27 Újrafelhasználás 1. Analízis Specifikáció Tervezés Implem. Kész elemek Kész elemek Tesztelés Kész elemek Használat Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 28 Újrafelhasználás 2. Jellemzÿi: ez alulról felfelé építkezÿ modell (bottom - up) gyors módszer, ha van elég "építÿanyag" a hatékonyság a szükséges helyeken utólag javítható pl. komponens-alapú programozás Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 29 Very High Level Languages 1.

Analízis Specifikáció Fejlesztõeszköz Tervezés és implementáció Tesztelés Használat Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 30 Very High Level Languages 2. (nem-procedurális nyelvek, alkalmazásgenerátorok) Jellemzÿi: a fejlesztÿeszköz számára le kell írni, hogy MIT csináljon - a többi az eszköz dolga általában jól körülhatárolt területekre (pl. FOCUS, Oracle, Magic - AB alk.) esetleg hatékonysági problémák Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 31 Spirál-modell (Boehm, 1988) 1. Célok, alternatívák Alternatívák keértékelése, kockázat elemzés (Prototípus) gyártás, Új ciklus Ficsor Lajos tesztelés Software engineering (Bevezetés) SWENGBEV / 32 Spirál-modell (Boehm, 1988) 2. Jellemzÿi: valamennyi fázis ciklikusan ismétlÿdik minden (rész)megoldást ki kell értékelni elemezni kell az adott megoldás kockázatát ha a kockázat kisebb, mint a várható haszon, újabb ciklus

kezdÿdhet Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 33 Eszközkészlet Módszer (Methodology) Technika (Technique) Eszköz (Tool) Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 34 Módszer Technika Technika Eszköz Eszközkészlet Módszer Technika Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 35 Módszerek és a software engineering Módszer (methodology): tudás (tapasztalat) + ajánlott technikák A jó módszer jellemzÿi: hatékony racionális: tudományos alapok, amelyeket a gyakorlat igazol konzisztens az egyes fázisokban Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 36 A jó módszer jellemzÿi: (folytatás) teljes: minden fázisra ajánl megoldást ismételhetÿ: személytÿl független, jól definiált, megtanulható automatizálható (és automatizált) Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 37 Techikák Az egyes részfolyamatok segítésére. Célja: információk

rögzítése (egyértelm ség!) kapcsolatok rögzítése ellentmondások kisz rése Leggyakrabban grafikus. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 38 Eszközök Programok, amelyek támogatnak módszer(eke)t technikákat dokumentáció készítést. Jellemzÿje az integráltság szintje és a támogatott fázisok száma. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 39 A dekompozíció Alapprobléma: a software komplexitása Megoldás reménye: részek összege < az egész Dekompozíció: a teljes software módszeres részekre bontása. Egy módszer meghatározza a dekompozíció elveit. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 40 Dekompozíció funkcionális szemléletben Program = adatszerkezetek + algoritmusok Dekompozíció alapja: adat vagy process Dekompozíció módja: felülrÿl lefelé (top - down) alulról felfelé (bottom - up) Modulok között kommunikáció szükséges => belsÿ interface Ficsor

Lajos Software engineering (Bevezetés) SWENGBEV / 41 Dekompozíció funkcionális szemléletben (folytatás) Dualitás elve: Modul Processz alapú (Algoritmus) Adat alapú (adatszerkezet) Interface Adatszerkezet Algoritmus Több lépés szükséges => absztrakciós szintek! Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 42 Dekompozíció objektum orientált szemléletben Program = együttm ködÿ objektumok halmaza Struktúra: osztályok/objektumok közötti kapcsolatok M ködés: üzenetváltás A modulok egysége az osztály. Ficsor Lajos Software engineering (Bevezetés) SWENGBEV / 43