Kurs: Menadžment softverskog inženjerstva Materijali vezani uz ovu lekciju: - Test uvod u menadžment softverskog inženjerstva - Uvod u menadžment softverskog inženjerstva (PDF dokument) U ovoj lekciji ćemo obrađivati:
DefinicijaMenadžment softverskog inženjerstva može se definisati kao primena menadžment aktivnosti planiranja, koordinacije, merenja, nadgledanja, kontrole i izveštavanja radi osiguranja da se razvoj i održavanje softvera izvodi sistematično, disciplinovano i kvantifabilno. Prema tome, oblast menadžment softverskog inženjerstva se bavi upravljanjem i vrednovanjem softverskog inženjerstva. Specifičnosti upravljanja softverskom proizvodnjomU izvesnom smislu, može se reći da upravljanje softverskim inženjerstvom može da se vrši na isti način kao i za bilo koju drugu kompleksnu oblast. Ipak, postoje specifičnosti svojstvene upravljanju proizvodnjom softvera za razliku od drugih disciplina. Percepcija klijenta je takva da često postoji nedostatak razumevanja za kompleksnost sadržanu u procesu softverskog inženjerstva, posebno u relaciji uticaja promena zahteva. Neizbežno je da će sam proces softverskog inženjerstva generisati potrebu za novim zahtevima ili promenom postojećih. Kao rezultat toga, softver se često razvija iterativno, a ne kao sekvenca zatvorenih taskova. Softversko inženjerstvo neminovno inkorporira aspekte kreativnosti i discipline.To ovaj posao i čini veoma teškim: Držati odgovarajući balans između ove dve suprotnosti. Stepen noviteta i kompleksnosti softvera je često ekstremno veliki. Postoji veliki stepen promena i u razvojnoj tehnologiji. Kada je u pitanju softversko inženjerstvo, aktivnosti menadžmenta se dešavaju na tri nivoa: organizacioni i infrastrukturni menadžement, projektni menadžment, planiranje i kontrola programa merenja. Na slici je prikazana šema menadžmenta softverskog inženjerstva prema SWEBOK-u (The Software Engineering Body of Knowledge) [IEEE 2004]. ![]()
Oblasti menadžmenta softverskog inženjerstvaKao što se vidi sa slike, postoji šest podoblasti koje se bave menadžmentom softverskog inženjerstva. Initiation and scope definition se bavi odlukom o iniciranju projekta softverskog inženjerstva. Software project planning se bavi aktivnostima preduzetim radi pripreme za uspešno softversko inženjerstvo iz perspektive menadžmenta. Software project enactment se bavi generalno prihvaćenim aktivnostima menadžmenta softverskog inženjerstva koje se dešavaju tokom procesa softverskog inženjerstva. Review and Evaluation se bavi osiguranjem da je softver zadovoljavajući. Closure obuhvata aktivnosti kompletiranja projekta softverskog inženjerstva. Software engineering measurement se bavi efektivnim razvojem i implementacijom programa merenja i vrednovanja u organizaciji softverskog inženejrstva. Menadžment i merenjaOblast menadžmenta softverskog inženjerstva se sastoji od procesa menadžmenta softverskog projekta u prvih pet podoblasti i merenja softverskog inženjerstva u poslednjoj podoblasti. Iako se ove dve oblasti često razmatraju odvojeno, postoje zajedničke veze koje ih dovode u sferu zajedničkog tretmana. Uobičajeno mišljenje je da softverska industrija isporučuje proizvode sa zakašnjenjem, uz probijanje budžeta, sa lošim kvalitetom... Menadžment zasnovan na merenjima može da promeni ove predrasude. Menadžment proces predstavlja aktivnosti koje se sprovode u cilju obezbeđivanja da se proces softverskog inženjerstva izvodi na način u skladu sa ciljevima i standardima organizacije. Merenje i vrednovanje predstavlja dodeljivanje vrednosti i značenja aspektima softverskog inženjerstva (proizvodima, procesima, resursima i dr.) i modelima izvedenim iz njih. Inicijalizacija i definicija opsegaFokus ovog skupa aktivnosti je u efikasnom utvrđivanju softverskih zahteva preko različitih metoda izvlačenja i utvrđivanja izvodljivosti projekta sa različitih stanovišta. Jednom kada se ustanovi izvodljivost, deo koji preostane unutar ovog procesa je specifikacija validacije zahteva i procedura promene. Određivanje i dogovaranje oko zahtevaTehnike za izvlačenje softverskih zahteva (npr. posmatranje), njihove analize, specifikacije i provere validnosti (npr. prototipi) moraju biti odabrane i primenjene, uzimajući u obzir različite perspektive zainteresovanih strana. Taj proces dalje vodi određivanju opsega projekta, ciljeva i ograničenja. To je oduvek bila važna aktivnost jer postavlja vidljive granice za skup zadataka koji se preduzimaju, a posebno tamo gde su novine u preduzimanju velike. Dodatne informacije o ovoj temi na raspolaganju su u kursu „Softverski zahtevi“. Analiza izvodljivostiSoftverski inženjeri moraju da budu sigurni da su adekvatni kapaciteti i resursi dostupni i to što se tiče stručnjaka, objekata, infrastrukture i podrške (bilo interne ili eksterne) kako bi se osiguralo da se projekt može uspešno završiti, na vreme i u okviru troškova budžeta. To često zahteva procenu rada i troškova zasnovanu na odgovarajućim metodima. Proces pregleda i revizije zahtevaS obzirom na neizbežnost promena, bitno je da je dogovor između zainteresovanih strana postignut u ranoj fazi što podrazumeva definiciju načina i opsega. Tim putem će zahtevi biti pregledani i revidirani (npr. putem dogovorenih procedura upravljanja promenama). To jasno podrazumeva da opseg i zahtevi neće biti “postavljeni u kamenu”, tj. da mogu i da bi trebalo da budu revidirani u predefinisanim tačkama procesa koji se razvija. Ako su promene prihvaćene, onda se uzima neki oblik analize pratljivosti i analize rizika koji treba iskoristiti za određivanje uticaja promena. Pristup upravljanju promenama bi takođe trebalo da bude koristan kada dođe vreme za preispitivanje ishoda projekta kao što bi i obim i zahtevi trebalo da čine osnovu za ocenu uspešnosti. Dodatne informacije o ovoj temi na raspolaganju su u kursu „Upravljanje softverskom konfiguracijom“. Reference: 1. IEEE Computer Society, Software Engineering Coordinating Committee, Guide to the Software Engineering Body of Knowledge, 2004.
|