Rendszertervezés1

Download Report

Transcript Rendszertervezés1

Rendszertervezés
•Alapfogalmak; Az informatikai rendszer
•A szoftver mint termék, szoftverkrízis
•A szoftvergyártás lépései
•A szoftverfejlesztés modellezésének alapjai
•Elterjedt szoftver fejlesztési modellek
•Kitekintés
Alapfogalmak
Információ:hír, üzenet melytől ismereteink bővülnek
Számítástechnikai információ: binárisan kódolt
utasítás vagy adat
Informatikai
Bináris kód: két elemű kód, melyekkel digitális
rendszer
áramköröket lehet
működtetni. Szokásos jelölés:0;1
Bit: a bináris kód egy eleme,
? az információ egysége
Byte: 8 bites információ egység
Nagymennyiségű információ leírása prefixumokkal:
k=*210;
M=*220;
G=*230;
T=*240 ....
Alapfogalmak
PROGRAM
utasítás vagy adat
Informatikai
digitális áramkörök
rendszer
ADATOK
?
HERDVER:
az áramkörök
SZOFTVER:
Programok, adatok,
dokumentáció
Informatikai rendszer:
- Hardver
- Szoftver
- programok
- adatok
- dokumentáció
Informatikai rendszer: tervezése(fejlesztése)
Szoftver tervezés
meghatározza
a Hardver-t
Informatikai rendszer összes költsége
100%
1. a programok
bonyolultsága és az adatok
90%
mennyisége (szoftver) alapvetően meghatározza
Hardver
a szükséges erőforrásokat
(hardvert)
?
Szoftver
2. a szoftver/hardver árarány változása a szoftver
10%
tervezés fejlesztését igényli!!!
1960
2010
időpont
Informatikai rendszer: tervezése(fejlesztése)
Szoftver tervezés
meghatározza
System engineering
Software engineering
Information technology
a Hardver-t
Programok típusai
Alapszoftver
operációs rendszer
program nyelvek
segédprogramok
Alkalmazói szoftver
általános célú
speciális
Informatikai rendszer:
alkalmazói programok
alap programok
Hardver
System engineering
Software engineering
Information technology
Information technology:
Technológia: tudományos ismeretek alkalmazásával történő gazdaságos
gyártási eljárás
Lépései: Követelmény feltárás
hagyományos termék
szoftver termék
Tervezés
hiba arány
hiba arány
Fizikai
megvalósítás
kezdeti
hiányosságok
Ellenőrzés
kopás
kezdeti
hiányosságok
ÉLETCIKLUS
NEM KOPIK, DE ELAVUL
idő
Lépései: Követelmény feltárás
Könnyen módosítható szoftvert
Tervezés
hiba arány
kezdeti
hiányosságok
idő
Módosítások
kell
gyártani
Megvalósítás
Ellenőrzés
Követés
idő
Szoftver krízis tünetei: költségek alakulása
Követelmény feltárás
Tervezés
1/3
2/3
követés
a többi
1/2
tervezés
Megvalósítás
ellenőrzés
Ellenőrzés
megval.
Követés
2% rögtön jó
3% javítás után jó
javítás
2/3
tovább adaptálás
fejlesztés
30%
soha nem ment
DE KIFIZETTÉK
20% alapos
átdolgozás
után jó
45%
soha nem ment
rendesen
Szoftver krízis
OKOK:
- gyenge hardver
- gyenge fejlesztői környezet
- monolitikus programozás
* nem becsülhető előre a hardver igény
* nem becsülhető a határidő
* körülményes a team-munka
* nem becsülhető a tesztelési idő
* nincs teljes körű teszt (béta verzió)
* szinte lehetetlen a program módosítása
* a program minősége a programozó
....szakmai tudásától függ CSAK
KÖVETELMÉNYEK:
- minimális futási idő
- minimális tárhely
- felhasználó-barát felület
- feltétlen megbízhatóság
- könnyű karbantarthatóság
- egyszerű továbbfejlesztés
- gyors, olcsó kivitelezés
- határidők betartása
- egyéntől független
programozás
Szoftver fejlesztés modellezése
Probléma-tér
Implementációs-tér
Fogalmi modell
Tervezés
Modellezés
Implementációs
modell
Implementáció
Követelmények
Lehetséges
rendszerek
Működő
rendszerek
Megvalósított
rendszer
Modellezés
Valós világ
Szoftvertechnológia lépései, szakkifejezései
analízis (specifikáció, követelmény feltárás)
tervezés ( modellezés, absztrakció és dekompozíció)
a szoftver
implementálás (megvalósítás, kódolás)
életciklusa
tesztelés (ellenőrzés, validáció)
követés (továbbfejlesztés, evolúció)
Absztrakt
Elvont
Fogalmi
Impl.
modell
modell
Megfelelés
Dekompozíció
finomítás
Absztrakció
Konkrét
tervezés
Dekompozíció
finomítás
Absztrakció
Releváns
tartomány
A tervezés alapesetei
top-down
2
1
bottom-up
Semmi biztosíték
nincs, hogy a fogalmi
és az
3 implementációs
1
rendszer megfelel
egymásnak
javítás
1
2
n
3
2
Szoftvertervezési modellek: vízesés modell
specifikáció,
köv. feltárás
rendszer és
szoftverterv
Előnye: jól áttekinthető, a
feladatok szétoszthatók,
implementáció
időben tervezhető
és egységteszt
Hátránya: minél később
integrációderül
és
ki a probléma,rendszerteszt
annál
bonyolultabb meghatározni,
hogy hol volt a hiba. Ha a
specifikáció a hibás az
- alapeset szerint: top-down
modell miatt drága.
újratervezés
működtetés és
karbantartás
-a modell életciklus követés részét nem
tartalmazza
Szoftvertervezési modellek: evolúciós modell
(prototípus modell)
START
STOP
Finomítás?
validáció
Előnye: a folyamatos
Specifikáció
ellenőrzéssel
a nagyobb
tévedések elkerülhetők.
gyors tervezés
Hátránya: tökéletes
szoftver
nincs; hogy meddig vállaljuk a
prototípus
finomítást azt a döntést a
modell nem tartalmazza
prototípus
n. verzió
2. verzió
3. verzió
Szoftvertervezési modellek: spirális modell
Specifikáció
Kockázat
elemzés
tervezés
finomítás
ellenőrzés
validáció
Előnye: költséghatékony.
Hátránya: a benne alkalmazott
előző modellek hiányosságai,
benne maradnak a
rendszerben
go?
no-go?
adott verzió
imlementáció
Az egyes szakaszokban az eddigi modellek használhatók
Szoftvertervezési modellek: újrafelhasználás
orientált modell
specifikáció,
köv. feltárás
komponensekre
bontás
meglévő elemek
vizsgálata
Előnye: költséghatékony,
időtakarékos
Követelmény
módosítás
Integrálás,
implementáció
Hátránya: nem minden esetben
Rendszer
használható, a követés csakvalidáció
nehézkesen valósítható meg
-a meglévő, módosítható (freeware) programokból hozzuk
létre az ígényeknek megfelelőt
-bottom-up alapmodell
A konkrét szoftvertervezés kiegészítő
tevékenységei:
Szoftvermenedzsment
A szoftver mint projekt:
-időtervezés
-erőforrás-tervezés
-költségtervezés
-kockázatelemzés
Minőségbiztosítás
ISO 9000-3 (ISO 91)
International Organization for
Standardization
Tanusítvány!!
Elemek:
-minőségellenőrzés minden
fázisban
- dokumentációk
-karbantartás és szerviz
tevékenység
- jogi keretek, felelősség