Projekt Converter Applikationsentwicklung Lernende 2007 Credit Suisse Inhalt

  • Slides: 52
Download presentation
Projekt „Converter“ Applikationsentwicklung Lernende 2007 Credit Suisse

Projekt „Converter“ Applikationsentwicklung Lernende 2007 Credit Suisse

Inhalt � Lehrlinge � Ausbildung ◦ CS-Intern ◦ Santis Training ◦ BMS / ABU

Inhalt � Lehrlinge � Ausbildung ◦ CS-Intern ◦ Santis Training ◦ BMS / ABU � Projekt Converter

Dominic Lüönd � 18 Jahre � Interessen ◦ Fussball ◦ FCZ ◦ PHP

Dominic Lüönd � 18 Jahre � Interessen ◦ Fussball ◦ FCZ ◦ PHP

Marco von Moos � 18 Jahre � Interessen ◦ ◦ Musik Bowling Computer Ausgang

Marco von Moos � 18 Jahre � Interessen ◦ ◦ Musik Bowling Computer Ausgang

David Schwyter � 20 Jahre � Interessen ◦ Auto ◦ Fussball ◦ Ausgang

David Schwyter � 20 Jahre � Interessen ◦ Auto ◦ Fussball ◦ Ausgang

Daniel Huber � 19 Jahre � Interessen ◦ RC Hubschrauber ◦ Webapplikationen ◦ Neue

Daniel Huber � 19 Jahre � Interessen ◦ RC Hubschrauber ◦ Webapplikationen ◦ Neue Technologien

Oliver Köchli � 19 Jahre � Interessen ◦ Pfadi ◦ Programmieren ◦ Computer

Oliver Köchli � 19 Jahre � Interessen ◦ Pfadi ◦ Programmieren ◦ Computer

Reto Hablützel � 19 Jahre � Interessen ◦ Musik ◦ PHP ◦ Java

Reto Hablützel � 19 Jahre � Interessen ◦ Musik ◦ PHP ◦ Java

Fabio Siverino � 20 Jahre � Interessen ◦ Fischen ◦ BMX ◦ Filme /

Fabio Siverino � 20 Jahre � Interessen ◦ Fischen ◦ BMX ◦ Filme / Serien

Matthias Schäfer � 19 Jahre � Interessen ◦ IT Security ◦ Entwicklung ◦ Fitness

Matthias Schäfer � 19 Jahre � Interessen ◦ IT Security ◦ Entwicklung ◦ Fitness

Interne Ausbildung � Betreuung innerhalb der CS ◦ Berufsbildner ◦ Lehrmeister � Verschiedene Einsätze

Interne Ausbildung � Betreuung innerhalb der CS ◦ Berufsbildner ◦ Lehrmeister � Verschiedene Einsätze ◦ Betriebsorganisation IT (1 Jahr) �Erster Kontakt mit der Arbeitswelt �Grundausbildung ◦ KV-Einsatz (½ Jahr) �Bezug zum Kerngeschäft: Zahlungsverkehr

Erster Java Einsatz � Erster Entwicklereinsatz � Praktische Erfahrung sammeln � Neue Technologien kennenlernen

Erster Java Einsatz � Erster Entwicklereinsatz � Praktische Erfahrung sammeln � Neue Technologien kennenlernen ◦ Enterprise Java Beans ◦ Hibernate, Java Persistence API, Struts ◦ JSP/JSF �… sowie Tools ◦ Eclipse J 2 EE ◦ JAP/Hibernate, ant/qmb � Projektstrukturen kennenlernen

Zweiter Java Einsatz �… startet nächste Woche

Zweiter Java Einsatz �… startet nächste Woche

Santis Training AG � Ausbildung für Informatikerlernende � Firmeninterne Kurse ◦ ◦ Nicht Teil

Santis Training AG � 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

Schule (BMS) � 4 Jahre � Zwei Sprachaufenthalte: ◦ Frankreich (Dijon, 2. Lehrjahr) ◦

Schule (BMS) � 4 Jahre � Zwei Sprachaufenthalte: ◦ Frankreich (Dijon, 2. Lehrjahr) ◦ Englischsprachige Ortschaft (individuell, 4. Lehrjahr) � VN + LAP = Abschlussnote � Kaufmännische Berufsmatur

Schule (ABU) � 4 Jahre � BMS > ABU � VN + Selbstvertiefungsarbeit +

Schule (ABU) � 4 Jahre � BMS > ABU � VN + Selbstvertiefungsarbeit + LAP = Abschlussnote

Schule (Module) � BMS und ABU zusammen � Grundmodule Informatik Module BMS BMS ABU

Schule (Module) � BMS und ABU zusammen � Grundmodule Informatik Module BMS BMS ABU

Module Überblick

Module Überblick

Betriebliche Module

Betriebliche Module

Projekt Converter � Umrechner � Erfassen, Bearbeiten und Löschen von Messgrössen & Einheiten �

Projekt Converter � Umrechner � Erfassen, Bearbeiten und Löschen von Messgrössen & Einheiten � Nominieren eigener Messgrössen

Projekt Converter � Vorgehen � Arbeitsmittel �Architektur (Java / Eclipse / SVN) ◦ Persistence

Projekt Converter � Vorgehen � Arbeitsmittel �Architektur (Java / Eclipse / SVN) ◦ Persistence Layer (JDBC / SQL) ◦ Business Layer ◦ Presentation Layer (JSF 2. 0 / HTML 5) � Produkt ◦ Prototyp ◦ Web-Lösung

Vorgehen 1. 2. 3. 4. Use Cases Prototyp (HTML) J-Unit (Test First) / Single

Vorgehen 1. 2. 3. 4. Use Cases Prototyp (HTML) J-Unit (Test First) / Single User Applikation Multi User Applikation

Eclipse / Java / SVN � Java � Eclipse � SVN Programmiersprache Entwicklungsumgebung Versionierungs-Tool

Eclipse / Java / SVN � Java � Eclipse � SVN Programmiersprache Entwicklungsumgebung Versionierungs-Tool

Java Allgemein � Objektorientiert � Platformunabhängig � Aktuelle Version: 6

Java Allgemein � Objektorientiert � Platformunabhängig � Aktuelle Version: 6

Automatisches Ressourcen Management File. Reader fr; fr = new File. Reader(path); try { return

Automatisches Ressourcen Management File. Reader fr; fr = new File. Reader(path); try { return fr. read (); } finally { fr. close(); } Java 6 try (fr = new File. Reader(path)) { return fr. read (); } Java 7

Strings in Switch-Konstrukt String s = "bar"; switch(s) { case "foo": System. out. println("Is

Strings in Switch-Konstrukt String s = "bar"; switch(s) { case "foo": System. out. println("Is foo"); break; case "bar": System. out. println("Is Bar"); break; }

Language-Support für Collections List<String> list; list = new Array. List<String>(); list. add("item"); list. add("second");

Language-Support für Collections List<String> list; list = new Array. List<String>(); list. add("item"); list. add("second"); String item = list. get(0); Java 6 list = ["item", "second"]; String item = list[0]; Java 7

JUnits @Test public void test. Calculate. Public. Measurand() { Double result; result = c.

JUnits @Test public void test. Calculate. Public. Measurand() { Double result; result = c. calculate( "Masse", "Kilo", "Gramm", 2 ); assert. Equals(2000. 00, result); }

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

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

SVN (Subversion)

SVN (Subversion)

Architektur

Architektur

Persistence Layer (JDBC/My. SQL)

Persistence Layer (JDBC/My. SQL)

Persistence Access Datei “converter. properties” #persistence implementation persistence_impl_class=ch. il 07. converter. persistence. impl. mysql.

Persistence Access Datei “converter. properties” #persistence implementation persistence_impl_class=ch. il 07. converter. persistence. impl. mysql. My. SQLPersistence

Persistence Implementation public void delete. Measurand(Measurand measurand, String username) { for (Unit unit :

Persistence Implementation public void delete. Measurand(Measurand measurand, String username) { for (Unit unit : measurand. get. Units()) delete. Unit(measurand, unit); Integer user. ID = get. User(username). get. User. ID(); String sql = "DELETE FROM measurand WHERE name = ? AND user. ID = ? "; Prepared. Statement stmt = con. prepare. Statement(sql); stmt. set. String(1, measurand. get. Name()); stmt. set. Int(2, user. ID); stmt. execute. Update(); }

Business Layer Aufgaben: � Verarbeitung der Daten � Steuern der Applikation � Datenaustausch mit

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

Schnittstellen Business Schnittstelle: � Service. Factory Business ◦ User, Measurand, Unit, Converter Persistence Schnittstelle:

Schnittstellen Business Schnittstelle: � Service. Factory Business ◦ User, Measurand, Unit, Converter Persistence Schnittstelle: � Persistence Business Layer Persistence

Logik � Datenaufbereitung � Delegieren � Umrechnen zum Persistence Layer

Logik � Datenaufbereitung � Delegieren � Umrechnen zum Persistence Layer

Beispiel public Double convert(Unit from. Unit, Unit to. Unit, Double amount) { base. Value

Beispiel public Double convert(Unit from. Unit, Unit to. Unit, Double amount) { base. Value = amount * from. Unit. get. Divisor(); new. Value = base. Value / to. Unit. get. Divisor(); return new. Value; }

Presentation Layer � Anzeigen der Daten � Validierung und Weiterleitung von Eingaben � HTML

Presentation Layer � Anzeigen der Daten � Validierung und Weiterleitung von Eingaben � HTML & JSF

HTML 5 � Was ist HTML ? � Neue Funktionen in HTML 5

HTML 5 � Was ist HTML ? � Neue Funktionen in HTML 5

HTML 5 Was ist HTML? DOCTYPE KOPF INHALT

HTML 5 Was ist HTML? DOCTYPE KOPF INHALT

HTML 5 Das Doctype � HTML 4. 01 Transitional � HTML 5

HTML 5 Das Doctype � HTML 4. 01 Transitional � HTML 5

HTML 5 Formularelemente

HTML 5 Formularelemente

HTML 5 Geo. Location

HTML 5 Geo. Location

Java Server Faces � Was ist das? � Was kann man damit machen? �

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

Java Server Faces Was ist das? � Framework � MVC � Verbessertes Struts

Java Server Faces Was ist das? � Framework � MVC � Verbessertes Struts

Java Server Faces Was kann man damit machen? Name Vorname PLZ Muster Max 1234

Java Server Faces Was kann man damit machen? Name Vorname PLZ Muster Max 1234 Beispiel Peter 4321

Java Server Faces Wie haben wir es verwendet? � Beans � HTML/JSF � Error.

Java Server Faces Wie haben wir es verwendet? � Beans � HTML/JSF � Error. Handler � Helper

Prototyp / Stand Alone � Modul 1 � Modul 2 � Modul 3 ◦

Prototyp / Stand Alone � Modul 1 � Modul 2 � Modul 3 ◦ Projektplanung ◦ HTML Prototyp (Single User) ◦ Swing Prototyp (Single User) ◦ JSF Weblösung (Multi User)

Web-Lösung

Web-Lösung

Fazit � Stimmung � Disziplin � Lehrer � Mehr Positiv Negativ � Lerneffekt �

Fazit � Stimmung � Disziplin � Lehrer � Mehr Positiv Negativ � Lerneffekt � Kommunikation � Neue Technologien gebraucht Standardprodukte