KIS- Konzeption von Informationssystemen
Grundlagen
Grundlagen
-
- 1 / 55
-
Lernkarten
Der Entwurf: Ästhetik
Ein guter Entwurf ist oft auch elegant. Er hat klare Strukturen und löst die Aufgabenstellung durch die einfachstmögliche Weise. man kann dies auch subjektiv als Schön bezeichnen.
Die Entwurfstechniken
> Abgrenzung: Gliederung in einzelne Schritte
> Prozesse: Analyse, Modellierung, Varianten, Zukauf, Dokumentation, Prüfung
> Architektur: Funktionsorientierte Architektur, Objektoreintierte Architektur, Prozessoreintierte Architketur, Komponentenoreintierte Architektur, Wiederverwendung (Design Patterns, Frameworks)
Die Grundlagen der Schätzung
Die Kostenschätzung für Software ist ein komplexes und teilweise politisch zu betrachtendes Thema:
> Preisreduktion bis zum Minimum, danach Schrittweise Steigerung, bis zur Überschreitung
> Hauptkomponenten werden abgeschätzt (Fehlerbehandlung, Kommentare, etc bedeuten grossen Anteil des Aufwandes)
> Produktion ist nahezu kostenneutral, Hauptkostenanteil liegt in der Entwicklungsarbeit
> Kleine Projekte werden direkt auf grosse umgerechnet
Schätzung: Empirische Verfahren
> Expertenschätzung: Alle Verfahren, die von mehr oder weniger Erfahrenen Personen ohne expilzit systematisches Vorgehen druchgeführt werden
> Delphi-Methode: Die Schätzung einzelner Personen wird gemittelt, das Ergebnis den Schätzern in einer Rückkoppelungsschleife zurückgegenen. Bei einem zweiten Durchgang muss jeder Schätzer grössere Abweichungen vom Mittelwert erklären. Solange iteriert, bis ein guter Konsens erreicht ist.
Schätzung: Algorithmische Verfahren
> Algorithmische Verfahren: Man darf sich nicht davon täuschen lassen, dass algorithmische Verfahren Objektivität suggerieren. Auch hier muss von abgeschätzten Ausgangsbedingungen aus zu Zeit- und Kostenschätzungen geschlossen werden. Dies allerdings erfolgt nach Berechnungsmodellen die durch Studien abgeleitet wurden und ev. durch Erfahrungen der abschätzenden Firmen selbst zu kalibrieren sind.
> COCOMO von Boehm geht von der geschätzten Codegrösse un der Art des Projektes aus. Die Codegrösse wir in Kilo Lines of delivered Code angegeben und die Art des Projektes kann aus dem Anwendungsbereich, für Programsysteme und für eingebettete Systeme gewählt werden. Für jeden Typ von Projekt gibt es andere Berechnungsformeln. Die Gleichungen ermitteln jeweils Man Month und Time to develop. Daraus ergibt sich eine leicht progressive Kurve. > Weiterentwicklung COCOMO 2
Schätzung von Pflegeaufwand
Die Pflegekosten sind ein beträchtliche Anteil der Kosten des Gesamtprojektes. Sie können durchaus gleich teuer wie die Entwicklungsaufwände werden. Je nach Zielmarkt: extreme Schwankungen. Werden in KDSI pro Person angegeben (eine Person als Vollzeitbeschäftigung kann 5000 Zeilen Code pflegen.
> Kann heute nicht mehr so angewendet werden, da durch moeren SW Werkzeuge die Produktivität stark gestiegen ist.
Qualitätsmanagement
> Qualität: Das Mass, in dem ein Satz inhärenter Merkmale Anforderungen erfüll
> Qualitätsmanagement: Aufeinander abgestimmte Tätigkeiten zum Leiten und Lenken einer Organisation bezüglich Qualität
> Aus Kundensicht: Spezifikation erfüll; Erwartungen erfüllt; Ressourcen optimal ausgenutzt
> Aus Ingenieurssicht: Verständlichkeit; Wartbarkeit; Zuverlässigkeit; Portierbarkeit; Wiederverwendbarkeit; Modifizierbarkeit; Effizienz; Benutzerfreundlichkeit
> Die SW Besonderheiten: Entwicklung ist komplex und teuer, Produktion nahezu kostenneutral; kaum Tradition für SW Entwicklung; schwieriger zu prüfen als materialle Produkte
Qualitätsmanagement: Die Kosten
Qualität kostet Geld, also nur Qulitätssicherungsmassnahmen, wenn es sich unter dem Strich lohnt. Prüfkosten steigen linerar mit dem Prüfaufwand. Es lohnt sich beispielsweise in der Medizin: Fehlerkosten sind unverhältnismässig viel höher.
Qualitätsmanagement: Grundsätze
> Qualität wird erzeugt, nicht erprüft
> Qualität bezieht sich auf Produkte und die zur Herstellung verwendeten Prozesse. Dies ist nicht trennbar
> Die Qualitätsverantwortung muss bei denselben Perosnen liegen, die auch die Ziet- und Budgetverantwortung tragen.
> Das Qualitätswesen misst nur die Qualität. Es erzeugt sie nicht, sondern gibt Empfehlungen für Massnahmen zur Erzeugung von Qualität
> Das Qualitätswesen muss einen unabhängigen Berichtspfad zur Unternehmensleitung haben, um das Abblocken schlechter Nachrichten zu verhindern.
Qualitätsmanagement: Review
> Es gibt zwei Typen von Review, den Walkthrough und die Inspektion.
> Beim Walkthrough erklärt der Autor einen begrenzten Abschnitt eines Dokumentes oder Quellcode. Die Anwesenden Experten nennen die Befunde, die ihnen bei diesen Erklärungen auffallen. > Bericht mit eventuelllen Massnahmen.
> Inspektion: Durchführung (Planung, Vorbereitung, Sitzung, Überarbeitung und Kontrolle); Rollen (Moderator, Schreiber, Gutachter, Autorenschaft); Regeln
Qualitätsmanagement: Test und Simulation
> 2 Testarten: Black Box Test und White Box Test
> Beim Black Box Test ist der innere AUfbau einer Funktion uninteressant. Die Funktion wird geprüft, indem gezielt Parameterkombinationen beim AUfruf gewählt werden, bei denen vermutet werden kann, dass sie die kritischen Bereiche der Funktionalität überstreichen.
> Beim White Box Test werden Prameterkombinationen gewählt die dazu führen, dass ein möglichst grosser Anteil des Codes durchlaufen wird.
> Bei Simulationen wird ein Teilaspekt des Systems modelliert und nachgebildet. Mit dieser Nachbildung wird dann die SW getestet.
Konfigurationsmanagement
> Schwernachvollziehbare Änderungen am Dokument; Dokumentkonflikte
> Konfigurationsmanagement macht Änderungen an Dokumenten verfolgbar und kontrollierbar. Dies ersetzt grösstenteils lokale Datenhaltung von Dokumenten. Ist sozusagen ein Container, Dokument wird herausgeholt, bearbeitet und danach wieder in Container versorgt. Der Container vergibt Versionsnummern an einzelne Dokumente. Das neueste Dokument liegt immer zuoberst.
Die Modellierung
> abstrahierte Abbildung eines Systems, also Sichtbarmachen. Eingesetztes Werkzeug ist die UML.
Die UML
> 14 hauptdiagrammtypen, Aufteilung in 2 Gruppen: statische und dynamische
> Anwendungsfälle (use cases) gehören zwar zu den dynamischen Diagrammen weil sie Abläufe beschreiben, zeigen aber nicht das System im Wechsel der Zeit. Sie werden benutzt, um zu beschreiben, was aktive Elemente (Nutzer, ander Systeme) mit einem System tun können
> Klassendiagramme, ebenfalls statische Diagramme, die die einzelnen Komponenten eines Systems darstellen
> Aktivitätendiagramme, ein Diagrammtyp aus der Gruppe der dynamischen Diagramme, die ähnlich wie Flussdiagramme, Vorgänge darstellen
> Zustandsdiagramme, die ebebfall dynamischer Art, zeigen durch welche Ereignisse oder Bedinungen ein System von einem Zustant in den nächsten wechselt
> Sequenzdiagramm, die als dynamischer Diagrammtyp den Austausch von Informationssequenzen darstellt.
XML
> Eine Anwendung der extensible Markup Language
> Ein Vokabular, das aus Symbolen mit der ihnen zugewiesenen Bedeutung gebildet wird, ergänzt um Regeln zur Kombination der Vokabularelemente
> Anwendungen einer so neu geschaffenen Sprache werden als XML Dokumente bezeichnet
> XML ist kein Dokumentenformat, sondern eine Sprache zur Definition von Dokumentenformeten.
> XML ist: keine Programmiersprache; kein Transportprotokoll; keine Datenbank; einXML Dokument ist, es tut nichts, ist aus sich heraus passiv; XML wurde entworfen, um Daten zu strukturieren, zu speichern und zu transprotieren;