Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)
|
|
- Caspar Carlsen
- 8 år siden
- Visninger:
Transkript
1 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 Århus TLF:
2 Abstract Ifølge Martin Fowler [PoEAA] er der to hovedmønstre til at strukturere typiske enterprise applikationer; Transaction Script og Domain Model. Dette indlæg giver en introduktion til hvad en domænemodel er, hvilke fordele der kan være ved at basere sin arkitektur på en domænemodel, samt praktiske design mønstre, der hjælper til at strukturere domænemodellen. Der vil blive vist C# kode (Whidbey), som illustrerer implementationen af de enkelte design mønstre. Vi vil også diskutere hvordan service orientering og domænemodeller hænger sammen. EOS A/S Margrethepladsen Århus (2)
3 Formål Formålet er at give en introduktion til området og forhåbentligt gøre jer interesseret i at finde mere information om emnet. Det at være domænemodel fikseret er i høj grad en mental tilstand, som for mange kræver en del tilvænning. Formålet er IKKE at I skal standse al igangværende udvikling og skifte hest. EOS A/S Margrethepladsen Århus (3)
4 Agenda Introduktion til domænemodeller Modellering (i farve) Lidt om udviklingsproces Patterns til strukturering af domænemodeller C# eksempler på implementering SO(A) og Domænemodeller EOS A/S Margrethepladsen Århus (4)
5 Introduktion til domænemodeller EOS A/S Margrethepladsen Århus (5)
6 Kontekst Præsentation Rig klient (Windows), Web, kommandolinie Visning af data, håndtere brugerinput Domænelogik Forretningslogik Data-adgang Adgang til RDBMS, beskedsystem, ERP, EOS A/S Margrethepladsen Århus (6)
7 Domænelogik Præsentation Domænelogik Data-adgang To hovedretninger: Transaction Script (procedural) Domain Model (objektorienteret) EOS A/S Margrethepladsen Århus (7)
8 Transaction Script Organiserer forretningslogik i form af procedurer, hvor hver procedure håndterer et enkelt request fra præsentationen Et Transaction Script kalder databasen direkte eller gennem en tynd databasewrapper EOS A/S Margrethepladsen Århus (8)
9 Transaction Script fordele/ulemper Fordele Alle kan lære at bruge transaction script Simpel at implementere Minimal performance overhead Ulemper Resulterer let i Cut & Paste programmering Svær at vedligeholde Samme fejl propagerer rundt i kodebasen og skal rettes mange steder Skalerer ikke til komplicerede opgaver EOS A/S Margrethepladsen Århus (9)
10 Domain Model Organiserer domænelogikken i form at et sæt objekter, der arbejder sammen for at løse forretningsoperationer & forretningsregler De begreber, der findes i problemområdet, findes som klasser i domænemodellen Indbegrebet af Objektorientering EOS A/S Margrethepladsen Århus (10)
11 Transaction Script / Domain Model Transaction Script Domain Model EOS A/S Margrethepladsen Århus (11)
12 Modellering EOS A/S Margrethepladsen Århus (12)
13 Eksempel 1 shipmentaddress Catalog Distributor ContactInformation * Customer * 1 1 ProductCategory * CustomerSale 1 CustomerShipment 1 ProductLine * 1 Brand 0..* 0..* 1 * Order Shipment * 1 * * Product ProductSale OrderLineItem ShipmentLineItem EOS A/S Margrethepladsen Århus (13)
14 Order-management Customer 1 0..* Order 1..* Product 1 * OrderLineItem EOS A/S Margrethepladsen Århus (14)
15 Lidt om udviklingsproces EOS A/S Margrethepladsen Århus (15)
16 Feature-Driven Development Opstart Iteration Iteration Udvikle domæne model Lav feature liste Planlæg iterationer baseret på feature liste Design feature Implementer feature Design package Bruger nyttig funktion Feature: <aktion> <resultat> <objekt> Beregn total-ordre-sum for en kunde EOS A/S Margrethepladsen Århus (16)
17 Patterns til strukturering af domænemodeller EOS A/S Margrethepladsen Århus (17)
18 Domain-Driven Design (DDD) Der er mange måder at realisere en domænemodel på DDD beskriver et sæt patterns Entity ValueObject Repository Specification EOS A/S Margrethepladsen Århus (18)
19 Entity Objekt, som er entydigt identificeret ved et ID Sammenlignes ikke ved at sammenligne værdierne af objekternes attributter Har som regel lang levetid Eksempler: Product Customer Order EOS A/S Margrethepladsen Århus (19)
20 ValueObject ValueObject er har ikke et entydigt ID Sammenlignes vha. objekternes attributter Beskriver entiteter Bør være immutable Eksempel: OrderLine EOS A/S Margrethepladsen Århus (20)
21 Entity & ValueObject <<Entity>> Customer 1 0..* <<Entity>> Order 1 1..* <<Entity>> Product 1 * <<ValueObject>> OrderLineItem EOS A/S Margrethepladsen Århus (21)
22 Specification Udtrykker en forretningsregel (som et objekt) Typer af anvendelser Query Validering interface ISpecification <T> { bool IsSatisfiedBy(T domainobject); class GoldCustomerSpecification : ISpecification<Customer> { public bool IsSatisfiedBy(Customer acustomer) { return acustomer.totalorderamount > 10000? true : false; EOS A/S Margrethepladsen Århus (22)
23 Repository Repository sørger for at hente/gemme Entities & ValueObjects fra databasen. Repository interfacet minder om Collection Giver illusionen af at alle objekter er i RAM Skjuler al database-kode fra klienten Eksempler: CustomerRepository OrderRepository EOS A/S Margrethepladsen Århus (23)
24 Repository eksempel CustomerRepository <<Entity>> Customer 1 0..* ProductRepository <<Entity>> Order 1 OrderRepository 1..* <<Entity>> Product 1 * <<ValueObject>> OrderLineItem EOS A/S Margrethepladsen Århus (24)
25 En note om Persistens Problemet med domænemodeller er mapningen til RDBMS Overvej at bruge et ORM værktøj NHibernate er Open Source (Beta!) PoEAA indeholder relevante patterns, hvis man selv vil skrive mapningen EOS A/S Margrethepladsen Århus (25)
26 Eksempler på implementation EOS A/S Margrethepladsen Århus (26)
27 OrderLineItem = ValueObject = POCO class OrderLineItem { int quantity; Product product; float price; public OrderLineItem(Product product, int quantity, float price){ this.product = product; this.quantity = quantity; this.price = price; public int Quantity { get { return quantity; public Product Product { get { return product; public float Price { get {return price; EOS A/S Margrethepladsen Århus (27)
28 Order = Entity = POCO class Order { Customer customer; List<OrderLineItem> lineitems; public Order(Customer customer) { this.customer = customer; lineitems = new List<OrderLineItems>(); public void AddLineItem(OrderLineItem li) { lineitems.add(li); public void RemoveLineItem(OrderLineItem li) {lineitems.remove(li); public IList<OrderLineItem> LineItems { get {return lineitems; public float TotalPrice { get { float result = 0; foreach (OrderLineItem li in lineitems) { result += li.price; return result; EOS A/S Margrethepladsen Århus (28)
29 Repository public interface IRepository<T> { void Add(T newelement); void Remove(T element); void Remove(int oid); T FindByOID(int oid); IList<T> Select(ISpecification<T> spec); public class AbstractRepository: IRepository<T> { public class CustomerRepository: AbstractRepository<Customer> { public class OrderRepository : AbstractRepository<Order> { public class ProductRepository : AbstractRepository<Product> { EOS A/S Margrethepladsen Århus (29)
30 Specification interface ISpecification <T> { bool IsSatisfiedBy(T domainobject); class GoldCustomerSpecification : ISpecification<Customer> { public bool IsSatisfiedBy(Customer acustomer) { return acustomer.totalorderamount > 10000? true : false; public interface IRepository<T> { void Add(T newelement); void Remove(T element); void Remove(int oid); T FindByOID(int oid); IList<T> Select(ISpecification<T> spec); EOS A/S Margrethepladsen Århus (30)
31 Specification interface ISpecification <T> { bool IsSatisfiedBy(T domainobject); bool SupportsDbQuery { get; string QueryString { get; abstract class Specification<T> : ISpecification<T> { string querystring; Specification(string querystring) {this.querystring = querystring; abstract bool IsSatisfiedBy(T domainobject); string QueryString { get {return querystring; bool SupportsDbQuery { get {return querystring==null? false : true class GoldCustomerSpecification : Specification<Customer> { GoldCustomerSpecification() : base( ) { public override bool IsSatisfiedBy(Customer acustomer) { return acustomer.totalorderamount > 10000? True : false; EOS A/S Margrethepladsen Århus (31)
32 Typisk brug // Opret ny ordre Order neworder = new Order(); neworder.addlineitem(new OrderLineItem(aProduct, 5, )); OrderRepository orderrepository = new OrderRespository(); orderrepository.add(neworder); // Find alle guldkunder CustomerRespository customerrepository = new CustomerRepository(); IList<Customer> goldcustomers = customerrepository.select(new GoldCustomerSpecification()); // Check om en given kunde er en guldkunde Customer mycustomer = ; if (new GoldCustomerSpecification().IsSatisfiedBy(myCustomer)) { EOS A/S Margrethepladsen Århus (32)
33 SO(A) og domænemodeller EOS A/S Margrethepladsen Århus (33)
34 Kontekst Servicelag Domænemodel Data-adgang EOS A/S Margrethepladsen Århus (34)
35 Teknologi neutral ~ Teknologi specifik Service TechnologyServices ProductWebService ProductMQService SalesWebService SalesRemotingService DomainServices ProductService SalesService DomainModel CustomerRepository <<Entity>> Customer 1 0..* ProductRepository <<Entity>> Order 1 OrderRepository 1..* <<Entity>> Product 1 * <<ValueObject>> OrderLineItem EOS A/S Margrethepladsen Århus (35)
36 Domænemodel fordele/ulemper Fordele God til at håndtere komplekse problemområder Skalerer til meget store kodebaser Fælles sprog mellem udviklere og domæne-eksperter Behersker man først domænemodeller, laver man sjælden løsninger baseret på andre strategier Ulemper Tidskrævende at mappe mellem den objektorienteredemodel og det relationellemodel, hvis man ikke har de rigtige værktøjer (f.eks. ORM) Høj indlæringskurve - kræver disciplineret tilgang EOS A/S Margrethepladsen Århus (36)
37 Referencer Patterns of Enterprise Application Architecture Martin Fowler Addison-Wesley ISBN Domain-Driven Design Eric Evans Addison-Wesley ISBN Feature-Driven Development Stephen R. Palmer & John Felsing Prentice Hall ISBN Java Modeling in Color with UML Peter Coad et.al. Prentice Hall ISBN x EOS A/S Margrethepladsen Århus (37)
38 Kontaktinformation Kim Harding Christensen EOS A/S Margrethepladsen Århus TLF: JAOO September Århus EOS A/S Margrethepladsen Århus (38)
Object-Relational Mapping
Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel
Læs mereEksempel: et ordresystem note 5 Lagdeling s. 1
Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar
Læs mereA 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
Læs mereCasper 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
Læs mereDatabase 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
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereSoftware Projekt NoSQL vs RMDB
Software Projekt NoSQL vs RMDB Skrevet af Carsten Sørensen, Hans Jørgen Frandsen, Peter Haislund Department of Computer Science, University of Aarhus Aabogade 34, 8200 Arhus N, Denmark 201200089, 19960442,
Læs mereVideregå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),
Læs mereTabelbegrebet. 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
Læs mereSkriftlig 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
Læs mereIT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S
IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth
Læs mereHassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
Læs mereIndhold. Senest opdateret : 30. juli 2010. Side 1 af 5
Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 Webshop2 API Model... 3 Brugen af API et... 4
Læs mereTredjepart webservices
Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output
Læs mereAssignment #5 Toolbox Contract
Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal
Læs meredintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser
Læs mereObjektorienteret design med arv og polymorfi:
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret
Læs mereIndhold. Senest opdateret:03. september 2013. Side 1 af 8
Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereUdfordringer 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
Læs mereDygtig.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
Læs mereModel Drevet Design i Praksis
Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/9-2009 Jeppe Cramon - TigerTeam ApS Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet
Læs mereIntroduktion til ActionScript
Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på
Læs mereF# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank
F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank 03-10-2018 Rune Ibsen Softwareudvikling Seniorkonsulent Mentoring 10 konsulenter F# Programmeringssprog som oversættes til.net Functional-first,
Læs mereAlgoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Læs mereJacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004
Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret
Læs mereIntroduktion til ActionScript, fortsat
Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling
Læs merePlugin-arkitektur med.net
Denne guide er oprindeligt udgivet på Eksperten.dk Plugin-arkitektur med.net Denne artikel viser hvordan du kan lave en plugin-arkitektur i dit program. Gør det muligt for andre at skrive udvidelser til
Læs mereSWC Elementer i klassedefinition
SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...
Læs mereSammenligning af Objekt-orienteret databaser og Relationelle databaser.
Sammenligning af Objekt-orienteret databaser og Relationelle databaser. Af Louis Fleron Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 2 Af 11 Indholdsfortegnelse 1. Forord....3 2. Hvad er et OODBMS?...3
Læs mereSpecifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api
Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...
Læs mereVideregående programmering i Java
Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status
Læs mereOIOSAML.NET og Umbraco. ved Thomas Ravnholt ravnholt @ silverbullet.dk
OIOSAML.NET og Umbraco ved Thomas Ravnholt ravnholt @ silverbullet.dk Silverbullet, stiftet 2003 Silverbullet A/S IT- rådgivning, projektledelse og implementering Officiel SKI-leverandør Kontorer i Århus
Læs mereGoogle App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben
GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor
Læs mereKursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing
Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt
Læs mereIntegrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
Læs mereObjects First with Java A Practical Introduction Using BlueJ
Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet
Læs mereMapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.
MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereDatabaseadgang 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,
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave
Læs mereWeb- og serverprogrammering
Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html
Læs mereSWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Læs mereHvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag
Hvem er vi? Kursus Introduktion Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom
Læs mere1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5
INDHOLD 1 Domæne 2 1.1 Design valg.................................... 2 1.1.1 User.................................... 2 2 Klassediagran 5 3 Serbio 7 3.1 Kommunikation..................................
Læs mereSYSTEMDOKUMENTATION AF POC
DIGITALISERINGSSTYRELSEN POC PÅ ORKESTRERINGSKOMPONENTEN SYSTEMDOKUMENTATION AF POC Version: 1.1 Status: Endelig Godkender: Forfatter: Copyright 2019 Netcompany. All rights reserved Dokumenthistorik Version
Læs mere! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.
Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:
Læs mereADIS, WS og Meta Service
ADIS, WS og Meta Service Om ADIS, Web Services, Værktøjer og Meta Service. Michael Jacobsen Technology Network Management Agenda ADIS og dens udvidelse ISOagriNET Web Service med eller uden fuldt objektmodel
Læs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereFra idé til virkelig med Azure Mobile Services
Fra idé til virkelig med Azure Mobile Services Niels Ladegaard Beck Holion nlb@holion.dk @nielslbeck Windows Developers in Denmark Azure App Service Mobile App Introduktion til Azure Mobile Services Platform
Læs mereObjektorienteret 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:
Læs mereSporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services
Sporbarhed og Rapportering i Quality Center Kim Stenbo Nielsen NNIT Application Management Services Indhold INTRODUKTION Hvem er jeg Hvad vil jeg fortælle om QC std. rapporteringsfaciliteter EXCEL RAPPORTER
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs mereFLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015)
FLIS PORTAL GENNEMGANG OG STIKPRØVER (SEPTEMBER 2015) INDHOLD 1. FORMÅL OG SCOPE... 1 1.1. TEKNOLOGIER OG RAMMEVÆRKER... 1 2. ARKITEKTUR... 2 2.1. KOMBIT.FLIS.PORTAL... 3 2.2. SCRIPTS... 3 2.3. SHAREPOINT
Læs mereSpeciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
Læs mereIndholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik
Indholdsfortegnelse 3. Forretningslogik... 2 3.1 Domænemodel... 2 3.1.1 BBR-domænemodel... 2 3.1.1.1 er i BBR-domænemodel... 3 3.1.2 Modtageboks-domænemodel... 8 3.1.2.1 er i modtageboks-domænemodel...
Læs mereUndervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B
Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over
Læs mereSpring Schema Extension eller Spring Domain Specific Languages
Spring Schema Extension eller Spring Domain Specific Languages Forfatter: Jeppe Cramon Cramon Consulting (http://www.cramon.dk) Dato: 23/7-2005 Efter at have arbejdet med Spring i lang tid, har jeg lagt
Læs mereDSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile
DSB s egen rejse med ny DSB App Rubathas Thirumathyam Principal Architect Mobile Marts 2018 AGENDA 1. Ny App? Ny Silo? 2. Kunden => Kunderne i centrum 1 Ny app? Ny silo? 3 Mødetitel Velkommen til Danske
Læs mereDatabase kursus Forår 2013
Database kursus Forår 2013 Jacob Aae Mikkelsen Database design og programmering/databaser fra Organisationsorienteret softwareudvikling 1 Praktisk info Lærebog Database Systems: The Complete Book Skema
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning
Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:
Læs mereSystem & Metode ApS præsenterer. En effektiv dokumentportal
System & Metode ApS præsenterer En effektiv dokumentportal Den 7. september 2006 Velkommen Martin Hecht Olsen, Direktør System & Metode blev etableret i 1989 IBM Business Partner Salg direkte til kunde
Læs merePROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
Læs mereModern Concurrency Abstractions for C#
Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation
Læs mereDer er forsøgt skrevet en lille notits hver gang der er lavet noget, dog kan der være nogle ting som ikke er blevet kommenteret.
Indhold 1 Logbog 2 1.1 Log den 01-02-10.................................. 2 1.2 Log den 02-02-10.................................. 2 1.3 Log den 08-02-10.................................. 2 1.4 Log den
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereTabeller (I) Tabeller
Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til
Læs mere3D matriklen i et fremtidsperspektiv
3D matriklen i et fremtidsperspektiv Lars Bodum Center for 3D GeoInformation Aalborg Universitet Esben Munk Sørensen Land Management Aalborg Universitet Hvad er problemet? Vi diskuterer mange gange løsninger
Læs mereSoftware 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 /
Læs mereSerialization i Java
Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:
Læs mereNemID DataHub adgang. morten@signaturgruppen.dk & jakob@signaturgruppen.dk. Doc. 25538-12, sag 10/3365
NemID DataHub adgang morten@signaturgruppen.dk & jakob@signaturgruppen.dk Agenda Funktionaliteten og brugeroplevelsen Arkitekturen og komponenterne bag NemID og digital signatur Datahub token Pause Udvikling
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September
Læs mereDANSK IT ARKITEKTUR CERTIFICERING
DANSK IT ARKITEKTUR CERTIFICERING Practitioneruddannelsen System Arkitekt Practitioner Kompetencebeskrivelse Version 2018.02.08 DANSK IT www.dit.dk/ark Copyright All Rights Reserved DANSK IT ARKITEKTUR
Læs mereKursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Læs mereUdvikling af DOTNET applikationer til MicroStation i C#
Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereCLR Integration. Af Torsten Holtse, pbs Indhold
CLR Integration Af Torsten Holtse, pbs10104 Indhold Opgavebeskrivelse... 2 Introduktion... 2 CLR Integrations muligheder... 2 Stored Procedures, Functions og Triggers... 2 Aggregates og User-defined Types...
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereDOtAB. Teknisk rapport
DOtAB Teknisk rapport Indholdsfortegnelse Introduktion... 1 Systemarkitektur... 1 Teknologier... 1 Platforme for mobile enheder... 1 Kommunikations interfacet... 2 Udviklingsmiljø... 2 IDOtAB (service
Læs mereProduct Ownerens værktøjskasse
Product Ownerens værktøjskasse 26. marts 2014 Jesper Thaning, agil praktiker & partner i BestBrains Agenda Vurdering af behov (værdi og risiko) Nedbrydning Det visuelle Afklaring af User Stories PO i større
Læs mereSystem Arkitekt Practitioner
System Arkitekt Practitioner Kompetencebeskrivelsee DISAC Danish IT Society s Architectural Certification DANSK IT 2012 1 IT arkitekt Practitioner System Arkitekt Denne certificering repræsenterer det
Læs mereVersion 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.
Læs mereDatatekniker med programmering som speciale
Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene
Læs meredintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering
Læs mereENTERPRISE ARCHITECTURE (EA) STRATEGY, BUSINESS AND IT ALIGNMENT
(EA) STRATEGY, BUSINESS AND IT ALIGNMENT AGENDA HVAD SKAL VI IGENNEM? FØR FROKOST Hvad er Enterprise Architecture (EA) Baggrunden for EA EA Rammeværk(er), den danske vinkel EFTER FROKOST Gennemgang af
Læs mereIntroduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus
Introduktion til Microsoft R Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus Agenda Introduktion til R Data Scientists Microsoft R implementering R + SQL SQL + R Hvem er jeg Steen Dybboe Selvstændig konsulent
Læs mereRibe Amts forslag til EPJ-arkitektur
EPJ og integration: Ribe Amts forslag til EPJ-arkitektur Esben Dalsgaard IT-leder, Sundhedsområdet, Ribe Amt eda@ribeamt.dk Problemstillinger - set fra en datalogisk-arkitektonisk synsvinkel 2-delt arkitektur
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)
Læs mereeducasoft - en professionel samarbejdspartner med speciale i uddannelse!
Velkommen til educasoft's hjemmeside educasoft - en professionel samarbejdspartner med speciale i uddannelse! Professionelle undervisere Undervisning i virksomheden Undervisning dag/aften eller week-end
Læs mereAPEX 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
Læs mereAgenda. Kort præsentation Introduktion til Robotic Process Automation (RPA) Demo Hvordan understøtter det forretningen? Hvordan kommer man i gang?
Agenda Kort præsentation Introduktion til Robotic Process Automation (RPA) Demo Hvordan understøtter det forretningen? Hvordan kommer man i gang? INDLEDNING En stor del af de adm. og finansielle processer
Læs mereHovedopgave Master i Informationsteknologi linien i Softwarekonstruktiona
DATALOGISK INSTITUT DET NATURVIDENSKABELIGE FAKULTET AARHUS UNIVERSITET Hovedopgave Master i Informationsteknologi linien i Softwarekonstruktiona Object-Relational Mappers i.net af Jesper Veggerby 15.
Læs mereHvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter
OOP e2002 - uge 42 6. kursusgang Hvordan organiseres et programs grafik-elementer? 1. Teori: class Component og subklasser: Composite pattern layout-managere hændelsesstyret programmering 2. XP-program:
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereTest af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
Læs mereEducasoft 2010 Side 1. Søgemaskineoptimering
Educasoft 2010 Side 1 Kurser: 2010 Søgemaskineoptimering Sælger din virksomhed nok via hjemmesiden? Lad kunderne finde din virksomhed - uden annoncering! Dette kursus henvender sig til virksomheder, der
Læs mere