Schatten Robert de Hoog College 25 januari 2002
College Projectmanagement 25 januari Onderwerpen De methode van DeMarco Functiepunt analyse Complexiteits analyse “Black box” analyse Kleine projecten anders? Op naar het Web Samenvatting
College Projectmanagement 25 januari De methode van DeMarco Belangrijkste principes: –Gefaseerd: specificatie, ontwerp en implementatie –Gebaseerd op modellen
College Projectmanagement 25 januari Modellen bij de DeMarco Functie model: data flow diagrammen, data dictionary Retained data model: object diagrammen Toestandsmodel: Toestandsdiagrammen Ontwerpmodel: structuur diagrammen Functiemodel, datamodel en ontwerpmodel hangen samen bij schatten
College Projectmanagement 25 januari Data flow diagram Functionele primitieve Data flow
College Projectmanagement 25 januari Probleem in DFD: nivo van detail: uniform partitioning rule Tokens TCAvg=9 TCAvg=19/3=6,3
College Projectmanagement 25 januari Wat is een “token”? Een token is een data item dat binnen de functionele primitieve niet verder hoeft te worden opgedeeld Voorbeeld: data flow “Regression request” Regression-Request = DomainID + DepParName+ {IndepParName} Token count = 3 + : komen altijd samen voor {} : komt 0 of meer keer voor
College Projectmanagement 25 januari Regel: splits een functie in het DFD niet verder op wanneer deze opdeling niet leidt tot een reductie van de gemiddelde token count Hulpregel: wanneer de opsplitsing resulteert in functionele primitieven met elk een TC die lager is dan die van het hogere nivo dan is het OK Wanneer het specificatie model af is, dwz data flow model + data dictionary + ER diagrammen, kan je “Bang” berekenen
College Projectmanagement 25 januari Specificatie metriek Bang genaamd “Bangs for bucks” Gebaseerd op eigenschappen van Functionele Primitieven (“bubbles”) en data flows in het DFD
College Projectmanagement 25 januari Aanpassingen Functie georienteerde systemen: operaties op data Data georienteerde systemen: eigenschappen van de data
College Projectmanagement 25 januari Aanpassingen Omvang: houdt verband met aantal tokens (TC), zie figuur 5 Florijn Complexiteit: houdt verband met het type operatie in de FP Zie lijst p. 628(Florijn) voor correctie factoren
College Projectmanagement 25 januari De berekening Bepaal voor elke FP het Bang increment BI (een gewogen TC) Sommeer de Bang incrementen van alle FP’s Inspanning = a x ( BI) exp b a en b zijn parameters die geschat worden op basis van ervaring (specifiek!)
College Projectmanagement 25 januari Resultaat Productiviteit!
College Projectmanagement 25 januari Samenvatting methode DeMarco Goede koppeling met modellen die je moet maken (itt COCOMO) Specificaties en ontwerp moeten gedetailleerd zijn Parallel controle op volledigheid en juistheid Vroeg te doen?
College Projectmanagement 25 januari Functiepunt analyse Globaal zelfde idee als DeMarco Functies geven een indicatie van inspanning en tijd Neemt ook complexiteit mee Weegt bruto functiepunten bij met beinvloedingsfactoren Productiviteit van belang: hoe lang doe je over een functiepunt Schat tijd niet als “doorloop tijd”! Toe te passen na het functioneel ontwerp
College Projectmanagement 25 januari Complexiteits analyse Elementen hebben een complexiteitsklasse in een ontwikkelfase
College Projectmanagement 25 januari Complexiteitsanalyse Inspanning = standaardnorm x complexiteitspunten Voordeel: niet volume maar ingewikkeldheid is de belangrijkste factor Schat geen doorlooptijd
College Projectmanagement 25 januari Een “black box” Toepassen van neurale netwerken om te schatten Gaat uit van complexiteit en productiviteit Heeft voor beide takken een NN Dus model blijft impliciet!
College Projectmanagement 25 januari Een “black box”
College Projectmanagement 25 januari Kleine projecten anders: schaalnadelen?
College Projectmanagement 25 januari Op naar het Web Web applicaties hebben eigenschappen die bestaande methoden minder bruikbaar maken Meest belangrijk: metriek voor omvang Omvang “bepaalt” inspanning SLOC niet FP niet
College Projectmanagement 25 januari Op naar het Web Teruggrijpen op Halstead (1977) De ene regel code is de andere niet Gebaseerd op operatoren en operanden Operatoren: actie Operanden: “gegevens”
College Projectmanagement 25 januari Op naar het Web Regels voor tellen?
College Projectmanagement 25 januari Op naar het Web Aanpassing voor complexiteit objecten
College Projectmanagement 25 januari Op naar het Web Gebaseerd op applicatietype
College Projectmanagement 25 januari Op naar het Web Bepalen Cost drivers (CoCoMo) Neemt een deelverzameling (sommige CD’s correleren!) Zie tabellen 6 t/m 10 Tabel 10 geeft het overzicht
College Projectmanagement 25 januari Samenvatting Eerste dimensie voor onderscheid modellen: –Overwegend gebaseerd op algemene kenmerken van de applicatie (COCOMO, Complexiteit, NN) –Overwegend gebaseerd op specifieke kenmerken van de applicatie (Bang, FPA, Complexiteit) –WebMo combineert deze !
College Projectmanagement 25 januari Samenvatting Tweede dimensie voor onderscheid –Modellen voor alle fasen in een project (COCOMO, FPA, WebMo) –Modellen per fase van een project (DeMarco modellen, Complexiteit)
College Projectmanagement 25 januari Samenvatting Alle modellen hebben parameters die gecalibreerd moeten worden voor een specifieke omgeving De meeste modellen houden rekening met productiviteit Om ze goed te kunnen toepassen moet je een archief van projecten hebben
College Projectmanagement 25 januari “Some method is better than no method at all” and “Anything you need to quantify can be measured in some way that is superior to not measuring it at all” (Gilb’s law)