52
Projekt „Converter“ Applikationsentwicklung Lernende 2007 Credit Suisse

Applikationsentwicklung Lernende 2007 Credit Suisse

Embed Size (px)

Citation preview

Page 1: Applikationsentwicklung Lernende 2007 Credit Suisse

Projekt „Converter“

Applikationsentwicklung Lernende 2007 Credit Suisse

Page 2: Applikationsentwicklung Lernende 2007 Credit Suisse

Lehrlinge

Ausbildung◦ CS-Intern◦ Santis Training◦ BMS / ABU

Projekt Converter

Inhalt

Page 3: Applikationsentwicklung Lernende 2007 Credit Suisse

18 Jahre Interessen

◦ Fussball◦ FCZ◦ PHP

Dominic Lüönd

Page 4: Applikationsentwicklung Lernende 2007 Credit Suisse

18 Jahre Interessen

◦ Musik ◦ Bowling◦ Computer◦ Ausgang

Marco von Moos

Page 5: Applikationsentwicklung Lernende 2007 Credit Suisse

20 Jahre Interessen

◦ Auto◦ Fussball◦ Ausgang

David Schwyter

Page 6: Applikationsentwicklung Lernende 2007 Credit Suisse

19 Jahre Interessen

◦ RC Hubschrauber◦ Webapplikationen◦ Neue Technologien

Daniel Huber

Page 7: Applikationsentwicklung Lernende 2007 Credit Suisse

19 Jahre Interessen

◦ Pfadi◦ Programmieren◦ Computer

Oliver Köchli

Page 8: Applikationsentwicklung Lernende 2007 Credit Suisse

19 Jahre Interessen

◦ Musik◦ PHP◦ Java

Reto Hablützel

Page 9: Applikationsentwicklung Lernende 2007 Credit Suisse

20 Jahre Interessen

◦ Fischen◦ BMX◦ Filme / Serien

Fabio Siverino

Page 10: Applikationsentwicklung Lernende 2007 Credit Suisse

19 Jahre Interessen

◦ IT Security◦ Entwicklung◦ Fitness

Matthias Schäfer

Page 11: Applikationsentwicklung Lernende 2007 Credit Suisse

Ausbildung innerhalb der CS Betreuung

◦ Berufsbildner◦ Lehrmeister

Verschiedene Einsätze◦ Betriebsorganisation IT (1 Jahr)

Erster Kontakt mit der Arbeitswelt Grundausbildung

◦ KV-Einsatz (½ Jahr) Bezug zum Kerngeschäft: Zahlungsverkehr

Interne Ausbildung

Page 12: Applikationsentwicklung Lernende 2007 Credit Suisse

Erster Entwicklereinsatz Praktische Erfahrung sammeln Neue Technologien kennenlernen

◦ Enterprise Java Beans◦ Hibernate, Java Persistence API, Struts◦ JSP/JSF

… sowie Tools◦ Eclipse J2EE◦ JAP/Hibernate, ant/qmb

Projektstrukturen kennenlernen

Erster Java Einsatz

Page 13: Applikationsentwicklung Lernende 2007 Credit Suisse

… startet nächste Woche

Zweiter Java Einsatz

Page 14: Applikationsentwicklung Lernende 2007 Credit Suisse

Ausbildung für Informatikerlernende Firmeninterne Kurse

◦ Nicht Teil des Lehrplans◦ Einführung in JSP/Web Applikation◦ Präsentationstechnik◦ MS Office

Überbetriebliche Kurse◦ IT Kleinprojekt abwickeln

Dieses Projekt wurde in der Santis erarbeitet

Santis Training AG

Page 15: Applikationsentwicklung Lernende 2007 Credit Suisse

4 Jahre Zwei Sprachaufenthalte:

◦ Frankreich (Dijon, 2. Lehrjahr)◦ Englischsprachige Ortschaft (individuell, 4.

Lehrjahr) VN + LAP

= Abschlussnote Kaufmännische Berufsmatur

Schule (BMS)

Page 16: Applikationsentwicklung Lernende 2007 Credit Suisse

4 Jahre BMS > ABU VN + Selbstvertiefungsarbeit + LAP

= Abschlussnote

Schule (ABU)

Page 17: Applikationsentwicklung Lernende 2007 Credit Suisse

BMS und ABU zusammen Grundmodule Informatik

Schule (Module)

Module

Module

BMS

BMS

BMS

ABU

ABU

Page 18: Applikationsentwicklung Lernende 2007 Credit Suisse

Module Überblick

Page 19: Applikationsentwicklung Lernende 2007 Credit Suisse

Betriebliche Module

Page 20: Applikationsentwicklung Lernende 2007 Credit Suisse

Umrechner Erfassen, Bearbeiten und Löschen von

Messgrössen & Einheiten Nominieren eigener Messgrössen

Projekt Converter

Page 21: Applikationsentwicklung Lernende 2007 Credit Suisse

Vorgehen Arbeitsmittel (Java / Eclipse / SVN) Architektur

◦ Persistence Layer (JDBC / SQL)◦ Business Layer◦ Presentation Layer (JSF 2.0 / HTML 5)

Produkt◦ Prototyp◦ Web-Lösung

Projekt Converter

Page 22: Applikationsentwicklung Lernende 2007 Credit Suisse

1. Use Cases2. Prototyp (HTML)3. J-Unit (Test First) / Single User Applikation4. Multi User Applikation

Vorgehen

Page 23: Applikationsentwicklung Lernende 2007 Credit Suisse

Java Programmiersprache Eclipse Entwicklungsumgebung SVN Versionierungs-Tool

Eclipse / Java / SVN

Page 24: Applikationsentwicklung Lernende 2007 Credit Suisse

Objektorientiert Platformunabhängig Aktuelle Version: 6

Java Allgemein

Page 25: Applikationsentwicklung Lernende 2007 Credit Suisse

FileReader fr;

fr = new FileReader(path); try { return fr.read (); } finally { fr.close(); }

try (fr = new FileReader(path)) { return fr.read ();

}

Automatisches Ressourcen Management

Java 7

Java 6

Page 26: Applikationsentwicklung Lernende 2007 Credit Suisse

String s = "bar";switch(s) {

case "foo": System.out.println("Is foo");break;

case "bar": System.out.println("Is Bar");break;

}

Strings in Switch-Konstrukt

Page 27: Applikationsentwicklung Lernende 2007 Credit Suisse

List<String> list;

list = new ArrayList<String>(); list.add("item");list.add("second"); String item = list.get(0);

list = ["item", "second"]; String item = list[0];

Language-Support für Collections

Java 6

Java 7

Page 28: Applikationsentwicklung Lernende 2007 Credit Suisse

@Testpublic void testCalculatePublicMeasurand() {

Double result; result = c.calculate(

"Masse", "Kilo", "Gramm", 2);assertEquals(2000.00, result);

}

JUnits

Page 29: Applikationsentwicklung Lernende 2007 Credit Suisse

Programmierwerkzeug Ursprünglich für Java gedacht Erweiterbar durch Plugins

Eclipse

Page 30: Applikationsentwicklung Lernende 2007 Credit Suisse

SVN (Subversion)

Page 31: Applikationsentwicklung Lernende 2007 Credit Suisse

Architektur

Page 32: Applikationsentwicklung Lernende 2007 Credit Suisse

Persistence Layer (JDBC/MySQL)

Page 33: Applikationsentwicklung Lernende 2007 Credit Suisse

Persistence Access

Datei “converter.properties”

#persistence implementation persistence_impl_class=ch.il07.converter.persistence.impl.mysql.MySQLPersistence

Page 34: Applikationsentwicklung Lernende 2007 Credit Suisse

Persistence Implementation

public void deleteMeasurand(Measurand measurand, String username) {

for (Unit unit : measurand.getUnits())

deleteUnit(measurand, unit);

Integer userID = getUser(username).getUserID();

String sql = "DELETE FROM measurand WHERE name = ? AND userID = ?";

PreparedStatement stmt = con.prepareStatement(sql);

stmt.setString(1, measurand.getName());

stmt.setInt(2, userID);

stmt.executeUpdate();

}

Page 35: Applikationsentwicklung Lernende 2007 Credit Suisse

Business Layer

Aufgaben: Verarbeitung der Daten Steuern der Applikation Datenaustausch mit dem Persistence Layer

Page 36: Applikationsentwicklung Lernende 2007 Credit Suisse

Schnittstellen

Business Schnittstelle: ServiceFactory

◦ User, Measurand, Unit, Converter

Persistence Schnittstelle: Persistence

Business Layer

Business

Persistence

Page 37: Applikationsentwicklung Lernende 2007 Credit Suisse

Logik Datenaufbereitung Delegieren zum Persistence Layer Umrechnen

Page 38: Applikationsentwicklung Lernende 2007 Credit Suisse

public Double convert(Unit fromUnit, Unit toUnit, Double amount) {

baseValue = amount * fromUnit.getDivisor();newValue = baseValue / toUnit.getDivisor();

return newValue;}

Beispiel

Page 39: Applikationsentwicklung Lernende 2007 Credit Suisse

Presentation Layer Anzeigen der Daten Validierung und Weiterleitung von Eingaben

HTML & JSF

Page 40: Applikationsentwicklung Lernende 2007 Credit Suisse

HTML 5 Was ist HTML ? Neue Funktionen in HTML 5

Page 41: Applikationsentwicklung Lernende 2007 Credit Suisse

HTML 5

Was ist HTML?

DOCTYPE

KOPF

INHALT

Page 42: Applikationsentwicklung Lernende 2007 Credit Suisse

HTML 5

Das Doctype

HTML 4.01 Transitional

HTML 5

Page 43: Applikationsentwicklung Lernende 2007 Credit Suisse

HTML 5

Formularelemente

Page 44: Applikationsentwicklung Lernende 2007 Credit Suisse

HTML 5

GeoLocation

Page 45: Applikationsentwicklung Lernende 2007 Credit Suisse

Java Server Faces Was ist das? Was kann man damit machen? Wie haben wir es verwendet?

Page 46: Applikationsentwicklung Lernende 2007 Credit Suisse

Java Server Faces

Was ist das?

Framework MVC Verbessertes Struts

Page 47: Applikationsentwicklung Lernende 2007 Credit Suisse

Java Server Faces

Was kann man damit machen?

NameVorname PLZ

Muster Max 1234

Beispiel Peter 4321

Page 48: Applikationsentwicklung Lernende 2007 Credit Suisse

Java Server Faces

Wie haben wir es verwendet?

Beans HTML/JSF

ErrorHandler Helper

Page 49: Applikationsentwicklung Lernende 2007 Credit Suisse

Modul 1◦ Projektplanung◦ HTML Prototyp (Single User)

Modul 2◦ Swing Prototyp (Single User)

Modul 3◦ JSF Weblösung (Multi User)

Prototyp / Stand Alone

Page 50: Applikationsentwicklung Lernende 2007 Credit Suisse

Web-Lösung

Page 51: Applikationsentwicklung Lernende 2007 Credit Suisse

Fazit

Positiv Negativ

Stimmung Lerneffekt Lehrer Neue Technologien

gebraucht

Disziplin Kommunikation Mehr

Standardprodukte

Page 52: Applikationsentwicklung Lernende 2007 Credit Suisse