Solution Makers A/S – Gruppe 4 Lars Wolter Nils Martinsen Rasmus Seye Tobias Kjeldsen 1.

Slides:



Advertisements
Lignende præsentationer
Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Advertisements

Velkommen til Softwarekonstruktion
T1 – OPGAVE 14.2 LINETT & SABRINA Klasse Varer namespace Opgave_14._2 { class Varer { private string vare; private string farve; private double.
SQL 1 DDL og DML.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Q UERY P ROCESSING & O PTIMIZATION Database Systems (Fourth Edition )
Objektorienteret programmering
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
OIOSAML.NET og Umbraco ved Thomas Ravnholt silverbullet.dk
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
”Søg og du skal finde” fra idé til applikation af Mads Thomsen og Bent Guldager.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
Operationer på relationer
2009NOEA/IT - Databaser/SQL1 Realisering af den relationelle model i SQL-baserede DBMS’er SQL er mere end forespørgsler - det omfatter bl.a. –DDL Data.
Den relationelle model
Lektion 7 Læsestof: Kopier fra Caranno
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
Fundamentale datastrukturer
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
1. Database-systemer, introduktion
Objekter og klasser Rasmus D. Lehrmann DM
8.6 Transaktioner1 Transaktioner 8.6 Transactions in SQL.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Tina Ratzer Hendes hjemmeside skal indeholde: Kontakt Forhandlerliste
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
ADO.NET Databaser SQL Client (SQL server 7 og senere) OleDb (en række incl. jet) ODBC MySql (ekstra driver skal instaleres) Oracle (XML dataset) Samme.
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
Databaser, introduktion1 Kurset ”Databaser” Introduktion.
Januar 2003Databaser, introduktion1 Databaser, forår 2003 Introduktion.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
8.5 JDBC1 JDBC 8.5 Java Database Connectivity. 8.5 JDBC2 JDBC introduktion, 393 JDBC er ikke en forkortelse for –Java Database Connectivity Sun har defineret.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
Databaseadgang fra C#:
Database.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Blå gruppe: Søren, Alexander, Torben, Lasse. De 4 vigtige items: - Singelton - Override clone judiciously - Use interfaces only to define type - Prefer.
Begreber og Redskaber 11. Plan for idag Lidt afrunding: Collections Framework i Java Noget om oversættere og sprog Evaluering Sidste gang øvelser før.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
Variabler, klassevariabler, identitet og lighed, collections
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
Indledende Programmering Uge 6 - Efterår 2006
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Interfaces – hvorfor, hvad og hvordan?.  Michael E. Caspersen 2003IOOPInterfaces.2 Oversigt Interfaces, hvorfor –Separering af specifikation (interface)
 Jens Bennedsen 2002Objektorienteret systemudvikling1.1 Objektorienteret design Persistens - introduktion.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2003IOOPContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere.
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
Effektiv vækst - Workshop
Query optimization MICHAEL I
Inspire implementering med brug af modelregler
Tre lags arkitektur.
Simpel test-client (javascript) Session og Application data
Modellering og data Nyt forløb.
Dokumentation.
(brug af MVVMStarterLibrary2018)
Præsentationens transcript:

Solution Makers A/S – Gruppe 4 Lars Wolter Nils Martinsen Rasmus Seye Tobias Kjeldsen 1

2 Solution Makers er en - IT virksomhed med 80 ansatte - Virksomheden har succes, vokser 20 % pr. år Solution Makers har bedt om følgende - Et management system der - Effektiviserer arbejdsprocessen - Sikre bedre kompetencestyring Hvorfor - Overblik over virksomhedens kompetencer - Identificere kompetenceflaskehalse - Øge konkurrenceevne - Effektivisere arbejdsprocessen Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

3 Solution Makers Management System: - Et human ressource management system - Sikre styring af - Projekter - Ansatte - Kunder - Kompetencer - Central samling af data SM > Arkitektur > Desingbeslutninger Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

4 Generel oversigt - Kommunikation i 2 trin - Al kommunikation foregår igennem klienten - Aktør går aldrig direkte til database Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

5 Filosofi - Så få databasekald som muligt Designbeslutninger & patterns - Arvehierarki - Sortering af data i Java - Singleton pattern - Optimistic Offline Lock pattern - Facade pattern - Datamapper pattern Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

6 Arkitektur Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

Arkitektur 3-lags arkitektur - GUI - Domæne - Data Highlights - Arv - Singleton - Facade - Datamapper - Sortering 7 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

Arvehierarki - Undgå fletning af lister - Java - Database 8 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

Singleton - Anvendt på lister og databaseforbindelse - Sikring af kun én instans - Global visibility 9 public class Projektliste { private static Projektliste projektliste; private Projektliste() { } public static Projektliste getInstance() { if (projektliste == null) { projektliste = new Projektliste(); } return projektliste; } Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

Datamapper - Java objekt relativ data / relativ data Java objekt - Identity Map Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 10

Datamapper - Optimistic Offline Lock Eksempel på Optmistic Offline Lock: - With Check Option Eksempel på ”With Check Option”: "update projekter set godkendt = ?, opgavetilstand = ?, version = OLDVALUE+1 where pid = ? and version = OLDVALUE" "insert into (select * from projektansatte where aid = (select aid from ansatte where aid = ? and version = ?) with check option) values (?, ?, ?)" Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 11

Facade - Wrapper og isolerer subsystem - Lav kobling og høj binding - Implementeringsændringer 12 Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur

Relationel model - Ingen arv på databasen - 3 normal former - Undgå inkonsistent og redundant data Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 13

ArrayLists - Lineær søgning - Sortering af data - Sortering håndteres i Java - Fordele: - Simple SQL queries - Færre kald til databasen - Ulemper: - Kan ikke hamle op med Oracles Query Optimizer - Forældet data - Længere udviklingstid HashMap - Konstant søgetid - Ingen dubletter - Ingen sortering Solution Makers Designbeslutninger & patterns Arkitektur Datastruktur 14