Seminarunterlagen „Grundlagen der Informatik“ Teil II TU-Ilmenau, Institut TTI Fachgebiet Softwaresysteme / Prozessinformatik Studiengang: Medienwirtschaft Webseite der Veranstaltung http://www.tu-ilmenau.de/fakia/Grundlagen-der-Infor.1846.0.html Hier finden Sie: Aktuelle Informationen zur Lehrveranstaltung und den Prüfungen Alle Informationen (Vorlesung und Seminaraufgaben) nochmals als .PDF zusätzliche Lehrmaterialien, Links und Literaturtipps Aktueller Hinweis: Die Internetseiten der TU Ilmenau werden im nächsten Semester in die neue Webpräsenz übergeführt. Sollte der Link nicht mehr funktionieren, so finden Sie die Seiten der Lehrveranstaltung unter dem Fachgebiet Softwaresysteme/Prozessinformatik. (Shortlink: www.proinf.de) Ansprechpartner: Vorlesungen Prof. Dr.-Ing.habil Ilka Philippow Tel.: 69- 2870 [email protected] www.proinf.de Übungen Elke Bouillon Tel.: 69-1230 [email protected] Letzte Änderung: 22.03.2010 Inhaltsverzeichnis 4 Prozessorientierte Sicht der Softwareentwicklung ............................................................3 Einführung in die Softwaretechnik....................................................................................3 Anforderungsanalyse .......................................................................................................3 Systemanalyse.................................................................................................................5 5 Datenbanken ....................................................................................................................6 Grundbegriffe ...................................................................................................................6 Datenbank – Modellierung ...............................................................................................6 Zusatzaufgabe .................................................................................................................7 Datenbanksprache SQL ...................................................................................................7 6 Projektmanagement und Softwarequalitätssicherung .......................................................9 4 Prozessorientierte Sicht der Softwareentwicklung Einführung in die Softwaretechnik Aufgabe 1: a) Was verstehen Sie unter Software-Lebenszyklus? b) Erläutern Sie die Tätigkeiten bei der Software-Wartung! Aufgabe 2: a) Geben Sie die Reihenfolge von Aktivitäten im Software-Entwicklungsprozess an! b) Stellen Sie das Wasserfallmodell einem iterativen Vorgehen gegenüber! Nennen Sie jeweils Vor- und Nachteile! c) Wie zeigt sich beim Ablauf des Unified Process (Bild 9.4) dessen iterativer Charakter? Aufgabe 3: a) Wodurch kann die Stilllegung von Softwaresystemen vermieden werden? b) Erläutern Sie das Zusammenwirken von Reverse Engineering, Re-Structuring und Forward Engineering beim Reengineering! Anforderungsanalyse Aufgabe 4: Geben Sie wichtige Punkte des Inhalts eines Lastenhefts an! Aufgabe 5: a) Welche Informationen über ein Softwaresystem werden für eine Aufwandsschätzung nach der Function-Point-Verfahren benötigt (Bild 10.2, 10.3) ? b) Welche Informationen über ein Softwareprojekt werden beim Function-PointVerfahren mit den Einflussfaktoren ausgedrückt (Bild 10.4) ? c) Schätzen Sie den Entwicklungsaufwand für ein Softwaresystem anhand folgender Informationen unter Einsatz des Function-Point-Verfahrens! Verwenden Sie dazu Bild 10.2-10.5. Seminar: Grundlagen der Informatik Einfach Mittel Schwer Eingaben 3 7 0 Ausgaben 2 5 3 Abfragen 3 3 5 Anwenderdateien 7 4 1 Referenzdaten 10 0 3 Das System ist sehr stark mit anderen Systemen vernetzt, weist eine zentrale Datenhaltung auf, hat einen mittleren Schwierigkeitsgrad bezüglich Rechenoperationen, Kontrollverfahren und Logik. Aufgabe 6: Stellen Sie für die folgende Anforderungsbeschreibung eine Liste mindestens 8 möglicher Use-Cases auf und identifizieren Sie die daran beteiligten Akteure! Um den Überblick nicht zu verlieren, sind die Use-Cases sinnvoll zu Paketen zusammenzufassen. Stellen Sie die Ergebnisse in einem Use-Case-Diagramm dar! Als Beispiel wird ein Bibliothekssystem verwendet, das über einen Buchbestand und eine Menge registrierter Benutzer verfügt. Es weist Funktionen zum Suchen, Ausleihen und Zurückgeben von Büchern auf. Außerdem können verschiedene Informationen angezeigt werden: Buchbestand, registrierte Benutzer, ausgeliehene Bücher (für einen Benutzer). Um das Beispiel nicht zu komplex werden zu lassen, sind Vorbestellung, Fernleihe und Mahnung zunächst nicht vorgesehen. Wichtige Begriffe finden Sie im folgenden Glossar. Benutzer-ID ist eine ganze Zahl, die der eindeutigen Identifizierung eines Bibliotheksbenutzers dient. Das System vergibt die Benutzer-ID für neue Benutzer automatisch. Benutzertyp. Bei der Anmeldung eines Bibliotheksbenutzers wird diesem ein Benutzertyp zugeordnet. Es gibt die beiden Typen Mitarbeiter und Student. Der für einen Benutzer gewählte Typ wirkt sich auf die Leihfrist von Büchern aus: Mitarbeiter können Bücher maximal 8 Wochen ausleihen, Studenten nur 4 Wochen. Ein Bibliothekar ist ein Mitarbeiter der Bibliothek und damit Anwender des Bibliothekssystems. Nur er hat Zugriff auf die Daten der Bibliothek. Bibliotheksbenutzer nehmen das Angebot der Bibliothek wahr, indem sie Bücher ausleihen und (hoffentlich) wieder zurückgeben. Zuvor muß sich ein Benutzer jedoch in der Bibliothek anmelden. Dabei erhält er vom Bibliothekssystem eine automatisch generierte, eindeutige ID zugewiesen, die ihn fortan gegenüber dem System identifiziert. Desweiteren unterscheidet das System verschiedene Benutzertypen. Buch. Das Bibliothekssystem verwaltet einen Bestand an Büchern. Diese können Bibliotheksbenutzer ausleihen. Bücher werden im System über eine Signatur eindeutig identifiziert. Die Signatur ist vom Bibliothekar beim Erfassen 4 Seminar: Grundlagen der Informatik eines Buches einzugeben. Eine automatische Generierung der Signatur ist nicht möglich, da sich Signaturen aus dem Themengebiet des Buches ergeben. Nicht jedes Buch ist ausleihbar: Manche gehören zum Präsenzbestand der Bibliothek. Rückgabedatum ist das Datum, bis zu dem ein Bibliotheksbenutzer ein ausgeliehenes Buch spätestens zurückgeben muss. Eine Verlängerung der Ausleihe ist nicht möglich. Aufgabe 7: Erstellen Sie für die 2 Use-Cases „Buch ausleihen“ und „Buch zurückgeben“ je eine Spezifikation nach der Struktur auf Kapitel 10 Folie 65, (Abschnitt 10.2.3): - Use-Case-Name Use-Case-Ziel Akteure Vorbedingungen Nachbedingungen Ablauf im Normalfall Alternativer Ablauf im Ausnahmefall Achten Sie insbesondere auf die Unterscheidung zwischen Vorbedingungen und Prüfungen während der Durchführung. Nummerieren Sie die Schritte von Beschreibung der Aktionen im Normalfall und Ausnahmefall und verwenden Sie stark formalisierte Sätze ähnlich Pseudocode, um eindeutige Beschreibungen zu geben. Systemanalyse Aufgabe 8: a) Wie unterscheiden sich die vier Sichten der Unified Modeling Language UML? b) Wodurch unterscheiden sich Struktur- und Verhaltensdiagramme? Geben Sie je ein Diagramm der UML an! Aufgabe 9: Modellieren Sie Informationen für die Lohn- und Gehaltsabrechnung einer Hochschule (beschränkt auf wissenschaftliche und technische Mitarbeiter, Professoren und HiWis) in einem UML-Klassendiagramm. Für jeden Mitarbeiter sind Name, Vorname, Geburtsdatum, Anschrift, Personalnummer und Bankverbindung erfasst. Das Gehalt eines Professors wird individuell mit jedem Professor fest vereinbart. Wissenschaftliche Mitarbeiter werden nach Gehaltsgruppen und Alter bezahlt. Technische Mitarbeiter werden nach Lohngruppe, Alter und geleisteten Arbeitsstunden bezahlt. HiWis (Hilfswissenschaftler) sind Studenten, die an der Hochschule arbeiten. Sie werden entsprechend der geleisteten Arbeitsstunden bezahlt. Es gibt unterschiedliche Tarife für Studenten mit Vordiplom und mit Diplom. 5 Seminar: Grundlagen der Informatik Von Studenten sind Name, Vorname, Geburtsdatum, Anschrift und die Matrikelnummer erfasst. Die wissenschaftlichen und technischen Mitarbeiter sind genau einem Professor unterstellt. Die HiWis werden von einem wissenschaftlichen oder einem technischen Mitarbeiter angeleitet. HiWis, wissenschaftliche und technische Mitarbeiter können einem Projekt zugeordnet sein. a) Erklären Sie das Konzept der Vererbung an diesem Beispiel! b) Benennen Sie für dieses Beispiel abstrakte und konkrete Klassen c) Geben Sie Assoziationen, Rollenbeziehungen (mit Name, Richtung, Kardinalitäten) sowie Aggregationen, Kompositionen an! 5 Datenbanken Grundbegriffe Aufgabe 10: a) Was versteht man unter einem Datenbanksystem? Erklären Sie die Bestandteile und deren Aufgaben. b) Wie ordnet sich ein Datenbanksystem in das Umfeld von Betriebssystemen und Anwendungsprogrammen ein? c) Welche Aufgabe hat in diesem Zusammenhang die Datenbanksprache? d) Welche Vor- und Nachteile hat die Verwendung von Datenbanksystemen gegenüber der Speicherung von Informationen in „normalen Dateien“ ? Aufgabe 11: a)Welchem Zweck dienen Transaktionen ? Geben Sie Beispiele an! Erläutern Sie das ACID – Prinzip. b)Wie läuft eine Transaktion ab (Vorlesung Kap. 12, Folie 6)? Datenbank – Modellierung Aufgabe 12: a) Erläutern Sie die Drei-Schema-Architektur eines Datenbanksystems und die Bedeutung eines Datenmodells! Welche Arten von Datenmodellen sind Ihnen bekannt (siehe Bild 12.1, Vorlesung 12 Folien 18 ff.)? b) Erklären Sie die Beschreibungselemente für das Entity-Relationship-Modell (siehe Vorlesung 12.2, Folien 21 ff.) 6 Seminar: Grundlagen der Informatik c) Erstellen Sie ein Entity-Relationship-Modell für die Verwaltung von Mitarbeitern und Projekten. In einem Unternehmen gibt es mehrere Abteilungen mit einer Anzahl von Mitarbeitern. Jede Abteilung hat einen Abteilungsleiter. Die Projekte, die im Unternehmen durchgeführt werden, sind jeweils einer Abteilung zugeordnet. Eine Abteilung kann mehrere Projekte betreuen. An einem Projekt arbeiten in der Regel mehrere Mitarbeiter. Es ist üblich, dass ein Mitarbeiter zeitgleich an mehreren Projekten beteiligt ist. Pro Projekt gibt es einen verantwortlichen Mitarbeiter. d) Überführen Sie das Entity-Relationship-Modell in ein Relationen Schema (unter Verwendung der Regeln aus der Vorlesung 30ff., Bild 12.2) Zusatzaufgabe Aufgabe 13: Stellen Sie das Entity-Relationship-Modell und das relationale Modell dem Objektmodell gegenüber. Vergleichen Sie die Modelle bezüglich ihrer Zweckbestimmung und der Modellelemente. Datenbanksprache SQL Aufgabe 14: Geben Sie eine kurze Charakteristik der Datenbanksprache SQL an! Aufgabe 15: Die Verwaltung eines CD-Archivs wird mit Hilfe einer relationalen Datenbank durchgeführt. Die Modellierung der dazu notwendigen Informationen führte zu folgendem Entity-Relationship-Modell ... ... und folgenden Relationen: (1)Album (CDNr, Interpret, CDTitel, Veroeffentlichungsjahr, Label) (2)Titel (TitelNr, Name, Album) Stellen Sie an die Datenbank mit Hilfe von SQL folgende Anfragen: (1)Geben Sie alle Informationen zu CD‘s aus. (2)Welche Interpreten haben welche CD’s veröffentlicht? (sortiert nach ‚Interpret‘) (3)Welche Interpreten haben 1986 welche CD’s veröffentlicht? (sortiert nach 7 Seminar: Grundlagen der Informatik ‚Interpret‘) (4)Stellen Sie einen Überblick darüber zusammen, welcher Interpret welches Album mit welchen (Einzel-) Titeln veröffentlicht hat. (5)Welche Alben mit welchen Titeln hat ‚Madonna‘ veröffentlicht? (6)Welche Titel sind auf dem Album ‚True Blue‘ von ‚Madonna‘ enthalten? Aufgabe 16: Ein Händler benutzt ein Programm, das ein relationales Datenbanksystem verwendet und die Bestellungen seiner Kunden in folgender Art abbildet (Auszug) ... ... und dazu folgende Relationen benutzt: (1)Produkt (ArtikelNr, Bezeichnung, Preis, ProduktGruppe), (2)ProdukteInBestellung (ArtikelNr, BestellNr, BestellMenge), (3)Bestellung (BestellNr, KundenNr, Bestelldatum, Lieferdatum, Lieferadresse), (4)Kunde (KundenNr, Name) a) Formulieren Sie unter Verwendung von SQL folgende Anfragen: (1)Liefern Sie alle Informationen über alle Artikel im Sortiment. (2)Welche Artikel der Produktgruppe „Schreibwaren“ sind lieferbar (nur Bezeichnung und Preis)? (3)Welche Artikel der Produktgruppe „Schreibwaren“ sind lieferbar (nur Bezeichnung und Preis, sortiert nach Preis)? (4)Welche ArtikelNr hat ein „Bleistift“? (5)Wie oft ist der Artikel „Bleistift“ bisher bestellt worden? (6)Welche Produkte hat der Kunde „Super Markt“ bisher bestellt? b) Erhöhen Sie die alle Preise um 3 Prozent. Senken Sie die Preise für Bleistifte um 10 Cent. c) Welche Kunden haben bisher noch nichts bestellt? 8 Seminar: Grundlagen der Informatik 6 Projektmanagement und Softwarequalitätssicherung Aufgabe 17: a) Nennen Sie die Aktivitäten des Projektmanagements! b) Nennen die Ziele und Grundsätze der Risikoanalyse! c) Nennen Sie Arten von Risikofaktoren für Softwareprojekte! Aufgabe 18: a) Erläutern Sie die Black-Box-Testmethode, gehen Sie auf die Aufstellung von Testfällen mit Äquivalenzklassen ein! b) Wodurch unterscheiden sich die Black-Box- und die White-Box-Testmethode? Aufgabe 20: a) Wozu dient ein Reifegradmodell? b) Geben Sie Kriterien für den Übergang zwischen den Levels 1 bis 5 des Reifegradmodells CMM an! 9