BlogGalleryAbout meContact

Projekt: Termin Tool

Ungefär eine Woche habe ich jetzt am Datenbank design getüftelt und getestet.
Die Datenbank hat sich in dieser Zeit fast Täglich verändert und nun ist sie einsatzbereit. Ich habe das Design möglichst flexibel gehalten, so dass sie später auch einfach für die normale Doodle Funktionalität genutzt werden kann.
>> Die Dietrische Normalform << habe ich so gut es geht (Komplett) gemieden.

Nun bin ich daran die Prozeduren in SQL zu schreiben.
Geplant und teilweise umgesetzt jedoch noch nicht getestet sind:

AddDelDatum:

- Daten hinzufügen (einfache Umfrage (Schulbesuch))
- Daten hinzufügen als Wahl eines Teilnehmers (Prüfung)

AddDelWahl:

- Wahl eines Teilnehmers (Schulbesuch)
- Wahl eines Examinators (Prüfung)

AddCloseUmfrage:

- Umfragen grundgerüst erstellen
- Ersteller als Organisator eintragen
- Umfrage Schliessen

AddDelIndivZusInf:

- Zusatzinfos hinzufügen / Entfernen

AddDelPerson:

- Teilnehmer und Examinatoren hinzufügen / entfernen

EditUmfrage:

- Umfragen bearbeiten
(Evt. Selbe wie AddCloseUmfrage)


Die Schwierigkeiten liegen hier bei den Prozeduren die Einträge löschen sollen, weil sämtliche Einträge welche sich darauf beziehen ebenfalls gelöscht werden müssen. Dies macht den Code um einiges Komplexer.

EDIT:

Gerade bin ich mit dem Schreiben der restlichen Prozeduren fertig geworden und so kann ich mich nun ans Testen machen. Ich habe mich dazu entschlossen AddCloseUmfrage und EditUmfrage zusammen in AddCloseEditUmfrage zu vereinen.

Die Komplexeste Prozedur ist wohl AddDelPersonenUmfrage, da eine Person die bei einer Umfrage Teilnehmer oder Examinator ist mit bis zu 5 anderen Tabellen verknüpft sein kann. Diese müssen natürlich alle auch geprüft und geleert werden.
Dann mal ab ans Testen ... Für heute hab ich mal genug SQL-Code gesehen.
 Permalink

Das Ende vom Anfang

Der Anfang ist geschafft. Fertig ist die Zeit in welcher ich mich mit einer vielzahl von kleinen Übungen bei Laune gahalten habe. Einiges habe ich gelernt und nun habe ich die Möglichkeit bekommen mich an einem richtigen Projekt zu beweisen.

Ich soll ein Tool entwickeln welches wohl über Evento-Web oder das Intranet nutzbar sein wird und wohl hauptsächlich den Dozenten helfen soll sich mit ihren Studenten über Termine zu einigen.

Momentan arbeite ich gerade noch die Aufgaben stellung und das Datenbank-Design aus und wenn das geschafft ist, dann kann ich wohl endlich anfangen zu Programmieren.

Hier mal noch die (vorläufige) Aufgabenstellung:


Allen Personen mit einer PHZH Email-adresse soll es möglich sein Umfragen zu starten.

Vor dem erstellen einer neuen Umfrage, dem Betrachten einer bestehenden oder dem Bearbeiten einer Umfrage muss sich der Benutzer zunächst anmelden rsp. Muss der Benutzer zuerst Identifiziert werden.

 

Im Intranet soll ein Menü entstehen durch das Organisatoren und Teilnehmer auf die Umfragen zugreifen können in denen sie selbst als Teilnehmer, Organisator oder Examinator bekannt sind. (Meine Termin-Umfragen)

 

Funktion: Schulbesuch:

Auf der Erstellungsseite ist Platz für alle nötigen Informationen.

-          Titel

-          Beschreibung

-          Verweise auf Module usw.

Nach Eingabe dieser, müssen noch die Teilnehmer festgelegt werden. Diese können nach Modulanlass oder Studienjahrgang ausgewählt werden.

Nun kann die Umfrage mit einem Klick auf einen entsprechend beschrifteten Button gestartet werden. Sie wird allen als Teilnehmer definierten Personen als Email zugesandt.

Mit dem Starten der Umfrage, wird der Ersteller zum Organisator und erhält so erweiterte rechte auf diese Umfrage.

Diese wären:

-          Das Recht auf das Spätere Mutieren der Beschreibung

-          Das Recht im nachhinein Termine zu Löschen oder Hinzu zu fügen

-          Das Recht die Umfrage an die Teilnehmer zu schicken (Auf Knopfdruck)

-          Das Recht von Studenten getroffene Wahlen rückgängig zu machen

-          Das Recht eine Individuelle Textnachricht an alle Teilnehmer zu versenden

-          Das Recht die bisherigen einträge als Excel Tabelle zu exportieren

-          Das Recht die Umfrage zu schliessen

 

An dieser Stelle erhalten die Teilnehmer die Standartmail mit dem Link zur Umfrage.

Als erstes steht wieder eine Authentifizierung bevor.

Hier können die Teilnehmer einen der vorgegebenen Termine wählen, welcher anschliessend für die anderen Teilnehmer nicht mehr zur Verfügung steht.

Das spätere ändern oder rückgängig machen ist für Teilnehmer nicht vorgesehen. In diesem Fall müssen sie sich mit dem Organisator in Verbindung setzen.

 


 

Funktion: Prüfungen:

Beim erstellen dieses Umfragetyps werden folgende Informationen benötigt:

-          Titel

-          Beschreibung

-          Datum von/bis

Auch hier müssen noch die Teilnehmer festgelegt werden welche ebenfalls nach Modulanlass oder Studienjahrgang ausgewählt werden können.

Zusätzlich benötigt dieser Umfragetyp Min. ein Examinator.

Examinatoren sind Experten die zu diesen Zeitpunkten anwesend sein müssen.

Nun kann die Umfrage gestartet werden. Die Umfrage wird automatisch an alle Teilnehmer geschickt, der versand an die Examinatoren muss aber Manuell getätigt werden. Mit dieser Aktion wird der Ersteller auch gleich zum Organisator, was ihm mehr rechte auf seine Umfrage beschert.

Diese wären:

-          Das Recht auf das Spätere Mutieren der Beschreibung

-          Das Recht im nachhinein Termine zu Löschen oder Hinzu zu fügen

-          Das Recht von Studenten getroffene Wahlen rückgängig zu machen

-          Das Recht von Examinatoren getroffene Wahlen rückgängig zu machen

-          Das Recht eine Individuelle Textnachricht an alle Teilnehmer und / oder Examinatoren zu versenden

-          Das Recht die bisherigen einträge als Excel Tabelle zu exportieren

-          Das Recht die Umfrage an die Examinatoren und / oder die Teilnehmer zu schicken (Auf Knopfdruck)

-          Das Recht die Umfrage zu schliessen

 

Die Teilnehmer gelangen durch den Link in der Email auf die Umfrage, und können hier (nach einer Authentifizierung) die für sie passenden Termine mit den jeweiligen Zeiträumen angeben.

 

Der Organisator versendet irgendwann den Link an die Examinatoren, welche (nach einer Authentifizierung) angeben können welche der von den Teilnehmern genannten Termine für sie passen (Keine Angabe = Unpassend)

 

Wenn ein Termin für alle Fraktionen passt, kann dieser vom Organisator als „Termin Organisiert“ markiert werden.

 

(Termin und Zeitüberschneidungen stellen hier von Seiten der Teilnehmer und der Examinatoren kein Problem dar.)


Und falls gerade noch ein Verantwortlicher mit liest, hier die Liste der noch offenen Fragen:

1.1

-          Kann Beschreibung im nach hinein komplett geändert werden oder wird sie einfach nur mit Angabe des Datums erweitert? Im falle einer Änderung müssten die Teilnehmer Informiert werden.

-          Wie hoch ist der Geforderte Sicherheitsstandart?

-          Beim nachträglichen Löschen von Terminen kann es sein, dass Teilnehmer sowie Examinatoren sich bereits auf diesen Termin beziehen. Sollen diese Automatisch benachrichtigt werden?

-          Beim nachträglichen Hinzufügen von Terminen könnte es Nützlich sein die Jenigen Teilnehmer die noch keine Wahl getroffen haben zu automatisch Kontaktieren.

-          Können solche Umfragen von allen Personen oder nur von Teilnehmenden bzw. Examinatoren betrachtet werden?

-          Können nur Teilnehmer und Examinatoren eine Eingabe tätigen?

-          Wie lange bleibt eine Umfrage nach dem Schliessen bestehen? Für immer? Wird sie sofort gelöscht?

-          Was bedeutet der blaue text: „Felder auf Termin können von beschriftet werden und gekennzeichnet werden ob diese sichtbar sind für Examinatoren oder nicht.“ ?

-          Soll es dem Organisator bei der Funktion: „Prüfung“ möglich sein je Datum eine Zeitspanne an zu geben? Oder eine einheitliche Zeitspanne für den ganzen Datums bereich oder nichts der gleichen?

-          Welche Zusatzdaten sollen genau zum Termin angegeben werden können?

 Permalink

Fazit der Ersten Woche

Hallo liebeLesende!

Eine Woche ist vergangen und ich habe mich schon sehr gut eingelebt und dabei auch noch viel gelernt.
Von den anfänglichen SQL-abfrage Aufgaben, die mir gestellt wurden, ging es dann in der zweiten Wochenhälfte zu C# über.

SQL-Abfragen waren im Stile von:
bsp: "Anzahl Männlein und Weiblein in % und Absolut finden." was in etwa so aus schaut:

SELECT count(PersonSex) AS [all],
(SELECT count(PersonSex) FROM dbo.Person WHERE PersonSex LIKE 'M') AS male,
(SELECT count(PersonSex) FROM dbo.Person WHERE PersonSex LIKE 'F') AS female,
(SELECT (convert(float(50), count(PersonSex)))*100/(SELECT count(PersonSex) FROM dbo.Person) FROM dbo.Person WHERE PersonSex LIKE 'M')AS malePerCent,
(SELECT (convert(float(50), count(PersonSex)))*100/(SELECT count(PersonSex) FROM dbo.Person) FROM dbo.Person WHERE PersonSex LIKE 'F') AS femalePerCent
FROM dbo.Person


bsp: später noch die etwas Komplexeren joins:

SELECT IDAnlASsLtgRolle, AnlASsNummer, PersONNachname, PersONVorname, AnlASsBezeichnung
FROM PersON p left JOIN
(
SELECT IDAnlASsLtgRolle, AnlASsNummer, AnlASsBezeichnung, AnlASsLtgIDPersON
FROM AnlASs a
JOIN AnlASsLeitung al ON a.IDAnlASs = al.AnlASsLtgIDAnlASs
JOIN AnlASsLeitungRolle alr ON al.AnlASsLtgIDAnlASsLtgRolle = alr.IDAnlASsLtgRolle
WHERE IDAnlASsLtgRolle = 2
)
AS zusatz ON zusatz.AnlASsLtgIDPersON = p.IDPersON


C# Lerne ich momenta nach eigenem Ermessen. Eine Freiheit die ich sehr schön finde.
Da eigendlich alles an SW hier in irgend einer Weise mit einer Datenbank kommuniziert, ist das Thema "Datenbanken" für mich auch auf Priorität 1.

Weit bin ich vielleicht noch nicht aber für eine Einfache Anwendung reicht mein Wissen wohl schon aus.
Ich habe mich bisher mit dem Verbinden, dem Auslesen von Daten und der Darstellung dieser im GUI, dem Dynamischen generieren von SQL-Abfragen sowie dem Threading und Control.Invoke auseinander gesetzt.

Soviel für heute.

mfg
Der Praktikant
 Permalink

Willkommen ...

... auf meinem Blog!

Hier habt ihr die Möglichkeit mich auf meinem Weg durch ein 13 monatiges Praktikum zu begleiten, so wenig wie möglich über mich zu erfahren und mir vielleicht bei einigen Problemen und Aufgaben zu helfen wärend ihr euch mit dem Alltag eines IT Praktikanten vertraut macht.

Am 2. dieses Monats (August) habe ich angefangen und wurde / werde als erstes einmal mit den wichtigsten Standard-tools bekannt gemacht und in die ersten Abläufe eingewiesen. Somit befasse ich mich in erster Linie mit der Datenbank (wenn auch anfangs noch auf dem Test-system) und mit der SW um diese herum.

Wenn ihr bis hier her mitgelesen habt kann ich euch trösten, denn bis auf diesen Beitrag werdet ihr noch keinen von mir erstellten und beabsichtigten Content finden. Für alle die sich für meine Sache interessieren werde ich diesen Blog über diese Zeit relativ aktuell halten.

bis dahin

mfg
der Praktikant
Comments (1)  Permalink
1-4/4