INF1050 Systemutvikling

Like dokumenter
INF1050 Systemutvikling

Prosjektoppgave våren 2007

UNIVERSITETET I OSLO

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

UKE 11 UML modellering og use case. Gruppetime INF1055

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

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

Beskjed fra Skagestein

2. Beskrivelse av mulige prosjektoppgaver

Produktrapport Gruppe 9

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

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

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

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

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

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

Use Case-modellering. INF1050: Gjennomgang, uke 04

Utvikling fra skallet og inn

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

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

Fra krav til objekter. INF1050: Gjennomgang, uke 05

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

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

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

Veiledning og vurdering av Bacheloroppgave for Informasjonsbehandling

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

PROSESSDOKUMENTASJON

Oppgave 1: Multiple choice (20 %)

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

Innhold. Innledning Del 1 En vei mot målet

INF1050 Klasseromsoppgave Uke 6

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

INF Obligatorisk prosjektarbeid INNHOLD:

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

INF Obligatorisk innlevering 7

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

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

Obligatorisk oppgave INF3221/4221

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

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

NB! Endring i undervisningsplanen

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

Velkommen til INF115

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

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

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

Veiledning og vurdering av Bacheloroppgave for Informasjonsbehandling

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen

INF Obligatorisk prosjektarbeid INNHOLD:

Svarskjema for kurset 'Databaser' - evalueringsrunde 2 - Antall svar på eval: 13

Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.

Ved KHiB brukes åtte kriterier som felles referanseramme for vurdering av studentenes arbeid ved semestervurdering og eksamen:

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

INF Introduksjon til design, bruk, interaksjon Introduksjon

Ved KHiB brukes åtte kriterier som felles referanseramme for vurdering av studentenes arbeid ved semestervurdering og eksamen:

Prosjektoppgave INF3290 høsten 2018

UML 1. Use case drevet analyse og design Kirsten Ribu

Inf1510: Oppsummering. Rune Rosseland

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

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Spesifikasjon av Lag emne

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

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

Requirements & Design Document

Prosjektoppgave INF3290 høsten 2016

Hvordan er arbeidsmengden i forhold til omfanget i studiepoeng?

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Prosjektoppgave INF3290 høsten 2017

Hjemmeeksamen Gruppe. Formelle krav. Vedlegg 1: Tabell beskrivelse for del 2-4. Side 1 av 5

UML-Unified Modeling Language

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

Eksamensveiledning. LOKALT GITT SKRIFTLIG EKSAMEN DTE2002 Design og produktutvikling. Sist redigert 01/03/19. Gjelder fra eksamen 2019.

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

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

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

Brukermanual. Studentevalueringssystem

Prosjektoppgave INF3290 høsten 2015

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Eksamensveiledning. LOKALT GITT SKRIFTLIG EKSAMEN MED Mediekommunikasjon. Sist redigert 06/03/19. Gjelder fra eksamen 2019.

Transkript:

INF1050 Systemutvikling Prosjektoppgave V2004 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 et grunnlag for 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 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 dere kjenner noen som ønsker et datasystem og lager systemet for deres behov, slik at oppgaven blir mest mulig realistisk. Videre krav til hvordan systemet skal lages og hvilke verktøy dere skal bruke følger av delinnleveringene nedenfor. Studentene danner selv grupper. 13. 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 man trekker seg fra prosjektet senere i kurset. INF1050 Prosjektoppgave våren 2004 Side 1

Hva skal leveres? Ved avslutningen av prosjektet (se punkt 6 nedenfor) skal hver gruppe levere en produktrapport på om lag 30 sider som inneholder to delrapporter. Produktrapporten teller 40 % i karakteren, og alle i gruppen får samme karakter. Karaktervurderingen gjøres hovedsakelig på grunnlag av den innleverte rapporten, men det utelukker ikke at sensorene også vil prøvekjøre systemet eller se litt på kildekoden for programmene. I tillegg skal hver deltager levere en individuell prosessrapport på maksimum 10 sider om gjennomføringen av prosjektet se nedenfor. Prosessrapporten teller 60 % i karakteren. Ved vurderingen vil det bli lagt stor vekt på at teksten er knyttet opp til pensum i kurset. Siden kurset ikke har noen kunnskapstest i form av en eksamen, er denne rapporten den muligheten du har til å vise at du behersker fagstoffet. Det er ikke anledning til å samarbeide med andre omkring utarbeidelsen av prosessrapporten.. Produktrapporten Delrapport 1. En beskrivelse av systemet som er utviklet Denne delrapporten er av interesse for de som skal bruke eller videreutvikle systemet. 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 evaluering av et annet system Denne delrapporten er av interesse for de 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. INF1050 Prosjektoppgave våren 2004 Side 2

Prosessrapporten Denne rapporten er av interesse for dem som skal gjennomføre liknende prosjekter. Her skal du beskrive på hvilken måte prosjektet ble gjennomført og din egen innsats i prosjektet. Beskrivelsen skal være forankret i teori som er formidlet i kurset gjennom lærebøker og på andre måter. Rapporten bør avsluttes med en kort oppsummering av dine erfaringer 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? Hva vil du gjøre annerledes neste gang du skal gjøre et tilsvarende prosjekt? Hva fikk dere ut av evalueringen av eget system, og hvilke tiltak ble truffet på grunnlag av den? Rapporten skal inneholde to deler, en del der du reflekterer over prosjektet som en arbeidsprosess, og en del der du spesielt reflekterer og vurderer om organiseringen av arbeidet var hensiktsmessig. Del A: Utviklingsarbeidet Rammer for prosjektet Utviklingsstrategi og utviklingsmetoder Milepælsplan (kanskje i flere revisjoner) Risikovurderinger Gjennomførte reguleringer Juridiske og etiske betraktninger (hvis relevant) Anvendte utviklingsverktøy og erfaringer med dem Anvendte plattformer og halvfabrikata og erfaringer med dem Del B: Prosessevaluering Oppgavefordeling i prosjektgruppa, egen rolle Eventuelle konflikter i prosjektgruppa og hvordan disse ble løst I del A bør du bruke boka og henvise til den. Passer teorien til å beskrive det du har opplevd i ditt prosjekt? Fikk dere noen overraskelser eller problemer av faglig eller organisatorisk karakter? I del B skal du reflektere over prosjektarbeidet du har vært med på, og det er dine vurderinger av din egen arbeidsinnsats som er viktig. Hva har du lært som du tar med til neste prosjekt? Rapporten (del A) skal også inneholde en oversikt over eventuelle forsinkelser i forhold til de oppsatte innleveringsfristene. Mange og ubegrunnede forsinkelser kan trekke ned i vurderingen. Rapporten skal avsluttes med en litteraturoversikt, dvs. en liste over de bøker, artikler og nettsteder som teorien er hentet fra. INF1050 Prosjektoppgave våren 2004 Side 3

Innlevering av rapportene Rapportene leveres i 2 eksemplarer 1 i ekspedisjonen til Institutt for Informatikk, 2. etasje, Informatikkbygget. Åpent kl. 1200-1500, innen fredag 28. mai kl. 1500 Ikke skriv navn på rapportene, bare kandidatnumre. Kandidatnumrene vil finnes på oppslag i 1. etasje i informatikkbygget og PO-bygget fra 19. mai Identifisér også rapportene med en tittel, f.eks. Avfallshåndteringssystem 1 Endret 7. mai 2004 INF1050 Prosjektoppgave våren 2004 Side 4

Delleveranser På veien fram til den avsluttende leveransen skal det leveres fem delleveranser 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. 1. Prosjektbeskrivelse. Idé og mål for det påtenkte systemet 30. januar (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å SQL-spørringer 20. 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 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. INF1050 Prosjektoppgave våren 2004 Side 5

3. Kjørende system med web-grensesnitt 5. mars (Uke 10) 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 HTML-koding 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 26. mars (uke 13) 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 basert på 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. 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 (HTML, PHP og en relasjonsdatabase) ikke er spesielt objektorientert (selv om vi i PHP kan operere med klasser og objekter), og at nytteverdien av sekvensdiagrammer og klassediagrammer for realiseringen derfor kan være svært begrenset. INF1050 Prosjektoppgave våren 2004 Side 6

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 23. april (Uke 17) 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 (UMLmodeller, 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 3 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. Identifisér hvilket system det dreier seg om ved hjelp av tittelen på systemet (f.eks. Avfallshåndteringssystem). 6. Endelig leveranse 28. mai (Uke 22) 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 HTML. 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 rapporter. Husk å kontrollere at det utviklede systemet lar seg kjøre av utenforstående med oppgitt passord. GS. 4. januar 2004 INF1050 Prosjektoppgave våren 2004 Side 7