Testen van Java code met JML
|
|
|
- Thijs Molenaar
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Testen van Java code met JML Engelbert Hubbers Martijn Oostdijk Erik Poll University of Nijmegen Testen met JML p.1/23
2 Overzicht De specificatietaal JML voor Java Wat voorbeelden van JML specificaties Runtime assertion checking en testen met JML Andere JML tools voor statische analyse, programmaverificatie,... Testen met JML p.2/23
3 De specificatietaal JML Testen met JML p.3/23
4 JML (Java Modeling Language) Formele specificatietaal voor Java, waarmee je het gedrag van Java classes kunt beschrijven ontwerp/implementatie-beslissingen kunt documenteren door middel van asserties, voor bijv. precondities postcondities invarianten (zoals Design-By-Contract in Eiffel, maar expressiever) JML begonnen door Gary Leavens, maar uitgegroeid tot breder initiatief. Doel: JML te begrijpen voor iedere Java programmeur. Testen met JML p.4/23
5 JML (Java Modeling Language) Om JML begrijpelijk & bruikbaar te maken: JML gebruikt gewone Java syntax, uitgebreid met een paar keywords JML specs staan gewoon in de Java source file, als speciaal soort commentaar, na of Testen met JML p.5/23
6 JML voorbeeld: invarianten private int balance; final static int MAX_BALANCE; invariant 0 <= balance balance < MAX_BALANCE; Invariant moet gelden ná de constructor-aanroep, en zowel vóór als ná elke methode-aanroep. Testen met JML p.6/23
7 JML voorbeeld: precondities requires amount >= 0; public int debit(int amount) {... } Preconditie is een verplichting voor klanten van deze methode. Testen met JML p.7/23
8 JML voorbeeld: postcondities requires...; ensures balance == public int debit(int amount) {... } Postconditie is garantie aan klanten van deze methode. Een pre-/postconditie paar wordt wel een contract genoemd. Testen met JML p.8/23
9 JML voorbeeld: exceptions requires...; ensures...; signals (DebitException) amount > public int debit(int amount) {... } exceptional postconditie specifeert wanneer een bepaalde exceptie gegooid kan worden. Testen met JML p.9/23
10 private Object[] obs; JML voorbeeld: assert... for (k=0; k<obs.length & obs[k]!=null; k++); (\forall int i; 0 <= i && i < k; obs[i]!= null); assert specificeert eigenschap op een willekeurig punt in code. Zit inmiddels in Java 1.4, maar JML is expressiever (door bijv. \old of \forall). Testen met JML p.10/23
11 Voordelen van JML Betere documentatie van code, door het expliciet maken van aannames en ontwerpbeslissingen (met name als invarianten) in formele ipv. natuurlijke taal Een formele taal is preciezer, en maakt tool support mogelijk, bijvoorbeeld bij testen... Testen met JML p.11/23
12 Testen met JML Testen met JML p.12/23
13 Runtime assertion checking Speciale compiler [Gary Leavens & Yoonsik Cheon, Iowa] vertaalt JML annotaties naar runtime checks: tijdens executie worden alle asserties getest (dwz alle preen postcondities, invarianten, asserts,... ) schendingen van asserties resulteren in een runtime error Testen met JML p.13/23
14 Testen met JML Runtime assertion checking is handig tijdens het testen. De JML specs dienen dan als test oracle. JML specs geven eigenschappen die we kunnen testen. De testcode hiervoor krijgen we gratis. Deze testcode doet veel tests, op veel tijdstippen tijdens de executie, en geeft dus goede feedback. Testen met JML p.14/23
15 Voordelen van JML bij testen (1) Betere feedback bij testen, over de locatie en de reden van fouten. Bijv. na 10 seconden Invariant violated in line ipv. na 100 seconden NullPointerException in line Informatie over oorzaak ipv. symptomen van het probleem. Testen met JML p.15/23
16 Voordelen van JML bij testen (2) Ingewikkelde testcode wordt automatisch gegenereerd. Bijv. voor requires amount >= ensures balance == \old(balance)-amount; signals (DebitException) amount > balance; public int debit(int amount) {... wordt de \old(balance) gelogd, de exception afgevangen en opnieuw gegooid, en eventuele invarianten worden getest. Testen met JML p.16/23
17 jmlunit JML kan gecombineerd worden met JUnit, een populair regressie-testing framework voor Java ( Enige invoer nodig voor testen: voor elke type een lijst met waarden/objecten van dat type Bijv., gegeven Purse[] purses = {new Purse(), new Purse(10)}; int[] ints = {-9, -1, 0, 1, 2, 10, 100, Integer.MAX_VALUE}; wordt de debit methode aangeroepen op alle purses met alle mogelijke int s, en worden alle schendingen van asserties (muv. de eerste preconditie!) gerapporteerd. Testen met JML p.17/23
18 Andere JML tools Testen met JML p.18/23
19 Statische analyse Ambitieuzer dan run-time testen: probeer (mogelijke) schendingen van asserties te detecteren bij compile-time. Voordelen kan éérder in de ontwikkel-cyclus; kan meer zekerheid bieden: analyse is niet afhankelijk van test-sets, maar beschouwt willekeurige inputs. Maar: in hoeverre is dit mogelijk? Testen met JML p.19/23
20 JML tools voor statische analyse static checking met ESC/Java [Compaq, Leino et al] automatische verificatie van eenvoudige JML annotaties Bijv, verificatie dat er nooit een IndexOutOfBounds- of NullPointerException kan optreden. Niet sound, niet volledig, maar vindt snel veel bugs. programmaverificatie met LOOP tool [Nijmegen] interactieve verificatie van willekeurig ingewikkelde JML annotaties mbv. stellingbewijzer Wel sound en volledig, maar vereist veel gebruikerinteractie Feasible voor JavaCard smartcard programma s. Testen met JML p.20/23
21 Andere JML tools Niet voor checken, maar voor lezen/schrijven van JML annotaties: jmldoc [David Cok, Kodak] Integreert javadoc en JML Daikon [Michael Ernst, MIT] Observeert executies en detecteert (waarschijnlijke) invarianten, pre- en postcondities, en produceert JML annotaties hiervoor. Handig voor legacy code, of om test coverage te bepalen. Testen met JML p.21/23
22 (Commerciële) tools voor runtime assertion checking: i-contract Jcontract en Jtest Gebruikte assertietalen minder expressief dan JML. Related Work Tools voor statische analyse: PREfix en PREfast voor C(++) code, gebruikt bij MicroSoft. Focus op memory management, buffer overflows, etc. Testen met JML p.22/23
23 Conclusies JML is een eenvoudig te leren, formele specificatietaal voor Java Bij gebruik van JML ga je in vroeg stadium al nadenken over testbaarheid van code Het gebruik van JML runtime assertion checking bij testen: beter testen voor minder werk Het kan nuttiger zijn te investeren in asserties dan in test-code: dit kan in eerder stadium, asserties zijn beter onderhoudbaar, en ook nuttig voor andere doeleinden (mn. documentatie) Voor meer informatie, en alle tools: Testen met JML p.23/23
Datastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst
s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden
Kleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Inleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!
Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige
Specialisatie RTES - Project FunnyScreens. Installatie en gebruik van JUnit
Installatie en gebruik van JUnit Auteurs: Niels Hendriks - 89713 Matthijs Langenberg - 89870 Wiebe van Schie - 84313 Siet Toorman - 91623 Job Vermeulen 90589 Semester: 6 DSO: QSO: Dhr. R.J.W.T. Tangelder
Plan van Aanpak Afstuderen
Plan van Aanpak Afstuderen Michiel Graat 27-09-2005 Inhoudsopgave 1 Inleiding 3 1.1 Terminologie............................. 3 1.2 Opdracht............................... 4 1.3 JavaCard...............................
Zelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
Correspondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Voorbeeld. public class BankRekening {
OCL Constraints Eigenschappen die op bepaalde momenten altijd voldaan moeten zijn Belangrijk voor bug-vrije programma s Contract tussen implementator & gebruiker Vier soorten Preconditie: conditie die
Voorlopig onderzoeksplan Bachelorscriptie CleanDoc-
Voorlopig onderzoeksplan Bachelorscriptie 2011 -CleanDoc- Wouter Lockefeer 0545228 Probleemstelling Een goede programmeertaal moet niet alleen efficiënte programma's opleveren, maar ook handig zijn in
TENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 28 november 2002 tijd: 13:30 17:00 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.
Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende
Software Test Documentation
FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe
Programmeren: Visual Basic
PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies
Lessen Java: Reeks 3. David Blinder Jan G. Cornelis
Lessen Java: Reeks 3 David Blinder Jan G. Cornelis Vraag 0: Gebruik van de Debugger Syntax errors: fouten door verkeerd gebruik van Javacommandos code zal niet compileren. Locatie van de fout is bijna
Automatische Testen van Java Klassen
Automatische Testen van Java Klassen Wishnu Prasetya ([email protected]) Dit artikel bespreekt de problemen van tradioneel handmatig testen en hoe men tegenwoordig Java klassen automatisch kan testen. Niemand
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Java. Basissyllabus. Egon Pas
Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be [email protected] 1 Programmeren 1.1 Hoe werkt een
Programmeertechnieken Week 7
Programmeertechnieken Week 7 Tim Cocx, Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pt2017/ "Confidence in Code" "Ons programma / onze module is af, maar hoe weten we nu of alles werkt?"
Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Stichting NIOC en de NIOC kennisbank
Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen
Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer. Constraints
Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer 2005 Prof Dr. O. De Troyer, pag. 1 Constraints UML s notatie is grafisch Goed voor het uitdrukken van structurele eigenschappen van
Programmeren in Java 3
26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class
Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
TENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 10 juli 2004 tijd: 9:00-12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
TENTAMEN Programmeren 1
TENTAMEN Programmeren 1 vakcode: 213500 datum: 15 augustus 2002 tijd: 13:30 17:00 uur Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding van Programmeren
SEN1 Software Engineering 1
SEN1 Software Engineering 1 Pieter van den Hombergh Ferd van Odenhoven Fontys Hogeschool voor Techniek en Bedrijfsmanagement Software Engineering 6 maart 2008 FvO,PvdH/FHTBM SEN1 Software Engineering 1
Tentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
Unit testen van EJB's. Koert Zeilstra - iprofs
Unit testen van EJB's Koert Zeilstra - iprofs Inleiding We weten tegenwoordig allemaal dat we ons product moeten testen om de kwaliteit te verhogen en behouden Software-ontwikkelaars zijn over het algemeen
Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Sjabloon testspecificatie. <<Organisatie>>
Sjabloon testspecificatie SYSQA B.V. Almere : Status : Opgesteld door : Organisatie Pagina 2 van 5 Inhoudsopgave Inleiding...3 1 Analyse functiebeschrijving...4
Teststrategien. Pieter van den Hombergh. 20 februari 2014. Fontys Hogeschool voor Techniek en Logistiek Software Engineering
Teststrategien Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 20 februari 2014 HOM/FHTeL Teststrategien 20 februari 2014 1/33 1 Acceptatietesten Belangen Inhoud
Modulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal
Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
INFITT01 - Internettechnologie WEEK 8
INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de
Inhoudstafel. UML (Unified Modeling Language)
UML (Unified Modeling Language) Inhoudstafel Inleiding...2 Waarvoor dient UML...2 Wat is UML... 2 Use-cases... 2 Inleiding...2 Voorbeeld...3 Eigenschappen van een goede use-case...3 Wat is een actor...4
Opdracht 7a. Applicatiebouw 2014/2015
Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn
1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Teststrategien. Hebben we wel het juiste gebouwd? Pieter van den Hombergh. 20 februari 2014
Teststrategien Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 20 februari 2014 HOM/FHTeL Teststrategien 20 februari 2014 1/33 1 points 2 Review plan debugging
Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET
Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15
Software Test Documentation
FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe
Inhoudsopgave. 1 Inleiding Situering Probleem beschrijving Wat is OCL Motivatie Doelstellingen...
Dankwoord Ik wil alle mensen bedanken die rechtstreeks of onrechtstreeks hebben meegewerkt aan het tot stand brengen van deze thesis. In de eerste plaats gaat mijn dank naar mijn ouders die deze studies
Spreekvaardigheidstraining met behulp van Automatische Spraak-Herkenning (ASH)
Spreekvaardigheidstraining met behulp van Automatische Spraak-Herkenning (ASH) Helmer Strik Afdeling Taalwetenschap Centre for Language and Speech Technology (CLST) Radboud Universiteit Nijmegen Overview
Test rapportage Waarom eigenlijk?
Testrapportage Boodschappers van de koning? Test rapportage Waarom eigenlijk? TestNet voorjaarsevenement 2015 Jurian van de Laar Jurian van de Laar @JurianvdL 30 april 2015 @JurianvdL Jurian van de Laar
Introductie in C++ Jan van Rijn. September 2013
Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
2 OBJECTGEORIËNTEERDE BASISBEGRIPPEN.
Objectgeoriënteerde basisbegrippen 15 2 OBJECTGEORIËNTEERDE BASISBEGRIPPEN. Het is de bedoeling in dit hoofdstuk van je kennis te laten maken met de belangrijkste onderwerpen van object oriëntatie. We
Om de libraries te kunnen gebruiken, moet de programmeur (een deel van) zijn programma in C/C++ schrijven.
1 Inleiding tot.net Software werd en wordt meestal geschreven in C of C++. De broncode van een C/C++ programma wordt dan gecompileerd naar machine code, die eventueel nog gelinkt wordt met machine code
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Open Source Software. Bart van Dijk ([email protected])
Open Source Software Bart van Dijk ([email protected]) Open Source Software (OSS) Wat is het Waarom willen we het wel (of niet) OSS voorbeelden Geschiedenis Licenties Ontwikkeling en ondersteuning Wat
Objectgericht programmeren 1.
Objectgericht programmeren 1 [email protected] http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Unit testen met Rhino mocks Twee handen op één buik
Unit testen met Rhino mocks Twee handen op één buik Sinds Kent Beck in 2000 zijn meesterwerk 'Extreme Programming Explained' schreef, weet iedere ontwikkelaar dat gedegen testen van software noodzakelijk
TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010 [email protected]
Testers helpen ontwikkelaars of andersom? TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010 [email protected] Improve Quality Services B.V. 2 Agenda Hoe veilig is een muur? Past Scrum ook
Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2
Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele
Deel 1 : Gesloten Boek
Naam : EXAMEN SOFTWAREONTWIKKELING 1STE PROEF BURG. IR. COMPUTERWETENSCHAPPEN EERSTE EXAMENPERIODE ACADEMIEJAAR 2004-2005 Deel 1 : Gesloten Boek 1. Testen Geef een overzicht van de verschillende testen
Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma
3 Vereiste kennis Dit boek richt zich op het leren programmeren door het oefenen met programmeercodes. Veel theorie komt in het begin niet aan de orde. Dat is een grote uitdaging want het is niet makkelijk
DOMjudge teamhandleiding
judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat
Labo 1 Programmeren II
Labo 1 Programmeren II L. Schoofs K. van Assche Voor de OA Labo Programmeren II programmeren we in C# en met Microsoft Visual Studio 2005 als ontwikkelomgeving (voorlopig beta2). Deze IDE maakt gebruik
Introductie en even voorstellen
Introductie en even voorstellen Onlangs is PHP5 uitgekomen. PHP5 is een grote stap voorwaards voor iedereen die met deze populaire programmeertaal werkt. In deze presentatie bekijken we de belangrijkste
ONDERZOEK NAAR DE ZOEKMACHINE VRIENDELIJKHEID VAN COMMERCIËLE,
ONDERZOEK NAAR DE ZOEKMACHINE VRIENDELIJKHEID VAN COMMERCIËLE, CLOSED SOURCE CMSEN Versie: 2.0 Dit onderzoek betreft de zoekmachine vriendelijkheid van commerciële CMS-systemen, m.a.w. systemen waar de
Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen
Eerste programmeertaal Leren programmeren vs. een programmeertaal leren In Nijmegen: Algol68 als basis voor o.a. Modula-2 en C Voor Codi/Boxmeer: Pascal, Java, HTML/PHP Niet helemaal tevreden over Java
Software Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1
vbg.vbnet.beginner Foutafhandeling binnen Visual Basic.NET
Fouten in software zijn onwenselijk, maar bijna niet te voorkomen. Er zijna namelijk zaken waar uw software geen invloed op uit kan oefenen. Het verbreken van een netwerkverbinding is een voorbeeld hiervan.
Inhoudsopgave. Hoofdstuk 1: Ant...4
Inhoudsopgave Hoofdstuk 1: Ant...4 1.1 Inleiding...4 1.2 Ant installeren...5 1.3 Ant gebruiken...7 1.3.1 Een project maken...7 1.3.2 Mijn eerste Ant-script...10 1.3.2.1 Projects...10 1.3.2.2 Targets...11
Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13
5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische
Unit testen met Rhino Mocks
Testen Unit testen met Rhino Mocks TWEE HANDEN OP ÉÉN BUIK Sinds Kent Beck in 2000 zijn meesterwerk Extreme Programming Explained schreef, weet iedere ontwikkelaar dat gedegen testen van software noodzakelijk
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;
OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Object georiënteerde (OO) systemen kennen vele voordelen ten opzichte van traditionele procedurele systemen. Zo zouden OO systemen flexibeler en beter onderhoudbaar
EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010
EmSE presentatie Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010 Het probleem Ik wil een LED controller maken Voor zelfgemaakte RGB power-led lampjes Om aan mijn thuisnetwerk
