Object Oriented Measurement

Slides:



Advertisements
Liknende presentasjoner
Senterpartiet Vi tar hele Norge i bruk.
Advertisements

Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Tabeller av objekter Klassen ArrayList
Praktisk info til prosjektkunder
#ksindeks Header: Relation 1 Internal/Identier/File name
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Introduksjon til objektorientert programmering i PHP
Reliability, Availability and Maintainability
Test-Drevet Utvikling Bowling med
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.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
UML & object models av gruppe 8
Prototyping & Use Case Software Engineering Gruppe
Vest Buss Gruppen Dialogkonferanse Ruter November
E-Site Intro for utviklere. Innhold Info Funksjoner Aktører og tilgang Arkitektur, egne utvidelser (.Net 3.5) Objekter og user controls.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
BI 3010H05 Populasjonsgenetikk Halliburton Kap 1-3
EVALUERING AV PRODUKTER, PROSESSER OG RESSURSER. Gruppe 4 Remi Karlsen Stian Rostad Ivar Bonsaksen Jonas Lepsøy Per Øyvind Solhaug Andreas Tønnesen.
Gruppe 9 Design evaluering og validering.
Prosjekt 45e - WebConcret
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
En kort innføring i Design Patterns
Hovedprinsipper i Rational Unified Process
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Web-applikasjoner Prosjekt3 Logging Gruppe 9 Malik Muhammad Naeem Kevan Qureshi.
Biologiske og sosiale modeller for AI. Forskere begynte å studere verden rundt seg for å finne nye modeller for AI Bakgrunn: GODAI -Good Old Fachioned.
INTERNETT FORMÅL: Å skape forståelse for og gi kunnskap om utvikling av klient-tjener apllikasjoner basert på web.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Entity Framework Andreas Knudsen, Bekk Consulting AS 31/
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.
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
Testintegrering Gruppe3 Andrè Hauge Vegard Simensen Mats Lindh Henning Kristiansen.
Svein Ivar Kristiansen
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.
Composite & Decorator Patterns Patterns Composite Spørsmål? Introduksjon Decorator Resymé Gruppe 4 Ivar Bonsaksen Remi Karlsen Jonas Lepsøy Stian Rostad.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
Automated Testing Tool & When to Stop Testing
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
INF 295 forelesning 14 - kap 8 Disjunkt mengde ADT Hans Fr. Nordhaug (Ola Bø)
VI LAGER EN PLATEBUTIKK
OBJEKTORIENTERT ARBEIDSMETODE
Diskrete stokastiske variable
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
Testing av objektorienterte systemer Testplanlegging
Fra Mitose til Happy-meal Innføring i “Prototype Patterns” og “Builder Patterns” Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Olav Dæhli Thomas Julsen.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Maintenance problems - Measuring Maintenance characteristics Software Engineering Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Thomas Julsen Kjartan Haugen.
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.
Objektorientert utforming In 140 Sommerville kap. 12.
Easy answer Hovedprosjekt nr 56 våren 2001: ”web  interface  MobilSvar” - grensesnitt for innlegging av personlig velkomstmelding.
Android-Programmering Våren Oversikt Ytelse vs responsivitet Strategier for og opprettholde responsiviteten Tråder Asynchronous Task.
INF-1400 Obligatorisk Oppgave 2
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Mål: Sortere materialer i klasser ut fra lengde.
Objektorientert design
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Myter – organisasjon og ledelse i barnehagen
Objektorientert design In 140 Sommerville kap 12 – del 1.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
Stian Grønning Master i samfunnsøkonomi Daglig leder i Recogni.
19-Sep-16 ALLE TELLER Jakten på elevenes tenkning (når ”svaret” er feil) Gerd Nilsen Bergen 9.mars.
Arv Gjenbruk. Begreper Super Overriding – Samme signatur Polymorfi – «en ting kan bety mange ting»
Utskrift av presentasjonen:

Object Oriented Measurement Gruppe 5 består av: Cecilie Vitting – [cecilie.vitting@hiof.no] Marit S. Asklien - [marit.s.asklien@hiof.no] Terje Dahl - [terje.dahl@halden.net] Lars-Gøran Larssen - [lars-goran.larssen@hiof.no] Ole Henrik Leister - [ole.h.leister@hiof.no] Presentasjonen og tilleggsnotater ligger her: home.no/gruppe5/presentation

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering OO Measurement Man kan måle størrelse på systemet og designet av systemet. Det er enkelt å lage et måleredskap for OO-systemer, da de bruker samme språket gjennom hele syklusen. Forskere har tatt i bruk ulike metoder for måling av system-utviklingen. Vi skal bl.a. ta for oss metodene til Lorenzen / Kidd, Chidamber / Kemerer og Li / Henry. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Lorenz og Kidd Et system for å måle OO størrelse Definert ni hovedelementer i systemet og hvordan klasse-egenskapene påvirker produktet. Hver use case er satt i sammenheng med et scenario. Man teller opp antall scenario-scripts (Number of Scenario Scripts (NSS) i use casene. Videre teller man opp resten av de ni hovedelementene: Number of key classes Number of support classes Average number of support classes per key class Number of subsystems Class size Number of operations overridden by a subclass (NOO) Number of operations added by a subclass Specialization index: SI = (NOO x level) / (total class methods) Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Lorenz og Kidd Hver av disse måleteknikkene kan brukes i de ulike fasene i utviklingen, som vist i denne tabellen. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Chidamber og Kemerer Også et system for måling av Objekt Orientert utvikling. Mer fokusert på design enn størrelse. Måler koplingen mellom objekter, responsen for en klasse og mangel på sammenheng i metodene. De måler også vekting av en klasses metoder, dybde av arv og antall barn. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Chidamber og Kemerer C & K har laget en formel for å beregne ”vekting av en klasses metoder”: weighted methods per class = Summerer kompleksiteten til metodene for å finne de totale belastede metodene for klassen. Hvis svaret = 1; WMC = antall metoder i produktet. Jo større antall metoder, desto mer innsats trengs og barna til klassene får større innvirkning. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Chidamber og Kemerer C & K har også definert en klasses dybde i arv til å være maksimum lengde i stien i hierarkiet fra klassen til roten i arve-treet. Jo dypere en klasse er i hierarkiet, desto flere metoder vil trolig bli arvet. Hver av disse måleteknikkene kan brukes i de ulike fasene i utviklingen, som vist i denne tabellen. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Chidamber og Kemerer Man kan bruke C&K’s måleverktøy til programdesign også. Det fungerer på omtrent samme måte, ved at man i tillegg har klasser for brukergrensesnitt. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Li og Henry Det er sannsynelig at det vil bli mer feil i koden hvis: De belastede metodene pr. klasse blir mer omfattende Det blir et stort antall barn i klassene Det blir stor dybde i arve-treet Det blir stor respons for klassen I tillegg kan man måle: message-passing coupling data abstraction coupling Målingene kan forutsi antall endringer i klassene i løpet av systemvedlikeholdet. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Travassos Foreslår andre målinger for OO system bygd på gjennomsnitt. Antall beskjeder sendt fra en operasjon kan bli brukt til å kalkulere gjennomsnittsstørrelse for en operasjon. Det kan være nyttig å vite gjennomsnittet av antall parametere pr. operasjon. Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]

Object Oriented Measurement Slide oversikt: Om Gruppe 5 Introduksjon L&K: Info L&K: Eksempel C&K: Info C&K: Eksempel L&H: Info Travassos Oppsummering Oppsummering Når skal man bruke OO Measurment? Når vi kan øke vår forståelse, forutsigelse og kontroll over produktet vi utvikler. Det er mange måter å måle OO systemer på, det er vanskelig å si hvilken som er best. Fremgangsmåtene vi har sett på her, kan være nyttige avhengig av hvilke problemer man støter på underveis og selve problemet man prøver å løse. Kilder: Lærebok: Software Engineering: Theory and Practice Web: Metrics for Object-Oriented Software Engineering [http://www.toa.com/pub/moose.htm] Software Engineering: Gruppe 5 [home.no/gruppe5/presentation]