This commit is contained in:
Harald G. Mueller 2022-11-22 09:30:47 +01:00
commit febeafe0d4
5 changed files with 137 additions and 134 deletions

View File

@ -22,21 +22,29 @@
| Tag | Datum | Thema |
| ---- | ----- | ----- |
| -1- | 18.11.| Einführung und Start LB1 |
<<<<<<< HEAD
| --- | 25.11.| _fällt aus_ -> Arbeit im Betrieb|
| -2- | 02.12.| Arbeit für/auf LB1 |
| -3- | 09.12.| Arbeit für/auf LB1 / LB4 |
| -4- | 16.12.| Arbeit für/auf LB1 / LB4, Fachgespräche einzeln (LB1) |
| -5- | 23.12.| Arbeit an LB3, Fachgespräche einzeln (LB1) |
=======
| --- | 24.11.| _fällt aus_ -> Arbeit im Betrieb|
| -2- | 01.12.| Arbeit für/auf LB1 |
| -3- | 08.12.| Arbeit für/auf LB1 / LB3 |
| -4- | 15.12.| Arbeit für/auf LB1 / LB3, Fachgespräche einzeln (LB1) |
| -5- | 22.12.| Arbeit an LB3, Fachgespräche einzeln (LB1) |
>>>>>>> 9fd245b5c9a6e6798b5382cabd96c13e2caad663
| --- | --- | Weihnachtsferien |
| -6- | 13.01.| Schriftlicher Auftrag (LB2) |
| -8- | 20.01.| Arbeit an LB3 |
| -9- | 27.01.| Arbeit an LB3 |
| -6- | 13.01.| Schriftlicher Auftrag (LB2a oder LB2b) |
| -7- | 20.01.| Arbeit an LB3 |
| -8- | 27.01.| Arbeit an LB3 |
| -9- | 03.02.| Abgabe und Bewertung LB3 |
<br>
<br>
## LB1 (20%, Fachgespräch, ca. 12 min) - **Tag 4** und **Tag 5**
## LB1 (30%, Fachgespräch, ca. 12 min) - **Tag 4** und **Tag 5**
- Wie sind e-Business-Applikationen aufgebaut (Architektur, Aufteilung horizontal / vertikal)?
- Wie laufen die (internen) Transaktionen ab (Produkt einpflegen, Zahlungsablauf, ...)?
- Was muss man bezüglich Sicherheit, Performance, Verfügbarkeit, Transaktionsvolumen beachten und was sind die technischen Antworten dafür/dagegen?
@ -46,7 +54,7 @@
**_Vor oder nach der mündlichen Prüfung kann/soll schon mit LB4 begonnen werden_**
## LB2 (25%, Schriftlicher Auftrag, Aufwand ca. 200 min) - **Tag 6**
## LB2 (30%, Schriftlicher Auftrag, Aufwand ca. 200 min) - **Tag 6**
Einzelauftrag/Einzelabgabe (Zusammenarbeit bei der Faktenbeschaffung möglich)
@ -54,10 +62,10 @@ Einzelauftrag/Einzelabgabe (Zusammenarbeit bei der Faktenbeschaffung möglich)
<br>- Vergleich zweier konkurrenzierender und etwa gleich grosser
<br> e-Commerce-Systeme wie z.B. (Coop/Migros, Brack/Digitec, Nike/Adidas, Alibaba/Amazon, ...)
[**LB2 Arbeitsauftrag**](./docs/M150_LB2_Arbeitsauftrag.pdf)
[**LB2a Arbeitsauftrag**](./docs/M150_LB2_Arbeitsauftrag.pdf)
## LB3 (25%, Schriftlicher Auftrag, Aufwand ca. 200 min) - **Tag 7**
***ODER***
Als Einzelauftrag/Einzelabgabe (Zusammenarbeit bei der Faktenbeschaffung möglich)
@ -70,18 +78,19 @@ Als Einzelauftrag/Einzelabgabe (Zusammenarbeit bei der Faktenbeschaffung möglic
<br> - eShop- oder
<br> - Standardwebshop-Systeme.
[**LB3 Arbeitsauftrag**](./docs/M150_LB3_Arbeitsauftrag.pdf)
[**LB2b Arbeitsauftrag**](./docs/M150_LB3_Arbeitsauftrag.pdf)
<https://www.tbzwiki.ch/index.php?title=EPayment>
<br><https://www.tbzwiki.ch/index.php?title=Paynet>
<br><https://www.sellxed.com/de/start>
<br><https://www.payrexx.com/de/home>
<br>Siehe auch die Linkliste in [Vertiefungsarbeit-Payment-Systeme.md](./Vertiefungsarbeit-Payment-Systeme.md)
<br>
## LB4 (30%, frei wählbare Vertiefungsarbeit als Dokument oder Produkt, 1-3 Personen)
## LB3 (40%, frei wählbare Vertiefungsarbeit als Dokument oder Produkt, 1-3 Personen)
- [Ziel/Anforderung/Beschreibung für das Vertiefungsthema](./docs/M150_LB4_Vertiefungsthema.pdf).
- [Themenliste](https://www.tbzwiki.ch/index.php?title=Themenliste_Modul_150)
- Weitere:
<br> -- [Paymentsysteme in Web-Shops](./Vertiefungsarbeit-Payment-Systeme.md)
<br> --
<br> --
<br> --

View File

@ -1,6 +1,6 @@
# M151 - Datenbanken in Web-Applikation einbinden.
# M151 - Datenbanken in Web-Applikation einbinden
[> **Modulidentifikation** ](https://www.modulbaukasten.ch/modul/1a75c9da-716c-eb11-b0b1-000d3a830b2b)
[> **Modulidentifikation** ](https://www.modulbaukasten.ch/module/151/3/de-DE?title=Datenbanken-in-Web-Applikation-einbinden)
[TOC]
@ -16,13 +16,13 @@
| -2- | 22.11.| Arbeit an LB1 |
| -3- | 29.11.| Arbeit an LB1 |
| -4- | 06.12.| Arbeit an LB1 |
| -5- | 13.12.| Abgabe LB1 (Erklärdokument) <br> LB2 (schriftlich, 90 min) <br> Start LB3 |
| -6- | 20.09.| Arbeit an LB3 |
| --- | --- | Weihnachtsferien |
| -5- | 13.12.| Abgabe LB1 (Erklärdokument) <br><br> LB2 (schriftlich, 90 min) <br><br> Start LB3 |
| -6- | 20.12.| Arbeit an LB3 |
| --- | --- | Weihnachtsferien |
| -7- | 10.01.| Arbeit an LB3 |
| -8- | 17.01.| Arbeit an LB3 |
| -9- | 24.01.| Arbeit an LB3 (Abschluss) |
| -10- | 31.10.| Abgabe LB3 (einzeln) |
| -10- | 31.01.| Abgabe LB3 (einzeln) |
<br>
<br>
@ -36,19 +36,84 @@
## LB1 (30%, Erklär-Dokument)
Als ersten Kompetenznachweis ist ein Erklärdokument, ähnlich eines Lehrbuchs
oder gar eine kleine wissenschaftliche Arbeit, zu erstellen. Dabei sind
[**folgende Themen**](./erklaeren-der-themen.txt) zu bearbeiten.
- 1 Design
- 2 Sicherheit
- 3 Realisierung
- 4 Change(-management)
- 5 Testing
oder gar eine kleine wissenschaftliche Arbeit, zu erstellen. Sie erarbeiten selbstständig Themen, die folgend vorgegeben sind. Die Themen werden in einem Dokument behandelt, in dem sie zeigen, dass die die Inhalte vertieft verstanden haben.
Abgabetermin ist der **Tag 5** 08:15, vor der LB2
### Formale Kriterien
- Titelblatt mit ihrem Namen, Auftrag und Datum
- Header und Footer
- Inhaltsverzeichnis
- Referenzen und Quellenangaben. Sie müssen die Quellen und Zitat jeweils im Dokument ausweisen
- Rechtschreibung und ganze Sätze
- Pünktliche Abgabe und richtiger Dateiformat & Dateiname
- Abgabe als PDF mit Dateiname: **M151-LB1-Erklaerdokument-NACHNAME.pdf**
### Inhalt
Sie zeigen in ihrem Text, dass sie die Themen verstanden haben, indem Sie
- den/die Grundgedanken klar und mit eigenen Worten beschreiben.
- die Themen korrekt und richtig beschreiben
- zeigen, dass Sie weitergehen können, als nur die nachfolgenden Leitfragen zu beantworten (z.B. Alternativen aufzeigen, etc.)
Folgende Themen werden erwartet:
- 1 "DESIGN"
- wie sieht eine Multi-Tier-Architektur aus (Konzept)
- welche Varianten gibt es (2-Tier, 3-Tier, 4-Tier, ...) und wie sehen die aus
- was ist und wie sieht eine MVC-Architektur aus (Konzept)
- was sind Layers und welche Verbindungen existieren
- warum macht man das und was sind die Vor- und Nachteile
- Gibt es eine hybride Form?
- Wie sieht eine Architektur aus, in der mehr als ein Typ, mehr als ein Datenbankenhersteller parallel verwendet werden kann
- 2 "SICHERHEIT"
- Verweis auf Modul 183, bzw. Sie erstellen eine Zusammenfassung davon
- 3 "REALISIERUNG"
- Sie erklären was der konzeptionelle, der logische und der physische Datenbank-Design ist,
- deren Nutzen, Hauptaufgabe und die Resultate aus diesen Phasen.
- Sie erklären, wie man vom konzeptionellen zum logischen und zum physisches DB-Design kommt, und zwar letzteres ohne Generator-Tools zu benutzen.
- Sie zeigen (u.a. mit Screen-Shots), wie sie auf der Datenbank den entsprechenden (Hilfs-)Client benutzen und wie Sie dort
<br> - Queries absetzen können
<br> - DB-Transaktionen anwenden können (und in welchen Fällen ist dies sinnvoll)
<br> - Stored Procedures, Functions oder ähnliches umsetzen können (und in welchen Fällen ist dies sinnvoll)
<br> - - -> Geben sie konkrete Beispiele und belegen Sie ihre Beispielabfragen mit **Screenshots**.
- Sie beschreiben die wichtigsten Eigenschaften der SQL, also der DDL, der DML und der DCL
- Sie beschreiben, wie man Views macht (auch materialisierte Views) und wie man die verwenden kann und warum man das so macht / machen kann
- 4 "CHANGE"(-management)
- Wie machen Sie in der laufenden Entwicklung die Erweiterungen des DB-Modells
- Wie macht man die Einführung von Relesases im laufenden (produktiven) Betrieb
- Wie organisieren Sie Versionen und die zusammenarbeit im Team
<br> d.h. die Strategie der Branches in/mit Git, wie können Fixes und Weiterentwicklungen durchgeführt werden, ohne dass Sie den aktuellen Live-Code unterbrechen/stören
- 5 "TESTING"
- Wie testet man während der Entwicklung und wie bei der Entwicklung im laufenden (produktiven) Betrieb
- Welche Testebenen gibt es (Dev-T, UserAcceptance-T, ProdInstall-T) und wie kann man automatiserte Test machen (lassen)
- Erklären Sie welche Tests für die Datenbankanbindung relevant sind (Load-Tests, Performace-Tests). Sie sollen dabei eine kurze Beschreibung der beiden Tests liefern und dann auf die Relevanz eingehen. Für beide Tests führen sie zusätzlich aus, was für Massnahmen möglich sind, wenn die Tests nicht erfolgreich verlaufen.
### Abgabetermin
ist der **Tag 5** 08:15 (vor der LB2)
### Bewertungskriterien:
- 33% Form (siehe oben) und Aufbau (Gliederung 2. Stufe, Ausgeglichenheit der Kapitel)
- 34% Gehalt, Relevanz und Richtigkeit, Varianten in der Technik
- 33% Erklärbarkeit. Wie erklärt wird, Verständlichkeit, Sprache
### Empfehlung
Es empfiehlt sich, die Themen im Erklärdokument so zu beschreiben, dass zugleich auch eine gute Vorbereitung für die schriftliche Prüfung **LB2** gemacht wird. Es empfiehlt sich ebenso, die thematisierten Techniken auch selber auszuprobieren und zu dokumentieren, damit sie dabei auch gleichzeitig diese Teile in der praktischen Übung **LB3** verwendet und angewendet werden können.
### Tipps zum Vorgehen:
- forschen Sie in ihren früheren Schul-Unterlagen und im Internet (z.B. ITIL, Modul 133)
- schliessen Sie sich mit anderen Lernenden zusammen und tauschen Sie sich darüber aus,
wie sie es im Betrieb jetzt schon machen
- "hören" Sie sich z.B. beim zuständigen Profi in Ihrem Betrieb oder in anderen Betrieben um
- organisieren Sie z.B. eine Telefonkonferenz mit einem Profi (insbesondere für -4- und -5- )
- machen Sie Ihre eigenen Überlegungen
- diskutieren Sie mit Ihrer Lehrperson
<br>
<br>
@ -68,10 +133,10 @@ Folgende Themen weden geprüft:
<br>
## LB3 (45%, praktisches Projekt)
Für die praktische Übung ist eine Verwaltungs-WebApp in z.B. PHP oder ähnlichem mit 2 verschiedenen Datenbanken zu erstellen. Es kann dafür ein eigenes Thema (Sneaker- oder TShirt-Shop, Essenslieferdienst, Sporteventplanung, Ticket-Shop usw.) gewählt werden.
Für die praktische Übung ist eine Verwaltungs-WebApp in PHP oder ähnlichem mit 2 verschiedenen Datenbanken zu erstellen. Es kann dafür ein eigenes Thema (Sneaker- oder TShirt-Shop, Essenslieferdienst, Sporteventplanung, Ticket-Shop usw.) gewählt/gemacht werden.
Es wird verlangt, dass eine datenbasierte Software, mit mind. 10 Elementen/Artikeln in der DB mit Bestellmöglichkeit bis Rechnungstellung (ohne Bezahlmechanismus) gebaut wird. Zentral dabei ist, dass mindestens 2 unterschiedliche Daten-Haltungstechniken (Datenbank & Filedatenhaltung) angewendet werden.
Es wird verlangt, dass eine datenbasierte Software, mit mind. 12 Elementen/Artikeln in der DB mit Bestellmöglichkeit bis Rechnungstellung (ohne Bezahlmechanismus) gebaut wird. Zentral dabei ist, dass mindestens 2 unterschiedliche Daten-Haltungstechniken (Datenbank & Filedatenhaltung) angewendet werden.
#### Hosting mit Datenbanken
@ -84,11 +149,27 @@ Mögliche / empfohlene Gratishosts mit Datenbanken:
Eine Abgabe auf "localhost", also nicht über das Internet auf einem Webserver, gibt Abzüge bei der Bewertung.
### Grundanforderung (bis Note 4.7)
- Dynamisch generierte Website (z.B. in PHP o.ä.) mit 1 Datenbankanbindung und 1 Filedatenhaltung programmiert.
- Statischer DB-Switch (hart codiert)
### Grundanforderung (Note bis 4.7)
- Dynamisch generierte Website (z.B. in PHP) mit 2 Datenbankanbindungen (z.B. für Artikel) und 1 Filedatenhaltung (z.B. für DB-Einstellungen oder für User) programmiert.
- Statischer DB-Switch (hart codiert, Applikation muss neu gestartet werden um auf die 2. DB zu kommen)
- Git wird benutzt
- Abgabe auf einem online Web-System
-- eigene Domain,
-- oder Subdomain bei einem Provider
-- oder als Unterordner in einer Domain
> Abgabe "nur" auf dem eigenen Rechner (localhost) gibt Abzüge
- Einzelabgabe (Es kann zusammen gearbeitet werden, aber jede:r gibt den eigenen Code ab)
- Teile aus Modul M133 können wiederverwendet werden. Es muss aber eine sichtliche Weiterentwicklung davon sein.
- Datenbank angebunden
- MVC konsequent umgesetzt
- Sicherheitsaspekte berücksichtigt
-- "save" gegen SQL-Injection, Benutzer-Fehleingaben, ...)
-- "save" gegen URL-Klau (Sessionhandling)
- Mehrere Artikel können ausgewählt und/oder abgewählt und danach "bestellt" werden.
[weitere Bedingungen/Mindestanforderungen für die Note 4.7](./mindestbedingungen-fuer-note-4.7.txt)
#### Adminbereich
- Verschlüsseltes Login mit Sessionüberprüfung
@ -99,19 +180,22 @@ Eine Abgabe auf "localhost", also nicht über das Internet auf einem Webserver,
#### Userbereich
- Navigation funktionsgerecht
- Sortieren möglich
- Zeitgerechte Usability (responsive, Steuer- und Anzeigeelemente)
- Zeitgerechte Usability (responsive, Steuer- und Anzeigeelemente). Dabei können Sie gerne HTML5/CSS3-Templates verwenden.
### Erweiterte Anforderungen (über Note 4.8)
- Mehr als eine Datenbank gleichzeitig implementiert
### Erweiterte Anforderungen (Note über 4.75)
- Mehr als eine Datenbank gleichzeitig implementiert. Dabei müssen die beiden Datenbanken so umgeschaltet werden können, ohne dass **ein Restart der Applikation** durchgeführt wird. Sie müssen also einen "Toggle-Button" oder ähnliches auf der Oberfläche einbauen.
- Use case 1: Sie haben eine Produktion-Umgebung und eine User-Acceptance-Test-Umgebung parallel im Betrieb und Sie dürfen im Test keine produktiven Daten sehen und müssen das dem Gesetzgeber und dem/der Kunden beweisen indem Sie zwei Datenbanken "fahren", die sogar herstellerunabhängig sind.
- Use case 2: Sie migrieren Ihre Applikation auf eine neue Umgebung, in der nur noch das Datenbank-"Konkurrenzprodukt" verwendet werden darf. Z.B. wenn "Ihre" Applikation an eine andere Unternehmung verkauft wurde oder das Management bestimmt hat, dass nur noch die Datenbanken des "Einen" Herstellers verwendet werden darf.
1. ) **Oracle** Express: Datenbankanbindung programmieren
2. ) **PostgreSQL**: Datenbankanbindung mit transaktionssicheren Abfragen programmieren
3. ) **MSSQL Express**: Datenbankanbindung programmieren
4. ) **MySQL/MariaDB**: Innodb Tabellen mit transaktionssicheren Abfragen und MVC programmieren
4. ) **MySQL/MariaDB**: Innodb Tabellen mit transaktionssicheren Abfragen und in MVC programmiert
5. ) **Andere** Datenbankanbindung programmieren (NoSQL, MongoDB, ..)
- Bonus: Dynamischer DB-Switch (ohne Code-Änderung)
- Bonus: Externe Schnittstelle implementiert (Zahlungssystem einbinden, z.B. TWINT)
- Bonus 1: Rechnungsstellung per Mail oder PDF für den Kunden zum Ausdrucken und zum Bezahlen via Einzahlungsschein oder persönlichem TWINT (-> QR-Code)
- Bonus 1: Externe Schnittstelle implementiert (Zahlungssystem einbinden, z.B. TWINT)
<br>
<br>

View File

@ -1,63 +0,0 @@
Inhalt des abzugebenden Erklär-Dokuments
=========================================
(Einzalabgabe, jedoch Austausch und Teamarbeit erwünscht)
- 1 - "DESIGN"
- Welche Möglichkeiten zur Analyse des Aufbaus einer Web-Applikation und das
Zusammenspiel der Softwarekomponenten git es? (MVC)
- Eigenschaften und Funktionen von Schnittstellen zu Datenbanksystemen und Datenbeständen
- 2 - "SICHERHEIT"
- Wie schützen Sie organisatorische und technische Sicherheitsvorkehrungen
zur Sicherung von Informationen/Daten und Web-Applikationen?
- 3 - "REALISIERUNG"
- Welche Script- und Programmiersprachen für Web-Applikation git es und wie/welches
sind diese typischen Eigenschaften?
- Wie gehen Sie vor um die Datenintegrität, Verfügbarkeit, Authentizität und
Vertraulichkeit in Web-Applikationen zu gewährleisten?
- Wie kann man applikatorisch das Locking von Datensätzen machen?
- Welche unterschiedlichen Architekturen zur Einbindung von Datenbeständen
bzw. Datenbanken in einer Web-Applikation gibt es?
- 4 - "CHANGE"
- Wie organisieren Sie, nachdem das System in produktiv in Betrieb genommen worden ist,
aufkommende Änderungen (betrieblich/administrativ/technisch)?
Worauf kommt es an und wie stellt man die vollständige Auftragsdurchführung sicher?
- 5 - "TESTING"
- Wie könnten/müssten Sie eine 'übergreifende' Prüfung einer/ihrer
Web-Applikation mit Datenbank mit einem Test- und Abnahmeverfahren organisieren
und durchführen?
Tipps zum Vorgehen:
==============================================
- forschen Sie in ihren früheren Schul-Unterlagen und im Internet (z.B. ITIL)
- schliessen Sie sich mit anderen Lernenden zusammen und tauschen Sie sich darüber aus,
wie sie es im Betrieb jetzt schon machen
- "hören" Sie sich z.B. beim zuständigen Profi in Ihrem Betrieb oder in anderen Betrieben um
- organisieren Sie z.B. eine Telefonkonferenz mit einem Profi (insbesondere für -4- und -5- )
- machen Sie Ihre eigenen Überlegungen
- diskutieren Sie mit Ihrer Lehrperson
Bewertungskriterien:
==============================================
10% Form
Titelblatt,
Aussagekräftige Header u/o Footer
Inhaltsverzeichneis (wenn mehr als 3 Steiten)
Nummerierte Kapitel
Referenzen / Links zur Herkunft
20% Kerngehalt
20% Relevanz und Richtigkeit
20% Vollständigkeit
20% Erklärbarkeit
Wie wird erklärt?
Ganze Sätze
10% Aufbau, Gliederung (2. Stufe) und Ausgeglichenheit der Kapitel

View File

@ -1,25 +0,0 @@
### Weitere Bedingungen
- Git wird benutzt
- Abgabe auf einem online Web-System
-- eigene Domain,
-- oder Subdomain bei einem Provider
-- oder als Unterordner in einer Domain
>> Abgabe "nur" auf eigenem Rechner gibt Abzüge
- Einzelabgabe (Es kann zusammen gearbeitet werden, aber jede:r gibt den eigenen Code ab)
- Teile aus Modul M133 können wiederverwendet werden. Es muss aber eine sichtliche Weiterentwicklung davon sein.
- Datenbank angebunden
- MVC konsequent umgesetzt
- Sicherheitsaspekte berücksichtigt
-- "save" gegen SQL-Injection, Benutzer-Fehleingaben, ...)
-- "save" gegen URL-Klau (Sessionhandling)
- Mehrere Artikel können ausgewählt und "bestellt" werden
- Rechnungsstellung per Mail oder PDF für den Kunden zum Ausdrucken und zum Bezahlen via Einzahlungsschein oder persönlichem TWINT

View File

@ -25,25 +25,23 @@
# Modulablauf
<https://miro.com/app/board/uXjVOj5dQiU=/?share_link_id=853850984798>
## Themenplan (AP21a) Dienstag Nachmittag
[Details siehe **MIRO**-Board](https://miro.com/app/board/uXjVPD6Lhvk=/?share_link_id=553211818263)
| Tag | Datum | Thema|
| ----| ----- | ---- |
| 1 | 15.11. | |
| 2 | 22.11. | |
| 2 | 22.11. | Sprint 0 |
| 3 | 29.11. | |
| 4 | 06.12. | |
| 4 | 06.12. | Sprint 1 |
| 5 | 13.12. | |
| 6 | 20.12. | |
| 6 | 20.12. | Sprint 2 |
| - | - | Weihnachtsferien |
| 7 | 10.01. | |
| 8 | 17.01. | |
| 8 | 17.01. | Sprint 3 |
| 9 | 24.01. | |
| 10 | 31.01. | |
| | | |
| 10 | 31.01. | Abschluss |
## 1.) Vorgehensmodelle
@ -211,5 +209,5 @@ _*Themen als bewerteten*_ **Schüler-Vortrag** (7-10 min)
- [28] Wie können [Scrum-Projekte zum Fixpreis](https://www.openpm.info/display/openPM/Projekte+mit+Scrum+zum+Festpreis) angeboten werden?
![3_HowToScrum/and-we-have-tripled-storypoints.jpg(3_HowToScrum/and-we-have-tripled-storypoints.jpg)
![3_HowToScrum/and-we-have-tripled-storypoints.jpg](3_HowToScrum/and-we-have-tripled-storypoints.jpg)