270 likes | 471 Views
METODE IN TEHNIKE INFORMACIJSKE ANALIZE (MTIA). Predavatelj: doc.dr. Borut Werber. Poglaviten poudarek pri predmetu: Metode, pristop k razvoju (enostavnih) aplikacij Uporabniška rešitev (aplikacija): računalniška podpora izbranemu poslovnemu postopku ali poslovni funkciji,
E N D
METODE IN TEHNIKE INFORMACIJSKE ANALIZE (MTIA) Predavatelj: doc.dr. Borut Werber dr. Borut Werber
Poglaviten poudarek pri predmetu: Metode, pristop k razvoju (enostavnih) aplikacij Uporabniška rešitev (aplikacija): • računalniška podpora izbranemu poslovnemu postopku ali poslovni funkciji, • lahko vključuje tudi neavtomatizirane funkcije • razvoj in uvajanje aplikacije običajno zahteva tudi organizacijske spremembe
Življenjski cikel razvoja aplikacije (System Development Life Cycle - SDLC) • Uporabniške rešitve načrtujemo in razvijamo na nek sistematičen način. • “Klasični” pristop: življenjski cikel razvoja, ki je močno vplival na oblikovanju metod razvoja informacijskih sistemov
Življenjski cikel razvoja aplikacije (SDLC): razčlenitev razvojnega procesa na zaporedne korake ali faze; preden se lahko začne naslednja, mora biti predhodna zaključena
Življenjski cikel razvoja aplikacije (System Development Life Cycle - SDLC) • Razčlenjen na različne načine, odvisno od avtorja (knjige), oziroma internih standardov v posameznih okoljih, pa tudi z vidika posameznih funkcij in vlog v razvoju. Faze: 1. Analiza problema • Precizno definiramo problem oz. področje, ki ga pokriva aplikacija, napišemo programske specifikacije: opis vhodov, obdelave, izhodov in uporabniških vmesnikov
2. Zasnova programa Izdelamo podrobno podatkovno strukturo (podatkovni model), uporabniške vmesnike in logiko programov z uporabo orodij kot so entitetni diagrami, akcijski diagrami, psevdo koda, diagrami strukture objektov, diagrami tokov podatkov, … in razčlenimo funkcije programa v module, algoritme za obdelavo podatkov, ... 3. Kodiranje “Pretvorimo” zasnovo v delujočo aplikacijo: v izbranem programskem jeziku ali orodju izdelamo vmesnike in programsko kodo, vključno z interno dokumentacijo: komentarji, ki razložijo pomen in delovanje posameznih ukazov in segmentov programa
4. Testiranje in popravljanje napak S testiranjem najdi čim več napak 5. Dokumentiranje aplikacije Preveri in popravi in integriraj interno dokumentacijo, izdelaj uporabnikovo dokumentacijo 6. Vzdrževanje Omogoči usposabljanje in podporo končnim uporabnikom; popravljaj napake, ki se pokažejo med uporabo aplikacije, prilagaja program spremenjenim oz. novim zahtevam uporabnikov
Uvajanje informacijskega sistema • V praksi poznamo štiri načine prehodov na novo programsko aplikacijo, kjer ima vsak način svoje prednosti in slabosti. Razlike so predvsem v varnosti, stroških in časovnem obsegu prehoda s stare na novo aplikacijo. Načini prehodov so: • vzporedno delovanje • neposredni prehod • postopni ali fazni prehod • pilotni način uvajanja
Vzporedni prehod LEGENDA Stara uporabniška rešitev Nova uporabniška rešitev Vzporedno delovanje • v določenem časovnem obdobju delujeta tako novorazvita kot dosedanja programska aplikacija • dvojni vnos podatkov • visoka stopnja varnosti(podjetje ne izgubi podatkov in informacijske podpore )
Neposredni prehod LEGENDA Stara uporabniška rešitev Nova uporabniška rešitev Neposredni prehod • v nekem trenutku nova zamenja dosedanjo programska aplikacija • enkraten vnos podatkov • nizka stopnja varnosti(podjetje lahko ob napaki izgubi podatkov in izpad informacijske podpore )
Fazni prehod LEGENDA Stara uporabniška rešitev Nova uporabniška rešitev Postopni ali fazni prehod • vključuje se postopoma po področjih • enkraten vnos podatkov • uporabimo le, če sta uporabniški rešitvi dovolj podobni
Pilotno uvajanje LEGENDA Stara uporabniška rešitev Nova uporabniška rešitev Pilotna uporabniška rešitev Pilotni način uvajanja • kombinacija vseh predhodno omenjenih • izbere se skupina testnih, nad novo uporabniško rešitvijo navdušenih uporabnikov– nekaj časa vzporedno, da se odpravijo napake • ne silimo vseh • kako najti prostovoljce za testiranje
V idealnem primeru se faze ne prekrivajo: Dejansko pa se moramo vedno vračati v prejšnje faze
Da bi presegli pomanjkljivosti razvoja po metodi SDLC, so razvili vrsto metod, • kot alternativo ali kot dopolnitev pristopu po SDLC: • Stopenjski razvoj • Prototipni pristop • Hiter razvoj aplikacij (Rapid Application development – RAD) • JAD (Joint Application Design) delavnice • Računalništvo uporabnikov • ….
Stopenjski razvoj (Evolutionary development) • V več ponovitvah (korakih iteracijah, …) izdelamo vsakokrat bolj izpopolnjeno aplikacijo, vsakokrat s dopolnjeno funkcionalnostjo. Pri tem velja: • zasnova je lahko nepopolna, usmeri naj se na bistvo aplikacije • možnosti za nadaljnje spreminjanje aplikacije morajo ostati odprte • Izdelana aplikacija lahko pokriva le del uporabnikovih zahtev
Spiralni model razvoja in izpopolnjevanja programskih rešitev
Značilnosti stopenjskega razvoja: • Razmeroma dobimo začetno verzijo aplikacije, izpopolnjuje se potem, ko uporabniki in razvijalci pridobijo nekaj izkušenj z njo • Spremembe zahtev lahko obravnavamo kot del postopnega razvoja • Uporabna je tam, kjer so zahteve in cilji aplikacije mehko opredeljeni in se s časom veliko spreminjajo • Zahteven za vodenje (v primerjavi s pristopom po življenjskem ciklu)
Prototipni razvoj (Prototyping) Osnovna ideja: uporabnik laže oceni, ali delujoče aplikacija ustreza njegovim zahteva, kot v naprej opredeli zahteve • Prototipni pristop se je uveljavil v začetku 80-tih let, ko so se razširila zmogljiva programska orodja • Namen: preseči nekatere slabosti tradicionalnega pristopa (SDLC):
Predvsem, uporabnik (pri pristopu po SDLC) vidi (lahko preskusi) aplikacijo šele v fazi realizacije (uvajanja) rešitve, ko je prepozno (oz. težavno, predrago, prezapleteno, …), spreminjati aplikacijo • S prototipom (poenostavljeno verzijo končne aplikacije ali dela le-te) lahko uporabnik eksperimentira, jo oceni, razvijalec jo lahko (večkrat) dopolni, …, dokler dovolj dobro ne ustreza zahtevam uporabnika
Vsaj na tem mestu se razvijalec odloči: • Ali bo prototip “zavrgel” (throw away prototype, expendable prototype); uporabil ga je za to, da je lahko bolj natančno opredelil zahteve uporabnikov ali preveril • Ali ga bo izpopolnjeval do končne aplikacije (razvojni prototip - Evolutionary prototype) Od tega je odvisen tudi napor in čas, ki ga vloži v razvoj prototipa, uporabljeno orodje, …
V prvem primeru (prototip se zavrže), je navadno dovolj, da se izdela nekaj osnovnih uporabniških vmesnikov, doda nekaj osnovnih funkcionalnosti, baza podatkov je poenostavljena, … • Uporabi se orodje, s katerim je mogoče najhitrejše in najlaže razviti prototipno rešitev • Dokumentacija je skromna ali je ni, • Prototip kar se tiče odzivnega časa, količine podatkov, … no primerljiv z dejansko zahtevano aplikacijo • Lahko je nekompatibilen z obstoječim računalniškim okoljem
V drugem primeru (prototip se razvija do končne aplikacije) • Mora biti skladen z obstoječim okoljem • Dokumentiran po standardih v okolju • Razširljiv; lahko se ga prilagodi, da obdela količine podatkov, ki dejansko nastopajo, dosega zahtevane odzivne čase • Mogoče je vključiti varnostni vidik
RAD (Rapid Application Development) • Hibridna metodologija, ki vključuje vidike SDLC im prototipnega pristopa • Cilj: razviti rešitev v predpisanem času (namesto rešitve, ki ustreza predpisanim zahtevam, …) • Uporablja se v več variantah, kombinira z drugimi pristopi • Intenzivna uporaba razvojnih orodij: J4G, CASE, …
JAD - Joint Application Design Skupno (skupinsko) načrtovanje aplikacij: • Team ključnih uporabnikov in informatikov v intenzivnem strukturiranem postopku opredeli zahteve za aplikacijo • Nadomesti posamične intervjuje s ključnimi uporabniki • Cilj: doseči soglasje med uporabniki z različnih organizacijskih enot, ki imajo lahko nasprotujoče zahteve
Računalništvo uporabnikov Programiranje uporabnikov, osebna raba računalnikov, … (ang.: End User Development ali End user computing): Pristop k razvoju IS kjer uporabniki (ki niso računalniški oz. informacijski strokovnjaki) razvijajo (manjše) aplikacije, ki se nanašajo na njihovo strokovno področje, tipičnoz uporabo orodij kot so na primer preglednice, sistemi za upravljanje relacijskih baz podatkov.