Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.

Slides:



Advertisements
Liknende presentasjoner
Plan for markedssatsing: <sett inn navn på markedssatsing>
Advertisements

A. M. Al-Araki. •Lokalisering •Et problem må lokaliseres så korrekt som mulig slik at det kan drøftes der det først og fremst eksisterer. Aktuelle spørsmål.
Krav til dokumentasjon i kap
Titanic Developer Team består av :
Systemdynamisk tilnærming for risikoanalyse av Nettverksbasert Forsvar
Utlandsprosessen Studiestøtteonferansen i Stockholm 1. – 3. juni 2014.
Kontrollstrukturer (Kapittel 3)
NLF Motorflyseksjonen Fagseminar 9-10 nov 2013 Risikoanalyse
Forelesning IMT Februar 2006
Målinger generelt •I et moderne samfunn brukes målinger i mange ulike sammenhenger •Eksempler: –Sammenligne priser, lønninger –Høyde: størrelse på klær.
Prototyping & Use Case Software Engineering Gruppe
Ideutvikling - Problemdefinisjonen. Hva gjør de erfarne problemløserne? •Samler og analyserer informasjon og data •Snakker med mennesker som kjenner problemet.
Konsekvenser ved samlokalisering av IKT-systemer
2009 Kulturanalyse: et verktøy for god kommunikasjon mellom mennesker. Magid Al-Araki, 2. opplag NB!  Figurene på første side er fra boka Kulturanalyse.
Sammenligningsmetoder
Sif80as: Empiri i programvareutvikling
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
Oppgave gjennomgang Kap. 3 og 4.
Risk identification Risk analysis
Skisse til løsningsforslag
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.
Grunnleggende testteori
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
Konstruksjoners sikkerhet
UNINETT-konferansen 1. – 3. oktober 2013
Empiriske metoder Oppgaveanalyse, observasjon
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.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
Tekst, bilde og komposisjon
INF 295 Algoritmer og datastrukturer Forelesning 9b Balanserte (binære) trær Hans Fr. Nordhaug.
Problemstyring Problem Management
Diskrete stokastiske variable
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.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
Prosjektavslutning og sluttrapport
Page 1 WE MOVE THE INDUSTRY THAT MOVES THE WORLD RISK MANAGEMENT Fra operatørenes ståsted Solakonferansen 2014 Øivind Solberg, PhD.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
1 Teknisk regelverk Vedlikehold Felles bestemmelser Magne Nordgård, Jernbaneverket Infrastruktur teknikk, Elkraft September 2003.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
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.
1 Prototyping: verktøy og teknikker u Årsaker til å lage en prototyp u Konsekvenser for prototypen u ”Lag og kast” vs. evolusjonær utvikling u Horisontale.
Objektorientert utforming In 140 Sommerville kap. 12.
INF-1400 Obligatorisk Oppgave 1 Breakout-Klone Marius Andreassen Edvard Pedersen
1 3 søknader til Forskningsrådet: ”Feilhandlinger, informasjonsbearbeiding og ulykkesrisiko i framføring og overvåking av transportmidler” (TØI) ”Mennesket.
Trådløs kulturby Andy Pham Damir Nedic Amund Letrud Ruben Vijayaroopan Sivarajah Espen Olsen.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
The Impact of DHT Routing Geometry on Resilience and Proximity TDT 2, Olav Engelsåstrø
1 Utvikling av kritiske systemer Kort sammendrag Kap. 1 og 2.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Kapittel 10 Exceptions Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av.
ROS-analyse.
Validitet og reliabilitet: Fra teori –> via operasjonalisering –> til empiri Et teoretisk utsagn er en framstilling av sammenhengen mellom abstrakte begrep.
Brukbarhetstesting og feltstudier INF 1500; introduksjon til design, bruk og interaksjon 7 november 2010.
I den prosessorienterte organisasjon spør man
Identifisere behov – og etablere krav
LISAS EIE A. M. Al-Araki.
Brukbarhetstesting og feltstudier
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
INF1500 Introduksjon til design, bruk, interaksjon
LISAS EIE A. M. Al-Araki.
LISAS EIE A. M. Al-Araki.
Utskrift av presentasjonen:

Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses

Design by contract - Hermand Meyer Et sett med avtaler mellom to komponenter (Client og Supplier) Komponenter kan være klasser, metoder, objekter osv…  Preconditions  * handling *  Postconditions

Eksempel: Sette inn et element i en liste/ array … If list not full AND element not empty { insert element ( ) …

If list not full AND element not empty { insert element ( ) … Preconditions: -Det må være plass til elementet i lista -Elementet må ikke være tomt

… If list not full AND element not empty { insert element ( ) … Handling: -Elementet settes inn i lista

… If list not full AND element not empty { insert element ( ) … Postconditions: - Hele elementet er satt inn på avtalt plass i lista

Invariant: -Brukes til å definere mer eksakt en variabel. Eks: invariant isFull =0.95 * maxVann

Prototype-design -Hjelper oss med å finne en løsning på hvordan noe kan implementeres. -Vanlig å lage flere prototyper: en for brukergrensesnitt, en for ytelse, en for sikkerhet osv… -Hver prototype ofte full av ”hull”.

Throw-away prototype -Denne prototypen kastes etter bruk, og det endelige systemet bygges opp fra bunnen av. -Prototypen gjør kommunikasjon mellom kunde/oppdragsgiver lettere  lettere å få feedback fra kunden Fritt oversatt: Lettere og sikrere å bygge opp et korrekt system fra bunnen av etter å ha implementert ”problemene” i en prototype, enn å fylle ”hullene”. (Brooks 1975)

Fault Tree Analysis En fault tree analyse er et logisk diagram som viser sammenhenger mellom potensielle kritiske hendelser (ulykker) i et system og årsakene til disse hendelsene.

Avhengig av mål, vil en fault tree analyse kunne være kvalitativ og\eller kvantitativ. Mulige resultater fra en slik analyse: En liste av mulige kombinasjoner av menneskelige feil, faktorer fra omgivelsene, vanlige hendelser, feil ved komponenter Sannsynligheten for at en kritisk hendelse skal oppstå innenfor et gitt tids intervall.

Analysen utføres i 5 steg : Definere problemet og avgrense betingelsene Konstruksjon av fault tree Identifisere minimum cut og\eller path settinger Kvalitativ analyse av tre’et Kvantitativ analyse av tre’et.

Fault tree symbols and logic Et fault tree er et logisk diagram som viser sammenhengene mellom en potensiell feil i et system (TOP event) og grunnene til denne feilen. Grafiske symbolene som blir benyttet er logiske porter.

De mest vanlige symbolene

TOP Event må defineres presist : Hva : Beskriver hvilken type kritisk hendelse som oppstår. (for eksempel brann) Hvor : Beskriver hvor hendelsen oppstår (for eksempel i kontroll rom) Når : Beskriver i hvilken sammenheng hendelsen oppstår (for eksempel normal operering)

Avgrensninger : Initiell tilstand : Hvilken operasjonell status har systemet ved TOP event. Hvilke ventiler er åpne\lukket etc? Eksterne påvirkninger: Hvilke eksterne påvirkninger skal ta’s med? Krig, jordskjelv, lyn etc? Detaljnivå : Hvor detaljert skal man gå til verks for å identifisere potensielle feilkilder? Ventil, eller komponentene til ventilen.

Cut set tre : forenkler komplekse FTA Regler for å lage et cut – set tree : Arbeider fra topp til bunn, og rot noden i cut – set tre’et tilsvarer den første logiske porten i fault tree. Dersom man har en OR – port, splittes cut – set tre’et I to. Ved en AND port så kombineres barne nodene til en felles node. Dette fortsetter til alle løv nodene er “basic events” eller komponerte noder av “basic events”

Cut set : Et sett av løv noder til cut – set tre’et hvor duplikater er fjernet. Et sett av Basic events hvor samtidige hendelser medfører at TOP event oppstår. I vårt eksempel : {A1,A3}, {A1, A4}, {A2, A3}, {A2, A4}, {A4, A5} Dersom en av disse kombinasjonene inntreffer så vil TOP event oppstå.

Kvalitativ evaluering En kvalitativ analyse kan utføres på basis av cut – set’ne. Viktigheten av et cut – set avhenger av antall Basic events i cut set’et : Antallet basic events i et cut set gir settets orden. Jo lavere orden desto viktigere blir cut set’et. (en basic event gir 1.orden og medfører at systemet kollapser ved kun en feil.) Man kan ogå lage en ytterligere rangering :  Basert på menneskelig feil  Feil i en aktiv komponent  Feil i en passiv komponent.

Kvantitativ evaluering Når reliability data er tilgjengelig for hver Basic event, så er det mulig å utføre en kvantitativ evaluering av fault tree.

Kilder : otater/Introduction_to_FTA.pdf Og Boka kapittel 5.6