<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.haller.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Christian</id>
	<title>HallerWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.haller.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Christian"/>
	<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php/Special:Contributions/Christian"/>
	<updated>2026-10-09T10:29:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=FS&amp;diff=148</id>
		<title>FS</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=FS&amp;diff=148"/>
		<updated>2019-08-04T11:52:10Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;== Produktion ==  [http://pww.post.ch/appl/oe/it/invq/wpl/index.aspx InvQ]  [http://pww.post.ch/appl/oe/it/logistictool/wpl/ LP-Tool]  [http://fs.pnet.ch/appl/net/ FS/net] [ht...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Produktion ==&lt;br /&gt;
&lt;br /&gt;
[http://pww.post.ch/appl/oe/it/invq/wpl/index.aspx InvQ]&lt;br /&gt;
&lt;br /&gt;
[http://pww.post.ch/appl/oe/it/logistictool/wpl/ LP-Tool]&lt;br /&gt;
&lt;br /&gt;
[http://fs.pnet.ch/appl/net/ FS/net]&lt;br /&gt;
[http://pwwint.post.ch/appl/oe/it/invq/wpl/index.aspx InvQ]&lt;br /&gt;
&lt;br /&gt;
[http://pwwint.post.ch/appl/oe/it/logistictool/wpl/ LP-Tool]&lt;br /&gt;
&lt;br /&gt;
[http://fs.pnet.ch/appl-int/net/ FS/net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JIRA ==&lt;br /&gt;
[https://jira.pnet.ch/browse/FSNET/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel JIRA FSApp]&lt;br /&gt;
&lt;br /&gt;
[https://jira.pnet.ch/browse/LPTOOL/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel JIRA LP-Tool]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integration ==&lt;br /&gt;
&lt;br /&gt;
[https://jira.pnet.ch/browse/FSTLS/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel JIRA FS Tools]&lt;br /&gt;
&lt;br /&gt;
[https://jira.pnet.ch/browse/INVQ/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel JIRA Inventartools]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WIKI ==&lt;br /&gt;
&lt;br /&gt;
[https://wikit.pnet.ch/display/FSAP/FS-App+Home WIKI FSApp]&lt;br /&gt;
&lt;br /&gt;
[https://wikit.pnet.ch/display/OUIT33/01-LP-Tool WIKI LP-Tool]&lt;br /&gt;
&lt;br /&gt;
[https://wikit.pnet.ch/pages/viewpage.action?pageId=105122786 WIKI InvQ]&lt;br /&gt;
&lt;br /&gt;
[https://wikit.pnet.ch/pages/viewpage.action?pageId=218104243 WIKI FS/net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Diverses ==&lt;br /&gt;
&lt;br /&gt;
[http://elearningint/fsapp/v05_fr/story.html WBT FSApp Franz]&lt;br /&gt;
&lt;br /&gt;
[http://elearningint/fsapp/v05/story.html WBT FSApp Deutsch]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Valuemation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://valuemation.post.ch/vm https://valuemation.post.ch/vm]&lt;br /&gt;
&lt;br /&gt;
[https://valuemation.post.ch/mobile https://valuemation.post.ch/mobile]&lt;br /&gt;
&lt;br /&gt;
[https://usu-vm-prod1.pnet.ch:7000/vm/vmweb https://usu-vm-prod1.pnet.ch:7000/vm/vmweb]&lt;br /&gt;
&lt;br /&gt;
[https://usu-vm-prod2.pnet.ch:7000/vm/vmweb https://usu-vm-prod2.pnet.ch:7000/vm/vmweb]&lt;br /&gt;
&lt;br /&gt;
[https://usu-vm-prod1.pnet.ch:7000/mobile https://usu-vm-prod1.pnet.ch:7000/mobile]&lt;br /&gt;
&lt;br /&gt;
[https://usu-vm-prod2.pnet.ch:7000/mobile https://usu-vm-prod2.pnet.ch:7000/mobile]&lt;br /&gt;
&lt;br /&gt;
[https://valuemation-test.post.ch/mobile https://valuemation-test.post.ch/mobile]&lt;br /&gt;
&lt;br /&gt;
[https://valuemation-test.post.ch/vm/vmweb https://valuemation-test.post.ch/vm/vmweb]&lt;br /&gt;
&lt;br /&gt;
[http://usu-vm-test1.pnet.ch:7000/mobile http://usu-vm-test1.pnet.ch:7000/mobile]&lt;br /&gt;
&lt;br /&gt;
[http://usu-vm-test2.pnet.ch:7000/mobile http://usu-vm-test2.pnet.ch:7000/mobile]&lt;br /&gt;
&lt;br /&gt;
[http://usu-vm-test1.pnet.ch:7000/vm/vmweb http://usu-vm-test1.pnet.ch:7000/vm/vmweb]&lt;br /&gt;
&lt;br /&gt;
[http://usu-vm-test2.pnet.ch:7000/vm/vmweb http://usu-vm-test2.pnet.ch:7000/vm/vmweb]&lt;br /&gt;
&lt;br /&gt;
[https://valuemation.post.ch/knowledgecenter https://valuemation.post.ch/knowledgecenter]&lt;br /&gt;
&lt;br /&gt;
[https://valuemation.post.ch/siweb https://valuemation.post.ch/siweb]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Learn Links ==&lt;br /&gt;
&lt;br /&gt;
[https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_Arbeiten_mit_JOIN SQL Arbeiten mit Join]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/questions/7391370/is-it-linq-or-lambda:Linq Lambda Query Syntax Method Syntax]&lt;br /&gt;
&lt;br /&gt;
[https://msdn.microsoft.com/en-us/library/gg509017.aspx:Linq query examples (MSDN)]&lt;br /&gt;
&lt;br /&gt;
[http://ayende.com/blog/1890/nhibernate-cascades-the-different-between-all-all-delete-orphans-and-save-update NHibernate Cascades]&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M249_Zusammenfassung&amp;diff=147</id>
		<title>Informatiker FA M249 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M249_Zusammenfassung&amp;diff=147"/>
		<updated>2019-08-01T13:22:11Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;= IT-Teilprojekt initialisieren =  Damit Projekte und Teilprojekte innerhalb des geplanten Zeit- Und Kostenrahmens erfolgreich abgeschlossen werden können, gewinnt die gutgeh...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IT-Teilprojekt initialisieren =&lt;br /&gt;
&lt;br /&gt;
Damit Projekte und Teilprojekte innerhalb des geplanten Zeit- Und Kostenrahmens erfolgreich abgeschlossen werden können, gewinnt die gutgeheissen stark an Bedeutung. Eine systematische Initialisierung bringt folgende Vorteile:&lt;br /&gt;
&lt;br /&gt;
*Zwischen Auftraggeber, PL und TPL werden eindeutige Projektziele vereinbart.&lt;br /&gt;
*Der Projektauftrag wird von PL bzw. TPL überprüft und einvernehmlich gutgeheissen.&lt;br /&gt;
*Die wichtigsten Risiken und Gegenmassnahmen sind bekannt.&lt;br /&gt;
*Dies ausgewählten PL bzw. TPL verfügen über eine hohe Methoden- und Sozialkompetenz.&lt;br /&gt;
*Das Projekt wird sinnvoll strukturiert.&lt;br /&gt;
*Es wird die Basis für eine gezielte Planung, Steuerung, Kontrolle und Kommunikation des Projektes geschaffen.&lt;br /&gt;
&lt;br /&gt;
Die Tätigkeiten bei der Initialisierung eines Teilprojektes lassen sich wie folgt zusammenfassen:&lt;br /&gt;
*Auftrag/Ziele definieren.&lt;br /&gt;
*Teilprojekt strukturieren&lt;br /&gt;
*Teilprojektorganisation aufbauen&lt;br /&gt;
*Teilprojektplanung erstellen&lt;br /&gt;
&lt;br /&gt;
Für die Führung und Steuerung des Projektes sind v.a. die Ziele von fundamentaler Bedeutung. Eine systematische Zieldefinition umfasst folgende Schritte:&lt;br /&gt;
*Ziele erheben&lt;br /&gt;
**Ist-Situation analysieren&lt;br /&gt;
**Bedürfnisse der künftigen Benutzer ermitteln&lt;br /&gt;
**Vorstellungen der betroffenen Fachabteilungen einholen&lt;br /&gt;
**Unternehmensstrategie und -ziele berücksichtigen&lt;br /&gt;
**IT-Strategie bzw. Informatikleitbild einbeziehen&lt;br /&gt;
**Projektziele und Ziele der anderen Teilprojekte einfordern.&lt;br /&gt;
**Anforderungen des QS-Managements aufnehmen&lt;br /&gt;
**Gesetzliche Anforderungen beachten&lt;br /&gt;
**Verträge konsultieren&lt;br /&gt;
*Ziele formulieren. Die mit oben aufgeführten Tätigkeiten erhobenen Ansprüche müssen nun in eindeutige Ziele umformuliert und schriftlich festgehalten werden.&lt;br /&gt;
*Ziele analysieren&lt;br /&gt;
**handelt es sich um echte Ziele?&lt;br /&gt;
**beziehen sich die Ziele wirklich auf das Projekt?&lt;br /&gt;
**liegen redundante Ziele vor?&lt;br /&gt;
**handelt es sich um Muss-, Soll- oder Kann-Ziele?&lt;br /&gt;
**Liegen Zielkonflikte vor?&lt;br /&gt;
*Ziele klassifizieren&lt;br /&gt;
**Systemziele beziehen sich auf die erwartet Lösung und diene gleichzeitig als Kriterium bei der Beurteilung von Lösungsvorschlägen. In der Praxis werden Systemziele in wirtschaftliche, funktionelle und soziale  Ziele untergliedert.&lt;br /&gt;
**Vorgehensziele&lt;br /&gt;
*Ziele operationalisieren. Dabei werden Ziele so formuliert, dass bekannt ist anhand welchen Massstabes die Zielerreichung beurteilt wird. Als Massstab können quantitative und/oder qualitative Kriterien herangezogen werden.&lt;br /&gt;
*Zieldefinition dokumentieren. Die Dokumentation der Zieldefinition hat den Vorteil, das die Entstehungsgeschichte der Ziele schriftliche festgehalten wird und diese somit nachvollzogen werden können. Der Prozess der Zieldefinition kann mit folgern Struktur festgehalten werden:&lt;br /&gt;
**Auftrag&lt;br /&gt;
**Projektziele&lt;br /&gt;
**Ansprüche aller Interessengruppen&lt;br /&gt;
**Zielanalyse&lt;br /&gt;
**Zielstruktur&lt;br /&gt;
*Ziele kommunizieren (zuerst beim Projektstart, danach immer wieder)&lt;br /&gt;
&lt;br /&gt;
Je nach Auftrag kommen verschiedene Vorgehensmodell zum Einsatz. Anhand des Vorgehensmodell werden Projekte strukturiert. Für jede Phase werden die Tätigkeiten festgelegt um die gewünschten Ergebnisse zu erreichen. Betreffend Detaillierungsgrad gilt: Wenn die Aufgaben der untersten Gliederungsebene den am Projekt beteiligten Mitarbeitern als Arbeitsaufträge zugeordnet werden können, ist eine angemessene Strukturierungstiefe erreicht.&lt;br /&gt;
&lt;br /&gt;
Die Strukturierung eines IT-Teilprojektes kann nach folgenden Prinzipien erfolgen:&lt;br /&gt;
*Für die Gliederung nach Objekten kommen alle Objekte in Frage die im Rahmen des Projektes &amp;quot;bearbeitet&amp;quot; werden müssen.&lt;br /&gt;
*Für die Gliederung nach Funktionen kommen alle Tätigkeiten in Frage die im Rahmen des Projektes verrichtet werden müssen.&lt;br /&gt;
*Für die Gliederung nach Projektphasen kommen alle Phasen des Vorgehensmodell in Frage die im Rahmen des Teilprojektes durchlaufen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Aufgaben bzw. Strukturelement müssen systematisch bezeichnet werden um sie jederzeit in der Strukturhierarchie identifizieren zu können.&lt;br /&gt;
&lt;br /&gt;
Im nächsten schritt werden die nummerierten  Aufgaben bzw. Strukturelemente des Projektes beschrieben:&lt;br /&gt;
&lt;br /&gt;
*Allgemeine Informationen: Eindeutige Bezeichnung des Projektes und des Arbeitspakete, Titel des Arbeitspakets, verantwortliche Person, TPL als Auftraggeber, Start des AP, Ende des AP.&lt;br /&gt;
*Ziele, Leistungsziele, Qualitätsziele&lt;br /&gt;
*Ergebnisse: Beschreibung, Quantität, Qualität, Form der Ergebnisse&lt;br /&gt;
*Schnittstellen: zu anderen AP im TP, Schnittstellen zu anderen AP in anderen TP&lt;br /&gt;
*Voraussetzungen: finanzielle  Ressourcen, zu beachtende Dokumente, weitere Rahmenbedingungen&lt;br /&gt;
*Kontrolle: Gesamtaufwand für AP, Gesamtkosten für AP, Termineinhaltung durch den Verantwortlichen, qualitative und quantitative Leistung durch den verantwortlichen&lt;br /&gt;
*Anhang: Dokumente, Planung&lt;br /&gt;
&lt;br /&gt;
Nach der Erstellung der Teilprojektstruktur, kann der TPL die daraus abgeleiteten Aufgaben zu Stellen bündeln. Dabei dokumentiert er jede Stelle mit den zugewiesenen Aufgaben, Kompetenzen und Verantwortungen und beschreibt sie nach den Inhalten einer Stellenbeschreibung.&lt;br /&gt;
Für die Aufgabenbündelung und Stellenbeschreibung können die aktuellen Berufsbilder der Informatik herbeigezogen werden.  (für interne oder externe Rekrutierung). Wenn der TPL weisse welche Stellen benötigt werden kann der die Projektorganisation aufbauen. Die Form wird beeinflusst durch die Organisationsform der Gesamtprojektes anderseits durch die Vor- und Nachteile der möglichen Organisationsformen:&lt;br /&gt;
*Reine Projektorganisation&lt;br /&gt;
*Matrix-Projektorganisation&lt;br /&gt;
*Stabs-Projektorganisation&lt;br /&gt;
&lt;br /&gt;
In einem weiteren Schritt wird das Projektinformationssystem (PIS) entworfen. Dabei werden die Projektbeteiligten und Projektbetroffenen ermittelt. Dann werden geeignete Kommunikationsformen definiert und schliesslich ein konsistenten Berichtswesen konzipiert.&lt;br /&gt;
&lt;br /&gt;
Schliesslich wird abgeklärt welche Sachmittel für die Auftragserfüllung erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
= IT-Teilprojekte planen =&lt;br /&gt;
&lt;br /&gt;
Die Teilprojektplanung soll den Ablauf des TP und die Abhängigkeiten der einzelnen Vorgänge sowie gegenüber den anderen TP transparent machen. Auf diese Weise sollen mögliche Termin- und Personalengpässe und Konflikte mit anderen TP aufgedeckt werden.&lt;br /&gt;
Nach der Initialisierung und vor dem Start eines TP wird eine Basisplanung erstelle welche alle Vorgänge vom Anfang bis zum Ende des TP berücksichtigt. danach soll eine laufende Planung sicherstellen, dass auf Planabweichungen sofort reagiert werden kann (Feststellung durch laufende Fortschrittskontrollen)&lt;br /&gt;
&lt;br /&gt;
Der Planungsprozess eines TP setzt sich auf folgenden Schritten und Ergebnissen zusammen:&lt;br /&gt;
*Strukturplanung / Strukturplan&lt;br /&gt;
*Ablaufplanung / Ablaufplan&lt;br /&gt;
*Terminplanung / Terminplan&lt;br /&gt;
*Einsatzmittelplanung / Einsatzmittelplan&lt;br /&gt;
*Kostenplanung / Kostenplan&lt;br /&gt;
*Kommunikationsplanung / Kommunikationsplan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ziel der Ablaufplanung ist es die Reihenfolge der Vorgänge eines TP sowie ihre Abhängigkeiten zu anderen Vorgängen zu ermitteln. Das Ergebnis der Ablaufplanung, der Ablaufplan, ist seinerseits die Basis für die Terminplanung. Das Zier der Terminplanung besteht darin, die Start- und Endtermine jedes einzelnen Vorganges so wie des gesamten TP zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
Voraussetzung für eine möglichst realistische Terminplanung ist eine sorgfältige Schätzung der Vorgangsdauer. Zu diesem Zweck stehen dem TPL verschieden Schätzverfahren zur Verfügung. Einige davon sind speziell für Softwareentwicklungsprojekte geschaffen worden.&lt;br /&gt;
&lt;br /&gt;
Um die Ablauf- und Terminplanung übersichtlich darzustellen, haben sich in der Praxis die Netzplantechnik und das Balkendiagramm als geeignet erwiesen. Das Balkendiagramm, inklusive Fortschrittsinformation wird sehr oft auch für die Kommunikation gegenüber Kontrollgremien verwendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Definition Netzplan aus Wikipedia:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Die Netzplantechnik verwendet Netzpläne, welche temporale und finale Verkettung von Aktionen beschreiben. Sie findet ihre Anwendung insbesondere in der Terminplanung von Projekten. Eine Netzplanung wendet Konzepte der Graphentheorie an. Meist besteht der Netzplan aus einer planaren Grafik mit Knoten und Kanten als Elementen. Die Kanten sind beim Netzplan gerichtet und nicht zyklisch. Es gibt die beiden grundsätzlichen und dualen Varianten&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Einhaltung des Terminplanes hängt stark von der richtigen Wahl der Einsatzmittel ab. Die Einsatzmittelplanung setzt sich aus folgenden Schritten und Ergebnissen zusammen:&lt;br /&gt;
*Bedarf ermitteln: Bedarfsübersicht, Stellenbeschreibung, Pflichtenhefte&lt;br /&gt;
*Einsatzmittel evaluieren: Verfügbarkeitsübersicht&lt;br /&gt;
*Einsatzmittelplan erstellen: Vorgangsliste mit Einsatzmitteln, Personaleinsatzplan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Bedarfsermittlung wird mittels Arbeitspaketanalyse festgestellt, welche Ressourcen aufgrund der bisherigen Planung (Strukturplanung, Ablauf- und Terminplanung) für das TP benötigt werden. Hierzu wird ermitteln welche Aktivitäten jedes Arbeitspaket umfasst und welche Ergebnisse jedes Arbeitspaket liefern muss. Als Ergebnis werden die erforderlichen Einsatzmittel im Rahmen einer Bedarfsübersicht festgehalten. Besonders bei grösseren TP empfiehlt es sich im Anschluss an die Bedarfsermittlungen Stellenbeschreibungen für die erforderlichen Personalressourcen sowie Pflichtenhefte für die benötigten Sachmittel zu erstellen. Dies erleichtert die Evaluation der Einsatzmittel.&lt;br /&gt;
&lt;br /&gt;
Die Evaluation der Einsatzmittel kann in folgende Aufgaben unterteilt werden:&lt;br /&gt;
*Geeignete Mitarbeiter rekrutieren (intern und/oder extern)&lt;br /&gt;
*Geeignete Sachmittel auswählen&lt;br /&gt;
*Verfügbarkeitsübersicht erstellen&lt;br /&gt;
&lt;br /&gt;
Im Einsatzmittelplan wird festgehalten was wo und zu welchem Zeitpunkt des TP eingesetzt wird (gemäss Kapazitätsgruppen aus Bedarfsübersicht). Die Erstellung des Einsatzmittelplan wird wie folgt gegliedert:&lt;br /&gt;
*Personal und Sachmittel den Arbeitspaketen zuordnen. Ergebnis = Vorgangsliste mit den zugeordneten Einsatzmitteln&lt;br /&gt;
*Personaleinsatzplan erstellen. Ergebnis: Ressourcen-Belastungsdiagramm&lt;br /&gt;
&lt;br /&gt;
Die Verantwortung und Kompetenz bezügliche Kostenplanung liegt beim PL. Trotzdem kann er bestimmte Aufgaben der Kostenplanung an den TPL delegieren. Oft hat hat dieser die Aufgabe die Kosten seines TP zu berechnen und die tatsächlich angefallenen Kosten zu rapportieren.&lt;br /&gt;
&lt;br /&gt;
Die wichtigste Voraussetzung für eine realistische Kostenplanung ist eine sorgfältig durchgeführte Termin- und Einsatzmittelplanung. Der ermittelte Bedarf an Personal- und Sachmitteln aus der Einsatzmittelplanung kann für die Ermittlung der &#039;&#039;&#039;direkten Kosten&#039;&#039;&#039; herangezogen werden, wobei die Einsatzmittelarten als Kostenarten betrachtet werden. Können Kosten keinen bestimmten Arbeitspakete zugeordnet werden spricht man von &#039;&#039;&#039;indirekten Kosten&#039;&#039;&#039; (Gemeinkosten).&lt;br /&gt;
&lt;br /&gt;
Die Vorgehensweise bei der Kostenplanung ist analog zur Einsatzmittelplanung:&lt;br /&gt;
*&#039;&#039;&#039;Kosten ermitteln&#039;&#039;&#039;: Zu diesen Zweck wird die bestehende Vorgangsliste aus der Einsatzmittelplanung verwendet und die benötigten Einsatzmittel durch die voraussichtlichen Kosten ersetzt. Die Kosten pro Arbeitspaket werden i.d.R. anhand des geplanten Mengengerüstes berechnet. Dazu wird die geplante Menge mit dem Preis pro Einheit multipliziert und dem entsprechenden Arbeitspaket zugeordnet.&lt;br /&gt;
*&#039;&#039;&#039;Kostenplan erstellen&#039;&#039;&#039;: Nachdem die direkten und indirekten Kosten aller Arbeitspakete ermittelt und festgehalten wurden, müssen diese im Kostenplan nach Kostenart und Zeitperiode gegliedert zusammengefasst werden. Je nach TP bzw. nach Bedürfnis des PL können hierbei unterschiedliche Kostenarten und Zeitperioden differenziert werden. Die direkten Kosten werden über alle Arbeitspakete hinweg summiert und in den Kostenplan übertragen. Anschliessen werden die Gemeinkosten hinzuaddiert. Der fertige Kostenplan wird dem PL übergeben.&lt;br /&gt;
&lt;br /&gt;
Vorgehen bei der Kommunikationsplanung:&lt;br /&gt;
*Informationsbedürfnis ermitteln (Wer ist an welchen Informationen interessiert? Welche Informationen sollen/dürfen diesen Personen gegeben werden? Deshalb: Aufbauen einer Tabelle welche zeigt welche Gruppe welche Infos erhält)&lt;br /&gt;
*Kommunikationsmassnahmen festlegen&lt;br /&gt;
*Berichtswesen für das Teilprojekt aufbauen&lt;br /&gt;
&lt;br /&gt;
Festzulegen:&lt;br /&gt;
*was wird mündlich kommuniziert?&lt;br /&gt;
*was wird schriftliche kommuniziert?&lt;br /&gt;
*was ausserhalb des TP?&lt;br /&gt;
*was innerhalb des TP?&lt;br /&gt;
&lt;br /&gt;
In einem ideal funktionierenden Berichtswesen gelangen die gewünschten Informationen zum richtigen Zeitpunkt am richtigen Ort an und werden stufengerecht weiterverteilt.&lt;br /&gt;
&lt;br /&gt;
Aufbau des internen Berichtswesen:&lt;br /&gt;
*Wies sieht das PIS für das Gesamtprojekt aus?&lt;br /&gt;
*Welche Aufgaben muss der TPL im Rahmen des PIS übernehmen?&lt;br /&gt;
*in welchem Intervall müssen welche Informationen an wen weitergegeben werden?&lt;br /&gt;
&lt;br /&gt;
Grundsätze für ein PIS:&lt;br /&gt;
*Empfänger (Zielgruppen) berücksichtigen&lt;br /&gt;
*Zeitpunkt abstimmen&lt;br /&gt;
*Inhalt der Berichte festlegen&lt;br /&gt;
*Form der Berichte festlegen&lt;br /&gt;
&lt;br /&gt;
Folgende Dokumente sind bei der Ausgestaltung eines internen Berichtswesens hilfreich bzw. notwendig:&lt;br /&gt;
*Projektdokumente&lt;br /&gt;
*Systemdokumente (können sowohl die zu entwickelnde Lösung als auch das fertige Projektergebnis beschreiben)&lt;br /&gt;
&lt;br /&gt;
= Umgang mit Risiken, Qualitäts- und Änderungsanforderungen =&lt;br /&gt;
&lt;br /&gt;
*Es ist wichtig die Risiken zu identifizieren und Gegenmassnahmen vorzusehen. Mit Risiken sind Verlustgefahren gemeint (z.B. betriebliche Störungen, Fehlinvestitionen, Zahlungsunfähigkeit der Kunden, Absatzschwierigkeiten).&lt;br /&gt;
*Teilprojektrisiken sind Verlustgefahren die mit einem bestimmten Teilprojekt verbunden sind.&lt;br /&gt;
*Die Risiken zu erkennen, zu bewerten und zu bewältigen ist Aufgabe des Teilprojekt-Risikomanagements.&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;Teilprojekt-Risikomanagements&#039;&#039;&#039; ist ein fortlaufender Prozess der folgende Tätigkeiten umfasst:&lt;br /&gt;
&lt;br /&gt;
*Risikoanalyse&lt;br /&gt;
*Risikovorsorge&lt;br /&gt;
*Risikobewältigung&lt;br /&gt;
*Risikoüberwachung&lt;br /&gt;
*Massnahmenüberwachung&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Planung und Initialisierung eines IT-Teilprojektes setzt sich der der TPL mit den Prozessen Risikoanalyse und Risikovorsorge auseinander. An der Risikoanalyse sollten möglichst viele am Projket mitarbeitende Personen mitarbeiten. Dies erzeugt von Anfang an ein hohes Risikobewusstsein. Auf keinen Fall sollte der TPL die Analyse alleine vornehmen. Nach Möglichkeit sollten folgende Personen beteiligt sein:&lt;br /&gt;
&lt;br /&gt;
*PL&lt;br /&gt;
*TPL&lt;br /&gt;
*andere direkt betroffenen TPL&lt;br /&gt;
*Projektbetroffene oder beteiligte mit Erfahrung in der Risikoanalyse&lt;br /&gt;
*Querdenker&lt;br /&gt;
&lt;br /&gt;
Die Risikoanalyse kann im Rahmen eines Workshop durchgeführt werden. Das Ergebnis ist eine teilprojektspezifische Risikotabelle der Projektrisiken.&lt;br /&gt;
&lt;br /&gt;
Für die Risikoidentifikation eignen sich folgende Techniken:&lt;br /&gt;
*anhand Risikokategorien identifizieren.&lt;br /&gt;
*anhand CL identifizieren.&lt;br /&gt;
*anhand kritischer Erfolgsfaktoren (KEF) identifizieren.&lt;br /&gt;
*anhand externer Einflussgrössen identifizieren.&lt;br /&gt;
*anhand des Ablaufplanes für das TP identifizieren.&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M197_Zusammenfassung&amp;diff=146</id>
		<title>Informatiker FA M197 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M197_Zusammenfassung&amp;diff=146"/>
		<updated>2019-08-01T13:21:40Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;= Einführung in das Konfigurationsmanagement = *Stellt sicher, dass die Informationen über die Konfiguration von Hard- und Software aktuell und korrekt sind.  *Dazu werden v...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einführung in das Konfigurationsmanagement =&lt;br /&gt;
*Stellt sicher, dass die Informationen über die Konfiguration von Hard- und Software aktuell und korrekt sind. &lt;br /&gt;
*Dazu werden verschiedene Methoden und Tools eingesetzt&lt;br /&gt;
*Hat eine zentrale Bedeutung für die Bereitstellung von Informationen für Service-Management-Prozesse&lt;br /&gt;
*Ziel und Nutzen liegen darin die Verfügbarkeit der Systeme zu gewährleisten indem Änderungen bewusst geplant und nachvollziehbar durchgeführt werden.&lt;br /&gt;
*Bei einem Fehlverhalten nach der Änderung kann der alte Zustand wiederhergestellt werden.&lt;br /&gt;
*Man weiss jederzeit woraus die IT-Systeme bestehen und welche Hard- und Software im Einsatz ist.&lt;br /&gt;
*Konfigurationsmanagement ist Teil der operationellen Ebene des IT-Service-Managements nach ITIL (IT Infrastructure Library)&lt;br /&gt;
&lt;br /&gt;
Es bestehen Schnittstellen zu den folgenden Services:&lt;br /&gt;
*Changemanagement&lt;br /&gt;
*Störungsmanagement&lt;br /&gt;
*Problemmanagement&lt;br /&gt;
*Softwarekonrolle und -verteilung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wichtige Elemente und Aspekte des Konfigurationsmanagement =&lt;br /&gt;
&lt;br /&gt;
*zentrales Element sind die &#039;&#039;&#039;Konfigurationseinheiten&#039;&#039;&#039; (kleinste auswechselbare Einheit einer Konfiguration)&lt;br /&gt;
*Die Konfigurationseinheiten lassen sich in folgende Typen unterteilen&lt;br /&gt;
**Hardware (z.B. Harddisk)&lt;br /&gt;
**Software (z.B. Datei)&lt;br /&gt;
**Dokumentation (z.B. einzelnes Dokument)&lt;br /&gt;
&lt;br /&gt;
Je nach Anforderung des Unternehmens werden mehr oder weniger detaillierter Informationen erhoben. Bei der Software unterscheidet man zudem zwischen Varianten und Versionen.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Versionen&#039;&#039;&#039; haben unterschiedliche Funktionen. &lt;br /&gt;
*&#039;&#039;&#039;Varianten&#039;&#039;&#039; haben die gleichen Funktionen, laufen aber z.B. auf einem anderen OS (Windows, Unix)&lt;br /&gt;
&lt;br /&gt;
Zu den einzelnen Konfigurationseinheiten werden verschiedene &#039;&#039;&#039;Attribute&#039;&#039;&#039; erfasst damit diese genau identifiziert werden können. Eines dieser Attribute ist der &#039;&#039;&#039;Status&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Die Informationen zu den einzelnen Konfigurationseinheiten  werden in der Konfigurationsmanagement-Datenbank (CMDB) abgelegt. Bei Software und Dokumentation können zudem die Konfigurationseinheiten  selber in der DB abgelegt werden. Im Falle der Software spricht man dabei von der Definitive Software Library (DSL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hauptaufgabe&#039;&#039;&#039; des Konfigurationsmanagements ist die &#039;&#039;&#039;Kontrolle über die einzelnen Konfigurationseinheiten&#039;&#039;&#039;  und deren Status. Darüber hinaus unterstützt es das &#039;&#039;&#039;Changemanagement&#039;&#039;&#039; und die Softwareentwicklung.&lt;br /&gt;
&lt;br /&gt;
Die Verantwortung des Konfigurationsmanagements  liegt vor allem beim &#039;&#039;&#039;Konfigurationsmanager&#039;&#039;&#039;. Dieser stellt den Konfigurationsmanagement-Prozess sicher. Eine weitere wichtige Funktion hat der Change-Manager. Er muss dafür sorgen, dass bei Änderungen die &#039;&#039;&#039;Konfigurationsdatenbank&#039;&#039;&#039; aktualisiert wird.&lt;br /&gt;
&lt;br /&gt;
Der Konfigurationsmanagement-Prozess besteht aus folgenden Funktionen&lt;br /&gt;
*Identifikation der Konfigurationseinheiten&lt;br /&gt;
*Kontrolle der Integrität der Konfigurationseinheiten&lt;br /&gt;
*Überwachung des Status der Konfigurationseinheiten&lt;br /&gt;
*Plausibilisierung der Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationsmanagement und Change Management =&lt;br /&gt;
&lt;br /&gt;
Das Ziel des Change-Management-Prozess ist die wirtschaftliche und termingerechte Durchführung von Änderungen. Dabei sollen möglichst keine Risiken eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nutzen&#039;&#039;&#039;:&lt;br /&gt;
*kontrollierte Änderungen und somit weniger durch Änderungen verursachte Qualitätseinbussen&lt;br /&gt;
*frühzeitige Risikoerkennung&lt;br /&gt;
*weniger fehlerhafte Änderungen&lt;br /&gt;
*wertvolle Managementinformationen über geplante und durchgeführte Änderungen und deren Wirkung.&lt;br /&gt;
*stabilere Anwendungen und dadurch höhere Anwenderproduktivität&lt;br /&gt;
*bessere Produktivität der Informatik-Spezialisten&lt;br /&gt;
*besseres Überstehen von Zeiten mit hohem Aufkommen von Änderungen&lt;br /&gt;
*Sicherstellung, dass bei Problemen der ursprüngliche Zustand wiederhergestellt werden kann.&lt;br /&gt;
&lt;br /&gt;
Bevor eine Änderung durchgeführt wird, muss der Änderungsantrag registriert und geprüft werden. Danach werden die Auswirkungen auf andere Konfigurationseinheiten und Services analysiert sowie die Dringlichkeit festgesetzt. Erst wenn die Auswirkungen bekannt sind, kann die Änderung freigegeben werden.&lt;br /&gt;
Im Change Management wird auch noch überwacht, ob die Änderung korrekt durchgeführt und ob das erwartete Resultat erreicht wurde. Sonst Rollback.&lt;br /&gt;
&lt;br /&gt;
= Konfigurationsmanagement planen =&lt;br /&gt;
*Vor der Einführung muss man sich über die Anforderungen und Erwartungen im Klaren sein.&lt;br /&gt;
*Weil es sich meistens um ein Infrastrukturprojekt von grösserer Bedeutung handelt, muss unbedingt systematisch vorgegangen werden.&lt;br /&gt;
*Es gilt das Konfigurationsmanagement in die bestehende Infrastruktur einzubinden und gleichzeitig offen für zukünftige Erweiterungen/Anpassungen zu sein.&lt;br /&gt;
*bedingt ein phasenweises, strukturiertes Vorgehen&lt;br /&gt;
&lt;br /&gt;
Da es eine Vielzahl von professionellen Lösungen gibt, dürfte eine Eigenentwicklung nicht in Frage kommen. Die meisten Konfigurationsmanagement-Projekte sind deshalb Evaluationsprojekte.&lt;br /&gt;
*Pflichtenheft erstellen&lt;br /&gt;
*Anhand Nutzwertanalyse werden Anbieter und deren Produkte verglichen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationsmanagement implementieren =&lt;br /&gt;
&lt;br /&gt;
*Das Anlegen der Konfigurationsmanagement-Datenbank und der Definitive Software Library (DSL) sind die aufwändigsten Arbeiten.&lt;br /&gt;
*Ohne Toolunterstützung ist dies in einer grossen Umgebung nicht zu schaffen.&lt;br /&gt;
*Die automatisch erfassten Daten müssen jedoch meistens noch überarbeitet werden.&lt;br /&gt;
*Die Arbeitsprozesse müssen umgestellt werden (Neue Weisungen erlassen)&lt;br /&gt;
*Ausbildung der Mitarbeiter&lt;br /&gt;
&lt;br /&gt;
Nach erfolgter Implementation muss geprüft werden ob die Ziele des Konfigurationsmanagements erreicht werden. Dazu sollten folgende Informationen vorliegen:&lt;br /&gt;
&lt;br /&gt;
*Anzahl Fehlern in der CMDB durch ein fehlerhaftes Konfigurationsmanagement&lt;br /&gt;
*Aktualität des Systems&lt;br /&gt;
*Anzahl der nicht registrierten Konfigurationseinheiten.&lt;br /&gt;
*Service-level-Abweichungen durch fehlerhaftes Konfigurationsmanagement&lt;br /&gt;
*Anzahl der Fehler und Störungen die Einfluss auf das Konfigurationsmanagement haben.&lt;br /&gt;
*Anzahl der Softwarefehler die durch ein fehlerhaftes Konfigurationsmanagement verursacht werden.&lt;br /&gt;
*Anzahl der durch das Konfigurationsmanagment verursachten Engpässe und Verzögerungen&lt;br /&gt;
*Inhalt und Regelmässigkeit der Berichterstattung&lt;br /&gt;
*Potenzial der CMDB für Trendanalysen&lt;br /&gt;
*Qualität der Zukunftsstrategie des Konfigurationsmanagement&lt;br /&gt;
&lt;br /&gt;
Ziel ist die ständige Verbesserung des Konfigurationsmanagements. Hierzu sollten Vorschläge gemacht und Verbesserungsmassnahmen eingeleitet werden.&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M168_Zusammenfassung&amp;diff=145</id>
		<title>Informatiker FA M168 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M168_Zusammenfassung&amp;diff=145"/>
		<updated>2019-08-01T13:21:08Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;== Einleitung ==  Ein Unternehmen kann ab einer bestimmten Grösse nicht ohne organisatorische Regelungen funktionieren. Es ist Aufgabe des &amp;#039;&amp;#039;&amp;#039;Organisators&amp;#039;&amp;#039;&amp;#039; solche Regelunge...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Ein Unternehmen kann ab einer bestimmten Grösse nicht ohne organisatorische Regelungen funktionieren. Es ist Aufgabe des &#039;&#039;&#039;Organisators&#039;&#039;&#039; solche Regelungen zu schaffen und das Unternehmen zu gestalten. Dazu stehen ihm bewährte &#039;&#039;&#039;Methoden&#039;&#039;&#039; und &#039;&#039;&#039;Techniken&#039;&#039;&#039; zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Organisation eines Unternehmen lässt sich durch wenige Aspekte beschreiben und bildlich darstellen (Organisationswürfel)&lt;br /&gt;
&lt;br /&gt;
[[Image:Organisationswürfel.jpg|Organisationswürfel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1 Grundlagen der Organisation ==&lt;br /&gt;
&lt;br /&gt;
Organisation ist immer mit der Einführung von organisatorischen regelungen verbunden. Dabei sind die Vor- und Nachteile der Regelungen gegeneinander abzuwägen. Damit das Unternehmen sowohl stabil funktioniert als auch flexibel agieren kann, ist der richtige &#039;&#039;&#039;Organisationsgrad&#039;&#039;&#039; zu wählen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1.1 Organisatorische Regelung ===&lt;br /&gt;
&lt;br /&gt;
Es braucht eine übersichtliche Organisationsstruktur(Aufbauorganisation) und eine sinnvolle Planung der Arbeitsabläufe (Ablauforganisation).&lt;br /&gt;
&lt;br /&gt;
Aufgaben des Organisators:&lt;br /&gt;
*Organisationsprobleme analysieren und lösen&lt;br /&gt;
*Organisationsstruktur analysieren bzw. entwerfen&lt;br /&gt;
*Im Rahmen des Organisationsprojektes Verantwortliche festlegen&lt;br /&gt;
*Geeigne Techniken und Werkzeuge einsetzen&lt;br /&gt;
*Betroffene Menschen an der Problemlösung beteiligen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Organisatorische Regelungen haben folgende Vor- und Nachteile&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Vorteile !! Nachteile&lt;br /&gt;
|-&lt;br /&gt;
| Grössere Stabilität || verringerte Flexibilität&lt;br /&gt;
|-&lt;br /&gt;
| Erhöhung der Transparenz || Gleichbehandlung von Sonderfällen &lt;br /&gt;
|-&lt;br /&gt;
| Eindeutigkeit der Zuständigkeiten || Gefahr von Dienst nach Vorschrift&lt;br /&gt;
|-&lt;br /&gt;
| Verbesserte Koordination ||  Verlust an Motivation&lt;br /&gt;
|-&lt;br /&gt;
| Verringerung personeller Abhängigkeiten ||  Bürokratie&lt;br /&gt;
|-&lt;br /&gt;
| Verringerung des Planungsaufwands ||  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1.2 Ausprägungsformen einer Organisation ===&lt;br /&gt;
&lt;br /&gt;
je nach Unternehmensgrösse und Unternehmenszweck ist die Organisation verschieden ausgeprägt.&lt;br /&gt;
&lt;br /&gt;
*Organisationsgrad hoch:organisiert. Viele stark verankerte Regelungen sind vorhanden und werden täglich angewendet. Neben den vielen Vorteilen gibt es folgende Nachteil: kann weniger flexibel auf Änderungen reagieren. Beiepiel für Unternehmen mit hohem Organisationsgrad: Verwaltungen, Banken, Versicherungen.&lt;br /&gt;
*Organisationsgrad mittel: improvisiert. Regelungen mit vorläufigem oder zeitlich befristeten Charakter werden als Improvisation bezeichnet. Solche Lösungen sind dynamisch und das Unternehmen hat einen grossen Spielraum für Ad-hoc-Entscheidungen. Beispiel für solche Unternehmen: KMU.&lt;br /&gt;
*Organisationsgrad tief: dispositiv. Eine Disposition beinhaltet Regelungen für den Einzelfall. Die einzelnen Personen haben mehr Handlungsspielraum. Die Ausgestaltung eines Arbeitsschrittes ist teilweise dem Mitarbeiter überlassen (sein Dispositionsspielraum). Beispiele für solche Unternehmen: Einzelfirmen, Startups.&lt;br /&gt;
&lt;br /&gt;
Formale und informale Organisation&lt;br /&gt;
&lt;br /&gt;
*Formale Beziehungen sind solche die durch offizielle Regelungen festgelegt worden und dokumentiert sind.&lt;br /&gt;
*Informale Beziehungen entwickeln sich von selbst und sind Teil der Unternehmenskultur. Sie bleiben oft unausgesprochen und deneke sehr wirksam und möglicherweise höchst effizient (z.B. informale Kommunikationswege)&lt;br /&gt;
&lt;br /&gt;
Es wird angenommen, dass der Anteil der dokumentierten formalen Organisation gegenüber der informalen Organisation nur etwa einen Drittel ausmacht.&lt;br /&gt;
Wenn ein Unternehmen Konflikte lösen oder weiter entwickelt werden muss, müssen dir informalen Beziehungen aufgedeckt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2 Gestaltungsaspekte der Organisation ==&lt;br /&gt;
&lt;br /&gt;
=== 2.1 Organisationswürfel ===&lt;br /&gt;
&lt;br /&gt;
Grundlegende Elemente der Organisation sind:  Aufgaben, Aufgabenträger, Sachmittel und Informationen.&lt;br /&gt;
&lt;br /&gt;
Die Aufbauorganisation regelt Zuständigkeiten und Verantwortlichkeiten. Dies wird häufig in Form  von organigrammen dargestellt.&lt;br /&gt;
Mit der Ablauforganisation werden Abläufe bzw. Prozesse beschrieben. Für eine erfolgreiche prozessorientierte Organisationsgestaltung müssen zuerst die Abläufe definiert werden. Erst danach die Aufbauorganisation.&lt;br /&gt;
&lt;br /&gt;
[[Image:Organisationswürfel.jpg|Organisationswürfel]]&lt;br /&gt;
&lt;br /&gt;
=== 2.2 Elemente der Organisation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aufgaben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aufgaben sind die zentralen organisatorischen Elemente. Sie werden im Rahmen der Aufbauorganisation verteilt. Die Prrozesse der Aufgabenerfüllung werden im Rahmen der Ablauforganisation geregelt.&lt;br /&gt;
&lt;br /&gt;
Aufgaben lassen sich von Aufträgen wie folgt unterscheiden:&lt;br /&gt;
*Aufgaben sind dauerhaft wirksame Aufforderungen, Verrichtungen an Objekten zur Erreichung von Zielen durchzuführen.&lt;br /&gt;
*Aufträge sind einmalige Aufforderungen, Verrichtungen an Objekten zur Erreichung von Zielen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aufgabenträger&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
..sind immer Menschen. Werden durch verschiedene Faktoren bestimmt: Motivation, Denkweise, Erfahrung, Rollen, unterschiedliche Leistungsbereitschaft.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sachmittel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
..sind Instrumente die zur Erfüllung der Aufgabe eingesetzt werden. Sie entlasten den Aufgabenträger und verbessern dessen Leistung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
..werden benötigt um den Aufgabenträger bei der &#039;&#039;&#039;Aufgabenerfüllung&#039;&#039;&#039; zu unterstützen. Bei der Erfüllung von Aufgaben entstehen neue Informationen welche von anderen Aufgabenträgern benötigt werden.&lt;br /&gt;
Die &#039;&#039;&#039;Informationsstruktur&#039;&#039;&#039; stellt die Gesamtheit aller Informationen innehrlab des Unternehmens dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Informationssysteme bilden das Beziehungsgefüge zwischen Informationen, Informationsprozessen, Aufgabenträgern und Aufgaben. Sie diesen weiter zur Steuerung betrieblicher Prozesse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2.3 Dimension der Organisation ===&lt;br /&gt;
&lt;br /&gt;
Eigenschaften der Elemente:  Zeit, Raum, Menge, Art, Qualität&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menge&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...wird in einer Zahl ausgedrückt und muss sich immer auf etwas beziehen (Anzahl teile pro Tag, Anzahl Aufgaben)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zeit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
definiert Zeitpunkt, Zeitdauer oder Zeitraum&lt;br /&gt;
&lt;br /&gt;
*Start- Endzeit&lt;br /&gt;
*Eingang von Inputs oder Outputs&lt;br /&gt;
*Termine&lt;br /&gt;
*Durchlaufzeit&lt;br /&gt;
*Bearbeitungszeit&lt;br /&gt;
*Transportzeit&lt;br /&gt;
*Leigezeit&lt;br /&gt;
*Rüstzeit&lt;br /&gt;
*etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Raumbedarf messen&lt;br /&gt;
*Standorte von Sachmitteln, Arbeitsplätzen, Organisationseinheiten bestimmen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2.4 Beziehungen der Organisation ===&lt;br /&gt;
&lt;br /&gt;
[[Image:MerkmaleAufgaben.PNG]]&lt;br /&gt;
&lt;br /&gt;
Raum, Zeit und Menge = Ablauforganisation, Rest = Aufbauorganisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2.5 Organisation gestalten ===&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Aufbauorganisation werden Stellen gebildet indem Aufgaben so zusammengefasst werden, dass das Volumen von einem Aufgabenträger bewältigt werden kann. Anschliessend werden geeignete Aufgabenträger, Sachmittel und die notwendigen Informationen zugeordnet. In einem weiteren schritt werden statische Beziehungen zwischen den Stellen hergestellt.&lt;br /&gt;
&lt;br /&gt;
Die Gestaltung der Ablauforganisation richtet sich unter anderem nach folgenden Zielen:&lt;br /&gt;
&lt;br /&gt;
*Minimierung der Durchlaufzeit&lt;br /&gt;
*Maximierung der Kapazitätsauslastung&lt;br /&gt;
*Minimierung der Wegzeiten&lt;br /&gt;
*Standardisierung der Verrichtungsfolgen&lt;br /&gt;
*Minimierung der Ressourcennutzung&lt;br /&gt;
&lt;br /&gt;
== 3 Grundlagen der Prozessorganisation ==&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;neue&amp;quot; &#039;&#039;&#039;Denken in Prozessen&#039;&#039;&#039; und die &#039;&#039;&#039;Ausrichtung der Prozesse auf den Kunden&#039;&#039;&#039; ist für das Überleben entscheidend.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProzessorientiertOrganisieren.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Geschäftsprozess-Management ===&lt;br /&gt;
&lt;br /&gt;
Das Geschäftsprozess-Management  ist ein ganzheitliches Managementkonzept das eine zielgerichtete Steuerung und Optimierung der Geschäftsprozesse ermöglicht und zu einer nachhaltigen Verbesserung der Wettbewerbsposition führt.&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der &#039;&#039;&#039;Prozessentwicklung&#039;&#039;&#039; werden bestehen Abläufe erhoben und analysiert. Auf Basis dieser Ergebnisse werden die Prozesse neu gestaltet und textlich bzw. grafisch dargestellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;Prozessmodellierung&#039;&#039;&#039; ist Teil der Prozessentwicklung welche folgende Ergebnisse liefern sollte:&lt;br /&gt;
&lt;br /&gt;
*Grafische Darstellung der Prozesse&lt;br /&gt;
*Ergänzende und vertiefende textliche Prozessdokumentationen&lt;br /&gt;
*Definierte Prozesskennzahlen&lt;br /&gt;
*Definierte Prozessrollen und Prozessbeteiligte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Geschäftsprozess-Management lässt sich anhand folgender Begriffe charakterisieren:&lt;br /&gt;
&lt;br /&gt;
*Kundenorientierung&lt;br /&gt;
*Wertschöpfungsorientierung&lt;br /&gt;
*Strategieorientierung&lt;br /&gt;
*Prozessführung&lt;br /&gt;
*Leistungsorientierung&lt;br /&gt;
*Prozessverantwortung&lt;br /&gt;
*Mitarbeiterorientierung&lt;br /&gt;
*Kompetenzorientierung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Zum Begriff &amp;quot;Prozess&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedenen Definitionen welche alle mehr oder weniger das selbe bedeuten. Im Hinblick auf den Geschäftsprozess lassen sich folgende Aussagen machen:&lt;br /&gt;
&lt;br /&gt;
*Eine Menge von Aufgaben die einen festgelegten Anfang und ein festgelegtes Ende haben. Sie werden ausserdem in einer festgelegten Folge ausgeführt.&lt;br /&gt;
*Ein Geschäftsprozess beeinflusst die Wettbewerbsposition nachhaltig.&lt;br /&gt;
*Die Wertschöpfung eines Geschäftsprozess  besteht darin, Input mittels Arbeitsleistung zu Outputs mit höherem Wert umzuformen und an Prozesskunden auszuliefern&lt;br /&gt;
*An einem Geschäftsprozess können mehrere OE beteiligt sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Wichtige Begriffe um den Geschäftsprozess ===&lt;br /&gt;
&lt;br /&gt;
[[Image:WichtigeBegriffeGeschäftsprozess.jpg]]&lt;br /&gt;
&lt;br /&gt;
== 3.4 Funktions vs. prozessorientierte Organisation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Funktionsorientierte Organisation&#039;&#039;&#039;&lt;br /&gt;
*Bis vor kurzem aktuell&lt;br /&gt;
*Merkmale der Organisationsstruktur: Funktion, Produkt, Region&lt;br /&gt;
*Spezialisierung und effiziente Nutzung der Ressourcen&lt;br /&gt;
*funktional orientierte und hierarchische Organisation&lt;br /&gt;
*Bei kleinen Unternehmen kein Problem (weil überschaubar und alle kennen sich)&lt;br /&gt;
*nimmt wenige Rücksicht auf Kundenbedürfnisse&lt;br /&gt;
*Gesamtzusammenhang der betrieblichen Funktion tritt in den Hintergrund&lt;br /&gt;
*Hohe Kosten für die Koordination zwischen den Bereichen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozessorientierte Organisation&#039;&#039;&#039;&lt;br /&gt;
*Im Mittelpunkt steht die Ablauforganisation&lt;br /&gt;
*Die Ablauforganisation befasst sich mit der Aufgabendurchführung sowie der zeitlichen und räumlichen Aspekte der Aufgabendurchführung (Wer mach wa, wann, wo und womit?)&lt;br /&gt;
*Elementare Teile der Aufgabe sind Aktivitäten (Grundstein Arbeitsprozess)&lt;br /&gt;
*Eine Geschäftsprozess ist die zeitliche und logische Folge von Aktivitäten.&lt;br /&gt;
*Die Prozessziele lassen sich besser mit den Kundenzielen in Übereinstimmung bringen&lt;br /&gt;
*Marktorientierung&lt;br /&gt;
*Ergebnisorientierung&lt;br /&gt;
*Geschäftszielorientierung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ansätze einer prozessorientierten Reorganisation ==&lt;br /&gt;
&lt;br /&gt;
*Sollen bestehen Abläufe erhoben, analysiert oder dokumentiert werden?&lt;br /&gt;
*Sollen bestehende Prozesse optimiert werden?&lt;br /&gt;
*Oder sollen die Prozesse völlig neu gestaltet werden?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei grundsätzlich verschiedene prozessorientierte Reorganisationen:&lt;br /&gt;
&lt;br /&gt;
*Geschäftsprozess-Optimierung&lt;br /&gt;
*Business Process Reengineering&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Geschäftsprozess-Optimierung (GPO)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Evolutionäre, schrittweise Verbesserung von Prozessen&lt;br /&gt;
*Bestehende Abläufe sind Ausgangspunkt&lt;br /&gt;
*Bestehende Abläufe werden auf Schwachstellen untersucht und schrittweise optimiert&lt;br /&gt;
*Bestehende Stärken werden ausgebaut&lt;br /&gt;
*Der Fokus liegt auf den einzelnen Prozessen&lt;br /&gt;
*Aufbau auf bestehende Organisationsstruktur&lt;br /&gt;
*Voraussetzung:  Bestehende Prozesse&lt;br /&gt;
*geringes Risiko&lt;br /&gt;
*kann bei der Einführung einer BWL Standardsoftware durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Business Process Reengineering (BPR)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Unternehmen wird neu entworfen&lt;br /&gt;
*Auf der grünen Wiese anfangen&lt;br /&gt;
*Alle Prozesse und Organisationsstrukturen werden neu definiert&lt;br /&gt;
*Ausgangspunkt ist die Unternehmensstrategie (Geschäftsziele, Geschäftsfelder, Erfolgsfaktoren, Kernkompetenzen)&lt;br /&gt;
*Ziel: Wünsche der internen und externen Kunden effektiver und effizienter zu befriedigen&lt;br /&gt;
*&amp;quot;Structure follows process follows strategy&amp;quot; Die Strategie bestimmt die Prozesse und die Prozesse bestimmen die Organisationsstruktur&lt;br /&gt;
*Unternehmen wird neu erfunden&lt;br /&gt;
*weitere Ziele: stärkere Kundenorientierung, höhere Flexibilität, kürzere Lieferzeiten, mehr Kosteneffizienz, bessere Qualität, höhere Mitarbeiterzufriedenheit&lt;br /&gt;
*Oberstes Management muss sich beteiligen&lt;br /&gt;
*Top-down-Ansatz&lt;br /&gt;
*Gefahr, dass Betroffenen ungenügend beteiligt werden -&amp;gt; Hauptgrund für Scheitern des BPR&lt;br /&gt;
*Hoher Umsetzungsaufwand&lt;br /&gt;
*Hohes Risiko&lt;br /&gt;
*Grosses Konfliktpotenzial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3.6 Ziele der Prozessorganisation ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kundenorientierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Ein Prozess wird durch eine Kundenanforderung ausgelöst und das Ergebnis geht zurück an den Kunden.&lt;br /&gt;
*Die grundlegende Kenngrösse für die Steuerung eines Prozesses ist die Kundenzufriedenheit&lt;br /&gt;
*Die aus dem Prozess resultierende Leistung muss für den Kunden einen Wert darstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konzentration auf die Wertschöpfung&#039;&#039;&#039;&lt;br /&gt;
*jede Aktivität welche für den Kunden einen Wert darstellt dient zur Wertschöpfung (herstellen eines Teils, aber nicht Lagern eines Teils)&lt;br /&gt;
*Geschäftsprozesse die eine Wertschöpfung für den Kunden darstellen werden als &#039;&#039;&#039;primäre Prozesse&#039;&#039;&#039; bezeichnet.&lt;br /&gt;
*geschäftsprozesse die für das Unternehmen zwar notwendig sind, aber keinen Beitrag zur Wertschöpfung leisten, werden als &#039;&#039;&#039;sekundäre Prozesse&#039;&#039;&#039; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orientierung auf interne und externe Kunden&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*jeder Prozess ist Kunde des vorhergehenden und zugleich Lieferant des nachfolgenden Prozess&lt;br /&gt;
*jeder Prozess benötigt Input einer definierten Qualität um selber eine gute Leistung erbringen zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Effektivität und Effizienz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein Zeil der Prozessorganisation ist die Steigerung von Effektivität und Effizienz.&lt;br /&gt;
&lt;br /&gt;
*Definition Effektivität: Das gewünschte Ergebnis bzw. die gewünschte Wirkung wird erreicht. Effektivität bedeutet das richtige zu tun. Steht für die Aussensicht der Prozesse: Entsprechen die Leistungen den Erwartungen des Kunden.&lt;br /&gt;
*Definition Effizienz: Das gewünschte Ergebnis wird wirtschaftlich erreicht (minimaler Ressourceneinsatz). Effizienz bedeutet etwas richtig zu tun. Steht für die Innensicht des Prozesse: Werden die Prozesse mit dem kleinstmöglichen Ressourceneinsatz durchgeführt?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozesseffizienz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Traditionell wird die Effizienz durch &#039;&#039;&#039;Kostensenkungsmassnahmen&#039;&#039;&#039; gesteigert.&lt;br /&gt;
*Im Rahmen des Geschäftsprozess-Managements werden zusätzlich die Kriterien &#039;&#039;&#039;Zeit&#039;&#039;&#039; und &#039;&#039;&#039;Qualität&#039;&#039;&#039; in Betracht gezogen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozesseffizienz&#039;&#039;&#039;: Produkte sollen in möglichst kurzer Zeit mit möglichst niedrigen Kosten in möglichst hoher Qualität hergestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.7 Schnittstellenmanagement ===&lt;br /&gt;
&lt;br /&gt;
Schnittstelle = &lt;br /&gt;
*Verantwortung geht von einer Person zu einer anderen..&lt;br /&gt;
*..oder von einer OU auf eine andere&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;typische Schnittellenprobleme&#039;&#039;&#039;&lt;br /&gt;
*Verlängerung Durchlaufzeiten wegen gestörten Material- oder Informationsflüssen&lt;br /&gt;
*Reibungsverluste aufgrund verschiedenen Zielen&lt;br /&gt;
*Kommunikationsprobleme&lt;br /&gt;
*Mangelnde Abstimmung&lt;br /&gt;
*Abweichende Kulturen&lt;br /&gt;
*Konflikte&lt;br /&gt;
*Unterschiedliche Art der Informatikunterstützung (Medienbrüche)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein wesentliches Ziel der prozessorientierten Organisation ist es, durchgängige Prozesse mit möglichst wenig Schnittstellen zu gestalten. Bei einem Übergang von der funktionsorientierten zur prozessorientierten Organisation ist eine zentrale Forderung die Reduktion bzw. Harmonisierung der Schnittstellen.&lt;br /&gt;
&lt;br /&gt;
Verbleibenden Schnittstellen müssen optimiert werden. (Schnittstellenmanagement)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Darstellungstechniker für Schnittstellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Schnittstellenmatrix wird verwendet&lt;br /&gt;
*Beim Prozessmanagement kann die &#039;&#039;&#039;Prozesslandkarte&#039;&#039;&#039; herangezogen werden.&lt;br /&gt;
&lt;br /&gt;
Inhalt Prozesslandkarte:&lt;br /&gt;
*komplettes Netzwerk der internen und externen Prozessen.&lt;br /&gt;
*Verfeinerung der Darstellung im Kontextdiagramm&lt;br /&gt;
Detaillierte Beschreibung der Schnittstellen (Leistungsbeschreibung, technische Schnittstellenbeschreibung, Leistunsgvereinbarung (z.B. SLA)&lt;br /&gt;
&lt;br /&gt;
=== 3.8 Strukturierungsgrad von Prozessen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wohlstrukturierte Prozesse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*vollkommen planbar&lt;br /&gt;
*evtl. programmierbar&lt;br /&gt;
*hohe Wiederholungsrate&lt;br /&gt;
*bekannter Ablauf&lt;br /&gt;
*lassen sich durch Wokrflow-Managementsysteme (FWMS) unterstützen und eigenen sich zur Automatisierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teilstrukturierte Prozesse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*sind bis zu einem bestimmten Grad planbar&lt;br /&gt;
*je nach Geschäftsfall kommen bestimmte Ablauffolgen zum Tragen&lt;br /&gt;
*es gibt aber Ausnahmen&lt;br /&gt;
*können durch Groupware-Systeme gut unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unstrukturierte Prozesse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*komplexe Problemstellung&lt;br /&gt;
*unbestimmter Informationsgehalt&lt;br /&gt;
*im Ablauf nicht vorhersehbar&lt;br /&gt;
*nicht planbar&lt;br /&gt;
*zur Unterstürzung kommen am ehesten Systeme zur Entscheidungsunterstützung (t.B. Date-Warehouse) in Frage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4 Unternehmensmodellierung ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz&#039;&#039;&#039;: Von der Strategie zu den Prozessen  zu den Informationssystemen&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Von der Strategie zu den Prozessen ===&lt;br /&gt;
&lt;br /&gt;
*Unternehmensziel muss klar sein&lt;br /&gt;
*Strategie definieren!&lt;br /&gt;
*Die Strategie ist die Grundlage der Organisation des Unternehmen&lt;br /&gt;
*Auf Grund der Strategie werden die Prozesse gestaltet.&lt;br /&gt;
&lt;br /&gt;
*Wertsteigernde Aktivitäten werdenals &#039;&#039;&#039;Wertschöpfungskette&#039;&#039;&#039; dargestellt.&lt;br /&gt;
*Diese Aktivitäten  müssen billiger und besser als von der Konkurrenz erledigt werden (Wettbewerbsvorteil)&lt;br /&gt;
&lt;br /&gt;
*Die &#039;&#039;&#039;primären Aktivitäten&#039;&#039;&#039; der Wertschöpfungskette befassen sich mit dem Erstellen, dem verkauf und der Güter sowie dem Kundenservice.&lt;br /&gt;
*Die &#039;&#039;&#039;unterstützenden Aktivitäten&#039;&#039;&#039; beeinflussen den Wert nur indirekt. Sie liefern Input an die primären Aktivitäten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozesstypen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In Anlehnung an die Wertschöpfungskette werden folgenden &#039;&#039;&#039;Prozesstypen&#039;&#039;&#039; unterschieden:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Wertschöpfungsprozesse&#039;&#039;&#039; (auch Kernprozess, Leistungsprozesse, primäre Prozessen). Das Ergebnis dieses Prozess stellt für den Kunden einen Wert dar für welchen der Kunde bereit ist etwas zu bezahlen. Wertschöpfungsprozesse entsprechen den Kernkompetenzen eines Unternehmens.&lt;br /&gt;
*&#039;&#039;&#039;Unterstützungsprozesse&#039;&#039;&#039; (auch Supportprozesse, sekundäre Prozesse). Sind für für die Wertschöpfungsprozesse notwendig. (Beispiel: Inkasso, Personalwesen, Informatik)&lt;br /&gt;
*&#039;&#039;&#039;Führungsprozesse&#039;&#039;&#039; (auch Managementprozesse, sekundäre Prozesse). Dienen der Staregieentwicklung. Planen, koordinieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Prozesse modellieren ===&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Modell&#039;&#039;&#039; ist vereinfachtes Abbild eines System. Anhand eines Modells können die wichtigsten &#039;&#039;&#039;Elemente&#039;&#039;&#039; des Originals sowie deren &#039;&#039;&#039;Eigenschaften&#039;&#039;&#039; und &#039;&#039;&#039;Beziehungen&#039;&#039;&#039; zueinander analysiert und verstanden werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bei der Unternehmensmodellierung kommen verschiedenen Betrachtungsweisen zum Tragen. Wenn Sie z.B, ein ein neues SOfwtaresystem modellieren müssen verschieden Betrachtungsweisen und deren Zusammenhänge beschrieben werden. Z.B.&lt;br /&gt;
&lt;br /&gt;
*Prozessschicht. (Wertschöpfungskettendiagramm, Prozesshirarchiediagramm, Ereignisgesteuerte Prozesskette (ARIS), Aktivitätendiagramm (UML)&lt;br /&gt;
*Organisationsschicht (Organigramm)&lt;br /&gt;
*Datensicht(Entity-Relationship-Diagramm, Klassendiagramm (UML), Zustandsdiagramm (UML))&lt;br /&gt;
*Funktionssicht (Funktionsbaum)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozesshierarchie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Üblicherweise werden nicht nur die einzelnen Detailprozesse modelliert, sondern es wird eine Prozesshierarchie aufgebaut.&lt;br /&gt;
*Die oberste Ebene der Hierarchie ist das Unternehmen.&lt;br /&gt;
&lt;br /&gt;
*Auf der obersten Ebene liegt die Prozesslandkarte&lt;br /&gt;
*Auf der untersten die Elementarprozesse. dieser werden meist in Form von Abläufen dargestellt.&lt;br /&gt;
*Dazwischen gibt es verschiedene Modelle die eine Prozesszerlegung ermöglichen.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Von den Prozessen zum Informationssystem ===&lt;br /&gt;
&lt;br /&gt;
*Das Informationssystem soll die Geschäftsprozesse unterstützen&lt;br /&gt;
*Die Gestaltung der Geschäftsprozesse und die Gestaltung der Informationssystem lassen sich nicht mehr voneinander trennen.&lt;br /&gt;
*Zuerst die Prozesse, dann das Informationssystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Strategie überprüfen, falls nötig ergänzen, dann daraus Prozesse ableiten&lt;br /&gt;
# Prozesse unter Berücksichtigung der Informatik gestalten&lt;br /&gt;
# Anforderungen an die Anwendungssystem aus den Prozessen ableiten&lt;br /&gt;
# Anwendungssystem modellieren und entwickeln oder solche kaufen welche die Prozesse unterstützen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 5 Ist-Modellierung ==&lt;br /&gt;
&lt;br /&gt;
*Ist es sinnvoll die Ist-Prozesse zu modellieren?&lt;br /&gt;
*Wenn ja, wie detailliert?&lt;br /&gt;
&lt;br /&gt;
=== 5.1 Einflussfaktoren ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zielsetzungen für eine Ist-Modellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Aufzeigen welche Prozesse bereits vorhanden sind.&lt;br /&gt;
*Arbeitsabläufe dokumentieren&lt;br /&gt;
*Segeln, Vorschriften, Fähigkeiten identifizieren&lt;br /&gt;
*Schwachstellen finden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Argumente für eine Ist-Modellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Um eine Verbesserung zu erwirken muss man die Ist-Situation kennen.&lt;br /&gt;
*Ist gut für die Einarbeiter der Mitarbeiter in die Methoden und die Tools&lt;br /&gt;
*Ist-Modelle können evtl. bei der Soll-Modellierung weiter benutzt werden.&lt;br /&gt;
*Vergleich von Ist und Soll wird möglich&lt;br /&gt;
*Bei der GPO (Geschäftsprozessoptimierung) ist die Ist-Modellierung notwendig, da vom bestehenden ausgegangen wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Argumente gegen eine Ist-Modellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Hemmt die Kreativität&lt;br /&gt;
*Es besteht die Gefahr, dass alte Strukturen übernommen werden.&lt;br /&gt;
*Das Erstellen eines Ist-Modell kann mit hohem Aufwand verbunden sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.2 Vorgehensweise ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Phasen und Tätigkeiten bei der Ist-Modellierung&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorbereitung&#039;&#039;&#039;:&lt;br /&gt;
*Verantwortlichkeiten definieren&lt;br /&gt;
*Geeignete Fachexperten als Interviewpartner auswählen&lt;br /&gt;
*Informationsquellen identifizieren&lt;br /&gt;
*Inhalt und Form der Prozessdokumentation festlegen&lt;br /&gt;
*Beschreibungssichten wählen (z.B. Organisation, Prozess, Funktionen)&lt;br /&gt;
*Rahmenmodell (Prozesslandkarte) erstellen&lt;br /&gt;
*Prozesshierarchie festlegen (Anzahl Ebenen, Modelltyp pro Ebenen)&lt;br /&gt;
*Detaillierungsgrad bestimmen&lt;br /&gt;
*Modellierungskonventionen erarbeiten&lt;br /&gt;
*Mitarbeiter einladen und planen&lt;br /&gt;
*Weitere Aktivitäten planen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Untersuchungsbereiche definieren:&#039;&#039;&#039;&lt;br /&gt;
*Untersuchungsbereiche abgrenzen und zerlegen&lt;br /&gt;
*zusammengehörende Prozesse in Gruppen zusammenfassen (Beispiel: Frontoffice, Backoffice) (Modellierungskopmplexe bilden)&lt;br /&gt;
*Schnittstellen zwischen den oben definierten Gruppen (Modellierungskopmplexe)identifizieren&lt;br /&gt;
*Zusammenhänge zwischen den Prozessen grob erfassen&lt;br /&gt;
*Prioritäten der zu modellierenden Prozesse festlegen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ist-Modell erheben:&#039;&#039;&#039;&lt;br /&gt;
*Workshopfs für die Erhebung planen und durchführen&lt;br /&gt;
*Ist-Modell grafisch erfassen&lt;br /&gt;
*Schnittstellen zwischen den prozessen identifizieren&lt;br /&gt;
*Inhaltlicher Review der Ist-Modelle mit den Fachexperten&lt;br /&gt;
*Formaler Review der Ist-Modelle mit Methodenexperten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsolidierung:&#039;&#039;&#039;&lt;br /&gt;
*Modell auf Konsistenz prüfen&lt;br /&gt;
*auf Vollständigkeit prüfen&lt;br /&gt;
*Ist-Modell konsolidieren&lt;br /&gt;
*Ist-Modelle zu einem Gesamtmodell zusammenführen (Verknüpfungen definieren)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ist-Modell analysieren:&#039;&#039;&#039;&lt;br /&gt;
*Analysekriterien definieren&lt;br /&gt;
*Checklisten erstellen&lt;br /&gt;
*Schwachstellen und Verbesserungspotenziale identifizieren und dokumentieren&lt;br /&gt;
*Schnittstellen identifizieren&lt;br /&gt;
*Sofortmassnahmen zur Beseitigung der dringendsten Schwachstellen festlegen und realisieren&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.3 Ergebnisse analysieren ===&lt;br /&gt;
&lt;br /&gt;
Befundformular für gefundene Schwachstellen erstellen:&lt;br /&gt;
&lt;br /&gt;
Inhalt z.B.: Bezeichnung, Ursachen, Verbesserungspotenzial, Liste der OU, Dringlichkeit, Lösungsmöglichkeiten, geschätzter Aufwand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checkliste mit den üblichsten Schachstellen erstellen. Problembereiche:  Informatik, Ablauforganisation, Aufbauorganisation, Schnittstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 6 Informationen sammeln ==&lt;br /&gt;
&lt;br /&gt;
Informationssammlung muss im Allgemeinen im Zusammenhang mit einer &#039;&#039;&#039;Problemlösung&#039;&#039;&#039; gesehen werden.&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise:&lt;br /&gt;
#Informationen sammeln&lt;br /&gt;
#Erhobene Infos aufbereiten und analysieren&lt;br /&gt;
#Ziele festlegen&lt;br /&gt;
#Eine oder mehrere Lösungen entwerfen&lt;br /&gt;
#Lösungsvarianten analysieren&lt;br /&gt;
#Lösungsvarianten anhand der Ziele vergleichen&lt;br /&gt;
#Favorisierte Lösungsvariante auswählen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zweck der Informationserhebung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
*Organisation neu gestalten&lt;br /&gt;
*Prozesse optimieren&lt;br /&gt;
*Entscheide vorbereiten&lt;br /&gt;
*Applikationen entwickeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Informationserhebung empfiehlt es sich, vorgängig einen Raster aufzustellen welcher als Ideengeben oder Checkliste verwendet werden kann. (Was ist zu tun, Wie ist es zu tun, wie lange, wer, was wird benötigt, Qualifikationen, etc.)&lt;br /&gt;
&lt;br /&gt;
Die Ergebnisse können in Text-, Tabellen- oder Grafikform dargestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.2 Erhebungstechniken ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dokumentstudium:&#039;&#039;&#039;&lt;br /&gt;
*Vom Schreibtisch aus&lt;br /&gt;
*Betroffene werden oft nicht einbezogen&lt;br /&gt;
*Steht oft am Anfang um sich in die Materie einzuarbeiten (Grundlagenforschung)&lt;br /&gt;
&lt;br /&gt;
Es wird zwischen &#039;&#039;&#039;planmässig&#039;&#039;&#039; und &#039;&#039;&#039;ad hoc&#039;&#039;&#039; erstellen Dokumenten unterschieden&lt;br /&gt;
&lt;br /&gt;
Beispiel &amp;quot;Planmässig&amp;quot;:&lt;br /&gt;
*Stellenbeschreibung&lt;br /&gt;
*Arbeitsanweisung&lt;br /&gt;
*Durchführungsverordnung&lt;br /&gt;
*Ablaufbeschreibung&lt;br /&gt;
&lt;br /&gt;
Beispiel &amp;quot;ad hoc&amp;quot;:&lt;br /&gt;
*Sitzunsgberichte&lt;br /&gt;
*Protokolle&lt;br /&gt;
*Prüfungsberichte&lt;br /&gt;
*Aktennotizen&lt;br /&gt;
&lt;br /&gt;
Probleme des Dokumentenstudium:&lt;br /&gt;
*oft nicht aktuelle&lt;br /&gt;
*evtl. lückenhaft&lt;br /&gt;
*wichtige Dokumente fehlen&lt;br /&gt;
&lt;br /&gt;
Vorteile des Dokumentenstudium:&lt;br /&gt;
*breite Informationsbasis&lt;br /&gt;
*keine Störung des Betrieben&lt;br /&gt;
*gute Basis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interview:&#039;&#039;&#039;&lt;br /&gt;
*gut geeignet für das Erhebung qualitativer Merkmale und das Aufdecken von Problemen&lt;br /&gt;
*ist aufwändig&lt;br /&gt;
*Ziel und Fragenkatalog müssen zu Beginn festgelegt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fragebogentechnik:&#039;&#039;&#039;&lt;br /&gt;
*leistungsfähig wenn es um quantitative Sachverhalte handelt und es eine grössere Anzahl Personen betrifft.&lt;br /&gt;
*1.homogener Personenkreis festlegen&lt;br /&gt;
*2.Fragebogen entwerfen (Eindeutige Fragen, evtl. standardisierte Antwortmöglichkeiten)&lt;br /&gt;
*Fragebeogen testen&lt;br /&gt;
*Rücklauf prüfen und auswerten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multimomentstudie&#039;&#039;&#039;&lt;br /&gt;
*Ziel: Von einer begrenzen Anzahl beobachteter Fälle auf die gesamtheit alelr Fälle schliessen.&lt;br /&gt;
*Zu diesem Zweck wird ein bestimmter Sachverhalt mehrfach beobachtet und notiert.&lt;br /&gt;
&lt;br /&gt;
Es gibt &amp;quot;Multimoment-Zählverfahren&amp;quot; und &amp;quot;Multimoment-Zeitmessverfahren&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Selbstaufschreibung&#039;&#039;&#039;&lt;br /&gt;
*der Aufgabenträger führt selber Beobachtungen durch und notiert diese.&lt;br /&gt;
*Wird angewendet um Aufgaben unter Angabe von zeit und Menge zu erheben.&lt;br /&gt;
*Es werden leicht verständliche Formulare verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Laufzettelverfahren&#039;&#039;&#039;&lt;br /&gt;
*Es wird ein Laufzettel(Beleg, Akte) wie ein Begleitpapier einem Auftrag angehängt.&lt;br /&gt;
*Dieser durchläuft den ganzen Prozess und wird überall ausgefüllt&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
*Wer ist beteiligt?&lt;br /&gt;
*Welche Verzweigungen gibt es?&lt;br /&gt;
*Wie häufig wird verzweigt?&lt;br /&gt;
*Durchlaufzeiten, Bearbeitungszeiten, Liegezeiten, Transportzeiten&lt;br /&gt;
*Wieviel Rückläufe&lt;br /&gt;
&lt;br /&gt;
== 7 Soll-Modellierung ==&lt;br /&gt;
&lt;br /&gt;
*Ziel: Prozesse so gestalten wie sie später umgesetzt werden sollen.&lt;br /&gt;
*Vorgabe für Rollout der Prozesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.1 Einflussfaktoren ===&lt;br /&gt;
&lt;br /&gt;
*Wichtig: Zielsetzung der Soll-Modellierung festlegen&lt;br /&gt;
*Ziele dienen später zur Beurteilung der Modelle.&lt;br /&gt;
&lt;br /&gt;
Beispiele für interne Ziele:&lt;br /&gt;
*Effizienzsteigerung (Kostenreduktion, Straffung von Abläufen)&lt;br /&gt;
*Reduktion von Planung und Bearbeitungszeiten&lt;br /&gt;
*aktueller Infos&lt;br /&gt;
*bessere Kommunikation&lt;br /&gt;
*Minimierung von Schnittellen&lt;br /&gt;
&lt;br /&gt;
Beispiele für externe Ziele:&lt;br /&gt;
*Effektivitätssteigerung&lt;br /&gt;
*grössere Kundenbindung&lt;br /&gt;
*beschleunigte Kommunikation mit Kunden&lt;br /&gt;
*erhöhte Flexibilität bei Marktentwicklungen&lt;br /&gt;
&lt;br /&gt;
=== 7.2 Vorgehensweise ===&lt;br /&gt;
&lt;br /&gt;
Phasen und Tätigkeiten der Soll-Modellierung&lt;br /&gt;
&lt;br /&gt;
*Vorbereitung: Interviewpartner auswählen, Verantwortlichkeiten definieren, Beschreibungssichten währen (z.B. Organisation, Prozesse, Funktion), Rahmenmodell (Prozesslandkarte) entwerfen, Prozesshierarchie festlegen, Mitarbeiter einarbeiten, prüfen ob Referenzmodelle verfügbar sind, weitere Aktivitäten planen&lt;br /&gt;
*Grobentwurf:  Wertschöpfungsprozesse aus der Unternehmensstrategie ableiten, notwendige Supportprozesse und Managementprozesse definieren, Prozessstrukturen der ersten Ebene erstellen.&lt;br /&gt;
*Soll-Modelle erheben: Soll-Aufnahme-Workshops durchführen, Soll-Modelle grafisch erfassen, Inhaltlicher und formaler Review, Prozess-Varianten bilden, Soll-Modelle dokumentieren.&lt;br /&gt;
*Konsolidierung: Modelle auf Konsistenz und Vollständigkeit prüfen, Modelle zu einem Gesamtmodell zusammenführen&lt;br /&gt;
*Aufbauorganisation definieren: Stellen und Rollen aufgrund des auszuführenden Funktionen bilden, Stellen den OE zuordnen, Organigramm aufbauen.&lt;br /&gt;
*Aufbereitung und Veröffentlichung: betriebliche Dokumentation erstellen, Prozesse-Modelle im Intranet veröffentlichen, Modelle durch geeignete Dokumente ergänzen, Präsentationen und Schulungsunterlagen erstellen.&lt;br /&gt;
&lt;br /&gt;
=== 7.3 Prozessdokumentation ===&lt;br /&gt;
&lt;br /&gt;
mögliche Zielsetzungen für eine Prozessdokumentation:&lt;br /&gt;
*gemeinsame Kommunikationsbasis bilden&lt;br /&gt;
*bestehende Abkläufe dokumentieren&lt;br /&gt;
*Qualität sichern (z.B. ISO 9000:2000)&lt;br /&gt;
*Schwachstellen erkennen&lt;br /&gt;
*bestehende Abläufe optimieren.&lt;br /&gt;
*neue Abläufe entwerfen&lt;br /&gt;
*Bedarf an Unterstützung durch Applikationen erkennen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Prozessdokumentation besteht in der Regel aus folgenden &#039;&#039;&#039;Elementen&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Geschäftsprozess-Beschreibung&lt;br /&gt;
*Prozessablauf&lt;br /&gt;
*Prozess-Organisations-Diagramm&lt;br /&gt;
*Leistungsvereinbarung zwischen Kunden und Lieferanten&lt;br /&gt;
*Beschreibung von Aufgaben, Verantwortung und Befugnissen der Prozessbeteiligten (Prozessmanager, Prozesseigner, Prozessteam)&lt;br /&gt;
&lt;br /&gt;
Um einen Prozess genau zu beschreiben sind eine Reihe von Informationen notwendig. z.B.&lt;br /&gt;
*Start und Ende eines Prozesses&lt;br /&gt;
*Welche OE durchlebt er&lt;br /&gt;
*welche Ergebnisse werden erwartet&lt;br /&gt;
*wer sind die Abnehmer&lt;br /&gt;
*Durchlaufzeit&lt;br /&gt;
*Schnittstellen&lt;br /&gt;
&lt;br /&gt;
=== 7.4 Gestaltungselemente ===&lt;br /&gt;
&lt;br /&gt;
Bestandteile eines Prozesses:&lt;br /&gt;
*wird durch einen vorgelagerten Prozess angestossen. Dazu gehört eine Schnittstelle und eine Eingabe. Die Eingabe muss einer Eingabeprüfung unterzogen werden.&lt;br /&gt;
*Ein Prozess liefert ein Ergebnis an einen nachgelagerten Prozess. dazu muss eine Schnittstelle definiert werden. Vor der Auslieferung wird das Ergebnis geprüft.&lt;br /&gt;
*Damit eine Prozess durchgeführt werden kann, ist er im Allgemeinen auf die Zulieferung weiteren Leistungen angewiesen (andere Prozesse). Dazu gibt es weitere Schnittstellen und Eingabeprüfungen.&lt;br /&gt;
*Ein Prozess besteht aus einer Folge von Aktivitäten. Die erste Aktivität wird durch das Eintreffen der Eingabe ausgelöst, die letzte führt zur Auslieferung des Ergebnisses.&lt;br /&gt;
*Die Qualität wird durch Kenngrössen bestimmt. Dabei soll sich die &#039;&#039;&#039;Messgrösse&#039;&#039;&#039; der &#039;&#039;&#039;Zielgrösse&#039;&#039;&#039; annähern.&lt;br /&gt;
*Der Prozessverantwortliche ist zuständig für Gestaltung, Führung, Durchführung, Messung und Verbesserung des Prozesses&lt;br /&gt;
&lt;br /&gt;
[[Image:Prozessbestandteile.JPG]]&lt;br /&gt;
&lt;br /&gt;
Allgemeine Regeln:&lt;br /&gt;
&lt;br /&gt;
*jeder Prozess beginn und endet bei einem Kunden.&lt;br /&gt;
*Ein Prozess beginnt und endet mit einem Ereignis&lt;br /&gt;
*Bei der Bezeichnung eines Prozesses wird neben dem Prozessnamen auch das Anfangs- und Endpunkt angegeben.&lt;br /&gt;
*Jeder Prozess wird so lange in Teilprozesse und Prozessschritte unterteilt, bis sinnvolle elementar Aktivitäten definiert sind.&lt;br /&gt;
*Teilprozesse und Prozessschritte ohne Wertschöpfung werden so weit als möglich eliminiert.&lt;br /&gt;
&lt;br /&gt;
Kunden- und lieferantenbezogene Regeln:&lt;br /&gt;
&lt;br /&gt;
*Kunden und Prozessergebnisse müssen festgelegt werden.&lt;br /&gt;
*Am Anfang jedes Geschäftsprozesses steht eine Leistungserwartung des Kunden und er endet mit der Übergabe der Leistung an den Kunden.&lt;br /&gt;
*Jeder Geschäftsprozess benötigt Inputs um Leistung erstellen zu können.&lt;br /&gt;
*Inputs werden von Zuliefern zur vErfügung gestellt (also von anderen prozessen)&lt;br /&gt;
*Um die Inputs von internen und externen Zulieferern zu garantieren ist es notwendig mit diesen vereinbarungen über die Bereitstellung der Inputs zu treffen.&lt;br /&gt;
*Zulieferer sind andere interne Geschäftsprozesse oder externe Lieferanten, aufgefasst als externe Prozesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ablauforganisatorische Gestaltungsmassnahmen&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:GestaltungProzessablauf.JPG]]&lt;br /&gt;
[[Image:GestaltungProzessablauf2.JPG]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aufbauorganisatorische Gestaltungsmassnahmen&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Für jeden Geschäftsprozess wird ein ein Prozessverantwortlicher (Owner) definiert.&lt;br /&gt;
*Dem Verantwortlichen wird ein Prozessteam zugewiesen&lt;br /&gt;
*Die personifizierte Prozessverantwortung ist ein wichtiger Erfolgsfaktor.&lt;br /&gt;
*Der Prozessverantwortliche ist zuständig für Gestaltung, Führung, Durchführung, Messung und Verbesserung des Prozesses&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Betriebswirtschaftliche Gestaltungsmassnahmen&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
*Ein Prozess besteht aus vielen Tätigkeiten welche gemeinsam zum Produkt führen. Aus Sicht des Unternehmens erhöht jeder Schritt den Wert des Prozessergebnisses - aus Sicht der Kunden aber nicht unbedingt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.5 Grundsätzliche Darstellungsformen ===&lt;br /&gt;
&lt;br /&gt;
Um Prozesse zu beschreiben kommen verschiedenen Darstellungsformen zum Einsatz&lt;br /&gt;
&lt;br /&gt;
*Textform: Meist Vorgabe bzw. Vorlage für die grafische Umsetzung.&lt;br /&gt;
*Tabellenform: Vorteile = gut strukturiert, übersichtlich, Prozessschritte können mit Detailinfos kombiniert werden. Nachteil = Nicht anschaulich, logisch Verzweigungen können nur umständlich beschrieben werden.&lt;br /&gt;
*Grafische Darstellung: Dafür gibt es viele Darstellungsformen. In der Praxis wird meist eine Variante des Prozessablaufplanes (auch: Flussdiagramm) verwendet. Vorteile = Übersichtlich, Anschaulich. Nachteile: Durch zu viele Detailinfos kann die grafische Übersicht an Übersichtlichkeit verlieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auswahlkriterien für Darstellungsform&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Wichtig für Akzeptanz durch die Zielgruppe&lt;br /&gt;
*muss geeignet sein&lt;br /&gt;
*logisch everbindungen müssen aufgezeigt werden&lt;br /&gt;
&lt;br /&gt;
=== 7.6 Referenzmodelle ===&lt;br /&gt;
&lt;br /&gt;
*ist formale oder halbformale Beschreibung von Tatbeständen, die auf Best-Practice-Wissen beruht und einen bestimmten Grad und Allgemeingültigkeit und Übertragbarkeit besitzt.&lt;br /&gt;
*Referenzmodell sind zum teil in Büchern oder in elektronischer Form verfügbar (oder in Modellierungstools)&lt;br /&gt;
*erleichtern den Einstieg in die Soll-Modellierung&lt;br /&gt;
*Ideensammlung&lt;br /&gt;
*bieten eine gute Diskussionsbasis&lt;br /&gt;
*muss am Schluss individualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 8 Grafische Darstellung ==&lt;br /&gt;
&lt;br /&gt;
Es steheneine Vielzahl von Techniken zur Verfügung&lt;br /&gt;
&lt;br /&gt;
=== 8.1 Prozesslandkarten ===&lt;br /&gt;
&lt;br /&gt;
*Ziel Prozesslandkarte (PLK)= Überblick/Abgrenzung über Untersuchungsbereich. Schnittstellen zum Umfeld aufzeigen&lt;br /&gt;
*wird manchmal auch Prozessarchitektur genannt&lt;br /&gt;
&lt;br /&gt;
Ein Prozess wird meist durch ein Rechteck dargestellt. Leistungen werden als Pfeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
[[Image:PLK.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine andere Darstellungsform ist das Wertschöpfungskettendiagramm (üblich bei der ARIS Methode)&lt;br /&gt;
&lt;br /&gt;
[[Image:Wertschöpfungskettendiagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es gibt auch die Variante bei welcher bei der Prozesslandkarte zwischen primären und sekundären Prozessen unterschieden wird:&lt;br /&gt;
&lt;br /&gt;
[[Image:PLK mit Prozessbereichen.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 8.2 Prozessumgebung ===&lt;br /&gt;
&lt;br /&gt;
Das Kontextdiagramm zeigt einen Hauptprozess und dessen Umgebung. Es ist wie eine prozesslandkarte, allerdinsg wird nur ein einzelner Prozess (und seine Umgebung) dargestellt.&lt;br /&gt;
&lt;br /&gt;
[[Image:Kontextdiagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 8.3 Prozesshierarchie ===&lt;br /&gt;
&lt;br /&gt;
Eine Prozesshierarchie entsteht wenn Prozesse stufenweise in Teilprozesse gegliedert werden. Auf der obersten Abstraktionsstufe liegt der Hauptprozess der in der Prozesslandkarte zu sehen ist.&lt;br /&gt;
&lt;br /&gt;
*Prozessgliederung entspricht dem Vorgehen der Aufgabenanalyse&lt;br /&gt;
*Aufgaben werden so lange in Teilaufgaben zergliedert,als sinnvolle Teilaufgaben identifiert werden können.&lt;br /&gt;
&lt;br /&gt;
Die Benennung der Hirarchiestufen hängt von der Methode ab. Bei der Promet-Methode spricht man z.B. von Makro-Prozessen die in Mikro-Prozesse aufgegliedert werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:Prozessstufen.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel Prozesshierarchie &lt;br /&gt;
&lt;br /&gt;
[[Image:Prozesshirarchiediagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== 8.3 Prozessabläufe ===&lt;br /&gt;
&lt;br /&gt;
*Es gibt verschiedene Techniken der Modellierung und es ist kein Standard in Sicht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flussdiagramm&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*wurden vor allem in den 60&#039;er und 70&#039;er Jahren eingesetzt&lt;br /&gt;
*wurde durch DIN-Norm 66001 vereinheitlicht.&lt;br /&gt;
*einfach lesbar&lt;br /&gt;
*entspricht der Notation des Datenflussplan, wird aber in der Praxis mit anderen Symbolen angereichert&lt;br /&gt;
&lt;br /&gt;
Zwei spezielle Ausprägungen stellen in der Informatik der Datenflussplan und der Ablaufplan dar&lt;br /&gt;
&lt;br /&gt;
[[Image:Flussdiagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Datenflussplan&#039;&#039;&#039;&lt;br /&gt;
*Symbole nach DIN 66001 genormt&lt;br /&gt;
*stellt den Fluss der Daten durch ein Informationssystem dar.&lt;br /&gt;
&lt;br /&gt;
Symbole für Datenflusspläne&lt;br /&gt;
&lt;br /&gt;
[[Image:SymboleDatenflussplan.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Schablone für DIN 66001&lt;br /&gt;
&lt;br /&gt;
[[Image:SchabloneDIN66001.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der ISO 9000 Zertifizierung ist es üblich debn Datenflussplan mit zusätzlichen Informationen anzureichern. z.B&lt;br /&gt;
*Zuordnen der verantwortlichen Stelle&lt;br /&gt;
Besschreibung von Input und Output&lt;br /&gt;
&lt;br /&gt;
Wird auch &amp;quot;stellenorientierter Ablaufplan&amp;quot; genannt.&lt;br /&gt;
&lt;br /&gt;
[[Image:Stellenorientierter Ablaufplan.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ereignisgesteuerte Prozesskette (EPK)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*ist Bestandteil von ARIS&lt;br /&gt;
*beschreiben den Ablauf indem sie den auslösenden Prozess und die erzeugten Ereignisse darstellen&lt;br /&gt;
*in der erweiterten ereignisgesteuerte Prozesskette (eEPK) werden noch zusätzliche Objekte abgebildet (z.B. Input, Output, OE, Leistungen, etc.)&lt;br /&gt;
*Die einfachste Form enthält nur Ereignisse, Funktionen und logische Verzweigungen&lt;br /&gt;
&lt;br /&gt;
[[Image:EPK.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EPK mit Spalten&lt;br /&gt;
&lt;br /&gt;
[[Image:EPK Spalten.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktivitätendiagramm&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*für die objektorientierte Modellierung wird UML als Standard betrachtet.&lt;br /&gt;
*UML ist gut für Darstellung von Prozessabläufen geeignet&lt;br /&gt;
*Aktivitätendiagramm besteht aus Folgen von Aktivitäten und Zustandsübergängen.&lt;br /&gt;
*vergleichbar mit Flussdiagramm bzw. Programmablaufplan&lt;br /&gt;
*kann zur Beschreibung prozeduralen Abläufen, Geschäftsprozessen, Anwendungsfällen oder Operationen verwendet werden.&lt;br /&gt;
*ermöglicht die Darstellung paralleler Prozesse mit Hilfe von Synchronisationsbalken&lt;br /&gt;
&lt;br /&gt;
Symbole&lt;br /&gt;
&lt;br /&gt;
*Aktiviät = abgerundetes Rechteck&lt;br /&gt;
*Pfeile = Übergänge (Abschluss einer Aktivität und Übergang zur nächsten)&lt;br /&gt;
*Rauten = logische Verzweigungen&lt;br /&gt;
*Eine Synchronisation führt mehrere parallele Zweige zusammen.&lt;br /&gt;
*ein Splitting teiln in mehrere parallele Zweige&lt;br /&gt;
&lt;br /&gt;
[[Image:Aktivitätendiagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aufgabenkettendiagramm&lt;br /&gt;
&lt;br /&gt;
*gehört zur Promet-Methode&lt;br /&gt;
*dokumentiert den Ablauf eines Makro- bzw. eines Mikorprozess&lt;br /&gt;
&lt;br /&gt;
[[Image:Aufgabenkettendiagramm.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 9 Kennzahlen als Grundlage der Prozessführung ==&lt;br /&gt;
&lt;br /&gt;
*kritische Erfolgsfaktoren (KEF) müssen identifiziert, steuerbar und kontrollierbar sein.&lt;br /&gt;
*dazu müssen die Führungskräfte jederzeit aktuelle Infos haben welche als Grundlager für Entscheidungen dienen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Führungsinformationssysteme (FIS)&#039;&#039;&#039;&lt;br /&gt;
*versorgt das Management umfassend mit Informationen&lt;br /&gt;
*ermöglicht Entscheidungen durch das Management&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kennzahlen&#039;&#039;&#039;&lt;br /&gt;
*Informationen über betriebswirtschaftliche Tatbestände&lt;br /&gt;
*verdichten Informationen in einer Zahl&lt;br /&gt;
*erlauben Analyse des Geschehens&lt;br /&gt;
*sind Instrument zur Unternehmensführung&lt;br /&gt;
&lt;br /&gt;
=== 9.1 Kritische Erfolgsfaktoren ===&lt;br /&gt;
&lt;br /&gt;
*Faktoren welche über den Erfolg oder Misserfolg der strategischen Unternehmensziele entscheiden sind KEF.&lt;br /&gt;
*Bei der KEF-Analyse werden in einem Tow-down-Ansatz ausgehend von den Unternehmenszielen die KEFs ermittelt.&lt;br /&gt;
*für diese werden Messgrössen und Messverfahren definiert.&lt;br /&gt;
&lt;br /&gt;
=== 9.2 Kenngrössen ===&lt;br /&gt;
&lt;br /&gt;
*geben Auskunft über den Leistungsstand und Entwicklung eines Geschäftsprozesses &lt;br /&gt;
*von der richtigen Auswahl hängt der Erfolg der Prozesssteuerung ab. (und damit die Wirkung des Geschäftsprozess-Managements)&lt;br /&gt;
*mit der Zielgrösse wird ein Sollwert angegeben den die Messgrösse erreichen soll.&lt;br /&gt;
*Das Messverfahren beschreibt das Vorgehen wie die Messgrösse ermittelt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 9.3 Kenngrössen ableiten ===&lt;br /&gt;
&lt;br /&gt;
*werden aus strategischen Vorgaben abgeleitet&lt;br /&gt;
*konkreter Ansatz = Ableitung von Kenngrössen aus KEFs&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
#Hauptprozesse bestimmen&lt;br /&gt;
#KEFs daraus identifizieren&lt;br /&gt;
#Kenngrössen aus den KEFs ableiten&lt;br /&gt;
#Kenngrössen mit Messgrössen operationalisieren&lt;br /&gt;
#Zielgrössen festlegen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 9.4 Prozesskenngrössen verwenden ===&lt;br /&gt;
&lt;br /&gt;
*werden für verschieden vergleiche verwendet (Innerbetrieblich, Zwischenbetrieblich, Zeitvergleiche, Soll-Ist)&lt;br /&gt;
&lt;br /&gt;
Folgenden Anforderungen müssen dazu erfüllt sein:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Steuerungsrelevanz&#039;&#039;&#039;: Eignen sich für Steuerung der Prozesse. Machen Handlungsbedarf sichtbar.&lt;br /&gt;
*&#039;&#039;&#039;Objektivität&#039;&#039;&#039;: beziehen sich auf messbare Sachverhalte&lt;br /&gt;
*&#039;&#039;&#039;Akzeptanz&#039;&#039;&#039;: sind leicht verständlich und realitätsnah. Unterstützen die Selbstkontrolle.&lt;br /&gt;
*&#039;&#039;&#039;Wirtschaftlichkeit&#039;&#039;&#039;: Messaufwand gering, möglichst automatisch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hauptziele des Prozessmanagements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Effektivität und Effizienz steigern&lt;br /&gt;
*KUZU sicherstellen&lt;br /&gt;
*Produktivität sicherstellen&lt;br /&gt;
*Prozesse auf Kundenbedürfnisse ausrichten&lt;br /&gt;
*permanente Verbesserung der Prozesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dazu werden Prozesskennzahlen benötigt. Deren Aufgabe sind:&lt;br /&gt;
*das Management mit relevanten Informationen versorgen&lt;br /&gt;
*Vorgaben für Informations- und Steuerungsaufgaben liefern.&lt;br /&gt;
&lt;br /&gt;
Die Kennzahlen werden aus &#039;&#039;&#039;KEFs&#039;&#039;&#039; abgeleitet und durch &#039;&#039;&#039;Messgrössen&#039;&#039;&#039; und &#039;&#039;&#039;Messverfahren&#039;&#039;&#039; konkretisiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 10 Allgemeine Prozesskenngrössen ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AllgemeineProzesskenngrössen.jpg]]&lt;br /&gt;
&lt;br /&gt;
*KUZU&lt;br /&gt;
*Prozessqualität (Wie gut werden Kundenanforderungen erfüllt, wie fehlerhaft sind die Ergebnisse)&lt;br /&gt;
*Prozesszeiten (Wie schnell werden Kundenwünsche erfüllt)&lt;br /&gt;
*Termintreue&lt;br /&gt;
*Prozesskosten (Wie hoch ist der Ressourcenaufwand für die Erstellung der Leistungen)&lt;br /&gt;
&lt;br /&gt;
=== 10.1 Kundenzufriedenheit ===&lt;br /&gt;
&lt;br /&gt;
*zentrales Ziel des Geschäftsprozess-Management&lt;br /&gt;
*dazu müssen die Kundenwünsche richtig verstanden werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bedeutung der Kundenzufriedenheit&#039;&#039;&#039;*Basisforderung (Muss)&lt;br /&gt;
*Leistungsanforderung (wird vom Kunden erwartet)&lt;br /&gt;
*Begeisterungsanforderung (wird vom Kunden nicht erwartet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kundenzufriedenheit messen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Direkte Messung (periodische Befragung beim Kunden, Befragung nach Bereitstellung von Ergebnissen)&lt;br /&gt;
*indirekte Messung (periodische Befragung von Mitarbeitern mit direkt Kundenkontakt, Analyse interner Messgrössen wie Kundenbeanstandungen, Beschwerden, etc.)&lt;br /&gt;
&lt;br /&gt;
=== 10.2 Prozesszeiten und -termine ===&lt;br /&gt;
&lt;br /&gt;
*kurze Prozesszeiten wirken sich positiv auf Effizienz und Effektivität aus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozesszeiten messen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Durchlaufzeit ist die Zeitdauer vom Anstoss bis zum bereitstellen des Ergebnisses. Sie beinhaltet neben der Bearbeitungszeit auch Transfer- und Liegezeiten. Zeiteffizienz ist dann die Bearbeitungszeit bezogen auf die Durchlaufzeit in Prozent.&lt;br /&gt;
*Zykluszeit ist die Duschlaufzeiten aller Zeitstrecken, auch der zeitparallelen Tätigkeiten. Lange Zykluszeiten deuten auf eine Überlastung des Prozesses hin und führen zu längeren Durchlaufzeiten.&lt;br /&gt;
*Termintreue ist der Anteil der ohne Terminverzug fertig gestellten Ergebnisse in Prozent&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 10.3 Prozessqualität ===&lt;br /&gt;
&lt;br /&gt;
*Prozessqualität  führt zu Produktequalität und zu zufriedenen Kunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;messen&#039;&#039;&#039;:&lt;br /&gt;
*Fehlerrate&lt;br /&gt;
*First Passs Yield (FPY): Anteil der ohne Nacharbeit fertig gestellten Teile&lt;br /&gt;
*Qualitätskosten: Vorbeugungskosten, Prüfkosten, Fehlerkosten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 10.4 Prozesskosten ===&lt;br /&gt;
&lt;br /&gt;
*Die Prozesskostenrechnung gibt verursachergerecht Auskunft darüber welche Ressourcen von welchem Teilprozess verbraucht werden. Dies wird durch das Herstellen des Zusammenhangs zwischen Prozessleistung, Ressourcenverbrauch und wirtschaftlichem Ergebnis ermöglicht.&lt;br /&gt;
&lt;br /&gt;
== 11 Kennzahlensysteme ==&lt;br /&gt;
&lt;br /&gt;
*Kennzahlen (auch Indikatoren genannt) sind abhängig voneinander und müssen aufeinander abgestimmt werden.&lt;br /&gt;
*Sie werden deshalb zu einem Kennzahlensystem zusammengefasst&lt;br /&gt;
&lt;br /&gt;
=== 11.1 Arten von Indikatoren ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Ergebniszahlen&#039;&#039;&#039;: Messen die Auswirkung der Unternehmensaktivitäten. Sie können erst nach einer be4stimmten Zeit nach Leistungserbringung ermittelt werden. Beispiele: Rentabilität, Marktanteil, Kuzu, Kundenloyalität, Mitarbeiterqualifikation.&lt;br /&gt;
*&#039;&#039;&#039;Leistungstreiber-Kennzahlen&#039;&#039;&#039;: zeigen auf wie die Ergebnisse zustande kommen. Können schon früh bestimmt werden und diesen deshalb als Prognosoe-Werkzeuge. Beispiele: Durchlaufzeiten, Taktzeiten, Time-to-Market.&lt;br /&gt;
&lt;br /&gt;
Für ein Kennzahlensystem ist ein ausgewogener Mix aus Ergebniskennzahlen und Leistungstreibern vorteilhaft. Sonst kann man entweder nur kurzfristig planen oder man weiss nicht wie die Ergebnisse zustande kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 11.2 Anforderungen an Indikatoren ===&lt;br /&gt;
&lt;br /&gt;
*müssen ausgewogen sein und unterschiedliche Unternehmensaspekte berücksichtigen&lt;br /&gt;
*Das Kennzahlensystem muss Spätindikatoren und Frühindikatoren enthalten.&lt;br /&gt;
*Kennzahlen müssen auf den Bedürfnissen der Kunden und anderer wichtiger Interessengruppen basieren.&lt;br /&gt;
*Das Kennzahlensystem muss in eine Systematik der Prozessverbesserung eingebettet sein.&lt;br /&gt;
*Nicht die Menge der Kennzahlen ist wichtig sondern deren Qualität und Aussagekraft.&lt;br /&gt;
*Die Erfassung der Kennzahlen muss einfach und für die Mitarbeiter nachvollziehbar sein.&lt;br /&gt;
&lt;br /&gt;
=== 11.3 Balanced Scorecard (BSC) ===&lt;br /&gt;
&lt;br /&gt;
*ist ein Beispiel für ein ausgewogenes Kennzahlensystem mit allen wichtigen Betriebsdaten.&lt;br /&gt;
*dient zum täglichen analysieren und steuern des Unternehmensgeschehens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;BSC&#039;&#039;&#039; besteht aus vier Perspektiven:&lt;br /&gt;
&lt;br /&gt;
*finanzielle Perspektive&lt;br /&gt;
*Markt- und Kundenperspektiven&lt;br /&gt;
*Perespektive der internen Prozesse&lt;br /&gt;
*lernen und Wachstum&lt;br /&gt;
&lt;br /&gt;
Zu jeder dieser Perspektiven werden ein paar aussagekräftige Kennzahlen bestimmt. Diese geben Auskunft über den Zustand des Unternehmens. Ziele und Kennzahlen werden aus der Vision und Strategie abgeleitet.&lt;br /&gt;
&lt;br /&gt;
== 12 Projekt &amp;quot;Prozessmodellierung&amp;quot; vorbereiten ==&lt;br /&gt;
&lt;br /&gt;
Um die wichtigsten Entscheidung in der Vorbereitungsphase zu treffend müsse folgende Fragen gestellt werden:&lt;br /&gt;
&lt;br /&gt;
*Welches sind die Auslöser des Projektes?&lt;br /&gt;
*Zielsetzungen?&lt;br /&gt;
*Welchen Zweck sollen die Modelle erfüllen?&lt;br /&gt;
*Welche Chancen und Risiken gibt es für das Projekt und was kann dann dazu getan werden?&lt;br /&gt;
*Welche Methode soll zum Einsatz kommen?&lt;br /&gt;
*Wie soll die Prozesshierarchie grundsätzlich aussehen?&lt;br /&gt;
*Welche Standard werden benötigt?&lt;br /&gt;
*Welches Werkzeug soll verwendet werden?&lt;br /&gt;
&lt;br /&gt;
=== 12.1 Einflussfaktoren ===&lt;br /&gt;
&lt;br /&gt;
Die Einflussfaktoren müssen mit Sorgfalt berücksichtigt werden:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Auslöser&#039;&#039;&#039;: Welche Umstände haben zum Projekt geführt?&lt;br /&gt;
*&#039;&#039;&#039;Zielsetzung&#039;&#039;&#039;: Was wird angestrebt? Woran ist der erfolgreiche Abschluss sichtbar?&lt;br /&gt;
*&#039;&#039;&#039;Anwendungsformen&#039;&#039;&#039;: Wie sollen die Prozessmodelle verwendet werden?&lt;br /&gt;
*&#039;&#039;&#039;Risiken&#039;&#039;&#039;: Welche Risiken sind erkennbar welche das Projekt gefärden können?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mögliche Auslöser für eine prozessorientierte Reorganisation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Auslöser.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ziele der Prozessmodellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ziele müssen schriftlich festgehalten werden. Von ihnen hängt ab welche Prozesse in welcher Reihenfolge modelliert werden und wie detailliert erhoben und dokumentiert werden soll&lt;br /&gt;
&lt;br /&gt;
Mögliche Ziele:&lt;br /&gt;
*Erhöhung Kuzu durch Ausrichtung der Aktivitäten auf den Kunden.&lt;br /&gt;
*gemeinsames betriebliches Verständnis und dadurch verbesserte Kommunikation&lt;br /&gt;
*Optimierung der Geschäftsabläufe&lt;br /&gt;
*Erhöhung der Flexibilität bei Marktveränderungen&lt;br /&gt;
*Klare Zuteilung von Verantwortlichkeiten&lt;br /&gt;
*Prozess-Sicht bei den Mitarbeitern fördern&lt;br /&gt;
*Verbesserung der Mitarbeitermotivation durch Delegation von Entscheidungen und Aufgaben an Prozessteams&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zielgruppe und Anwendungszweck&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wer braucht Prozessmodelle und zu welchem Zweck?&lt;br /&gt;
*Hängt von der Art der Verwendung ab und muss deshalb in der Vorbereitungsphase geklärt werden.&lt;br /&gt;
*wenn nur eine Doku erstellt werden soll, genügen grobe Ablaufdarstellung.&lt;br /&gt;
*Wenn die Modelle für eine Workflow-managementsystem verwendet werden, müsse die Prozesse sehr detailliert dargestellt werden.&lt;br /&gt;
&lt;br /&gt;
Im Übrigen kann es für den Projekterfolg und das interne Marketing von Vorteil sein, wenn mehrere Anwendungsarten gefunden werden können. Beispiele:&lt;br /&gt;
&lt;br /&gt;
*Organisationsdokumentation&lt;br /&gt;
*Prozessorientiere Reorganisation&lt;br /&gt;
*Einführung eines Qualitätsmanagementsystem&lt;br /&gt;
*Qualitäts Zertifizierung (z.B. nach ISO 9000:2000)&lt;br /&gt;
*TQM-Assessment (z.B. nach EFQM)&lt;br /&gt;
*Prozessoptimierung&lt;br /&gt;
*Prozesskostenrechnung&lt;br /&gt;
*Benchmarking (Vergleich mit gleichartigen Organisationen)&lt;br /&gt;
*Prozessorientiertes Wissensmanagement (KM = Knowledge Management)&lt;br /&gt;
&lt;br /&gt;
Informatik-orientierte Art der Anwendung&lt;br /&gt;
*Auswahl und Customizing von ERSP Software&lt;br /&gt;
*Ermittlung der Anforderungen für die Entwicklung einer Applikation&lt;br /&gt;
*Spezifikation von Workflows für den Einsatz eine sWFMS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme bei der Prozessmodellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Es gibt keine anerkannten Standards für die Prozessmodellierung. &lt;br /&gt;
*Es gibt keine allgemein gültige Vorgehensweise&lt;br /&gt;
*Es gibt keine Standars bei den Werkzeugen&lt;br /&gt;
*Es kann häufig nicht gesagt werden ob ein Modell richtig oder falsch ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
je nach Verwendung, Philosophie, Zielgruppe muss das optimalste verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chancen der Prozessmodellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Trotz der genannten Probleme ist die Prozessmodellierung zu einer weltweit akzeptierten Praxis geworden.&lt;br /&gt;
[[Image:Chancen Prozessmodellierung.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Risiken der Prozessmodellierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Jedes Projekt ist mit Risiken behaftet&lt;br /&gt;
*Es ist Aufgabe des PL am Anfang des Projektes die Risiken zu identifizieren. &lt;br /&gt;
*Risiken müssen gewichtet und wenn nötig Gegenmassnahmen bestimmt werden.&lt;br /&gt;
&lt;br /&gt;
Wichtigster Erfolgsfaktor des Risikomanagements ist die offenen Kommunikation über Risiken und Massnahmen&lt;br /&gt;
&lt;br /&gt;
Mögliche Risiken&lt;br /&gt;
*Mangelnde Unterstützung durch das Management&lt;br /&gt;
*Mangelnde Unterstützung durch die Mitarbeiter&lt;br /&gt;
*Widerstand beim Personal wegen Angst vor Veränderungen&lt;br /&gt;
*Mangelnde Verfügbarkeit von Fachexperten aus dem Betrieb&lt;br /&gt;
&lt;br /&gt;
präventive Gegenmassnahmen:&lt;br /&gt;
*Frühzeitige Information über die Zielsetzung&lt;br /&gt;
*Projektmarketing-Massnahmen&lt;br /&gt;
*Mitarbeiter einbeziehen&lt;br /&gt;
*Sichtbares Engagement der GL&lt;br /&gt;
*Team Coaching&lt;br /&gt;
*Frühzeitige Planung von Vertretern der Fachexperten&lt;br /&gt;
&lt;br /&gt;
== 13 Projekt abwickeln ==&lt;br /&gt;
&lt;br /&gt;
*Das Modellierungsprojekt ist ein Projekt wie jedes anderen&lt;br /&gt;
*Es muss geplant, überprüft und budgetiert werden.&lt;br /&gt;
*Es muss ein Projektantrag mit klaren Zielsetzungen und ausreichender Begründung gestellt werden&lt;br /&gt;
*Es müssen Verantwortlichkeiten und Rollen verteilt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 13.1 Projektphasen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projektphasen bei der GPO&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Vorstudie (Vorbereitung)&#039;&#039;&#039;&lt;br /&gt;
*festlegen Modellierungsgegenstand&lt;br /&gt;
*Aufnahme und Analyse der Anforderungen (Was)&lt;br /&gt;
*Festlegen der Zielsetzung&lt;br /&gt;
*Identifikation der Risiken&lt;br /&gt;
*Festlegen der Methode und Tools (Wie)&lt;br /&gt;
*Festlegen des Detaillierungsgrades&lt;br /&gt;
*Entwerfen des Rahmenmodells&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ist-Modellierung  Ist-Analyse&#039;&#039;&#039;&lt;br /&gt;
*Erhebung der relevanten Informationen&lt;br /&gt;
*Aktuellen Stand der Abläufe dokumentieren&lt;br /&gt;
*Analyse der Schwachstellen&lt;br /&gt;
*Ermitteln von Verbesserungspotenzialen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soll-Modellierung&#039;&#039;&#039;&lt;br /&gt;
*Entwickeln und Modellieren der neuen Abläufe&lt;br /&gt;
*Prüfen der neuen Abläufe&lt;br /&gt;
*Erarbeiten der neuen Aufbauorganisation&lt;br /&gt;
*definition der Anforderung an IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Implementation / Roll-out&#039;&#039;&#039;&lt;br /&gt;
*Umsetzung der erarbeiteten Prozessverbesserungen&lt;br /&gt;
*Umsetzung der neuen Aufbauorganisation&lt;br /&gt;
*Information und Ausbildung der betroffenen Mitarbeiter&lt;br /&gt;
*Entwicklung / Customizing / Anpassung und Einführung der Software&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projektphasen beim BPR&#039;&#039;&#039;&lt;br /&gt;
*Vorstudie&lt;br /&gt;
*Makro-Entwurf&lt;br /&gt;
*Mikro-Entwurf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 13.2 Projektorganisation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rollen&#039;&#039;&#039;&lt;br /&gt;
*Projektleiter&lt;br /&gt;
*Projektlenkungsausschuss. Überprüft des Projektvorschritts. Entscheiden über go/no-go. Treffen von Sachentscheidungen zum Projekt.&lt;br /&gt;
*Fachexperte&lt;br /&gt;
*Methodenexperte&lt;br /&gt;
*Modellierer&lt;br /&gt;
*Toolexperte&lt;br /&gt;
*Prozessverantwortliche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 14 Qualität sichern ==&lt;br /&gt;
&lt;br /&gt;
*zentrale Ergebnisse sind die Prozessmodelle und Dokumente&lt;br /&gt;
*um die Qualität sicherzustellen müssen Qualitätskriterien bestimmt und inhaltliche und formale Reviews durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== 14.1 Qualitätskriterien ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;Grundsätze ordnungsgemässer Modellierung (GoM&#039;&#039;&#039;) sind ein Versuch allgemein gültige Qualitätskriterien für Modell zu definieren.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz der Richtigkeit&#039;&#039;&#039;&lt;br /&gt;
Voraussetzung für ein qualitativ hochwertiges Modell ist, dass es den zu repräsentierenden Sachverhalt korrekt wiedergibt. Dieser Aspekt kennzeichnet die semantische Richtigkeit. Hierbei ist die Richtigkeit von Modellen grundsätzlich nicht beweisbar , sondern ergibt sich aus dem Konsens der Fach- und Methodenexperten, die ein Modell als zutreffend erachten. Von der semantischen Richtigkeit ist die syntaktische Richtigkeit abzugrenzen, welche die Einhaltung der ggf. individuell definierten Notationsregeln beschreibt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz der Relevanz&#039;&#039;&#039;&lt;br /&gt;
Es sollen nur die Sachverhalte modelliert werden, die für den zu Grunde liegenden Modellierungszweck relevant sind. Um das beurteilen zu können, müssen die Ziele der Modellierung expliziert werden. Anhand der expliziten Modellierungsziele können Entscheidungen über das Abstraktionsniveau der darzustellenden Sachverhalte sowie der zu verwendenden Modellierungstechniken getroffen werden. Der Grundsatz der Relevanz ist ausserdem für die Entwicklung zweckadäquater Modellierungstechniken hilfreich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz der Wirtschaftlichkeit&#039;&#039;&#039;&lt;br /&gt;
Intention des Grundsatzes der Wirtschaftlichkeit ist es, sicherzustellen, dass die Modellierungsaktivitäten in einem angemessenen Kosten-Nutzen-Verhältnis zueinander stehen. Es ist zu beachten, dass die Modellierungskosten den eigentlich verfolgten Nutzen der entstehenden Modelle nicht überkompensieren. Die wirtschaftliche Modellerstellung kann bspw. durch die Nutzung von Referenzmodellen gefördert werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz der Klarheit&#039;&#039;&#039;&lt;br /&gt;
Der Grundsatz der Klarheit trägt dem Tatbestand Rechnung, dass ein Modell nur von Nutzen ist, wenn es vom Adressaten auch verstanden wird. Abhängig vom Modellnutzer hat ein Modell einen adäquaten Grad an intuitiver Lesbarkeit aufzuweisen. So sind einerseits die Modellierungstechniken an sich nutzeradäquat auszuwählen und andererseits die Modelle mit Hilfe der Techniken möglichst klar und lesbar darzustellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz der Vergleichbarkeit&#039;&#039;&#039;&lt;br /&gt;
Der Grundsatz der Vergleichbarkeit wird als Ziel formuliert, weil in realen Anwendungssituationen ggf. mehrere Modelle nebeneinander existieren, die vergleichbar sein müssen. Besondere Bedeutung kommt aus betriebswirtschaftlicher Sicht dabei dem Vergleich von Ist- und Sollmodellen zu, damit aus den Modellen Gestaltungsempfehlungen abgeleitet werden können. Daneben sind Modelle vergleichbar zu gestalten, die mit unterschiedlichen Modellierungstechniken erstellt worden sind. Der Grundsatz der Vergleichbarkeit zielt auf den semantischen Vergleich zweier Modelle ab, d. h. es sind die mit zwei Modellen beschriebenen Inhalte hinsichtlich ihrer Deckungsgleichheit zu untersuchen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grundsatz des systematischen Aufbaus&#039;&#039;&#039;&lt;br /&gt;
Dieser Grundsatz hat seine Notwendigkeit in der Darstellung eines Sachverhalts aus unterschiedlichen Sichten, die zur Reduktion dessen Komplexität gebildet werden. Bei der Modellierung von Informationssystemen werden Daten-, Funktions-, Organisations- und Steuerungssicht oder die Struktur- und die Verhaltenssicht unterschieden. Mit dem Grundsatz des systematischen Aufbaus wird eine sichtenübergreifende, Aspekte einbeziehende Modellerstellung gefordert. Dieses Ziel wird zum einen mit einem sichtenübergreifenden Metamodell gefördert, das den Zusammenhang zwischen den unterschiedlichen Sprachkonstrukten herstellt. Zum anderen ist auch für den Modellinhalt eine konsistente sichtenübergreifende Modellierung zu fordern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 14.2 Modellqualität überprüfen ===&lt;br /&gt;
&lt;br /&gt;
Um sicherzustellen, dass die Modelle alle wesentlichen Informationen erhalten, empfiehlt es sich eine Checkliste zu verwenden. Diese könnte wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
*Werden die prozessauslösenden OE/Kunden konkrete bzw. in Ihrer Rolle genannt?&lt;br /&gt;
*Sind die Empfänger/Kunden konkret bzw.über ihrer Rollen identifiziert?&lt;br /&gt;
*Ist das Startereignis so formuliert, dass dass der relevante Bginn des Prozesses eindeutig feststeht?&lt;br /&gt;
*Ist der Input der Prozesse beschrieben?&lt;br /&gt;
*Ist der Prozess mit einer ID beschrieben (eindeutig identifierbar)&lt;br /&gt;
*Output festgelegt?&lt;br /&gt;
*Ist prozessende durch ein Endereignis fetgelegt?&lt;br /&gt;
&lt;br /&gt;
Formale Kriterien:&lt;br /&gt;
*richtiger Modelltyp verwendet?&lt;br /&gt;
*richtige Objekte und Beziehungen verwendet?&lt;br /&gt;
*Objekte richtig benannt?&lt;br /&gt;
*Notation korrekt angewendet?&lt;br /&gt;
Generell muss geprüft werden ob die in den Richtlinien (Konventionen) festgeschriebenen Regeln eingehalten wurden.&lt;br /&gt;
&lt;br /&gt;
Inhaltliche Prüfung:&lt;br /&gt;
*Ist das Modell vollständig?&lt;br /&gt;
*klar und verständlich?&lt;br /&gt;
*stimmt der Ablauf mitder realität überein?&lt;br /&gt;
*sind alel Informationen relevant?&lt;br /&gt;
*richtige OE zugeordnet?&lt;br /&gt;
*richtige Sachmittel/Applikationen zugeordnet?&lt;br /&gt;
*Detaillierungsgrad angemeesen gewählt?&lt;br /&gt;
*Schnittstellen richtig angelegt?&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M227_Zusammenfassung&amp;diff=144</id>
		<title>Informatiker FA M227 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M227_Zusammenfassung&amp;diff=144"/>
		<updated>2019-08-01T13:20:23Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;= Der Testprozess =  == Welche Standards fördern die Softwarequalität ==  *ISO 12207 Rahmen für Beschaffung, Lieferung, Entwicklung, Betrieb, Wartung) *Capability Maturity...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Der Testprozess =&lt;br /&gt;
&lt;br /&gt;
== Welche Standards fördern die Softwarequalität ==&lt;br /&gt;
&lt;br /&gt;
*ISO 12207 Rahmen für Beschaffung, Lieferung, Entwicklung, Betrieb, Wartung)&lt;br /&gt;
*Capability Maturity Model (CMM). Fünf Reifegrad-Stufen. Initialier Prozess, Wiederholbarer Prozess, Definierter prozess, Gesteuerter propzess, Optimierter Prozess&lt;br /&gt;
*ISA 15504 Kombination aus ISO 12205 und CMM&lt;br /&gt;
*Test Maturity Model (TMM). Fünf Stufen des Reifemodells: Unsystematisch, organisiert, Kostensenkend, Systematisch, Optimiert.&lt;br /&gt;
&lt;br /&gt;
[[Image:Beziehungen-Testprozess.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Beziehungen zur Qualitätssicherung ===&lt;br /&gt;
Die Abteilung &amp;quot;Qualitätssicherung&amp;quot; erarbeitet Qualitätstandards für das gesamte Unternehmen. Die Qualitätsrichtlinien werden im &#039;&#039;&#039;QS-Plan&#039;&#039;&#039; niedergeschrieben und sind verbindliche Rahmenbedingungen. Folgende zwei QS-Massnahmen werden grundsätzlich vorgeschlagen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konstruktive QS-Massnahmen:&#039;&#039;&#039;&lt;br /&gt;
*Qualität wird bereits beim Erstellen des Systems eingebracht.&lt;br /&gt;
*durh Vorgaben, Sprachen, Tools, organisatorische Regelungen, Standards, Checklisten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Analytische QS-Massnahmen&#039;&#039;&#039;&lt;br /&gt;
*überprüfen des erstellten Systems&lt;br /&gt;
*Verifizieren von Dokumenten&lt;br /&gt;
*Den Anforderungen gegenüber stellen.&lt;br /&gt;
&lt;br /&gt;
===Beziehungen zum Projektmanagement===&lt;br /&gt;
*Projekt innerhalb vorgegebener Zeit, den budgetierten Kosten und der gewünschten Qualität abliefern&lt;br /&gt;
*PL gibt &#039;&#039;&#039;Soll-Termine&#039;&#039;&#039; und Meilensteine vor&lt;br /&gt;
*PL gibt auch &#039;&#039;&#039;Soll-Kosten&#039;&#039;&#039; vor welche als Input für den &#039;&#039;&#039;Testplan&#039;&#039;&#039; dienen.&lt;br /&gt;
*PL gibt Akzeptanzkriterien vor. Diese fliessen in den Testentwurf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Beziehung zu Systementwicklung===&lt;br /&gt;
*Softwareentwicklungsprozess liefert zu prüfende Objekte&lt;br /&gt;
*Die Softwareentwicklung bearbeitet die erstellten Problemmeldungen&lt;br /&gt;
*Die QS Aktivitäten verifizieren die Artefakte (Verifikation und Validierung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testen im Phasenmodell&#039;&#039;&#039;&lt;br /&gt;
*Phasenmodel: Fachkonzept, DV-Konzept, Realisierung, Testphase, Einführung&lt;br /&gt;
*In der Phase &amp;quot;Realisierung&amp;quot; findet die Codeinstpektion und die Unit-Tests statt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V-Modell&#039;&#039;&#039;&lt;br /&gt;
*weit verbreitetes Vorgehensmodell&lt;br /&gt;
*Bewusste Genüberstellung der konstruktiven zu den prüfenden Aktivitäten&lt;br /&gt;
&lt;br /&gt;
[[Image:V-Modell.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testprozess im Rational Unified Process&#039;&#039;&#039;&lt;br /&gt;
*de-facto Standard in der objektorientierten Systementwicklung&lt;br /&gt;
&lt;br /&gt;
[[Image:Rup.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testen im Extreme Programming (XP)&#039;&#039;&#039;&lt;br /&gt;
*Einfaches Prozessmodell&lt;br /&gt;
*Softwaretests haben zentrale Bedeutung&lt;br /&gt;
&lt;br /&gt;
[[Image:ExtremeProgramming.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Beziehung zum Beschaffungsprozess===&lt;br /&gt;
*Im Gegensatz zum Systementwicklungsprozess wird das zu prüfende Objekte nicht selbst hergestellt, sonder eingekauft.&lt;br /&gt;
*Es sind Abnahmetests vorzusehen&lt;br /&gt;
*Die Kriterien sind im Voraus im Pflichtenheft sauber zu definieren&lt;br /&gt;
&lt;br /&gt;
= IT-Qualitätssystem =&lt;br /&gt;
&lt;br /&gt;
[[Image:IT-QS.gif]]&lt;br /&gt;
&lt;br /&gt;
Ziel eines IT-Systems ist es während der Betriebsphase den geplanten Nutzen für das Unternehmen zu erbringen. In einem verbindlichen QS-Plan werden zwei Arten von Qualitätssicherungs-Massnahmen unterschieden:&lt;br /&gt;
&lt;br /&gt;
*Konstruktive QS-Massnahmen (Vorgaben, Sprachen, Tools, organisatorische Regelungen, Standards, Checklisten&lt;br /&gt;
*Analytische QS-Massnahmen: überprüfen des erstellten Systems, Verifizieren von Dokumenten, den Anforderungen gegenüberstellen.&lt;br /&gt;
&lt;br /&gt;
== Welches sind die Prüfobjekte ==&lt;br /&gt;
*Anforderungsspezifikation (Use-Case-Modelle, Prozessmodelle, Datenmodelle etc.)&lt;br /&gt;
*Design(Eingabemasken, Architektur, Prozessbeschreibung, Reports, etc.)&lt;br /&gt;
*Sourcecode&lt;br /&gt;
*Lauffähige Anwendung inkl. Handbücher und Installationsanweisungen&lt;br /&gt;
*Betriebs- und Systemsoftware&lt;br /&gt;
*DBMS&lt;br /&gt;
*Hardware&lt;br /&gt;
*Netzwerk&lt;br /&gt;
&lt;br /&gt;
== Welche Qualitätsdimensionen weist ein IT-System auf ==&lt;br /&gt;
*Funktionalität. Aufgabenangemessenheit, Genauigkeit, korrekt, fehlerfrei, Verknüpfbarkeit mit anderen Anwendungen, Konformität z.B. zum Gesetz oder CI.&lt;br /&gt;
*Zuverlässigkeit. Robustheit, eine gewisse Reife, Fehlertoleranz, Wiederherstellbarkeit. Wird anhand Anzahl der Systemausfälle in einer bestimmten Zeitperiode gemessen. &lt;br /&gt;
*Benutzbarkeit. Ergonomie, Anwenderfreundlich, Bedienbarkeit, Erlernbarkeit, GUI-Standards.&lt;br /&gt;
*Effizienz. Antwortzeiten, Lastverhalten, Batchverarbeitung, Datendurchsatz, Skalierbarkeit&lt;br /&gt;
*Wartbarkeit. Unterbruchfreien Betrieb sicherstellen. Erweiterbarkeit, Parametrierung, Analysierbarkeit (für Erweiterung), Prüfbarkeit.&lt;br /&gt;
*Übetragbarkeit. Installierbarkeit (gemäss regeln des OS), Deinstallierbarkeit, Konformität, Austauschbarkeit, OS-Portierbarkeit.&lt;br /&gt;
&lt;br /&gt;
== Qualitätsmerkmale messen ==&lt;br /&gt;
*Für jedes Messverfahren muss ein Messverfahren festgelegt werden.&lt;br /&gt;
*Klar definierte Messbedingungen&lt;br /&gt;
*Messskala und Grenzwerte festlegen&lt;br /&gt;
&lt;br /&gt;
[[Image:QS-messen.gif]]&lt;br /&gt;
&lt;br /&gt;
= Teststrategie =&lt;br /&gt;
*Unternehmen werden von eine Vision getragen&lt;br /&gt;
*Aus der Vision wird die Unternehmensstrategie abgeleitet&lt;br /&gt;
*Darunter die IT-Strategie&lt;br /&gt;
*Das Qualitätsmanagement (QM) hat die Aufgabe die Qualität in allen Bereichen des Unternehmens zu erhalten bzw. zu steigern. Dort wird unter anderem der QS-Plan erstellt welcher die QS-Organisation regelt, die Aufgaben, Verantwortlichkeiten, und Schnittstellen vorgibt.&lt;br /&gt;
*Der QS-Plan beinhaltet weiter Methoden, Techniken, Richtlinien sowie Kontrollmassnahmen.&lt;br /&gt;
*In die Teststrategie fliessen die Vorgaben der IT-Strategie und des QS-Plan ein.&lt;br /&gt;
&lt;br /&gt;
Die Testpolitik regelt grundlegende Prinzipien zum Thema &amp;quot;Prüfen und TEsten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Definition und Bedeutung von Prüfen und Testen&lt;br /&gt;
*Definition des zu erreichenden Qualitätsniveaus&lt;br /&gt;
*Definition des Testprozesses und Zusammenspiel mit Unternehmensprozessen&lt;br /&gt;
*Metrik für Messungen&lt;br /&gt;
*Ansatz zur Optimierung des Testprozesses (z.B. TMM)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Testhandbug regelt dagegen konkrete Aspekte des Testprozesses:&lt;br /&gt;
*Projektübergreifende Richtlinien und Methodiken&lt;br /&gt;
*Darstellung der Risiken und Massnahmen&lt;br /&gt;
*Aufzuziehende Testorganisation&lt;br /&gt;
*Richtlinien Testumgebung (Infrastruktur, Testwerkzeuge)&lt;br /&gt;
*Workflow des Testprozesses&lt;br /&gt;
*Einsatz von Testmethoden und Testarten&lt;br /&gt;
*Firmeninternes Glossar&lt;br /&gt;
*Vorlagen für Test- und Berichtsdokumente&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Teststrategie.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Grundsätze beeinflussen des Testprozess? ==&lt;br /&gt;
*Alle menschlichen Erzeugnisse weisen Fehler auf&lt;br /&gt;
*Die Abwesenheit von Fehlern kann ab einer bestimmten Komplexität nur noch mit einem extrem Aufwand nachgewiesen werden.&lt;br /&gt;
*Der &#039;&#039;&#039;Summationseffekt&#039;&#039;&#039; bildet ein weiteres Problem: Fehler die z.B. in der Analysephase entstehen, führen zu einem mangelhaftem SW-Entwurf, der sich dann bei der Implementation fortsetzt.&lt;br /&gt;
*&#039;&#039;&#039;Faustregel: Je früher sich ein Fehler einschleicht und je später er entdeckt wird, desto teurer wird dessen Behebung&#039;&#039;&#039;&lt;br /&gt;
*Ein Entwickler sollte nicht sein eigenes Programm testen. (gleiche Überlegungsfehler)&lt;br /&gt;
*Die Tester müssen das Auffinden von Fehlern als Erfolg betrachten. (Wettbewerb fördern)&lt;br /&gt;
*&#039;&#039;&#039;Pareto-Prinzip&#039;&#039;&#039;: 80-zu-20-Regel, besagt, dass 80 % der Ergebnisse in 20 % der Gesamtzeit eines Projekts erreicht werden. Die verbleibenden 20 % der Ergebnisse verursachen die meiste Arbeit.&lt;br /&gt;
*Wo ein Fehler gefunden wird, ist es wahrscheinlich, dass noch weitere Fehler existieren.&lt;br /&gt;
*implizite Qualitätsanforderungen: Nicht alle Qualitätsmerkmale lassen sich explizit (schriftlich) festhalten. Das Einhalten bestimmter GUI-regelen wird z.B. automatisch vorausgesetzt. &lt;br /&gt;
*Ein Benutzer darf in keine Falle laufen. Ein Benutzer darf aufgrund einer Fehleingabe keine Daten und/oder kostbare Zeit verlieren.&lt;br /&gt;
&lt;br /&gt;
== Welches ist das optimal Testvorgehen ==&lt;br /&gt;
*ein inkrementelles Vorgehen ist oft besser als ein Big Bang&lt;br /&gt;
*Test soll parallel zur Systementwicklung ablaufen&lt;br /&gt;
*Die Integrationstests können dadurch in einem frühen Stadium vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
=== Top-Down Verfahren ===&lt;br /&gt;
*eignet sich vor allem für ein frühes Stadium&lt;br /&gt;
*Mit Hilfe eines Prototyps kann das Aussehen und die Abläufe mit dem Auftraggeber besprochen werden.&lt;br /&gt;
*Noch nicht entwickelte Module werden durch Stubs (Dummies, Testrümpfe) ersetzt.&lt;br /&gt;
*Bei diesem Verfahren stehen die einzelnen Anwendungsfälle beim Testen im Vordergrund.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bottom-Up Verfahren ===&lt;br /&gt;
*bewährt sich im fortgeschrittenen Stadium&lt;br /&gt;
*die entwickelten Module werden im Detail getestet&lt;br /&gt;
*die aufrufende Software wird durch &amp;quot;Drivers&amp;quot; simuliert.&lt;br /&gt;
*In diesem verfahren geht man von der bestehenden Funktionalität aus.&lt;br /&gt;
&lt;br /&gt;
Manchmal lässt sich die Reihenfolge der zu entwickelnden Komponenten nicht streng nach Bottom-Up oder Top-Down realisieren. Dann werden die Module &#039;&#039;&#039;ad hoc&#039;&#039;&#039; nach deren Fertigstellung integriert. Eine andere Variante ist die bewusste Priosierung der komplexen und risikoreichen Module: &#039;&#039;&#039;hardest first&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Wie werden die Testfälle ermittelt? ==&lt;br /&gt;
&lt;br /&gt;
=== Methodisches versus exploratives Vorgehen ===&lt;br /&gt;
&lt;br /&gt;
Vorteile methodisches Vorgehen:&lt;br /&gt;
*Abdeckung der Fälle berechenbar&lt;br /&gt;
*Testfortschritt messbar&lt;br /&gt;
*Deshalb für kritische Systeme weitgehend methodisch vorgehen.&lt;br /&gt;
&lt;br /&gt;
exploratives Vorgehen:&lt;br /&gt;
*intuitive Vorgehensweise&lt;br /&gt;
*Testen methodisch nicht erfassten Fälle&lt;br /&gt;
*Aufgrund persönlicher Erfahrung werden mögliche Fehler erahnt.&lt;br /&gt;
*unübliche Konstellationen können getestet werden&lt;br /&gt;
*Beim ad hoc Test werden die Testfälle spontan ermittelt und ausgeführt&lt;br /&gt;
*Beim unsymetrischen Test wird ohne im Voraus definiertes System getestet&lt;br /&gt;
*Beim Zufallstest werden Testfälle zufällig ausgewählt&lt;br /&gt;
*Beim Guerilla-Testen testet man unerlaubtes. Falsche Eingaben, alle Tasten gleichzeitig, Strom abstellen etc.&lt;br /&gt;
*Darf nicht mit chaotischem Testen verwechselt werden.&lt;br /&gt;
*Für Frontends gut geeignet.&lt;br /&gt;
&lt;br /&gt;
Explorative Tests sind vor allem bei System- und Abnahmetests zu empfehlen und haben folgende Vorteile:&lt;br /&gt;
*Kann grosse Zeitersparnisse mit sich bringen.&lt;br /&gt;
*Erfahrung des Testers kann voll genutzt werden.&lt;br /&gt;
*Hohe Flexibilität während des Testens&lt;br /&gt;
*Systemfunktion kann während des Testens erforscht werden, was zu neuen, vorher nicht erkennbaren, Testfällen führen kann.&lt;br /&gt;
&lt;br /&gt;
=== Methodische Testfallermittlung ===&lt;br /&gt;
&lt;br /&gt;
Je nach Phase werden schwerpunktmässig andere Testmethoden ausgewählt:&lt;br /&gt;
&lt;br /&gt;
*Modul- und Unittest: Whitebox- und/oder Blackboxtest&lt;br /&gt;
*Integrationstest: Greybox-Test&lt;br /&gt;
*Systemtest: Blackbox-Test&lt;br /&gt;
&lt;br /&gt;
[[Image:Testmethoden.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitebox-Test&#039;&#039;&#039; (strukturelles Testverfahren)&lt;br /&gt;
*setzt detaillierte Kenntnisse des Systems voraus.&lt;br /&gt;
*Anhand des Sourcecodes und den Anforderungen wird gezielt getestet&lt;br /&gt;
*Weil beim erstellen Sourcecode Teile noch fehlen können, müssen die Detailspezifikationen für das Testen ebenfalls beigezogen werden.&lt;br /&gt;
*Die Testabdeckung zeigt anhand der inneren Struktur den prozentuellen Abdeckungsgrad. (Welche Programmpfade wurden schon getestet). Dazu können Coverage-Monitore eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:Testabdeckungsgrade.gif]]&lt;br /&gt;
&lt;br /&gt;
Beispiel einer Adeckungsanalyse:&lt;br /&gt;
&lt;br /&gt;
[[Image:Abdeckungsanalyse.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Greybox-Test&#039;&#039;&#039;&lt;br /&gt;
*wird vor allem beim Integrationstest eingesetzt&lt;br /&gt;
*Die Tester kennen den Source-Code der einzelnen Module nicht. Sie betrachten die einzelnen Programme also im Blackbox-Verfahren.&lt;br /&gt;
*Das Zusammenspiel und die Ablauffolge der einzelnen KOmponenten ist aber bekannt. Die Testfallauswahl erfolgt somit im Whitebox-Verfahren.&lt;br /&gt;
*Es wird somit geprüft ob alle Komponenten mindestens einmal getestet werden. (Komponentenabdeckung)&lt;br /&gt;
*Zeitreihen können eine wichtige Rolle spielen (z.B. mehrere Änderungen an einer Adresse)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Blackbox-Test&#039;&#039;&#039;&lt;br /&gt;
*Wird vor allem beim Systemtest angewendet&lt;br /&gt;
*Die Tester kümmern sich nicht um die innere Struktur.&lt;br /&gt;
*Getestet wird das erwartete Verhalten und die definierten Schnittstellen&lt;br /&gt;
*wird deshalb funktionelles Testverfahren genannt&lt;br /&gt;
*Ausgangsbasis: Anwendungsfälle (Use Cases), Anforderungen aus dem Pflichtenheft und dem Systementwurf.&lt;br /&gt;
&lt;br /&gt;
Testfälle werden auf Grund von &#039;&#039;&#039;Äquivalenzklassen&#039;&#039;&#039; und &#039;&#039;&#039;Grenzwertanalysen&#039;&#039;&#039; gebildet&lt;br /&gt;
&lt;br /&gt;
*Äquivalenzklassen = gleichartiges Verhalten&lt;br /&gt;
*Es werden alle Äquivalenzklassen ermittelt und je ein Vertreter der Klassen gibt einen Testfall der alle anderen möglichen Fälle der anderen Klassen vertritt.&lt;br /&gt;
&lt;br /&gt;
In der &#039;&#039;&#039;Grenzwertanalys&#039;&#039;&#039; werden alle Fälle bei Wertübergängen erfasst und die Tests konzentrieren sich auf diese Übergänge in der Annahme, dass sich die Werte dazwischen gleich verhalten.&lt;br /&gt;
&lt;br /&gt;
Beispiel einer &#039;&#039;&#039;Äquivalenzklassenbildung&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aequivalenzklassenbildung.gif]]&lt;br /&gt;
&lt;br /&gt;
Beispiel einer &#039;&#039;&#039;Grenzwertanalyse&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Grenzwertanalyse.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zustandsbezogene Tests ===&lt;br /&gt;
&lt;br /&gt;
*gehört zum Blackbox-Testing&lt;br /&gt;
*Es gibt Programmobjekte welche sich bei mehrmaligem Aufruf unterschiedlich verhalten (je nach State)&lt;br /&gt;
*Die Aktion hängt von der Historie ab&lt;br /&gt;
*Dies wird in einem Zustandsdiagramm dargestellt&lt;br /&gt;
*Aufgrund der möglichen Zustände und Übergänge wird ein Übergangsbaum erstellt.&lt;br /&gt;
&lt;br /&gt;
Die folgende Komponenten steuert die Zutrittskontrolle eines Unternehmens. Die maximal Anzahl der Mitarbeiter die Zutritt haben, wird dem Personalbestand entnommen. Je nach Zustand wird der Zutritt gewährt oder abgelehnt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel eines &#039;&#039;&#039;Zustandsdiagramm&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zustandsdiagramm.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Übergangsbaum&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Uebergangsbaum.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Diversifizierendes Testen ===&lt;br /&gt;
&lt;br /&gt;
Back-to-Back-Test&lt;br /&gt;
*zwei Programmierer erhalten die selben Spezifikation&lt;br /&gt;
*beide entwickeln Module&lt;br /&gt;
*beide Module werden getestet&lt;br /&gt;
*wenn beide Module das selbe Resultat liefern kann man davon ausgehen, dass die getesteten Fälle korrekt sind.&lt;br /&gt;
&lt;br /&gt;
Mutationentest&lt;br /&gt;
*In einer Version wird bewusst ein Fehler oder eine Erweiterung eingebaut&lt;br /&gt;
*Beide Version werden gleich getestet&lt;br /&gt;
*Wenn sich sich identisch verhalten, kann man davon ausgehen, dass ein Fehler existiert.&lt;br /&gt;
&lt;br /&gt;
=== Risikoorientiertes Vorgehen ===&lt;br /&gt;
*Oft fehlt die Zeit um alles ausgiebig zu testen&lt;br /&gt;
*Deshalb müssen die Objekte in Risikokategorien eingeteilt werden.&lt;br /&gt;
*Das &#039;&#039;&#039;Risiko&#039;&#039;&#039; entspricht der Eintrittswahrscheinlichkeit multipliziert mit dem finanziellen Schadensausmass&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Externe Risiken (nicht beeinflussbar): &lt;br /&gt;
*Naturereignisse &lt;br /&gt;
*Politische, gesetzliche Veränderungen &lt;br /&gt;
*Gesellschaftliche Veränderungen &lt;br /&gt;
*Marktwirtschaftliche Veränderungen &lt;br /&gt;
&lt;br /&gt;
Strategische Risiken (schwer beeinflussbar) &lt;br /&gt;
*Organisatorische Veränderungen &lt;br /&gt;
*Finanzielle Risiken &lt;br /&gt;
&lt;br /&gt;
Projektrisiken (relativ gut beeinflussbar) &lt;br /&gt;
*Vertragserfüllung &lt;br /&gt;
*Mitarbeiter &lt;br /&gt;
*Termine &lt;br /&gt;
*Synchronisation bzw. Abhängigkeiten zu anderen Tätigkeiten &lt;br /&gt;
*Ressourcen &lt;br /&gt;
*Kommunikation &lt;br /&gt;
&lt;br /&gt;
Produktrisiken (relativ gut beeinflussbar): &lt;br /&gt;
*Funktionale Fehler &lt;br /&gt;
*Akzeptanz durch die Benutzer &lt;br /&gt;
*Systemintegration und -konfiguration &lt;br /&gt;
*Mengen (Datenmenge, Anzahl Benutzer, Anzahl Transaktionen) &lt;br /&gt;
*Image des Unternehmens &lt;br /&gt;
*Sicherheit des Systems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim risikoorientierten Vorgehen wird jedem Objekt eine Kritikalität zugewiesen. Z.B.&lt;br /&gt;
*&#039;&#039;&#039;Sehr&#039;&#039;&#039; hoch: gefährdet Unternehmen oder sogar Leben&lt;br /&gt;
*&#039;&#039;&#039;Hoch&#039;&#039;&#039;: kann zu massiven materiellen oder immateriellen Schäden führen.&lt;br /&gt;
*&#039;&#039;&#039;Mittel&#039;&#039;&#039;: kann zu kalkulierbaren Schäden führen&lt;br /&gt;
*&#039;&#039;&#039;Niedrig&#039;&#039;&#039;: kann zu geringen Schäden führen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Testarten =&lt;br /&gt;
&lt;br /&gt;
*Beim statischen Prüfverfahren werden die einzelne Artefakte (z.B. Anforderungsdokument, Analyse-, Designmodell, SourceCode, tech Doku) genauer unter die Lupe genommen.&lt;br /&gt;
*Beim dynamischen Prüfverfahren (Testen im eigentlichen Sinn) werden Systems ausgeführt und Fehlerwirkungen nachgewiesen. Anhand der Resultate suchen die Entwickler danach die Fehler.&lt;br /&gt;
&lt;br /&gt;
== Statische Prüfverfahren ==&lt;br /&gt;
&lt;br /&gt;
*QS-Überwachung&lt;br /&gt;
*Prüfung primär durch Menschen&lt;br /&gt;
*Es gibt aber auch unterstützende Tools die den Code oder die Dokumente analysiseren.&lt;br /&gt;
*Hauptziel: Fehler in einer möglichst frühen Phase erkennen und beheben.&lt;br /&gt;
&lt;br /&gt;
=== Informelles Review ===&lt;br /&gt;
*wird nicht angeordnet&lt;br /&gt;
*Der Autor wird selber aktiv und bitte Arbeitskollegen zu einer ad hoc Sitzung.&lt;br /&gt;
*Eine einfachere Variante ist die die Zustellung mit der Bitte zu einer Stellungsnamen (mit Termin)&lt;br /&gt;
*Bei &#039;&#039;&#039;einem Peer Rating&#039;&#039;&#039; sind die Projektmitarbeiter örtliche getrennt. Das prüfobjekt wird dann mit einer Checkliste und einem Beurteilungsbogen zugestellt.&lt;br /&gt;
&lt;br /&gt;
=== Walktrough ===&lt;br /&gt;
*mit einem mehr oder weniger struktierten Vorgehen wird die Qualität des Prüfobjektes verbessert.&lt;br /&gt;
*in einer entspannten Atmosphäre&lt;br /&gt;
*möglichst viele Fehler oder Regelverstösse finden.&lt;br /&gt;
*miteinander eine gute Lösung finden&lt;br /&gt;
*mit einer &#039;&#039;&#039;prüfobjektorientierter&#039;&#039;&#039; Checkliste kann die Effizienz markant gesteigert werden.&lt;br /&gt;
&lt;br /&gt;
=== Technisches Review ===&lt;br /&gt;
*formelle Prüfungsart&lt;br /&gt;
*werden von PL angeordnet&lt;br /&gt;
*Moderator stellt Objekt mehreren Experten zur Verfügung&lt;br /&gt;
*In einer gemeinsamen Sitzung wird beurteilt.&lt;br /&gt;
*Der Autor beantwortet nur gestellt Frage oder klärt Missverständnisse, hält sich aber sonst zurück.&lt;br /&gt;
*Es wird ein Protokoll geführt. (evtl. durch den Autor)&lt;br /&gt;
*Mögliche Beschlüsse: Freigabe, Freigabe mit Vorbehalt, Zurückweisung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Inspektion ===&lt;br /&gt;
*Schwerpunkt liegt bei der Überprüfung klar definierter Anforderungen (Codekonventionen, Ressourcengebrauch, Schnittstellenkonformität)&lt;br /&gt;
*ist ebenfalls formelle Prüfung&lt;br /&gt;
*der Ablauf entspricht dem beim technischen Review&lt;br /&gt;
&lt;br /&gt;
=== Audit ===&lt;br /&gt;
*wird i.d.R. vom Management angeordnet&lt;br /&gt;
*ein Gegenstand wird auf die Erfüllung externer Anforderungen untersucht&lt;br /&gt;
*geschieht im Rahmen eines &#039;&#039;&#039;Assesements&#039;&#039;&#039;.&lt;br /&gt;
*kann sowowohl Dokumentenstudium wie ciah Sitzungen und Interviews umfassen.&lt;br /&gt;
*wird durch einen Assementbericht abgeschlossen. Die gibt eine Beurteilung des Ist-Zustandes und eine Empfehlung für den Soll-Zustand ab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dynamische Prüfverfahren ==&lt;br /&gt;
&lt;br /&gt;
*Tests im eigentliche Sinne&lt;br /&gt;
*Lauffähige Systeme werden gegenüber den Erwartungen validiert.&lt;br /&gt;
*Je nach Phase werden steten andere Testarten zur Verfügung&lt;br /&gt;
&lt;br /&gt;
[[Image:V-Modell.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Testarten, die statische Prüfverfahren unterstützen ===&lt;br /&gt;
*jede Testart lässt sich einer Teststufe zuordnen&lt;br /&gt;
*Die Planung des durchzuführenden Testarten wird deshalb &#039;&#039;&#039;Teststufenplan&#039;&#039;&#039; genannt.&lt;br /&gt;
*&#039;&#039;&#039;Testaktivitäten&#039;&#039;&#039; unterstützen die statischen Prüfverfahren&lt;br /&gt;
*In der Analyse- und Entwurfsphase werden &#039;&#039;&#039;Prototypen&#039;&#039;&#039; entwickelt.&lt;br /&gt;
*Der &#039;&#039;&#039;Prototyptest&#039;&#039;&#039; erfolgt in einem &#039;&#039;&#039;Review&#039;&#039;&#039;.&lt;br /&gt;
*Wird SW nicht selber entwickelt, wird dies über einen Evaluationsprozess. Während der Auswahl erfolgt ein &#039;&#039;&#039;Proof-of-Concept&#039;&#039;&#039;. Dabei führt der Lieferant eine Testinstallation beim Kunden durch.&lt;br /&gt;
&lt;br /&gt;
=== Unit-Tests ===&lt;br /&gt;
*Während der Implementation testen Entwickler fortlaufend. Diese Tests sind Bestandteil des SW-Entwicklungsprozesses.&lt;br /&gt;
*Der Unit-Test ist jedoch Bestandteil, des Testprozesses&lt;br /&gt;
*Hier werden Bestandteile als separate &amp;quot;Units&amp;quot; getestet (Funktionalität, Schnittstellen)&lt;br /&gt;
*Mit Negativtests (Eingaben welche fehler verursachen müssen) wird Robustheit getestet.&lt;br /&gt;
*Zeitverhalten wird geprüft.&lt;br /&gt;
*Überprüfung der Wartbarkeit mittels Review oder Inspektion.&lt;br /&gt;
*Unit-Tests können mit der White- oder Blackboxmethode durchgeführt werden.&lt;br /&gt;
*Testtreiber und Analysatoren unterstützen den Tester bei der Automatisierung und der Auswertung.&lt;br /&gt;
&lt;br /&gt;
Bezeichnungen für Unit-Test (je nach Prüfobjekt)&lt;br /&gt;
*Modultest&lt;br /&gt;
*Programmtest&lt;br /&gt;
*Klassentest&lt;br /&gt;
*Komponententest&lt;br /&gt;
*Datenbanktest&lt;br /&gt;
&lt;br /&gt;
=== Integrationstest ===&lt;br /&gt;
*Das Zusammenspiel der einzelnen Komponenten und die Schnittstellen zu dem Umsystemen wird geprüft.&lt;br /&gt;
*Die einzelnen Schichten (n-tier) werden geprüft.&lt;br /&gt;
*Danach dir Schnittstellen zu den anderen Schichten.&lt;br /&gt;
*Hardwarekompatiblität und Betriebssystemkompatibilität wird geprüft.&lt;br /&gt;
*Auch das Netzwerk ergibt eine breite Palette an Testfällen&lt;br /&gt;
&lt;br /&gt;
Mit dem Integrationstest soll nicht gewartet werden bis alle Unit-tests abgeschlossen sind.&lt;br /&gt;
&lt;br /&gt;
=== Systemtest ===&lt;br /&gt;
*Nach dem Integrationstest folgt der Systemtest. &lt;br /&gt;
*Hier wird das ganze System getestet. &lt;br /&gt;
*Ziel  ist es, die geforderte Systemqualität nachzuweisen&lt;br /&gt;
&lt;br /&gt;
[[Image:Systemtest.gif]&lt;br /&gt;
&lt;br /&gt;
Neben den eigentlichen Testspezialisten können auch andere Fachbereiche vertreten sein (Netzwerkspezialist, Systemspezialist, Andwende etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Funktionstest&#039;&#039;&#039;&lt;br /&gt;
*sämtliche Anwendungsfälle (Use Cases) werden getestet.&lt;br /&gt;
*Vollständigkeit und Richtigkeit steht im Vordergrund&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Benutzerbarkeitstest&#039;&#039;&#039;&lt;br /&gt;
*GUI-regeln werden geprüft&lt;br /&gt;
*sachlich logische und intuitive Benutzerführung&lt;br /&gt;
*einfache Erlernbarkeit&lt;br /&gt;
*Dokumentation&lt;br /&gt;
*kontextsensitive Hilfe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installationstest&#039;&#039;&#039;&lt;br /&gt;
*verschiedene Betriebssystemvarianten&lt;br /&gt;
*Sprachen&lt;br /&gt;
*Installation muss automatisch ablaufen&lt;br /&gt;
*saubere Deinstallation&lt;br /&gt;
*Upgradeinstallationen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zertifizierungstest / Kompatiblitätstest&#039;&#039;&#039;&lt;br /&gt;
Die Kompatiblität muss auf drei Ebenen sichergestellt werden&lt;br /&gt;
*Hardware und Netzwerk&lt;br /&gt;
*Betriebssoftware&lt;br /&gt;
*Andere veknüpfte Anwendungssoftware&lt;br /&gt;
&lt;br /&gt;
Folgede Zertifizierungen sind denkbar:&lt;br /&gt;
*Hardware-Anbieter&lt;br /&gt;
*OS Anbieter&lt;br /&gt;
*Amtliche Stellen (z.B. SUVA)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perfomancetest&#039;&#039;&#039;&lt;br /&gt;
*Beim &#039;&#039;&#039;Lasttest&#039;&#039;&#039; wird die Effizienz und Zuverlässigkeit geprüft. Systemlast wird simuliert. Antwortzeiten interessieren.&lt;br /&gt;
*Beim &#039;&#039;&#039;Stresstest&#039;&#039;&#039; wird die Systemlast bis zum Zusammenbruch erhöht. System muss wie erwartet reagieren (z.B. Meldungen auslösen und regulierende Massnahmen auslösen). Darf nicht kommentarlos zusammenbrechen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Benchmark-Test&#039;&#039;&#039;&lt;br /&gt;
*genormte Messverfahren&lt;br /&gt;
*Kriterien werden miteinander verglichen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Katastrophentest&#039;&#039;&#039;&lt;br /&gt;
*Extremsituationen werden simuliert (Stromausfall, Disk-Crash, netzwerkausfall)&lt;br /&gt;
*Im Idealfall soll System automatisch wieder im letzten konsistenten Zustand anlaufen.&lt;br /&gt;
*Auch organisatorische und bauliche Massnahmen werden mit einbezogen (z.B. Feuerschutz)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sicherheitstest&#039;&#039;&#039;&lt;br /&gt;
*Datensicherheit (keine Daten dürfen verloren gehen)&lt;br /&gt;
*Datenschutz&lt;br /&gt;
*Penterationtests&lt;br /&gt;
*Ethical Hacking (von innen, von aussen, angekündet, nicht angekündet, physischer Zugang, remote Zugang, Tarnen als Mitarbeiter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Abnahmetest ===&lt;br /&gt;
&lt;br /&gt;
*Beim Abnahmetest geht es um die Beurteilung aus Sicht es Kunden&lt;br /&gt;
*Ein erfolgreicher Abnahmetest entlastet das Entwicklungsteam und bestätigt, dass alle Anforderungen vollumfänglich erfüllt sind.&lt;br /&gt;
&lt;br /&gt;
Varianten Abnahmetest:&lt;br /&gt;
*Test der vertraglichen vereinbarten Akzeptanz&lt;br /&gt;
*Test der Benutzerakzeptanz&lt;br /&gt;
*Test der Akzeptanz durch den Systembetreiber&lt;br /&gt;
*Verknüpfung des Abnahmetests mit einem Livetest.&lt;br /&gt;
&lt;br /&gt;
Probleme bereiten iommer wieder nicht explizit erwähnte Anforderungen die sich aus Industriestandards oder Usanzen ergeben. Empfehlung: Solche Anforderungen immer explizit in den Vertrag nehmen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Live-Test ===&lt;br /&gt;
*findet in der produktiven Umgebung statt&lt;br /&gt;
*erhöht die Sicherheit, dass die Anforderungen im produktiven Umfeld erfüllt werden.&lt;br /&gt;
*Live-test ist oft Abnahmetest.&lt;br /&gt;
*begrenzter Zeitrahmen&lt;br /&gt;
&lt;br /&gt;
[[Image:Live-Test.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parallebetrieb&#039;&#039;&#039;&lt;br /&gt;
*altes und neues System laufen eine bestimmte Zeit lang parallel&lt;br /&gt;
*resultate werden laufen verglichen&lt;br /&gt;
*aufwändiges System&lt;br /&gt;
*kann nur für kritische Projekte eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pilotbetrieb&#039;&#039;&#039;&lt;br /&gt;
*ein Teilbereich eines Unternehmens arbeitet eine bestimmte Zeit lang auf dem neuen System. Die anderen auf dem alten&lt;br /&gt;
*Wenn Mängel auftreten wird nicht das komplette Unternehmen beeinträchtigt.&lt;br /&gt;
*Wenn sich das neues System bewährt, kann dieses für das ganze Unternehmen freigegeben werden.&lt;br /&gt;
*Dieses Verfahren kann nur eingesetzt werden wenn keine Integrationsschwierigkeiten mit den bestehenden Systen der anderen OE auftreten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beta-Test-Phase&#039;&#039;&#039;&lt;br /&gt;
*hat sich bei Standardsoftware eingebürgert welche an ein breites Publikum verkauft wird.&lt;br /&gt;
*Benutzer melden sich meist freiwillig&lt;br /&gt;
*Das Risiko ist beim Tester&lt;br /&gt;
*Die Fehler werden beim SW-Hersteller gesammelt und jenachdem wird ein zweiter Beta oder Finalrelease herausgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Regressionstest ===&lt;br /&gt;
*Bei jeder Änderung des Systems besteht das Risiko von Sideeffects.&lt;br /&gt;
*Das Configmanagement regelt den Änderungs- und releaseprozess&lt;br /&gt;
*bevor ein neues Release freigegeben wird, mus sein Set von Tests durchgeführt werden.&lt;br /&gt;
*Diese Testwiederholung wird Regressionstest genannt.&lt;br /&gt;
*Diese sind i.d.R. risikoorientiert.&lt;br /&gt;
*hoher Automatisationsgrad&lt;br /&gt;
*Ein Subset der wichtigsten Tests wird &#039;&#039;&#039;Smoke-Test&#039;&#039;&#039; genannt und sollte vollautomatisch ablaufen.&lt;br /&gt;
&lt;br /&gt;
= Testorganisation =&lt;br /&gt;
&lt;br /&gt;
Damit Menschen effizient arbeiten können, müssen sie sich organisieren. Zwei Aspekte spielen eine Rolle:&lt;br /&gt;
*Aufbauorganisation&lt;br /&gt;
*(Prozessorganisation) Ablauforganisation&lt;br /&gt;
&lt;br /&gt;
== Welche Rolle können Projektmitarbeiter im Testprozess übernehmen ==&lt;br /&gt;
*Die Testorganisation ist ein Teil der Projektorganisation&lt;br /&gt;
*Die Rollen sind in der Teststrategie zu definieren.&lt;br /&gt;
*Innerhalb eines Projektes werden den Rollen Personen zugeordnet.&lt;br /&gt;
*Eine Person kann mehrere Rollen haben&lt;br /&gt;
*Nicht in allen Projekten wird jede Rolle benötigt. Einen Restdesigner, Testmanager und mindestens ein tester werden aber immer benötigt.&lt;br /&gt;
&lt;br /&gt;
[[Image:OrganigrammTestteam.gif]]&lt;br /&gt;
&lt;br /&gt;
möglich Rollen mit ihren typischen Skills:&lt;br /&gt;
&lt;br /&gt;
[[Image:TestSkills.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aus welchen Teilschritten besteht der Testprozess == &lt;br /&gt;
&lt;br /&gt;
*Der Test ist ein phasenübergreifende, nebenher laufender Prozess&lt;br /&gt;
*wird auch Testverfahren oder Testvorgehensweise genannt.&lt;br /&gt;
*ANSI/IEEE 829 definiert die einzelnen Phasen und die daraus resultierenden Dokumente&lt;br /&gt;
&lt;br /&gt;
[[Image:ANSI IEE 829.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Test planen ===&lt;br /&gt;
*Der Testmanager erstellt parallel zum Design des Systems das Testkonzept (auch Testplan ider Prüfplan genannt). Wichtige Informationen aus den Anforderungen und dem Entwurf des neuen Systems fliessen in die Planung der zu testenden Funktionen.&lt;br /&gt;
*Grundlagen für den Testplan bilden der QS-Plan, die Teststrategie, die Anforderungs- und Entwurfsdokumente sowie der Projketplan.&lt;br /&gt;
*Für jedes Testobjekt wird der gewünschte minimale Qualitätsstandard definiert.(ohne Details)&lt;br /&gt;
*Aufbauorganisation wird anhand der notwendigen Ressourcen definiert und bei der PL beantragt.&lt;br /&gt;
*Restumgebung und Testwerkzeuge werden festgelegt und Beschaffung bzw. Bereitstellung beantragt.&lt;br /&gt;
*Ressourcen- und Zeitplan werden wenn möglich toolgestützt mit dem TL abgestimmt (z.B. MS Project)&lt;br /&gt;
&lt;br /&gt;
=== Test entwerfen ===&lt;br /&gt;
&lt;br /&gt;
*Anhand des Testplans und den Anforderungen erstellt der testdesigner die &#039;&#039;&#039;Testentwurfsspezifikation&#039;&#039;&#039;. Dies läuft paralell zu den Designarbeiten.&lt;br /&gt;
*Der Entwickler kann seine eigenen Unit-tests bereits darauf abstützen.&lt;br /&gt;
*Für jede zu testende Funktion gemäss Testplan wird das &#039;&#039;&#039;Testverfahren&#039;&#039;&#039; festgelegt&lt;br /&gt;
*Der testdesigner bestimmt die Testmethode.&lt;br /&gt;
*Daraus leitet er die Testfälle ab (ohne Details)&lt;br /&gt;
*Er kreiert auch einzelnen Testszenarien (zusammenhängende, logische Testfälle)&lt;br /&gt;
*Ein einzelnes Testdrehbuch handelt ein solches Testszenario ab.&lt;br /&gt;
*Auf Grund der Qualitätskriterien werden Pass- und Failkriterein festgelegt.&lt;br /&gt;
&lt;br /&gt;
=== Test spezifizieren ===&lt;br /&gt;
*Auf Grund der im Testentwurf aufgeführten Testfälle spezifiziert der Testdesigner die Details der einzelnen Fälle.&lt;br /&gt;
*Ein Testfall ist eine Kombination von Eingabedaten, Bedingung und erwarteten Ausgaben.&lt;br /&gt;
*Die Vorbedingung und Abhängigkeiten sowie die nötige Testumgebung ist aufzuführen.&lt;br /&gt;
*Hinweis auf mögliche Automatisierung&lt;br /&gt;
&lt;br /&gt;
=== Testprozedur erstellen ===&lt;br /&gt;
*Der Testdesigner erstelle pro Testseznario ein Testdrehbuch.&lt;br /&gt;
*Darin sind die zu testenden Fälle mit Sinn und Zweck aufgeführt.&lt;br /&gt;
*Ebenso sind sind die auszuführenden Schritte und die erwarteten resultate aufgeführt.&lt;br /&gt;
&lt;br /&gt;
5.2.4&lt;br /&gt;
&lt;br /&gt;
*Testengineer oder Testautomatisierer erstellen evtl. benötigte Automatisierungsscripts&lt;br /&gt;
*Deren Beschreibung kommen ins Testdrehbuch&lt;br /&gt;
*Die Automatisierungsscripts unterliegen dem Change- und Configmamanagement (Zuweisung zum richtigen Build)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testumgebung aufbauen ===&lt;br /&gt;
*Der Testadministrator organisiert die Infrastruktur&lt;br /&gt;
*Entwicklungs- Test- und Produktivumgebung werden strickt getrennt.&lt;br /&gt;
*Evtl. sind auf Grund der Komplexität mehrere Testplattformen nötig.&lt;br /&gt;
*Testwerkzeuge müssen installiert werden.&lt;br /&gt;
*Benutzer- und deren Rechte definieren.&lt;br /&gt;
*Schulung der Tester (Testsoftware)&lt;br /&gt;
*Für die Unit- und Integrationstest ist das Testgeschirr zu installieren.&lt;br /&gt;
*Testgeschirr  = Software zur Simulation aufrufender Programme.&lt;br /&gt;
*Testobjekte bereitstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test ausführen ===&lt;br /&gt;
*Tester nehmen ihre eigentliche Arbeit auf&lt;br /&gt;
*exploratives &amp;quot;spielen&amp;quot; wie auch schrittweises Durcharbeiten der vorgegebenen Szenarien&lt;br /&gt;
*Tester stützt sich primär auf Testdrehbuch&lt;br /&gt;
*Tester nimmt ergänzend die Testfallbeschreibung und die Testentwurfsspezifikation zur Hand.&lt;br /&gt;
*Neben des Tests ist das Protokollieren die wichtigste Tätigkeit&lt;br /&gt;
*Im Protokoll enthalten: Welche Testschritte, welche Resultate, eventuelle Änderungen an der Testumgebung. &lt;br /&gt;
*Aufgetretene Probleme sind als Problemmeldung für die Entwickler nachvollziehbar zu dokumentieren.&lt;br /&gt;
*Vermutungen können vermerkt werden.&lt;br /&gt;
*Fehlersuche ist aber Aufgabe des Entwicklers (nicht Tester)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test auswerten ===&lt;br /&gt;
*Testmanager fast Resultate im Testprotokoll zusammen&lt;br /&gt;
*Gemäss QS-Plan geforderte Dokumente werden erstellt (Testmanager)&lt;br /&gt;
*Systeme welche einen Test nicht bestanden haben, werden der Entwicklung zurückgegeben.&lt;br /&gt;
*Wenn alle TEsts innerhalb einer Haupttestart (z.B. Unit-TEst, Integrationstest, Systemtest etc) bestanden sind, verfasst der Testmanager einen &lt;br /&gt;
&lt;br /&gt;
Testabschlussbericht und  gibt das System für die nächste Haupttestart frei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie läuft der Testzyklus ab ==&lt;br /&gt;
*Testprozess läuft nicht stur nach dargelegten Schritten ab&lt;br /&gt;
*Testplanung wird einmalig vorgenommen und danach bei Bedarf überarbeitet&lt;br /&gt;
*Die Testspezifikation wird während der Softwareentwurfsphase möglichst für alle Testarten komplett erstellt.&lt;br /&gt;
*Testumgebung wird ebenfalls einmalig aufgesetzt und schrittweise den Bedürfnissen angepasst&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Testzyklus.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Fehlersuche und Fehlerbehebung sind keine eigentlichen Testtätigkeiten. Sie gehören aber eng zum Testen.&lt;br /&gt;
*Je nach Art des festgestellten Mangels findet eine Triage statt.&lt;br /&gt;
*Wenn Testdaten falsch sind, Probleme mit der Testumgebung existieren oder die Testwerkzeuge fehlerhaft sind wird die Umgebung angepasst und der Test wiederholt.&lt;br /&gt;
*Bei Implementierungsfehlern müssen entweder Anforderungen, das Design oder die entwickelte Komponente angepasst werden.&lt;br /&gt;
*Je nach Abhängigkeit müssen dadurch andere Testszenarien wiederholt werden (Sideeffects)&lt;br /&gt;
*Mögliche sind auch Benutzerfehler(Tester). Benutzer schulen, Doku anpassen.&lt;br /&gt;
*Beim Testen auftretende Wünsche müssen als Change Request (CR) behandelt werden. SOnst wird Projektplanung gefährdet.&lt;br /&gt;
*CR werden dem Change Management übergeben. DOrt wird entschieden ob und wann die Änderung einfliesst.&lt;br /&gt;
&lt;br /&gt;
= Testdokumente =&lt;br /&gt;
*Erstellung der Testdokumente = wichtige Aufgabe des Testteams.&lt;br /&gt;
*Ansonsten tappen PL und Testmanager im Dunkeln&lt;br /&gt;
*Grosser Teil der Kommunikation zwischen PL und Testmanager erfolgt über Testplan und die darin definierten Testberichte&lt;br /&gt;
*Wenn die Testspezifikationen dem Entwickler abgegeben werden, ergibt dies einen positiven Effekt.&lt;br /&gt;
*Alle Dokumente sollten eine Identifikation enthalten und eine einer Projektablage zugänglich sein.&lt;br /&gt;
&lt;br /&gt;
[[Image:Testdokumente.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie ist Testkonzept aufgebaut ==&lt;br /&gt;
&lt;br /&gt;
Ersteller = Testmanager. Inhalt:&lt;br /&gt;
&lt;br /&gt;
*Einführung&lt;br /&gt;
*Zu testenden Komponenten&lt;br /&gt;
*Teststrategie&lt;br /&gt;
*Pass- und Failkriterien&lt;br /&gt;
*zu erstellende Dokumente&lt;br /&gt;
*Testumgebung&lt;br /&gt;
*Verantwortlichkeiten&lt;br /&gt;
*Testorganisation&lt;br /&gt;
*Zeitplan&lt;br /&gt;
*Risiken&lt;br /&gt;
&lt;br /&gt;
== Wie ist  die Testentwurfsspezifikation aufgebaut ==&lt;br /&gt;
&lt;br /&gt;
Ersteller = Testdesigner. Inhalt:&lt;br /&gt;
&lt;br /&gt;
*Testobjekte&lt;br /&gt;
*zu testende Funktionen&lt;br /&gt;
*Testverfahren&lt;br /&gt;
*Verweise auf Testfälle und Testdrehbücher&lt;br /&gt;
*Detaillierte Pass- und Failkriterien&lt;br /&gt;
&lt;br /&gt;
== Aus welchen Elementen besteht der Testfall ==&lt;br /&gt;
Der Testfal ist Kombination aus Eingabe, Bedingung und erwarteter Ausgabe.Er besteht aus&lt;br /&gt;
&lt;br /&gt;
*Testobjekt (Rererenzierung zum Testentwurf)&lt;br /&gt;
*Eingabedaten (z.b. Input-Tabelle, File-Share, Datenbank, Testtool, Bildschirmeingaben)&lt;br /&gt;
*Erwartete Ausgaben (Output-Tabelle, Files, Antwortzeiten, Ausdruck, Systemmeldungen, Rückgabewert)&lt;br /&gt;
*Notwendige Testumgebung&lt;br /&gt;
*Zu berücksichtigende Punkte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Was beinhaltet das Testdrehbuch ==&lt;br /&gt;
Der Testdesigner notiert im Testdrehbuch wie ein Testszenario Schritt für Schritt getestet werden soll. Bereits bestehende Anweisungen aus der Testfallbeschreibung werden nur referenziert. Inhalt:&lt;br /&gt;
&lt;br /&gt;
*Zielsetzung&lt;br /&gt;
*Voraussetzungen&lt;br /&gt;
*Einzelschritte des Tests (Vorbereitung, Start, Durchführung, Beobachtung, Abruch, Neustart, Stopp, Abschluss, Aufräumen, Unvorhergesehenes)&lt;br /&gt;
*Art und Weise der Loggführung ist festzulegen&lt;br /&gt;
&lt;br /&gt;
= Testumgebung =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Begriffe&#039;&#039;&#039;:&lt;br /&gt;
*&#039;&#039;&#039;Testgeschirr&#039;&#039;&#039;: notwendige Instrumente und Tests durchzuführen&lt;br /&gt;
*&#039;&#039;&#039;Testbett&#039;&#039;&#039;:: Bequeme und sachlogische Einbettung in die Systemumgebung&lt;br /&gt;
*&#039;&#039;&#039;Testrahmen&#039;&#039;&#039;: organisatorische und teschnische Rahmenbedingungen&lt;br /&gt;
&lt;br /&gt;
Folgendes muss bei der Testumgebung beachtet werden:&lt;br /&gt;
*Unterschiedliche Anforderungen&lt;br /&gt;
*Einfache Wiederholbarkeit&lt;br /&gt;
*Systematische Erfassung der Resultate&lt;br /&gt;
*Bequeme Auswertung&lt;br /&gt;
&lt;br /&gt;
== Wie wird Testumgebung aufgebaut und betrieben ==&lt;br /&gt;
*frühzeitig planen&lt;br /&gt;
*wenn nötig über Evalutaionsprozess Teile beschaffen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Umgebungen immer sauber trennen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:Testumgebung.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testumgebung beschaffen ===&lt;br /&gt;
&lt;br /&gt;
*Anforderungen an die Testumgebung sind im Testplan festgehalten&lt;br /&gt;
*Frühzeitig eventuelle Beschaffung auslösen&lt;br /&gt;
*Ressourcen reservieren&lt;br /&gt;
*Die Auswahl der richtigen Automatisierungstools ist sehr wichtig. Deshalb genügend Zeit einplanen. Auch für Schulung.&lt;br /&gt;
*Der Tester muss geschult werden. Deshalb muss Testinfrastruktur vor den eigentlichen Tests bereitstehen.&lt;br /&gt;
*Der Testadministrator ist für die Koordination und den Auf- und Abbau der Testumgebung verantwortlich. Er ist auch Anpsrechpartner bei Schwierigkeiten.&lt;br /&gt;
&lt;br /&gt;
=== Elemente der Testumgebung ===&lt;br /&gt;
*Die Elemente werden als Vorgaben im testplang festgehalten.&lt;br /&gt;
*Der Testmanager gibt dort die organisatoreischen und infrastrukturiellen Vorgaben an.&lt;br /&gt;
*Technische Merkmale in den Vorgaben sind hilfreich.&lt;br /&gt;
&lt;br /&gt;
[[Image:Elemente Testumgebung.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Testumgebung verwalten ===&lt;br /&gt;
&lt;br /&gt;
Je nach Einsatzgebiet ergeben sich mehrere Anforderungsdimensionen:&lt;br /&gt;
&lt;br /&gt;
*Software-Releases welche für dei Wartung nicht gewährleistet werden muss.&lt;br /&gt;
*Unterschiedliche Betriebssysteme (z.B. alle Windows-Varianten, Unix, Linux etc.)&lt;br /&gt;
*Diverse DBMS (MS-SQL, Orcale, DB2)&lt;br /&gt;
*Länderspezifische Einstellungen&lt;br /&gt;
*verschiedenene Sprachversionen&lt;br /&gt;
&lt;br /&gt;
Deshalb braucht es verschiednene Methoden und Techniken. Z.B.&lt;br /&gt;
&lt;br /&gt;
*Unterschiedliche Systeme welche auf Grund der Namensgebung Aufschluss über die version geben.&lt;br /&gt;
*durchdachte Verzeichnissstruktur&lt;br /&gt;
*Disks clonen&lt;br /&gt;
*Arbeiten mit virtuellen Maschinen&lt;br /&gt;
&lt;br /&gt;
Auf Grund der Komplexität ist die Testumgebung oft Teil des Konfigurationsmanagements.&lt;br /&gt;
&lt;br /&gt;
== Wie können Tests automatisiert werden ==&lt;br /&gt;
&lt;br /&gt;
*Ab einer bestimmten Kompleitätsstufe ind automatisierte Testwerkzeuge ein MUSS.&lt;br /&gt;
*z.B. Lasttests&lt;br /&gt;
*Bereits ab der dritten Testwiederholung loht sich ein Tooleinsatz&lt;br /&gt;
*CAST = Computer Aided Software Testing&lt;br /&gt;
*Die Tools sind jedcoh nur hilfrewich wenn sie in geschulten Händen und in geordneten Prozessen angewendet werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:TestTools.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools zur Prozzessunterstützung ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testmanagement-Software&#039;&#039;&#039;&lt;br /&gt;
*unverzichtbare Basis für Testmanager&lt;br /&gt;
*gute Tools sind mit den Anforderungen verknüpft&lt;br /&gt;
*Schwerpunkt ist due Verwaltung sämtlicher Testfälle sowie deren Fehlermeldungen.&lt;br /&gt;
*Status der Testfälle sichtbar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testinformation-Repository&#039;&#039;&#039;&lt;br /&gt;
*ist Datawarehouse des ganzen Testprozesses.&lt;br /&gt;
*enthält strukturierte Daten (Datenbanken) wie auch unstrukturierte (Dateien)&lt;br /&gt;
*Suchfunktionen sind sehr wichtig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools für statische Prüfungen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Static Measurment Tools&#039;&#039;&#039;&lt;br /&gt;
*analysieren Code ohne diesen auszuführen.&lt;br /&gt;
*Prüfen von Programmier-Richtliniee&lt;br /&gt;
*verschtelungstiefe&lt;br /&gt;
*nicht erreichbaren Code&lt;br /&gt;
*Anzahl Zeilen&lt;br /&gt;
*Zugriff auf undefinierte Variablen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Complexity Analyzer&#039;&#039;&#039;&lt;br /&gt;
*untersuchen den Code auf Anzahl Parameter, Variablen, Bedingungen, Loops etc.&lt;br /&gt;
*dadurch kann Komplexität abgeschätz werden.&lt;br /&gt;
&lt;br /&gt;
=== Tools für Testvorbereitung ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Codebasierte Testdatengeneratoren&#039;&#039;&#039; analysieren code und bilden eine Menge von Inputdaten (aber keine Sollwerte)&lt;br /&gt;
*&#039;&#039;&#039;Schnittstellenbasierte Testdatengeneratoren&#039;&#039;&#039; analysieren Interfaces und leiten mitteles Äquivalenzklassen- und grenzwertanalayse die testdaten davon ab.&lt;br /&gt;
*&#039;&#039;&#039;Massendaten-Generatoren&#039;&#039;&#039; bilden Testdaten welche vor allem für Perfomance-tests gebraucht werden.&lt;br /&gt;
&lt;br /&gt;
=== Tools für Testdurchführung- und Auswertung ===&lt;br /&gt;
*&#039;&#039;&#039;Drivers&#039;&#039;&#039; simulieren aufrufende Programme (werden zum Testen von einzelnen Komponenten benötigt)&lt;br /&gt;
*&#039;&#039;&#039;Stubs&#039;&#039;&#039; simmulieren  aufgerufene Funktionen ((werden zum Testen von einzelnen Komponenten benötigt)&lt;br /&gt;
*&#039;&#039;&#039;Capture- bzw. Playback-Tools&#039;&#039;&#039; sind testroboter. Sie zeichnen alles auf was der Tester macht. Der Test kann danach wieder abgespielt werden.&lt;br /&gt;
*&#039;&#039;&#039;Performance-Analyzer&#039;&#039;&#039; zeichnet das Systemverhalten während der Testphase auf.&lt;br /&gt;
*&#039;&#039;&#039;Coverage-Monitor&#039;&#039;&#039; prüft während der Ausführung den Abdeckungsgrad. In den Reports ist dann zu sehen welcher Codeteik noch nicht getestet wurde.&lt;br /&gt;
*&#039;&#039;&#039;Debugger&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Testresult-Comperator&#039;&#039;&#039;. Unabdingbar bei Massentest.&lt;br /&gt;
&lt;br /&gt;
Alle diese Tools lassen sich nur sinnvoll nutzen wenn sie richtig in die Systemumgebung passen und von geschulten Leuten bedient werden.&lt;br /&gt;
&lt;br /&gt;
= Berichtsdokumente =&lt;br /&gt;
Die &#039;&#039;&#039;Testdokumente&#039;&#039;&#039; bilden den gesamten dispositiven (planenden) Teil im Testprozess ab. Die &#039;&#039;&#039;Berichtsdoukmente&#039;&#039;&#039; beinhlaten sämtliche Informationen über die Testausführung und Auswertung&lt;br /&gt;
&lt;br /&gt;
== Welche Aufgaben beiinhaltet die Testdurchführung ==&lt;br /&gt;
*Grundlegende &#039;&#039;&#039;Voraussetzungen&#039;&#039;&#039; für die Testaufsührung sind Kenntnisse über die zu testende Anwendung und die testwerkzeuge.&lt;br /&gt;
*Die Tester verfügen über das Testdrehbuch (führt Schritt für Schritt durch die Testarbeit)&lt;br /&gt;
*Tester dürfen aber trotzdem ihrer Intuition und ihrer Erfahrung folgen (explorative Tests)&lt;br /&gt;
*Aber alles muss &#039;&#039;&#039;sauber und vollständig protokolliert werden&#039;&#039;&#039;.&lt;br /&gt;
*Aufgrund der Informationen aus dem Testprotokoll kann der Testmanager die &#039;&#039;&#039;Testauswertungen vornehmen&#039;&#039;&#039; und den &#039;&#039;&#039;Status des Testfortschrittes&#039;&#039;&#039; bestimmen.&lt;br /&gt;
&lt;br /&gt;
Produzierte Berichtsdokumente:&lt;br /&gt;
&lt;br /&gt;
[[Image:BerichtsdokumenteTestausfue.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Tests durchführen ===&lt;br /&gt;
*Im Testdrehbuch ist ein Testszenario mit mehreren Testfällen beschrieben&lt;br /&gt;
*Die Abarbeitung entspricht einem Testlauf&lt;br /&gt;
*Ein Testprotokoll ist zu erstellen&lt;br /&gt;
*Eventuell ensteht je nach Test auch ein Testlog&lt;br /&gt;
*Wenn alle Kriterien erfüllt sind, gilt der Testlauf als &amp;quot;passed&amp;quot;.&lt;br /&gt;
*Auch wenn nur ein Kriterium nicht erfüllt ist, gilt der Testlauf als &amp;quot;failed&amp;quot;.&lt;br /&gt;
*Das Testprotokoll wird vom Tester in einer speziellen Software strukturiert erstellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testprotokoll erstellen ===&lt;br /&gt;
&lt;br /&gt;
*muss sich auf das Testdrehbuch beziehen&lt;br /&gt;
*muss folgende Infos enthalten: Datum/Uhrzeit des Tests, Name Tester, eingesetzte Testumgebung und Hinweis auf eventuelle Anomalien.&lt;br /&gt;
*eingesetzter Release und Build des Testlings&lt;br /&gt;
*enthält detailliertes Ergebnis aller Testfälle (passed, failed). Auch der persönliche EIndruck des Testers darf/kann erwähnt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problemmeldung für jede aufgetretene Abweichung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*jedes Problem eine Meldung&lt;br /&gt;
*Bei einem Problem kann es sich um Programmmierfehler, Nichterfüllung eines Akzeptanzkriteriums oder um etwas ganz andees handeln&lt;br /&gt;
*Zuerst ist das Fehlverhalten zu beschreiben (Resultat ist 50 statt 100)&lt;br /&gt;
*Danach die Fehlerwirkung (sichtbare Auswirkung)&lt;br /&gt;
*Hinweise auf die Reproduzierbarkeit&lt;br /&gt;
*Eventueller Workaround&lt;br /&gt;
*Eventuelle Vermutung des Testers was den fehler verusachen könnte.&lt;br /&gt;
*Für die Planung der Fehlerbehebung ist eine Einschätzung des Testers notwendig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgende Klassifizierungen sind möglich:&lt;br /&gt;
&lt;br /&gt;
[[Image:Klassifizierungproblem.gif]]&lt;br /&gt;
&lt;br /&gt;
Problemstatus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Problemstatus.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problembearbeitungszyklus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Problembearbeitungszyklus.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fehler lokalisieren ===&lt;br /&gt;
&lt;br /&gt;
*gehört nicht zum eigentlichen Testprozesss sondern zum Softwareentwicklungsprozess&lt;br /&gt;
*zu den bereits genannten Ursachen können zusätzliche auftauchen: Bedienungsfehler, nicht korrekte Testdaten, fehlerhaftes Testscript.&lt;br /&gt;
&lt;br /&gt;
== Wie wird die testauswertung erstellt ==&lt;br /&gt;
&lt;br /&gt;
*um dem PL und dem Auftraggeber über den projektstand informieren zu können, sind die Testauswertungen und ein sauberes Reporting ein absolutes MUSS.&lt;br /&gt;
*Aufpassen wegen dem 95%-Syndrom (jeder meint fast fertig zu sein, in Tat und Wahrheit sind es erst 70%)&lt;br /&gt;
&lt;br /&gt;
=== Testmetriken ===&lt;br /&gt;
Die Testmetriken sind ein Versuch, Masseinheiten zu definieren um den Arbeitsfortschritt möglichst verständlich wiederzugeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testabdeckung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
kann auf verschiedene weisen gemessen werden.&lt;br /&gt;
*&#039;&#039;&#039;Coverage-Monitor&#039;&#039;&#039; (ermittelt den getesteten Code)&lt;br /&gt;
*&#039;&#039;&#039;Anwendungsfallabdeckung&#039;&#039;&#039;: Wie viel Prozent der Use Cases sind schon getestet?&lt;br /&gt;
*&#039;&#039;&#039;Komponentenabdeckung&#039;&#039;&#039;: Wie viel Prozent der Komponenten sind schon getestet?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testeffizienz&#039;&#039;&#039;&lt;br /&gt;
*zeigt auf wie viele fehler in einer bestimmten Zeit gefunden wurden.&lt;br /&gt;
*Die Testeffizienz zeigt somit das verhältnis zwischen ingesetzten personellen ressourcen und gefunden Fehlern.&lt;br /&gt;
&lt;br /&gt;
[[Image:Testeffizienz.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fehlertrend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Fehlertrendstatistik sagt etwas über die Art der gefunden Fehler aus. Die Klassifizierung des Schweregrades liefert gegenüber dem testeffizienz-Diagramm eine detailliertere Sichtweise&lt;br /&gt;
&lt;br /&gt;
[[Image:Fehlertrend.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fehlerdichte&#039;&#039;&#039;&lt;br /&gt;
*ist das Verhältnis zwischen der Anzahl Fehler und der Grösse des Systems (meistens in Anzahl Codezeilen gemessen)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testfortschritt&#039;&#039;&#039;&lt;br /&gt;
*Der Testfortschrittsbericht ist eine Zusammenfassugng und Beurteilung des Testmanagers des aktuellen Standes&lt;br /&gt;
*muss alle drei ewähnten Testmetriken beinhalten, und in einen Prozentwert versichten.&lt;br /&gt;
*Bedingt viel Erahrung&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
[[Image:Testfortschritt.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testberichtswesen ===&lt;br /&gt;
*Der testmanager fasst die Erkenntnisse und resultate in einem periodischen testbericht zusammen.&lt;br /&gt;
*wird dem PL abgegegen&lt;br /&gt;
*neben der allgeminen lager werden auch spezielle Vorkomnisse erwähnt.&lt;br /&gt;
*der Testbericht gibt die Ist-Werte, die Soll-Werte und die Abweichungen an-&lt;br /&gt;
*Aufgrund der Abweichungen sind Massnahmen vorzuschlagen&lt;br /&gt;
*Bei einem speziellen Vorkommnis muss der Testmanager sofort einen Testvorfallsbereicht zu Handes des PL verfassen (z.B. krankitsbedingertr Aufall, verspätete Lieferung.&lt;br /&gt;
*Alles was den geplanten Ablabuf und die termine gefährdet muss so schnell wie möglicg gemeldet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Massnahman ableiten ===&lt;br /&gt;
*Der Testmanager ist verantwortlich dafür notwendige bzw. mögliche Massnahmen aufzuzeigen&lt;br /&gt;
*Seine Kompetenzen sind meist sehr beschränkt.&lt;br /&gt;
*Deshlab muss er Antrag an PL sctellen.&lt;br /&gt;
*Aufgrund der Schlüsselfaktoren (Testabdeckungsgrad, fehlertendenz, Fehlerdichte etc.) sind folgende Massnahmen zu beantragen:&lt;br /&gt;
**Testunterbruch&lt;br /&gt;
**Anpassen der Ressourcen&lt;br /&gt;
**Terminverschiebung&lt;br /&gt;
**Testende&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testabschlussbericht ===&lt;br /&gt;
*ist eine zusammenfassende Darstellung des kompletten testprojkets.&lt;br /&gt;
*darin werden die Testaktivitäten beschrieben (oder aufgelistet), die Testergebnisse zusammengefasst und und eine Tachkalkulation des Testaufwandes vorgenommen.&lt;br /&gt;
*ist der formelle Abschluss der Testarbeiten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ergänzungen Migros Klubschule =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fehlerbegriffe&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Fehler&#039;&#039;&#039; ist die Nichterfüllung einer festgelegten Anforderung&lt;br /&gt;
*Ein &#039;&#039;&#039;Mangel&#039;&#039;&#039; liegt vor, wenn eine gestellte Anforderung oder eine berechtigte Erwartung nicht angemessen erfüllt wird.&lt;br /&gt;
*Eine &#039;&#039;&#039;Fehlerwirkung&#039;&#039;&#039;(failure) oder ein Äusserer Fehler bezeichnet das Sichtbarwerden eines Fehlers für den Anwender oder Tester.&lt;br /&gt;
*Ein &#039;&#039;&#039;Fehlerzustand&#039;&#039;&#039;(fault)–auch Defekt oder innerer Fehler–ist die Ursache für das Auftreten einer Fehlerwirkung.&lt;br /&gt;
*Eine &#039;&#039;&#039;Fehlermaskierung&#039;&#039;&#039; bedeutet, dass zwei oder mehr Fehlerzustände sich gegenseitig nach aussen hin kompensieren, so dass eine Fehlerwirkung nicht auftritt, bis einer der maskierenden Fehler korrigiert ist.&lt;br /&gt;
*Eine &#039;&#039;&#039;Fehlhandlung&#039;&#039;&#039;(error) ist die Ursache für einen Fehlerzustand oder Defekt und stellt eine Fehlhandlung einer Person dar, etwa die fehlerhafte Programmierung eines Entwicklers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kriterien für die Priorisierung&#039;&#039;&#039;&lt;br /&gt;
*Eintrittswahrscheinlichkeit einer Fehlerwirkung&lt;br /&gt;
*Fehlerschwere&lt;br /&gt;
*Wahrnehmung einer Fehlerwirkung&lt;br /&gt;
*Priorität der Anforderungen&lt;br /&gt;
*Komplexität der Komponenten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prinzipien des Softwaretestens&#039;&#039;&#039;&lt;br /&gt;
*Grundsatz 1: Testen zeigt die Anwesenheit von Fehlern&lt;br /&gt;
*Grundsatz 2: Vollständiges Testen ist nicht möglich&lt;br /&gt;
*Grundsatz 3: Mit dem Testen frühzeitig beginnen&lt;br /&gt;
*Grundsatz 4: Häufung von Fehlern&lt;br /&gt;
*Grundsatz 5: Wiederholungen haben keine Wirksamkeit&lt;br /&gt;
*Grundsatz 6: Testen ist abhängig vom Umfeld&lt;br /&gt;
*Grundsatz 7: Trugschluss: Keine Fehler bedeutet ein brauchbares System&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die Stufen im allgemeinen V-Modell&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Programmierung&#039;&#039;&#039;: Programmierung jedes spezifizierten Bausteins in einer Programmiersprache.&lt;br /&gt;
*&#039;&#039;&#039;Komponententest&#039;&#039;&#039;: Prüfung, ob jede Komponente für sich den Vorgaben seiner Spezifikation entspricht.&lt;br /&gt;
*&#039;&#039;&#039;Integrationstest&#039;&#039;&#039;: Prüfung, ob Gruppen von Komponenten, wie sie im technischen Systementwurf vorgesehen sind, zusammenspielen sowiedie Prüfung der Interaktionen zwischen verschiedenen Teilen eines Systems&lt;br /&gt;
*&#039;&#039;&#039;Systemtest&#039;&#039;&#039;: Prüfung ob das implementierte System den spezifizierten Anforderungen entspricht.&lt;br /&gt;
*&#039;&#039;&#039;Abnahmetest&#039;&#039;&#039;: Prüfung, ob das System aus Kundensicht die vertraglich vereinbarten Leistungsmerkmale aufweist.&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M175_Zusammenfassung&amp;diff=143</id>
		<title>Informatiker FA M175 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M175_Zusammenfassung&amp;diff=143"/>
		<updated>2019-08-01T13:19:42Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;= Probleme der SW-Entwicklung =  *Es werden immer grössere und schwierigere Aufgabe durch SW unterstützt. *Dadurch wird SW immer komplexer *SW ist nach wie vor Handwerkskuns...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Probleme der SW-Entwicklung =&lt;br /&gt;
&lt;br /&gt;
*Es werden immer grössere und schwierigere Aufgabe durch SW unterstützt.&lt;br /&gt;
*Dadurch wird SW immer komplexer&lt;br /&gt;
*SW ist nach wie vor Handwerkskunst (trotz CASE Tools)&lt;br /&gt;
*Benutzeranforderungen lassen sich nicht immer 1:1 umsetzen&lt;br /&gt;
*Anforderungen ändern sich  immer wieder.&lt;br /&gt;
*SW kann man nicht anfassen, daher ist der Zustand schwer einzuschätzen.&lt;br /&gt;
*Auch die SW-Qualität ist schwer zu fassen. Der Zusammenhang zwischen messbarem und das was SW-Qualität wirklich ausmacht ist nicht immer klar.&lt;br /&gt;
*Die Qualitätsanforderungen nehmen zu. SW-Fehler können Menschenleben gefährden.&lt;br /&gt;
&lt;br /&gt;
Softwareentwicklung bewegt sich im Dreieck Zeit - Qualität - Kosten. &lt;br /&gt;
&lt;br /&gt;
== Bedeutung methodisches Vorgehen ==&lt;br /&gt;
&lt;br /&gt;
*Wichtigste Erkenntnis der letzten 50 Jahre: konsequente Anwendung von &#039;&#039;&#039;Methodik&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Um für den Einsatz von Methodik das richtige Mass zu finden, ist es nützlich, sich die Zielsetzung zu vergegenwärtigen. Ziel des methodischen Vorgehens sind:&lt;br /&gt;
&lt;br /&gt;
*Durch eine sachlogische begründbare, auf bewährten Prinzipien basierende Vorgehensweise klar definierte Ziele zu erreichen.&lt;br /&gt;
*Die Entwicklungsrisiken mindern&lt;br /&gt;
*Mehr Sicherheit bei der Schätzung des Aufwandes (dadurch Zeitplan und Kosten einhalten)&lt;br /&gt;
*Die Anforderungen in der vordefinierten Qualität umsetzen.&lt;br /&gt;
*Den Entwicklungsprozess wiederholbar und unabhängig von bestimmten Personen zu machen.&lt;br /&gt;
&lt;br /&gt;
Der konsequente Einsatz von Methoden verursacht keine zusätzlichen Kosten, sondern vermindert diese. Vor allem Test- und Fehlerkosten. &lt;br /&gt;
&lt;br /&gt;
Die Erfahrung zeigt: Je ausgeprägter der Methoden-Einsatz desto geringer die Entwicklungskosten und desto höher die Produktqualität.&lt;br /&gt;
&lt;br /&gt;
= Entwicklungsprozesse =&lt;br /&gt;
&lt;br /&gt;
Eine zentrale Komponente jeder Methode besteht in der Beschreibung der Vorgehensweise.  So wie ein gutes Rezept zu einem guten Kuchen beiträgt,  führt eine bewährte Vorgehensweise bei der Entwicklung mit hoher Wahrscheinlichkeit zu einem qualitativ hoch stehenden SW-Produkt.&lt;br /&gt;
&lt;br /&gt;
== Vorgehensmodelle ==&lt;br /&gt;
&lt;br /&gt;
Die professionelle Erstellung von SW erfordert folgende Haupttätigkeiten:&lt;br /&gt;
*Fachliche und technische Entwicklung sowie Wartung und Pflege&lt;br /&gt;
*Management = fachliche Führung und wirtschaftliche Kontrolle&lt;br /&gt;
*QS&lt;br /&gt;
&lt;br /&gt;
Ein bedeutender Schritt von der SW-Bastelei zur professionellen Softwareproduktion ist die Verwendung von &#039;&#039;&#039;Vorgehensmodellen&#039;&#039;&#039;. Durch Vorgehensmodelle wird der SW-Entwicklungsprozess in aufeinander abstimmte &#039;&#039;&#039;Phasen&#039;&#039;&#039; zerlegt. Für jede Phase werden &#039;&#039;&#039;Tätigkeiten und Ergebnisse&#039;&#039;&#039; festgelegt. Bekannte Vorgehensmodelle sind:&lt;br /&gt;
&lt;br /&gt;
*das Wasserfallmodell&lt;br /&gt;
*das Spiralmodell&lt;br /&gt;
*das prototyping-orientierte Live-Cycle-.Modell&lt;br /&gt;
*das V-Modell&lt;br /&gt;
*der Rational Unified Process (RUP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsphasen ==&lt;br /&gt;
&lt;br /&gt;
Als Kern der meisten Modell haben sich folgende Phase herauskristallisiert&lt;br /&gt;
&lt;br /&gt;
[[Image:Entwicklungsphase.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Planungsphase (Vorstudie) ===&lt;br /&gt;
&lt;br /&gt;
*Vor dem eigentlich Entwicklungsstarts des Produktes&lt;br /&gt;
*Es wird durch eine Vorstudio die fachliche, ökonomische und personelle Durchführbarkeit gezeigt.&lt;br /&gt;
*Am Ende wird entschieden: weitermachen oder beenden, wenn weitermachen, mit welcher Lösungsvariante etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Planungsphase beinhaltet u.a. folgende Aktivitäten&lt;br /&gt;
*&#039;&#039;&#039;Situationsanalyse und Zielformulierung&#039;&#039;&#039;. Was ist das zu lösende Problem, welche Anforderungen, was soll erreicht werden, was gehört dazu, was gehört nicht dazu, soll entwickelt oder gekauft werden.&lt;br /&gt;
*&#039;&#039;&#039;Voruntersuchung des Produktes&#039;&#039;&#039;. Ist-Aufnahme wenn eine Vorgänger vorhanden ist, Hauptanforderungen festlegen, Leistungsmerkmale festlegen, Hauptaspekte der Benutzeroberfläche festlegen, wichtiges Qualitätsmerkmale&lt;br /&gt;
*&#039;&#039;&#039;Untersuchung der Durchführbarkeit&#039;&#039;&#039;. fachlich, personell, alternative Lösungsvorschläger, Risiken.&lt;br /&gt;
*&#039;&#039;&#039;Prüfung der ökonomischen Durchführbarkeit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Ergebnisse dieses Tätigkeit münden in einer Studie die folgende Teildokumente enthalten kann:&lt;br /&gt;
&lt;br /&gt;
*Grobe Anforderungsspezifikation&lt;br /&gt;
*Projektkalkulation&lt;br /&gt;
*Projektplan&lt;br /&gt;
&lt;br /&gt;
Eine grobe Anforderungsspezifikation kann z.B. folgenden Aufbau haben:&lt;br /&gt;
*Zielbestimmung&lt;br /&gt;
*Produkteeinsatz&lt;br /&gt;
*Hauptfunktion und Hauptdaten&lt;br /&gt;
*Leistungsmerkmale&lt;br /&gt;
*Anforderung an die Benutzeroberfläche&lt;br /&gt;
*Qualitätsanforderungen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Tätigkeiten der Vorstudie haben das ziel zu prüfen ob eine Produkt entwickelt werden soll. Wenn die Entscheidung zum Kauf einer fertige Anwendung getroffen wird, diese dir grobe Anforderungsspezifikation als Vorgabe für die Evaluation. Wenn entwickelt werden soll, wird die grobe Anforderungsspezifikation im Rahmen der Definitionsphase erweitert und verfeinert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Definitionsphase (Analyse) ===&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Tätigkeit stellt das Definieren der Anforderungen dar. Anforderungen legen die qualitativen und quantitativen Eigenschaften eines Produktes aus der Sicht des Auftraggebers fest. Die systematische Vorgehensweise um die Anforderungen in einem iterativen Prozess zu ermitteln bezeichnet man als Systemanalyse (requirements engineering)&lt;br /&gt;
&lt;br /&gt;
Anforderungen sind zuerst oft vage, verschwommen, unzusammenhängend und widersprüchlich. Aufgabe des Definitionsprozesses ist es, aus diesen Anforderungen ein vollständiges, konsistentes und eindeutiges Anforderungsdokument zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Die fertig gesellte Produkt-Definition besteht aus folgenden Teildokumenten:&lt;br /&gt;
*Anforderungsspezifikation (detailliert)&lt;br /&gt;
*Produktemodell&lt;br /&gt;
*Konzept der Benutzerinteraktion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Entwurfsphase (Design) ===&lt;br /&gt;
&lt;br /&gt;
Aufgabe des Entwerfens ist es, aus den gegebenen Anforderungen an ein Softwareprodukt eine software--technische Lösung im Sinne einer konkreten Afo6tware-Architektur zu entwickeln. Entwerfen wird auch als &amp;quot;Programmieren im grossen&amp;quot; bezeichnet. Die Ergebnisse der Analysephase bilden den Ausgangsprunk für das Entwerfen. Das Entwurfsergebnis wiederum ist die Voraussetzung für die Realisierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ziel des Software-Entwurfs ist es, für das zu entwerfende Produkt eine Software-Architektur zu erstellen, welche die funktionalen Produkteanforderungen sowie allgemeine und produktespezifische Qualitätsanforderungen erfüllt und die Schnittstellen zur Umgebung versorgt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Software-Architektur beschreibt die Struktur des zu erstellen Systems durch Komponenten und ihrer Beziehungen untereinander. Zu den wichtigsten Ergebnissen des Entwurfs zählen somit die Module. Je nach eingesetzter Methode können das sein:&lt;br /&gt;
&lt;br /&gt;
*Funktionale Module&lt;br /&gt;
*Datenobjekt-Module&lt;br /&gt;
*Datentyp-Module&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Realisierungsphase (Implementation) ===&lt;br /&gt;
&lt;br /&gt;
Die Programmiertätigkeiten werden in der Realisierungsphase (auch: Implementationsphase) durchgeführt. Sie ist zwischen Entwurfsphase und Einführungsphase eingebettet.&lt;br /&gt;
&lt;br /&gt;
Die Realisierungsphase beinhaltet u.A. folgende Tätigkeiten:&lt;br /&gt;
&lt;br /&gt;
*Datenstrukturen und Algorithmen konzipieren&lt;br /&gt;
*Programme strukturieren&lt;br /&gt;
*Implementationsentscheidungen dokumentieren&lt;br /&gt;
*Konstrukte der verwendeten Programmiersprache umsetzen&lt;br /&gt;
*Entwickelte Programm testen und verifizieren.&lt;br /&gt;
&lt;br /&gt;
Ergebnisse:&lt;br /&gt;
*Quellprogramme inkl. Doku&lt;br /&gt;
*Lauffähige Objektprogramme&lt;br /&gt;
*Detaillierte Testplanung und Testprotokolle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Einführungsphase ===&lt;br /&gt;
&lt;br /&gt;
In dieser Phase wird das fertig gestellte Produkt inkl. Doku abgenommen und bei Anwender eingeführt (in Betrieb genommen). Ab diesem Zeitpunkt  unterliegt das System der Wartung.Die Einführungsphase beginnt mit der Übergabe an den Auftraggeber. Dieser ist verantwortlich für die Abnahmetests und protokolliert diese.&lt;br /&gt;
&lt;br /&gt;
Folgende Tätigkeiten werden weiter ausgeführt:&lt;br /&gt;
*Installation des Produktes (für den betrieb)&lt;br /&gt;
*Schulung der Benutzer und Betriebspersonal&lt;br /&gt;
*Inbetriebnahme des Produktes mit produktiven Daten.&lt;br /&gt;
&lt;br /&gt;
Die Installation in der Zielumgebung kann mit umfangreichen Aktivitäten verbunden sein.&lt;br /&gt;
*Integration in bestehende Umgebung &lt;br /&gt;
*Pilotierung&lt;br /&gt;
*Rahmenorganisation&lt;br /&gt;
&lt;br /&gt;
= Systemanalyse =&lt;br /&gt;
Die Anforderungsdefinition (=Spezifikation) ist die Kommunikationsbasis um eine Vereinbarung über die geplante SW zu erreichen. Dabei ist es wichtig, dass Entwurfs- und Realisierungsentscheidungen während der Definitionsphase so weit als möglich vermieden werden.&lt;br /&gt;
&lt;br /&gt;
== Anforderungsdefinition ==&lt;br /&gt;
&lt;br /&gt;
=== Anforderungsanalyse ===&lt;br /&gt;
Anforderungen legen die qualitativen und quantitativen Eigenschaften des Produktes aus Sicht des Arbeitgebers fest. Die systematische Vorgehensweise um die Anforderungen in einem iterativen Prozess zu ermitteln, bezeichnet man als &#039;&#039;&#039;Systemanalyse&#039;&#039;&#039;. Diese beinhaltet folgende Aktivitäten:&lt;br /&gt;
&lt;br /&gt;
*Anforderungen ermitteln&lt;br /&gt;
*Anforderungen festlegen und beschreiben&lt;br /&gt;
*Anforderungen analysieren &lt;br /&gt;
*Anforderungen simulieren und ausführen (exploratives Prototyping)&lt;br /&gt;
*Anforderungen verabschieden.&lt;br /&gt;
&lt;br /&gt;
Anforderungen sind am Anfang noch vage, verschwommen, unzusammenhängend, unvollständig und widersprüchlich. Aufgabe des Definitionsprozesses ist es aus diesen Anforderungen ein vollständiges, konsistentes und eineindeutiges Anforderungsdokument (Produkt-Definition) zu erstellen.&lt;br /&gt;
Die Produkt-Definition ist unter andrem deshalb so wichtig weil sie die Basis für die Abnahme des fertigen Produktes ist.&lt;br /&gt;
&lt;br /&gt;
=== Was sind Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
Anforderungen können in funktionale und nicht-funktionale Anforderungen unterschieden werden.&lt;br /&gt;
&lt;br /&gt;
*Funktionale Anforderungen definieren die Funktionen die eins System ausführen können muss (Transformation beschreiben welches aus einem Input einen Output macht)&lt;br /&gt;
*Nicht-funktionale Anforderungen sind Restriktionen und Qualitätsanforderungen wie z.B. Performance, Zuverlässigkeit, Wartbarkeit, Gestaltung der Benutzungsschnittstelle, Sicherheitsanforderungen, Portabilität, Erfüllung von Standard etc.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Aus nicht-funktionalen Anforderungen können funktionale werden; z.B. die Erfüllung von Sicherheitsstandars kann nur von entsprechenden Zusatzfunktionen erreicht werden.&lt;br /&gt;
&lt;br /&gt;
=== Zur Bedeutung der Systemanalyse ===&lt;br /&gt;
*bildet in vielerlei Hinsicht das &#039;&#039;&#039;Fundament&#039;&#039;&#039; für ein Softwaresystem&lt;br /&gt;
*zwingt den Benutzer seine Anforderungen sorgfältig zu bedenken und in Zusammenhang mit seinen Problemen und Zielen zu betrachten.&lt;br /&gt;
*Im Verlaufe der Erarbeitung der Anforderungsdefinition findet eine intensive Auseinandersetzung zwischen Benutzer und Entwickler statt.&lt;br /&gt;
*Die Systemanalyse fördert zugleich die Entwicklung von &#039;&#039;&#039;Plänen für den Abnahmetest&#039;&#039;&#039;.&lt;br /&gt;
*gegen die Anforderungsspezifikation wird das implementierte Produkt auf Korrektheit und Vollständigkeit getestet.&lt;br /&gt;
*unterstützt das Projektmanagement indem daraus Schätzungen bezüglich Zeit, Kosten und anderer Ressourcen abgeleitet werden können.&lt;br /&gt;
*es können auch schon Rahmenbedingungen für zukünftige Änderungen und Wartungsarbeiten festgelegt werden.&lt;br /&gt;
&lt;br /&gt;
Wesentlich für eine Anforderungsdefinition ist es den Auftraggeber angemessen einzubinden. Die Systemanalyse bildet von Anfang an die Basis für eine vertrauensvolle Zusammenarbeit zwischen Benutzer und Entwickler welche erfahrungsgemäss nach der erfolgten Realisierung des Produktes nicht abgeschlossen ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exploratives Prototyping ===&lt;br /&gt;
&lt;br /&gt;
Ein verbreitetes Problem bei der Erarbeitung der Anforderungsdefinition ist, dass Benutzervertreter bzw. Analytiker sich nicht vorstellen können, wie die geplante Applikation funktionieren soll. Die verbale bzw. grafische Beschreibung reicht oft nicht aus, um eine ausreichend klare Vorstellung  vom zu entwickelnden Produkt zu erhalten.&lt;br /&gt;
&lt;br /&gt;
Der explorative Prototyp dient der Veranschaulichung und Klärung der Anforderungen. Das Ziel beim exploratoiven Prototyping  ist also eine möglichst vollständige Systemspezifikation. Es geht den Entwicklern nur darum, verschiedene Lösungsansätze mit dem Anwender zu klären.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ausgestaltung der Anforderungsdefinition ==&lt;br /&gt;
&lt;br /&gt;
=== Anforderungsdefinition nach IEEE ===&lt;br /&gt;
&lt;br /&gt;
Als Muster für verbale Anforderungsbeschreibungen mit festgelegtem Gliederungsschema kann ANSI/IEEE Std-830-1984 angesehen werden&lt;br /&gt;
&lt;br /&gt;
[[Image:IEEEStd-830-198.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsziele der Anforderungsdefinition ===&lt;br /&gt;
&lt;br /&gt;
Beschriebene Anforderungen sind auf folgende Qualitätsziele zu analysieren:&lt;br /&gt;
&lt;br /&gt;
*Sind die Anforderungen inhaltlich vollständig?&lt;br /&gt;
*Sind die Anforderungen konsistent? (untereinander widerspruchsfrei)&lt;br /&gt;
*Sind die Anforderungen eindeutig? (eindeutige, nicht unterschiedliche interpretierbaren Anforderungen)&lt;br /&gt;
*Sind die Anforderungen durchführbar? (z.B. technisch mit der geplanten Plattform möglich)&lt;br /&gt;
*Sind die Anforderungen als Vorgabe für den Abnahmetest geeignet?&lt;br /&gt;
&lt;br /&gt;
= Strukturierte Analyse =&lt;br /&gt;
&lt;br /&gt;
Dir Strukturierte Analyse (SA) dient dazu, die Definition von Anforderungen an komplexe System zu vereinfachen. Dazu legt die SA fest, welche Ergebnisse zu erbringend sind um die nachfolgende Phase Strukturiertes Design (SD) in Angriff zu nehmen. Dazu werden Techniken zur Verfügung gestellt die aufeinander abgestimmt sind.&lt;br /&gt;
&lt;br /&gt;
Die Modellierung nach SA hat zum Ziel das so genannte essenzielle Modell des System zu erstellen. Darin wird beschrieben was ein System tun muss und welche Informationen vorhanden sein müssen. Die beschreibung in dieser Form ist auch für den Benutzer verständlich.&lt;br /&gt;
&lt;br /&gt;
== Methode der strukturierte Analyse ==&lt;br /&gt;
&lt;br /&gt;
*In der SA enthält das Modell  keine Implementationsdetails&lt;br /&gt;
*es werden die wahren Anforderungen des Anwenders wiedergegeben. d.H. diejenigen Funktionen die unabhängig von der Implementation verfügbar sein müssen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Umgebungs- und Verhaltensmodell ===&lt;br /&gt;
&lt;br /&gt;
Das essenzielle Modell besteht aus zwei Komponenten:&lt;br /&gt;
&lt;br /&gt;
*Dem Umgebungsmodell bestehend aus Ereignistabelle, Kontextdiagramm und einer Kurzbeschreibung der Aufgabe des Systems&lt;br /&gt;
*Dem Verhaltensmodell bestehend aus Datenflussdiagramm, Prozessbeschreibung, Datenkatalogeinträgen, ERD.&lt;br /&gt;
&lt;br /&gt;
Das Umgebungsmodell beschreibt das System als &#039;&#039;&#039;Blackbox&#039;&#039;&#039;, das Verhaltensmodell als &#039;&#039;&#039;White-Box&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:UmgebungsVerhaltensmodell.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Das Hierarchiekonzept der strukturierten Analyse ===&lt;br /&gt;
&lt;br /&gt;
*Problem: Bei umfangreichen Aufgabenstellungen kann ein Datenflussdiagramm (DFD) mehrere Seiten umfassen.&lt;br /&gt;
*Die Lösungsidee der SA besteht darin, das DFD hierarchisch zu verfeinern.&lt;br /&gt;
*Nachdem auf Basis der Ereignistabelle das Kontextdiagramm erstellt worden ist, wird dieses in Form des &#039;&#039;&#039;Datenflussdiagramm Level 1&#039;&#039;&#039; verfeinert.&lt;br /&gt;
*Zu diesem Zweck werden Prozesse identifiziert welche die Datenflüsse verarbeiten/generieren.&lt;br /&gt;
*Für jeden Prozess der in &#039;&#039;&#039;Teilprozesse&#039;&#039;&#039; aufgeteilt werden kann, wird ein weiteres DFD auf der nächsten Detaillierungsstufe gezeichnet.&lt;br /&gt;
*Auf diesen Weise werden DFD stufenweise verfeinert (Level 1, Level 2 ...)&lt;br /&gt;
*Dies wird so lange fortgesetzt bis die Teilprozesse nicht mehr sinnvoll zerlegt werden können (bis &#039;&#039;&#039;Elementarprozesse&#039;&#039;&#039; entstanden sind)&lt;br /&gt;
*Jeder Elementarprozess wird schliesslich durch eine Mini-Spezifikation beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:HirarchiekonzeptSA.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Techniken der strukturierten Analyse ==&lt;br /&gt;
&lt;br /&gt;
=== Ereignistabelle ===&lt;br /&gt;
&lt;br /&gt;
Die Ereignistabelle zeigt durch welche Ereignisse das System aktiviert wird. Zu jedem Ereignis gehört ein konkreter Auslöser in Form eines externen Datenflusses und eine Reaktion im System. &lt;br /&gt;
&lt;br /&gt;
Beispiel Seminar-Hotel:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Nr !! Ereignis !! Auslöser !! Antwort/Reaktion&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Gast wünscht Zimmerreservation || Reservation ||  Reservationsbestätigung&lt;br /&gt;
|-&lt;br /&gt;
| 2 ||  Auftraggeber fragt Dienstleistung an || Anfrage  || Offerte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Eine Ereignistabelle  beschreibt diejenigen Ereignisse die im System ein Aktion auslösen und eine oder mehrere Antworten bzw. Reaktionen.&lt;br /&gt;
*Man unterscheidet zwischen externen und zeitlichen Ereignissen&lt;br /&gt;
*Es werden nur Ereignisse in die Liste aufgenommen welche ein nach aussen sichtbare Reaktion des Systems auslösen.&lt;br /&gt;
*Bei der vereinfachten Form der Ereignistabelle wird die Spalte &amp;quot;Auslöser&amp;quot; weggelassen. Der Auslöser wird dann in der Ereignisbeschreibung erwähnt.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt werden die Auslöser und Reaktionen im Kontextdiagramm grafisch dargestellt&lt;br /&gt;
&lt;br /&gt;
=== Kontextdiagramm ===&lt;br /&gt;
&lt;br /&gt;
Das Kontextdiagramm ist ein Datenflussdiagramm das die Schnittstellen des zu modellierenden Systems mit seiner Umwelt beschreibt.&lt;br /&gt;
&lt;br /&gt;
Im Compendio-Buch werden folgende drei Symbole folgende Notation verwendet:&lt;br /&gt;
&lt;br /&gt;
*Applikation, dargestellt durch ein Rechteck; damit wird das System als ganzes symbolisiert.&lt;br /&gt;
*Schnittstelle zur Umwelt, dargestellt durch ein Rechteck mit Schatten, das den Schnittstellennamen enthält.&lt;br /&gt;
*Datenfluss, dargestellt durch einen beschrifteten Pfeil. Manchmal werden zum einfacheren Verständnis auch Informationsflüsse (gestrichelt) zwischen den externen Partnern gezeichnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntaktische Regeln&#039;&#039;&#039;&lt;br /&gt;
*Das Kontextdiagramm enthält nur einen Prozess, nämlich die Applikation als Ganzes.&lt;br /&gt;
*enthält mindestens eine Schnittstelle.&lt;br /&gt;
*zwischen den Schnittstellen gibt es keine Datenflüsse&lt;br /&gt;
*enthält keine Speicher und keine Funktionen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Semantische Regeln:&lt;br /&gt;
*beschriebt den Anwendungsbereich des zu modellierenden Systems (problem domain, Untersuchungsbereich)&lt;br /&gt;
*es zeigt die Datenflüsse welche die Systemgrenzen passieren.&lt;br /&gt;
*Eine Schnittstelle ist so zu wählen, dass sie die ursprüngliche Quelle oder Senke (Ziel)einer Information angibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mögliches Kontextdiagramm für Seminar-Hotel:&lt;br /&gt;
&lt;br /&gt;
[[Image:KontextdiragrammHotel.gif]]]&lt;br /&gt;
&lt;br /&gt;
Die Beschreibung darf nicht zu abstrakt aber auch nicht zu detailliert sein. Wichtig ist, dass jemand der sich in ein System neu einarbeiten muss, anhand des Kontextdiagramm die wesentlichen Informationen über die Umwelt des Systems (inkl. Datenströme) erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Kontextdiagramm wird  durch eine Kurzbeschreibung in Textform ergänzt.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &#039;&#039;Die Applikation &amp;quot;Seminar-Hotel&amp;quot; erlaubt es .......&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Prozess im Kontextdiagramm beschreibt das gesamte zu modellierende System. Dieser Prozess wird anschliessend in Teilprozesse gegliedert und ein einem DFD dargestellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datenflussdiagramm (DFD) ===&lt;br /&gt;
Ein Datenflussdiagramm (data flow diagramm) beschreibt die Wegen von Daten bzw. Informationen zwischen Funktionen, Speichern und Schnittstellen sowie die Transformation der Daten bzw. Informationen durch Funktionen&lt;br /&gt;
&lt;br /&gt;
In der deutschsprachigen Schweiz ist die folgende Notation mit vier Symbolen weit verbreitet:&lt;br /&gt;
&lt;br /&gt;
*Funktion bzw. Prozesse, dargestellt durch ein Rechteck mit dem Namen der Funktion&lt;br /&gt;
*Datenfluss, dargestellt durch einen beschrifteten Pfeil&lt;br /&gt;
*Schnittstelle zur Umwelt, dargestellt durch ein Rechteck mit Schatten, das den Schnittstellennamen enthält.&lt;br /&gt;
*Datenspeicher, dargestellt durch ein abgerundetes Rechteck, in dem der Speichername steht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das DFD stellt dar welche Informationen von wo nach wo durch das System fliessen. Es wird nicht dargestellt, wie es initiiert wird, oder in welcher Reihenfolge dies ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
*jedes zu entwickelnde System hat Schnittstellen zur Umwelt.&lt;br /&gt;
*Die Umwelt liefert Informationen die vom System verarbeitet werden.&lt;br /&gt;
*Die Umwelt nimmt Informationen auf welche vom System erzeugt wurden.&lt;br /&gt;
*Nur das System wird modelliert. Die Umwelt nicht.&lt;br /&gt;
*Informationen kommen aus Informationsquellen und fliessen zu Funktionen.&lt;br /&gt;
*Eine Funktion transformiert ankommende Datenflüsse in ausgehende Datenflüsse.&lt;br /&gt;
*Speicher sind Hilfsmittel zur Ablage von Informationen.&lt;br /&gt;
*Informationen können in einen Speicher geschrieben und daraus wieder gelesen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel DFD &amp;quot;Seminar-Hotel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:DFD SeminarHotel.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntaktische Regeln&#039;&#039;&#039;&lt;br /&gt;
*Ein DFD enthält mindestens eine Schnittstelle&lt;br /&gt;
*Zwischen Schnittstellen gibt es keine Datenflüsse. Zur Erläuterung können Informationsflüsse gestrichelt eingetragen werden. Sie sind aber für die Spezifikation des Systems nicht wichtig.&lt;br /&gt;
*Jeder Datenfluss hat einen Namen. Ausnahme: Datenflüsse die zu einem Speicher führen oder dort beginnen und keinen Namen haben, transportieren die gesamten gespeicherten Daten.&lt;br /&gt;
*Zwischen Speichern gibt es keine direkten Datenflüsse&lt;br /&gt;
*Zwischen Schnittstellen und Speichern dürfen keine direkten Datenflüsse gezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Semantische Regeln&#039;&#039;&#039;&lt;br /&gt;
*Das DFD beschriebt den Datenfluss, nicht den Kontrollfluss.&lt;br /&gt;
*Es enthält weder Entscheidungen noch Schleifen&lt;br /&gt;
*Es wird keine Aussage über die Initiierung, Terminierung oder Abfolge von Funktionen gemacht.&lt;br /&gt;
*Ein Schnittstelle ist so zu wählen, dass sie die ursprüngliche Quelle oder Senke(Ziel) angibt (jedoch wenn möglich nicht &amp;quot;Tastatur&amp;quot; oder &amp;quot;Drucker&amp;quot;).&lt;br /&gt;
*Ein Datenflussname besteht aus einem Substantiv (Nomen) oder einem Adjektiv (Eigenschaftswort) und einem Substantiv.&lt;br /&gt;
*Als Datenflussnamen sollten keine seichten Namen wie &amp;quot;Daten&amp;quot; oder &amp;quot;Informationen&amp;quot; verwendet werden. Stattdessen soll der Namen auch etwas über die fliessenden Daten aussagen (z.B. Gästedaten, Buchungsdaten etc.)&lt;br /&gt;
*Funktionsnamen repräsentieren Aktionen; ein Funktionsname besteht au seinem einzigen starken Aktions-Verb gefolgt von einem einzigen konkreten Objekt (z.B. erstelle Adresskleber) oder einem konkreten Substantiv gefolgt von einem starken Aktions-Verb (z.B. Adressaufkleber erstellen&amp;quot;. Seichte Namen wie &amp;quot;verarbeite&amp;quot;, &amp;quot;bediene&amp;quot; sind zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inhaltliche Regeln&#039;&#039;&#039;&lt;br /&gt;
*Wird in einen Datenspeicher geschrieben, so muss auch wieder gelesen werden (und umgekehrt)&lt;br /&gt;
*Alle Daten die aus einer Funktion herauskommen, müssen auch in diese eingeflossen sein.&lt;br /&gt;
*Jede Funktion hat mindestens einen Eingangs- und Ausgangsdatenfluss.&lt;br /&gt;
*DFD sollten nur die wesentliche Verarbeitung beschreiben. Einzelheiten wie Prüfroutinen, Fehlerbehandlung, Datenadministration, Initialisierung, Drucken gehören nichts ins DFD&lt;br /&gt;
&lt;br /&gt;
Die inhaltliche Qualität kann mit einer &#039;&#039;&#039;Handsimulation&#039;&#039;&#039; geprüft werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bewertungen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*DFD sind leicht zu erstellen und sind gut lesbar&lt;br /&gt;
*werden auch von Auftraggebern verstanden (gut vermittelbar)&lt;br /&gt;
*ein DFD enthält mehr Informationen als eine Funktionsbaum&lt;br /&gt;
*Wenn ein ganzes System dargestellt werden soll, wird das Diagramm schnell zu gross und unübersichtlich.&lt;br /&gt;
*es ist schwierig bei den Daten und Funktionen ein einigermassen einheitliches Abstraktionsniveau einzuhalten.&lt;br /&gt;
*Die Bezeichnung der Datenflüsse reicht nicht aus. Man muss den Datenaufbau kennen um eine Handsimulation durchführen zu können.&lt;br /&gt;
&lt;br /&gt;
[[Image:DFD SeminarHotel Level2.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wichtige Regeln bei der Erstellung eines SA-Modells:&lt;br /&gt;
*Schnittstellen können nicht verfeinert werden. Jedoch können die im Kontext-Diagramm aufgeführten Schnittstellen unverändert in verfeinerten Diagrammen dargestellt werden, wenn dies die Verständlichkeit fördert.&lt;br /&gt;
*Speicher können nicht verfeinert werden. Jedoch können Speicher, nachdem sie  in einem Diagramm eingeführt wurden, auf allen Verfeinerungen dieses Diagramms unverändert wiederholt werden.&lt;br /&gt;
*Die Anzahl der Prozesse auf einem Diagramm sollte nicht wesentlich grösser als sieben sein (7 +/- 2-Regel). Sonst zusätzliches Diagramm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweise:&#039;&#039;&#039;&lt;br /&gt;
*wenn die Anzahl und Struktur der Speicher schwierig zu ermitteln ist, empfiehlt es sich die SA-Modellierung zu unterbrechen und zunächst ein ER-Modell (Entity-Relationship-Modell) zu erstellen. Aus dem ER-Modell ergibt sich dann die Anzahl der benötigten Speicher.&lt;br /&gt;
*Die Erstellung eines SA-Modells ist ein iterativer Prozess. Es werden mehrere Durchgänge benötigt bis sich ein stabiles SA-Modell ergibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Dictionary (DD) ===&lt;br /&gt;
&lt;br /&gt;
*Ein DD ist ein Verzeichnis, das Informationen über die Struktur von Daten, ihre Eigenschaften sowieso ihrer Verwendung enthält.&lt;br /&gt;
*Die Informationen des DD werden z.B. zur Konsistenzüberwachung eines Datenbestandes benötigt.&lt;br /&gt;
*entsteht in der Definitionsphase und wird in der Entwurfs- und Realisierungsphase weiter verwendet und ergänzt.&lt;br /&gt;
*Das Hauptziel des DD ist es, die in den DFD verwendeten Bezeichnungen der Datenflüsse und Datenspeicher zu definieren.&lt;br /&gt;
*In der einfachsten Form des DD wird für die Bezeichnungen definiert aus welchen Elementen sie bestehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hier ein mögliches DD für das &amp;quot;Seminar-Hotel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Bezeichnung !! Elemente&lt;br /&gt;
|-&lt;br /&gt;
| Kunde ||  = Personal-Nr. + Name + Adresse + Geburtsdatum + Funktion + Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Name || = Anrede + Titel + Vorname + Nachname&lt;br /&gt;
|-&lt;br /&gt;
| Adresse|| = Strasse + Haus-Nr. + Postfachnummer + Länderkennzeichen + PLZ + Ort + Telefon + Fax&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ausgehen von abstrakten Daten, z.B. Kundendaten, werden dieser schrittweise verfeinert (Kundendaten, Adresse, Ort). Die Verfeinerung wird beendet wenn die Daten nicht weiter zerlegt werden können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Umständen ist es sinnvoll die Datenbeschreibung zusätzlich zu strukturieren. z.,B. Backup-Naur-Form (BNF):&lt;br /&gt;
&lt;br /&gt;
[[Image:BNF1.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
[[Image:BNF Beispiel.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DD-Einträge und Datenintegrität ===&lt;br /&gt;
DFD werden Schritt für Schritt verfeinert. Auch die Datenflüsse werden verfeinert. Woher weiss man nun aber, welche Datenflüsse zwischen zwei Diagrammen wie zusammengehören. Diese Problem löst man in der SA mit folgenden Forderungen:&lt;br /&gt;
&lt;br /&gt;
*Jeder Datenfluss trägt einen Datenflussnamen (Ausnahme: Datenfluss zu einem Speicher wenn auf den gesamten Inhalt zugegriffen wird)&lt;br /&gt;
*Jeder Datenflussname ist im DD definiert&lt;br /&gt;
*jeder Speicher trägt einen Namen&lt;br /&gt;
*jeder Speichername ist im DD definiert.&lt;br /&gt;
&lt;br /&gt;
Die Zusammenhänge zwischen zwei Diagrammen werden also über die DD-Einträge hergestellt. Alle Datenflüsse eines untergeordneten DFD müssen im übergeordneten entweder unter gleichem Namen erscheinen oder Teilkomponente eines Datenflusses sein. Ist diese Eigenschaft in allen Diagrammen erfüllt, dann spricht man von einem &#039;&#039;&#039;ausbalancierten Datenflussmodell&#039;&#039;&#039; (Überprüfung durch CASE-Tool).&lt;br /&gt;
&lt;br /&gt;
=== Mini-Spezifikation (MiniSpec) ===&lt;br /&gt;
*ist eine inhaltliche Beschreibung eines Prozesses.&lt;br /&gt;
*jeder Prozess eines DFD, der nicht durch ein weiteres DFD verfeinert wird, muss durch eine MiniSpec beschrieben werden.&lt;br /&gt;
*jede MiniSpec beschreibt wie Eingaben (Datenflüsse) in den Prozess fliessen und in Ausgaben transformiert werden.&lt;br /&gt;
*durch die Verknüpfung der Eingaben mit den Ausgaben kann festgestellt werden, ob die Erzeugung aller Ausgaben mit Hilfe der vorhandenen Eingaben möglich ist.&lt;br /&gt;
*MiniSpec darf keine Implementationsvorschriften enthalten&lt;br /&gt;
*MiniSpec ergänzt DFD, aber ersetzt sie nicht.&lt;br /&gt;
*werden durch normalen Text, Pseudocode oder Entscheidungstabellen beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Funktionsbaum ===&lt;br /&gt;
&lt;br /&gt;
*Eine funktionale Hierarchie entsteht, wenn eine allgemeine Funktion in Teilfunktionen gegliedert wird.&lt;br /&gt;
*wirf oft in Form eines Funktionsbaumes dargestellt.&lt;br /&gt;
*Funktionen werden als beschriftete Rechtecke (&amp;quot;Kästchen&amp;quot;) gezeichnet und mit unbeschrifteten Linien verbunden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
[[Image:Funktionsbaum1.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Funktionsbaum2.gif]]&lt;br /&gt;
&lt;br /&gt;
*Eine Funktion solle entweder durch ein Verb und ein Objekt (verwalte Kunden) oder ein Substantiv und ein Verb (Kunden verwalten) bezeichnet werden.&lt;br /&gt;
*Bezeichnung muss durchgängig sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgende Regeln sind bei der Erstellung zu beachten:&lt;br /&gt;
*Unter einer gemeinsamen Vaterfunktion sollen nur Funktionen angeordnet werden, welche zusammengehörende Tätigkeiten beschreiben (kann nur mit Fachwissen entschieden werden).&lt;br /&gt;
*Auf einer Hierarchieebene sollen Funktionen angeordnet sein, dir sich auf dem selben Abstraktionsniveau befinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fazit:&lt;br /&gt;
*bewährtes Konzept zur systematischen Gliederung von Funktionen&lt;br /&gt;
*Gibt erste Hinweise für mögliche Dialoggestaltung&lt;br /&gt;
*sehr einfach einsetzbar, berücksichtigt aber nur die funktionale Sicht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Allgemeinen enthält ein DFD nur solche Funktionen die in einem Funktionsbaum vorkommen, dort derselben Hierarchieebene angehören und dieselbe Vaterfunktion besitzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bewertung der SA ===&lt;br /&gt;
&lt;br /&gt;
Vorteile der SA:&lt;br /&gt;
*Geschickte Kombination bewährter Basistechniken&lt;br /&gt;
*Verbesserung der Übersichtlichkeit durch hierarchisch gegliederte DFD&lt;br /&gt;
*viele analytische Qualitätssicherungsmöglichkeiten durch Quervergleiche.&lt;br /&gt;
*Leicht erlernbar&lt;br /&gt;
*Auch für den Auftraggeber nachvollziehbar&lt;br /&gt;
*Erlaubt eine top-down Einarbeitung in ein System&lt;br /&gt;
*Durch CASE-Tools gut unterstützt.&lt;br /&gt;
*Zusammenhang zu ER-Modell über Speicher gut herstellbar.&lt;br /&gt;
*Durch die DFD-Hierarchie entsteht implizit auch ein Funktionsbaum.&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
*Schnittstellen können nicht verfeinert werden. Dadurch: Darstellungsprobleme bei umfangreichen Schnittstellen.&lt;br /&gt;
*Speicher können nicht verfeinert werden.&lt;br /&gt;
&lt;br /&gt;
== Qualitätssicherung ==&lt;br /&gt;
&lt;br /&gt;
*grosse Stärke des SA:Modell: vielfältige QS-Analysen möglich&lt;br /&gt;
*jede Basistechnik kann überprüft werden.&lt;br /&gt;
*Quervergleiche zwischen DFD und DD sowie DFD und Minispec sowie Minispec und DD möglich.&lt;br /&gt;
&lt;br /&gt;
Die syntaktische Überprüfungen können CASE_Tool übernehmen, die semantischen müssen per Review erfolgen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Anforderungen an das Modell ===&lt;br /&gt;
&lt;br /&gt;
*Das Modell soll nur so komplex sein, dass ein durchschnittlicher Leser nicht überfordert wird.&lt;br /&gt;
*Ein DFD sollte nicht mehr als 7 (plus/minus zwei) Prozesse enthalten&lt;br /&gt;
*Eine Zerlegung muss alle für das Verständnis notwendige Informationen enthalten.&lt;br /&gt;
*hat man mehrere Möglichkeiten, eine Aktivität auszudrücken, wählt man die mit den wenigsten Aktivitäten und Datenspeichern&lt;br /&gt;
*alle Eigenschaften weglassen welche sowieso selbstverständlich sind.&lt;br /&gt;
*Die Definition des Systems soll keine Hinweise auf die Technolgie beinhalten.&lt;br /&gt;
&lt;br /&gt;
=== DFD-Semantik ===&lt;br /&gt;
&lt;br /&gt;
Die Semantik der DFD einschliesslich der DFD-Hierarchie kann durch folgend Fragen überprüft werden:&lt;br /&gt;
&lt;br /&gt;
*benötigt ein Prozesse zusätzliche Eingabedaten welche nicht verfügbar sind?&lt;br /&gt;
*prüfe ob alle Ausgabendatenflüsse mit den vorhanden Eingabedatenflüsse erzeugt werden können?&lt;br /&gt;
*besitzt ein Prozess überflüssige Eingabedaten?&lt;br /&gt;
*Prozessname irreführend?&lt;br /&gt;
*Prozessname allgemein.&lt;br /&gt;
&lt;br /&gt;
=== DFD-Syntax ===&lt;br /&gt;
&lt;br /&gt;
*Gibt es Speicher welche nur beschrieben oder nur gelesen werden?&lt;br /&gt;
*überdurchschnittlich viele Eingabe- und/oder Ausgabedatenflüsse?&lt;br /&gt;
*namenloser Datenfluss? (nur bei Speichern zulässig)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konsistenz ===&lt;br /&gt;
&lt;br /&gt;
Zwischen DFD und DD sowieso zwischen MiniSpec, DFD und DD gibt es viele Möglichkeiten die Konsistenz zu prüfen:&lt;br /&gt;
&lt;br /&gt;
*Ein- und Ausgaben&lt;br /&gt;
*überflüssige Definitionen im DFD&lt;br /&gt;
*bereits Implementationsdetails in der MiniSpec?&lt;br /&gt;
*sind alle Datenflüsse des DFD im DD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ergebnisse der SA ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Ergebnisse SA.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzeptionelle Datenmodellierung =&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
&lt;br /&gt;
=== Drei-Ebenen-Architektur ===&lt;br /&gt;
&lt;br /&gt;
*Die Arbeit mit Modellen erfolgt in der Informatik auf drei Ebenen.&lt;br /&gt;
*Für Daten ist das 3-Ebenen ANSI-SPARC-Modell (1975) relevant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:DreiEbenen SPARC.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Interne Ebene&#039;&#039;&#039;: beschreibt wie die Daten auf den externen Speichermedien z speichern sind. Festlegen der physischen Speicherstruktur.&lt;br /&gt;
*&#039;&#039;&#039;Konzeptionelle Ebene&#039;&#039;&#039;: hardware-- und softwareneutrale Beschreibung der Daten. Dient als Basis für die Umsetzung des Datenmodells auf die externe und interne Ebene.  Es entsteht das semantische Datenmodell.&lt;br /&gt;
*&#039;&#039;&#039;Externe Ebene&#039;&#039;&#039;. Beschreibt die Daten aus der Sicht der Benutzer. Daten welche in der konzeptionellen eeben zerlegt wurden, werden hier wieder zusammengesetzt (View, Abfrage, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise ===&lt;br /&gt;
&lt;br /&gt;
Für die Datenmodellierung hat sich folgenden Vorgehensweise durchgesetzt:&lt;br /&gt;
&lt;br /&gt;
*Realitätsanalyse (Grobmodell in der Vorstudie)&lt;br /&gt;
*Erstellung des ERM (Detailliertes Modell in der Systemanalyse)&lt;br /&gt;
*Umsetzung des ERM in ein RDM (Entwurfsphase)&lt;br /&gt;
*Physisches Datenmodell (Realisierungsphase)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elemente des Entity-Relationship-Modells (ERM) ==&lt;br /&gt;
&lt;br /&gt;
=== Entitäten und Eigenschaften ===&lt;br /&gt;
siehe Modul 170&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beziehungen ===&lt;br /&gt;
siehe Modul 170&lt;br /&gt;
&lt;br /&gt;
=== Generalisierung / Spezialisierung ===&lt;br /&gt;
Für sich überlappende Entitätsmengen kann immer eine Menge definiert werden, welche die überlappenden Mengen umfasst. Eine solche Menge wird als Superentität bezeichnet. Das Definieren einer Superentität wird Generalisierung bezeichnet und die in einer Generalisierung auftretenden Entitätsmengen und Subentitäten lasse sich als Spezialisierung auffassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Die vier Arten der Überdeckung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(die folgenden Beispiele gehen vom Beispiel einer Subentität &amp;quot;Fotoclub&amp;quot; und &amp;quot;Sportclub aus)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Die Subentitätsmengen überlappen sich gegenseitig&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Ein Mitarbeiter kann in keiner, nur einer oder in beiden Subentitäten vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Die Subentitätsmengen überlappen sich gegenseitig und überdecken vollständig die Entitätsmenge der Generalisierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Ein Mitarbeiter muss in einer oder in beiden Subentitäten vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Die Subentitätsmengen sind sich gegenseitig disjunkt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Ein Mitarbeiter kann in keiner oder einer Subentitäten vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Die Subentitätsmengen sind sich gegenseitig disjunkt und überdecken vollständig die Entitätsmenge der Generalisierung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beispiel: Ein Mitarbeiter muss in einer, aber nicht in beiden Subentitäten vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assoziationen ===&lt;br /&gt;
&lt;br /&gt;
Siehe Modul 170&lt;br /&gt;
&lt;br /&gt;
=== Eigenschaften und Attribute ===&lt;br /&gt;
&lt;br /&gt;
Siehe Modul 170&lt;br /&gt;
&lt;br /&gt;
=== Aggregation ===&lt;br /&gt;
&lt;br /&gt;
In bestimmten Situationen kann es erwünscht sein, dass ein Beziehungstyp selbst an einer Beziehung teilnehmen soll. Der Beziehungstyp wird dadurch zu einem komplexen Entitätstyp uminterpretiert. Der Vorgang wird häufig auch als &#039;&#039;&#039;Aggregation&#039;&#039;&#039; und der entstehende Entitätstyp als &#039;&#039;&#039;Assoziationstyp&#039;&#039;&#039; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aggregation ERM.gif]]&lt;br /&gt;
&lt;br /&gt;
Im obigen Beispiel soll der Kurs mit einer Prüfung abgeschlossen werden. Die Prüfung bezieht sich einerseits auf den Kurs und andererseits auf den teilnehmen, als auf deren Beziehung untereinander, &amp;quot;Teilnahme&amp;quot; genannt. Daher ist es notwendig die Prüfung mit der Teilnahme in Beziehung zu setzen. dies wird erreicht, indem die Beziehung als Entität aufgefasst wird.&lt;br /&gt;
&lt;br /&gt;
Auch wenn in einer Beziehung zusätzliche Daten untergebracht werden sollen muss eine komplexe Beziehung als Entität aufgepasst werden. (Im Beispiel das Anmeldedatum).&lt;br /&gt;
&lt;br /&gt;
= Weitere Techniken der Systemanalyse =&lt;br /&gt;
&lt;br /&gt;
== Zustandsdiagramm ==&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
Beschreibt verschiedene Zustände einer Entität/Objekt (d.h. einen möglichen Lebenszyklus) sowie die Ereignisse, Bedingungen und Aktionen welche die Übergänge (Transitionen) zwischen diesen Zuständen verursachen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notation ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Zustandsdiagramm-Notation.gif]]&lt;br /&gt;
&lt;br /&gt;
Hinweis:&lt;br /&gt;
Anfangs- und Endzustand sind als besondere Zustandstypen anzusehen, da zu einem Startzustand kein Übergang stattfindet und dem Endzustand keine Zustandsänderung folgt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel Zustandsdiagramm für die Offerterstellung des Seminar-Hotels:&lt;br /&gt;
&lt;br /&gt;
[[Image:Zustandsdiagramm-Beispiel.gif]]&lt;br /&gt;
&lt;br /&gt;
== Aktivitätsdiagramm ==&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
*besteht aus Folgen von Aktivitäten. Ein Aktivität ist dabei ein einzelner Schritt in einem Verarbeitungsablauf.&lt;br /&gt;
*ist vergleichbar mit den bekannten Flussdiagrammen bzw. Programmablaufplänen. &lt;br /&gt;
*kann u.a. zur Beschreibung von prozeduralen Abläufen, Algorithmen, Geschäftsprozessen, Anwendungsfällen oder Operationen verwendet werden.&lt;br /&gt;
*Im Unterschied zu Flussdiagrammen ist die Darstellung paralleler Prozesse möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notation ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Aktivitaetsdiagramm Notation.gif]]&lt;br /&gt;
&lt;br /&gt;
Beispiel für Seminar-Hotel&lt;br /&gt;
&lt;br /&gt;
[[Image:Aktivitaetsdiagramm Beispiel.gif]]&lt;br /&gt;
&lt;br /&gt;
== Entscheidungstabelle ==&lt;br /&gt;
&lt;br /&gt;
*bei komplexen Entscheidungssituationen ist eine verbale oder eine grafische Darstellung oft ungenügend.&lt;br /&gt;
*Die Entscheidungstabelle ist ein Klassiker unter den Darstellungstechnikern und ein bewährtes Hilfsmittel um Entscheidungssituationen übersichtlich und verständlich darzustellen&lt;br /&gt;
*können durch Generatoren automatisch in Code verwandelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Grundaufbau ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Entscheidungstabelle Grundlagen.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Arten von Entscheidungstabellen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Begrenzte Entscheidungstabellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Haben im Bedingungsanzeigerteil nur folgende Symbole:&lt;br /&gt;
&lt;br /&gt;
*J: Bedingung muss erfüllt sein)&lt;br /&gt;
*N: Bedingung darf nicht erfüllt sein)&lt;br /&gt;
*-: Bedingung egal (Irrelevanzanzeiger)&lt;br /&gt;
&lt;br /&gt;
[[Image:Begrenzte Entscheidungstabelle.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Von der vollständigen Entscheidungstabelle ET1 mit allen &#039;&#039;&#039;2 hoch 3 = 8 Regeln&#039;&#039;&#039; kommt man wie folgt zur begrenzten Entscheidungstabelle ET2:&lt;br /&gt;
*prüfen ob es Regeln mit identischen Aktionen gibt. Wenn ja, werde zwei dieser Regeln betrachtet und geprüft auf welche Bedingung es ankommt. Irrelevante Bedingungen werden eliminiert.&lt;br /&gt;
*Im Beispiel haben die regeln R3 und R4 in ET1 dieselbe Aktion. Es kommt also auf das J oder N in Bedingung B3 nicht an. Darum werden R3 und R4 in ET1 zu R3 in ET2 zusammengefasst. Anstelle des J oder N wird das &amp;quot;-&amp;quot; eingesetzt.&lt;br /&gt;
*Ebenso kann man leicht erkennen, dass es bei Regeln R5 bis R8 in ET1 auf Bedingung B2 und B3 nicht ankommt.  --&amp;gt; zusammenfassen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erweiterte Entscheidungstabelle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unterscheiden sich von den begrenzten dadurch, dass die einzelnen Bedingungen und Aktionen nicht mehr vollständig beschrieben, sondern nur zusammen mit den Eintragungen im Bedingungs-- und Aktionsanzeigerteil eindeutig bestimmt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
[[Image:Entscheidungstabelle erweitert.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CRUD-Matrix ==&lt;br /&gt;
&lt;br /&gt;
*ist eine Möglichkeit den Zusammenhang zwischen den Daten- und Funktionssicht herzustellen.&lt;br /&gt;
*kann auch eine QS-sichernde Massnahme sein.&lt;br /&gt;
*zeigt welche Entitäten von welchen Funktionen erstellt (create), gelesen (read), verändert (update) oder gelöscht (delete) werden.&lt;br /&gt;
*die Anforderungsspezifikation ist erst vollständig wenn jede Entität mindestens von einer Funktion erstelle und gelöscht werden kann.&lt;br /&gt;
*wenn die Funktion zum lesen fehlt, muss die Spezifikation ebenfalls näher geprüft werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:CRUD-Matrix.gif]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen zum Entwurf =&lt;br /&gt;
&lt;br /&gt;
Nachdem die Anforderungen analysiert, dokumentiert und modelliert wurde (das &amp;quot;Was&amp;quot;), soll in der nächsten Entwicklungsphase eine Entwurf des Systems erstellt werden (das &amp;quot;Wie&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Einordnung des Entwurfs ==&lt;br /&gt;
&lt;br /&gt;
Aufgabe des Entwerfen (Design) ist es, aus den Anforderungen eine Software-technische Lösung im Sinne eine Software-Architektur zu entwickeln. Entwerfen wird auch als &amp;quot;Programmieren im Grossen&amp;quot; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Ziele des Softwareentwurfs:&lt;br /&gt;
*Erhöhung der Produktivität bei der Entwicklung und Wartung komplexer Systeme&lt;br /&gt;
*Sicherung wesentlichen Qualitätsmerkmale aus Entwicklersicht wie Wartbarkeit&lt;br /&gt;
*Sicherung wesentlichen Qualitätsmerkmale aus Benutzersicht wie Zuverlässigkeit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ergebnis des Entwurfs ist eine &#039;&#039;&#039;Entwurfsspezifikation&#039;&#039;&#039;, die Beschreibung der Software-Architektur des geplanten Systems. Bevor mit den eigentlichen Entwurfsaktivitäten begonnen werden kann, müssen die Rahmenbedingungen geklärt und festgelegt werden. Ausserdem müssen eine Reihe von Entscheidungen gefällt werden welche die weitere Vorgehensweise wesentlich beeinflussen.&lt;br /&gt;
&lt;br /&gt;
== Einflussfaktoren ==&lt;br /&gt;
&lt;br /&gt;
*Produkteinsatz: Mandantenfähigkeit, zentraler/verteilter Betrieb, etc.&lt;br /&gt;
*Nichtfunktionale Anforderungen: Skalierbarkeit, Internationalisierung, etc.&lt;br /&gt;
*Qualitätsanforderungen: Zuverlässigkeit, Effizienz, etc..&lt;br /&gt;
*Zielplattform: Netzdienste, GUI-System, Datenbanken, Systemsoftware, etc.&lt;br /&gt;
&lt;br /&gt;
Diese Faktoren beeinflussen sowohl die zu entwerfende Software-Architektur als auch die zu treffenden Entscheidungen bezüglich unterstützenden Systeme:&lt;br /&gt;
&lt;br /&gt;
*Datenhaltung&lt;br /&gt;
*Benutzeroberfläche&lt;br /&gt;
*Hilfesystem&lt;br /&gt;
&lt;br /&gt;
=== Produkteinsatz ===&lt;br /&gt;
&lt;br /&gt;
bei den Einsatzbedingungen sind verschieden Aspekte zu unterscheiden welche einen wesentlichen Einfluss haben. Z.B.&lt;br /&gt;
&lt;br /&gt;
*Zentrale / verteilte Systeme&lt;br /&gt;
*Mandantenfähigkeit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zentraler / Verteilter Betrieb&#039;&#039;&#039;&lt;br /&gt;
*Client / Server Konzept&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandantenfähigkeit&#039;&#039;&#039;&lt;br /&gt;
*alle Daten eines Mandanten müssen unabhängig von den anderen Mandaten gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nicht-funktionale Anforderungen /Qualitätsanforderungen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
*international --&amp;gt; mehrere Sprachen, verschieden Währungsformate, Mehrwertsteuerberechnungen&lt;br /&gt;
*verschiedene Plattformen&lt;br /&gt;
*Skalierbarkeit&lt;br /&gt;
*Zuverlässigkeit&lt;br /&gt;
*Effizienz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zielplattform ===&lt;br /&gt;
&lt;br /&gt;
*Es muss geklärt werden welche &amp;quot;unterstützenden Systeme&amp;quot; benötigt werden und ob diese auf der Zielplattform bereits existieren.&lt;br /&gt;
*Die Schnittstellen zu diesen System müssen klar definiert sein.&lt;br /&gt;
*klären ob unterstützende Systeme selber entwickelt werden müssen.&lt;br /&gt;
&lt;br /&gt;
fast alle Anwendungen benötigen eine Datenhaltung. Dafür gibt es im Wesentlichen vier Konzepte:&lt;br /&gt;
*&amp;quot;flache&amp;quot; Dateien (flat files). Filesystem des jeweiligen Betriebssystem&lt;br /&gt;
*hierarchische DB (nicht mehr aktuelle, aber aus Performancegründen interessant wo sehr grosse Datenmengen zu verwalten sind)&lt;br /&gt;
*relationale DB (RDBMS) &lt;br /&gt;
*objektorientierte DB (ODBMS) (aktuell nur für kleine Datenmengen einsetzbar)&lt;br /&gt;
&lt;br /&gt;
Weitere Faktoren:&lt;br /&gt;
*Datenhaltung auf einem Server oder verteilt auf mehrere Plattformen&lt;br /&gt;
*Art und Weise wie die Benutzeroberfläche realisiert werden soll (u.a. abhängig von der Programmiersprache)&lt;br /&gt;
*soll ein eigenständiges Hilfesystem eingesetzt werden oder stellt das OS schon etwas zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generelles Ziel aller Entscheidungen:&lt;br /&gt;
*möglichst viele Dienstleistungen auf hohem Abstraktionsniveau von anderen Systemen in Anspruch nehmen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgaben des Entwurfs ==&lt;br /&gt;
&lt;br /&gt;
*Erstellen einer konkreten Software-Architektur für das zu entwerfende Produkt, welche funktionalen und nicht-funktionalen Anforderungen sowie allgemeine und produktespezifische Qualitätsanforderungen erfüllt und die Schnittstellen zur Umgebung versorgt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software-Architektur ===&lt;br /&gt;
&lt;br /&gt;
*Beschreibt die Struktur des Systems durch Komponenten und ihre Beziehung untereinander&lt;br /&gt;
*Eine Komponente ist ein abgegrenzter Teil eines Systems. Sie dient als Baustein für die physikalische Struktur einer Anwendung.&lt;br /&gt;
*Beispiel für Komponenten: Module, Funktionen, Prozeduren, abstrakte Datentypen.&lt;br /&gt;
*Eine Beziehung kann jede mögliche Art von Verbindung zwischen den Komponenten sein&lt;br /&gt;
&lt;br /&gt;
Beispiel für Beziehungen:&lt;br /&gt;
*Aufruf von Funktionen durch andere Funktionen&lt;br /&gt;
*Austausch von Daten zwischen Komponenten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modularisierung ===&lt;br /&gt;
&lt;br /&gt;
*ist die Aufgliederung eines Systems in mehrere Teile (Module, Komponenten)&lt;br /&gt;
&lt;br /&gt;
Ein Modul ist ein SW-Baustein der folgende Eigenschaften hat:&lt;br /&gt;
*Darstellung einer funktionalen Einheit oder zusammengehörende Funktionsgruppen&lt;br /&gt;
*Weitgehend Kontextunabhängig, d.h., ein Modul ist in sich abgeschlossen und unabhängig von der Umgebung entwickelbar, prüfbar und einsetzbar.&lt;br /&gt;
*Definierte Schnittstelle für die Verwendung des Moduls&lt;br /&gt;
*handlich, überschaubar, verständlich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
*Einfache Änderbarkeit/Austauschbarkeit&lt;br /&gt;
*Verbesserung der Wartbarkeit&lt;br /&gt;
*Erhöhung der Wiederverwendbarkeit&lt;br /&gt;
*Erleichterung der Standardisierung&lt;br /&gt;
*Verbesserung der Überprüfbarkeit&lt;br /&gt;
*Erleichterung der Arbeitsorganisation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis&#039;&#039;&#039;: Zur Modularisierung gehört auch das Prinzip der Kapselung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schichtenarchitektur ===&lt;br /&gt;
&lt;br /&gt;
Wenn eine Software viele Komponenten hat, ist eine stärkere Strukturierung sinnvoll. Diese &#039;&#039;&#039;Schichtenarchitektur&#039;&#039;&#039; kann wie folgt dargestellt werden:&lt;br /&gt;
&lt;br /&gt;
[[Image:Schichtenarchitektur.gif]]&lt;br /&gt;
&lt;br /&gt;
Gliedert man eine Anwendung in Benutzeroberfläche, eigentliche Anwendung und Datenhaltung, dann erhält man eine &#039;&#039;&#039;Drei-Schichten-Anwendungsarchitektur&#039;&#039;&#039; (3-tier-architecture)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Strukturierter Entwurf =&lt;br /&gt;
&lt;br /&gt;
Ein in der Definitionsphase (=Analysephase) erstelltest SA_Modell kann mit Hilfe von Transformationsregeln in eine strukturierte Software-Architektur umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;strukturierter Entwurf&#039;&#039;&#039; ist der planvolle, systematische Ansatz, um um zum Entwurf eines geplanten System-Systems zu kommen.&lt;br /&gt;
&lt;br /&gt;
Ziel des strukturierten Entwurfs:&lt;br /&gt;
*eine konkrete Software-Architektur zu erstellen die aus hierarchisch angeordneten funktionalen Modulen besteht. Zur Beschreibung des Entwurfs werden Strukturdiagramme und Modulspezifikationen verwendet.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe des strukturierten Entwurfs entstehen Kriterien zur Beurteilung der SW-Qualität.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grundsätze des strukturierten Entwurfs ==&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise:&lt;br /&gt;
*Aufteilung in Module&lt;br /&gt;
*hierarchische Organisation der Module&lt;br /&gt;
&lt;br /&gt;
=== Aufteilung in Module ===&lt;br /&gt;
&lt;br /&gt;
Ein System wird zunächst in Black Boxes aufgeteilt. Eigenschaften der Blackbox:&lt;br /&gt;
&lt;br /&gt;
*Eingabewerte sind bekannt&lt;br /&gt;
*Ausgabewerte sind bekannt&lt;br /&gt;
*Die Funktion ist bekannt&lt;br /&gt;
*Es ist nicht bekannt wie die Funktion ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Vorteile von Systemen, dies aus Black Boxes zusammengesetzt sind:&lt;br /&gt;
&lt;br /&gt;
*einfach aufgebaut&lt;br /&gt;
*einfach zu testen&lt;br /&gt;
*können einfach repariert werden&lt;br /&gt;
*leicht zu verstehen&lt;br /&gt;
*leicht veränderbar&lt;br /&gt;
&lt;br /&gt;
Die Einteilung in Black Boxes beim strukturierten Design geschieht nach folgenden Gesichtspunkten:&lt;br /&gt;
&lt;br /&gt;
*jede Black Box löst einen genau definierten teil des Problems&lt;br /&gt;
*Die Aufteilung geschieht so, dass dabei jede entstehende Funktion leicht zu verstehen ist.&lt;br /&gt;
*Die Verbindung zwischen Blaxk Boxes ist dann sinnvoll, wenn sie einer Verbindung zwischen Teilern der Problemstellung entspricht.&lt;br /&gt;
*Die Verbindung zwischen Black Boxes sollte so einfach sein, dass sie unabhängig wie möglich voneinander sind.&lt;br /&gt;
&lt;br /&gt;
Zusammengefasst: Dir Struktur der Aufgabenstellung definiert die Struktur der Lösung und nicht umgekehrt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Organisation in Hierarchien ===&lt;br /&gt;
&lt;br /&gt;
Wie bei hierarchischer Struktur einer Firma: In den oberen Stellen werden Aufgaben wie Planung, Koordination whregenommen während die unteren Stellen die Teilaufgaben erledigen. (Aufgaben werden von oben nach unten delegiert)&lt;br /&gt;
&lt;br /&gt;
== Funktionale Abstraktion ==&lt;br /&gt;
&lt;br /&gt;
Ein funktionales Modul besitzt folgende Eigenschaften:&lt;br /&gt;
&lt;br /&gt;
*Es ist aktiv bzw. aktionsorientiert, d.h. es &amp;quot;tut&amp;quot; etwas.&lt;br /&gt;
*Es besitzt ein Transformationsverhalten, d.h. Eingabedaten werden in Ausgabedaten transformiert.&lt;br /&gt;
*Identische Eingabedaten führen immer zu identischen Ausgabedaten, d.h. ein funktionales Modul besetzt &#039;&#039;&#039;kein&#039;&#039;&#039; internes Gedächtnis.&lt;br /&gt;
&lt;br /&gt;
Aufgaben:&lt;br /&gt;
*Steuerungs- Koordinationsaufgaben (z.B. Hauptprogramm)&lt;br /&gt;
*Transformationsaufgaben (z.B. Compiler)&lt;br /&gt;
*Auswertungsaufgaben&lt;br /&gt;
*Hilfsaufgaben&lt;br /&gt;
&lt;br /&gt;
=== Modulspezifikation ===&lt;br /&gt;
&lt;br /&gt;
Damit eine funktionales Modul im Rahmen eines Entwurfs eingesetzt werden kann, muss seine Schnittstelle spezifiziert werden:&lt;br /&gt;
&lt;br /&gt;
*Aufgabenbeschreibung&lt;br /&gt;
*Eingabeparamater (inkl. Datentyp)&lt;br /&gt;
*Ausgabeparameter (inkl. Datentyp)&lt;br /&gt;
*evtl. Vorausssetzungen und Vorbedingungen&lt;br /&gt;
*evtl. Bedingung die nach der Anwednung geldent&lt;br /&gt;
*verhalten bei inkorrekten Eingabewerten oder Fehlfunktion des zugrunde liegenden Basissystems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Strukturdiagramm ===&lt;br /&gt;
&lt;br /&gt;
Bestehen aus:&lt;br /&gt;
*Rechtecke die funktionale Module darstellen&lt;br /&gt;
*Aufruflinien zwischen Rechtecken welche die Aufrufhierarchie festlegen&lt;br /&gt;
*Datenpfeile beschreiben die Kommunikation zwischen Modulen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Notation-Strukturdiagramm.gif]]&lt;br /&gt;
&lt;br /&gt;
*Der Modulname soll die Funktion des Moduls beschreiben, die si für das rufende Modul erledigt.&lt;br /&gt;
&lt;br /&gt;
Die Datenpfeile werden mit den Namen der aktuellen Parameter beschriftet:&lt;br /&gt;
*Ein Pfeil mit weissem Kreis beschreibt eine Datenkommunikation (Daten werden übergeben)&lt;br /&gt;
*Ein Pfeil mit schwarzem Pfeil beschreibt eine Status-Information (flag). (z.B. Dateiende). Eine eigentliche Verarbeitung der Information findet nicht wirklich statt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bereits vorhanden, zur Wiederverwendung vorgesehen Module werden wie folgt durch Doppellinien an den Rändern gekennzeichnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Strukturdiagramm-Beispiel.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Entwurf der Modul-Inneren ====&lt;br /&gt;
&lt;br /&gt;
Anschliessen wird das Modul-Innere mittels Pseudocde oder anderen Mitteln den Programmentwurfs im Detail entworfen. Mögliche Mittel:&lt;br /&gt;
&lt;br /&gt;
*Jackson-Diagramm&lt;br /&gt;
*Nassi-Shneidermann-Diagramm&lt;br /&gt;
*Programmablaufplan&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis&#039;&#039;&#039;: Das Modul-Innere mit einer der genannten Techniker zu entwerfen ist nur bei relativ komplexen Modulen sinnvoll. Ansonsten ist es üblich aus den Vorgaben der MiniSpec direkt eine Funktion oder Teilfunktion zu realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qualitätskriterien ==&lt;br /&gt;
&lt;br /&gt;
Wichtigste Ziele:&lt;br /&gt;
&lt;br /&gt;
*Kopplung zwischen Modulen zu minimieren&lt;br /&gt;
*Bindung in Modulen zu maximieren&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kopplung ===&lt;br /&gt;
&lt;br /&gt;
Module müssen so unabhängig wie möglich voneinander sein. Gründe:&lt;br /&gt;
&lt;br /&gt;
*geringere Gefahr von Fernwirkungen&lt;br /&gt;
*keine Änderungen an anderen Modulen wenn an einem Modul etwas geändert wird.&lt;br /&gt;
*interne Details sollen anderen Modulen nicht bekannt sein&lt;br /&gt;
*System soll einfach und verständliche bleiben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bindung ===&lt;br /&gt;
&lt;br /&gt;
Bindung ist der Grad der funktionalen Zusammengehörigkeit der Elemente. Für ein gutes Moduldesign muss die Bindung maximiert werden. Jedes Modul soll ein bestimmte Aufgabe erledigen, diese aber komplett.&lt;br /&gt;
&lt;br /&gt;
Ein Modul besitzt &#039;&#039;&#039;normale Bindung&#039;&#039;&#039; wenn es eine oder mehrere Funktionen umfasst, die inhaltlich eng zusammengehören und die mindestens auf einer gemeinsamen Datenstruktur operieren, die lokale definiert oder explizit als Parameter übergeben wird.&lt;br /&gt;
&lt;br /&gt;
= Modularer Entwurf =&lt;br /&gt;
&lt;br /&gt;
Der modulare Entwurf verwendet neben der &amp;quot;funktionalen Abstraktion&amp;quot; die &amp;quot;Datenabstraktion&amp;quot;. Zur Beschreibung des Entwurfs werden Grafiken und Modulspezifikationen verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Datenabstraktion ==&lt;br /&gt;
&lt;br /&gt;
Ein funktionales Modul funktionieren bei jedem Aufruf genau gleich (weil es kein Gedächtnis hat) Dies führt zu einer Reihen von Probleme. z.B. wenn der Seed eines Zufallsgenerator  &amp;quot;geheim&amp;quot; gespeichert werden soll. Lösung: Seed wird im Modul als &amp;quot;private Daten&amp;quot; gehalten.&lt;br /&gt;
&lt;br /&gt;
Wenn in einem Modul Daten gehalten werden, haben wir es mit einer Datenabstraktion zu tun. Wenn das Modul ein Gedächtnis hat, haben wird es mit einem Datenobjekt zu tun. Es lassen sich zwei Grade der Datenabstraktion unterscheiden.&lt;br /&gt;
&lt;br /&gt;
*abstrakte Datenobjekte&lt;br /&gt;
*abstrakte Datentypen (ADT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Datenobjekte ==&lt;br /&gt;
&lt;br /&gt;
entspricht weitgehend einem Datenobjekt in der objektorientierten Softwareentwicklung&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Datentypen ==&lt;br /&gt;
&lt;br /&gt;
entspricht weitgehend eine Objekt-Klasse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Entwurf von verteilten Modulen =&lt;br /&gt;
&lt;br /&gt;
bei einer verteilten Architektur läuft eine Funktion in mehreren schichten ab. Es ist daher notwendig diese so in Module aufzuteilen, dass in den Schichten zugeordnet werden können. Die Verteilung muss dabei derart vorgenommen werden, dass für jedes Modul die geeignete Plattform gewählt wird.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis&#039;&#039;&#039;: Ein Modul sollte nur zu genau einer Schicht gehören. Würde man die Funktionalität mehrerer Schichten in ein einziges Modul packen, würde dies dem Prinzip der losen Kopplung widersprechen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die drei Schichten ==&lt;br /&gt;
&lt;br /&gt;
*Präsentationslogik&lt;br /&gt;
*Geschäftslogik&lt;br /&gt;
*Datenlogik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Präsentationslogik (PL) ===&lt;br /&gt;
&lt;br /&gt;
*Benutzerschnittstelle: GUI, spezielle Ein- Ausgabegerät z.B. Handy&lt;br /&gt;
*Systemschnittstellen: automatische Datenübertragungen über Schnittstellen zu anderen Systeme ohne Beteiligung von Benutzern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Geschäftslogik (GL) ===&lt;br /&gt;
&lt;br /&gt;
=== Datenlogik (DL) ===&lt;br /&gt;
&lt;br /&gt;
sorgt für den Zugriff auf persistente Daten. Ebenso kann die Einhaltung der Datenschutz- und Sicherheitskonzepte in Datenlogik-Modulen gekapselt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Transaktionslogik (TL) ===&lt;br /&gt;
Manchmal wird von einer vierten Schicht gesprochen, der TL. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorgehensweise ==&lt;br /&gt;
Wie können die Module in einer 3-Schicht-Architektur bestimmt werden?&lt;br /&gt;
&lt;br /&gt;
=== Module bestimmen ===&lt;br /&gt;
&lt;br /&gt;
*Im Datenflussdiagramm suchen wir alle Schnittstellenpfeile und zu jedem Schnittstellenpfeil definieren wir ein PL-Modul.&lt;br /&gt;
*Im DFD suchen wir alle Pfeile von und zu Datenspeicher; zu jedem Datenspeicher-Pfeil definieren wir ein DL-Modul.&lt;br /&gt;
*Den Rest der Logik packen wir in einen GL-Modul&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: Beim Aufteilen in Module ist darauf zu achten, dass es sich um Module handelt welche bereits an anderer Stelle identifiziert worden sind. Damit wird die Wiederverwendbarkeit angestrebt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vorgefertigte Module verwenden ===&lt;br /&gt;
&lt;br /&gt;
Die Abwicklung der Transaktionen wird gewöhnlich^von einem Transaktionsmonitor gesteuert. Dieser übernimmt einmal die Kommunikation mit dem Client und anderseits überwacht er die Durchführung der physischen Transaktion auf der DB. Daher kann sich der Anwendungsprogrammierer darauf konzentrieren die Geschäftslogik zu programmieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;Geschäftslogik &#039;&#039;&#039; wird gewöhnlich im &#039;&#039;&#039;Applikations-Server&#039;&#039;&#039; untergebracht. Auf dem Markt angebotene Applikations-Server bieten Dienste an, die Transaktionen koordinieren, die Last verteilen, für Sicherheit sorgen und Web-/GUI-Schnittstellen bedienen. Transaktionssteuerung ist einer der wichtigsten Funktionalitäten, den damit lässt sich die Konsistenz der Daten und Abläufe sicherstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Entwurf der Benutzerinteraktion =&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M166_Zusammenfassung&amp;diff=142</id>
		<title>Informatiker FA M166 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M166_Zusammenfassung&amp;diff=142"/>
		<updated>2019-08-01T13:18:55Z</updated>

		<summary type="html">&lt;p&gt;Christian: Created page with &amp;quot;== Einleitung ==  Ein Unternehmen ist vielen Risiken ausgesetzt. Die Informatik ist ein zentrales internes Risiko. Kosten für Sicherheit steigen exponentiell zum Grad der Sic...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Ein Unternehmen ist vielen Risiken ausgesetzt. Die Informatik ist ein zentrales internes Risiko. Kosten für Sicherheit steigen exponentiell zum Grad der Sicherheit. „IT-Grundschutz“ ermöglicht mit relativ wenig Aufwand ein mittleres bis hohes Mass an Sicherheit.&lt;br /&gt;
&lt;br /&gt;
Das Modul dient zum Erwerb folgender Kompetenzen&lt;br /&gt;
*Infrastruktur identifizieren&lt;br /&gt;
*Gefährdungslage feststelle und geeignete Schutzmassnahmen ableiten (organisatorische, personelle, infrastrukturelle, technische)&lt;br /&gt;
*Sicherheitskonzept für einen IT-Grundschutz erstellen und nachführen.&lt;br /&gt;
&lt;br /&gt;
== 1 Richtlinien und Grundbegriffe ==&lt;br /&gt;
&lt;br /&gt;
=== 1.1 Wichtige Richtlinien ===&lt;br /&gt;
&lt;br /&gt;
*Grundschutzhandbuch&lt;br /&gt;
*ISO/IEC 17799&lt;br /&gt;
*Datenschutzgesetz&lt;br /&gt;
*Strafgesetzbuch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IT Grundschutzhandbuch&#039;&#039;&#039;&lt;br /&gt;
Ziel: Durch standardisierte Sicherheitsmassnahmen  ein standardisiertes Sicherheitsniveau aufbauen welches für sensible Bereiche ausbaubar ist.  Das Grundschutzhandbuch behandelt Bestimmungen welche  ein mittleres bis hohes Mass an Sicherheit gewährleisten. Kataloge mit Sicherheitsmassnahmen für folgende Bereiche sind angeführt.&lt;br /&gt;
&lt;br /&gt;
*Infrastruktur&lt;br /&gt;
*Organisation&lt;br /&gt;
*Personal&lt;br /&gt;
*Hard- und Software&lt;br /&gt;
*Kommunikation&lt;br /&gt;
*Notfallvorsorge&lt;br /&gt;
&lt;br /&gt;
Vorgeschlagener Ablauf für Aufbau des Grundschutzes&lt;br /&gt;
&lt;br /&gt;
*Strukturanalyse &lt;br /&gt;
*Feststellen des Schutzbedarfs&lt;br /&gt;
*Modellieren des Grundschutzes&lt;br /&gt;
*Basis Sicherheitscheck&lt;br /&gt;
*Ergänzende Sicherheitsanalyse&lt;br /&gt;
*Realisierung von Sicherheitsmassnahmen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Datenschutzgesetz&#039;&#039;&#039;&lt;br /&gt;
Ziel des Datenschutzgesetz ist der Schutz des Persönlichkeitsrechts.  Personenbezogene Daten müssen vor unzulässiger Einsichtnahmen, Verarbeitung und Verbreitung geschützt werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strafgesetzbuch&#039;&#039;&#039;&lt;br /&gt;
Damit eine strafrechtliche Verfolgung eingeleitet werden kann, muss der Geschädigte belegen können, dass er Schutzmassnahmen angewendet hat und dass er die Sorgfaltspflicht wahrgenommen  hat.&lt;br /&gt;
Das Strafgesetzbuch gibt Hinweise auf di rechtliche  Verantwortung  bei der Verarbeitung und Aufbewahrung von Daten (Beweisführung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1.2 Merkmale der IT-Sicherheit ===&lt;br /&gt;
&lt;br /&gt;
*Vertraulichkeit&lt;br /&gt;
*Verfügbarkeit&lt;br /&gt;
*Integrität&lt;br /&gt;
*Verbindlichkeit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertraulichkeit&#039;&#039;&#039;&lt;br /&gt;
Vertraulichkeit bedeutet, dass sichergestellt werden muss, dass nur Berechtige Zugriff auf vertrauliche Daten haben. Dies gilt z.b. auch für Logdateien.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verfügbarkeit&#039;&#039;&#039;&lt;br /&gt;
Umfasst alle Kriterien für die Verfügbarkeit (Availability) von Daten. Z.B. Wartezeiten, Geschwindigkeit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrität&#039;&#039;&#039;&lt;br /&gt;
Die Information muss vollständig, korrekt und unverfälscht ist.  Die Daten kommen ausserdem von der Person von der  ich sie erwarte. Das Programm macht das was man von ihm erwartet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verbindlichkeit&#039;&#039;&#039;&lt;br /&gt;
Wenn zwei Personen einen Vertrag abschliessen ist dieser verbindlich. In der IT ist dies nicht so einfach. Ist z.B. ein Email rechtsgültig?&lt;br /&gt;
&lt;br /&gt;
Aspekte der Verbindlichkeit&lt;br /&gt;
*Einhaltung gesetzliche und vertraglicher Bedingungen&lt;br /&gt;
*Problem der Anerkennung des Empfangs von Informationen&lt;br /&gt;
*Nachweisbarkeit von Kommunikationsvorgängen&lt;br /&gt;
*Die juristische Akzeptanz von Rechtsgeschäften welche mit IT-Mitteln zustande gekommen sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(wo gehört der folgende Absatz hin?)&lt;br /&gt;
Begriffe der Risikoanalyse&lt;br /&gt;
-	Bedrohung &lt;br /&gt;
-	Verletzbarkeit&lt;br /&gt;
-	Risiko&lt;br /&gt;
-	Schaden&lt;br /&gt;
-	Eintrittswahrscheinlichkeit&lt;br /&gt;
-	Sicherheitsmassnahmen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Begriffe der IT-Sicherheit ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bedrohung&#039;&#039;&#039;&lt;br /&gt;
Eine Bedrohung (Threat) stellt ein Ereignis darf welches zu einem Verlust führen  kann. Bedrohungen könne in folgende Kategorien unterteilt werden&lt;br /&gt;
*Menschliches Versagen&lt;br /&gt;
*Vorsätzliche Handlung&lt;br /&gt;
*Technisches Versagen&lt;br /&gt;
*Höhere Gewalt&lt;br /&gt;
*Organisatorische Mängel (Fehlende Konzepte, Verantwortungen nicht definiert). Hinter organisatorischen Mängeln steckt immer menschliches Versagen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verletzbarkeit&#039;&#039;&#039;&lt;br /&gt;
Die  Verletzbarkeit (Vulnerability) beschreibt einen Mangel oder eine Anfälligkeit an einem Objekt . (Potenzial welches zu einem Verlust führen kann). Die Verletzbarkeit muss getrennt auf die vier Hauptmerkmale der IT-Sicherheit beurteilt werden (Vertraulichkeit, Verfügbarkeit, Integrität, Verbindlichkeit)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Risiko&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das  Risiko ist die Kombination aus Bedrohung und Verletzbarkeit bezogen auf ein Objekt.&lt;br /&gt;
Beispiel (fiktiv)&lt;br /&gt;
*Bedrohung: Webserver e-learner&lt;br /&gt;
*Verwundbarkeit: Sicherheitsleck in PHP&lt;br /&gt;
Beides zusammen führt zu einem &#039;&#039;&#039;Risiko&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schaden&#039;&#039;&#039;&lt;br /&gt;
Schadenskategorien:&lt;br /&gt;
*Direkte Schäden (z.b an Hardware, Software, Datenträgern oder Daten)&lt;br /&gt;
*Indirekte Schäden (Z.B. Kosten für Datenrekonstruktion, Personalaufwand)&lt;br /&gt;
*Folgekosten (z.B. entgangene Gewinne wegen Produktionsunterbruch, Schadenersatzansprüche Dritter)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eintrittswahrscheinlichkeit&#039;&#039;&#039;&lt;br /&gt;
Arten von Wahrscheinlichkeiten:&lt;br /&gt;
*Objektive, messbare und kalkulierbare (z.B. 50-zu-50 Chance bei einem Münzenwurf)&lt;br /&gt;
*Subjektive, nicht messbare und geschätzte Wahrscheinlichkeit (z.B. Eintritt einer Krankheit aufgrund einer Diagnose von Symptomen)&lt;br /&gt;
*Objektive Unmöglichkeit eine Wahrscheinlichkeit zu ermitteln (z.B. Ort eines bestimmten teils nach einem Knetvorgang)&lt;br /&gt;
&lt;br /&gt;
Für die Berechnung von Eintrittswahrscheinlichkeiten werden oft Statistiken aus der Versicherungsbranche herbeigezogen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sicherheitsmassnahmen&#039;&#039;&#039;&lt;br /&gt;
Dienen zur Abwehr oder Minderung eines möglichen Schaden. Sie können jedoch viel Kosten und müssen somit der Eintrittswahrscheinlichkeit bzw. dem Risiko angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== 2 Sicherheitsvorgaben aus dem Strafrecht ==&lt;br /&gt;
&lt;br /&gt;
Das DSG schützt natürlich und juristische Personen vor Persönlichkeitsverletzungen.&lt;br /&gt;
Überall  wo personenbezogene Daten gespeichert oder bearbeitet werden sind  die Regeln des DSG (Datenschutzgesetz) zu beachten. Egal ob elektronisch oder auf Papier gespeichert wird.&lt;br /&gt;
&lt;br /&gt;
Der Begriff „Datensammlung“ wird vom DSG als Bestand von Personendaten definiert, der so aufgebaut ist, dass die  Daten nach betroffenen Personen erschliessbar sind.&lt;br /&gt;
&lt;br /&gt;
Diese Personendaten enthalten insbesondere Informationen über:&lt;br /&gt;
*Religion, Weltanschauung, Politik, Gewerkschaft&lt;br /&gt;
*Gesundheit&lt;br /&gt;
*Intimsphäre&lt;br /&gt;
*Rassenzugehörigkeit&lt;br /&gt;
*Massnahmen der sozialen Hilfe&lt;br /&gt;
*Administrative oder strafrechtliche Verfolgung und Sanktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anmeldung einer Datensammlung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Eidgenössische Datenschutzbeauftragte führt ein Register dieser Datensammlungen. Datensammlungen dieser Art müssen angemeldet werden.&lt;br /&gt;
&lt;br /&gt;
Ausnahmen:&lt;br /&gt;
*Wenn die Verarbeitung gesetzlich angeordnet wurde (ausser Bundesorgane: diese müssen alle Sammlungen anmelden)&lt;br /&gt;
*Wenn die Betroffenen angefragt wurden ob die Informationen verwendet werden dürfen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Personendaten dürfen nur zu dem Zweck verwendet welcher bei der Datenbeschaffung angegeben wurde.&lt;br /&gt;
Jeder Betroffenen hat das Recht die über ihn gesammelten Daten einzusehen, auch wenn diese nicht angemeldet werden mussten. Weiter hat dieser das Recht die Korrektur an falschen Daten zu verlangen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schutz der Daten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Personendaten müssen durch angemessene organisatorische und technische Massnahmen gegen unbefugten Zugriff geschützt werden.&lt;br /&gt;
&lt;br /&gt;
Eigenschaften der Massnahmen:&lt;br /&gt;
*Verhältnismässig&lt;br /&gt;
*Müssen dem Zweck der Bearbeitung, Art und Umfang der Bearbeitung und den möglichen Risiken entsprechen.&lt;br /&gt;
*Müssen dem gegenwärtigen Stand der Technik entsprechen.&lt;br /&gt;
&lt;br /&gt;
Ein Sicherheitskonzept gemäss IT-Grundschutz erfüllt diese Anforderungen weitgehend.&lt;br /&gt;
&lt;br /&gt;
Übersicht der erwarteten Massnahmen:&lt;br /&gt;
*Zugangskontrolle:  Unbefugten Personen ist der Zutritt zu Räumen zu verwehren in den Personendaten verarbeitet werden.&lt;br /&gt;
*Datenträgerkontrolle: Unbefugten ist der Zugriff auf die Datenträger zu verunmöglichen.&lt;br /&gt;
*Transportkontrolle:  Bei der Bekanntgaben von Personendaten oder deren Transport (elektronisch oder physisch) ist zu verhindern, dass Unbefugte Zugriff erhalten.&lt;br /&gt;
*Bekanntgabekontrolle: Berechtigte Datenempfänger müssen identifiziert werden können.&lt;br /&gt;
*Speicherkontrolle: Unbefugte Eingabe Speicherung, Veränderung. Löschung oder Einsichtnahme ist zu verhindern. (in Bezug auf Speichermedium)&lt;br /&gt;
*Benutzerkontrolle: Die Benutzung von Datenverarbeitungssystemen durch Unbefugte ist zu verhindern.&lt;br /&gt;
*Zugriffskontrolle: Zugriff auf die Daten darf nur den Personen gegeben werden welche diese für die Erfüllung Ihrer Arbeit benötigen.&lt;br /&gt;
*Eingabekontrolle: Es muss nachträglich geprüft werden können, welche Personendaten, zu welcher Zeit und von welcher Person eingegeben wurden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strafbestimmungen des Datenschutzgesetzes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bei Verletzung  können Haft und Busse die Folge sein. Gilt sowohl während der Bearbeitungs- und Aufbewahrungszeit aber auch danach (Schweigepflicht)&lt;br /&gt;
Kunstgriff für Umgehung des DSG: Daten „entpersonifizieren“. Schlüssel zur Identifikation des Benutzers wird in einer anderen DB gespeichert. So muss hauptsächlich nur diese geschützt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bedrohung durch Computerkriminalität&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Gesetz unterscheidet folgende strafbare Handlungen.&lt;br /&gt;
*Computerkriminalität: Computer ist das Ziel oder die Waffe zu einer tat. Meistens muss eine rechtswidrige Vermögensverletzung vorliegen. (Datenveränderung, Zerstörung, Sabotage, Datenerlangung, Spionage)&lt;br /&gt;
*Computerbetrug: Unbefugtes Beeinflussen von Ergebnissen durch unrichtige Programme, Einwirken auf das Programm, verwenden unrichtiger Daten. Es muss ein Vermögensvorteil für sich oder Dritte entstehen.&lt;br /&gt;
*Computerspionage: Die unberechtigte Aneignung von Daten.&lt;br /&gt;
*Computersabotage: Die vorsätzliche Beeinträchtigung von Daten oder HW. &lt;br /&gt;
*Computermissbrauch Erschleichung einer Leistung: Die unbefugte Nutzung von Systeme n mit der Absicht sich oder Dritten einen Vermögensvorteil zu verschaffen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bestimmungen auf dem Strafrecht&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auflistung von relevanten Artikeln aus dem Strafgesetzbuch . (siehe Buch)&lt;br /&gt;
Eine Geschädigter muss aufzeigen können, dass er angemessen Massnahmen zur Sicherung der Systems vorgenommen hat und muss dies belegen können.&lt;br /&gt;
Es können recht hohe Strafen ausgesprochen werden.&lt;br /&gt;
Das Datenschutzgesetz und das Strafrecht setzen das Vorhandensein einer Sicherheitsstrategie voraus.&lt;br /&gt;
Jedes Unternehmen arbeitet mit mindestens zwei schützenswerten Daten: Personendaten und Kundendaten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3. Grundprinzip der Risikoanalyse ==&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Systemabgrenzung ===&lt;br /&gt;
Als erstes wird das ganze IT-System in einzelne Bereiche (Webserver, Extranet, LAN etc.) unterteilt. Dadurch wird die Komplexität reduziert. Ausserdem weisen spezifische Bereiche besondere Sicherheitsaspekte auf. Danach werden die Komponenten der abgegrenzten Bereiche aufgelistet und kurz beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Komponente!! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Apache || Webserver-Software für Kundenwebs&lt;br /&gt;
|-&lt;br /&gt;
| VMWare || Virtualisierungs-Software auf Host&lt;br /&gt;
|-&lt;br /&gt;
| Riker.adabis.ch || Server-Hardware für Apache&lt;br /&gt;
|-&lt;br /&gt;
| Switch || Verbindung zu Internet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Definition des Datenbestandes ===&lt;br /&gt;
Innerhalb des untersuchten Bereiches sind Datenbestände vorhanden. Die Risikoanalyse betrachtet vorwiegend die Gefährdung dieser Bestände. Z.B. Adabis Kundendaten (inkl. Passwörter) und Kundenwebs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Definition der Verletzbarkeit ===&lt;br /&gt;
&lt;br /&gt;
Die Datenbestände werden Bedrohungen der Informatik gegenübergestellt.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Grundbedrohung !! Mitarbeiterdaten !! Geschäftszahlen !! Kundendaten&lt;br /&gt;
|-&lt;br /&gt;
| Vertraulichkeit || 1) Es dürfen keine Mitarbeiterdaten die Personalabteilung verlassen || Keine Verletzbarkeit  || 2) Datenschutzgesetz&lt;br /&gt;
|-&lt;br /&gt;
| Verfügbarkeit || Keine Verletzbarkeit || 3) Keine Führung des Unternehmens möglich || 4) Produktionsausfall&lt;br /&gt;
|-&lt;br /&gt;
| Integrität || Keine Verletzbarkeit || 5) Führung auf Grund falscher Tatsachen || 6) Falsches Versenden von Artikeln&lt;br /&gt;
|-&lt;br /&gt;
| Verbindlichkeit || Keine Verletzbarkeit || Keine Verletzbarkeit || Keine Verletzbarkeit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Definition der Bedrohung ===&lt;br /&gt;
Es wird ein Bedrohungskatalog erstellt. Folgende Bedrohungen können z.B. genannt werden: Stromausfall, Hardwareausfall, Hackerangriff.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Risikoanalyse ===&lt;br /&gt;
Nun erfolgt die eigentlich Ermittlung des Risikos (Bedrohung + Verletzbarkeit = Risiko)&lt;br /&gt;
&lt;br /&gt;
Verletzlichkeit	Bedrohung&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Verletzlichkeit !! colspan=&amp;quot;3&amp;quot; | Bedrohung &lt;br /&gt;
|-&lt;br /&gt;
! Nr !! Stromausfall !! Festplattenausfall !! Hackerangriff&lt;br /&gt;
|-&lt;br /&gt;
| 1) Vertraulichkeit Mitarbeiterdaten || Kein Risiko ||  Kein Risiko || a) Hacker kann Daten einsehen&lt;br /&gt;
|-&lt;br /&gt;
| 2) Vertraulichkeit Kundendaten || Kein Risiko || Kein Risiko  ||  b) Hacker kann Daten einsehen&lt;br /&gt;
|-&lt;br /&gt;
| 3) Verfügbarkeit Geschäftsdaten || c) System läuft nicht mehr || d) System läuft nicht mehr || e) Hacker kann System manipulieren &lt;br /&gt;
|-&lt;br /&gt;
| - - - || || || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.6 Schadensausmass und Eintrittswahrscheinlichkeit ===&lt;br /&gt;
Das wahrscheinliche Schadensausmass pro Jahr gibt Aufschluss über die höher der Sicherheitsmassnahmen. Wenn kein Frankenbetrag bezifferbar ist, können qualitative Aussagen gemacht werden (niedrig, mittel, hoch, existenzbedrohend)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Nr !! Definition der Risiken !! Schadensgrösse !! Wahrscheinlichkeit !! Schaden&lt;br /&gt;
|-&lt;br /&gt;
| a || Mitarbeiterdaten sind zu wenige gegen Hackerangriffe geschützt || Mittel || Klein, da nur intern zugreifbar ||  Klein&lt;br /&gt;
|-&lt;br /&gt;
| b || Kundendaten sind zu wenige gegen Hackerangriffe geschützt || Gross  || Gross, da über WWW erreichbar || Gross&lt;br /&gt;
|-&lt;br /&gt;
| c || Geschäftszahlen sind bei Stromausfall nicht vorhanden || Klein, da keine Arbeitsplätze mehr laufen || Gross || Klein&lt;br /&gt;
|-&lt;br /&gt;
| d || Geschäftszahlen sind bei Systemausfall nicht vorhanden || Gross, da längerer Ausfall || Gross || Gross&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Schadensgrösse  * Wahrscheinlichkeit = Schaden)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3.7 Sicherheitsmassnahmen ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss werden die einzelnen Komponenten ermittelt die beim entsprechenden Risiko eine Rolle spielen. Pro Komponenten werden dann Massnahmen definiert&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Risiko Nr !! Schaden !! Komponente!! Definition der Sicherheitsmassnahme&lt;br /&gt;
|-&lt;br /&gt;
| a || Klein  || Applikation 1 ||  Benutzer-ID und Passwort + Rollen&lt;br /&gt;
|-&lt;br /&gt;
| a || Klein || Server 1 || Passwortschutz + Physischer Zugriffsschutz &lt;br /&gt;
|-&lt;br /&gt;
| a || Klein || Router 1 || Physischer Zugriffsschutz &lt;br /&gt;
|-&lt;br /&gt;
| b ||  Gross || Server 2 || Passwortschutz + Zugriffsschutz zum Server + Firewall + Automatische Logfilekontrolle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zusammenfassung:&#039;&#039;&#039; &lt;br /&gt;
Die Bedrohung und die Verletzbarkeit gegeben ein Risiko. Beim Eintreten des Risiko entsteht ein Schaden. Die Eintrittswahrscheinlichkeit und die Schadenshöhe ergeben das tatsächliche Schadensausmass. Je nach Schadenshöhe werden dann die Massnahmen definiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4 Allgemeine Gefährdungen ==&lt;br /&gt;
&lt;br /&gt;
Gefährdungen (Bedrohungen) können in folgende Bedrohungsbilder unterteilt werden:&lt;br /&gt;
*Höhere Gewalt&lt;br /&gt;
*Menschliche Fehlhandlung&lt;br /&gt;
*Technisches Versagen&lt;br /&gt;
*Vorsätzliche Gewalt&lt;br /&gt;
*Organisatorische Mängel&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Höhere Gewalt ===&lt;br /&gt;
Umwelteinflüsse, Naturkatastrophen. Um sich gegen höhere Gewalt zu schützen sind meistens Massnahmen im Infrastrukturbereich nötig.&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Menschliche Fehlhandlungen ===&lt;br /&gt;
Hier wird davon ausgegangen, dass keine vorsätzliche Absicht vorliegt. Hauptursachen: Unwissenheit, Unachtsamkeit, zu grosse Komplexität. Massnahmen: Schulung, sichere Applikationen, umfangreiche Tests, restiriktive Zugangsberechtigungen.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Technisches Versagen ===&lt;br /&gt;
Selbsterklärend. Massnahmen: Redundanzen, Wartungsverträge, Notfallkonzepte, Hardware und Software  intensiv testen&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Vorsätzliche Gewalt ===&lt;br /&gt;
Beinhaltet das bewusste Zuführen von Schaden.  Massnahmen: physische Zutrittskontrolle, Zugangskontrolle (Passwörter), Netzwerksicherheit (Firewall), Systemsicherheit (Abschalten nicht benötigter Dienste)&lt;br /&gt;
&lt;br /&gt;
=== 4.5 Organisatorische Mängel ===&lt;br /&gt;
Keine Verantworten für Tätigkeiten geregelt. Tätigkeiten werden nicht kontrolliert. Prozesse werden nicht gelebt. Hinter einem organisatorischen Mangel steckt immer menschliches Fehlverhalten. Massnahmen: Konzepte, schaffen neuer Stellen, Zuordnen von Aufgaben und Verantwortlichkeiten, Policies, Weisungen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Rahmen von IT-Sicherheit gilt es die Bedrohungsbilder&lt;br /&gt;
*höhere Gewalt,&lt;br /&gt;
*menschliche Fehlhandlungen,&lt;br /&gt;
*technisches Versagen,&lt;br /&gt;
*vorsätzliche Handlungen und&lt;br /&gt;
*organisatorische Mängel&lt;br /&gt;
auseinander halten zu können und auch zu wissen, was hinter den einzelnen Begriffen steckt. Es ist wichtig, Gefährdungen nach diesem Raster unterscheiden zu können, da dadurch bereits Hinweise auf die nötigen Gegenmassnahmen gegeben werden.&lt;br /&gt;
&lt;br /&gt;
== 5 Sicherheitsmassnahmen im Überblick ==&lt;br /&gt;
&lt;br /&gt;
Massnahmen können in folgende Bereiche unterteilt werden:&lt;br /&gt;
&lt;br /&gt;
*Infrastruktur (bauliche Massnahmen, Zutrittskontrolle)&lt;br /&gt;
*Personal (Schulung, Weisungen)&lt;br /&gt;
*Organisation (Strategien, Abläufe, Konzepte)&lt;br /&gt;
*Hardware und Software (übliche technische Massnahmen)&lt;br /&gt;
*Kommunikation (Protokolle, Verschlüsselung, Netzwerkdienste)&lt;br /&gt;
*Notfallvorsorge (Backup, Notfallkonzepte)&lt;br /&gt;
&lt;br /&gt;
=== 5.1 Infrastruktur ===&lt;br /&gt;
&lt;br /&gt;
Massnahmen gegen höhere Gewalt, Elementarschäden (Feuer, Wasser), gegen vorsätzliche Handlungen wie Diebstahl.&lt;br /&gt;
&lt;br /&gt;
=== 5.2 Personal===&lt;br /&gt;
&lt;br /&gt;
jeder Mitarbeiter ist ein Risiko. Unwissenheit und Fahrlässigkeit sind die häufigste Ursache für Schadensereignisse.&lt;br /&gt;
&lt;br /&gt;
Massnahmen:&lt;br /&gt;
*Benutzer an Sorgfaltspflicht erinnern&lt;br /&gt;
*Weisungen (kommunizieren!) Bei Bedarf sollen Mitarbeiter das Lesen der Weisung schriftlich bestätigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.3 Organisation ===&lt;br /&gt;
&lt;br /&gt;
Hier werden Massnahmen zusammengefasst welche hauptsächlich auf Unternehmensebene geregelt werden müssen. Diese sind erst wirksam wenn sie unternehmsweit gleich gelebt werden.&lt;br /&gt;
&lt;br /&gt;
z.B. Umgang mit..&lt;br /&gt;
*Datenschutzgesetz&lt;br /&gt;
*Datenträgern&lt;br /&gt;
*Virenschutz&lt;br /&gt;
*Passwortgebrauch&lt;br /&gt;
*Aufbewahrung von Daten&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig&#039;&#039;&#039;: Die Einführung der IT-Sicherheit als ganzes ist die wichtigste Massnahme&lt;br /&gt;
&lt;br /&gt;
Ein weiterer wichtiger Punkt ist, dass alle Verantwortlichkeiten und Aufgaben einem Verantwortlichen zugewiesen sind und dieser die Verantwortung wahrnimmt.&lt;br /&gt;
Alle Aufgaben müssen zugeordnet und periodisch überprüft werden.&lt;br /&gt;
&lt;br /&gt;
=== 5.4 Hardware und Software ===&lt;br /&gt;
&lt;br /&gt;
Unter diesem bereich werden wohl die bekanntesten Massnahmen zusammengefasst&lt;br /&gt;
&lt;br /&gt;
*Passwörter&lt;br /&gt;
*Verschlüsselung&lt;br /&gt;
*Loginprozeduren&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bekannte Sicherheitslöcher müssen mit entsprechenden Massnahmen kompensiert werden. Sicherheitsfunktionen welche von der Grundinstallation nicht vorhanden sind, müssen nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
=== 5.5 Kommunikation ===&lt;br /&gt;
&lt;br /&gt;
Sicherheitsmassnahmen bei Übertragungsprotokollen und Übertragungsmedien&lt;br /&gt;
&lt;br /&gt;
*Sicherung der Kupfer- und Glasfaser Leitungen (z.B. bei &amp;quot;öffentlichem Grund&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== 5.6 Notfallvorsorge===&lt;br /&gt;
&lt;br /&gt;
Hier wird definiert was geschieht wenn ein Risiko wirklich eintrifft&lt;br /&gt;
&lt;br /&gt;
*Wie macht man ein System möglichst schnell wieder lauffähig&lt;br /&gt;
*Datensicherung&lt;br /&gt;
*Notfallkonzept&lt;br /&gt;
&lt;br /&gt;
Der Wiederanlauf muss nicht nur geplant, sondern von Zeit zu Zeit verifiziert und getestet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Sicherheitskonzept (Summe aller Massnahmen) lebt indem technische Neuerungen laufend eingebaut und bekannte Sicherheitslöcher laufend behoben werden.&lt;br /&gt;
&lt;br /&gt;
== 6 Grundgedanke IT-Grundschutz ==&lt;br /&gt;
&lt;br /&gt;
Der IT-Grundschutz beinhaltet technische und organisatorische Massnahmen und Risiken effizient abzuwehren. &lt;br /&gt;
&lt;br /&gt;
Nicht jedes Unternehmen soll Rad neu erfinden müssen. Es bestehen bei den Unternehmen keine so grossen Unterschiede bezüglich Bedrohung und Schwachstellen. Deshalb können Massnahmen standardisiert werden.&lt;br /&gt;
&lt;br /&gt;
*Ein IT System enthält typische Komponenten (Clients, Server, Betriebssystem)&lt;br /&gt;
*Bedrohungen und Riskieren und Eintrittswahrscheinlichkeiten lassen sich pauschalisieren&lt;br /&gt;
*Der Aufwand kann minimiert werden wenn Standards verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Daraus resultieren folgende Vorteile:&lt;br /&gt;
*Einfache Anwendung anstatt teurer und komplizierten Analysen&lt;br /&gt;
*Praxiserprobt&lt;br /&gt;
*Erweiterbarkeit und Aktualisierbarkeit&lt;br /&gt;
&lt;br /&gt;
=== 6.1 IT-Grundschutz Bausteine ===&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Bausteine&amp;quot; sind das Kernstück des Grundschutzhandbuches. Hinter jedem Baustein stehen vordefinierte Massnahmen. Beispiel &amp;quot;PC unter Windows NT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beschreibung&#039;&#039;&#039;: Es wird beschrieben, dass Vista der Nachfolger von XP ist und auf Grund der starken Verbreitung von Windows System stark gefährdet ist. Weiter werden sie mit Vista eingeführte Sicherheitsmerkmale angesprochen (Protected Mode, UAC, Bitlocker etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gefährdungslage&#039;&#039;&#039;: es werden für die folgenden typischen Gefährdungen Annahmen getroffen. Höhere Gewalt, Organisatorische Mängel, Menschliche Fehlhandlungen, Technisches Versagen, Vorsätzliche Handlungen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massnahmenempfehlungen&#039;&#039;&#039;: Es werden unter anderem Empfehlungen zur Version, Gruppenrichtlinien, Automatischen Updates und diversen Dokumenten abgegeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Bausteine sind den folgenden Schichten zugeordnet&lt;br /&gt;
&lt;br /&gt;
*Schicht 1: Übergreifende Aspekte&lt;br /&gt;
*Schicht 2: Infrastruktur&lt;br /&gt;
*Schicht 3: IT-Systeme&lt;br /&gt;
*Schicht 4: Netz&lt;br /&gt;
*Schicht 5: IT-Anwendungen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schicht 1&#039;&#039;&#039; beschreibt alles Aspekte welche für ein Unternehmen einheitlich geregelt werden müssen. Beispiel: Sicherheitsmanagement, Organsisation, Datensicherungskonzept, Virenschutz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schicht 2&#039;&#039;&#039; befasst sich mit den baulichen Gegebenheiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schicht&#039;&#039;&#039; 3 mit den einzelnen IT-Systemen. Server, Clients.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schicht 4&#039;&#039;&#039; betrachtet die Vernetzung der Systeme inklusive Netz- und Systemmanagement wie auch Firewall.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schicht 5&#039;&#039;&#039; beschäftigt sich mit den eigentlichen Anwendungen (E-Mail, Webserver, Faxserver, Datenbanken)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein System kann mehreren Bausteinen zugeordnet sein. Beispiel Mailsever unter NT: PC unter Windows NT, servergestütztes Netz, Peer-to-Peer-Netz, Windows NT Netz und Mail.&lt;br /&gt;
&lt;br /&gt;
=== 6.2 Sicherheitsprozess ===&lt;br /&gt;
&lt;br /&gt;
Um die IT-Sicherheit zu etablieren muss ein Prozess in Betrieb genommen werden. Dazu braucht es Verantwortliche die sich diesem Thema annehmen, verfolgen und laufend verbessern.&lt;br /&gt;
&lt;br /&gt;
*Initialisierung des Prozesses&lt;br /&gt;
*Gefährdungsanalyse&lt;br /&gt;
*Leitlinien&lt;br /&gt;
*&#039;&#039;&#039;IT-Strukturanalyse&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Schutzbedarfsfestellung&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Modellierung&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Ergänzende Sicherheitsanalyse&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Basis Sicherheitscheck&#039;&#039;&#039;&lt;br /&gt;
*Realisierungsplan&lt;br /&gt;
*Realisierung&lt;br /&gt;
*Sicherstellung im Betrieb (Monitoring) und dann zurück zu &amp;quot;Gefährdungsanalyse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(fett = Sicherheitskonzept)&lt;br /&gt;
&lt;br /&gt;
=== 6.3 Definition der Verantwortlichkeiten ===&lt;br /&gt;
&lt;br /&gt;
Bevor ein Sicherheitsprozess etabliert werden kann braucht es eine verantwortliche Person (IT Sicherheitsbeauftragter). Dieser&lt;br /&gt;
&lt;br /&gt;
* ist verantwortlich für die ganze IT-Sicherheit&lt;br /&gt;
* koordiniert die Erstellung des IT Sicherheitskonzeptes, Notfallkonzeptes, etc.&lt;br /&gt;
* erstellt den Realisierungsplan der Sicherheitsmassnahmen&lt;br /&gt;
* prüft die Realisierung und &lt;br /&gt;
* stellt den Informationsfluss zur Leitungsebene und zu den einzelnen IT Verantwortlichen sicher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.4 Gefährdungsanalyse und Leitlinien ===&lt;br /&gt;
&lt;br /&gt;
Jedes Unternehmen muss  in einer Sicherheitsleitlinie (Policy) definieren wieviel ihr &amp;quot;IT-Sicherheit&amp;quot; bedeutet. Dies hängt unter andrem vom Vertraulichkeitsgrad der zu verarbeitenden Daten ab. Für kritische Datensammlungen schreibt der Gesetzgeber spezielle Sicherheitsmassnahmen vor.&lt;br /&gt;
&lt;br /&gt;
Der Inhalt besteht aus:&lt;br /&gt;
*Stellenwert der IT-Sicherheit&lt;br /&gt;
*Sicherheitsziele und Strategie&lt;br /&gt;
*Zusicherung der Unternehmensleitung, dass die Policy durchgesetzt wird&lt;br /&gt;
*Beschreibung der verantwortlichen Organisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.5 Erstellung des Sicherheitskonzeptes ===&lt;br /&gt;
&lt;br /&gt;
Das Sicherheitskonzept beschreibt die Summe aller Massnahmen die ergriffen werden müssen um die Sicherheit zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
Vorgehen:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;IT-Strukturanalyse&#039;&#039;&#039;. Auflistung aller Komponenten. Bilden von Gruppen.&lt;br /&gt;
#&#039;&#039;&#039;Schutzbedarfsfestellung&#039;&#039;&#039;. Für jede Applikation definieren wie wichtig sie für den Fortgang des Geschäftsprozesses ist. Dadurch wird der benötigte Schutz definiert. Die Applikation definiert dadurch auch wie die darunter liegenden Komponenten (Server, Netz) zu schützen sind.&lt;br /&gt;
#&#039;&#039;&#039;Modellierung&#039;&#039;&#039;.  Die Komponenten werden den Bausteinen aus dem Grundschutzhandbuch gegenübergestellt und die Massnahmen festgehalten (Modellieren). &lt;br /&gt;
#&#039;&#039;&#039;Sicherheitsanalyse&#039;&#039;&#039;. Entspricht einer Risikoanalyse. Komponenten mit einem hohen Schutzbedarf müssen einer separaten Analyse unterworfen werden. Grund: Der Grundschutz definiert nur eine mittlerer Sicherheit.&lt;br /&gt;
#&#039;&#039;&#039;Basis Sicherheitscheck&#039;&#039;&#039;. Die entstanden Modellierung wird als Prüfplan benutzt  um herauszufinden welche Massnahme bereits umgesetzt ist bzw. noch umgesetzt werden muss. Das Resultat ist der &amp;quot;Realisierungsplan&amp;quot;.&lt;br /&gt;
#&#039;&#039;&#039;Realisierungsplan&#039;&#039;&#039;. Gleiche Tätigkeiten zusammenfassen. Der It-Sicherheitsprozess wacht über die Umsetzung und Einhaltung der Massnahmen.&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis des &#039;&#039;&#039;Basis Sicherheitscheck&#039;&#039;&#039; dient als Kommunikationsmittel zur Unternehmensleitung stellt das Sicherheitskonzept dar.&lt;br /&gt;
&lt;br /&gt;
=== 6.6 Umsetzung ===&lt;br /&gt;
&lt;br /&gt;
Aus dem Sicherheitskonzept geht auf Grund des Realisierungsplanes hervor welche Massnahmen noch umgesetzt werden müssen.&lt;br /&gt;
&lt;br /&gt;
Damit das Konzept kein Konzept bleibt müssen &#039;&#039;&#039;sämtliche&#039;&#039;&#039; Mitarbeiter für dieses Thema sensibilisiert werden. Man nennt diesen Prozess &amp;quot;Security Awareness&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== 6.7 Aufrechterhaltung im laufenden Betrieb ===&lt;br /&gt;
&lt;br /&gt;
Der Sicherheitsprozess muss laufend kontrolliert und auch aktualisiert werden (inkl. Sicherheitskonzept). Auch die Reaktionen auf neue Ereignisse müssen geregelt werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Grundschutz besteht aus zwei wichtigen Komponenten:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Der Sicherheitsprozess&#039;&#039;&#039;. Dieser beinhaltet die Erarbeitung, Umsetzung und Kontrolle von nötigen Sicherheitsmassnahmen.&lt;br /&gt;
*&#039;&#039;&#039;Das Sicherheitskonzept&#039;&#039;&#039;. Stellt die Summer aller Massnahmen dar um die Sicherheitsziele zu erreichen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 7 Strukturanalyse ==&lt;br /&gt;
&lt;br /&gt;
Die Strukturanalyse steht am Anfang jedes Projektes und ist in folgende Schritte gegliedert:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Netzplanerhebung:&#039;&#039;&#039; Erstellen einer grafischen Übersicht aller Komponenten&lt;br /&gt;
*&#039;&#039;&#039;Gruppenbildung:&#039;&#039;&#039; Zusammenfassen gleicher Komponenten&lt;br /&gt;
*&#039;&#039;&#039;Erhebung Komponenten&#039;&#039;&#039;: Ableiten der relevanten Komponenten&lt;br /&gt;
*&#039;&#039;&#039;Erhebung Applikationen:&#039;&#039;&#039; Erfassen  aller geschäftsrelevanten Applikationen&lt;br /&gt;
*&#039;&#039;&#039;Erhebung Systeme pro Applikation:&#039;&#039;&#039; Übersicht welche Komponenten für welche Applikation nötig sind&lt;br /&gt;
&lt;br /&gt;
=== 7.1 Netzplanerhebung ===&lt;br /&gt;
&lt;br /&gt;
Ein Netzplan stellt alle sicherheitsrelevanten IT Komponenten in einer grafischen Übersicht dar. Typische Komponenten:&lt;br /&gt;
&lt;br /&gt;
*Clients, Server, Netzkomponenten, Netzdrucker&lt;br /&gt;
*Netzverbindungen, LAN, WAN&lt;br /&gt;
*Verbindungen des betrachteten Bereiches nach aussen&lt;br /&gt;
&lt;br /&gt;
Zu jeder Komponenten gehören folgende Information (auf die Übersicht oder auf separater Liste)&lt;br /&gt;
&lt;br /&gt;
*eindeutige Bezeichnung (z.B. Hostname oder eine Identifikationsnummer)&lt;br /&gt;
*Typ und Funktion (z.B. Webserver für ISPRM)&lt;br /&gt;
*Die zugrunde liegende Plattform (Hardware und Betriebssystem sprich I386 / Windows Server 2003)&lt;br /&gt;
*Standort&lt;br /&gt;
*Zuständiger Administrator&lt;br /&gt;
*Art der Netzanbindung und Netzadresse&lt;br /&gt;
&lt;br /&gt;
Auch die Verbindungen zwischen den Komponenten müssen dokumentiert sein:&lt;br /&gt;
&lt;br /&gt;
*Art der Verbindung (Kupfer, Glas, Ethernet)&lt;br /&gt;
*maximale Datenübertragungsrate (z.B. 1Gbps)&lt;br /&gt;
*verwendende Protokolle (Ethernet, TCP/IP)&lt;br /&gt;
*Details zum externen Netz&lt;br /&gt;
&lt;br /&gt;
Informationen müssen laufend aktualisiert werden. Das bedeutet, dass Managementunterstützung benötigt ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.2 Komplexitätsreduktion durch Gruppenbildung ===&lt;br /&gt;
&lt;br /&gt;
Gleiche Komponenten werden zu Gruppen zusammengefasst wenn alle Komponenten...&lt;br /&gt;
&lt;br /&gt;
*vom gleichen Typ sind&lt;br /&gt;
*gleich oder nahezu gleich konfiguriert sind&lt;br /&gt;
*gleich oder nahezu gleich ins Netz eingebunden sind&lt;br /&gt;
*den gleichen Rahmenbedingungen unterliegen und&lt;br /&gt;
*die gleichen Anwendungen bedienen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtigstes Beispiel&#039;&#039;&#039;: Die Clients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.3 Erhebung der Infrastrukturkomponenten ===&lt;br /&gt;
&lt;br /&gt;
Der nächste Schritt ist die Erstellung einer Liste in Tabellenform welcher vom Netzplan abgeleitet ist.&lt;br /&gt;
&lt;br /&gt;
Die Liste enthält folgende Spalten&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Nr. !! Beschreibung !! Plattform !! Anz. !! Ort !! Status !! Anwender / Administrator&lt;br /&gt;
|-&lt;br /&gt;
| S1 || Fileserver || 2K3 || 3 || Zofingen || installed || IT333&lt;br /&gt;
|-&lt;br /&gt;
| S2 || AD || 2K8 || 2 || Zofingen || installed || IT333&lt;br /&gt;
|-&lt;br /&gt;
| C1 || Clients IT333 || 2K6 || 7 || Luzern || installed || IT333&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.4 Erfassen der Anwendungen ===&lt;br /&gt;
&lt;br /&gt;
Erfassen der unternehmenswichtigen Applikationen. In der Regel nur folgende:&lt;br /&gt;
&lt;br /&gt;
*Anwendungen deren Daten den höchsten Bedarf an Vertraulichkeit besitzen&lt;br /&gt;
*Anwendungen deren Daten den höchsten Bedarf an Korrektheit (Integrität)besitzen&lt;br /&gt;
*Anwendungen welche die kürzeste tolerierbare Ausfallzeiten haben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Anwendungsnummer !! Anwendung!! personenbezogene Daten&lt;br /&gt;
|-&lt;br /&gt;
| A1 || Persy || X&lt;br /&gt;
|-&lt;br /&gt;
| A2 || Benutzer-Authentisierung || X&lt;br /&gt;
|-&lt;br /&gt;
| A3 || ISPRM || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7.4 Erfassen der Komponenten pro Applikation ===&lt;br /&gt;
&lt;br /&gt;
Nun wird beschrieben welche Applikation auf welchem Server läuft. Diese Übersicht könnte wir folgt aussehen&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Anwendungsnummer !! Anwendung!! personenbezogene Daten || S1 || S2 || S3 || S4&lt;br /&gt;
|-&lt;br /&gt;
| A1 || Persy || X || X ||  || X || &lt;br /&gt;
|-&lt;br /&gt;
| A3 || ISPRM ||  ||   ||  ||   || X &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Diese Informationen sind späte für die Schutzbedarfserhebung nötig. Wird z.B. eine Applikation als &amp;quot;hoher Schutzbedarf&amp;quot; bezeichnet, so benötigen die darunter liegenden Systeme automatisch das gleiche Mass an Schutz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Strukturanalyse gibt am Schluss Auskunft darüber&lt;br /&gt;
&lt;br /&gt;
*welche Komponenten vorhanden sind&lt;br /&gt;
*welche Applikationen im Einsatz sind und&lt;br /&gt;
*welche Applikationen welche Komponenten benötigen oder benutzen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 8 Schutzbedarfsfeststellung ==&lt;br /&gt;
&lt;br /&gt;
Der Schutzbedarf beschreibt das Mass an Sicherheit, das für eine Komponente nötig ist. Daran lassen sich die Sicherheitsanforderungen der übrigen Komponenten bestimmen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Schutzbedarfsfeststellung  orientiert sich an folgendem Modell der IT Architektur&lt;br /&gt;
&lt;br /&gt;
*Organisation&lt;br /&gt;
*Daten&lt;br /&gt;
*Applikation&lt;br /&gt;
*System und Betriebssystem&lt;br /&gt;
*Netzwerke&lt;br /&gt;
*Infrastruktur&lt;br /&gt;
&lt;br /&gt;
Die Schutzbedarfsfeststellung erfolgt in vier Schritten:&lt;br /&gt;
&lt;br /&gt;
#Definition der Schutzbedarfskategorien&lt;br /&gt;
#Definition der Schadensszenarien auf IT Anwendungen (prüfen der Auswirkung bei Verlust von Verfügbarkeit, Vertraulichkeit oder Integrität)&lt;br /&gt;
#Anschliessend wird daraus der Schutzbedarf der einzelnen Komponente abgeleitet&lt;br /&gt;
#Aus dieser Ergebnissen wird abschliessend der Schutzbedarf der Übertragungsstrecken und der Räume definiert.&lt;br /&gt;
&lt;br /&gt;
=== 8.1 Definition Schutzbedarfskategorien ===&lt;br /&gt;
&lt;br /&gt;
Da der Schutzbedarf oft nicht quantifizierbar ist, muss man sich in der Regel auf qualitative Aussagen verlassen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Schutzbedarfskategorien:&lt;br /&gt;
*&#039;&#039;&#039;Niedrig bis Mittel&#039;&#039;&#039;: Schaden ist begrenzt und überschaubar&lt;br /&gt;
*&#039;&#039;&#039;Hoch&#039;&#039;&#039;: Schaden kann beträchtlich sein&lt;br /&gt;
*&#039;&#039;&#039;Sehr hoch&#039;&#039;&#039;: Schaden kann existenzbedrohend oder katastrophal sein&lt;br /&gt;
&lt;br /&gt;
=== 8.2 Schutzbedarfsfeststellung für Anwendungen ===&lt;br /&gt;
&lt;br /&gt;
Um zu definieren welche Verletzbarkeit eine Anwendung aufweist, wird die Frage &amp;quot;Was wäre wenn ...?&amp;quot; gestellt. Erinnerung: Eine Verletzbarkeit stellt beim Verlust von Vertraulichkeit, Integrität oder Verfügbarkeit einen Schaden dar.&lt;br /&gt;
&lt;br /&gt;
Für jede Applikation aus der Strukturanalyse wird pro Grundwert (Vertraulichkeit, Integrität, Verfügbarkeit) der Schutzbedarf (niedrig, mittel, hoch, sehr hoch) inkl. einer Begründung aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== 8.3 Schutzbedarfsfeststellung für IT Systeme ===&lt;br /&gt;
&lt;br /&gt;
Aus der Strukturanalyse ist bekannt welche Applikation welche Systeme nutzt. Das gleiche Mass an Schutz wie die Applikation benötigen auch die darunter liegenden Systeme.&lt;br /&gt;
&lt;br /&gt;
Wenn mehrere Applikation auf einem Server betrieben werden werden die Sicherheitsanforderungen der Applikation mit dem höchsten Schutzbedarf angewendet.&lt;br /&gt;
&lt;br /&gt;
=== 8.4 Schutzbedarfsfeststellung für Kommunikationsverbindungen ===&lt;br /&gt;
&lt;br /&gt;
Die Kommunikationsverbindungen  sind genau so wichtig wie die Systeme selbst. Es nützt nichts aufwändige Schutzmassnahmen vorzunehmen  wenn im Gegenzug Daten unverschlüsselt übers Netz gehen.&lt;br /&gt;
&lt;br /&gt;
Folgende Betrachtungsweise dient zur Identifikation  der kritischen Verbindungen&lt;br /&gt;
&lt;br /&gt;
*Verbindungen bei welchen es sich um Aussenverbindungen handelt bzw. Verbindungen dir über öffentlichen bzw. unsicheren Grund gehen.&lt;br /&gt;
*Verbindungen mit schutzbedürftigen Informationen&lt;br /&gt;
*Zentrale Verbindungen (Hauptverbindungen). Der Ausfall einer solchen kann die gesamte Informatik beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
Pro Verbindungen werden dabei folgende Informationen in eine Schlusstabelle eingetragen:&lt;br /&gt;
&lt;br /&gt;
*Die Verbindungsstrecke (von, nach)&lt;br /&gt;
*ob es sich um eine Aussenverbindung handelt&lt;br /&gt;
*ob der Schutzbedarf aus der Vertraulichkeit, Integrität oder der Verfügbarkeit resultiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 8.5 Schutzbedarfsfeststellung für Räume ===&lt;br /&gt;
&lt;br /&gt;
Die Räume in denen sich die Komponenten benötigen ebenfalls eine Schutz. die Höhe des Schutzes leitest sich logischerweise von den darin enthaltenen Komponenten ab.&lt;br /&gt;
&lt;br /&gt;
In den meisten Unternehmen gibt es ein Zonenkonzept, in dem System mit gleichen oder ähnlichen Schutzbedürfnissen zusammen betrieben werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 8.6 Interpretation der Ergebnisse ===&lt;br /&gt;
&lt;br /&gt;
Der IT-Grundschutz versteht sich als &amp;quot;mittlerer bis hoher&amp;quot; Schutz. Komponenten mit einem hohen Schutzbedarf müssen genauer untersucht werden.&lt;br /&gt;
&lt;br /&gt;
Der Schutzbedarf wird wie folgt ermittelt:&lt;br /&gt;
&lt;br /&gt;
#Schutzbedarfskategorien definieren&lt;br /&gt;
#Schadensszenarien für Anwendungen definieren und Applikationen betreffend Integrität, Vertraulichkeit und Verfügbarkeit bewerten.&lt;br /&gt;
#Schutzbedarf der einzelnen Komponenten ableiten&lt;br /&gt;
#Schutzbedarf der Übertragungsstrecken und der Räume ableiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 9 Grundschutz-Modellierung und Basis Sicherheitscheck ==&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt werden die nötigen Sicherheitsmassnahmen bestimmt. Die geschieht indem die Komponenten den Bausteinen aus dem Grundschutzhandbuch gegenübergestellt werden.&lt;br /&gt;
&lt;br /&gt;
Weiter wird geprüft welche Massnahmen schon realisiert wurden&lt;br /&gt;
&lt;br /&gt;
=== 9.1 Grundschutz-Modellierung ===&lt;br /&gt;
&lt;br /&gt;
bei der Grundschutz-Modellierung wird jeder Baustein aus dem IT-Grundschutz einzeln betrachtet und entschieden wann er für welche Komponenten angewendet werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:BspSicherheitskonzept.jpg|Beispiel Sicherheitskonzept]]&lt;br /&gt;
&lt;br /&gt;
Abschliessend muss die Vollständigkeit überprüft werden indem auf Grund des Netzplanes alle Komponenten durchgegangen wird.&lt;br /&gt;
&lt;br /&gt;
=== 9.2 Sicherheitsanalyse ===&lt;br /&gt;
&lt;br /&gt;
Bei der Sicherheitsanalyse werden Komponenten mit hohem bis sehr hohem Schutzbedarf separat analysiert. Das Vorgehen ist gleich wie bei der Risikoanalyse. Das Ergebnis der Sicherheitsanalyse sind besondere Bedrohungen und besondere Massnahmen. Diese werden als separater Baustein in das Grundschutzhandbuch bzw. in das Sicherheitskonzept eingefügt.&lt;br /&gt;
&lt;br /&gt;
[[Image:BspErweiterungSchichtenmodell.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== 9.3 Basis Sicherheitscheck ===&lt;br /&gt;
&lt;br /&gt;
Auf Grund der Modellierung sind pro Komponente die Massnahmen bekannt. Einige Massnahmen sind evtl. bereits umgesetzt, andere nicht. Um herauszufinden was noch umgesetzt werden muss, wird ein Basis-Sicherheitscheck durchgeführt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Ist-Zustand wird mit dem Sollzustand verglichen. Die Abweichungen werden in einem Realisierungsplan festgehalten.&lt;br /&gt;
&lt;br /&gt;
Um den Stand der empfohlenen Massnahmen festzuhalten, werden folgende Kategorien herbeigezogen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Kategorie !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| Entbehrlich || Die Umsetzung ist nicht notwendig, weil wereits eine andere gleichwertige Massnahme im Einsatz ist&lt;br /&gt;
|-&lt;br /&gt;
| Ja || Die empfohlene Massnahme ist bereits vollständig umgesetzt&lt;br /&gt;
|-&lt;br /&gt;
| Teilweise || Die empfohlene Massnahme ist (noch) nicht vollstaändig oder wirksam umgesetzt&lt;br /&gt;
|-&lt;br /&gt;
| Nein || Die empfohlene Massnahme ist kaum oder gar nicht umgesetzt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel Realisierungsplan:&lt;br /&gt;
&lt;br /&gt;
[[Image:BspRealisierungsplan.jpg|Beispiel Realisierungsplan]]&lt;br /&gt;
&lt;br /&gt;
Der Realisierungsplan wird dem Management vorgelegt. Dort wird über die Umsetzung entschieden und die Termine un Verantwortlichkeiten werden definiert und schriftlich festgehalten.&lt;br /&gt;
&lt;br /&gt;
== 10 Internet-Dienste ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 10.1 WWW ===&lt;br /&gt;
&lt;br /&gt;
Festlegung der Sicherheitsstrategie:&lt;br /&gt;
&lt;br /&gt;
*Wer darf welche Informationen publizieren?&lt;br /&gt;
*Welche Dateien dürfen auf Grund ihres Inhaltes nicht auf dem Webserver publiziert werden? (z.B. vetrauliche Daten)&lt;br /&gt;
*Welche Zugriffsbeschränkungen sollen auf den WWW-Server realisiert werden? (Wer darf auf welche Infos zugreifen)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sicherheitsstrategie für die WWW-Nutzung:&lt;br /&gt;
&lt;br /&gt;
*Wer erhält WWW Zugang?&lt;br /&gt;
*Die Browser müssen so konfiguriert werden, dass sie das grösste Mass an Sicherheit garantieren.&lt;br /&gt;
*Auf dem Firewall (proxy) können white-lists bzw. black-lists konfiguriert werden um Zugriff auf rechtlich bedenkliche Seiten zu verhindern.&lt;br /&gt;
*Nach dem Download von Dateien müssen diese explizit auf Viren geprüft werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sicherer Betrieb eines WWW-Servers:&lt;br /&gt;
&lt;br /&gt;
*Webserver muss auf minimalem Betriebssystem installiert sein (unnötige Dienste deaktivieren)&lt;br /&gt;
*Die Kommunikation sollte durch einen Paketfilter auf ein Minimum beschränkt werden.&lt;br /&gt;
*Die Administration des Webservers sollte nur über eine sichere Verbindung erfolgen&lt;br /&gt;
*Konfigurationstype: Auflisten von Verzeichnisinhalt unterbinden, &amp;quot;symbolische Links&amp;quot; deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Schutz der WWW-Dateien&lt;br /&gt;
&lt;br /&gt;
*Files auf dem Webserver sind üblicherweise statisch und können deshalb einfach und automatisiert  auf Veränderungen geprüft werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Schutz vor unbefugtem Zugriff&lt;br /&gt;
&lt;br /&gt;
*über IP-Adresse&lt;br /&gt;
*Benutzername Passwort&lt;br /&gt;
*Zertifikat&lt;br /&gt;
&lt;br /&gt;
Sicherheit von WWW-Browsern&lt;br /&gt;
&lt;br /&gt;
*vom Web heruntergeladen Dateien dürfen nicht automatisch starten (sie können z.B. Makrovieren enthalten)&lt;br /&gt;
*kein automatische Installieren von Plug-Ins denen man nicht vertraut&lt;br /&gt;
&lt;br /&gt;
Cookies&lt;br /&gt;
&lt;br /&gt;
bei Bedarf kann das Anlegen von Cookies komplett unterbunden werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datensammlungen&lt;br /&gt;
&lt;br /&gt;
Ein schlecht konfigurierter Proxy-server kann massive Datenschutzverletzungen nach sich ziehen.&lt;br /&gt;
&lt;br /&gt;
Ein Grossteil der Massnahmen liegt im Verantwortungsbereich des Benutzers. Es müssen deshalb entsprechende Weisungen erstellt UND kommuniziert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 10.2 E-Mail ===&lt;br /&gt;
&lt;br /&gt;
Sicherheitspolitik festlegen:&lt;br /&gt;
&lt;br /&gt;
* Wer erhält Mail Zugriff?&lt;br /&gt;
* Welche Informationen dürfen versendet werden?&lt;br /&gt;
* Wie verbindlich ist ein E-Mail?&lt;br /&gt;
&lt;br /&gt;
Folgende Punkte sind zu beachten:&lt;br /&gt;
&lt;br /&gt;
*E-Mailprogramme müssen so konfiguriert sein, dass maximale Sicherheit erreicht wird. Der Benutzer darf diese Einstellungen nicht ändern.&lt;br /&gt;
*Daten dürfen erst übermittelt werden, sich der Benutzer identifiziert und authentifiziert hat.&lt;br /&gt;
*Signaturen verwenden&lt;br /&gt;
*Mailversand wird oft protokolliert. dabei sind die Datenschutzbestimmungen zu beachten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regeln für die Benutzer festlegen:&lt;br /&gt;
&lt;br /&gt;
*Beim Mailversand an mehrere Benutzer BCC verwenden.&lt;br /&gt;
*&amp;quot;Betreff&amp;quot; immer ausfüllen&lt;br /&gt;
*Ein- und ausgehende Mails müssen immer auf Viren überprüft werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mailadressen, Verteilerlisten:&lt;br /&gt;
&lt;br /&gt;
*Namenskonvention von Mailadressen festlegen&lt;br /&gt;
*Verteilerlisten regelmässig auf Aktualität prüfen&lt;br /&gt;
&lt;br /&gt;
Namenskonventionen haben den Nachteil, dass sie für Spammer einfacher zu erraten sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Schutz vor Attacken&lt;br /&gt;
&lt;br /&gt;
Achtung vor...&lt;br /&gt;
*Mailbomben&lt;br /&gt;
*Archiven mit EXE oder ähnlich&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Massnahmen gegen Spam:&lt;br /&gt;
&lt;br /&gt;
*Filter auf dem Mailserver&lt;br /&gt;
*Weisungen betreffend Publikation der eigene Mailadresse (z.B. in Newsgroups)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sicherer Betrieb eines Mail-Systems&lt;br /&gt;
&lt;br /&gt;
*lokale Mails müssen im internen Netz bleiben&lt;br /&gt;
*nur der Eigentümer darf Zugriff auf die Mailbox haben&lt;br /&gt;
*eingehende Mails müssen auf der Firewall oder auf dem Firewall nach schädlichen Inhalten durchsucht werden&lt;br /&gt;
*Über Filterregeln muss es möglich sein ausgehende oder hereinkommende Mails zu filtern&lt;br /&gt;
*Mailserver darf nicht als Mailrelay benutzbar sein&lt;br /&gt;
*Die Mailprogramme der Benutzer müssen für maximale Sicherheit konfiguriert sein. Weiter müssen die Benutzer darauf hingewiesen werden, dass sie die Konfiguration nicht ändern dürfen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 11 Mobile Zugriffsdienste ==&lt;br /&gt;
&lt;br /&gt;
Bei mobilem Zugriff erfolgt dieser fast immer über öffentliche Leitungen. Deshalb muss dieser Zugang besonders geschützt werden.&lt;br /&gt;
&lt;br /&gt;
=== 11.1 Firewall ===&lt;br /&gt;
&lt;br /&gt;
Arten von Firewalls&lt;br /&gt;
&lt;br /&gt;
*Paket-Filter: Auf den unteren OSI-Schichten werden nach speziellen Regeln Pakete weitergeleitet oder abgefangen.&lt;br /&gt;
*Application-Gateway: Dieser schaut zusätzlich in die Pakte hinein und untersucht die Nutzdaten. Dies setzt aber voraus, dass der Application-Gateway die Applikation kennt.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen:&lt;br /&gt;
&lt;br /&gt;
*Jede Kommunikation zwischen den beiden Netzen muss ausnahmslos über die Firewall geführt werden.&lt;br /&gt;
*Auf dem Firewall darf nichts anderes laufen (minimales Betriebssystem)&lt;br /&gt;
*Die Administration des Firewall erfolgt über einen gesicherten Weg&lt;br /&gt;
*Die Firewall erlaubt nur festgelegte Verbindungen anhand IP-Adresse, Dienst, Richtung, Zeit und Benutzer&lt;br /&gt;
&lt;br /&gt;
Die Firewall bietet keinen umfassenden Schutz:&lt;br /&gt;
&lt;br /&gt;
*Filterung von aktiven Inhalten (Applets, ActiveX) ist nur zum Teilk möglich&lt;br /&gt;
*Über eine bestehende Verbindung kann ein Tunnel aufgebaut werden in welchem sich beliebige andere Protokoll tunneln lassen&lt;br /&gt;
*Firewalls schützen nicht vor DoS Attacken.&lt;br /&gt;
*Ein Firewall schützt nur vor Angriffen von aussen und nicht vor Angriffen von innen.&lt;br /&gt;
&lt;br /&gt;
Sicherheitspolitik&lt;br /&gt;
&lt;br /&gt;
*Welche Informationen und Dienste dürfen durch die Firewall (beide Richtungen)&lt;br /&gt;
*Welche Information soll die Firewall verstecken (z.B. die interne Struktur oder den Benutzernamen)&lt;br /&gt;
*Welche Authentisierung soll verwendet werden&lt;br /&gt;
*Welcher Datendurchsatz ist zu erwarten&lt;br /&gt;
&lt;br /&gt;
Folgende organisatorische Regeln sind ebenso erforderlich:&lt;br /&gt;
&lt;br /&gt;
*Festlegen welche Informationen protokolliert werden&lt;br /&gt;
*Die Benutzer müssen über ihre rechte informiert werden (Nutzdaten-Filterung)&lt;br /&gt;
*Angriffe müssen nicht nur verhindert, sondern auch erkannt werden.&lt;br /&gt;
*es ist zu klären welche Aktionen bei einem Angriff gestartet werden&lt;br /&gt;
&lt;br /&gt;
Filterregeln&lt;br /&gt;
&lt;br /&gt;
*Alles was nicht explizit erlaubt ist, ist verboten&lt;br /&gt;
*Alle Rechner des internen Netzes müssen berücksichtigt werden&lt;br /&gt;
*Welche Dienste stehen zu welcher Zeit zur Verfügung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Architektur&lt;br /&gt;
&lt;br /&gt;
*Dual-homed Gateway Ein Application-Gateway mit zwei Interfaces welche die beiden Netze verbindet.&lt;br /&gt;
*Screened Gateway: Hier wird zusätzlich zum Application Gateway ein paketfilter benutzt. Der Paketfilter befindet sich entweder vor oder nach oder vor und nach dem Application Gateway. z.B. (Internet -&amp;gt; Paket-Filter -&amp;gt; Application Gateway -&amp;gt; Paket Filter -&amp;gt; internes Netz)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sichere Anordnung weiterer Komponenten&lt;br /&gt;
&lt;br /&gt;
Neben dem LAN gibt es noch weitere Komponenten welche speziell geschützt werden müssen und für welche speziell Regeln gelten (Ein Mail-Server muss z.B. aus dem Internet erreichbar sein)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:BspDMZ.jpg|Beispiel DMZ mit Mail, Web, und DNS Server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 11.2  Kryptopgraphie ==&lt;br /&gt;
&lt;br /&gt;
Symmetrische Verschlüsselung&lt;br /&gt;
&lt;br /&gt;
Empfänger und Absender besitzen den selben Schlüssel mit welchem man ver- und entschlüsseln kann. Das verfahren ist sehr schnell und bietet eine gute Sicherheit. Das Problem ist der Austausch des Schlüssels: Wenn ein Dritter den Schlüssel mitlesen kann, kann er in die Kommunikation eingreifen und diese manipulieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asymmetrische Verschlüsselung&lt;br /&gt;
&lt;br /&gt;
Empfänger und Absender haben unterschiedliche Schlüssel welche aber (mathematisch) zusammengehören. Mit Schlüssel A verschlüsselte Nachrichten können nur mit Schlüssel B entschlüsselt werden und umgekehrt.&lt;br /&gt;
&lt;br /&gt;
Einer der beiden Schlüssel kann als &amp;quot;private Key&amp;quot; und der andere als &amp;quot;public Key&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:BspAsymKey.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die asymmetrische Verschlüsselung ist etwa 1000 mal langsamer als die symmetrische Verschlüsselung. Deshalb wird oft ein kombiniertes Verfahren benutzt. Eine Verbindung wird asymmetrisch begonnen und ein &amp;quot;Sitzungsschlüssel&amp;quot; (symetrisch) ausgemacht und ausgetauscht. Danach wird die verbindung symetrisch mit dem geheimen Key verschlüsselt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authentifikation&lt;br /&gt;
&lt;br /&gt;
Wie kann ein ein Empfänger sicher sein, dass eine Nachricht wirklich vom angegeben Absender stammt? bei der Authentifikation wird ebenfalls eine asymmetrische Verschlüsselung angewendet. &lt;br /&gt;
Schlüssel B ist bekannt (public). Der Absender verschlüsselt Nachricht mit (privatem)Schlüssel A. Wenn Empfänger mit Schlüssel B die Nachricht entschlüsseln kann ist klar, dass die Nachricht mit Schlüssel A verschlüsselt wurde. Nur der gewünschte Absender hat Schlüssel A.&lt;br /&gt;
&lt;br /&gt;
[[Image:BspAuth.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Elektronische Unterschrift&lt;br /&gt;
&lt;br /&gt;
Um eine Nachricht elektronisch zu unterschreiben wird über die Nachricht ein Hash berechnet.  Der Hash wird mit Schlüssel A verschlüsselt. Empfänger entschlüsselt den Hash mit Schlüssel B und bildet ebenfalls einen Hash über die Nachricht. wenn beide Hash identisch sind, ist klar, dass die Nachricht nicht verändert wurde.&lt;br /&gt;
&lt;br /&gt;
Zertifikate&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von Zertifizierungsstellen könne öffentliche Schlüssel verteilt werden. Die öffentlichen Schlüssel dieser Zertifizierungsstellen sind in den Browsern bereits installiert.&lt;br /&gt;
&lt;br /&gt;
=== 11.3 Remote Access ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sicherheitsrichtlinie:&lt;br /&gt;
&lt;br /&gt;
*Welcher Benutzer darf auf welche Daten, Applikationen, Dienste zugreifen.&lt;br /&gt;
*Welcher Benutzer darf sich zu welchen Zeiten mit welchem RAS Zugang verbinden.&lt;br /&gt;
*Welche Authentisierungsmechanismen sind für den Zugriff zu benutzen?&lt;br /&gt;
*Welche Zugriffsrechte werden vergeben?&lt;br /&gt;
*Ist der schreibende Zugang auf Daten erlaubt? (oder evtl. nur auf bestimmtes Verzeichnis)&lt;br /&gt;
*Wie werden Authentisierunsgfehler behandelt?&lt;br /&gt;
*Wie ist der technische und organisatorische Ablauf um ein gesperrtes RAS-Konto wieder zu aktivieren?&lt;br /&gt;
*Kann auch aus der Ferne ein Konto entsperrt werden? Ablauf?&lt;br /&gt;
*Welche Daten werden protokolliert?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weil RAS Verbindungen immer über ungesicherte Verbindungen wie Modem oder Internet gehen, muss eine starke Verschlüsselung eingesetzt werden. Die gängigste Variante ist das Tunneling (VPN)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 11.4 Telearbeit ===&lt;br /&gt;
&lt;br /&gt;
bei der Telearbeit gelten generell die selben Sicherheitsmassnahmen. Zusätzlich muss die Handhabung folgender Punkte definiert sein:&lt;br /&gt;
&lt;br /&gt;
*Datensicherung&lt;br /&gt;
*Verschlüsselung der Daten&lt;br /&gt;
*Aktentransport (vom Büro nach Hause und umgekehrt)&lt;br /&gt;
*Zugriffsrechte&lt;br /&gt;
*Umgang mit Datenträgern&lt;br /&gt;
&lt;br /&gt;
== Gesamtzusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Der IT-Grundschutz ist eine Methode um schnell und relativ einfach ein mittleres bis hohes Mass an Schutz in einer IT-Infrastruktur aufzubauen.&lt;br /&gt;
&lt;br /&gt;
Die Ausgangslage ist Verletzbarkeit bezüglich den vier Grundbedrohungen:&lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit&lt;br /&gt;
*Vertraulichkeit&lt;br /&gt;
*Integrität&lt;br /&gt;
*Verbindlichkeit&lt;br /&gt;
&lt;br /&gt;
Trifft nun eine reale Bedrohung auf eine solche Verletzbarkeit, spricht man von einem Risiko.&lt;br /&gt;
Das Risiko lässt sich in einem Geldbetrag ausdrücken und beziffert den finanziellen Verlust, der ein Unternehmen bei dessen Eintritt hinnehmen muss. Um dies zu verhindern, wird ein Sicherheitsprozess etabliert, der diese Risiken aufdecken und minimieren soll.&lt;br /&gt;
Neben den organisatorischen Massnahmen ist die Erarbeitung eines Sicherheitskonzepts die entscheidende Arbeit. Das Sicherheitskonzept beschreibt die Summe aller Massnahmen, die ergriffen werden müssen, und wie gross der Aufwand ist, um die Sicherheitsziele umzusetzen.&lt;br /&gt;
In einer Modellierungsphase werden Bausteine aus dem IT Grundschutz der vorhandenen Infrastruktur gegenübergestellt und die nötigen Massnahmen abgeleitet. Dort wo Bausteine fehlen, müssen sie mit einer Sicherheitsanalyse erarbeitet werden. Einzelne Bausteine&lt;br /&gt;
können auch miteinander verschmolzen werden, um die Übersicht zu erhöhen. Ein Baustein wird beschrieben, indem die Bedrohungen, die auf ihn wirken, und die Massnahmen, die ergriffen werden müssen, aufgezeigt werden. Bedrohungen werden eingeteilt in:&lt;br /&gt;
&lt;br /&gt;
*höhere Gewalt,&lt;br /&gt;
*menschliche Fehlhandlungen,&lt;br /&gt;
*technisches Versagen,&lt;br /&gt;
*vorsätzliche Handlungen und&lt;br /&gt;
*organisatorische Mängel,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
während Massnahmen den Bereichen&lt;br /&gt;
&lt;br /&gt;
*Infrastruktur,&lt;br /&gt;
*Personal,&lt;br /&gt;
*Organisation,&lt;br /&gt;
*Hardware und Software,&lt;br /&gt;
*Kommunikation und&lt;br /&gt;
*Notfallvorsorge&lt;br /&gt;
&lt;br /&gt;
zugeordnet werden.&lt;br /&gt;
&lt;br /&gt;
Der Sicherheits-Basischeck nimmt nun alle relevanten Massnahmen pro Komponenten auf und untersucht, ob diese schon umgesetzt sind. Das Resultat ist ein Realisierungsplan, welcher der Leitung zur Genehmigung vorgelegt wird.&lt;br /&gt;
Periodisch wird der ganze Prozess wieder durchlaufen, um sicherzustellen, dass alle Änderungen in der Infrastruktur, neue Bedrohungsbilder und Massnahmen eingeflossen sind.&lt;br /&gt;
&lt;br /&gt;
Das folgende Beispiel soll nochmals den Ablauf eines IT-Grundschutzprozesses praxisnah aufzeigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In den Wagen von Herrn Meier, Mitarbeiter einer autonomen Versicherungsagentur, wird eingebrochen. Sein Arbeitsnotebook wird dabei glücklicherweise übersehen, da dieses unter den Beifahrersitz gerutscht ist. Gleichwohl fragt er sich im Nachhinein, was passiert wäre, wenn das Notebook mitgenommen worden wäre. Immerhin befinden sich höchst vertrauliche Kundendaten darauf (Lebensversicherungsinformationen und entsprechende Krankheitsfälle. Er beschliesst dies mit dem Leiter der Agentur, Herrn Koller, zu diskutieren. Herr Koller ist über den Vorfall ebenso beunruhigt und beschliesst den Sicherheitsmassnahmen auf den Grund&lt;br /&gt;
zu gehen. Die entsprechende «Managementunterstützung» wurde etabliert. Zunächst überlegt sich Herr Koller, wie wohl die generelle Situation innerhalb der Agentur ist. Er kommt zum Schluss, dass auf allen IT-Systemen vertrauliche Kundeninformationen liegen und generell seine Agentur einer «hohen bis sehr hohen» Gefährdung ausgesetzt ist. Er führt also eine «Gefährdungsanalyse» durch.&lt;br /&gt;
Diese Erkenntnis setzt er in eine Weisung (Security Policy) um und versendet ein Memo an alle Mitarbeiter, in&lt;br /&gt;
dem er darauf aufmerksam macht. dass «Alle Kundendaten besonders geschützt werden müssen». In der nächsten Woche setzt sich Herr Koller mit dem IT-Lieferant zusammen und sie erarbeiten zusammen das IT-Sicherheitskonzept. Sie versuchen zu definieren, welche IT-Mittel in der Agentur im Einsatz sind. Dies sind sechs PCs, vier Notebook~, ein LAN-Server, ein Switch, ein Router und ein RAS-Server. Beide haben eine einfache «Strukturanalysy» durchgeführt.&lt;br /&gt;
Nun definieren sie den «Schutzbedarf», indem sie sich überlegen, wo welche Daten im Einsatz sind. Sie kommen zum Schluss, dass&lt;br /&gt;
&lt;br /&gt;
*PC-Systeme einen mittleren Schutzbedarf haben, da sie nur in der Agentur stehen,&lt;br /&gt;
*Notebooks einen hohen Schutzbedarf haben, da sie einen Teil der Kundendaten enthalten, und&lt;br /&gt;
*der RAS- und LAN-Server einen sehr hohen Schutzbedarf haben.&lt;br /&gt;
&lt;br /&gt;
Alle übrigen Komponenten haben einen geringen Schutzbedarf und werden nicht betrachtet.&lt;br /&gt;
Im nächsten Schritt «modellieren» sie diese Umgebung gemäss IT-Grundschutz, indem sie das IT-Grundschutzhandbuch aufschlagen und die PC, Notebooks und Server einer der bereits beschriebenen Komponenten gegenüberstellen.&lt;br /&gt;
Sie finden:&lt;br /&gt;
&lt;br /&gt;
*«Notebooks» entsprechen zum Beispiel «Tragbarer PC» und «PC unter Windows NT».&lt;br /&gt;
*«LAN-Server» entspricht «Servergestütztes Netz» und «Windows NT Netz» etc.&lt;br /&gt;
&lt;br /&gt;
Sie notieren sich die vorgeschlagenen Massnahmen aus dem IT-Grundschutzhandbuch. Danach notieren sie sich, welche Massnahmen bereits umgesetzt sind und welche noch offen stehen. Sie machen einen «Basis-Sicherheitscheck». Am Schluss steht ein Realisierungsplan, den der Lieferant mit der Angabe ergänzt. wie viel Aufwand (in Franken) die Realisierung pro Massnahme kosten wird. Dem IT-Lieferant wird nun eine Zeit gewährt. in der die noch nicht realisierten Massnahmen einzubauen (zu realisieren) sind.&lt;br /&gt;
&lt;br /&gt;
Zwei Monate später kontrolliert der IT-Lieferant die definierten Massnahmen und entdeckt, dass der Mitarbeiter Herr Huber bereits sein Power-On-Passwort aus dem Notebook wieder entfernt hat. Herr Koller unterstreicht in der nächsten Mitarbeitersitzung die Sicherheitsrichtlinien und betont. dass diese einzuhalten sind. Herr Koller hat den «Betrieb» des IT-Grundschutzes sichergestellt.&lt;br /&gt;
Ein Jahr später setzt sich Herr Koller wieder mit dem IT-Lieferanten zusammen und sie beginnen wieder die zu diesem Zeitpunkt im Einsatz stehenden Systeme aufzunehmen, einen Basis-Sicherheitscheck, eine Modellierung etc. durchzuarbeiten. Herr Koller hat den «Grundschutzprozess» geschlossen und eine periodische Überprüfung initialisiert.&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=Informatiker_FA_M222_Zusammenfassung&amp;diff=141</id>
		<title>Informatiker FA M222 Zusammenfassung</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=Informatiker_FA_M222_Zusammenfassung&amp;diff=141"/>
		<updated>2019-08-01T13:08:27Z</updated>

		<summary type="html">&lt;p&gt;Christian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OO-Grundlagen =&lt;br /&gt;
&lt;br /&gt;
== Was heisst modellgetriebene Architektur (MDA) ==&lt;br /&gt;
&lt;br /&gt;
MDA ist eines der grossen Themen bei OMG (www.omg.org). Das Ziel von OMG ist es , mittels MDA die Geschäftslogik von der darunter liegenden Technik zu entkoppeln&lt;br /&gt;
&lt;br /&gt;
*Systeme sollen klug durchdacht werden&lt;br /&gt;
*System in Modellen darlegen&lt;br /&gt;
*Jedes Modell adressiert eine bestimmte Thematik und die Modelle bauen aufeinander auf.&lt;br /&gt;
*Im Idealfall kann das ganze System als Modell beschrieben und dann mit einem Generator erstellst werden.&lt;br /&gt;
*&#039;&#039;&#039;Wichtiger Anspruch&#039;&#039;&#039;: Modell muss durch Mensch und Maschine gelesen werden können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MDA Modellebenen:&lt;br /&gt;
*M3: Metadatenebene&lt;br /&gt;
*M2: Beschreibung der Sprache oder Notation&lt;br /&gt;
*M1: Hier modelliert der Entwickler&lt;br /&gt;
*M0: Ebene der Laufzeitinstanzen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um die einzelnen Modelle als XMI speichern zu können, entwickelte die OMG die XMI. XMI = gemeinsames Format für Import- und Export unterschiedlicher Tools.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modelltransformationskette:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:Modelltransformationskette.gif]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CIM-Modell&#039;&#039;&#039; (Computational Independent Modell): enthält vor allem die fachlichen Anforderungen (unabhängig von der Technik)&lt;br /&gt;
*&#039;&#039;&#039;PIM&#039;&#039;&#039; (Plattform Independent Modell): bildet vor allem das Analysemodell unabhängig von der zukünftigen Plattform&lt;br /&gt;
*&#039;&#039;&#039;PSI&#039;&#039;&#039; (Platform Specific Implementation): repräsentiert den eigentlichen Code&lt;br /&gt;
*&#039;&#039;&#039;PM&#039;&#039;&#039; (Platform Model) beschreiben die Quell- und Zielplattform als Metamodelle und die dazugehörenden Transformationsregeln.  Damit z.B. eine Klasse aus dem Fachklassenmodell eine Tabelle im physischen Datenmodell ergibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Transformation von Modellen bzw. Code-Generierung heisst &#039;&#039;&#039;Forward-Engineering&#039;&#039;&#039;. Wenn aus dem Code ein Design-Modell erstellt wird, heisst dies &#039;&#039;&#039;Reverse-Engineering&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welches sind die Grundelemente von OO? ==&lt;br /&gt;
&lt;br /&gt;
=== Das Objekt ===&lt;br /&gt;
&lt;br /&gt;
*Ein Objekt ist immer einmalig und hat somit eine klare Identität.  (auf Programmebene eindeutig durch die Speicheradresse identifiziert)&lt;br /&gt;
*Ein bestimmtest laufendes Exemplar eines Objektes entspricht einer Instanz&lt;br /&gt;
*Objekte haben Eigenschaften (Attribute), Methoden (Funktionen)&lt;br /&gt;
*können auf Ereignisse (Events) reagieren.&lt;br /&gt;
*Objekte können Nachrichten austauschen&lt;br /&gt;
&lt;br /&gt;
[[Image:222-1.gif]]&lt;br /&gt;
&lt;br /&gt;
*Zugriffsmöglichkeiten sind klar geregelt&lt;br /&gt;
*Alle sichtbaren (public) Methoden bilden die &#039;&#039;&#039;Schnittstelle&#039;&#039;&#039; gegenüber der Umwelt&lt;br /&gt;
*Das Verbergen der inneren Funktionsweise wird &#039;&#039;&#039;Kapselung&#039;&#039;&#039; (Encapsulation) genannt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Objekt hat eine definierte Lebensdauer (Life-Cycle):&lt;br /&gt;
*Geburt: Kreieren (Instantiieren, Create) eines Objektes&lt;br /&gt;
*Leben: eine aktive Instanz&lt;br /&gt;
*Tod: zerstören (Destroy) des Objektes&lt;br /&gt;
&lt;br /&gt;
=== Die Klasse ===&lt;br /&gt;
&lt;br /&gt;
*Die Verallgemeinerung wird &#039;&#039;&#039;Klasse&#039;&#039;&#039; genannt.&lt;br /&gt;
*Im Modell  wird eine Generalisierung der gleichartigen Objekte vorgenommen, womit die Klassen entstehen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:222-3.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Klassen wiesen untereinander Beziehungen auf.&lt;br /&gt;
*Die Beziehungen werden Assoziation genannt und beschreiben den Kardinalität (Multiplizität) zwischen der Menge der Objekte&lt;br /&gt;
&lt;br /&gt;
Im folgenden Beispiel hat eine Firma mindestens einen Mitarbeiter, kann aber auch beliebig viele haben.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-4.gif]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Umgekehrte Richtung&#039;&#039;&#039;: Ausgehend von der Oberklasse vererben sich die Eigenschaften und Methoden auf die Unterklasse. Dabei handelt es sich um eine &#039;&#039;&#039;Spezialisierung&#039;&#039;&#039;, da die Unterklasse eine immer speziellere Ausprägung ausweist.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-5.gif]]&lt;br /&gt;
&lt;br /&gt;
*Klassen welche nicht mehr weiter generalisiert sind, werden Basisklasse, Wurzelklasse oder RootClass genannt.&lt;br /&gt;
*übergeordnete Klassen werden Oberklasse (Superclass) oder Vaterklasse genannt.&lt;br /&gt;
*Spezialisierte Klassen sind Unterklassen oder Sohnklassen (Childclass)&lt;br /&gt;
&lt;br /&gt;
Klassen bei denen keine Instantiierung von Objekten erlaubt sind, sind abstrakte Klassen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Binding&#039;&#039;&#039;:&lt;br /&gt;
*Statisches Binding: Der methodenaufruf ist fix programmiert und bei der Kompilierung bekannt.&lt;br /&gt;
*Spätes Binding: Die Methodenaufrufe werden nach dem Kompilieren aber vor der Laufzeit bekannt.&lt;br /&gt;
*Dynamisches Binding: Die Methodenaufrufe werden erst bei der Laufzeit zugeordnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Polymorphismus ist der Methodenaufruf erst während der Laufzeit bekannt:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-6.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei der Mehrfachvererbung vererbt eine Klasse Eigenschaften aus zwei oder mehreren  Klassen (wird nicht von allen Sprachen unterstützt). Werden nur die Signatur (Schnittstelle) vererbt, so implementieren die Entwickler über Interface-Klassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassen, deren Instanzen nicht Objekte sonder wieder Klassen sind, werden Metaklassen genannt. Der Einsatz von Metaklassen ist eher in der Entwicklung eines Frameworks anzusiedeln und braucht einen hohen Grad an Abstraktionsvermögen der teilnehmenden Entwickler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie sieht ein typisches OO-Vorgehen aus? ==&lt;br /&gt;
&lt;br /&gt;
Projektvorgehensmodelle helfen, das Risiko eines Projekt-Crashes zu minimieren. Sie bilden Teile der konstruktiven Qualitätssicherungsmassnahmen, damit Fehler vermieden werden und Projektziele nicht aus den Augen zu verlieren:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projekt-Zieldreieck: Termine, Kosten, Qualität&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-7.gif]]&lt;br /&gt;
&lt;br /&gt;
Projekte werden in Phasen abgewickelt. Die meisten Phasenmodelle bestehen aus folgenden Phasen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Vorstudie: Projektumschreibung, ist das Projekt sinnvoll&lt;br /&gt;
*Fachkonzept: Anforderungen aufnehmen und fachliche Spezifikation, was soll mit dem Projekt abgedeckt werden.&lt;br /&gt;
*DV-Konzept (Datenverarbeitungskonzept): EDV-technischer Entwurf, wie wird das System gebaut.&lt;br /&gt;
*Realisierung: Programmierung, Beschreibung,m eigentlicher Bau des Systems&lt;br /&gt;
*Einführung: Schulung, Installation, Going Live&lt;br /&gt;
&lt;br /&gt;
Aus diversen Gründen hat sich jedoch ein Vorgehen in kleinen überblickbaren Schritten bewäjhrt. Daraus entstanden die folgenden Modelle:&lt;br /&gt;
&lt;br /&gt;
*Spiralmodell&lt;br /&gt;
*Ration Unified Process (IBM)&lt;br /&gt;
*oose Engineering Process (OEP)&lt;br /&gt;
*Extreme Programming (XP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XP ist ein Vertreter der agilen Softwareentwicklung. Diese beinhaltet folgend vier Thesen um Software, schnell, flexibel und wendig zu entwickeln:&lt;br /&gt;
&lt;br /&gt;
*Personen und deren Interaktionen gehen Prozessdefinitionen und Werkzeugen vor&lt;br /&gt;
*Gut funktionierende Software nützt mehr als ausgedehnte Dokumentation&lt;br /&gt;
*Enge fachliche Zusammenarbeit mit dem Kunden bringt das Projekt weiter als ausgedehnte Vertragsverhandlungen&lt;br /&gt;
*Auf Änderungen reagieren ist wichtiger als den ursprünglichen Plan einzuhalten&lt;br /&gt;
&lt;br /&gt;
=== Prinzipen des OO-Vorgehens ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;OO-Projekte werden iterativ in überschaubaren Inkrementen entwickelt&#039;&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;OO-Projekte werden von der Benutzeranforderung her getrieben&#039;&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;OO-Projekte werden architekturzentriert und modellbasiert entwickelt&#039;&#039;&#039;. (Weil der zugrunde liegende Geschäftsprozess vermutlich länger lebt als die verwendete IT-Technologie muss die Lösung Technologie unabhängig entwickelt werden.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Phasen - Meilensteine ===&lt;br /&gt;
Aus dem natürlichen Ablauf eines Projektes ergeben sich vier Hauptphasen:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;1.Phase: Einstieg (Inception&#039;&#039;&#039;). Hier geht es darum den Fachbereich zu verstehen. Der Geschäftsprozess wird beleuchtet und eventuell einem Business Process Reengineering unterzogen. Der Anwender legt die wichtigsten Anforderungen und Einschränkungen dar. Eine erste Architekturskizze zeigt mögliche Realisierungswege auf. Das gesamte Projekt wird geplant und die Kosten-Nutzen Überlegungen dienen als Basis für den Go-Nogo Entscheid.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;2. Phase: Ausarbeitung (Elaboration)&#039;&#039;&#039;. Die Detail werden weiter ausgearbeitet. Die Anforderungen sollte vollständig vorhanden sein. Der Schwerpunkt liegt im Analyse/Design-Prozess, in welchem die Architektur, der gesamte Entwurf und ein Prototyp entsteht.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;3. Phase: Konstruktion (Construction)&#039;&#039;&#039;. Das System wird gebaut. die Komponenten werden entwickelt und integriert. Ziel ist ein lauffähiges und getestetes System.&lt;br /&gt;
&lt;br /&gt;
4. Phase: Überleitung: (Transition). Das fertige System wird in dir Produktivumgebung gebracht. Dies beinhaltet die Schulung, Installation und weiter Anpassungs- und Testarbeiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Iteration (Wiederholung) ===&lt;br /&gt;
&lt;br /&gt;
In jeder Phase sind eine bis mehrere Iterationen zu planen. Eine Iteration ergibt als Resultat einen definierten geprüften Zustand.&lt;br /&gt;
&lt;br /&gt;
=== Prozesse - Tätigkeiten ===&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Prozesse beschreiben je Phase und Iteration welche Tätigkeiten ausgeführt werden und welche Resultate (Artefakte) erwartet werden.&lt;br /&gt;
&lt;br /&gt;
Unified Prozess:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-8.gif]]&lt;br /&gt;
&lt;br /&gt;
In den einzelnen Disziplinen sind die Module des Fachausweises zu erkennen: Geschäftsmodellierung, Anforderungen definieren, Analyse und Entwurf, Realisierung, Test + QS, Einführung, Projektmanagement, Change- und Configmanagement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Artefakte - Lieferobjekte ===&lt;br /&gt;
&lt;br /&gt;
Die Resultate werden ja nach Vorgehensmodell unterschiedlich benannt. Der Begriff Artefakt zeigt auf den gegensatdn (das eigentliche Resultat) hin. Während Lieferobjekt eher auf die Verantwortung appelliert, was zu liefern ist. Ein Artefakt kann sowohl ein Dokument als auch eine lauffähige Komponente sein.&lt;br /&gt;
&lt;br /&gt;
=== Rollen - Projektmitarbeiter ===&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Rollen in einem Softwareentwicklungsprojekt:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-9.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zeitschätzungsverfahren ===&lt;br /&gt;
&lt;br /&gt;
Zuerst muss man sich ein Bild über die nachfolgend aufgeführten &#039;&#039;&#039;Einflussfaktoren&#039;&#039;&#039; machen:&lt;br /&gt;
&lt;br /&gt;
*Innovationsgrad des Projektes und deren zugrunde liegenden Techniken&lt;br /&gt;
*Qualität, Vollständigkeit und Klarheit der Aufgabenstellung&lt;br /&gt;
*Qualität, Motivation und Grösse des Projektteams&lt;br /&gt;
*Quantität der zur Verfügung stehenden Ressourcen&lt;br /&gt;
*Projektorganisation (Führungsstil, Kompetenten, Informationswege)&lt;br /&gt;
*Handhabung des Change Managements&lt;br /&gt;
*Komplexität der Schnittstellen bzw. Systemintegration&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
Die wichtigste Komponenten ist die Erfahrung mit dem Teams selbst. Wer für ein neu zusammengestelltes Team eine Zeitschätzung abgeben muss, soll immer auf den grossen Unsicherheitsfaktor hinweisen. Unabhängig von einer bestimmten Technik ist der Schätzvorgang ein iterativer Prozess, welcher während der ganzen Projektdauer für die noch ausstehende Tätigkeiten eine periodische Überprüfung und Korrektur benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie ist die Unified Modelling Laguage (UML) aufgebaut? ==&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Three Amigos&amp;quot; entwickelten in den neunziger Jahren ein gemeinsame Modellierungssprache welche nun von der OMG als Standard weiter gepflegt wird.&lt;br /&gt;
&lt;br /&gt;
Das Hauptziel der UML ist es, eine einfache und für alle Beteiligten verständliche Modellierungssprache anzubieten. UML deckt vie Grundbedürfnisse der Systementwicklung ab:&lt;br /&gt;
&lt;br /&gt;
*Visualisierung&lt;br /&gt;
*Spezifizieren&lt;br /&gt;
*Dokumentieren&lt;br /&gt;
*Programmieren (mittels bidirektionalen Konvertern können Klassencode erstellt oder aus bestehendem Programmcode wieder Diagramme erstellt werden.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UML-Werkzeuge ===&lt;br /&gt;
&lt;br /&gt;
=== Architektur-Sichten ===&lt;br /&gt;
&lt;br /&gt;
[[Image:222-10.gif]]&lt;br /&gt;
&lt;br /&gt;
=== UML Sprachelemente ===&lt;br /&gt;
&lt;br /&gt;
Folgender Aufbau ist in den Metadefinitionen festgelegt:&lt;br /&gt;
&lt;br /&gt;
*Struktur (statische Aspekte)&lt;br /&gt;
**Klassen mit dem Klassendiagramm, Paketdiagramm und Objektdiagramm&lt;br /&gt;
**Komponenten mit dem Komponentendiagramm&lt;br /&gt;
**Kompositionsstruktur mit dem Kompositionsstrukturdiagramm und Kollaborationsdiagramm&lt;br /&gt;
**Physische Verteilung von Artefakten mit dem Verteildiagramm&lt;br /&gt;
*Verhalten (dynamische Aspekte)&lt;br /&gt;
**Aktivität, Aktion mit dem Aktivitätendiagramm&lt;br /&gt;
**Interaktion mit den Integrationsdiagrammen&lt;br /&gt;
**Zustandsautomat mit dem Zustandsdiagramm&lt;br /&gt;
**Anwendungsfall mit dem Anwendungsfalldiagramm&lt;br /&gt;
*Erweiterung durch eigene Profile&lt;br /&gt;
**Erweiterung des Metamodells durch spezielle eigene Elementgruppen wir z.B. J2EE-Profile, MS .NET mit Web-Services und COM Profile.&lt;br /&gt;
*OCL - Object Constraint Language&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Artefakte im Analyseprozess =&lt;br /&gt;
&lt;br /&gt;
*Die Analyse nimmt die Informationen aus den beiden vorangegangenen Prozessen der Geschäftsmodellierung und der Anforderungsaufnahmen&lt;br /&gt;
*Daraus wird die Beschreibung erstellt WAS im neuen System gelöst werden soll.&lt;br /&gt;
&lt;br /&gt;
Dies bedingt eine Teamarbeit folgender Personen:&lt;br /&gt;
*Systemanalytiker&lt;br /&gt;
*Domänenexperten (Anwenden)&lt;br /&gt;
*Evtl. berate für Spezialgebiete (z.B. Datenschutz)&lt;br /&gt;
*Prototypenentwickler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dadurch entsteht eine Systembeschreibung welche nach und nach komplettiert wird.&lt;br /&gt;
&lt;br /&gt;
== Was beinhaltet die Systembeschreibung? ==&lt;br /&gt;
&lt;br /&gt;
*Ausgangssituattion (Auslöser, Umfeld, Organisation)&lt;br /&gt;
*aktuelle Schwachstellen&lt;br /&gt;
*Zielsetzungen der neuen Lösung&lt;br /&gt;
*Beschreibung der Aufbau-Organisation&lt;br /&gt;
*Abriss des aktuellen Systems und dessen Integration (ergibt Rückschlüsse über die Schnittstellen)&lt;br /&gt;
*zu berücksichtigende gesetzliche Regelungen&lt;br /&gt;
*Projket-Begriffsverzeichnis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Modelle werden während der Analyse erstellt? ==&lt;br /&gt;
&lt;br /&gt;
Die Modellierung verfolgt mehrere Zwecke:&lt;br /&gt;
*eindeutige Kommunikation zwischen den Beteiligten&lt;br /&gt;
*grafische Visualisierung von komplexen Zusammenhängen&lt;br /&gt;
*Möglichkeiten geben, Modelle auf Vollständigkeit, Konsistenz und Machbarkeit hin zu prüfen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modelle&#039;&#039;&#039;:&lt;br /&gt;
*Das &#039;&#039;&#039;Anwendungsfalldiagramm&#039;&#039;&#039; basiert auf der IST-Situation der Business-Prozesse und den Anforderungen an das System. Hier wird die Frage beantwortet wie das System genutzt wird.&lt;br /&gt;
*Im &#039;&#039;&#039;Basismodell&#039;&#039;&#039; spürt der Analyst die Objekte auf. Aus den Objekten entstehen Klassen inkl. ersten Eigenschaften und Methoden. Das Basismodell ist Voraussetzung für das statische Analysemodell.&lt;br /&gt;
*Im &#039;&#039;&#039;statischen Analysemodell&#039;&#039;&#039; werden die Basismodell gefunden Element in Beziehung gesetzt. Weiter werden Generalisierungen vorgenommen (Klassen zu Oberklassen)&lt;br /&gt;
*Im &#039;&#039;&#039;dynamischen Analysemodell&#039;&#039;&#039;l werden die Interaktionen der Element dargestellt (zeitliche Ablauffolgen und Abhängigkeiten, mögliche Parallelität, Synchronisation von Aktivitäten, sowie Austausch von Nachrichten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie sieht das Prototyping in der Analysephase aus? ==&lt;br /&gt;
&lt;br /&gt;
*Der Anwender wird beim Erstellen der Analyseprototyp einbezogen&lt;br /&gt;
*Dieses &#039;&#039;&#039;partizipative Protoptyping&#039;&#039;&#039; hat den Vorteil, dass grundlegenden Fehlüberlegungen in den Maskenabläufen und den wichtigsten Inhalten schon sehr früh ausgemerzt werden können.&lt;br /&gt;
*Für die Entwicklung können spezielle Autorentools oder Entwicklungsumgebungen eingesetzt werden (z.B. Rapid Application Development Tools)&lt;br /&gt;
*Die Maskendetail interessieren in dieser Phase noch nicht. Deshalb wird von einem &#039;&#039;&#039;Low-Fidelity-Wegwerf-Prototyp&#039;&#039;&#039; gesprochen.&lt;br /&gt;
*Meistens werden unterschiedliche Varianten erstellt um die beste Variante zu finden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Anwendungsfallmodell =&lt;br /&gt;
*Das Anwendungsfallmodell ist eine Black-Box-Betrachtung&lt;br /&gt;
*Aus jedem Geschäftsprozess werden die Geschäftsfälle (Business cases) identifiziert. Diese lassen sich in Geschäftsanwendungsfällen beschreiben und enthalten die Stereotyp-Bezeichnung &amp;quot;business&amp;quot;.&lt;br /&gt;
*Der Analytiker trägt die jeweiligen Anwendungsfälle zusammen und vervollständigt sie mit dem Domänenexperten.&lt;br /&gt;
&lt;br /&gt;
Die Anforderungen lasse sich in 3 Gruppen einteilen:&lt;br /&gt;
*Rahmenbedingungen (Projektumfeld, verfügbare Infrastruktur, Firmenstandards, gesetzliche Vorgaben)&lt;br /&gt;
*nicht-funktionale Anforderungen (Perfomanz, Benutzerfreundlichkeit, Robustheit, Wartbarkeit, ..)&lt;br /&gt;
*funktionale Anforderungen (was soll das System leisten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie werden Anwendungsfälle erstellt? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Schritt: Informationen vervollständigen.&#039;&#039;&#039;&lt;br /&gt;
*Mit Domänenexperten, dem Management,  den Kunden, Lieferanten Prozess-Owner und anderen Wissensträgern werden die Details durchgegangen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Schritt: potenzielle Akteure finden.&#039;&#039;&#039;&lt;br /&gt;
*Welches sind die Kunden im betreffenden Geschäftsprozess?&lt;br /&gt;
*Welche internen Stellen sind beteiligt?&lt;br /&gt;
*zu welchen internen Stellen finden ein Datenaustausch statt?&lt;br /&gt;
*zu welchen externen Stellen finden ein Datenaustausch statt?&lt;br /&gt;
&lt;br /&gt;
Die gefunden Akteure können in einem nächsten Teilschritt zu gleichen Gruppen zusammengefasst und einheitliche Namen gegeben werden.&lt;br /&gt;
&lt;br /&gt;
z.B. beim Seminarhotel&lt;br /&gt;
*Kunden&lt;br /&gt;
*Mitarbeiter&lt;br /&gt;
*externe IT-Systeme&lt;br /&gt;
*interne IT-Systeme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.Schritt: Anwendungsfälle identifizieren&#039;&#039;&#039;&lt;br /&gt;
*Ein Anwendungsfall besteht aus einer Folge zu Aktivitäten welche durch ein bestimmtest Ereignis ausgelöst wird.&lt;br /&gt;
*Meistens ist ein Akteur beteiligt für welchen mindestens ein sichtbares Ergebnis entsteht.&lt;br /&gt;
*Ein Anwendungsfall kann also durch ein auslösendes Ereignis und ein erhaltenes Resultat identifiziert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schritt: Akteure und Anwendungsfälle verbinden.&#039;&#039;&#039;&lt;br /&gt;
*Hier erfolgt ein erster Entwurf des Anwendungsfalldiagramms. Ausgehend von den definierten Anwendungsfällen wird der auslösende Akteure verbunden. So entsteht die Grundlage um an den Anwendungsfällen weiter zu arbeiten (im Normalfall CASE-Tool unterstützt).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Schritt: Akteure und Anwendungsfälle beschreiben und komplettieren&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es wird eine Beschreibung mit folgenden Eigenschaften und Inhalten erstellt:&lt;br /&gt;
*muss von allen Beteiligten verstanden werden (also nicht EDV-technisch verfasst)&lt;br /&gt;
*Akteure&lt;br /&gt;
*Vor/Nachbedingungen&lt;br /&gt;
*Ergebnisse&lt;br /&gt;
*Ablauf&lt;br /&gt;
*immer aus Sicht des Geschäftstreibenden beschreiben&lt;br /&gt;
*auf logische Abfolge der Anwendungsfälle achten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Schritt. Beziehungen zwischen Anwendungsfällen modellieren&#039;&#039;&#039;&lt;br /&gt;
*gleichartige Aktivitätsabfolgen suchen&lt;br /&gt;
*wenn vorhanden, dann als einen eigenen Anwendungsfall herausnehmen und in den anderen Anwendungsfällen mit einer &amp;quot;include&amp;quot;-Beziehung verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Schritt. Sicht überprüfen&#039;&#039;&#039;&lt;br /&gt;
*interagiert jeder Use Case unmittelbar oder mittelbar mit mindestens einem Akteur?&lt;br /&gt;
*Enthält kein Diagramm mehr als 10 Use Cases?&lt;br /&gt;
*Sind die Namen intuitiv verständlich?&lt;br /&gt;
*Ist die Beschreibung für Anwender verständlich?&lt;br /&gt;
*Sind die Begriffe konsistent?&lt;br /&gt;
*Sind die Use Cases weder zu mächtig noch zu klein?&lt;br /&gt;
*Ist die Beschreibung des Ablaufs nicht zu detailliert?&lt;br /&gt;
*Ist die Anwendung und nicht ein Dialogablauf beschrieben?&lt;br /&gt;
*sind alle Aspekte abgedeckt?&lt;br /&gt;
*Gibt es kein Widersprüche?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie werden Anwendungsfalldiagramme erstellt? ==&lt;br /&gt;
&lt;br /&gt;
*Ein entsprechend angeschriebenes Rechteck repräsentiert das zukünftige &#039;&#039;&#039;Informationssystem&#039;&#039;&#039;.&lt;br /&gt;
*Die Anwendungsfälle sind innerhalb des Systems zu platzieren.&lt;br /&gt;
*&#039;&#039;&#039;Akteure&#039;&#039;&#039; sind ausserhalb des Systems&lt;br /&gt;
*Die Anwendungsfälle werden mit einer durchgezogenen Linie mit den Akteuren verbunden. Die Linien nennt man &#039;&#039;&#039;Assoziationen&#039;&#039;&#039;.&lt;br /&gt;
*Die Akteure sind mit der in dieser Situation relevanten Rolle angeschrieben. &lt;br /&gt;
*Die Anwendungsfälle sollten mit einer prägnanten Bezeichnung versehen sein (Substantiv und Verb wie z.B. Reservation durchführen)&lt;br /&gt;
&lt;br /&gt;
[[Image:222-11.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Anwendungsfalldiagramm.gif]]&lt;br /&gt;
&lt;br /&gt;
*Akteure können Personen, OE oder andere fimeninterne oder firmenextern Informationssystem sein.&lt;br /&gt;
*Neben Strichmännchen dürfen auch andere Stereotypen verwendet werden.&lt;br /&gt;
*für ein anderes System hat sich das Knoten-Symbol der Verteildiagramms durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assoziationen:&#039;&#039;&#039;&lt;br /&gt;
*eine einfache Assoziation bedeutet eine bidirektionale Kommunikation zwischen dem Akteur und dem System (durchgezogene Linie ohne Pfeil)&lt;br /&gt;
*ist die Navigierbarkeit nur auf einen Seite gegeben, so wird dies mit einem offenen Pfeil und einem Kreuz am anderen Ende angedeutet (siehe Beispiel Rechnung an Kunde).&lt;br /&gt;
*Vor- bzw. Nachbedingungen werden mit einer gestrichelten Linie und offenem Pfeil gezeichnet. Siehe Beispiel: Check-Out nur möglich wenn Check-In durchgeführt wurde.&lt;br /&gt;
*Spezielle Anwendungsfälle können generalisiert werden. Alle Beziehungen des generellen Anwendungsfalles gelten dann automatisch für den speziellen. Die Beziehung wird durchgezogener und geschlossenem, gefüllten Pfeil gezeichnet. Siehe Beispiel &amp;quot;Reservation vornehmen&amp;quot; &amp;quot;Seminarreservation vornehmen&amp;quot;.&lt;br /&gt;
*Gleiche Abläufe dürfen in separate Anwendungsfälle ausgelagert werden. Mit der Stereotype-Bezeichnung &amp;quot;include&amp;quot; können diese hinzugefügt werden. Dadurch werden Redundanzen vermieden. das Modell wird übersichtlicher und besser wartbar.&lt;br /&gt;
*&amp;quot;extend&amp;quot; ist ähnlich wie &amp;quot;include&amp;quot;. Es kann aber eine Bedingung angegeben werden welche dann an einem &amp;quot;extension point&amp;quot; andockt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:222-12.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Include-extend.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie werden Anwendungsfälle beschrieben? ==&lt;br /&gt;
&lt;br /&gt;
*Die Beschreibung soll möglichst kurz und prägnant sein.&lt;br /&gt;
*für alle Beteiligten verständlich&lt;br /&gt;
*Aus Sicht der Geschäftstreibenden&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Teile der Beschreibung:&lt;br /&gt;
*Name&lt;br /&gt;
*Spezialisierung von&lt;br /&gt;
*Kurzbeschreibung&lt;br /&gt;
*Akteure&lt;br /&gt;
*Auslöser&lt;br /&gt;
*Vorbedingung&lt;br /&gt;
*Eingehende Information&lt;br /&gt;
*Ergebnisse&lt;br /&gt;
*Nachbedingungen&lt;br /&gt;
*Ablauf&lt;br /&gt;
*Kategorie (Primär = notwendiges, häufiges Verhalten / Sekundär = notwendiges, seltenes Verhalten / Optional: nicht notwendiges Verhalten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vom Anwendungsfall zum Testfall ==&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll bereits in dieser Phase die Testfälle und die Akzeptanzkriterien zu beschreiben. Diese können direkt aus den Anwendungsfällen abgeleitet werden.&lt;br /&gt;
&lt;br /&gt;
= Statisches Analysemodell =&lt;br /&gt;
&lt;br /&gt;
*Die Anwendnungfsfälle und das Pflichtenheft bilden den Input zum statischen Analysemodell. &lt;br /&gt;
*Dieses konzentriert sich auf die Sichtweise des Aufbaus und die Struktur des Systems.&lt;br /&gt;
*Objekte bzw. Klassen mit ihren Attributen sind zu identifizieren&lt;br /&gt;
*Ebenso die Beziehungen zwischen den Klassen.&lt;br /&gt;
*Der Analytiker stellt die Resultate in einem UML-Klassendiagramm dar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welchem Zweck dienen CRC-Karten (Class - Responsibility - Collaborator)? ==&lt;br /&gt;
&lt;br /&gt;
Auf den CRC-Karten werden in Arbeitssitzungen die Informationen gesammelt und auf einer Pin-Wand in der richtigen Beziehung platziert. Die erhaltenen Infos fliessen in die eigentliche Modellierung ein.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-13.gif]]&lt;br /&gt;
&lt;br /&gt;
*Unter &amp;quot;Responsibility&amp;quot; werden die Verantwortlichkeiten eingetragen. &lt;br /&gt;
*Collaborator&amp;quot; spricht die Beziehungen zu den anderen Klassen an.&lt;br /&gt;
&lt;br /&gt;
Durch Beantworten folgender Fragen ergeben sich die ersten Klassen:&lt;br /&gt;
&lt;br /&gt;
*Mit welchen Personen arbeitet das System zusammen?&lt;br /&gt;
*Welche Dinge sind im Geschäftsprozess involviert oder beschrieben?&lt;br /&gt;
*Welche Artikel bzw. Leistungen werden dem Kunden geliefert?&lt;br /&gt;
*Welche Papiere, Dokumente werden erstellt?&lt;br /&gt;
*Welche Informationen fliessen in das System?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Beziehungen:&lt;br /&gt;
*Welche fachlichen Beziehungen bestehen zwischen den Objekten?&lt;br /&gt;
*wie viele Objekte einer Klasse sind an einer Beziehung beteiligt?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie werden Pakete geformt? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Namensraum ist ein paketierbares Modellelement welches andere Element enthält. Pakete können ganz unterschiedlich Elemente enthalten. Pakete helfen Ordnung in die Anwendungen zu bringen. Gleichartige Artefakte lassen sich so bequem in ein entsprechendes Pakte versorgen. Man kann Elemente auch anderen Paketen wieder zugänglich machen.&lt;br /&gt;
&lt;br /&gt;
Vier unterschiedliche Festlegungen der Sichtbarkeit:&lt;br /&gt;
*public: (+) für alle sichtbar&lt;br /&gt;
*private: (-) nur für die eigene Klasse sichtbar&lt;br /&gt;
*protected: (#) nur für die eigene Klassen und die Unterklassen sichtbar.&lt;br /&gt;
*package: (~) nur innerhalb des gleichen Paketes sichtbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pakete können andere Pakete importieren. Dazu gibt es folgende beiden Möglichkeiten:&lt;br /&gt;
*&amp;quot;import&amp;quot;: die Elemente des anderen paketes werden importiert. Wenn das importierende Pakete von einem anderen Paket importiert wird, werden auch die von diesem Paket importierten Pakete ebenfalls impoirtiert.&lt;br /&gt;
*&amp;quot;acccess&amp;quot;: Damit greift man nur auf die Elemente zu, ohne diese weiter zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Beide werden als Abhängigkeit gezeichnet, das heißt in der Form einer gestrichelten Linie mit einer offenen Pfeilspitze. Zu beachten ist, dass das importierte Paket am Ende mit der Pfeilspitze gezeichnet wird.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-14.gif]]&lt;br /&gt;
&lt;br /&gt;
== Wie sieht ein Analyseklassenmodell aus? ==&lt;br /&gt;
&lt;br /&gt;
Die Klassen mit den wichtigsten Attributen, den Assoziationen mit deren Multiplizität (Kardinalität) sowie den Verebungsstrukturen werden identifiziert.&lt;br /&gt;
&lt;br /&gt;
=== Klasse ===&lt;br /&gt;
&lt;br /&gt;
*Bezeichnung soll eine natürliche Identifikation ermöglichen&lt;br /&gt;
*eindeutige Bezeichnung im ganzen Modell&lt;br /&gt;
*keine Leerzeichen im Namen oder andere Sonderzeichen (ausser _)&lt;br /&gt;
*Zusammengesetzte Namen sollten mit GrossKlein-Schreibung abgegrenzt werden.&lt;br /&gt;
*diese Regeln gelten auch für Pakete, Attributs und Operationsbezeichnungen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Namen von abstrakten Klassen werden kursiv geschrieben. In Handzeichnung sollte aber besser den Constraint {abstract} angegeben werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In UML wird die Klasse als Rechteck gezeichnet:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-15.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
*bilden die Eigenschaften einer Klasse&lt;br /&gt;
*Name soll möglichst selbsterklärend sein.&lt;br /&gt;
*jedes Attribut weist einen Attributswert je Instanz auf&lt;br /&gt;
*Klassenattribute weisen hingegen einen Attributswert für die gesamte Menge der Objekte auf. Diese sind unterstrichen.&lt;br /&gt;
*Ein von anderen Attributswerten abgeleitetes Attribut beginnt mit einem Slash. Für das Design werden diese Attribute meist gestrichen, da sie sich errechnen lassen.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-16.gif]]&lt;br /&gt;
&lt;br /&gt;
*Jedes Attribut weist eine Sichtbarkeit aus&lt;br /&gt;
*der Typ des Attributes zeigt die Art der darin enthaltenen Daten auf. Primitiver Datentyp (string, int), Aufzählungsdatentyp (Enum), Komplexer Datentyp (Objekt)&lt;br /&gt;
&lt;br /&gt;
Beispiel Aufzählungsdatentyp:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-17.gif]]&lt;br /&gt;
&lt;br /&gt;
*Im Design stehen die Typen der jeweiligen Plattform zur Verfügung (Java, .NET, ...)&lt;br /&gt;
*Attribute können bei den Instantiierung einen Initalwert erhalten. Dazu wird mit einem Gleichheitszeichen der Wert zugewiesen. Ohnen diese Anaben enthalten die Attribate den Leerwer (Null-Value)&lt;br /&gt;
*Attribute welche nur gelesen werden dürfen, haben das Merkmal {readonly}&lt;br /&gt;
&lt;br /&gt;
Bei Attributen welche mehrere Werte enthalten können, wird die Multiplizität in eckigen Klammen angegeben. Die Listen können wir folgt beschrieben bzw. eingeschränkt werden:&lt;br /&gt;
&lt;br /&gt;
*{bag}: beliebige Liste von Werten&lt;br /&gt;
*{unique}: jeder Attributswert darf nur einmal vorkommen.&lt;br /&gt;
*{ordered}: die Liste der Werte ist sortiert.&lt;br /&gt;
&lt;br /&gt;
Künstliche Schlüsselattribute dürfen in der Analyse noch nicht festgelegt werden. Dies ist Design-Arbeit. Auch Fremd-Schlüsse sind noch nicht festzulegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch die Assoziation wurd die Navigierbvarkeit sichergestellt.&lt;br /&gt;
&lt;br /&gt;
Die Syntax der Attributsdefinition lautet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[sichtbarkeit][/][:typ[multiplizität][=initialwert][{eigenschaftswert}]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Operationen ===&lt;br /&gt;
*Erst während der Erstellen des dynamischen Analysemodells vervollständigt der Analytiker die Operationen mit den dazu gehörenden Parametern.&lt;br /&gt;
*Der Namen und die Parameter bilden die Signatur&lt;br /&gt;
*Die Menge aller Operationen bilden das Verhalten der Klasse&lt;br /&gt;
*Operationen enthalten die selben Sichtbarkeitshinweise wie die Attribute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Paramter sind in der Klammer mit Komma abgetrennt. Ohne spezielle Angaben sind dies Eingabeparameter. Ansonsten:&lt;br /&gt;
&lt;br /&gt;
*in: Eingabewert (Default)&lt;br /&gt;
*out: Rückgabewert&lt;br /&gt;
*inout: beides&lt;br /&gt;
&lt;br /&gt;
Den Parametern ist der Typ (mit Doppelpunkt) beizufügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zusicherungen welche das System beim Aufruf bzw. beim Abschluss der Operation einhalten muss, werden mit OCL in geschweiften Klammern (Constraints) angegeben:&lt;br /&gt;
&lt;br /&gt;
*Vorbedingung: {pre: KundenNr ist gültig}&lt;br /&gt;
*Invariante (Zusicherung während Ausführung): {inv: Objekt ist für Dritte gesperrt}&lt;br /&gt;
*Nachbedingung: {post: Änderung ist persistiert)&lt;br /&gt;
&lt;br /&gt;
Sofern eine Operation einen Typ besitzt, entspricht dies dem Typ des Rückgabeparameter.&lt;br /&gt;
&lt;br /&gt;
Je nach Verantwortlichkeit der Aufgabe welche die Operation hat, werden folgenden Arten unterschieden:&lt;br /&gt;
&lt;br /&gt;
*Konstruktor&lt;br /&gt;
*Destruktor&lt;br /&gt;
*Setter&lt;br /&gt;
*Getter&lt;br /&gt;
*Link (Aufbauen Objektbeziehung)&lt;br /&gt;
*Unlink&lt;br /&gt;
*Getlink&lt;br /&gt;
*Query (Dateninhalt abfragen. Mit/ohne Berechnung)&lt;br /&gt;
*Update (speichern, persititieren)&lt;br /&gt;
&lt;br /&gt;
Die Syntax der Operation lautet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[sichtbarkeit] name (parameterliste) [:typ] {constraints}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Assoziationen (Beziehungen) ===&lt;br /&gt;
&lt;br /&gt;
*zeigen die Beziehungen zwischen Klassen auf&lt;br /&gt;
*werden mit einer ausgezogenen einfachen Linie dargestellt&lt;br /&gt;
*im Analyseklassendiagramm sind diese zu benennen.&lt;br /&gt;
*Wenn die Leserichtung nicht von oben nach unten oder nicht von links nach rechts geht, muss diese mit einem kleinen ausgefüllten Pfeil angegeben werden.&lt;br /&gt;
*Am Ende der Assoziation besteht die Möglichkeit die Rolle anzugeben welche dies entsprechende Klasse in dieser Beziehung hat.&lt;br /&gt;
&lt;br /&gt;
Die Multiplizität definiert die gültige Kardinalität. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
*Eine Firma ist Kunde des Seminarhotels&lt;br /&gt;
*Die Firma führt ein Seminar durch an welchem 3 Mitarbeiter teilnehmen.&lt;br /&gt;
*Die Kardinalität ist in diesem Fall 3&lt;br /&gt;
*Da wir keine Begrenzung der Anzahl vorgeben, ist die Multiplizität 1..*. &lt;br /&gt;
&lt;br /&gt;
Gültige Multiplizitäten sind in positiven ganzzahligen Werten anzugeben. Ein Von-bis-Wert ist mit zwei Punkten &amp;quot;..&amp;quot; anzugeben. Sobald der Wert 0 möglich ist, ist diese Beziehung optional.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
*1&lt;br /&gt;
*0..1&lt;br /&gt;
*1..3, 7&lt;br /&gt;
*1..*&lt;br /&gt;
*0..* ist gleichbedeutend wie *&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-18.gif]]&lt;br /&gt;
&lt;br /&gt;
kann wie folgt gelesen werden:&lt;br /&gt;
&lt;br /&gt;
*Ein Kunde besteht aus mindestens einer Person, kann aber aus beliebig vielen Personen bestehen.&lt;br /&gt;
*Genau eine Person ist die Kontaktperson beim Kunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Objektdiagramm&#039;&#039;&#039; zeigt konkrete &#039;&#039;&#039;Instanzen&#039;&#039;&#039; mit deren Beziehungen aus. Es hilft konkrete Situationen darzustellen. Das obige Beispiel sieht als Objektdiagramm z.B. wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:222-19.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigierbarkeit:&#039;&#039;&#039;&lt;br /&gt;
*werden mit einem offenen Pfeil bzw. dem Kreuz modelliert.&lt;br /&gt;
*wenn nichts angegeben ist, ist sie bidirektional.&lt;br /&gt;
*Die Navigierbarkeit muss im Design bei unidirektionalen (nur ein Weg) explizit modelliert werden. Entsprechend werden die dazu notwendigen Link-Operationen gebildet.&lt;br /&gt;
&lt;br /&gt;
Wie im Beispiel angegeben, macht es keinen Sinn, vom Hotelzimmer her zu wissen wer dies präferenziert.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-20.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn ein Objekt eine Beziehung zu einem Objekt der gleichen Klasse hat, spricht man von einer &#039;&#039;&#039;reflexiven Assoziation&#039;&#039;&#039;. Im folgenden Beispiel können Personen Mitarbeiter oder Vorgesetzte sein. Jeder Mitarbeiter hat genau einen Vorgesetzten und jeder Vorgesetzte hat 1 bis 10 &amp;quot;Untergebene&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Reflexive-Assoziation.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noch ein Beispiel:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-21.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Wenn man eine 1:1-Beziehung hast, muss dies überprüft werden.&lt;br /&gt;
*Wenn die eine Klasse nur eine Ergänzung bildet, müssen diese in der Analysephase zu einer Klasse zusammengefasst werden.&lt;br /&gt;
*Nur wenn eine separate Objektidentität vorhanden ist, darf eine 1:1-.Beziehung angewendet werden. Beispiel: Klasse Ehemannen und Ehefrau.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aggregation:&#039;&#039;&#039;&lt;br /&gt;
*Ein Stockwerk besteht aus diversen Räumen.&lt;br /&gt;
*Die Räume sind Teil des Stockwerkes.&lt;br /&gt;
&lt;br /&gt;
Eine solche Beziehung wird mit UML in einer &#039;&#039;&#039;Aggregation&#039;&#039;&#039;. Am Assoziationsende ist beim Ganzen ein nicht ausgefüllter Rhombus. Die Aggregation wird in der Analysephase gerne angewendet, im Design jedoch weggelassen, da eine Implementierung nicht stattfindet.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-22.gif]]&lt;br /&gt;
&lt;br /&gt;
anderes Beispiel:  Restaurant und Stuhl. Stuhl kann auch ohne Restaurant leben. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Komposition&#039;&#039;&#039;:&lt;br /&gt;
*wenn die einzelnen teile nicht ohne die Existenz des Ganzen leben können, handelt es sich um eine Komposition.&lt;br /&gt;
*wird mit einem gefüllten Rhombus dargestellt.&lt;br /&gt;
*hat im Gegensatz zur Aggregation einen direkten Einfluss auf das Design.&lt;br /&gt;
*es muss sichergestellt sein, dass beim Löschen des Ganzen auch die dazugehörenden teile gelöscht werden, bzw. dass während der Existenz des Teiles das dazu gehörende Objekt des Ganzen auch vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-23.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zusicherungen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zwischen Assoziationen kann es Abhängigkeiten geben. Diese werden mittels Zusicherungen (Constraints) modelliert. Beide Beziehungen werden mit einer gestrichelten Linie verbunden und die Zusicherung in Klammern geschrieben:&lt;br /&gt;
&lt;br /&gt;
*OCL Ausdruck&lt;br /&gt;
*or: keine, nur eine oder beide Beziehungen dürfen vorhanden sein.&lt;br /&gt;
*xor: es darf nur eine Beziehung vorhanden sein.&lt;br /&gt;
*and: es müssen beide Beziehungen vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-24.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assoziationsklasse:&#039;&#039;&#039;&lt;br /&gt;
*Es kommt vor, dass Bezeihungen ebenfalls Attribute und Operationen haben. &lt;br /&gt;
*Damit werden diese Assoziationen zu Assoziationsklassen. &lt;br /&gt;
*Im Analyseklassenmodell wird dies mit einer Klasse, welche eine gestrichelte Linie zur Assoziation aufweist, dargestellt.&lt;br /&gt;
*jede konkrete Beziehung bildet somit ein Objekt mit den entsprechenden Attributswerten.&lt;br /&gt;
*Für das Design-Modell muss dieses Konstrukt jedoch in 2 Beziehungen und einer normalen Klasse aufgelöst werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-25.gif]]&lt;br /&gt;
&lt;br /&gt;
anderes Beispiel:&lt;br /&gt;
&lt;br /&gt;
[[Image:Assoziationsklasse.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Generalisierung ===&lt;br /&gt;
&lt;br /&gt;
*schon in anderen Kapiteln erwähnt.&lt;br /&gt;
*UML-Notation: ein geschlossener Pfeil der zur Oberklasse zeigt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel eines Analyseklassediagramms:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-27.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung von visuellen Stereotypen ===&lt;br /&gt;
&lt;br /&gt;
[[Image:222-26.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Wie präzisieren wir ein Modell mit OCL ===&lt;br /&gt;
&lt;br /&gt;
*Visuelle Modelle haben grenzen&lt;br /&gt;
*z.B. wenn man modellieren will, dass nur Personen des gleichen Kunden in das gleiche Hotelzimmer bewohnen sollen.&lt;br /&gt;
&lt;br /&gt;
Mit OCL lassen sich Modelle mit Einschränkungen und Präzisierungen ergänzen. OCL ist eine seiteneffektfreie Sprache. Es können keine Werte geändert werden. ähnlich SQL &amp;quot;select&amp;quot;. In Bezug auf MDA bietet OCL die Voraussetzung, damit ein Modell vollständig und eindeutig auf einer hohen Abstraktionsebene definiert werden kann.&lt;br /&gt;
&lt;br /&gt;
OCL-Befehle weisen immer einen &#039;&#039;&#039;Kontext&#039;&#039;&#039; auf, der eine Zuordnung auf ein konkretes Modellelement enthält:&lt;br /&gt;
&lt;br /&gt;
*Classifier (wie z.B. Klasse, Akteur, ...)&lt;br /&gt;
*Feature eines Classifiers wie Attribut oder Operation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiele&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Festlegen, dass die verantwortliche Person mindestens 18 Jahre alt sein muss:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;context: Kunde&lt;br /&gt;
&lt;br /&gt;
inv:     self.Kontaktperson.Alter &amp;gt;= 18&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;inv&amp;quot; steht für Invariant, was mit einer &amp;quot;immer zutreffenden Zusicherung&amp;quot; übersetzt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prüfung des Modells ===&lt;br /&gt;
&lt;br /&gt;
Folgende Fragen helfen bei der Überprüfung des statischen Analysemodells um die Qualität zu steigern&lt;br /&gt;
&lt;br /&gt;
*Sind die Namen aussagekräftig (Klasse, Attribute, Operationen)?&lt;br /&gt;
*korrektes Abstraktionsniveau&lt;br /&gt;
*es dürfen keine Reports, Benutzeroberflächen oder Implementierungsdetails als Klassen modelliert sein.&lt;br /&gt;
*sind die nötigen Rollen spezifiziert?&lt;br /&gt;
*Liegen unberechtigte 1:1 Beziehungen vor?&lt;br /&gt;
*etc...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie helfen Analysemuster Lösungen zu finden? ==&lt;br /&gt;
&lt;br /&gt;
Für immer wieder auftauchende Problemstellungen wurden Musterkataloge geschaffen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-28.gif]]&lt;br /&gt;
&lt;br /&gt;
[[Image:222-29.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dynamisches Analysemodell =&lt;br /&gt;
&lt;br /&gt;
*Die Dynamik des System wird beschrieben.&lt;br /&gt;
*wird auch &#039;&#039;&#039;Interaktionsmodell&#039;&#039;&#039; genannt (weil dargestellt wird wie die Objekte interagieren)&lt;br /&gt;
*Der Schwerpunkt liegt auf de Innensicht (White Box). Im Gegensatz zum Anwendungsfallmodell (Black-Box-Betrachtung)&lt;br /&gt;
&lt;br /&gt;
== Wie werden Prozessabläufe als Aktivitätendiagramm modelliert? ==&lt;br /&gt;
*Sobald ein Anwendungsfall einige Bedingungen und Nebenläufigkeiten hat, ist eine verbale Beschreibung nicht mehr geeignet. &lt;br /&gt;
*Stattdessen kommt das Aktivitätendiagramm zum Zug (grafische Darstellung)&lt;br /&gt;
*Das Aktivitätendiagramm  kann auch für die Beschreibung des gesamten Geschäftsprozess verwendet werden(z.B. anstelle vom BPMN)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel eines einfachen Aktivitätendiagramm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-30.gif]]&lt;br /&gt;
&lt;br /&gt;
(Aktivität = ganzes / Aktion = Teilschritt bzw. kleinste ausführbare Einheit)&lt;br /&gt;
*genau ein Startknoten&lt;br /&gt;
*ein oder mehrere Endknoten&lt;br /&gt;
*Jede Aktion muss ein Ausgang haben.&lt;br /&gt;
*Bedingung bei Entscheidungsknoten muss gemäss UML-Regel in eckigen Klammern stehen)&lt;br /&gt;
*Alternativ kann Bedingung in einer Notiz angegeben werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel parallele Kontrollflüsse:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:222-31.gif]]&lt;br /&gt;
&lt;br /&gt;
*Splitting- bzw. Synchronisationsbalken dürfen auch waagrecht sein&lt;br /&gt;
*erst wenn alle Zweige beim Synchronisationsbalken ankommen, läuft der Prozess weiter.&lt;br /&gt;
*Ausnahme: paralleler Kontrollfluss kann beendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objekte / Pins / Buffers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*In UML 2.0 steht neu die Möglichkeit der Modellierung eines Objektflusses zur Verfügung. Objekte welches als Parameter übergeben werden oder Aktionen welche Objekte erzeugen werden als Pin visualisiert.&lt;br /&gt;
*Der &amp;quot;centralBuffer&amp;quot; bildet eine Zwischenspeicher für Objekte.&lt;br /&gt;
*Der &amp;quot;datastore&amp;quot;  ist die Endablage von Objekten.&lt;br /&gt;
&lt;br /&gt;
Im folgenden Beispiel werden auch Konnektoren gezeigt:&lt;br /&gt;
&lt;br /&gt;
[[Image:222-32.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ereignisse&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Im folgenden Beispiel sind folgende Ereignisse zu sehen&lt;br /&gt;
*normales Ereignis, d.h. ein Signal aus einem Ereignis empfangen&lt;br /&gt;
*Zeitereignis&lt;br /&gt;
*Ausnahmeereignis&lt;br /&gt;
*Ein Ereignis auslösen, d.h. ein Signal senden&lt;br /&gt;
&lt;br /&gt;
[[Image:222-33.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktivitätsbereiche&#039;&#039;&#039;:&lt;br /&gt;
*Mit Aktivitätsbereichen kann dargestellt werden wer für eine Aktion verantwortlich ist. &lt;br /&gt;
*Diese dürfen horizontal oder vertikal angebracht werden. &lt;br /&gt;
*Nicht mehr als Aktivitätsbereiche verwenden.&lt;br /&gt;
*Alternativ können die Aktivitätsbereiche mit Klammern angegeben werden.&lt;br /&gt;
&lt;br /&gt;
[[Image:222-34.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dekompositionen&#039;&#039;&#039;&lt;br /&gt;
*Wenn sich hinter einer Aktion ein komplexer Ablauf verbirgt, kann dies mit einem gabelähnlichen Symbol unten rechts angezeigt werden.&lt;br /&gt;
*Diese Aktion ist dann ein Aufruf zu einer eigenständigen Aktivität&lt;br /&gt;
*So können Dekompositionen auf unterschiedlichen Ebenen modelliert werden&lt;br /&gt;
&lt;br /&gt;
[[Image:222-35.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Strukturelemente&#039;&#039;&#039;&lt;br /&gt;
*Für den Einsatz in der Designphase stehen auch Strukturelemente von Selektionen und Iterationen zur Verfügung&lt;br /&gt;
&lt;br /&gt;
[[Image:222-36.gif]]&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:MartinOdell.png&amp;diff=140</id>
		<title>File:MartinOdell.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:MartinOdell.png&amp;diff=140"/>
		<updated>2019-08-01T13:06:42Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Include-extend.png&amp;diff=139</id>
		<title>File:Include-extend.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Include-extend.png&amp;diff=139"/>
		<updated>2019-08-01T13:06:40Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:UmgebungsVerhaltensmodell.gif&amp;diff=138</id>
		<title>File:UmgebungsVerhaltensmodell.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:UmgebungsVerhaltensmodell.gif&amp;diff=138"/>
		<updated>2019-08-01T13:05:36Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Uebergangsbaum.gif&amp;diff=137</id>
		<title>File:Uebergangsbaum.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Uebergangsbaum.gif&amp;diff=137"/>
		<updated>2019-08-01T13:05:34Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testzyklus.gif&amp;diff=136</id>
		<title>File:Testzyklus.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testzyklus.gif&amp;diff=136"/>
		<updated>2019-08-01T13:05:33Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testumgebung.gif&amp;diff=135</id>
		<title>File:Testumgebung.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testumgebung.gif&amp;diff=135"/>
		<updated>2019-08-01T13:05:31Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:TestTools.gif&amp;diff=134</id>
		<title>File:TestTools.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:TestTools.gif&amp;diff=134"/>
		<updated>2019-08-01T13:05:29Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Teststrategie.gif&amp;diff=133</id>
		<title>File:Teststrategie.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Teststrategie.gif&amp;diff=133"/>
		<updated>2019-08-01T13:05:28Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm-Notation.gif&amp;diff=132</id>
		<title>File:Zustandsdiagramm-Notation.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm-Notation.gif&amp;diff=132"/>
		<updated>2019-08-01T13:05:26Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm-Beispiel.gif&amp;diff=131</id>
		<title>File:Zustandsdiagramm-Beispiel.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm-Beispiel.gif&amp;diff=131"/>
		<updated>2019-08-01T13:05:24Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm.gif&amp;diff=130</id>
		<title>File:Zustandsdiagramm.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Zustandsdiagramm.gif&amp;diff=130"/>
		<updated>2019-08-01T13:05:22Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:V-Modell.gif&amp;diff=129</id>
		<title>File:V-Modell.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:V-Modell.gif&amp;diff=129"/>
		<updated>2019-08-01T13:05:20Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testeffizienz.gif&amp;diff=128</id>
		<title>File:Testeffizienz.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testeffizienz.gif&amp;diff=128"/>
		<updated>2019-08-01T13:04:42Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testdokumente.gif&amp;diff=127</id>
		<title>File:Testdokumente.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testdokumente.gif&amp;diff=127"/>
		<updated>2019-08-01T13:04:40Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testabdeckungsgrade.gif&amp;diff=126</id>
		<title>File:Testabdeckungsgrade.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testabdeckungsgrade.gif&amp;diff=126"/>
		<updated>2019-08-01T13:04:38Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Systemtest.gif&amp;diff=125</id>
		<title>File:Systemtest.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Systemtest.gif&amp;diff=125"/>
		<updated>2019-08-01T13:04:37Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Strukturdiagramm-Beispiel.gif&amp;diff=124</id>
		<title>File:Strukturdiagramm-Beispiel.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Strukturdiagramm-Beispiel.gif&amp;diff=124"/>
		<updated>2019-08-01T13:04:35Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Schichtenarchitektur.gif&amp;diff=123</id>
		<title>File:Schichtenarchitektur.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Schichtenarchitektur.gif&amp;diff=123"/>
		<updated>2019-08-01T13:04:33Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:TestSkills.gif&amp;diff=122</id>
		<title>File:TestSkills.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:TestSkills.gif&amp;diff=122"/>
		<updated>2019-08-01T13:04:31Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testmethoden.gif&amp;diff=121</id>
		<title>File:Testmethoden.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testmethoden.gif&amp;diff=121"/>
		<updated>2019-08-01T13:04:30Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Testfortschritt.gif&amp;diff=120</id>
		<title>File:Testfortschritt.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Testfortschritt.gif&amp;diff=120"/>
		<updated>2019-08-01T13:04:28Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:OrganigrammTestteam.gif&amp;diff=119</id>
		<title>File:OrganigrammTestteam.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:OrganigrammTestteam.gif&amp;diff=119"/>
		<updated>2019-08-01T13:04:06Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Notation-Strukturdiagramm.gif&amp;diff=118</id>
		<title>File:Notation-Strukturdiagramm.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Notation-Strukturdiagramm.gif&amp;diff=118"/>
		<updated>2019-08-01T13:04:05Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Modelltransformationskette.gif&amp;diff=117</id>
		<title>File:Modelltransformationskette.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Modelltransformationskette.gif&amp;diff=117"/>
		<updated>2019-08-01T13:04:03Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Live-Test.gif&amp;diff=116</id>
		<title>File:Live-Test.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Live-Test.gif&amp;diff=116"/>
		<updated>2019-08-01T13:04:01Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Rup.gif&amp;diff=115</id>
		<title>File:Rup.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Rup.gif&amp;diff=115"/>
		<updated>2019-08-01T13:04:00Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Reflexive-Assoziation.gif&amp;diff=114</id>
		<title>File:Reflexive-Assoziation.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Reflexive-Assoziation.gif&amp;diff=114"/>
		<updated>2019-08-01T13:03:58Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:QS-messen.gif&amp;diff=113</id>
		<title>File:QS-messen.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:QS-messen.gif&amp;diff=113"/>
		<updated>2019-08-01T13:03:56Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Problemstatus.gif&amp;diff=112</id>
		<title>File:Problemstatus.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Problemstatus.gif&amp;diff=112"/>
		<updated>2019-08-01T13:03:54Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Problembearbeitungszyklus.gif&amp;diff=111</id>
		<title>File:Problembearbeitungszyklus.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Problembearbeitungszyklus.gif&amp;diff=111"/>
		<updated>2019-08-01T13:03:53Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:IEEEStd-830-198.gif&amp;diff=110</id>
		<title>File:IEEEStd-830-198.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:IEEEStd-830-198.gif&amp;diff=110"/>
		<updated>2019-08-01T13:03:40Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:KontextdiragrammHotel.gif&amp;diff=109</id>
		<title>File:KontextdiragrammHotel.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:KontextdiragrammHotel.gif&amp;diff=109"/>
		<updated>2019-08-01T13:03:38Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Klassifizierungproblem.gif&amp;diff=108</id>
		<title>File:Klassifizierungproblem.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Klassifizierungproblem.gif&amp;diff=108"/>
		<updated>2019-08-01T13:03:36Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:IT-QS.gif&amp;diff=107</id>
		<title>File:IT-QS.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:IT-QS.gif&amp;diff=107"/>
		<updated>2019-08-01T13:03:35Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Entscheidungstabelle_erweitert.gif&amp;diff=106</id>
		<title>File:Entscheidungstabelle erweitert.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Entscheidungstabelle_erweitert.gif&amp;diff=106"/>
		<updated>2019-08-01T13:02:34Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Elemente_Testumgebung.gif&amp;diff=105</id>
		<title>File:Elemente Testumgebung.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Elemente_Testumgebung.gif&amp;diff=105"/>
		<updated>2019-08-01T13:02:33Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:HirarchiekonzeptSA.gif&amp;diff=104</id>
		<title>File:HirarchiekonzeptSA.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:HirarchiekonzeptSA.gif&amp;diff=104"/>
		<updated>2019-08-01T13:02:31Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Grenzwertanalyse.gif&amp;diff=103</id>
		<title>File:Grenzwertanalyse.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Grenzwertanalyse.gif&amp;diff=103"/>
		<updated>2019-08-01T13:02:29Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Funktionsbaum2.gif&amp;diff=102</id>
		<title>File:Funktionsbaum2.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Funktionsbaum2.gif&amp;diff=102"/>
		<updated>2019-08-01T13:02:28Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Funktionsbaum1.gif&amp;diff=101</id>
		<title>File:Funktionsbaum1.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Funktionsbaum1.gif&amp;diff=101"/>
		<updated>2019-08-01T13:02:26Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:Fehlertrend.gif&amp;diff=100</id>
		<title>File:Fehlertrend.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:Fehlertrend.gif&amp;diff=100"/>
		<updated>2019-08-01T13:02:24Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://wiki.haller.ch/index.php?title=File:ExtremeProgramming.gif&amp;diff=99</id>
		<title>File:ExtremeProgramming.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.haller.ch/index.php?title=File:ExtremeProgramming.gif&amp;diff=99"/>
		<updated>2019-08-01T13:02:23Z</updated>

		<summary type="html">&lt;p&gt;Christian: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
</feed>