doc. dr. Tomislav Rozman
[email protected]@bicero.com
www.bicero.comTwitter: @tomirozman
LinkedIn: http://si.linkedin.com/in/tomislavrozman
DOBA, Fakuteta za uporabne poslovne in družbene študije Maribor
Vsebina
1. Uvod v poslovno informatiko2. Poslovni informacijski sistemi3. Sistemi za podporo upravljanja4. E-poslovanje5. PIS in strateško načrtovanje v podjetju6. Razvoj PIS (splošno)7. Management poslovne informatike
4 sklop
Razvoj PIS
Management poslovne informatike
Razvoj PIS
● Modeli razvoja: waterfall, evolucijski: (inkrementalni, prototipiranje, XP)
● Faze razvoja:a. prenova poslovnih procesovb. zbiranje zahtevc. analizad. načrtovanjee. programiranjef. testiranje, verifikacija, validacijag. vpeljavah. vzdrževanje
Modeli razvoja - waterfall
Tradicionalni - waterfall1. Zbiranje zahtev
2. Analiza
3. Načrtovanje
4. Programiranje
5. Testiranje
6. Uvedba
Prenosti:+ definirani+ primerni za manjše projekte razvoja PIS
Slabosti:- ne deluje pri večjih projektih- stranka na začetku ne ve, kaj bi rada- rezultat (PIS) komaj na koncu
celoten PIS
Modul 1...n
Modeli razvoja - evolucijski
Inkrementalno-iterativni
Zbiranje zahtev
Analiza Načrtovanje
Programiranje
Testiranje
Uvedba
Prenosti:+ sprotni popravki na delih PIS+ možno vračanje nazaj v razvoju+ večja uporabnikova vpletenost
2-3 iteracije (ponovitve)
del PIS
Faze razvoja - zbiranje zahtev
● se prekriva s prenovo poslovnega procesa● poslušamo uporabnika, kaj želi● Rezultat:
○ seznam funkcionalnih zahtev (kaj naj sistem počne)○ seznam ne-funkcionalnih zahtev (zmogljivost)
■ št. uporabnikov (npr. 100 hkratnih iz 10 poslovalni)■ obremenitve (št. vnosov, povpraševanja, poročila)■ količina in vrsta podatkov (npr. samo tekst, multimedia, količina /
časovno enoto)■ dostop (intranet, internet, mobilno, od doma,..)
1. Zbiranje zahtev
Specifikacija zahtev za IS podjetja
1. korak: popis poslovnega procesa, ki ga želimo informatizirati (npr. z BPMN tehniko)
2. korak: izdelava podrobnih zahtev (Standard: IEEE 830)
○ glavni dokument za komunikacijo z dobaviteljem
○ vključiti v pogodbo o dobavi!○ funkcionalne in nefunkcionalne
zahteve!
Faze razvoja - zbiranje zahtev
● Vhod: intervjuji, obstoječa dokumentacija, opazovanje dela
● Izhod: seznam zahtev s prioritetami● Primer funkcionalnih zahtev:
○ Neformalne■ enostavno zapisati, dvoumno
○ Formalne■ težko zapisati, nedvoumno
1. Zbiranje zahtev
Faze razvoja - analiza zahtev
● Vhodi: specifikacija zahtev● Izhodi: Analiza izvedljivosti, projektni plani,
grobi načrt PIS, org. struktura, procesni diagrami
● Tehnike: ○ use-cases (primeri uporabe sistema)○ procesni diagrami (BPMN splošni)
2. Analiza
Faze razvoja - načrtovanje
● Vhod: analiza sistema● Izhod: načrt za PIS● Tehnike:
○ procesni model (BPMN-podrobni)○ podatkovni model (E-R, objektni), model podatk.
kocke○ model sistema (DFD)○ uporabniški vmesniki○ arhitektura sistema, infrastruktura (HW, SW)
3. Načrtovanje
Faze razvoja - izdelava
● Vhod: načrt PIS● Izhod: programska koda in izvedljiv program● Podrobnosti:
○ izdelava podatkovne baze○ programiranje poslovne logike (C, Java, Perl,...)○ Izdelava uporabniških vmesnikov (Windows, WEB,
mobilni)○ konfiguriranje obstoječih PIS in povezovanje
4. Programiranje
Primer programske kodepackage org.jboss.tutorial.asynch.client;
import javax.naming.InitialContext;
import org.jboss.aspects.asynch.Future;
import org.jboss.ejb3.asynchronous.Asynch;
import org.jboss.tutorial.asynch.bean.Echo;
public class Client
{
public static void main(String[] args) throws Exception
{
InitialContext ctx = new InitialContext();
Echo echo = (Echo)ctx.lookup("EchoBean/remote");
System.out.println("-------- Synchronous call");
String ret = echo.echo("normal call");
System.out.println(ret);
Echo asynchEcho = (Echo) Asynch.getAsynchronousProxy(echo);
System.out.println("-------- Asynchronous call");
ret = asynchEcho.echo("asynchronous call");
System.out.println("Direct return of async invocation is: " + ret);
System.out.println("-------- Synchronous call");
ret = echo.echo("normal call 2");
System.out.println(ret);
System.out.println("-------- Result of Asynchronous call");
Future future = Asynch.getFutureResult(asynchEcho);
System.out.println("Waiting for asynbch invocation to complete");
while (!future.isDone())
{
Thread.sleep(100);
}
ret = (String)future.get();
System.out.println(ret);
}
}
Faze razvoja - testiranje
● Vhod: program, omejitve testiranja (test cases)
● Izhod: seznam napak v programu ● Tehnike:
○ verifikacija: prevarjanje pravilnosti■ blackbox, whitebox■ test-case first
○ validacija: primerjava s specifikacijo zahtev
5. Testiranje
Faze razvoja - vpeljava
● Vhod: ○ Program, IT infrastruktura
● Izhod: ○ nameščen program v delovno okolje, izobraženi
zaposleni
6. Uvedba
Faze razvoja - vzdrževanje
● Vhod: ○ seznam napak, ki jih javijo uporabniki○ prioritete za implementcijo
● Izhod: ○ nova specifikacija zahtev in nov razvojni cikel
7. Vzdrževanje
Management poslovne informatike
Management poslovne informatike ● Vodstvene naloge CIO-ta:
○ Sprejemati prave odločitve o nabavi / razvoju IT!■ odločitveni modeli
○ Voditi zaposlene (v IT oddelku)■ ITIL, SPICE, delo z ljudmi (tehniško usmerjeni)
○ Vplivati na zaposlene izven IT oddelka■ izobraževanja, management zahtev, vpeljava IT
○ Pomagati vodstvu pri odločanju■ priprava strategije
○ Voditi IT projekte■ planiranje, spremljanje ljudi, financ, virov
○ Voditi IT vire■ evidence HW, SW, licenc,...
IKT - morje možnosti (1/2)
Ob ustanovitvi podjetja ali prenovi obstoječega je razmislek o informacijski strategiji neizogiben. Vsak prodajalec informacijske tehnologije zagovarja svoj izdelek ali storitev kot najboljšo, najcenejšo, najbolj razširljivo,...
Vas pa skrbi samo eno: kako čim ceneje izboljšati svoje poslovanje s pomočjo informacijske tehnologije.
DILEME:
● Kakšno strategijo ubrati na področju strežnikov? Kupiti lastne strežnike, uporabiti virtualizacijo ali jih najeti v podatkovnem centru ali 'oblaku'?
● Kateri operacijski sistem izbrati na strežnikih in delovnih postajah? Komercialni (Microsoft Windows, OSX), odprtokodni (Linux) ?
● Kakšna pisarniška orodja izbrati ? Microsoft Office, Open Office ali Google Docs?
Morje možnosti (2/2)
● Katero zaledno IKT tehnologijo izbrati? Microsoft Exchange e-poštni strežnik, Linux POP/SMTP e-poštni strežnik ali najeti storitev pri zunanjem ponudniku (Google mail)?
● Katero tehnologijo za spletno stran in intranet podjetja izbrati? Microsoft Sharepoint, odprtokodni CMS sistem (Typo, Joomla,...), Google Sites ali kaj drugega?
● Kateri poslovni (ERP) informacijski sistem izbrati ? OpenERP, Compiere, SAP, EPICOR iSCALA, Microsoft Navision ali takšnega po naročilu?
● Kateri sistem za upravljanje s strankami (CRM) izbrati? SalesForce, Microsoft CRM, Sugar CRM,...?
● Kateri sistem za upravljanje s poslovnimi procesi (BPMS) Izbrati? Intalio, Appian, Tibco, IBM Websphere, Oracle,...?
Primer: informacijska arhitektura za e-pošto
Primer - izbira BPM platforme
● 'Življenjska odločitev' podjetja / poroka○ ... poleg izbire ERP sistema ...
● Prepuščeni ste na milost in nemilost tržnikom, prodajalcem○ vsak hvali svoj BPM produkt
● preveč faktorjev, ki vplivajo na odločitev - kateri so za vas najpomembnejši?
Kako izbrati najprimernejši PIS za vaše podjetje?
Možnost 1: dovolimo tržnikom, da nas prepričajo
Možnost 2: izdelamo neodvisen, objektiven odločitveni model
Primeri faktorjev, ki jih moramo upoštevati so za vsako tehnologijo različni, zato tukaj podajamo specifične faktorje za PIS.
Zakaj izdelati odločitveni model? ... da lahko opravičimo izbiro pred vodstvom, lastniki,...
Izdelava odločitvenega modela
Odločitveni model za BPM orodje X:Faktor Ocena Faktorja s strani
preizkuševalcaPomembnost funkcionalnosti za podjetje(utež)
Rezultat za en faktor
1.1 Modeliranje / Grafični urejevalnik
9 10 90
... ... ... ..
8.4 Tehnologija in podpora / Podpora
5 10 50
Skupna ocena: =vsota vseh posamičnih rezultatov za vse faktorje
Odločitveni model izdelamo za vsa BPM orodja v ožjem izboru, nato primerjamo skupne ocene!
Odprto-kodna programska oprema
● Primeri:○ Open Office, Linux, Tomcat, OpenERP, Bonita Studio,...
● Prednosti:○ Ni začetnega stroška - licence, ○ hiter razvoj, razširjenost, odprti standardi
● Slabosti:○ Podpora, dokumentacija, izobraževanje○ hiter razvoj
Komercialna programska oprema
● Primeri:○ Microsoft Windows, Office, SAP, Dynamics, MiniMax ...
● Prednosti:○ uveljavljena, razširjena, večinoma dobra podpora in dokumentacija○ lokalni posredniki in podpora!
● Slabosti:○ cena licence, visok vstopni strošek, visoke cene izobraževanj ○ zaprti standardi izmenjave podatkov○ Pazljivo - 'maček v žaklju'○ Pazljivo - SKRITI STROŠKI!
■ npr. BPM platforma, ki temelji na Microsoftovih tehnologijah (prištejmo še ceno: Windows Server + SPPS + Exchange+Windows+Office)
Spletna in SaaS programska oprema
● Prednost SaaS orodij: ni potrebno nameščati programske opreme, potrebujemo le spletni brskalnik!
○ ni skritih stroškov infrastrukturne platforme (server, OS, sporočilni sistem, portal)
○ varnost (porazdeljeno po X strežnikih)
● Slabosti SaaS orodij: varnost podatkov, dostopnost.○ Nujno: urediti SLA pogodbo!
■ max. čas izpada, varovanje podatkov, arhiviranje, preprečevanje nepooblaščenega dostopa, IZVOZ!
● Primeri: Google APPS (Mail, Docs, Sites,..), Salesforce CRM, Microsoft Live
Najem, nakup ali outsourcing?
● Nakup HW (npr. strežniki) ali SW:○ prevzamemo skrb nad delovanjem (zaposlitev strokovnjaka, ki ga je
potrebno nenehno šolati,...!)○ amortizacija, vzdrževanje○ življenjska doba
● Najem HW, SW: ○ skrbimo za vsebino, ne delovanje!○ Sklenemo SLA! (odzivni časi, dostopnost 99.9%, ...)○ zaupamo zunanjemu podjetju?
● Razvoj Is: ○ lasten, zunanji
● Različni poslovni modeli (vzpostavitev, mesečni strošek,..)
● KOMBINACIJA!
Viri● doc. dr. Srečko Natek, Poslovna informatika, predstavitveno gradivo
DOBA, 2010● T. Rozman, Upravljanje poslovnih procesov, gradivo za seminar, 2011