1 / 45

Postavljanje i održavanje sustava programske podrške

Fakultet prirodoslovo-matamatičkih znanosti Sveučilišta u Splitu. Postavljanje i održavanje sustava programske podrške. mr.sc. Tonći Dadić tonci.dadic@pmfst.hr. Split, 2011/12. Postavljanje i održavanje sustava programske podrške. Program. Uloge izvršitelja i nalogodavca

Download Presentation

Postavljanje i održavanje sustava programske podrške

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fakultet prirodoslovo-matamatičkih znanostiSveučilišta u Splitu Postavljanje i održavanje sustava programske podrške mr.sc. Tonći Dadić tonci.dadic@pmfst.hr Split, 2011/12

  2. Postavljanje i održavanje sustava programske podrške Program • Uloge izvršitelja i nalogodavca • Program - model neke domene koja je podskup realnog svijeta • Model – zapisuje se izabranim formalnim sustavom • Model apstrahira (izostavlja) detalje nevažne za konačni rezultat, a uvažava one koji određuju konačni rezultat • Svojstva programa: • Jednoznačnost • Razumljiv izvršitelju • Izvršitelj ga može izvesti, postupati prema programu • Programska podrška – računalni program

  3. Postavljanje i održavanje sustava programske podrške Programska podrška • Računalni program • Izvršitelj – stroj, računalni hardver • Nalogodavci – programer, korisnik • Model – klase, članovi klasa (instance, objekti), metode, svojstva (eng. properties) • Klasa – definira svojstva i metode zajedničke svim članovima klase. • Odnosi klasa – (i)nasljeđivanje, (ii)agregacija (sadržavanje), (iii)dijeljenje zajedničkih objekata • Metoda – pravilo preslikavanja (transformacije) ulaznih objekata u izlazne: ulazi  izlazi

  4. Postavljanje i održavanje sustava programske podrške Životni ciklus programa

  5. Postavljanje i održavanje sustava programske podrške Vrste programa Program Sistemski Primjenski Jezgra OS Interaktivni Neinteraktivni Mrežni sistemi Konzolni Servisi Kompilatori Windows Web servisi Kompilatori Web

  6. Postavljanje i održavanje sustava programske podrške Postavljanje (eng. Deployment) • Proizvođač programske podrške (eng. Producer) • Potrošač programske podrške (eng. Consumer) • Razvojna (eng. Development) računala proizvođača • Distribucija • transferni mediji (diskete, CD, DVD) • transferna računala – web sjedišta proizvođača • Računala za podršku postavljanja (eng. Deployment system) • Upute • Registracija • Prava korištenja (licenciranje) • Računala potrošača

  7. Inteligentno poučavanje programiranja temeljeno na semantičkom vrednovanju ciljnih programa Postavljanje (eng. Deployment) • Transfer datoteka (izvršnog programa, sustava pomoći) s računala proizvođača na računala potrošača • Registracija potrošača u bazi podataka proizvođača • Korisnička podrška • Prava korištenja - ograničenja broja instalacija ili izvršavanja • Priprema postavki okruženja za uspješno izvođenje • AUTOEXEC.BAT, CONFIG.SYS (DOS), PATH • *.ini datoteke sadrže podatke inicijalizacije programa čime se određuje djelovanje programa • Registri (eng. Registry) – strukturirana datoteka s podacima koji određuju djelovanje programa • Uklanjanje (eng. uninstall) – ukloniti program i sve podatke na sustavu koje koristi samo taj program, tj. dovođenje sustava u stanje kao da program nikada nije bio postavljen na sustav

  8. Postavljanje i održavanje sustava programske podrške Parametri programa - postavke okruženja • Okruženje programa – postavke sustava instalacije: • Operacijski sustav • Stablo direktorija • Točka instalacije programa • Spoj sa servisima, npr. sustav baze podataka, e-mail poslužitelj • Pristup računalima distribuiranog sustava (putem mreže) • Razvojno okruženje se razlikuje od eksplotacijskog • Ne moraju sva eksploatacijska računa biti jednako postavljenja • Tijekom životnog ciklusa programa okruženje se može mijenjati • Prilagodljivost programa okruženju (bez ponovnog kompiliranja) • Konfiguracijska XML datoteka sadrži lako dostupne parametre koji određuje konfiguraciju instalacije • Registry – baza podataka s parametrima – nije lako dostupna

  9. Postavljanje i održavanje sustava programske podrške Poruke programa • Interaktivni ili nadzirani programi – • vezani za korisnika prijavljenog sustavu • greška se može desiti samo u vremenu interakcije s korisnikom • poruke korisniku • Neinteraktivni programi (servisi) – • nisu vezani za konkretnog korisnika prijavljenog sustavu • rade “automatski” • kada opslužuju konkretnog korisnika – greške su vezane za sustav, a ne akcije korisnika • poruke zapisuje u datoteku – log fajl, event fajl • administrator programa naknadno analizira zapise – event viewer

  10. Postavljanje i održavanje sustava programske podrške Sustav programske podrške

  11. Postavljanje i održavanje sustava programske podrške Sustav programske podrške • Operacijski sustav – skup funkcionalnosti zajednički mnogim primjenskim programima (aplikacijama) • DLL – dinamički poveziva knjižnica izvršnog koda metoda • DLL – se obično (ne nužno) nalaze u imeniku WINDOWS\system32 • Aplikacije pozivaju metode definirane u DLL preko imena metode i njenih argumenata • DLL-ove koje treba definira aplikacija: • Implicitno u svom prologu – s diska u radnu memoriju računala učitava operacijski sustav • Eksplicitno – aplikacija učitava DLL kad ga treba, naredbom koju zapisuje programer, prije poziva metoda

  12. Postavljanje i održavanje sustava programske podrške Sustav programske podrške • Statičko povezivanje – aplikacija sadrži knjižnicu definicija metoda koje treba i donosi je na sustav postupkom instalacije • Prednosti : (i)aplikacija sigurno pronalazi potrebnu metodu, (ii)metoda ispunja pogodbu s aplikacijom (radi točno ono što je radila u vrijeme razvoja programa • Mane : (i)prostor na diskovima, (ii)održavanje promjena knjižnice • Dinamičko povezivanje – mnoge aplikacije dijele zajedničku knjižnicu • Prednosti: (i)manji prostor na diskovima, (ii)održavanje promjena • Mane: (i) knjižnica na ciljnom računalu možda ne pstoji, (ii) ne definira očekivanu funkciju, (iii)funkcija ne ispunja očekivanje

  13. Postavljanje i održavanje sustava programske podrške Mogući problemi dinamičkih knjižnica Program ne nalazi očekivanu knjižnicu na računalu potrošača Postavljanjem programa A prekrije se dio knjižniceprograma B Knjižnica A nema definicije metoda koje program B poziva Knjižnica A ima definicje metode koje B poziva, ali def(A) != def(B) Rezultat = raste cijena korisničke potpore !

  14. Postavljanje i održavanje sustava programske podrške Standardizacija

  15. Postavljanje i održavanje sustava programske podrške Standardizacija

  16. Postavljanje i održavanje sustava programske podrške Testiranje • Izvođenje programa s vektorima ulaza • Provjera da vektori izlaza zadovoljavaju specifikacije • Specifikacije: • Formalne, npr. (1) d = Nzd(a, b) <=> a%d=0 && b%d=0,zasvaki(k) : k = Nzd(a, b) && k != d => k < d,gdje su a i b cjelobrojni ulazi, a d cjelobrojni izlaz:(2) zasvaki(A, i) : polje(A[1..N]) && 1 <= i <= N-1 && A[i]>=A[i+1]. • Neformalne, npr: (1) izlaz d je najveći zajednički djelitelj a ib;(2) polje A[1..N] je silazno poredano. • Pristup crne i staklene kutije • Automatsko generiranje testnih ulaza tako da se program izvede svim putevima • Regresivno testiranje

  17. Postavljanje i održavanje sustava programske podrške Verifikacija • Formalizirani postupak dokazivanja korektnosti • Program mora biti formalno specificiran • Temelji se na Floyd-Hoareovoj logici: {P} S {Q} : Hoareova trojka S : programski segment - program, funkcija, imenovana ili neimenovana procedura (instrukcijski blok) ili jedna instrukcija P: preduvjet - logička formula odnosa vrijednosti varijabli prije izvođenja S Q : postuvjet - logička formula odnosa vrijednosti varijabli poslije izvođenja S • S je korektan ako poslije S vrijedi Q uvijek kada vrijedi P prije izvođenja

  18. Postavljanje i održavanje sustava programske podrške Verifikacija • Postupak najslabijeg preduvjeta (weakest precondition) • Postupak najsnažnijeg postuvjeta (strongest postcondition) • Simboličkim izvođenjem tehnikom jednokratnog statičkog pridjeljivanja varijablama (Single Static Assignment)

  19. Postavljanje i održavanje sustava programske podrške Verifikacija • wlp(s, Q) = najslabiji preduvjetPtako da je {P} s {Q} : parcijalna korektnost • wp(s, Q) = najslabiji preduvjetPtako da je {P} s {Q} i s završava : totalna korektnost • Totalna korektnost = Završetak + parcijalna korektnost

  20. Postavljanje i održavanje sustava programske podrške Verifikacija • (i) Prazna instrukcija: wp(skip, φ) = φ • (ii) Nedefinirana instrukcija (greška): wp(abort, φ) = false • (iii) Pridjeljivanje: wp(x:= t, φ) = def[t]  φ[t / x] • (iv) Instrukcija izbora: wp(if b then s1 else s2 fi, φ) = (b  wp(s1, φ))  (not(b)  wp(s2, φ)) • (v) Slijed: wp(s1 ; s2, φ) = wp(s1, wp(s2, φ))

  21. Postavljanje i održavanje sustava programske podrške Verifikacija • Petlja dok-činiti: wp( dok b činiti s, φ) =  k . ( k >= 0)  P(k) where P(k) is defined by: P(0) = not(b)  φ P(k + 1) = b  wp(s, P(k)) P(k) je najslabiji preduvjet koji osigurava da se tijelo S izvodi točno k puta i završava u stanju u kojem je postuvjet φ zadovoljen.

  22. Postavljanje i održavanje sustava programske podrške Verifikacija Jednostavan primjer pridjeljivanja {P} == ? Y := X + 10; {Q == Y > 0} {P} == {X > -10} Y := X + 10; {X + 10 >0} == {X> - 10} {Q == Y > 0}

  23. Postavljanje i održavanje sustava programske podrške Verifikacija Cjelobrojno dijeljenje: P : a >= 0 && b > 0 Q: exists(k, m) : a = k*b + m && m < b, gdje su:k – količnik i m ostatak cjelobrojnog dijeljenja Program: m := a;k := 0;dok m >= b činiti k := k + 1; m := m – b; Invarijanta petlje: I == m >= 0 && a = k*b + m; Kada petlja završi: I && not(b >=m) => Q

  24. Postavljanje i održavanje sustava programske podrške Verifikacija Primjena: Automatska verifikacija programa Microsoft: Spec# : automatska verifikacija C# programaHAVOC : automatska verifikacija C programaDefny : automatska verifikacija programaSymdiff : semantičke razlike dvaju programa Alati se temečje na:Boogie – verifikator programa u IL jezikuZ3 – dokazivač teorema, SMT solver

  25. Postavljanje i održavanje sustava programske podrške Objava (eng.Release) • Priprema programskog paketa za distribuciju • Instalaciju na korisničkim računalima • Uklanjanje – deinstalaciju s računala • Rješenje problema nekompatibilnosti i konflikata • Uključivanje dodatnih programa • Uključivanje – isključivanje komponenti u distribucijski paket • Prilagodba instalacijskog korisničkog sučelja • Ugradnja mehanizma prijave i licenciranja • Automatizacija konfiguracije na ciljnom računalu

  26. Postavljanje i održavanje sustava programske podrške Priprema instalacijskog paketa • Otvaranje rješenja (Solution u Visual Studiu) • Dodavanje instalera (Advanced Installer Project) u rješenje • Kreiranje glavnog instalacijskog paketa (the first install package) • Uređivanje instalacijskog projekta • Uključivanje dodatnih projekata u instalacijski paket • Stvaranje konačnog instalacijskog paketa • Utvrđivanje međuzavisnosti komponenti • Testiranje instalacijskog paketa

  27. Postavljanje i održavanje sustava programske podrške Priprema instalacijskog paketa • http://www.advancedinstaller.com/user-guide/tutorial-ai-ext-vs.html • http://support.microsoft.com/kb/307353 • Otvoriti rješenje (npr. u VS 2010)

  28. Postavljanje i održavanje sustava programske podrške Advanced Installer • Iz dijaloga “New Project” Visual Studia izabrati Advanced Installer Project • U polju Solution izabrati opciju Add to solution • Upisati ime projekta

  29. Postavljanje i održavanje sustava programske podrške Advanced Installer • U projekt se automatski dodaju izgrađene datoteke rješenja

  30. Postavljanje i održavanje sustava programske podrške Kreiranje prvog instalacijskog paketa • U ovom koraku se kreira instalacijski paket bez modifikacije postavki instalera • Build Solution – kompajliraju se svi projekti rješenja • Izlazi kompilatora se uključuju u Advanced Installer Project • *.msi je instalacijski paket

  31. Postavljanje i održavanje sustava programske podrške Modifikacije instalacijskog projekta • Pomoću preglednika (viewera) koji dolazi uz Advanced Installer Project možemo postaviti • Detalje o proizvodu • Uvjete instalacije • Parametre instalacije

  32. Postavljanje i održavanje sustava programske podrške Vrednovanje sukladnosti • Let's suppose we have an Enterprise edition of Advanced Installer. By default, the installer project will be created based on aFreeware license. Since we want to use features from the Enterprise edition, like selecting a theme for the installation dialogs, we will need to upgrade our project type: • Press the [ Edit in Advanced Installer ] button to open your installer project in Advanced Installer • From the “Project” menu select “Options...” • Navigate to the Project Type Tab and select Enterprise • Press the [ OK ] button • Now, that we have an Enterprise project we have full access to all the available Enterprise features. • In order to change the dialog theme go to Themes Page • From the right view select the desired theme and variation for your installer dialogs • Save the project and exit Advanced Installer • Visual Studio will ask you if you want to reload the installer project since it was modified. Press the [ Yes ] button.

  33. Postavljanje i održavanje sustava programske podrške Dodavanje projekata u instalaciju • If an Advanced Installer Project is added to a solution it will automatically import the build output and all useful information related to the projects from the solution. If later, the existing projects are modified or another project is added to the solution the importoperation must be redone. • From the “New Project” dialog of Visual Studio select Visual C# project type • In the “Solution” field select Add to solution option • Press the [ OK ] button. The new project will be added to the solution • Rebuild the solution • Even if three files will be generated the install package will contain only the original project from the solution. The other project build output will not be included. An easy way to see this is from the “Files and folders” page.

  34. Postavljanje i održavanje sustava programske podrške Dodavanje projekata u instalaciju

  35. Postavljanje i održavanje sustava programske podrške Kreiranje konačnog instalacijskog paketa • To include the second project in the installer package: • Select the Installer_Project.aip file from the "Solution Explorer" • From the context menu select the Redo import option • Check that both projects output builds are included in the installer package from the “Files and Folders” page

  36. Postavljanje i održavanje sustava programske podrške Međuzavisnosti projekata • Advance Installer Project se mora izgraditi zadnji: • Izabrati Installer Project • Izabrati opciju Project Dependencies • Izabrati projekte u “Depends on”

  37. Postavljanje i održavanje sustava programske podrške Vrednovanje sukladnosti • Potreba za programskom podrškom • Nabavna cijena : dobitak korištenjem • Testiranje postavljanja • Prilagodba postojećih sustava programske podrške

  38. Postavljanje i održavanje sustava programske podrške Vrednovanje • Je li softver potreban ? • Je li nadmašena točka povratka ulaganja (TPU, eng. ROI) postojeće programske podrške ? • Postoji li razumna TPU za nastale prateće troškove • Omogućuje li isporučitelj široku skalu metoda distribucije • Može li se učinkovito upravljati ili modificirati postupak instalacije • Postoje li interne mogućnosti izgradnje instalacijskih paketa prilagođenih potrebama organizacije • Radi li program na različitim platformama (hardver + OS)

  39. Postavljanje i održavanje sustava programske podrške Vrednovanje • Tko treba program ->broj korisnika (licenca/cijena) • Planiranje prema operacijskim sustavima u organizaciji • Testiranje kompatibilnosti • Raspoloživost resursa za pouzdano testiranje • Je li novi program sukladan (kompatibilan) postojećim programima • Postoje li konflikti sa zajedničkim resursima • Je li potrebna promjena (verzije) operacijskog sustava • Učinak programa na mrežni promet

  40. Postavljanje i održavanje sustava programske podrške Računanje točke povratka ulaganja

  41. Postavljanje i održavanje sustava programske podrške Automatizacija instalacije • Mogućnost interne prilagodbe potrebama organizacije • za svaku platformu u organizaciji • može li biti završeno na vrijeme prema planu – rasporedu • Prilagoditi • Riješiti neslaganja i konflikte • Staviti u paket dodatni program • Dodati ili ukloniti komponente u paket • Ukloniti ili prilagoditi korisničko sučelje prema potrebama korisnika • Omogućiti vlastitom softveru mehanizam distribucije • Osigurati dodatnu instalacijsku konfiguraciju

  42. Inteligentno poučavanje programiranja temeljeno na semantičkom vrednovanju ciljnih programa Isporuka (eng. Delivery) • Stvaranje kopije (eng. Image) instalacije na računalu korisnika • Isporuka preko medija CD / DVD • Isporuka preko interneta ili intraneta • “Push” – upravljanje postavljanjem sa središnjeg računala putem mreže • “Pull” – obavijest korisnika e-mailom s URL instalacijske kopijeda samostalno uradi postavljanje “klikom” • Pilot proces – testiranje postupka postavljanja na uzorku

  43. Postavljanje i održavanje sustava programske podrške Isporuka

  44. Postavljanje i održavanje sustava programske podrške Održavanje • Inventura opreme – hardvera i softvera po računalima • Isporuka – potreba za naknadnom instalacijom • Licenciranje – raspoložive / iskorištene dozvole • Izvještavanje • “Werhausing” – fizički skladišni prostor za isporuku kopija (Image) instalacije • Održavanje komponenti – ograničeno, automatizirano održavanje raspodijeljenih računalnih sustava i programa

  45. Postavljanje i održavanje sustava programske podrške Održavanje

More Related