Model Drevet Design i Praksis
|
|
|
- Elias Iversen
- 10 år siden
- Visninger:
Transkript
1 Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/ Jeppe Cramon - TigerTeam ApS
2 Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet udvikling i 2001 Siden erfaring med model drevet udvikling fra BEC Pension, letpension, Elektronisk Tinglysning samt et større ERP projekt med SAP integration. Facilitator for Dansk IT s Java kompetence netværk
3 Dansk IT Java kompetence netværk Et engageret netværk af Java professionelle Mødes 4 gange årligt Eksterne og interne foredragsholdere Debat emner Flere medlemmer vil sikre større udbytte af netværket...
4 Hvorfor Model Drevet Udvikling?
5 Fordi software udvikling stadig tager for lang tid!
6 Hvorfor tager det for lang tid?
7 Vi løser de forkerte problemer For dårlig kommunikation
8 Udvikling kræver stadig for store resourcer For lidt abstraktion og automatisering
9 Hvilke tiltag findes der til at løse disse udfordringer i dag?
10 Outsource eller bruge flere konsulenter
11 Agil udvikling
12 Bedre tekniske frameworks
13 Mere udtryksfulde programmeringssprog
14 Flere af disse tiltag virker fortrinligt, hvis de bruges rigtigt...
15 Men kan vi ikke bare få forretningen til at kode og fyre programmørerne? ;) Kommer ALDRIG til at ske!
16 Men vi kan få forretningen til at deltage mere aktivt i udviklingen, gennem...
17 Model Driven Software Development (MDSD)
18 MDSD er brugen af modeller til at...
19 Forenkle virkeligheden
20 Forbedre kommunikationen
21 Hæve abstraktions niveau
22 Forbedre kvaliteten
23 Der findes to forskellige typer modeller...
24 Tekstuelle modeller Domain Specific Languages (DSL)
25 Visuelle modeller
26 Fællesnævneren er...
27 Godt supplement til eksisterende metoder
28 Et højere udtryks- og abstraktions niveau
29 En elektrificeret beskrivelse af problem domænet
30 Er MDSD ikke bare CASE tools om igen?
31 NEJ - CASE tools betød One size fits all Generatoren var oftest låst af leverandøren Gav en med løsning Det var svært at ændre/tweake toolet MDSD handler om Pragmatisme - One Model Doesn t Fit All! Brug den model der hvor det giver mening for dit projekt Brug modeller til det de er gode til - skriv resten i hånden Brug en effektiv generator og skriv dine egne udvidelser - No lock in Fokus på uden Tillad specialisering på alle niveauer
32 Eksempler på anvendelse af MDSD
33 1: Advanced ebusiness applikation Business Engine Skrevet i C Custom Metadata SQL + DB2 Service kald JDBC Schema Metadata Admin Applikation +JSP Java Persistence Skrevet i Java klasser (CMP)
34 Konklusion på JSP/Template baseret og DB drevet MDSD Det virkede Java gruppen var agil, da den nemt kunne reagerer på DB ændringer DB ens Schema MetaData havde begrænset indhold => behov for ekstra meta data Ekstra meta data forårsagede behov for Web app til at holde dem ved lige JSP erne blev rodede, det var svært at tilføje ortogonale udvidelser Hang ikke sammen med build systemet
35 2: Forsikrings domæne model Opgaven var: Byg et nyt Java baseret pensionskasse system (GALOP) til flere samtidige pensionskasser med vidt forskellige og komplicerede pensions produkter Skulle bygges op omkring Spring Framework (Teknisk infrastruktur framework) Hibernate/JPA (Objekt-Relationel Mapping framework) bidrog med Process, Metode samt Teknisk ekspertise indenfor JEE, Spring, Hibernate og Web bidrog med Pensions domæne viden samt ekspertise i software og model drevet udvikling
36 Løsning Pensionskasse X Model Pensionskasse Y Model Høj niveau beskrivelse af domænet vha. UML modeller GALOP Pensions Model Lagdelte domæne modeller med specialisering Model til Model transformation af de generelle modeller til den pågældende løsning (modellen er generel, implementationen er specifik) Dansk Pensions Model En-vejs iterativ kode generering vha. plugin baseret kode generator Generel Pensions Model
37 Højniveau beskrivelse af domænet UML:
38 Højniveau: Bitemporal historik Giver frihed til at vælge den rette implementation uden at afsløre det i modellen 1 * 1 1
39 Højniveau: Versionering (Temporal Object Pattern)
40 Konklusion på UML baseret domæne model Det virker RIGTIG godt til domæne modeller Super kommunikations form - Teknikken støjer ikke Agilitet: Remodellerer når der er behov og regenererer Learn as you go along: Når vi blev klogere på Hibernate udfordringer var det nemt at rette det gennem generatoren. Lille indsats => Stor effekt Ensartet kvalitet Stor fleksibilitet i hele processen
41 3: SOA model Opgaven var: BEC/Schantz forsikringskerne skulle specialiseres til letpension Forsikringskernen skulle integreres i en lagdelt SOA model med tilhørende orkestrering SOAP / WSDL / XML Schema (WS-I Basic) - Aka. the usual suspects!
42 Løsning: Beskrivelse af service grænsefladen vha. UML En-vejs iterativ kode generering af WSDL XML Schema Serverside service skelet Klient stub (for test) HTML beskrivelse af forskellene mellem to model versioner
43 Service grænseflade i UML
44 Konklusion på UML baseret SOA model Det virkede så godt at det gik fra kun at være forsikrings projektet der brugte det til det var hele letpensions SOA model der blev beskrevet i UML og genereret Super kommunikations form - Teknikken støjer ikke Agilitet: Remodellerer når der er behov og regenererer - Mulighed for at lave automatiseret dokumentation af model ændringer mellem versioner Adaptability: Når service principperne ændrede sig (i starten) var forsikrings projektet oftest 10 gange så hurtigt til at rette servicene til (i forhold til de andre projekter) Ensartet kvalitet Stor fleksibilitet i hele processen
45 4: Elektronisk tinglysning Opgaven var: Få Elektronisk tinglysning i mål så hurtigt som muligt TigerTeam deltog i at få den meget komplekse domæne model persisteret vha. Hibernate/JPA (Objekt-Relationel Mapping framework) Oracle 10.x TigerMDSD (Model baseret kode generator)
46 Krav vi skulle kunne leve op til Oracle har en begrænsning på 30 karakterer for tabeller, kolonner, etc. Det skal være muligt at udvide den genererede kode uden at tabe udvidelserne ved regenerering Automatiseret integrations test af den genererede kode op mod Oracle databasen Fast definerede regler (defaults) der skal kunne overstyres enten via generatoren eller via modellen
47 Hvordan laver man en generel og fleksibel generator der kan leve op til disse krav?
48 TigerMDSD proces for kode generering + UML modellering TigerMDSD XMI Eksport konfiguration MODEL is KING Java/C# kode JPA konfiguration Database konfiguration Integrations test Test data generator WSDL XML Schema...
49 Trin 1 MagicDraw + XmiReader XMI UML Model object graf
50 TigerMDSD - På UML Model Niveauet XmiReader reader = new EAXmiReader(); XmiReader reader = new MagicDrawXmiReader(); MetaModel metamodel = reader.read("model.xml");
51 Transformation - Fra UML model til Resultat UML Model object graf Transformation (TigerMDSD konfiguration) Java/C# kode JPA konfiguration Database konfiguration Integrations test Test data generator WSDL XML Schema...
52 TigerMDSD - Transformation til Java JavaGenerator javagenerator = new JavaGenerator(); List<ClazzOrInterface> allgeneratedclazzes = javagenerator.execute(metamodel); Meta Type MetaPackage MetaClazz MetaAssociationClazz MetaEnumeration MetaInterface MetaProperty MetaOperation Java Model JavaPackage Clazz Clazz Enumeration Interface Property (Består af Field, GetterMethod og SetterMethod) Method
53 TigerMDSD - Java Model
54 TigerMDSD - Udvidelser baseret på Events
55 TigerMDSD - Udvidelser public interface GeneratorEventListener { boolean handle(generatorevent event);... }
56 TigerMDSD - Eksempel private Set<Tire> tires; public class HibernateDeleteOrphanListener extends BaseJpaGeneratorEventListener protected boolean handleonetomanyownerofassociation(onetomanyassociationevent event) { } if (isdeleteorphancandidate(event)) { event.getproperty().getfield().addannotations( new Annotation(Cascade.class).addAnnotationAttribute("value", CascadeType.DELETE_ORPHAN) ); event.getproperty().removesettermethod(); } return true; } protected boolean isdeleteorphancandidate(onetomanyassociationevent event) {... }
57 TigerMDSD - Eksempel på udvidelse protected boolean isdeleteorphancandidate(onetomanyassociationevent event) { } if (event.getmetaproperty().isownerofassociation() &&!event.getmetaproperty().getassociation().isbidirectional() && }!event.getmetaproperty().getassociation().isselfreferencing()) { // Check the clazz of the opposite property to see what kind of associations it has for (MetaProperty submetaproperty : event.getmetaproperty().gettype().getproperties()) { if (submetaproperty.ispartinanassociation()) { } } if (submetaproperty.isownerofassociation()) { if (submetaproperty.getassociationtype() == AssociationType.ManyToMany } submetaproperty.getassociationtype() == AssociationType.OneToMany) { return false; } } else if (submetaproperty.getassociation().isbidirectional()) { return true; return false; // The type of the our sub property is not an owning association and we have // a java association in both directions (bidirectional), which hibernate doesn't handle return false;
58 TigerMDSD - Indbyggede udvidelser Built-in Types Bidirectional associations Property Sugar methods Get Or New Property methods Constructor (immuteable properties) Class Hierarchy Java doc generator Serial Version UID generator MetaType Java doc generator Serializable Pojo s ToString/Equals/HashCode JPA Field based persistence JPA Named Tables and Columns Hibernate Foreignkey Constraints Hibernate Foreignkey Index Hibernate Fetch Optimization Hibernate Association Unproxying Hibernate Table Comments Hibernate HH-3544 bug fix
59 TigerMDSD - Java konfiguration JavaGenerator javagenerator = new JavaGenerator(); javagenerator.addeventlisteners(new BuiltInTypesListener() protected void resolvebuiltintypes(type type) { if (type.getname().equalsignorecase("datetime")) { type.setwrappedjavaclass(datetime.class); } else { super.resolvebuiltintypes(type); } } }); javagenerator.addeventlisteners(new JPAGeneratorEventListener().setShouldMakeBaseClazzesMappedSuperClassesIfPossible(true).setShouldGeneratePresentFieldInEmbeddables(false).setDefaultToLazyFetchingForAllAssociations(true) ); javagenerator.addeventlisteners(new JPANamedTablesAndColumnsListener()); javagenerator.addeventlisteners(new BidirectionalGeneratorEventListener()); javagenerator.addeventlisteners(new HibernateAssociationUnproxyListener()); javagenerator.addeventlisteners(new SerialVersionUIDGeneratorListener()); javagenerator.addeventlisteners(new PropertySugarMethodsEventListener()); javagenerator.addeventlisteners(new MetaTypeJavaDocListener()); javagenerator.addeventlisteners(new HibernateIndexingListener()); javagenerator.addeventlisteners(new HibernateDeleteOrphanListener()); javagenerator.addeventlisteners(new HibernateValidatorNotNullListener()); javagenerator.setcreateextensionclazzes(true);
60 TigerMDSD - YAML konfiguration
61 3 level inheritance - Udvikler udvidelser Hvad vi modellerer: Hvad vi genererer: Optionel Alternativer: Partial Classes Mixins / Traits Priviledged Aspects Protected Regions
62 Best practices
63 Tak for opmærksomheden! For mere information
Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling
Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange
Curriculum Vitae Jack Petersen
Curriculum Vitae Jack Petersen Jeg er løsningsarkitekt og erfaren Java-udvikler i de sidste 15+ år har jeg arbejdet i den finansielle sektor, hvor jeg har bygget både frontend og backend systemer. De sidste
Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails
Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med
A Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Webserverprogrammering
Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html
SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp
SAS USER FORUM USER FORUM Rune Nordtorp Agenda Logning Audit logning Og hvorfor er det lige pludselig blevet vigtigt Logning i SAS -platformen Ressource Inventory Model Introduktion til opsætning af logning
Curriculum Vitae PETER VILLADSEN MOBIL: +45 5080 1010 E-MAIL: [email protected] RAVNSBORGVEJ 91 DK-4600 KØGE WWW.PVILLADSEN.DK
Curriculum Vitae PETER VILLADSEN MOBIL: +45 5080 1010 E-MAIL: [email protected] RAVNSBORGVEJ 91 DK-4600 KØGE WWW.PVILLADSEN.DK Profil Erfaren udvikler med teknisk indsigt. Arbejder pt. meget med udvikling
Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004
Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),
Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.
MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.
Database for udviklere. Jan Lund Madsen PBS10107
Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated
Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben
GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor
Databaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
WINDCHILL THE NEXT STEPS
WINDCHILL THE NEXT STEPS PTC/user, 4. marts 2015 Jens Christian Jensen, Econocap Agenda Windchill the next steps Bliv opdateret og inspireret til at se hvor Windchill kan hjælpe dig med andet end blot
RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Who s to blame? Jeppe Rørbæk. [email protected] +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT
Who s to blame? Jeppe Rørbæk [email protected] +45 22 70 55 07 Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Introduktion til ATLAS AJAX Intro / hensigten med ATLAS Hvordan
Web services i brug. Anvendelse uden for biblioteksverdenen
Web services i brug Anvendelse uden for biblioteksverdenen Agenda Visionen bag webservices Tre cases Et kig fremad Nordija Etableret i marts 1998 Udviklingsprojekter Forretningskritiske applikationer Komponenter
Software Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Arkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
SigmaT.
Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt
Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.
.NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS
Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)
Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787
Enterprise Search fra Microsoft
Enterprise Search fra Microsoft Sådan kommer du i gang med search i Microsoft SharePoint Server 2007 Simon Tange Mortensen Solution Sales Specialist Microsoft Danmark [email protected] Flere grænseflader
Curriculum Vitae for Søren Brønsted
Curriculum Vitae for Søren Brønsted Person oplysninger Søren Brønsted Kirkebjergvej 2 4623 Lille Skensved Tlf: 52 19 14 10 email: [email protected] Født: 1963 Profilbeskrivelse Jeg er er en senior Java/J2EE
Præsentation af BSK regionens identity and access management platform
Regionshuset It digital forvaltning BSK programmet Olof Palmens alle 17 [email protected] www.regionmidtjylland.dk Præsentation af BSK regionens identity and access management platform BrugerStamdataKataloget
Janich dk. Joomla Case sol.dk. Janich Rasmussen. Freelance Joomla! Professional. [email protected]. Joomladay Danmark 2011
Joomla Case sol.dk Janich Rasmussen Freelance Joomla! Professional Email: Twitter: Web: [email protected] @janichdk janich.dk Joomladay Danmark 2011 Hvad er sol? Infrastruktur Tilført kompleksiteter siden
Singleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Zapier-integration mellem MailChimp og webcrm hos Azalea IT
Case: Zapier-integration mellem MailChimp og webcrm hos Azalea IT Zapier er en integrationsplatform, hvor man kan forbinde over 1500 apps uden at skrive en eneste bid kode. Du kan se, hvilke apps du kan
IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
CV for Christian Plougmann Hag
CV for Christian Plougmann Hag Navn Christian Plougmann Hag Født 1970 Civilstand Gift, 2 børn IT-erfaring siden 1991 Personlig profil Christian er en kapacitet, der med sine mange års erfaring med J2EE/JavaEEsystemudvikling,
TeamShare 2.1 Versionsnoter Oktober 2009
TeamShare 2.1 Versionsnoter Oktober 2009 TeamShare version 2.1.292 Denne version af TeamShare har fået mange nye funktioner, samt forbedringer på eksisterende. Hver ny feature er gennemgået i hvert sit
Database. lv/
Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde
Vejledning i skabelse og test af metadata
Side 1 af 5 Tilbage til statslige vejledninger Tilbage til vejledninger for kommunale myndigheder Vejledning i skabelse og test af metadata Indhold på denne side: 1. Om metadata 1.1 Opmærkning 2. Skabelse
Design by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Objektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
FKG datamodellen Version 2.3.1 ArcGIS integration Sidste revisionsdato: 23. maj 2014
FKG datamodellen Version 2.3.1 ArcGIS integration #1 FKG Fælleskommunale Geodatasamarbejde FKG datamodellen Version 2.3.1 ArcGIS integration Sidste revisionsdato: 23. maj 2014 1 FKG datamodellen Version
APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne
APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA
ProjectWise Tips & Tricks
ProjectWise Tips & Tricks 7. november 2017 Bentleyuser.dk Årsmøde 1 Installation Netværk Firewall Intern pc Integration Servere DB Ekstern pc 2 Åben dokument check out Netværk Firewall Intern pc Integration
SQL Server 2016 Data Adgang
SQL Server 2016 Data Adgang MSBIP, 5. OKTOBER, 2015 Agenda SQL Server 2016 CTP 2.3 Pragmatisk Data Adgangskontrol Row Level Security Dynamic Masking Kombination af begge Alternativet Hvem er jeg Selvstændig
VPN VEJLEDNING TIL MAC
VPN VEJLEDNING TIL MAC MAC OS X 1 VPN VEJLEDNING TIL MAC Formålet med en VPN forbindelse er, at du kan tilgå nogle af Aarhus Universitets services hjemmefra, som ellers kun er tilgængelige, når du er på
Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende
Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind
edgemo SOFT2go Kristian F. Thomsen
edgemo SOFT2go Kristian F. Thomsen Hvad er edgemo SOFT2go? Software pakke service koncept SOFT2go tilbyder: Adgang til download af standard applikations pakker Pakketering af virksomhedsspecifikke applikationer
Bypassing the. Brian Marick
Bypassing the GUI Brian Marick Problemer med GUI GUI er designet for mennesker, ikke automatisering Automatiseret test af GUI kræver specialiseret værktøjer Har tildens til at bryde ned når der sker ændringer
Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations
Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University
En rekord er sat. SDC s PD-løsning til IFRS 9 15/6-2017
En rekord er sat SDC s PD-løsning til IFRS 9 15/6-2017 SDC i tal 124 KUNDER I NORDEN 3,6 mio. SLUTKUNDER 8,5 mio. KONTI Danmark Etableret i 1963 1,8 mio. slutkunder 4,4 mio. konti Norge Etableret i 2005
Succesfuld implementering af automatiseret test
Succesfuld implementering af automatiseret test Forudsætningerne og faldgruberne John Fodeh [email protected] 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject
Microsoft Dynamics NAV & Service Management
Microsoft Dynamics NAV & Service Management Agenda Introduktion Service Management i Microsoft Dynamics NAV Udstyrskartotek Serviceordrer Servicekontrakter Servicehistorik Den mobile serviceløsning Afrunding
Den røde tråd fra testdækning til releasemetrikker
Den røde tråd fra testdækning til releasemetrikker The art of developing software cheaper, in good quality and at schedule Software-Pro Agenda Den røde tråd fra testdækning til releasemetrikker Mange har
Opsætning af MobilePBX med Kalenderdatabase
Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Tree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Installation og Drift. Aplanner for Windows Systemer Version 8.15
Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller
OFFENTLIGT KMD A/S EJ 0.0 NUMMERERET SLIDE 1 CCM USER GROUP 20.11.2013. KMD einvoicing. v/ Ole Sixhøi
OFFENTLIGT SLIDE 1 CCM USER GROUP 20.11.2013 KMD einvoicing v/ Ole Sixhøi AGENDA SLIDE 2 INTRODUKTION KMD einvoicing - Baggrunden - Ydelsen DESIGN OG FUNKTIONALITET LOGISK FLOW ARKITEKTUR KMD E-INVOICING
Agil test tilgang - erfaringer fra projekter
Agil test tilgang - erfaringer fra projekter af Michael Roar Borlund November 2011 Image Area Agenda Introduktion Agil test Fremtidsvision Agil test tilgang Agil opbygning i QC Resumé og Spørgsmål 2 Introduktion
Specifikationsdokument for PDF Validator API
Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 [email protected] www.nets-danid.dk CVR-nr. 30808460 Specifikationsdokument for PDF Validator API DanID A/S 17. august 2012
SAX Simple API for XML.
SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller
Database programmerings tips
Denne guide er oprindeligt udgivet på Eksperten.dk Database programmerings tips Denne artikel vil introducere nogle problem stillinger med flere samtidige brugere, som man skal tænke på, når man udvikler
Hvordan sikres investeringen i eksisterende systemer, når skyen tages i brug. Carsten Rasmussen, CTO, Capgemini Danmark A/S IDC Cloud Computing 2011
Hvordan sikres investeringen i eksisterende systemer, når skyen tages i brug Carsten Rasmussen, CTO, Capgemini Danmark A/S IDC Cloud Computing 2011 Formål og agenda Formål Vi vil på denne workshop diskutere:
PID2000 Archive Service
PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren
Passioneret dotnet (.Net) programmør, med erfaring fra Dynamics Nav og integration [email protected]
Flemming Bakkensen Passioneret dotnet (.Net) programmør, med erfaring fra Dynamics Nav og integration [email protected] Summary FAGLIGE VÆRDIER Systemudvikler med 10 års erfaring - hvor jeg
BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015
BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere
Curriculum Vitae. Type År Sidst Niveau Type År Sidst Niveau
Curriculum Vitae Personoplysninger Navn: Søren Hvidkjær Andersen Adresse: Solbærmarken 5 By: 8641 Sorring Mobil: +45 24 82 98 87 E-mail: [email protected] Født: 16. Juli 1971 Civilstand: Introduktion Gift
Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?
Visual Studio Team System Team Build en grundpille i søgen efter it-projektproduktivitet? Agenda: Introduktion Hvorfor Automatiseret Build Microsoft Team Build Rapportering/Data warehouse Commentor A/S
DANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Introduktion til ActionScript, fortsat
Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen [email protected] i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, [email protected] 1 Dagens program Opsamling
Kom godt i gang med Digital Transformation via din Microsoft ERP-platform
INDLÆG 16 DIGITAL TRANSFORMATION Kom godt i gang med Digital Transformation via din Microsoft ERP-platform Shila Henriksen 03.11.2015 CGI Group Inc. 2015 Shila Henriksen Uddannelse Civiling, Software Eng.
KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB
KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB Det er Web Services, der rejser sig fra støvet efter Dot Com boblens brag. INTRODUKTION Dette dokument beskriver forslag til fire moduler, hvis formål
Mennesker til forskel Alle typer kompetencer til dine it-projekter
Mennesker til forskel Alle typer kompetencer til dine it-projekter 1 Hvad er en vision uden en mission? Tom Slivsgaard er adm. direktør og partner i DataVision. Med 25 års erfaring fra it-konsulentbranchen
Brian Bugge - CV. Curriculum Vitae 1. Telefon: +45 29 71 71 42 E-mail: [email protected]
Jeg er udadvendt, initiativrig og engageret, og har let ved at tilegne mig ny viden. Jeg har en meget entusiastisk holdning til nye løsninger og udfordringer, er nem at tale med, og besidder en god portion
Jan Hansen, AMP CMDB Specialist
Jan Hansen, AMP CMDB Specialist [email protected] Hvad er en CMDB? Et register over enheder (ITIL sk: Configuration Items eller CIs) CIs indeholder relevante oplysninger: attributter Sammenhænge eller
FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø
FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har
Navision Stat 7.x. Opsætning af NAS 1 til afvikling af GIS-automatisering, GIS med webservice og opgavekø. Overblik. Side 1 af 8
Side 1 af 8 Navision Stat 7.x ØSY/CPS/MIL Opr. 30.09.16 Opsætning af NAS 1 til afvikling af GIS-automatisering, GIS med webservice og opgavekø Overblik Introduktion Denne vejledning beskriver, hvordan
Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring
Curriculum vitae Personlige oplysninger Navn: Michael Sig Adresse: Hesseløgade 4, 3.th. 2100 København Ø Telefonnr.: 40 97 50 49 www: www.sig-logik.dk Email: [email protected] Alder: 32 år (født d. 21.9.1974)
