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

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

Open Source Community

Open Source Software Development

Forelesning IMT Mars 2009

Forelesning IMT apr 2010

Distributed object architecture

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 10. Forelesning 2. Gunnar Misund

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

Konfigurasjonsstyring

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

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

Operativsystemer: Litt IT-historie

Lynkurs 10. Januar 2012

inf 1510: bruksorientert design

Operativsystemer: Litt IT- og Linux-historie

11 Planlegging og dokumentasjon

Jon Hammeren Nilsson, Anders Emil Rønning, Lars Grini og Erling Fjelstad

Oppgave 1: Multiple choice (20 %)

Innhold. Innledning Del 1 En vei mot målet

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

Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren Camilla Kaasi(s188070) Roza Moustafa(s188113)

Gruppe 43. Hoved-Prosjekt Forprosjekt

Kap 11 Planlegging og dokumentasjon s 310

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

Får man det man betaler for?

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

Kort om kursene INF1100 og MAT-INF1100L

S y s t e m d o k u m e n t a s j o n

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

Introduksjon til kurset og dets innhold

Unified Consulting AS Objectnet AS

A Study of Industrial, Component-Based Development, Ericsson

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

Telenors satsing på fri programvare Paul Skrede - GoOpen 2009

Operativsystemer: Litt IT- og Linux-historie

Tom Røise 9. Februar 2010

Distributed object architecture

INF130 Databehandling og analyse

Søknadsfrist

Søknadsfrist

Pedagogisk regnskapssystem

UKEOPPGAVER 13: KONFIGURASJONSSTYRING

Forretningsmodeller med Fri Programvare

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

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

Velkommen. Torsdag 24 januar 2019 time 1. Yngve og Jo. IN 1030 Systemer, krav og konsekvenser

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

Erfaring med BYOD. Espen A. Fossen, Sikkerhetssjef :02

Forprosjektrapport ElevApp

Hvordan er arbeidsmengden i forhold til omfanget i studiepoeng?

INF109 (kun et utvalg av kommentarene er med i denne rapporten)

Studieplan 2017/2018

Kurskategori 3: Design av IKT- systemer. Normalt vår, 14/15: høst

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

Automatisering av datasenteret

Studieplan 2011/2012

Dokumentasjon av Git. Vedlegg F

BIOS1100 Innføring i beregningsmodeller for biovitenskap: erfaringer, semesterintegrering og videre utvikling

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Pillbox Punchline

Fri programvare og 3.parts hosting

1KHD11PD Fagdidaktikk i kunst og håndverk

Introduksjon til Eclipse

VIDEREUTDANNING INNEN PEDAGOGISK BRUK AV IKT. Klasseledelse med IKT. Vurdering for læring med IKT 2. Grunnleggende IKT i læring

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

Forelesning IMT mars 2011

1 of 7 01/13/ :40 PM

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

PLAN. INF5180 Produkt og prosessforbedring i systemutvikling DEL 5 Målsetninger og måling. Geir Amsjø. geirams@ifi.uio.no, geir.amsjo@spitia.

Podcast: Bruksområder og effekter på studenters læring. LINK Senter for læring og utdanning

Studieplaner m/eksamensdatoer 2011/2012

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

PERIODISK EMNEEVALUERING

LØNNER DET SEG Å INVESTERE I FRI PROGRAMVARE?

INF112(kun et utvalg av kommentarene er med i denne rapporten)

Kravspesifiseringsprosessen

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

Skyløsninger. Sikkerhet og leveransemodell

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

Digital tilstand i høyere utdanning 2011

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

Hva er mappevurdering?

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

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

CORBA Component Model (CCM)

Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i

Her finner du bl.a. oppskrifter på: - Plenumssamlingene (s3) - Skriveseminaret (s4) - Arbeidet i grupper og krav til innleveringer (s5-6)

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

IA4412 Systemutvikling og dokumentasjon Læringsutbytte, arbeidsbelastning og vurderingsformer

1NAD21PH og 1NAD21PD Fagdidaktikk i naturfag

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

Velkommen til INF115

Studieplan 2019/2020

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Studentdrevet innovasjon

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

Transkript:

IMT3102 Objektorientert systemutvikling Introduksjon av emnet høsten 2011 Læringsutbytte i emnebeskrivelsen : Studentene skal : oppnå kunnskaper om smidig systemutvikling og Open Source-basert systemutvikling forstå Design Patterns og relevansen av å benytte dette ved programvaredesign. Kjenne tradisjonelle og moderne programvarearkitekturer Ha ferdigheter til å gjennomføre analyse og design basert på objektorientert modellering i UML, og kunne gi faglig begrunnede arkitekturforslag ved utvikling av mellomstore programvareløsninger 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 1 Temaer Kursets temaer Vekt Smidige systemutviklingsmetoder og Open Source Software Development (35 %) Objektorientert analyse og design med anvendelse av Unified Modelling Language (25 %) Programvarearkitektur og Design Patterns (40 %) 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 2 IMT3102 Objektorientert systemutvikling 10 studiepoeng Bachelor i Programvareutvikling Forutsetter IMT2243 Systemutvikling og bygger på IMT1082 Objektorientert programmering 4 timer pr uke (tirsdag og onsdag) forelesning, diskusjon, mappearbeidveiledning + 2 timer øremerket veiledning (når?) Evalueringsform : mappeevaluering!!! Tre individuelle arbeider to skal i presentasjonsmappa Tre gruppearbeider to skal i presentasjonsmappa Karakter settes ut fra presentasjonsmappa ingen eksamen Utstrakt tilbud om veiledning gjennom semesteret, men IKKE retting underveis kan forbedre arbeidene Fordyper oss innen utvalgte temaer fra Systemutvikling 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 3 IMT3102 - Objektorientert systemutvikling 1

MAPPEARBEIDENE Mappe 1 : Open Source Software Development lære om denne arbeidsformen gjennom å kartlegge, analysere og sammenligne utvalgte OpenSourceprosjekter (Gruppearbeid 2-3 studenter) Mappe 2 : Smidige systemutviklingsmetoder lære mer om SCRUM og øvrige smidige metoder. Undersøke forsknings- og erfaringsstatus rundt anvendelse av slike systemutviklingsmetoder. (Individuell) Mappe 3 : Design Patterns Gå inn i detaljer rundt utvalgte Gang of Four patterns viktig fagfelt for enhver programvareutvikler (Individuell) 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 4 MAPPEARBEIDENE Mappe 4: Inceptionfasen i systemutviklingsprosjekt smidig anvendelse av Unified Process og UML med vekt på problemforståelse og krav (gruppe) Mappe 5: Elaborationfasen i systemutviklingsprosjekt vekt på vurdering av alternative teknologier og programvareløsninger. Utforme skisse til arkitektur der også Cloud Computing inngår (gruppe) Mappe 6: Refleksjonsnotat der de ulike temaer vi har tatt for oss i emnet settes i perspektiv (individuell) 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 5 Open Source Software Development Hva vet dere nå om dette temaet? 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 6 IMT3102 - Objektorientert systemutvikling 2

Open Source : studentenes ståsted Hvilke Open Source programvare bruker dere og hva er historikken til disse? Hva tror du har vært motivasjonen for å bidra som henholdsvis User og eller Developer i disse? Ser dere fordeler og farer ved å basere seg på Open Source programvare? Er Open Source utbredt innen systemutviklingsbransjen? Og hvordan gjøres det (gjenbruke eller distribuere ) Hvorfor skulle du som HiG student vurdere å bidra i et Open Source prosjekt? Hva med å benytte seg av Open Source tankegang i forbindelse med Bacheloroppgaven til våren? 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 7 Open Source Community Open Source programvare : Programvare som lisensieres under en copyright-lisens som er i overensstemmelse med Open Source Definition og der kildekoden distribueres på et format som kan leses av mennesker. Selve utviklingsprosessen tilstrebes utført i et åpent og samarbeidsfremmende miljø Mye relevant stoff på : http://opensource.org/docs/osd Open Source Software Development (fra SysUtv) Open Source begrepet knyttes ofte til et sett av kriterier for distribusjon av programvaren man har utviklet. Det er en misoppfatning at det her er snakk om gratis programvare. Aktører som legger ut sitt arbeid som Open Source gjør programvaren tilgjengelig i form av at mottaker gis frihet til bruk og også bearbeide den videre. Tilgang på kildekoden er et helt sentralt element i dette. Man kan velge å utvikle en programvare på tradisjonelt vis og deretter slippe den ut som Open Source. Noen Open Sourceprosjekter tar steget videre og anvender en helt anderledes måte å kjøre selve utviklingen av programvaren på. Man velger her å involvere brukere av programvaren i selve utviklings- og testingsaktiviteten. Dette er OSSD! Man etablerer en gruppe (ofte idealistiske) systemutviklere som kommer med sine bidrag i programvaren (Developer Community), samtidig oppfordrer man alle brukere der ute til å teste og komme med feilrapporter og forslag til utvidelser (User Community). 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 9 IMT3102 - Objektorientert systemutvikling 3

Litt historikk innen OSSD 1983 GNU-prosjektet startet av Richard Stallman. Mål om å lage et Unix-lignende 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. Fokuserer på fri som i frihet ikke fri som i gratis! 1991 Linus Torvalds lanserer sin ide om å utvikle et operativsystem og drar dermed i gang prosjektet som resulterer i Linux. I 2002 hadde anslagsvis 8000 årsverk av frivillig utviklingstid resultert i et operativsystem som ble benyttet 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 (Bazaar model). 1998 Open Source begrepet etableres (http://www.opensource.org/docs/osd) 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 10 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. Ulike utviklingsprosesser (A. Capiluppi m.fl): Soloarbeid, en person eier og videreutvikler programvaren, men distribuerer 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 utvidelser 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). 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 11 Eksempler 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 er utnyttet til fulle. Andre kjente OpenSource : Apache Software Foundation, Mozilla Project, KDE, Open Office, Eclipse, Android, Chromium Viktige kildene for å finne gode Open Source prosjekter http://sourceforge.net/index.php http://freshmeat.net/ http://launchpad.net/ http://code.google.com/intl/no/ 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 12 IMT3102 - Objektorientert systemutvikling 4

Open Source roller : 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 13 Open Source noen små drypp : Motivasjon til deltagelse Idealisme, JOBB, Læring, Livsstil - addicted, Ære, Aksept blant likesinnede, CV-fokus, Karrierestart, Savner noe i programvaren man selv har behov for, Egoboo Kommunikasjonskanaler : Web site, Mailing lists, Versjonskontroll, Bug tracking, Real-time chat Lederstiler : Konsensus-basert (votingsystem/lazy consensus), Enehersker, Benevolent dictator Konfigurasjonsstyring : Alt Jon L. sa i Systemutvikling er helt og fullt inne i alle typer Open Source prosjekter (et must i OSSD) 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 14 Open Source temaer : User Community : Påpeke feil (Thousand eyeballs ansvar for å sjekke duplikater mer og mer i fokus) Melde nye krav og ønsker, Være aktive på informasjonsfora skape diskusjon og debatt rundt SW, Skape entusiasme for bruk innselgere i egen org Release policy : Gamle feil rettet og nye introdusert, Ny funksjonalitet eller utvidet funksjonalitet Endringer i installasjonsrutiner Tredelt : 2.2.1 Major.Minor.Micro ulikt grad av kompabilitet 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 15 IMT3102 - Objektorientert systemutvikling 5

Open Source Bug-lifecycle 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 16 Open Source kommersielle aktører stadig mer toneangivende Hva er de kommersielle aktørers motiv? NB! INGEN GJØR DET AV REN «GODHET» - Penger og makt ligger alltid som et motiv bak. Programvaren kan være et delprodukt som bidrar til å skape goodwill for aktørens hovedprodukt (eks. bidrag for å øke interesse for HW ) Opererer med Dual lisens (kommer mer og mer) Innfallsport til at man begynner å benytte Cloud-tjenester Ønske om å nå et marked for salg av supporttjenester (konsulentvirksomhet) Tjene pengene på Reklame Slippe ellers dødende interne applikasjoner skape blest goodwill Kompetanseoppbyggingstiltak 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 17 Open Source MAPPE 1 : Gå sammen i grupper straks Start sonderingsarbeidet med å finne OSSD-prosjekter idag. Se om dere kan finne informasjon som forteller noe om: Målsetting for prosjektet, Historikken bak prosjektet, Hvem utvikler, organisering, lisensvalg, bruk av informasjonskanaler(web, wiki, mailinglister, IRC), Informasjon om utviklere/antall brukere, releasehistorikk, popularitet, prog.språk, plattformer Søk etter prosjekter som er ulike av «natur». Kommersielle vs frivillige, store vs små, populære vs upopulære, gamle vs nye, betalte vs ubetalte, «åpne vs lukkede» Les pensum innen OSSD 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 18 IMT3102 - Objektorientert systemutvikling 6

Open Source Mappe forts. : Kartlegg mange ulike prosjekter før dere velger ut de 3 4 OSprosjekter som dere så skal gå inn og granske nøye. NB! bruk tid til å orientere dere først og bytt gjerne ut enkeltprosjekter underveis. Hvis dere kontakter prosjektgruppen gjør klart at dere har et education-oppdrag som er kartlegging ikke deltagelse. Ikke spill potensielle utviklere for å få ut info mot reglene og god OSSD skikk. Hvis dere vil være Users så gjør det seriøst. Bruk tilgjenglig og åpen info for alt det er verdt. (Bug-fix rapporter, dokumentasjon ) Kildehenvisninger viktig. Prosjektsiden klart viktigs kilde, men mys også litt rundt etter prosjektomdømme utenfor. 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 19 Open Source Mappe 1 forts. : Prosjekter som ble undersøkt i fjor (dere kan MAX ha 1 av disse i deres arbeid) : Joomla! ffdshow VirtualBox Google Chromium Audacity PCSX2 Android 7-zip Bloodshed Dev-C++ 16.Aug 2011 Forelesning 1 i IMT3102 høst 2011 20 Open Source Software Development Fogels oppstartstips for å drive OSSD : Se etter tilsvarende / nært beslektede prosjekter Bli heller med i et eksisterende enn å starte opp nytt hvis mulig Navnsetting av prosjektet Lag god beskrivelse av målet med prosjeket : OpenOffice : To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open component based APIs and an XMLbased file format Beskriv : nedlastningsformat, krav til verktøybruk (versjonskontroll, bug-tracker), angi lisens prosjektet legges under, hosting av prosjektet Klargjør utviklingsstatus, avklar kommunikasjonskanaler og ha gode beskrivelser av rutiner for bidragsytere IMT3102 - Objektorientert systemutvikling 7