Forelesning IMT Mars 2009

Like dokumenter
Forelesning IMT apr 2010

Open Source Software Development

Faglærer : Tom Røise. IMT Objektorientert systemutvikling 1. Temaer. IMT3102 Objektorientert systemutvikling Introduksjon av emnet høsten 2011

Faglærer : Tom Røise. IMT Objektorientert systemutvikling 1. IMT3102 Objektorientert systemutvikling. Læringsutbytte i emnebeskrivelsen.

Distributed object architecture

Tom Røise. IMT 2243 : Systemutvikling 1. Forelesning IMT Januar Offshore Software Development. Offshore Software Development

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Open Source Community

EKSAMEN 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA. Tom Røise. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

OOSU 22.sept Pattern har sin opprinnelse innen arkitektur (byplanlegging / bygninger)

Tom Røise 9. Februar 2010

Moderne samhandling gir konkurransefortrinn

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Distributed object architecture

Lynkurs 10. Januar 2012

Introduksjon til kurset og dets innhold

Operativsystemer: Litt IT- og Linux-historie

Får man det man betaler for?

Konfigurasjonsstyring

Operativsystemer: Litt IT-historie

Fri programvare i helsesektoren en realitet! Presentasjon av Enkeltoppgjør

Windows eller Linux. i MinButikk

Operativsystemer: Litt IT- og Linux-historie

AlgDat 10. Forelesning 2. Gunnar Misund

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Forside for sluttrapport

F.I.F.F.I.G. Fleksibelt og Innovativt system For FakultetsInformasjon og andre Greier

FORSIDE ved besvarelse av hjemmeeksamen, semesteroppgave, rapport, essay m.m.

Tom Røise 18. Februar 2009

STRATEGISK PLAN

Bilag til kjøpsavtalen for Transportadministrasjon K Bilag 3 - Kundens tekniske plattform

altinn tjenester 3.0

Endelig en løsning på informasjonsutfordringen alle DLE i Norge sliter med!

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

Tom Røise 27.Jan 2011

AlgDat 12. Forelesning 2. Gunnar Misund

Brukbarhet ved benyttelse av fri programvare i systemutvikling - en praktisk studie

Undervisning i Smidige metoder ved Universitetet i Oslo

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Altinns nye tjenesteverksted. Lars Vegard Bachmann, produkteier portal og tjenester, Altinn

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Kap 11 Planlegging og dokumentasjon s 310

Forprosjektrapport Gruppe 30

GJENNOMGANG UKESOPPGAVER 9 TESTING

Testdokumentasjon. Testdokumentasjon Side 1

Tittel: 'Kompositthuset' - nasjonal kompetansebase for kompositt

CORBA Component Model (CCM)

MINE BESTE RÅD TIL OFFENTLIG SEKTOR

11 Planlegging og dokumentasjon

Installere JBuilder Foundation i Mandrake Linux 10.0

fleksibilitet når det gjelder geografisk plassering og etablerte arbeidsrutiner. Qubic cms

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

geonorge - en geografisk tjenestebasert infrastruktur uten sidestykke.

Læringsmål. INF1050 dagsorden 14. jan Formålet med prosjektet. Den obligatoriske prosjektoppgaven

Forelesning IMT mars 2011

FORESPØRSEL. Fra. Innherred samkommune (ISK) Bestående av Verdal kommune og Levanger kommune. leveranse av:

FORPROSJEKT. Gruppemedlemmer: Raja Zulqurnine Ali Muddasar Hussain (Gruppeleder/Prosjektleder) Zain-Ul-Mubin Mushtaq Christopher Llanes Reyes

Velkommen til INF115

Innhold. Innledning Del 1 En vei mot målet

Kurskategori 3: Utvikling av IKT- systemer. høsten

SSA-K Bilag 1 Kundens kravspesifikasjon

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

LØNNER DET SEG Å INVESTERE I FRI PROGRAMVARE?

Åpen innovasjon og tjenesteinnovasjon

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Prosjektrapport. Informasjonssikkerhet og risiko ved bruk av fri programvare eller åpen kildekode i IKT-løsninger for helsesektoren.

Modellering IT konferanse

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Capgemini Bergen. og vi snakker om... Simply. Business Cloud. Rolf Wangsholm regiondirektør

Forretningsmodeller med Fri Programvare

Daniel Grøtting, Øyvind Pettersen og Guro Johanson

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

Åpent alle veier Roar Skålin, IT-direktør ved Meteorologisk institutt. E-post: Bilder/illustrasjoner fra met.

Yrkesforedrag. Yrkesforedrag

SOLICARD ARX. Adgangssystemet som gir deg ubegrenset frihet. An ASSA ABLOY Group company

Hensikten med denne delen av kurset. Objektorientering hva er det? Objektets egenskaper. Best practises ved programvareutvikling

UNIVERSITETET I OSLO

GJENNOMGANG AV NOEN ULIKE LISENSTYPER - MED HOVEDVEKT PÅ GPL/LGPL. Advokatfirmaet Rohde Garder DA, Oslo. a) Hva fri programvare er, og ikke er

FriKomPort - Brukerkonferanse

Bilag til kjøpsavtalen for Antivirusløsning K Bilag 1 - Kundens kravspesifikasjon

Tom Røise 28.Jan 2010

TDT4105 Informasjonsteknologi, grunnkurs

Visma EasyCruit. Et kort innblikk i den siste produktutviklingen. August Norsk

UKE nn Oppgave. Fagprøve Dataelektroniker. Prøvenemd Dataelektroniker VESTFOLD FYLKESKOMMUNE

A Study of Industrial, Component-Based Development, Ericsson

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Hvordan evaluerer man kvaliteten på et IT-system?

Gruppe 43. Hoved-Prosjekt Forprosjekt

PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING

Tom Røise 24.Mars 2009

PowerOffice Mobile Server

Web 2.0. Blogs. Hvorfor skal vi bry oss om disse teknologiene? Hva er fornuften i Web 2.0 og Social Software. Tags. Mash-ups RSS. MySpace ATOM.

Faggruppen Stormaskin DATAFORENINGEN OPPSUMMERING AV SPØRREUNDERSØKELSEN FAGGRUPPEN STORMASKIN

DIGITALNORWAY Toppindustrisenteret Et næringslivsdrevet initiativ for å digitalisere norske virksomheter

Visma Contracting Oppgradering til versjon 5.20

Dagens. Faglærers bakgrunn IMT 1321 IT-LEDELSE. Faglærer : Tom Røise 11.Jan IMT1321 IT-Ledelse 1

Kjære Stavanger borger!!

FriKomPort - Brukerkonferanse oktober 2008

Systemutviklingsmetoder

Transkript:

Dagens : Forelesning IMT2243 17. Mars 2009 Prosjektstatus innlevering 20. mars kl 23:59 Hvor er vi i emnet. Kort kommentar til viktige temaer og trender innen Systemutvikling som ikke er med i emnet To aktuelle temaer vi ser på idag Open Source Software Development Pensum : Artsaml. 6, 7 og den umerkede, mangler sider? Kommentar til temaer innen systemutvikling som vi ikke ser på Koding / Construction (jfr. RUP) delen av SU-prosjekter Utviklingsplattformer (.NET, Eclipse ) IT-sikkerhet i Systemutviklingsprosjekter Egenutvikling kontra Std.løsninger + Kunde/leverandør avtaler Mobile Løsninger og Grønn IT Sentrale SU-temaer som dekkes i 3.kl emnet IMT3102 OOSU : Design Patterns SOA Service Oriented Architecture Objektorientert Design ( vi introduserer det bare i IMT2243) Open Source Software Development Open Source begrepet er i første rekke knyttet til et sett av kriterier for distribusjon av programvaren man har utviklet. Det er altså ikke bare snakk om at kildekoden skal være tilgjengelig. Aktører som legger ut sitt arbeid som Open Source legger dette tilgjengelig i form av at mottaker har frihet til å bruke og bearbeide videre. Man kan etter å ha utviklet en programvare på tradisjonelt vis gjerne slippe det ferdig utviklede programmet ut som et Open Source prosjekt. Noen Open Source-prosjekter tar steget videre og anvender en helt ny måte å kjøre selve utviklingen av programvaren på. Man velger her å involvere brukere av programvaren i selve utviklingsog testingsaktiviteten. Det er dette vi ser nærmere på. Man etablerer en gruppe (ofte idealistiske) systemutviklere til å komme med sine bidrag i programvaren, samtidig med at man oppfordrer alle brukere der ute til å teste og komme med feilrapporter og forslag til utvidelser/ny funksjonalitet. IMT2243 Systemutvikling 1

Litt historikk innen OSSD 1983 GNU-prosjektet startet av Richard Stallman. Mål om å lage et Unixlignende operativsystem og distribuere det som fri programvare 1985 FSF Free Software Foundation stiftet av Richard Stallman Støtte til universell frihet til å distribuere og endre programvare uten (copyleft). Fokuserer på fri som i frihet ikke som i gratis! 1991 Linus Torvalds lanserer sin ide om å utvikle et operativsystem og drar dermed i gang prosjektet som resulterer i Linux. I løpet av 2002 har anslagsvis 8000 årsverk av frivillig illi utviklingstid tid resultert t i et operativsystem t som benytter på 25 % av verdens servere. 1997 Eric Raymonds diskuterer i sitt manifest The Cathedral and the Bazaar det han mener er fundamentale forskjeller mellom utviklingsprosesser for henholdsvis tradisjonell kommersiell programvare (Cathedral model) og internett-basert samarbeid og fri informasjonsdeling i prosjekter som Linux og Fetchmail. Her diskuteres The social context of Open Source Software. 1998 Open Source begrepet etableres (http://www.opensource.org/docs/osd) Hva finner vi om temaet på Wikipedia? http://en.wikipedia.org/wiki/open_source_software_development Felles karaktersitika ved sentrale Open Source prosjekter Karakteristika hentet fra Wide Open Open source methods and their future potesial av G.Mulgan m.fl (http://www.demos.co.uk/files/wideopen.pdf) Transparency Vetting of participants only after they ve got involved Low cost and ease of engagement A legal structure and enforcement mechanism Leadership Common standards Peer review and feedback loops A shared conception og goals Incrementalist small players can still make useful contributions Powerful non-monetary incentives Vi tar ikke for oss de ulike i distribusjonsformer og ulike lisensieringsavtalene som finnes innen fagfeltet. Se grunntakene som de fleste innen disse miljøene støtter på Open Source Initiative (link foran). Karakteristika ved OSSD-prosesser Må ha et startpunkt i form av et eksisterende produkt eller en genial ide. Gjerne også et nettverk av kontakter innen Open Source miljøer. Hvor mange utviklere tror dere et gjennomsnitlig OSSDprosjekt har? Ulike utviklingsprosesser (A. Capiluppi m.fl): Soloarbeid, en person eier og videreutvikler programvaren, men disktribuerer den som Open Source Soloarbeid med innslag av eksterne patcher. Her er det en utvikler, men eksterne bidragsytere gir inn feedback, patcher og eventuelt forslag til utvidelsr Gruppearbeid med interne patcher. En lukket utviklergruppe som gjør all videreutvikling selv. Gruppearbeid med reelle bidrag fra større utvikler- og brukermasser (Reelt OSSD). IMT2243 Systemutvikling 2

Et kroneksempel på OSSD Utviklingen av Linux ansees av mange som skoleeksemplet ikke bare på en velfungerende programvare distribuert som Open Source, men også som en reell OOSD utviklingsprosess der fordelene med å få engasjerte bruker- og utviklermiljøer (User Community og Developer Community) er utnyttet til fulle. Se : http://no.wikipedia.org/wiki/linux Kilder der dere finner mange eksempler på OSSD-prosjekt Se http://www.uversainc.com/download/top50.pdf for eksempler på vellykkede og velfungerende Open Source Prosjekter. Ellers er SourceForge og Freshmeat de viktigste kildene for å finne gode Open Source prosjekter. Merk at langt fra alle prosjketene er aktive. http://sourceforge.net/index.php http://freshmeat.net/ Open Source diskusjon : Har dere noen eksempler på profilerte Open Source prosjekter? Sett opp mot de systemutviklingsmodellene vi har gjennomgått hvilke karakteristika mener dere er sentrale innen OSSD? Hva finner dere igjen fra extreme Programming som kan være relevant i OSSD? Har dere noen betraktninger rundt viktigheten av responstid innen Open Source prosjekter? Hva er henholdsvis : User- og Developer Community og hvilken rolle spiller de i OSSD-prosjekter? Hvorfor tror dere folk bidrar som henholdsvis User og eller Developer? Hvorfor skulle du som HiG student vurdere å bidra? IMT2243 Systemutvikling 3

Open Source kommentarer : Kan dels med rette beskyldes for å være feature-drevne og uforutsigbare Modularitet i produkt vesentlig. Design og arkitektur nøkkelområder Kommunikasjon : epost, konfigurasjonsstyringsverktøy, wiki, web forum og prosjektplasser. Forking ganske vanlig at prosjekter forgreiner seg i løpet av livssyklus og eller skifter eier. En god rettesnor å heller gå inn å prege videreutviklingen av eksisterende prosjekt fremfor å lansere konkurrerende og overlappende prosjekter. Kommersielle aktører har for lengst entret arenaen - slipper eksisterende lukket programvare - kjører interne betalte utviklingsteam som forsøker å skape vinn-vinn situasjoner mellom selskap og brukermassen Prosessutfordringer innen OSSD Startpunkt i form av et eksisterende produkt eller en genial ide. Gjerne etablerte kontakter innen Open Source miljøer Basert på frivillighet. Må legge vekt på motivering av både utviklere og brukere Beslutningshierarkier og åpenhet rundt dette viktig Kort responstid Kjerneutviklere med ekstremkompetanse på systemdesign Utviklerne er også brukere (gjerne blant de avanserte brukerne), dermed blir fokus ofte snever når det gjelder type programvare (jfr. kategorier av programvare) Klare skiller mellom stabile versjoner av programvaren og versjoner under utvikling Nøkkelutfordringer hentet fra M.Levesques artikkel (artsaml. 7) Programvaren bærer ofte sterkt preg av å være utviklet av utviklerne for utviklere (en lukket verden) Har slitt med å få frem brukervennlige systemer særlig på Windows-plattformen. I de senere årene har utviklingen her vært meget positiv for eksempel med programvare som FireFox og OpenOffice. Dokumentasjonen på programvaren preges av å være laget av utviklere for utviklere Feature-driven utvikling Har vært klare tendenser til Religions-krig i forholdet mellom Open Source-miljøer og kommersielle aktører. Her er tendensen klart at man får oppmykning. Bl.a. har IBM distribuert utviklingsmiljøet Eclipse som Open Source. IMT2243 Systemutvikling 4

er en trend i tiden innen måten man driver systemutvikling på. Dette er vår bransjes svar på globalisering. Store aktører og store utviklingsprosjekter kobler til seg kompetansen der man får mest for pengene. Internasjonale firmaer etablerer miljøer med programmeringsog applikasjonsutviklings-kompetanse i lavkostland som India, Kina, Øst-Europa, men også i Irland, Israel og Canada Utviklingsmodellen ll i slike prosjekter blir spesiell. Forholdet mellom kunde og leverandør blir mer komplekst. Leverandør har ofte organisasjonsenheter både Onsite og Offshore Internt hos leverandøren opplever man kulturskiller, tidssoneproblematikk og tildels språkproblematikk som kompliserende for utviklingen. Fordelen er at kan få tak i meget kompetente programmerere / testere / designere til en langt lavere pris Nærheten mellom brukere og utviklere forsvinner. Ut fra detaljerte spesifikasjoner utvikler og tester Offshore-miljøene komponenter og delsystemer særlig innen større standardsystemer. Modellen kan benyttes til å utvikle alle typer systemer, men er kun hensiktsmessig i store prosjekter. Meget god skriftlig dokumentasjon og strenge kvalitetssikringsprosedyrer som etterleves er en forutsetning for å lykkes i slike prosjekter. IMT2243 Systemutvikling 5