Forelesning IMT Februar 2011

Slides:



Advertisements
Liknende presentasjoner
Hvordan skrive en vitenskapelig artikkel?
Advertisements

Behov for forskning og utvikling knyttet til brukerinvolvering i offentlige IT-prosjekter Asbjørn Følstad, SINTEF IKT Oslo, 10. juni, 2004.
Plan for markedssatsing: <sett inn navn på markedssatsing>
Prosjektrettet systemarbeid Tema: introduksjon til systemarbeid
Nettprosjekt Kundeservice på nett •Bakgrunn –SiT hadde gamle nettsider med mye og utdatert innhold og funksjonalitet •Formål –Bidra til at.
Programmering i ActionScript - hva er det, og hvordan undervise?
Prosjektet ”Aktiv Hverdag” i Narvik Kommune
Coaching – en frigjøring av menneskelige ressurser
Forelesning IMT Februar 2006
Hva trenger jeg av data, og hvordan skal jeg innhente disse?
UML & object models av gruppe 8
Objektorientert programmering Objektorientert systemutvikling
Vitensenteret i Trondheim
Modellbruk i Referansekatalogen Øyvind Aassve NorStella.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
EVALUERING AV PRODUKTER, PROSESSER OG RESSURSER. Gruppe 4 Remi Karlsen Stian Rostad Ivar Bonsaksen Jonas Lepsøy Per Øyvind Solhaug Andreas Tønnesen.
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Introduksjon til systemutvikling
Kravanalyse og spesifikasjon
4/4/2017 IMT2243: 17.februar 2011 Domenemodellering / Konseptuelle Klassediagram Monopol- eksempel SSD : System Sequence Diagram Kort repetisjon av teknikken.
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Hovedprinsipper i Rational Unified Process
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Empiriske metoder Oppgaveanalyse, observasjon
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Software Requirements Elicitation
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
Verktøy i faget ”Objektorientert systemutvikling og UML” Eclipse Together Architect for Eclipse
Retningslinjer for spesifikasjoner til oppdrag
Kvalitative og kvantitative metoder
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Spørsmål og aktiviteter på ulike nivåer
Identifisere behov – og etablere krav
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Metode for systembeskrivelse og
Objektorientert utforming In 140 Sommerville kap. 12.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Utvikling av rettslige beslutningssystemer, oversikt over emnet og presentasjon av ”Fra lovtekst til programkode” Utvikling av rettslige beslutningssystemer,
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
DRI2001 h04 - Forelesning Arild Jansen 1 Systemutviklingsarbeidet – et overblikk DRI2001 forelesning Hva er systemutvikling (SU)
VirusLab Utvikling av en profesjonell applikasjon.
Oppgaveskolen -V07_1 Innledning Arild Jansen, AFIN Oppgaveskolen 2007 Introduksjon Organisering av seminaret [Gjeste]forelesninger – hva er behovene ?
FINF- H -05, 13. september 2005 Arild Jansen. AFIN/UiO 1 FINF Forelesning 13.sept Personvern som premiss for SU-prosessen Diskusjon om personvern.
Objektorientert design
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
1 Utvikling av kritiske systemer Kort sammendrag Kap. 1 og 2.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom 112 –Mandag –Torsdag Lærebok: –Sommerville, Ian. Software.
1 Intro kartlegging Matematikk LUB Fredag Elise Klaveness.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
I den prosessorienterte organisasjon spør man
Kvalitative og kvantitative metoder
Bygg 21 Digitalisering av byggebransjen Rapport
Identifisere behov – og etablere krav
RUP-prosjekt Sammenhengen med UML
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Sensorveiledninger på MN
Utskrift av presentasjonen:

Forelesning IMT2243 15. Februar 2011 4/3/2017 Forelesning IMT2243 15. Februar 2011 Tema : Metoder for å kartlegge Funksjonelle Krav Intro : Kravspesifisering i de ulike SU-modellen og kommentarer til kravspesifiseringsprosessen og ønsket ”sluttprodukt” Strukturert Analyse – sen 70-talls metode med mulig renesanse Objektorientert Analyse – intro om metoden og gjennomgang av Use Case som teknikk for å spesifisere funksjonelle krav Pensum : Sommerville kap 4, 5.2 og artsaml. 6 (s.96-106)

Kravspesifiseringsprosessen

Strukturert analyse Hva er det : http://en.wikipedia.org/wiki/Structured_analysis Metoden går ut på å anvende et sett teknikker i arbeidet med å lage gode systemmodeller /beskrivelser under spesifiseringsarbeidet. SA ble utformet på en tid (slutten av 70-tallet) der fossefall-modellen hadde utstrakt anvendelse, og man oftest hadde rasjonalisering som hovedmål ved utvikling av nye IT-systemer. IT-systemene skulle i stor grad hjelpe til med å automatisere prosessering av informasjon der man ut fra en Input og et sett manipuleringsregler skulle få generert en Output. Input – Process – Output (IPO) står i fokus for all kartlegging. Metoden er fortsatt relevant å anvende i spesifiseringsarbeid spesielt når man arbeider etter en sekvensiell utviklingsmodell. Moderne programvarearkitekturer basert på tjenesteorientering bidrar nå til en renesanse for denne type modelleringsteknikker ved spesifisering av de funksjonelle krav.

Strukturert analyse Man forsøker å lage gode systemmodeller/beskrivelser : Dataflytdiagrammer DataDictionary Datamodeller (semantiske ER-modeller) Strukturert språk (Structured Definition Language) SA er en funksjonsorientert metode : - finne funksjonene i systemet - kartlegge informasjonsflyten rundt funksjonene

Eksempel på en SYSTEMMODELL :

DFD Prosess (funksjon) Bearbeider/manipulerer input om til output En prosessboble for hver funksjon i systemet Navngis ut fra hva den ”gjør”

DFD Dataflyt (informasjonsflyt) Viser hvordan data/informasjon flyter i systemet. Vi fokuserer på logiske modeller og flyt av modeller. DFD anvendes også til å vise flyt av ”fysiske elementer”. Modellen viser ikke rekkefølgen på flytene, bare retning Navngis Detaljspesifiseres i DataDictionary

DFD Datalager / register Viser en samling av data som må ligge lagret i systemet Viser ikke hvordan dataene skal lagres Dataene ligger passive inntil de blir kalt opp Unngå registre uten ”inn” og ”ut” flyt Lengst mulig ned i DFD-strukturen

DFD Terminator / Ekstern enhet Viser kilder til / mottaker av informasjonsflyt i vårt system Kan være roller, interessenter, andre systemer etc.

Tips ved utarbeidelse av DFD 1. Hold modellen på en side 2. Velg gode og meningsfulle navn - roller fremfor navn - navn på prosess = et verb + et objekt 3. Ikke lag modeller med mange elementer - mindre enn 10 prosesser (benytt nivåinndeling med kontekstdiagram, DFD1 og DFD2 - få registre (vi driver IKKE databasedesign her) 4. Ikke forsøk å ”si alt” med modellen, vis det viktige - lesbart og forståelig

Objektorientering - Historikk 4/3/2017 Objektorientering - Historikk Opprinnelsen (oppdaget ikke oppfunnet) : Nygaard/Dahl - SIMULA67 OO i programmering : 70 tallet FoU / Pilot 80 tallet Kommersiell bruk (C++, Windows) 90 tallet Forretn.applik.og Internett-teknologien Forklaring : Tilgjengelighet på prog.språk Kapasitetseksplosjon innen HW OO i Design og Analyse : 67 Programmering 90 Design 95-> Analyse

Hvorfor tenke objekt-orientert også i analysefasen ? Drivkraften var en målsettingen om forbedret kvalitet i programvaren Produktet skal være korrekt, pålitelig, verifiserbart, robust osv... Objektorientert tilnærming hadde suksess innen programmering og dels også innen Design Sterkt ønske inne fagfeltet om å bli bedre på gjenbruk både internt og eksternt Så store fordeler av å benytte samme perspektiv gjennom hele SU-prosessen Utgangspunktet for å ”tenke nytt” i tilnærmingen ved Spesifisering : Ønske om et metodeverk som er bedre og mer fleksibelt til å håndtere de endringer i krav som ALLTID kommer underveis i et systemutviklingsprosjekt Den bærende ideen innen Objektorientering er at man mener Objektene er den mest stabile del av problemområdet, mens Prosesseringen/Manipulerings-mekanismene i langt større grad er utsatt for stadige forandringer Objektorientert Analyse er ikke direkte knyttet til en bestemt utviklingsmodell, men kommer best til sin rett når vi utvikler iterativt og inkrementelt.

ObjektOrientertAnalyse (OOA) En analysemetode : Gir en beskrivelse av hvordan man legger opp arbeidet i analysefasen Betrakter Problemområdet fra et perspektiv der man ser både verdenen og programvaren (som skal ”speile” verdenen) som en samling samhandlende objekter Resulterer i Artefakter (informasjonsbærende modeller og beskrivelser) som bakes inn i selve kravspesifikasjonsdokumentet Sentrale artefakter vi ser på innen OOA er : Use Case (diagram + tekstlig beskrivelse) System Sekvensdiagram Domenemodell / Konseptuelt klassediagram (senere forelesn)

USE CASE Use Case er en svært utbredt scenariebasert teknikk innen systemutvikling som har sin styrke i at den egner seg godt i spesifisering av Funksjonelle krav. Et use case (brukstilfelle) er en tjeneste i form av en handlingssekvens som systemet skal utføre for omgivelsene. Denne initieres normalt av en hendelse ute i systemets omgivelser, og skal alltid gi et observerbart resultat for en bestemt aktør. Karakteristika : Et Use Case viser en tjeneste systemet skal yte En av aktøren initierer vanligvis et Use Case (pil – notasjon) Et Use Case gir alltid en målbar verdi til brukeren Et Use Case skal være komplett

USE CASE (2) En teknikk innen Objektorientert Analyse som brukes for å illustrere det nye systemets forventede ”tjenestetilbud” omgivelser (i forma av aktører) samspillet mellom disse Det er vanlig å samle alle Use Cases i et ”Use Case diagram” for hele systemet. Det er derimot Use Case beskrivelsene som i særklasse er viktigst ved denne teknikken. Det er her de funksjonelle kravene til systemet spesifiseres.

Use Case modellering Arbeidsgangen når man setter opp Use Case : A. Skisser et Use-Case diagram som viser helheten systemavgrensningen aktørene use casene relasjonene. B. Lage en ”High-level” Use Case Beskrivelse for hvert Use Case i diagrammet C. Lag detaljerte (expanded) beskrivelser av de Use Case som vurderes til å ha størst risiko (teknologi, forretning og prosjekt).

LIBSYS use cases Fig.4.15 Sommerville

Use Case modellering Eksempler på UC fra artikkelsamlingen og fra tidligere studentprosjekter som ligger på emnets hjemmeside : Public University registration system Athletic Manager NorBud IHID ThrustFlow