diff --git a/m151/README.md b/m151/README.md index d5aa78a..c382f3c 100644 --- a/m151/README.md +++ b/m151/README.md @@ -1,19 +1,61 @@ # M151 - Datenbanken in Web-Applikation einbinden -[> **Modulidentifikation** ](https://cf.ict-berufsbildung.ch/modules.php?name=Mbk&a=20101&cmodnr=151&noheader=1) +[> **Modulidentifikation** ](https://www.modulbaukasten.ch/modul/1a75c9da-716c-eb11-b0b1-000d3a830b2b) +## 33% LB1 (schriftliche Prüfung, 90 min) +### Themen: +- Multi-Tier-Architektur(en) +- Design-Phasen von Applikation und Datenbanken +- DB-Entwicklungsprozess ERM/ERD, SQL, DDL, DML, DCL, Tabellen, Views +- Ausgewählte PHP-Code-Stücke (z.B. für DB-Anbindung) -## Aufträge & Übungen -| Tag | Komp. | Nr. | Auftrag, Übung, Thema | -| ---- | ------ | ------ | -------------- | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | +## 67% LB2 (praktisches Projekt) +--> Verwaltungs-WebApp mit 2 verschiedenen Datenbanken. Eigenes Thema. +z.B. Webshop mit mind. 10 Artikeln in der DB mit Bestellmöglichkeit bis Rechnungstellung (ohne Bezahlmechanismus) +### Grundanforderung (bis Note 4.7) + - Dynamisch generierte Website mit Datenbankanbindung programmieren + - Statischer DB-Switch (hart codiert) + +#### Adminbereich + - Verschlüsseltes Login mit Sessionüberprüfung + - Benutzerverwaltung mit verschiedenen Rechten + - Online-Administration der Websiteinhalte + - Formularüberprüfungen + +#### Userbereich + - Navigation funktionsgerecht + - Sortieren möglich + - Zeitgerechte Usability (responsive, Steuer- und Anzeigeelemente) + +### Erweiterte Anforderungen (über Note 4.8) +- Mehr als eine Datenbank implementiert + + 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 + + 5. ) **Andere** Datenbankanbindung programmieren (NoSQL, MongoDB, ..) + +- Dynamischer DB-Switch + + + ### Weitere Bedingungen + +- Git wird benutzt +- Abgabe auf einem online Web-System (eigene Domain oder Provider) +- 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. + +## Bewertungsraster +| Thema/Aufgabe | (-0.4) | Note 4.0 | (+0.4) | +| ----------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| **Aufgabe 1**
Adminbereich samt Login und Userbereich (mit und ohne Login) realisieren | Aufgaben unvollständig. Daten wurden unvollständig oder gar nicht übernommen. Keine Benutzeridentifikation realisiert. Resultate sind für eine Anwendung unbrauchbar | 1. Verschlüsseltes Login mit Sessionüberprüfung
2. Benutzerverwaltung mit verschiedenen Rechten
3. Online-Administration der Websiteinhalte
4. Formularüberprüfung | Datenstruktur und Datentypen wurden angelegt. Umfangreiches Benutzerkonzept erstellt und zumindest teilweise realisiert (z. B. Benutzerverwaltung über DB-Tabellen). | +| **Aufgabe 2**
Datenbankserver mit transaktionssicheren Abfragen. (Oracle-Express, MSSQL-Express, MYSQL, Postgresql) | Applikation ist nicht lauffähig, Daten werden nicht vollständig angezeigt, Navigation ist nicht anwendergerecht implementiert. | Anbindung Applikation und Datenbank ist funktionsfähig. Daten der DB können administriert werden. Transaktionssichere Abfragen wurden realisiert, Navigation ist möglich. | SQL der Datenbank angepasst. Sinnvolle, grafisch ansprechende Darstellung der Daten. Daten können sortiert werden. Navigation ist übersichtlich und funktionsfähig. | +| **Aufgabe 3**
MVC, 2-Tier, 3-Tier, 4-Tier | MVC nicht oder nur teilweise angewendet | MVC realisiert und funktionsfähig -> "läuft" | MVC realisiert und vorbildlich implementiert (bis ins Detail)| +| **Aufgabe 4**
Eigene Funktionen - Eigene Klassen | Keine eigenen Funktionen entwickelt | Mehrere eigene Funktionen entwickelt und sinnvoll eingesetzt | Umfangreiches Funktionskonzept umgesetzt | +| **Aufgabe 5**
Anwendung testen | Tests nicht oder nur wenig durchgeführt, kein Testkonzept, keine Testanleitung vorhanden | Tests wurden durchgeführt und dokumentiert. Testanleitung. Gefundene Fehler sind beschrieben. | Testkonzept vorhanden und durchgeführt. Testergebnisse sind dokumentiert und nachvollziehbar | diff --git a/m306/themen/1_Projekt-Ziele/README.md b/m306/themen/1_Projekt-Ziele/README.md index 5f08c56..302844e 100644 --- a/m306/themen/1_Projekt-Ziele/README.md +++ b/m306/themen/1_Projekt-Ziele/README.md @@ -5,7 +5,5 @@ ### Theorie (Skript) - -04:40 min [01 Was ist ein Projekt?](https://www.youtube.com/watch?v=xEb__ktVJwc&list=PLdPuPEPdfsEbu55aREtpwjtPALYrekPVO) - -06:35 min [02 Was ist ein Projektziel, was nicht](https://www.youtube.com/watch?v=P5bHdkxLNZU&list=PLdPuPEPdfsEbu55aREtpwjtPALYrekPVO&index=3) +- 04:40 min [01 Was ist ein Projekt?](https://www.youtube.com/watch?v=xEb__ktVJwc&list=PLdPuPEPdfsEbu55aREtpwjtPALYrekPVO) +- 06:35 min [02 Was ist ein Projektziel, was nicht?](https://www.youtube.com/watch?v=P5bHdkxLNZU&list=PLdPuPEPdfsEbu55aREtpwjtPALYrekPVO&index=3)