Introduktion til OO* og UML
|
|
- Ingeborg Mikkelsen
- 6 år siden
- Visninger:
Transkript
1 Introduktion til OO* og UML Struktureret Systemudvikling Jan Bendtsen Automation and Control
2 Indhold Hvad er OO*? UML Essensen af objekt-orienteret analyse og design: klassebegrebet Relationer mellem objekter UML og design
3 Forventninger I kender til C I ved hvad kompilere, fortolkere, osv. I har erfaring med udviklingsværktøjer I ved ikke noget om OO*, Java eller C++ Målsætningen er ikke at gøre Jer til eksperter i objekt-orienteret programmering, men at give Jer indsigt i OO metoder: I skal kende til basale OO koncepter og deres UMLrepræsentationer I skal kunne skrive simple OO programmer
4 Hvad er OO*? OO* : Object-Orienteret Analyse, Design og/eller Programming Et forsøg på at repræsentere virkelige ting på en form, som kan overføres på enkel vis til computer-sprog Imperativ programmering er ofte for stift til at understøtte systemer af større skala OO* understøtter god programmerings praksis: modularitet, kode-genbrug and abstraktion The basis for Design Patterns
5 Hvad er OO*? Objekt-orienteret analyse
6 Hvad er OO*? Objekt-orienteret design
7 Hvad er OO*? Objekt-orienteret programmering
8 Hvorfor OO*? Fortolkning af data data forstås i sammenhæng med et givet objekt og har derfor en vis betydning i en given kontekst. For eksempel kan variablen int numpoints = 6; repræsentere forskellige ting afhængig af om den bruges til at tegne polygoner på en skærm at angive point-tildeling i et spil noget helt tredie...
9 Hvorfor OO*? Grafik: Polygon #1 har 8 hjørnepunkter; polygon #2 har 4 hjørnepunkter etc. Spline interpolation: for (i = 0; i < numpoints; i++) { // Calculate interpolation }
10 Hvorfor OO*? Fortolkning af data vi ønsker at sammenkæde data og operationer Forskellige operationer giver mening for forskellige ting! På C-sprog: Et objekt minder om en struct med tilknyttede funktioner. For eksempel kan funktionskaldet compute(shape) have een betydning for en kubisk spline interpolation med numpoints = 6 og en helt anden for beregning af arealet af en polygon med numpoints = 6.
11 Hvorfor OO*? Indkapsling af data Skjul information, som udenforstående ikke behøver at kende til Nedarvning Nogle ting er fælles, andre ikke; genbrug så vidt muligt de fælles ting Polymorphisme evnen til at udføre de samme operationer på forskellige ting; f.eks. kan trekanter, rektangler, blokdiagrammer og bogstaver alle tegnes, fordi de alle er geometriske figurer Udveksling af information objekter kan kommunikere med hinanden ligesom i den virkelige verden
12 Eksempler på klasser Navn: MagLev tog Attributter: magnetfeltsstyrke, højde over spor, masse, køreplan Operationer: powerup(), setspeed(kmph), getspeed(), start(), accelerate(), brake(), stop(); Skjult information: køretid, maxhastighed, sikkerhedsprocedurer, strømforbrug, etc.
13 Eksempler på klasser Navn: Spildevandspumpe Attributter: rotationshastighed, løftehøjde, dynamik Operationer: reset(), setspeed(rotpermin), getspeed(), start(), stop(); Skjult information: antal drifttimer, max flow, max strøm, etc.
14 Eksempler på klasser Navn: Aktivt båndpasfilter Attributter: frekvenskarakteristik, fasekarakteristik Operationer: reset(), filter(samplesequenc), start(), stop(); Skjult information: nyquistfrekvens, mætning, etc.
15 Overordnet fremgangsmåde Forstå/definer systemets omgivelser og dets anvendelse (rigt billede, use cases) Design systemets overordnede arkitektur Identificer de vigtigste objekter i systemet (klassediagrammer) Opstil design-modeller Definer interfaces mellem objekter
16 Rigt Billede
17 UML Unified Modeling Language er en formalisme til at beskrive OO design med UML definerer model-notation, ikke en design-metodik UML er dagens standard de fleste OO* værktøjer bruger det UML kan bruges til at dokumentere design UML hjælper udviklerne til at kommunikere indbyrdes
18 UML diagramtyper Use Case-diagrammer Klassediagrammer Interaktions-diagrammer Tilstandsdiagrammer Aktivitetsdiagrammer Pakke-diagrammer Deployment-diagrammer Actors Usage, involvement Classes Association, inheritance, aggregation Objects Messages, lifelines States Transitions, behaviors Activities Guards, synchronization Packages Software dependencies Processors and Nodes Component dependency
19 Diagramtyper Work-flows Use Use Case-diag. Scenarier Aktivitetsdiag. Interaktionsdiag. Kommunikation mellem klasser Struktur Pakke Pakke -- og og Deployment- diag. diag. Structures Klassediagrammer Interaktion mlm. objekter Opførsel i individuelle klasser Tilstandsdiagrammer
20 Use Case-diagrammer Use cases beskriver hvorledes systemet skal reagere på stimuli fra brugere Use cases aktiveres/kommunikerer med aktører Eksempler på aktører: (menneskelige) brugere andre computere ressourcer (f.eks. log-filer, datakilder osv.) Use case-diagrammer bruges til at afgrænse systemet Hver use case skal have en tilhørende use case description
21 Eksempel på Use Case-beskrivelse View Telemetry data: En bruger angiver en mængde data (måledata, intern satellit-data, alarmer, etc.) han/hun ønsker at gennemse fra en liste. Derefter specificerer brugeren en start- og sluttid. Systemet henter det specificerede data fra persistent lager og præsenterer det via GUI. Hvis start- eller sluttid ikke specificeres af brugeren, anvendes default-værdier.
22 Eksempel på Use Case-diagram
23 Objekter Objekter er individuelle ting som kan have en tilstand, og som man kan gøre noget ved
24 Klasser Klasser er definitioner af grupper af objekter med de samme attributter og operationer Det nærmeste vi kommer det i C er typedef struct { int numpoints; point[] points; } polygon; De enkelte objekter kaldes også instancer af en given klasse; de kan oprettes og senere nedlægges
25 Klasser Employee + name: String + address: String + dateofbirth: Date - salary: integer - status: {current,...} - taxcode: integer + Employee() + join() + leave() + retire() + changedetails() + getname() - computesalary() - payemployeetax() Klassenavn Offentlige attributter Private attributter Constructor Offentlige metoder Private metoder
26 Klasser Employee + name: String + address: String + dateofbirth: Date - salary: integer - status: {current,...} - taxcode: integer + Employee() + join() + leave() + retire() + changedetails() + getname() - computesalary() - payemployeetax() Klassenavn Constructor Objekter instantieres (oprettes) ved kald til klassens Constructor Flere objekter af den samme klasse kan eksistere samtidig
27 Attributter Employee + name: String + address: String + dateofbirth: Date - salary: integer - status: {current,...} - taxcode: integer + Employee() + join() + leave() + retire() + changedetails() + getname() - computesalary() - payemployeetax() Navn og type angives i klassebeskrivelsen Attributter udtrykker det enkelte objekts tilstand De kan opfattes som variable i objektet Kaldes også sommetider felter
28 Metoder Employee + name: String + address: String + dateofbirth: Date - salary: integer - status: {current,...} - taxcode: integer + Employee() + join() + leave() + retire() + changedetails() + getname() - computesalary() - payemployeetax() Metoder bruges til at interagere med et objekt Et metodekald påvirker kun det angivne objekt Offentlige metoder
29 Eksempler på metodekald For eksempel (Java syntax): // Call a method associated with a // buffer object that returns the // next value in the buffer v = circularbuffer.get () ; // Call the method associated with a // thermostat object that sets the // temperature to be maintained thermostat.settemp (20) ;
30 Relationer mellem Klasser Office Aggregering A indeholder B 2 2 Employee
31 Relationer mellem Klasser Association A kender B Manager Employee
32 Relationer mellem Klasser Employee Nedarvning (a.k.a generalisering) A er en B Manager - budgetscontrolled managebudgets()
33 Klassediagram eksempel fra designværktøj
34 Fra Use Case-beskrivelsen... View Telemetry data: En bruger angiver en mængde data (måledata, intern satellit-data, alarmer, etc.) han/hun ønsker at gennemse fra en liste. Derefter specificerer brugeren en start- og sluttid. Systemet henter det specificerede data fra persistent lager og præsenterer det via GUI. Hvis start- eller sluttid ikke specificeres af brugeren, anvendes default-værdier. Navneord i Use Case-beskrivelsen er kandidater til klasser!
35 TelemetryDataList Klassediagram
36 Interaktionsdiagrammer Når klasserne er på plads, er det tid at se på interaktion mellem objekter Interaktionsdiagrammer demonstrerer hvordan objekter samarbejder, herunder i hvilken rækkefølge de påvirker hinanden De kan også vise, hvornår objekter bliver oprettet eller nedlagt Sekvensdiagrammer og Collaboration-diagrammer (viser stort set samme information)
37 Eksempel på Sekvensdiagram
38 Tilstandsdiagrammer Viser den tilstand (state) et objekt er i, og hvilke tilstande det potentielt kan komme i Svarer nogenlunde til gode gammeldaws flowcharts: Begyndelsestilstand Gør noget Når noget er opfyldt skiftes til en ny tilstand etc.
39 Eksempel på tilstandsdiagram Initializing do/initialize variables Initialization done Processing Telemetry Request do/create list and telemetry data objects User request Waiting User commits choice Reading File do/create and start file reader object Reading done Showing Data do/pass data to GUI
40 Symboler i Tilstands- og Aktivitetsdiagrammer States ovaler der viser tilstande Transitions pile der viser mulige skift fra en tilstand til en anden (eller til den samme) Events tekst knyttet til transitionerne som viser en udefrakommende hændelse der får transitionen til at ske Conditions et sand/falsk udtryk i [ ] som angiver om en given hændelse kan indtræffe (aka. Guards) plus forskellige andre, sjældnere symboler...
41 Aktivitetsdiagrammer Aktivitetsdiagrammer beskriver workflow for hele systemet Ligner tilstandsdiagrammer, men er ikke begrænset til enkelte objekter Viser flow af aktiviter i og omkring systemet, i særdeleshed parallelle aktiviteter: Forks indikerer når flere forskellige aktiviteter sker på samme tid Merges indikerer når aktiviteter ikke længere foregår parallelt
42 Eksempel på aktivitetsdiagram User request received Handle request to view current location Check user authorization [user not authorized] [user authorized] DB Com established Obtain global data Sat Com established Obtain current data from satellite User feedback Aggregate data
43 Deployment-diagrammer Deployment-diagrammer viser Intelligente enheder i systemet Kommunikation mellem subsystemer Software-komponenter på de enkelte enheder Bruges normalt kun i distribuerede systemer (f.eks. clientserver-arkiitekturer) for at sikre at de enkelte programmer kommer til at køre på de bedst egnede maskiner
44 Eksempel på deployment-diagram Master Station UserInterface DataMgr Client PC NetworkMgr Browser Database Server DBServer Satellite Ground Station SatCom module
45 OO Design Requirement specification
46 OO Design Use case Diagrammer (basal systemopførsel) Indledende design
47 OO Design Klassediagrammer (Objektstrucktur, interface-spec.) Detaljeret design
48 OO Design Interaktionsdiagrammer (kommunikation mellem objekter) Object Object Object Detaljeret design
49 OO Design Aktivitetsdiagrammer (Workflow) Detaljeret design
50 OO Design Tilstansdiagrammer (objekters opførsel) State 1 State 2 State 4 State 3 Detaljeret design
51 OO Design Implementation, test & debugging /** * TelemetryDataList **/ import java.util.arraylist; package org.studentsat.telemetry; public class TelemetryDataList extends ArrayList implements Serializable { private Coordinate3D coordinates; private Coordinate3D velocity; private Quaternion attitude; public String[ ] getnames() { return coordinates.getaxisnames(); } private void compute(int numcoords) { Implementation
52 OO Design Deployment-diagrammer Telemetry server Database Server Browser User PC Udrulning Deployment
UML til kravspecificering
UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn
Læs mereSoftware Dokumentation
Software Dokumentation Jan Boddum Larsen Teknologi B og A på HTX Dokumentation af software i Teknologi I samfundet sker der en bevægelse mod mere digitale løsninger i teknologi. Det betyder at software
Læs mereLektion 3. Grundlæggende programmering i VR
Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard
Læs mereMiniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.
Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet
Læs mereUML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA
UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: 20--2004 Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter
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 mereSOFTWARE DOKUMENTATION
SOFTWARE DOKUMENTATION TEKNOLOGI B OG A PÅ HTX Indhold Dokumentation af software i Teknologi på HTX... 2 Overblik... 2 Kravspecifikation... 2 Blokdiagram... 3 Use Case Diagram... 3 Pseudokode... 4 Dokumentation
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereSoftware Construction 1. semester (SWC) januar 2014 Spørgsmål 1
Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),
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 mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereSpecialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6
Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side
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 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 mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet
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 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 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 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 mereSoftware 1 with Java. Recitation No. 7 (Servlets, Inheritance)
Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic
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 mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere
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 mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer
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 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 mere2a. Conceptual Modeling Methods
ICT Enhanced Buildings Potentials IKT og Videnrepræsentationer - ICT and Knowledge Representations. 2a. Conceptual Modeling Methods Cand. Scient. Bygningsinformatik. Semester 2, 2010. CONTENT Conceptual
Læs mereRMI 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
Læs mereComputer Networks Specielt om Infrastrukturer og Teknologi
Computer Networks Specielt om Infrastrukturer og Teknologi Ole Borch Slide 1 Doc Bud på arkitektur (som mange andre steder) Sygehus Hemmelig Meget hemmelig WWW browser WWW Server Dataplejer Staklen Internet
Læs mereDesign by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design
Læs mereKapitel 6 Events i C#
Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel
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 mereLøsningsforslag til Camp Let. Case Beskrivelse: Camp Let
Løsningsforslag til Camp Let Case Beskrivelse: Camp Let Firmaet Camp Let har til formål at udleje forskellige typer transportable ferieboliger. Det drejer sig i øjeblikket om campingbusser, campingvogne,
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 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 mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereModel og Metode til Programudvikling. Jens Dalsgaard Nielsen
Model og Metode til Programudvikling v/ Jens Dalsgaard Nielsen 1 Hvem er vi? Jens Dalsgaard Nielsen, Afd for Proceskontrol, I8 Distribuerede RT-Systems group Realtid, kerner, operativsystemer, netværk,..
Læs mereGrundlæggende OOA - OOD
Grundlæggende OOA - OOD Dette kursus henvender sig til personer, der har lille eller ingen erfaring med softwareudvikling. Med udgangspunkt i UML opbygges et solidt kendskab til softwareudviklingens kunst
Læs mereReal-time programming safety in Java and Ada
Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger
Læs mereHvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation
Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et
Læs mereIBM 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
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 mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 SCRUM Du skal give en overordnede beskrivelse af udviklingsmetoden SCRUM. Beskrivelsen skal indeholde forklaring på følgende begreber: Scrum Theory Scrum Values The Scrum Team Scrum Events
Læs mereRMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007
RMI med BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 Hvad er RMI? Når man arbejder med Distribuerede Systemer, som igen vil sige at man ønsker at flere end én komputer
Læs mereSpar tid med struktureret programmering! Om PLC programmering
Spar tid med struktureret programmering! Om PLC programmering 1 MITSUBISHI PLC programmerings software Ved systemtekniker Helge Gulstad Tlf. Direkte: 46 74 01 61 Mob: 21 19 25 64 Mail: hgd@beijer.dk 2
Læs mereDANMARKS 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
Læs merePID2000 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
Læs mereDatabasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002
Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mereFart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16.
Fart på SAP HANA Sådan laver du analyser direkte på dine data i realtid 0 Flemming Grand Saphira Consulting Mobile: +45 30 78 45 86 Email: flemming.grand@saphiraconsulting.com Allan Christiansen Fujitsu
Læs mereNoter til dm529. Jonas Nyrup. 11. november 2011
Noter til dm529 Jonas Nyrup 11. november 2011 Indhold 1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 2 1.1 (ikke)-funktionelle krav...................... 2 1.2 Kravattributter...........................
Læs mereIntroduktion. Grundlæggende programmering Lektion 1
Introduktion Grundlæggende programmering Lektion 1 Introduktion Underviseren, kurset og stedet Introduktion Underviseren Erik Weber-Lauridsen erwl@eal.dk Vokset op med IT Programmeret siden han var 11
Læs mereProjekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,
Fag: Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen, Mikkel Larsen og Tomas Stæhr Hansen Indholdsfortegnelse
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereStruktureret system udvikling Minimodul 2: UML og use cases
Struktureret system udvikling Minimodul 2: UML og use cases Rasmus L. Olsen, 4 februar 2011 1 Evalueringen af Struktureret SystemUdvikling Udgangspunktet for evalueringen af kurset baserer sig på de opgaver
Læs mereMSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft
CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
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 mereDesign af genbrugeligt objektorienteret software
Velkommen Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. 24 februar 2004 Specialeforsvar af: Søren Gaardbo Jensen Design af genbrugeligt objektorienteret
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)
Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer
Læs mereStruktureret system udvikling Minimodul 1: Introduktion, UML og use cases
Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases Rasmus L. Olsen, 27 februar 2008 Introduktion Kursets hjemmeside http://www.kom.aau.dk/~rlo/ Kursus holder Rasmus L. Olsen Færdiguddannet
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 mereOpgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer
Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter
Læs mereKlasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.
Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens
Læs mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August-Januar 2016-2017 Institution Campus Vejle Uddannelse Fag og niveau Lærer(e) Hold EUX Informationsteknologi
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 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 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 mereBegreber og principper Arkitekturframeworket PCMEF. Det er softwarearkitekturen der gør den store forskel mht.
Softwarearkitektur Begreber og principper Arkitekturframeworket PCMEF Arkitekturdesignmønstre Indledning Det er softwarearkitekturen der gør den store forskel mht. Forståelighed, dvs hvor let det er at
Læs mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
Læs mereIndholdsfortegnelse for kapitel 3
Indholdsfortegnelse for kapitel 3 Kapitel 3 Design............................................................ 2 Database........................................................... 3 ER-diagram.................................................
Læs mereVisual 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
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 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 mereKursuskatalog 2012 TwinCAT Basic og Extended
Kursuskatalog 2012 TwinCAT Basic og Extended Basic Modul 1 Software Kursus K120101 K120102 K120103 K120104 K120105 K120106 Dato 31.1-1.2.12 6.-7.3.12 8.-9.5.12 21.-22.8.12 2.-3.10.12 20.-21.11.12 Modul
Læs mereThreads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
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 mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs mereAftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5
Registrering af tid Sæson 2 - Lektion 5 Før jul Vi har designet og bygget en model til håndtering af en timeregistrering Vi har kigget på hvordan vi håndterer fejl Vi har kopieret koden over i Bents x-code
Læs mereFra Assembler, Basic, Comal, Pascal, C til Object Orienteret software udvikling
1 Fra Assembler, Basic, Comal, Pascal, C til Object Orienteret software udvikling v. Ib Havn Min første computer 2 Sådan startede det 3 Kort om DSE A/S Start 1981 som Dansk System Elektronik A/S Integration
Læs mereSTS Designdokument. STS Designdokument
STS Designdokument i STS Designdokument STS Designdokument ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 0.3 2013-01 N STS Designdokument iii Indhold 1 Introduktion 1 2 Arkitekturoverblik 1 2.1 Eksterne
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 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs merePOST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-
POST IT! Cph Business Academy Multimediedesign 2. Semester flow 3 9. april 2017 Kirstine Marie Rasmussen cph- kr141@cphbusiness.dk Mette Bejder cph- mb458@cphbusiness.dk Link til POST IT http://mbejder.dk/post-
Læs mereRMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.
Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter
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 mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer
Læs mereECE 551: Digital System * Design & Synthesis Lecture Set 5
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE
Læs mereLektion 2. Grundlæggende programmering i VR
Lektion 2 Grundlæggende programmering i VR Plan for i dag Introduktion til Unity Vi laver vores første programmer Introduktion til C# Vi koder vores første af meget få ting uden Unity Behandling af data
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList
Læs mereI profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller
Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse
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 mereProgram Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
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 mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2009 - juni 2010 Institution HTX Sukkertoppen/Københavns Tekniske Skole Uddannelse Fag og niveau Lærer(e)
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereNintex Workflow UK/DK
Nintex Workflow UK/DK Når Nintex Workflows anvendes i et Dansk sproget SharePoint miljø, er der lidt forskel på hvad de forskellige elementer kaldes, såvel som rækkefølgen på disse. Noget er oversat, noget
Læs mereSpecialeforsvar: Fundamentet for et fleksibelt container bibliotek
Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Foundations of an adaptable container library Bo Simonsen Datalogisk Institut, Københavns Universitet Denne præsentation, afhandlingen,
Læs merePlan for præsentationen
Rejsen på vej til Test Drevet Udvikling i Uddannelses- og Forskningsministeriet Præsenteret af Klaus Olsen Willy Kofoed kontorchef i Uddannelses- og Forskningsministeriet Kenneth B Andersen IT Minds På
Læs mereKursuskatalog 2019 TwinCAT 3
Kursuskatalog 2019 TwinCAT 3 1 Kursusoversigt 2019 TwinCAT 3 Basis Kursus K19300-01 K19300-02 K19300-03 K19300-04 Dato 29.+30.01.19 30.04+01.05.19 20.+21.08.19 05.+06.11.19 TwinCAT 3 Diagnose (fejlsøgning
Læs mereObjekt-orienteret programmering uden klasser: Self.
Objekt-orienteret programmering uden klasser: Self. Sammenligning klasse-baseret og klasseløs programstrukturering. Basale forhold Singulære objekter Dynamisk nedarvning Variable i forhold til metoder.
Læs mere