INF1050 Systemutvikling

Like dokumenter
Prosjektoppgave våren 2007

INF1050 Systemutvikling

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

UNIVERSITETET I OSLO

Velkommen til. INF Systemutvikling. INF1050 dagsorden 16. jan Læringsmål. Læringskomponenter. Om kurset. o Læringsmål.

UKE 11 UML modellering og use case. Gruppetime INF1055

Beskjed fra Skagestein

Joly. Brukerdokumentasjon for foreleser/administrator

Use Case-modellering. INF1050: Gjennomgang, uke 04

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Fra krav til objektdesign

Prosjektoppgave INF3290 høsten 2017

INF1050 dagsorden 24. jan 2007

Utvikling fra skallet og inn

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Produktrapport Gruppe 9

Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?

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

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

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Dagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer

INF1050 dagsorden 31. mars Evaluering, 23. april (Uke 17) Hypotetisk-deduktiv metode. Informasjonssystemet gjenspeiler «virkeligheten

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Prosjektoppgave INF3290 høsten 2018

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Oppdatering av person/studentforekomster i FS mot folkeregisteret

2. Beskrivelse av mulige prosjektoppgaver

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

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Prosjektoppgave INF3290 høsten 2017

Innhold. Innledning Del 1 En vei mot målet

Gruppedannelse og samarbeid. INF1050 dagsorden 25. jan Hva skal leveres, og når? Formålet med prosjektet

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

INF Obligatorisk innlevering 7

Oversikt over flervalgstester på Ifi

NB! Endring i undervisningsplanen

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

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Kravspesifikasjon. Kravspesifikasjon. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Hva skal systemet gjøre? Hvem og hva påvirker krav?

Kravspesifikasjon. Erik Arisholm. Simula Research Laboratory. Institutt for Informatikk. INF1050-krav-1

INF Obligatorisk prosjektarbeid

Hvorfor (og når)? INF1050 dagsorden 19. april Evaluering, 22. april (Uke 16) Informasjonssystemet gjenspeiler «virkeligheten»

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl

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

Prosjektoppgave INF3290 høsten 2015

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

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

Kravspesifikasjon. Dagens forelesning. Mal for kravspesifikasjon. Hvordan finne fram til kravene? Kravspesifikasjon og objektorientert analyse

SLUTTRAPPORT. gruppe 42 Nils-Kristian Liborg, Bente Brevig, Tom Olav Bruaas, Eirik Lied og Hege Lid Pedersen. 25. november 2002

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Prosjektoppgave INF3290 høsten 2016

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

Kolonihageprosjektet. Kandidatene 60, 142, 265, 317 og 381

Spesifikasjon av Lag emne

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

Brukermanual. Studentevalueringssystem

UML-Unified Modeling Language

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

UML 1. Use case drevet analyse og design Kirsten Ribu

INF Obligatorisk prosjektarbeid INNHOLD:

Planlegging og dokumentasjon

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Obligatorisk oppgave 1 i INF 4130, høsten 2008

Prosjektoppgave INF2120 Våren 2007: Rebusløp

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

INF Obligatorisk prosjektarbeid INNHOLD:

SRD. Software Requirements and Design GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

«Vi vil sikre dine opplysninger og gi deg full åpenhet om og kontroll over opplysningene»

INF1050 Klasseromsoppgave Uke 6

Obligatorisk oppgave INF3221/4221

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007

UNIVERSITETET I OSLO

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

UNIVERSITETET I OSLO

Innholdsfortegnelse. 1.1 Formålet med systemet Systemdefinisjon Problemområdet...4

Forklarende tekst under hvert bilde

Trafikanten Pluss, delleveranse 2. Gruppe 8 Eivind Hasle Amundsen [eivinha] og Eigil Moe [eigilmo]

INF100 INNLEVERING 3 HØSTEN 2004

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2008

Oppgave 1: Multiple choice (20 %)

DRI2001 forelesning

Testrapport. Studentevalueringssystem

Transkript:

INF1050 Systemutvikling Krav til innlevering: Innleveringene skal ha: Forside med gruppenummer, dato, leveransenummer, navn på gruppemedlemmer med brukernavn og navn på prosjektet Forklarende overskrifter Beskrivelser til tabeller og figurer Beskrivelser av hvilke antagelser og forutsetninger dere har gjort (Husk sidetall på sidene) Delrapportene skal være på pdf-format og ha filnavnene inf1050_delrap1.pdf, inf1050_delrap2.pdf,., inf1050_delrap5.pdf. Hver fil sendes som vedlegg til en e-post med "subject" samme tekst som filnavnet til gruppelæreren (Dette gjøres på e- postadressen inf1050-x@ifi.uio.no der x er øvingsnummeret). Er det mer enn en fil, skal filene pakkes (zip, rar, tar, tar.gz) og sendes til meg. Prosjektoppgave våren 2006 Innledning Formålet med kurset er å bli i stand til å delta i utviklingen av informasjonssystemer. Dette inkluderer å kjenne til bruken av informasjonssystemer kjenne til ulike strategier for styring av systemutviklingsarbeidet kunne planlegge, gjennomføre og evaluere et systemutviklingsprosjekt kunne analysere en problembeskrivelse og lage en data- eller objektorientert modell ut fra ulike behov i henhold til lover og regler på bakgrunn av en analysemodell, kunne utforme og realisere en prototyp med brukergrensesnitt og database kunne evaluere en prototyp forstå og kunne anvende ett (eller flere) modelleringsspråk med tilhørende utviklingsmiljøer forstå prinsippene for hvordan et databasehåndteringssystem kan benyttes Prosjektet skal gi erfaring i alle disse temaene, gi en progresjon i studiet og utgjøre en del av grunnlaget for vurderingen (karakterbedømmelsen). Prosjektet skal gjennomføres av grupper på 3-4 studenter. Gruppen skal samarbeide om å lage et datamaskinbasert informasjonssystem. Gruppen kan selv velge til hvilke formål informasjonssystemet skal brukes og hvilket område det 1

skal handle om. For å opprettholde tilstrekkelig framdrift og sikre at man komme i mål, bør man velge et område som minst én i gruppen har kjennskap til. Eksempler på systemer som kan passe å lage innenfor disse rammene, er et informasjonssystem for utleie av filmer, for håndtering av varer og kunder, for reservasjoner og abonnementer i et teater, for romreservasjoner i et hotell, for å holde oversikt over husdyrhold og fôring, for å holde orden på utstillinger og gjenstander for et museum, for en organisasjon med fritidsaktiviteter, eller et adgangskontrollsystem. Det kan være en fordel om gruppen kjenner noen som ønsker et datasystem og lager systemet for deres behov, slik at oppgaven blir mest mulig realistisk. Det er også mulig å utvide eller forbedre et eksisterende system. Videre krav til hvordan systemet skal lages og hvilke verktøy som skal brukes, følger av delinnleveringene nedenfor. Studentene danner selv grupper. 17. februar er siste frist for å meddele sin prosjektgruppe om man trekker seg. De som forsetter etter denne datoen, regner vi med vil fullføre kurset. Det vil skape store problemer for medstudentene hvis noen trekker seg fra prosjektet senere i kurset. 2

Hva skal leveres? Ved avslutningen av prosjektet (se punkt 6 nedenfor) skal det leveres en rapport på om lag 30 sider som inneholder tre delrapporter. Rapporten teller om lag 40 % i den endelige karakteren. Selv om vurderingen gjøres hovedsakelig på grunnlag av den innleverte rapporten, er det ikke utelukket at sensorene vil prøvekjøre systemet eller se litt på kildekoden for programmene. Delrapport 1. En beskrivelse av systemet som er utviklet Denne delrapporten er av interesse for dem som skal bruke eller videreutvikle systemet. Rapporten kan bygge på tekstene fra de relevante delinnleveringene. Rapporten må omfatte følgende punkter: 1. Oppdatert prosjektbeskrivelse (se delleveranse 1 nedenfor for detaljer) 2. Bruksmønstrene (jf. delleveranse 4) med kortfattede forklaringer. 3. Sekvens- og klassediagram for et utvalgt bruksmønster (jf. delleveranse 4) 4. Dataorientert klassediagram (ugruppert og gruppert) og tabellstruktur for databasen. (jf. delleveranse 2) Det ligger i sakens natur at det dataorienterte klassediagrammet antakelig ikke vil stemme overens med klassediagrammet for bruksmønsteret i punkt 3. Ulikhetene bør imidlertid kommenteres. 5. Kortfattet brukerdokumentasjon som viser web-grensesnittet for det ferdige systemet og beskriver hvordan det skal brukes Drøft gjerne hvorfor de valgte løsningene er foretrukket framfor mulige alternativer Delrapport 2. En beskrivelse av selve utviklingsprosessen Denne delrapporten er av interesse for dem som skal gjennomføre liknende prosjekter. Her skal dere beskrive på hvilken måte prosjektet ble gjennomført. Beskrivelsen skal være forankret i teori som er formidlet i kurset gjennom lærebøker og på andre måter. Rapporten bør omfatte følgende punkter: 1. Rammer for prosjektet (tid, penger, teknologisk plattform, ) 2. Utviklingsstrategi og utviklingsmetoder 3. Milepælsplan (kanskje i flere revisjoner) 4. Risikovurderinger 5. Oversikt over endringer som følge av reguleringsaktiviteten 6. Juridiske og etiske betraktninger (hvis relevant) 7. Anvendte utviklingsverktøy og erfaringer med dem 8. Anvendte plattformer og halvfabrikata og erfaringer med dem Delrapporten skal inneholde en oversikt over eventuelle forsinkelser i forhold til de oppsatte innleveringsfristene. Mange og ubegrunnede forsinkelser kan trekke ned i vurderingen av prosjektet. 3

Delrapporten bør avsluttes med en kort oppsummering av erfaringene fra systemutviklingsprosessen. Hva bør grupper som skal gjennomføre liknende prosjekter passe på? Hva gikk bra, og hva gikk ikke fullt så bra, og hvor ligger fallgruvene? Passer teorien til å beskrive det dere har opplevd i prosjektet? Fikk dere noen overraskelser eller problemer av faglig eller organisatorisk karakter? Hva ville dere gjøre annerledes neste gang dere skulle gjennomføre et tilsvarende prosjekt? Hva fikk dere ut av evalueringen av eget system, og hvilke tiltak ble truffet på grunnlag av den? Delrapport 3. En evaluering av et annet system Denne delrapporten er av interesse for dem som er i ferd med å avslutte utviklingen av et system og skal ha ideer for den siste finpussen. Jf. delleveranse 5 nedenfor Dessuten må rapporten angi URL og eventuelle passord til det kjørende systemet, og angi hvordan man kan på tilgang til kildekoden for systemet. Rapporten skal avsluttes med en litteraturoversikt, dvs. en liste over de bøker, artikler og nettsteder som teorien er hentet fra. Innlevering av rapportene Rapportene leveres i 2 eksemplarer i ekspedisjonen til Institutt for Informatikk, 2. etasje, Informatikkbygget. Åpent kl. 1200-1500, innen fredag 26. mai kl. 1500 Ikke skriv navn på rapportene, bare kandidatnumre. Kandidatnumrene vil finnes på Studentweb. Identifisér også rapportene med en tittel, f.eks. Avfallshåndteringssystem 4

Del-leveranser På veien fram til den avsluttende leveransen skal det leveres fem delleveranser (delrapporter) som spesifisert nedenfor. Disse skal leveres til gruppelæreren for vurdering, tilbakemelding og godkjenning, men teller ikke i karaktervurderingen. Materiale fra delleveransene vil imidlertid ganske sikkert kunne brukes i de avsluttende rapportene. Delrapportene skal være på pdf-format og ha filnavnene inf1050_delrap1.pdf, inf1050_delrap2.pdf,, inf1050_delrap5.pdf. Hver fil sendes som vedlegg til en e-post med subject samme tekst som filnavnet til gruppelæreren (Dette gjøres på e-postadressen inf1050- x@uio.no der x er øvingsnummeret). Hver gruppe skal sende bare èn e-post for hver innlevering (den dokumentansvarlige i gruppen sørger for dette), men alle gruppemedlemmene bør kopieres på denne e-posten. 1. Prosjektbeskrivelse. Ide og mål for det påtenkte systemet 3. februar (Uke 5) Prosjektbeskrivelsen skal danne grunnlaget for en beslutning om det påtenkte systemet skal utvikles eller ikke. (I dette tilfelle er jo utfallet av denne beslutningen gitt, men glem det ) Innleveringen skal bestå av et dokument som skal inneholde en beskrivelse av virksomheten som informasjonssystemet skal betjene og hvilken type virksomhet det er (kortfattet, maks. 1/2 side). formålet med informasjonssystemet interesseområdet hvilke virkninger (effekter) systemet er tenkt å gi. Virkningene skal beskrives i forhold til interesseområdet og eksisterende informasjonssystem. en oversikt over hvilke brukergrupper systemet skal betjene og en foreløpig liste over hvilke funksjoner det skal ivareta for hver brukergruppe 2. Liten datamodell og tilsvarende database med eksempler på SQLspørringer 24. februar (Uke 8) Det skal lages en liten kjerne for systemet, bestående av en relasjonsdatabase med minst to tabeller, koblet sammen med primærnøkkel/fremmednøkkel. Databasen skal være dokumentert ved hjelp av en datamodell (et dataorientert UML-klassediagram), både på ugruppert og gruppert form. I relasjonsdatabasen skal det være lagt inn noen få forekomster for testformål. Mot relasjonsdatabasen skal det lages minst en SQL-spørring som gir en primitiv funksjonalitet som stemmer med ett eller flere krav fra funksjonsbeskrivelsen. Innleveringen skal bestå av UML-klassediagram på ugruppert form 5

UML-klassediagram på gruppert form Resultatet av å kjøre SELECT * FROM tabellnavn for alle tabellene SQL-spørringen(e) som gir en primitiv funksjonalitet med tilhørende resultater 3. Kjørende system med web-grensesnitt 17. mars (Uke 11) Det skal utvikles et web-grensesnitt mot den lille kjernen fra Innlevering 2. Grensesnittet skal kunne kalle opp SQL-spørringen fra Innlevering 2 og vise frem resultatet. Helst bør det også finnes funksjonalitet til oppdatering av databasen. Systemet skal realiseres ved hjelp av XHTMLkoding med FORMS og PHP. (Alternative realiseringsplattformer kan eventuelt brukes etter avtale med gruppelærer.) Innleveringen skal bestå av Kortfattet brukerdokumentasjon som viser web-grensesnittet og beskriver hvordan det skal brukes URL til det kjørende systemet Utskrift av kildekoden for programmene 4. Utvidet realisering som tilfredsstiller et bruksmønster 7. april (uke 14) Det påtenkte systemets funksjonalitet skal være uttrykt med bruksmønstre (use-cases), og det skal forklares hvordan disse bruksmønstrene oppfyller formålet med informasjonssystemet slik det er beskrevet i innlevering 1. (Hvis formålet har endret seg underveis, må dere redegjøre for endringene.) Hvert bruksmønster skal spesifiseres i henhold til malen aktør, trigger, normal hendelsesflyt, variasjoner. Vis hvordan et av de mer kompliserte bruksmønstrene (det holder med ett bruksmønster, men velg ikke det aller enkleste!) kan tilfredsstilles i en objektorientert utforming, dokumentert gjennom et sekvensdiagram og et objektorientert klassediagram. Klassene behøver ikke stemme overens med klassene som finnes i datamodellene fra innlevering 2, men hvis det blir forskjeller, så drøft gjerne årsakene til dette. Krav til detaljeringsgrad og antall sekvensdiagrammer må dere vurdere selv, men gå gjerne ut fra at det ofte er tilstrekkelig å lage et enkelt sekvensdiagram for "normal hendelsesflyt" for bruksmønsteret. Dersom en "variasjon" er komplisert eller har store konsekvenser for utformingen bør det vurderes å lage et sekvensdiagram også for variasjonen. Bruksmønstre, sekvensdiagrammer og klassediagrammer kan om ønskelig tegnes med utviklingsverktøyet Tau UML eller et tilsvarende verktøy. Ett av bruksmønstrene må tilsvare den funksjonaliteten som er laget i Innlevering 3. Utvid det kjørende systemet slik at det tilfredsstiller flere av de andre bruksmønstrene. Det utvidede systemet bør omfatte minst 4 tabeller og 3 ulike skjermbilder i brukergrensesnittet. Vær oppmerksom på at realiseringsplattformen (XHTML, PHP og en relasjonsdatabase) ikke er spesielt objektorientert (selv om vi i PHP kan operere med klasser og objekter), og at 6

nytteverdien av sekvensdiagrammer og klassediagrammer for realiseringen derfor kan være svært begrenset. Selv om man etter dette kan mene at systemet ikke er "ferdig", er det ikke planen å bygge det ytterligere ut innenfor rammen av dette prosjektet! Innleveringen skal bestå av et utkast til delrapport 1 i den endelige rapporten. Husk å oppgi URLen til det kjørende systemet, og å oppgi nødvendige passord. 5. Evaluering 5.mai (Uke 18) Evaluering av innlevering 4 for et av de andre prosjektene. Evalueringen skal overleveres den andre prosjektgruppen dere evaluerer, slik at den kan ta hensyn til kommentarene. Evalueringen skal bestå av 2 deler: 1. Undersøkelse av konsistens mellom de ulike beskrivelsene av systemet (UML-modeller, SQL-setningene som spesifiserer databasen, og prosjektbeskrivelsen (jfr. innlevering 1) ). 2. En test av det kjørende systemet. På bakgrunn av prosjektdokumentet lager evaluatørene minst tre oppgaver som dekker den funksjonaliteten som informasjonssystemet skal kunne håndtere. Informasjonssystemet testes deretter med disse oppgavene. Manglende kommandoer i systemet, feil resultat, problemer med å velge eller finne kommandoer, tungvint interaksjon, muligheter for uforutsett ødeleggelse av data og opplevd usikkerhet i forhold til hva datasystemet gjør, skal bemerkes. Innleveringen skal bestå av evalueringsrapporten. Dokumentasjon av systemet som evalueres skal ikke leveres. Identifiser hvilket system det dreier seg om ved hjelp av tittelen på systemet (f.eks. Avfallshåndteringssystem). 6. Endelig leveranse 26. mai (Uke 21) Finpussing av system og dokumentasjon, bl.a. skal det tas hensyn til forhold som er kommet fram i evalueringsrapporten. En del av problemene som bemerkes i evalueringen kan komme av begrensninger i de verktøyene vi bruker til realiseringen, som PHP og XHTML. Det er ikke nødvendig å velge et annet verktøy for å forbedre systemet, men dere må forklare grunnen til at dere ikke har forbedret sider ved systemet som dere mener er mangelfulle. Innlevering av rapporten. Husk å kontrollere at det utviklede systemet lar seg kjøre av utenforstående med oppgitt passord. 7