Standardizacija u oblasti SOFTVERSKOG INŽENJERSTVA Fakultet organizacionih nauka Upravljanje razvojem IS Prof. dr Dragana Bečejski-Vujaklija Standardizacija u oblasti SOFTVERSKOG INŽENJERSTVA
Definicije standarda Standard je potvrđen uzorak u odnosu na koji drugi predmeti mogu da budu mereni ili procenjeni Standard je objavljen dokument koji sadrži tehničke specifikacije ili druge kriterijume neophodne da osiguraju da će materijal ili metoda dosledno da zadovolji potrebe za koje je predviđen Danas, kada govorimo o standardima, razlikujemo standarde za: proizvod (hardver, softver, procesne materijale i usluge) procese sisteme
Osnovni principi na kojima je izgrađena standardizacija Dobrovoljnost u prihvatanju Otvorenost Participacija u donošenju standarda svih relevantnih strana (proizvođača, korisnika, države, naučno-istraživačkih institucija, ...) Globalni pristup Najbolja praksa
Pozicija standarda u organizaciji Šta treba raditi? Kako će se raditi? Kako raditi u pojedinoj oblasti? Kako raditi u konkretnoj organizaciji?
Ciljevi standardizacije u informacionim tehnologijama definisanje zajedničkog okvira koji će omogućiti da svi koji su uključeni u proces razvoja, projektovanja i upravljanja softverom “govore istim jezikom“ obezbeđivanje osnove za komunikaciju između IS obezbeđivanje preduslova za zajedničko učešće na projektima različitih strana obezbeđivanje potrebnog okvira za razvoj i implementaciju softvera definisanog kvaliteta
Principi standardizacije u informacionim tehnologijama Standard ne propisuje poseban model životnog ciklusa softvera ili metod za razvijanje softvera Strane koje primenjuju standarde odgovorne su za izbor modela životnog ciklusa i za preslikavanje procesa, aktivnosti i zadataka iz standarda u izabrani model Strane su takođe odgovorne za izbor i primenu metoda za razvoj softvera i za izvršavanje aktivnosti i zadataka koji odgovaraju softverskom projektu.
Kreatori IT standarda ISO/IEC radne grupe i nacionalna tela; IEEE Committee on Standards of software and system engineering – S2ESC; Državne agencije; Industrijski konzorcijumi.
ISO Međunarodna organizacija za standardizaciju Osnovana je 23. februara 1947. Preko 13.000 standarda 140 zemalja 2830 tehničkih tela 186 tehničkih komiteta 576 tehničkih potkomiteta 2057 radnih grupa 30000 stručnjaka Zavod za standardizaciju (danas, Institut za standardizaciju Srbije) je član ISO-a od 01.01.1950.
Međunarodna organizacija za standardizaciju – ISO i Međunarodna elektrotenhička komisija - IEC konstituisale su združeni tehnički komitet JTC 1, sa zadatkom donošenje standarda iz oblasti informacionih tehnologija.
JTC1/SC7 Software engineering Zadatak JTC1/SC 7 je standardizacija procesa, alata i tehnologija koje se primenjuju u inženjeringu softverskih proizvoda i sistema Sistematizacija prakse softverskog inženjeringa u standarde JTC1/SC 7 se fokusira na proces razvoja, a u interakciji je sa ostalim komitetima
U Srbiji: Komisija I1/07 ISS - Softverski i sistemski inženjering Komisija prati rad tehničkog komiteta ISO JTC1/SC 07 Aktuelne aktivnosti Komisije za standarde: Na preporuku Evropske komisije za standarde, umesto procesa nostifikacije (prevod, usaglašavanje, proglašavanje), sada Komisija preuzima standarde na engleskom jeziku (uz odabir standarda i prevod njihovih apstrakta) i proglašava ih. Standardi koje donosi Institut za standardizaciju Srbije nose prefiks SRPS http://www.iss.rs/
Ključni standardi za oblast SE ISO/IEC TR 19759:2005 – Vodič kroz osnove znanja softverskog inženjeringa (SWEBOK) ISO/IEC 12207 - faze životnog ciklusa softvera i standardi koji ga dopunjavaju ISO/IEC TR 15504 – SPICE - vrednovanje sposobnosti softverskih organizacija ISO 9001:2000/TickIT - praćenje upotrebljivosti softvera u procesu isporuke, nabavke, održavanja i razvoja ISO 9126: Softverski inženjering – Kvalitet proizvoda ISO/IEC 14598 - Vrednovanje softverskog proizvoda ISO/IEC 27000 – Upravljanje sigurnošću IS ISO/IEC 20000 – Upravljanje IT uslugom ................
Vodič kroz osnove znanja softverskog inženjerstva ISO/IEC TR 19759:2005 – SWEBOK Vodič kroz osnove znanja softverskog inženjerstva
ISO/IEC TR 19759:2005 – SWEBOK Vodič kroz osnove znanja softverskog inženjeringa Svrha vodiča je da obezbedi konsenzusom potvrđenu karakterizaciju granica discipline softverskog inženjeringa. Osnove znanja su podeljena na 10 oblasti: Zahtevi softvera Dizajn softvera Konstrukcija softvera Testiranje softvera Održavanje softvera Menadžment konfiguracijom softvera Menadžment inženjeringom softvera Softver inženjering proces Alati i metode softver inženjeringa Kvalitet softvera
ISO/IEC 12207 standard - životni ciklus sistema
ISO 12207 Procesi životnog ciklusa softvera Predstavlja jedan od fundametalnih standarda softverskog inženjerstva. Оpisuje arhitekturu životnog ciklusa softvera od koncepta do povlačenja Primenjuje se za softverske proizvode i usluge prilikom nabavke, isporuke, razvoja, korišćenja i održavanja Predstavlja prvi međunarodno prihvaćeni okvir za realizaciju softverskih projekata
Prikaz standarda 12207 – Procesi životnog ciklusa softvera Ideja za donošenjem ovog standarda nastala je 1988. Tokom 6 godina i preko 17.000 utrošenih radnih sati, objavljen je avgusta 1995. Učestovali su predstavnici: Australije, Kanade, Danske, Finske, Francuske, Nemačke, Irske, Italije, Japana, Koreje, Holandije, Španije, Švedske, Velike Britanije i SAD-a. Standard je 2008. god. doživeo veliku reviziju: sada se odnosi na sve procese životnog ciklusa informacionog SISTEMA, a ne samo softvera.
Procesi životnog ciklusa softvera - standard 12207/1995 12207 DOKUMENT ORGANIZACIONI PROCESI Upravljanje Infrastruktura Poboljšanje Ljudski resursi Aktivni menadžment Ponovno korišćenje Područje inženjeringa Nabavka PRIMARNI PROCESI Isporuka Razvoj Rukovanje Održavanje PROCESI PODRŠKE Dokumentovanje Upravljanje konfiguracijom Obezbeđenje kvaliteta Verifikacija Validacija Zajednički pregledi Provera Rešavanje problema Upotrebljivost Ocena proizvoda
Procesi životnog ciklusa sistema - standard 12207/2008
Rizik ukoliko ne primenjujemo ISO 12207 Organizacija će verovatno imati haotičan način proizvodnje softvera i nezadovoljne klijente.
ISO 12207 i prateći standardi
Serija standarda ISO/IEC 9000 Sistem menadžmenta kvalitetom
Serija standarda ISO/IEC 9000 ISO 9000 je familja standarda za sistem menadžmenta kvalitetom. Neki od zahteva u ISO 9001:2008 (koji je osnovni standard u ISO 9000) obuhvataju skup postupaka koji pokrivaju sve ključne poslovne procese; praćenje procesa kako bi se osigurala njihova efikasnost; vođenje adekvatne evidencije; provera nedostataka, uz odgovarajuće korektivne mere; redovno preispitivanje pojedinih procesa i kvaliteta efikasnosti samog sistema olakšano kontinuirano poboljšanje Firma ili organizacija koja je sertifikovana za ISO 9001 može da objavi na svojim proizvodima "ISO 9001 sertifikovan" ili "ISO 9001 registovan". Sertifikacija za ISO 9001 standard ne garantuje kvalitet krajnjih proizvoda ili usluge; tačnije, u njoj su primenjeni poslovni procesi koji su sertifikovani.
ISO/IEC FCD 9000-3 Smernice za primenu ISO 9001 u isporuci i održavanju softvera Priroda razvoja softvera je takva da se neke aktivnosti sistema kvaliteta moraju specifično realizovati. Definiše se delokrug sistema kvaliteta, odgovornosti rukovodstava (kako isporučioca tako i kupca), daju se opšte smernice za obezbeđivanje sistema kvaliteta, smernice za obezbeđenja kvaliteta za pojedine aktivnosti u životnom ciklusu softvera smernice koje se primenjuju u čitavom procesu.
ISO 9001:2000/TickIT TickIT šema je dodatak standarda ISO 9001:2000 koji sadrži uputstvo za implementaciju i proveru standarda u softverskoj industriji. TickIT uvodi Planove kvaliteta kao centralno sredstvo komunikacije između dobavljača i kupca. TickIT šema daje vezu sa zahtevima ISO 9001:2000 standarda kroz opis procesa definisanih u standardu ISO/IEC 12207 Uvođenje nove šeme je planirano za januar 2011. www.tickit.org
ISO 9001:2000/TickIT TickIT daje uputstva i primere dobre prakse za Dobavljače – kako u softverskoj industriji (koja je pretežno orijentisana istraživanje i razvoj), implementirati ISO 9001:2000 Kupce – u kojim fazama i kako kupac mora da učestvuje da bi dobavljač što bolje ispunio njegove zahteve Oditore – kako proveravati da li je organizacija u softveskoj industriji ispunila zahteve ISO 9001:2000.
Softverski inženjering – Kvalitet proizvoda ISO/IEC 9126 Softverski inženjering – Kvalitet proizvoda
ISO/IEC 9126: Softverski inženjering – Kvalitet proizvoda
CMMI Capability Maturity Model Integration CMMI je model namenjen vrednovanju sposobnosti softverskih organizacija. Sadrži spisak procesa koji moraju biti uspostavljeni i održavani da bi organizacija dostigla određeni nivo Pet nivoa zrelosti: Početni (Initial) Organizovani (Managed) Definisani (Defined) Kvantitativno organizovan (Quantitatively managed) Optimizovan (Optimizing) US Department of Defense je inicirao izradu ovog modela zbog problema u prepoznavanju sposobnosti softverskih organizacija pri konkurisanju za realizaciju velikih softverskih projekata.
ISO/IEC 15504 – SPICE (Software Process Improvement and Capability Determination) Standard namenjen organizaciji da kroz samoocenjivanje sposobnosti svakog od procesa životnog ciklusa softvera utvrdi svoju sposobnost realizacije softverskih projekata Kroz analizu poslovnih potreba i namera mogu se utvrditi prioritetni procesi, čijim poboljšanjem će se efikasnije zadovoljiti zahtevi kupaca i postići efektivnost zahtevana od drugih interesnih strana.
SPICE – nivoi sposobnosti procesa Stalna poboljšanja - Postizanje strategijskih ciljeva - Poboljšani procesi - Poboljšanja zasnovana na podacima V Predvidiv - kvantitativno upravljiv - Postizanje kvantitativnih ciljeva - Merenje karakteristika procesa - Upravlj. procesom pomoću podataka IV 12-18 meseci Uspostavljen - dobro definisan - Razvoj organizacijskih std procesa - Projekti koriste std. i verif. procese - Deljenje organizacionih iskustava III Upravljiv - planski i nadziran - Rad je planiran i upravljan - Projekti koriste definisane procese - Rezultati rada zadovoljavaju zahteve II Neformalno izvršiv - Individualni heroizam - bez plana - Esencijalni elementi se izvršavaju - Identifikovani rezultati rada I Nekompletan - nije izvršiv - SW procesi se ne izvršavaju - N/A - Polazna tačka organizovanja http://www.spiceusergroup.org
Sigurnost informacionoh sistema ISO/IEC 27000 serija Sigurnost informacionoh sistema
Published standards ISO/IEC 27000 family ISO/IEC 27000 — Information security management systems — Overview and vocabulary ISO/IEC 27001 — Information security management systems — Requirements ISO/IEC 27002 — Code of practice for information security management ISO/IEC 27003 — Information security management system implementation guidance ISO/IEC 27004 — Information security management — Measurement ISO/IEC 27005 — Information security risk management ISO/IEC 27006 — Requirements for bodies providing audit and certification of information security management systems ISO/IEC 27007 - Guidelines for information security management systems auditing ISO/IEC 27011 — Information security management guidelines for telecommunications organizations ISO/IEC 27033-1 - Network security overview and concepts ISO 27799 - Information security management in health
Korišćenje standarda - poslovni dobici Za proizvođače Manje utrošenog vremena na izmene i otklanjanje defekata Pristup tržištu koje ima visoke standarde za dobavljače Za klijente Dugoročna stabilnost saradnje: osiguran isti kvalitet razvoja softvera u više projekata, bez obzira na promene tima ili vrstu projekata
Korisni linkovi: Institut za standardizaciju Srbije http://www. iss Korisni linkovi: Institut za standardizaciju Srbije http://www.iss.rs/ Komisija I1/07 (softversko inženjerstvo) http://standardi.yubc.net/