1. ISO 9001 a SW-fejlesztésben
Az MSZ EN ISO 9001:2001 követelményeinek
értelmezése a szoftverfejlesztés folyamataira
2. Tartalom
Egy-egy termelı és „szoftver-gyártó” üzem
mőködésének összevetése
A szoftverfejlesztési projektekrıl (szervezet, fıbb
lépések)
A szoftverfejlesztési fázisok fı tevékenységei, elvárt
eredményei és kapcsolódó feljegyzései
Ellenırzések a szoftverfejlesztésben: review-k és
tesztelés
A hibajavítás életciklusa
Konfiguráció menedzselés
Biztonsági kérdések – Kapcsolódó szabványok
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 2
3. Egy termelı üzem felépítése és mőködése
A
marketing
szerepe Beszerzés
karbantartó részleg
tervezés gyártósor raktár végszerelde
Szerviz részleg
marketing Ügyfélszolgálat / Értékesítés
piac
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 3
Ügyfél
4. Egy termelı üzem felépítése és mőködése
Az érték-
teremtı
Beszerzés
lánc karbantartó részleg
tervezés gyártósor raktár végszerelde
Szerviz részleg
marketing Ügyfélszolgálat / Értékesítés
kiszállítás
megrendelés
piac
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 4
Ügyfél
5. Egy termelı üzem felépítése és mőködése
Bejövı áru
Ellenırzési ellenırzés
pontok
Beszerzés Végtermék
karbantartó részleg ellenırzés
tervezés gyártósor raktár végszerelde
Gyártásközi
ellenırzés Szerviz részleg
marketing Ügyfélszolgálat / Értékesítés
kiszállítás
megrendelés
piac
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 5
Ügyfél
6. Egy termelı üzem felépítése és mőködése
Bejövı áru
Ügyfél- ellenırzés
szolgálat,
Beszerzés Végtermék
termék- karbantartó részleg ellenırzés
karbantartás
tervezés gyártósor raktár végszerelde
Gyártásközi
ellenırzés Szerviz részleg
marketing Ügyfélszolgálat / Értékesítés
kiszállítás
reklamáció
megrendelés
piac
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 6
Ügyfél
7. Egy szoftvergyártó üzem felépítése és
mőködése
OEM
A karbantartó részleg (IT)
marketing
szerepe
tervezés gyártósor modulraktár CM, végszerelde
termék-karbantartás (support)
marketing ügyfélszolgálat (értékesítés)
piac
Ügyfél
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 7
8. Egy szoftvergyártó üzem felépítése és
mőködése
OEM
Az érték- karbantartó részleg (IT)
teremtı
lánc
tervezés gyártósor modulraktár CM, végszerelde
termék-karbantartás (support)
marketing ügyfélszolgálat (értékesítés)
kiszállítás
megrendelés
piac
Ügyfél
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 8
9. Egy szoftvergyártó üzem felépítése és
mőködése
integrációs teszt
OEM
Ellenırzési karbantartó részleg (IT) rendszerteszt
pontok
tervezés gyártósor modulraktár CM, végszerelde
termék-karbantartás (support)
komponensteszt
marketing ügyfélszolgálat (értékesítés)
kiszállítás
reklamáció átvételi
megrendelés teszt
piac
Ügyfél
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 9
10. Egy szoftvergyártó üzem felépítése és
mőködése
integrációs teszt
OEM
Ügyfél- karbantartó részleg (IT) rendszerteszt
szolgálat,
termék-
karbantartás tervezés gyártósor modulraktár CM, végszerelde
termék-karbantartás (support)
komponensteszt
marketing ügyfélszolgálat (értékesítés)
kiszállítás
reklamáció átvételi
megrendelés teszt
piac
Ügyfél
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 10
11. Projekt szereplıi (projektteam)
Minıségbiztosítási
felelıs
Projekt vezetı
Asszistens/
dokumentátor
Konfiguráció
Fejlesztık
menedzsment Tesztelık
felelıs
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 11
12. A szoftver-projektek szakaszai
Kezdeményezés
Kezdeményezés
Definíció
Projekt Tervezés
igen
döntés Megvalósítás
nem Bevezetés (üzembe helyezés)
(üzembe helyezés)
Lezárás
Lezárás
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 12
13. A (szakmai) projekt mag
A klasszikus részfeladat felosztás a projekteknél
döntés,
döntés, átadás,
átadás,
analízis
analízis lezárás
lezárás
tervezés
tervezés ellenırzés
ellenırzés
végrehajtás
végrehajtás
Más megfogalmazások:
inicializálás fejlesztés gyártás teszt kiszállítás
elıkészítés tervezés kivitelezés végellenırzés bevezetés
7.2, 7.1 7.1, 7.3 7.3, 7.5 8.2.4, 8.3 7.5 Szabvány-
fejezet
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 13
14. Audit vizsgálatának tárgya - kategorizálás
Technikai Projektvezetési Minıségbiztosítás
kenység
Technikai Projektvezetési Minıségbiztosítási
Tevékenységek, Tevékenységek, Tevékenységek,
Tevé-
Folyamatok Folyamatok Folyamatok
Technikai Projektvezetési Minıségbiztosítási
Eredmények Eredmények Eredmények
mény
Ered-
Technikai Projektvezetési Minıségbiztosítási
Feljegy-
Feljegyzések Feljegyzések Feljegyzések
zés
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 14
15. Kezdeményezési fázis
Tevékenység Eredmény Feljegyzés ISO
Tenderkiírás / ajánlatkérés Döntés a Technikai 7.2
megvalósíthatóságának továbblépésrıl feljegyzések
(technikai) vizsgálata
Erıforrás-becslés Becsült Számítások 7.2
Durva projekttervezés ráfordítás-igény feljegyzései, 7.1
(erıforrások felhasználási Durva projektterv alapadatok,
terve, megvalósítási (mibe ugrunk bele, egyeztetések
idıterv, kockázatok, ha …) jegyzıkönyvei, …
pénzügyi, …) Ajánlat Ajánlatot készítı és
Ajánlat elkészítése, ellenırzı aláírásai 7.2
ellenırzése, kiküldése legalább
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 15
16. Definíciós fázis (funkcionalitás tervezése)
Tevékenység Eredmény Feljegyzés ISO
Az ügyfél Specifikáció, ami a Specifikáció 7.3
követelményei termék minden ellenırzésének
alapján a termék funkcionalitását, (review-jának)
funkcionalitásának szolgáltatását feljegyzései, ami
részletes részletesen leírja igazolja mind a
tervezése, és Tesztelési terv, ami validálást, mind a
annak ellenırzése tartalmazza a teszt- verifikálást.
stratégiát, Tesztelési terv 7.1.c
A tesztelés teszteseteket, és a ellenırzésének
megtervezése lefolytatás körül- feljegyzései, …
ményeit, elfogadási
kritériumokat, …
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 16
17. Tervezési fázis (design tervezése)
Tevékenység Eredmény Feljegyzés ISO
A termék Specifikáció, amely Specifikáció 7.1
struktúrájának, részletesen tartalmazza ellenırzésének
mőködési a termék struktúráját, (review-jának)
„algoritmusának” belsı felépítését, feljegyzései, ami
megtervezése, és mőködési elvét, igazolja mind a
annak ellenırzése valamint a validálást, mind a
megvalósítási verifikálást.
eszközöket és Konfiguráció 7.5.3
lépéseket menedzsment terv
A konfiguráció
menedzsment Konfiguráció ellenırzésének
rendszer menedzsment terv (és feljegyzései, …
megtervezése rendszer és eszköz)
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 17
18. Megvalósítási fázis
Tevékenység Eredmény Feljegyzés ISO
Implementálás Ellenırzött és (SW-)Technikai 7.5.1
Kódolás jóváhagyott: feljegyzések, 7.5.3
Modulteszt végrehajtása termék specifikációk 8.2.4
Dokumentáció elkészítése termék- Aktualizált tervek 8.3
Illesztés meglévı (vásárolt vagy dokumen- (projekt terv,
újra felhasznált) modulokhoz táció minıségterv, CM-
Integráció és tesztelés terv, tesztelési terv)
Termék
Integráció, önálló termék- bevezetési CM rendszer
komponensek összeállítása bejegyzései,
terv
Integrációs teszt végrehajtása tesztelési
Produkció (release) legyártása jegyzıkönyvek,
Rendszerteszt végrehajtása hibák életciklus
dokumentációja, …
Átadás elıkészítése
CM = konfiguráció menedzsment
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 18
19. Bevezetési fázis (üzembe helyezés)
Tevékenység Eredmény Feljegyzés ISO
Próbaüzem (pilotálás) Bevezetett, Próbaüzemi és 7.5.1
átadott és átadási tesztek 7.5.3
Éles-üzembe helyezés mőködı termék tervei és 7.5.4
jegyzıkönyvei
8.2.4
Átadás-átvételi
Éles-üzemi karbantartás jegyzıkönyv 8.3
Termék használatának Karbantartási
támogatása megállapodás és
Hibajavítás tervek
Változások kezelése
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 19
20. Lezárási fázis
Tevékenység Eredmény Feljegyzés ISO
Projektek lezáró Projektzáró jelentés (értékelések, 4.2.4
értékelése statisztikák, tapasztalatok) 8.4
8.5
Projektdokumentumo Lezárt projektmappa
k archiválása
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 20
21. A SW-fejlesztés ellenırzései
A SW-fejlesztés életciklus során a résztermékek megfelelıségét
mérni (ellenırizni) kell! (8.2.4-es szabványpont)
Résztermékek Ellenırzési
módszer
Ajánlat, szerzıdés
Projekttervek (inc. minıségtervek, CM-tervek, Review
tesztelési tervek, …)
Ügyfél igények (dokumentum
Specifikációk (funkcionalitás specifikáció, design szemle)
specifikáció, ..)
Forráskód
Termék leírás
Lefordított modulok, komponensek Tesztelés
Teljes futtatható termék
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 21
22. A review (magyarul: szemle) fogalma,
tárgya, célja
A review fogalma: szisztematikus, kritikus, dokumentált
ellenırzési eljárás.
A review tárgya: dokumentum (= adathordozón rögzített
információ)
termék-dokumentum (pl. forrás kód, felhasználói kézikönyv, ...)
kísérı- v. munka-dokumentum (pl. ‘Functional specification’, vagy
teszt-terv, ...)
külön értelmezünk a „kód review”-t és a „dokumentum review”-t.
A review célja: hibát találni, (és nem bőnbakot) ...
... magában a dokumentumban, illetve
... abban az eljárás-specifikációban, aminek alapján készítették.
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 22
23. A review haszna
A hibás megvalósítás korai felismerése, mind ...
... a validálás, mind ( ez az, ami kell ? )
... a verifikálás tekintetében ( ilyennek kell ennek lenni ? )
Olyan hiányosságok megtalálása, amelyek a teszt
(üzemeltetés) során nem jönnének elı, csak a
karbantartásnál vagy a továbbfejlesztésnél, pl. :
rosszul strukturált, bonyolultan felépített, nehezen átlátható kód,
rosszul dokumentált programrész, rosszul kommentált forráskód.
„Bizonylatolt” minıségbiztosítási eljárás (ISO 9001),
amivel a termék minıségét igazolni tudjuk, és aminek alapján
tovább lehet javítani magát a fejlesztési eljárást is.
A know-how elterjesztése, tapasztalatcsere, egységes
szemlélet, ...
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 23
24. A teszt fogalma, célja
A tesztelés fogalma:
egy (vagy több) futtatható állapotban levı szoftver komponens
meghatározott feltételek mellett (adat, esemény) történı futtatása,
és a mőködés eredményének értékelése (elvárt viselkedésnek
megfelel vagy nem).
A tesztelés célja:
egy rendszer-komponens (szükséges mértékig) hibátlan állapotának
igazolása
egy „tesztelhetı objektum” létrehozása, amivel különféle vizsgálat
végezhetı
az elvárt rendszertulajdonságoktól való eltérés (nagyságának)
kimutatása
a rendszer „minıségérıl” információ a vezetıség felé
(továbbfelhasználás ...)
a rendszer validálása: megfelel-e az eredeti felhasználói
kívánságoknak
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 24
25. A tesztelések fajtái
A teszteket csoportosíthatjuk
… a tesztobjektum teljessége szerint:
szerint
komponens teszt „stand alone” teszt
integrációs teszt több, együttmőködı komponens összetett
vizsgálata
rendszer teszt („systemtest”) a teljes termék, átadásra kész
állapotban
... vagy a teszt célja szerint :
átadási teszt a felhasználónak üzemi használatra történı
átadás elıtt
regressziós teszt annak igazolására, hogy módosítás
továbbfejlesztés esetén a korábbi funkciók változatlanul helyesen
mőködnek
performance (stressz) teszt nagy terhelés szimulálására
… vagy más módon.
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 25
26. Hibák kezelése, életciklusa
A különbözı tesztelésekkor megtalált hibák kezelésével
szembeni követelmények (szabványpont 8.3):
Hibák (dokumentált) nyomon követése egységes
segédeszközben biztosított legyen, ahol
folyamatosan nyomon követhetı minden egyes hiba aktuális
állapota (státusza), és múltja, és
amelyik biztosítja minden hiba kijavításának kikényszerítését.
A hiba kijavításának ellenırzése vonatkozik: a megállapított
hibás funkcióra, valamint arra, hogy nem került-e a
módosítással újabb hiba a rendszerbe! (regresszió tesztelés)
Tesztelési program közben ne változtassunk a tesztelés
objektumán!
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 26
27. A konfiguráció menedzsment jelentése
„Konfiguráció” a rendszerfejlesztés során :
tartalmilag: olyan összetett rendszerrıl van szó, ahol az egyes összetevık is
(részegységek, alkatrészek) folyamatosan módosulnak, fejlıdnek (életciklus). A
verzió-számok nyilvántartása – a „verziókövetés” – elkerülhetetlen!
termék esetén: a konfiguráció az a tevékenység, amikor egy adott verziójú,
konkrét végtermékhez meghatározzuk az oda beépülı részegységek verzióit
A „konfiguráció menedzsment” csoport tevékenysége:
Mindaz a szervezı és operatív tevékenység, ami biztosítja a fenti cél teljesülését.
a megfelelı (számítógépes) nyilvántartási rendszer kialakítása
a folyamatok, a szervezet és a munkakörök kialakítása
megfelelı tool-ok érdemi használata
az elıírásoknak megfelelı folyamatos üzemvitel
(Ez megfelel a szabvány 7.5.2 pontja értelmezésének, azaz a termékek és
résztermékek azonosíthatósága és nyomon követhetısége kritériumának.)
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 27
28. A konfiguráció menedzsment feladatai
A számítástechnikai jellegő feladatok:
az objektumok verzióinak nyilvántartása; a megfelelı adattárolási
biztonság megtervezése
az egyes verziók sajátosságainak nyilvántartása (címkézés: ki,
mikor, miért, hogyan módosított)
a nyilvántartott objektumok közötti kapcsolatok és függıségek
kezelése
ezáltal megoldható az automatikus szoftverprodukció
az egyes objektum(változat)okhoz való hozzáférési jogosultságok
kezelése
A projektvezetést támogató feladatok:
a hibafelismerés és –javítás folyamatának, valamint a változtatási
igényeknek a támogatása
a csoportmunka támogatása; egyszerre többen ugyanazon
rendszer különbözı részét fejleszthetik
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 28
29. Biztonsági kérdések
A termékek / résztermékek: elektronikusan tárolt dokumentumok és
kódok (forráskódok, lefordított kódok, …).
A termékek / résztermékek biztonsága – az információ biztonsága –
azt jelenti, hogy biztosítani kell ezek:
Bizalmasságát (csak a jogosultak férjenek hozzá),
Rendelkezésre állását (a jogosultak mindig férhessenek hozzá)
Sértetlenségét (módosulatlanul, eredeti állapotában)
Ezekkel biztosítható:
A termékek / résztermékek megfelelı állagmegırzése (szabvány 7.5.5);
A dokumentumok és feljegyzések megfelelı elektronikus kezelése
(szabvány 4.2)
Mőködési feltételek, valamint üzleti titkok, piaci elıny megırzése, …
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 29
30. Kapcsolatos szabványok
ISO/IEC 90003:2004. Software engineering — Guidelines for the
application of ISO 9001:2000 to computer software
ISO/IEC 12207:1995. Information technology — Software life cycle
processes
MSZ ISO/IEC 12207:2000. Informatika. Szoftveréletciklus-
folyamatok
ISO/IEC TR 15504 – 1..9:… Information technology — Software
process assessment — Part 1..9
és speciális területenként még sokan mások …
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 30
31. Köszönöm megtisztelı
figyelmüket!
2005-04-18 Dr. Horváth Zsolt - ISO 9001 a szoftverfejlesztésben 31