Home
Projekte im Informatik-Unterricht (Software-Engineering), E
Contents
1. menue_wahl lightgreen magenta dateiname option 121 CASE option of I menue_l_maske trab_datei 2 BEGIN renntag_waehlen renntag rennen_durchfuehren renntag END 3 BEGIN renntag_waehlen renntag wetten_abschliessen renntag renntag_feld wett_datei schein_anzahl END 4 BEGIN renntag_waehlen renntag wetten_auswerten wett_datei trab_datei END 5 BEGIN output_textdatei 1 1 80 25 men 0 inf trabfilm END 6 BEGIN writeln Hilfe noch nicht integriert c readkey END 7 END von CASE END BEGIN assign trab_datei trabl dat assign wett_datei scheine dat P datei_check_l trab_datei REPEAT P hauptmenue option UNTIL option 7 Clrscr END 122 3 6 Installierung des Systems Betrieb und Wartung Wir fassen hier zwei Phasen zusammen da hierzu in diesem Zusammenhang nur wenig zu sagen ist INSTALLIERUNG Bei der Installierung wird das Produkt in die Systemumgebung und die spezielle betriebli che Organisation des Auftraggebers eingebettet Der Auftraggeber f hrt einen Abnahmetest durch Au erdem erfolgt eine Benutzerschulung durch den Hersteller Dabei werden auch Benutzerhandbuch und Wartungshandbuch bergeben Da in diesem Fall das System am Herstellungsplatz benutzt werden sollte waren derartige Arbeiten nicht n tig BETRIEB UND WARTUNG Das fertige System wurde sp ter im Unterricht zur Informationstechnischen Grundbil dung ITG in Klasse
2. 1 In Kapitel 2 2 5 wird ein Programmablaufplan f r ein Trainingsprogramm zur Prozentrechnung angegeben a Erl utern Sie den Entwurf b Der Entwurf ist geeignet um eine wenig umfangreiche Projektarbeit durchzuf hren Wie k nnte man hierzu das Problem in Teilprobleme zerlegen die dann arbeitsteilig bear beitet und anschlie end zusammengef gt werden k nnten 2 Nennen Sie Vor und Nachteile der beiden Darstellungsformen Struktogramm und Programmablaufplan Vergleichen Sie 3 Nennen Sie Vor und Nachteile der beiden Darstellungen SADT HIPO Vergleichen Sie 4 Entwerfen Sie ein Struktogramm f r die Ermittlung des Rechnungsendbetrages f r einen Kunden Der Kunde habe 3 Artikel zum Preis von 45 DM 89 DM und 124 DM bestellt Er erh lt 5 Skonto keine weiteren Verg nstigungen bersetzen Sie das Struktogramm in einen Programmablaufplan 5 Eine Telefonrechnung soll erstellt werden Konstruieren Sie ein Aktivit tendiagramm 6 In Kapitel 2 2 5 finden Sie ein SADT Diagramm f r eine Weinhandlung Die folgenden beiden Diagramme beschreiben ein Teilproblem Erl utern Sie jede 145 Abbildung Vergleichen Sie die Darstellungen Gehen Sie dabei insbesondere auf die funktionale Sicht im Vergleich zur datenbezogenen Sicht ein Bestelldaten des Kunden Rechnungskopf schreiben Aktivit ten Diagramm die speziellen Kundendaten Verg nstigungen A Kredit und Versandspesen B Skonto Rechnungs
3. 2 Die folgende Zusammenstellung beschreibt in grober Form einen m glichen Ablauf eines Reengineering Projekts Erl utern Sie die genannten Phasen und erg nzen Sie ggf durch weitere Aspekte a Formulierung der neuen Anforderungen b Analyse des vorhandenen Systems program understanding c Gegebenenfalls Beseitigung berfl ssigen Codes und berfl ssiger Dokumentationsteile im System d Erneutes Forward Engineering zur Realisierung der neuen Anforderungen Entw rfe Programmierung Dokumentation e Implementierung des neuen Systems 3 In einem Aufsatz ber Reengineering findet sich die Frage Alt Software Problem oder Chance u ern Sie sich zu dieser Fragestellung Beachten Sie dabei u a die Gesichtspunkte Kosten Wiederverwendbarkeit Neuent wicklung Bausteintechnik 4 Betrachten Sie ein Ihnen zug ngliches Softwareprodukt und beurteilen Sie die Benutzerfreundlichkeit des Produkts was ist gut was ist schlecht Formulieren Sie entsprechende Wartungsauftr ge an ein Softwarehaus 5 Spielregeln als Struktogramm 154 Das folgende Struktogramm beschreibt die Spielregeln des Gobang Spiels Zu diesem Spiel liegt ein Softwareprodukt vor siehe Kapitel 4 und Buchanhang Die Spielregeln in Struktogrammform sollen nun auch vom Programm aus aufrufbar sein W hlen Sie eine geeignete Stelle an der Sie das Struktogramm aufrufen k nnen Zeichne als Spielfeld ein quadratisches Gitternetz Spieler 1 set
4. MEN 1 Testvorbereitungen grundlegende Listen Statistik f r den Testleiter Formulare f r Testpersonen ausgeben Erl uterungen zu den Men punkten V S F Neue Dateien w hlen oder Programmende Gnv un lt MEN 1 1 ERSONENDLS TEs syer aa ara ee ee ee ae ee E E A Erstellen B ndern C Ansehen go 1STE MIT RICHTIGEN L SUNGEN E ENA eek EE EROE E D Erstellen F ndern G Ansehen LISTE MIT L SUNGEN DER TESTPERSONEN H Erstellen K ndern L Ansehen W Definieren eines eigenen Notenschl ssels vor definiert sind ein Sekl und ein Sek2 Schl ssel Zur ck zum vorigen Men Men 1 PROGRAMMENDE EN 137 E Die Zahlenlotto Simulation LOTTO Mit dieser Simulation k nnen Sie Lottotips erzeugen eine Ziehung durchf hren und die Tips auswerten lassen Das System kann direkt beim Buchautor bestellt werden HAUPTMENDUE Tippen von Hand oder Computer 1 2 Ziehung u Vergleich mit Tip 3 8tatis 4 5 B Anleitung Hilfen Abbruch Quit tree rer Bitte mit dem Cursor ausw hlen 138 F M nzspiel MUENZEN Nach Einzahlung je eines Chips dreier Spieler werden zwei M nzen geworfen Abh ngig vom Ausfall des Wurfes kann der Gewinner die drei Chips f r sich entnehmen Geeignet als k rzeres neues Projekt oder zur Wartung Das System kann dire
5. OOOOOO Ist die Zerlegung des Gesamtsystems in Einzelbausteine Modulhierarchie dokumentiert auch graphisch Sind die Import und Exportschnittstellen beschrieben Sind die Module spezifiziert Wurden die Testdaten notiert Wird die Benutzeroberfl che dargestellt Sind die Arbeitsauftr ge an die einzelnen Teams eindeutig beschrieben Ist ein Zeitplan f r die Bearbeitung der Module erstellt Sind dabei informelle Gespr che zwischen den Teams bedacht Phase IV Modulprogrammierung Modultest Teilprogramme Testprotokolle CHECKLISTE C IV Beachten die Bearbeiter die Methoden des strukturierten Programmierens O DOOGOOOO Werden die zur Verf gung stehenden Hilfsprogramme f r die Oberfl chengestaltung eingesetzt Werden die vorliegenden Programmbausteine benutzt Halten sich die Teams an die Schnittstellenvereinbarung Erfolgt eine angemessene Integration der Dokumentation in den Quelltext Achten die Bearbeiter auf bersichtliche Gestaltung des Programmtextes Werden aussagekr tige Bezeichner benutzt Leisten die Module die verabredeten Funktionen Wird der Zeitplan eingehalten Kontrolle beim Modultest O O O Werden die vorher festgelegten Testdaten verwendet Werden Testprotokolle angelegt Sind alle Unterlagen f r das Wartungshandbuch gesammelt Erlauben diese Daten eine sp tere leichte Wartung der Programmteile Phase V Systemintegration Systemtest Vollst ndiges Programm Testproto
6. Sch ler und Lehrer sind i a nicht gewohnt mehrere Wochen an einem Problem kreis miteinander zu arbeiten und viele Einzelergebnisse in ein gro es bergeordnetes System zu integrieren Die Arbeit im Team ber eine so lange Zeit hinweg erfordert viel gegenseitige R ck sichtnahme und Einordnung Die Vielseitigkeit der Aufgabenstellungen innerhalb eines Projekts bedeutet da man aus dem bisherigen Informatik Unterricht einen gewissen berblick ber L sungsmethoden gewonnen haben mu und in der Lage ist diese zun chst mit Anlei tung dann aber doch weitgehend selbst ndig ausw hlen und anwenden zu k nnen In der Wahl des Themas liegt ein gewisses Risiko da anfangs oft nicht alle m glichen auftretenden Probleme erkennbar sind So kann selbst das Scheitern eines Projekts nicht ausgeschlossen werden F r den Lehrer bedeutet Projektunterricht eine andere Art der Unterrichtsvorbereitung Sie kann ja nicht darin bestehen das Projekt vorab f r sich selbst durchzuf hren Vielmehr verschiebt sich das Schwergewicht der Vorbereitung auf organisatorische Fragen Im Unterricht selbst wird vom Lehrer wegen der parallel und arbeitsteilig t tigen Sch lergruppen ein besonderes Ma an bersicht und Flexibilit t gefordert In Kapitel 1 2 wurde auf die Bedeutung des Software Engineering in der Datenverarbei tungspraxis hingewiesen Im Informatik Unterricht kann Software Engineering wie es in der Praxis vorkommt nachempfunden werden
7. freundlichkeit 71 Fehlerprotokoll 21 handbuch 81 Fehlersuche 78 oberfl che 61 Film 115 schulung 159 Forward Engineering 124 130 Bezeichnung von Dateien 159 F hrungstechnik 26 Bildschirmmasken 61 64 102 105 Funktionale Sicht 58 Pferdenamen 106 Funktionelle Analyse 19 Pferderennbahn 105 107 Funktionelle Spezifikation 19 89 98 Skipiste 62 Wettschein 65 GOBANG Spiel 131 Graphische Darstellungsmittel 49 Bottom Up 35 Bottom Up Test 78 Handb cher 79 Brainstorming s Ideensammlung Hilfsprogramme BILD_DEF CASE Umgebung 84 159 MENUE 63 Checklisten 86 Hilfsprozeduren 112 Cross Referenzen 159 HIPO Diagramm 59 HIPO Methode 59 Data Dictionary 160 Dateien zu TRABRENNBAHN 117 Ideensammlung Brainstorming 97 99 Daten Information 95 analyse 125 Informationsaustausch 160 austausch 39 Implementierungsteil 45 bezogene Sicht 58 Importschnittstelle 44 Input_string 67 Installierung 21 92 122 Integratonsstufen 20 Istanalyse 96 Karteiverwaltung 133 Kommunikation 22 26 27 Kommunikationsbedarf 22 Komplexe Software 7 29 Komplexes System 30 31 Konfigurationsmanagement 160 Konstruieren eines Modells 33 Konstruktion umfangreicher Software 12 Kontextsensitive Hilfe 160 Life Cycle siehe Software Life Cycle Lotto als komplexes System 30 LOTTO Simulation 134 Maskengenerator 62 MAUS WIESEL R uber Beute System 132 Meilensteine 161 MENUE Hilfsprogramm 63 Messen und Bewerten von Prozessen 161
8. READLN END BEGIN ok false passwort_ein ok END c u ern Sie sich zu dem in der Prozedur PASSWORT_EIN verwendeten Parameter f r den Fall da die Prozedur im Trabrennbahnsystem benutzt wird d In das vorhandene System soll eine berpr fung eingebaut werden die sicherstellt da nicht ein Pferd an einem Tag in mehr als einem Rennen startet d1 Formulieren Sie die L sungsidee einen groben Algorithmus in Worten d2 Realisieren Sie ihre Idee in PASCAL Benutzen Sie dabei folgende Deklarationen Const anzahl_der_rennen 3 Const anzahl_der_pferde 5 var pferde array 1 anzahl_der_rennen I anzahl_der_pferde of integer 5 Das oben vorgelegte Datenmodul enth lt nur die Datenstrukturen und die zur Verf gung gestellten globalen Variablen Die darauf definierten Operationen fehlen hier Sie stehen in den einzelnen Modulen Organisieren Sie das Programm so um da die Operationen auf den Daten von T_DS_U auch in diesem Modul stehen Hinweis Beachten Sie zu dieser Aufgabe die Ausf hrungen ber den Aufbau von abstrakten Datentypen ADT in Kapitel 2 2 4 153 6 Welche Schnittstellen gibt es zwischen den Modulen des Programmsystems Modul 1 gt Modul 2 Hilfsmodul Modul 3 Modul 4 Aufgaben zu Kapitel 4 Softwarewartung Reengineering 1 Warum Wartung Warum mu Software gewartet werden Denken Sie dabei auch an andere Ihnen bekannte Softwareprodukte Stellen Sie stichwortartig Gr nde zusammen
9. Wir versuchen also uns an der betrieblichen Praxis der Softwareentwicklung zu orientieren bertragen aber die Ans tze auf die Schulpraxis sofern sie daf r geeignet sind Die passende Arbeitsform daf r ist in der Schule die Projektarbeit die Sch lern und Lehrern gen gend M glichkeiten gibt die Vorgehensweise in der Praxis nach zuahmen Oben wurde bereits geschildert was man sich in der Schule von Projektarbeit im Infor matik Unterricht verspricht In der Figur 1 3 a sind wichtige Aspekte genannt die in den Projektunterricht eingebracht werden sollten selbstverst ndlich themenabh ngig in un terschiedlicher Intensit t Fachliche Aspekte Kennenlernen grundlegender Methoden Software Life Cycle Prototyping einsehen Projektmanagement Benutzeroberfl chen Informa Modularisierung Unterst tzung durch Tools Aspekte aus dem gesellschaftlichen Bereich Beachtung von Datenschutzaspekten Auswirkungen des DV A Einsatzes erkennen Aspekte aus dem technischen Bereich Hardware Entscheidungen treffen 15 P dagogische Aspekte Ber cksichtigung allgemeiner Ziele von Projektarbeit Notwendigkeit von Arbeitsteilung Teamarbeit Gewinnung und Auswertung von tionen lernen Kritikf higkeit eigener und fremder Arbeit gegen ber entwickeln Auseinandersetzung mit dem Anwendungsbereich Kennenlernen der besonderen Kennzeichen des Bereichs soziale Probleme Algorithmischer Bereic
10. 137 3 Bei Vorliegen eines Auftrags zur Softwareentwicklung wird man sich mit dem zugrun deliegenden Anwendungsbereich auseinandersetzen m ssen Nennen Sie Informationen die zu sammeln w ren wenn man ein Programmsystem a zur Verwaltung einer Patientendatei eines Arztes b f r den Ausleihverkehr einer B cherei c f r ein Vokabel Lernprogramm erstellen soll Aufgaben zu Kapitel 2 1 1 Software Life Cycle 1 Welche Vorteile bringt die Zerlegung eines komplexen Systems in Teilsysteme Aufgaben zu Kapitel 2 1 2 Prototyping 1 Welche Probleme bei der Softwareherstellung haben zur Idee des Prototyping ge f hrt 2 Warum ist der Software Life Cycle in der in Abbildung von Kapitel 2 1 1 dargestell ten Form unrealistisch 3 Erl utern Sie die Abbildungen 2 1 2 a b zum Prototyping 4 Auch in der Industrie kennt man den Begriff des Prototyps Nennen Sie Beispiele Wa rum ist der Begriff nicht eindeutig bertragbar auf die Softwareherstellung Aufgaben zu Kapitel 2 1 3 Projektmanagement Teamarbeit 1 Nennen Sie Aspekte in denen sich Teamarbeit von der Einzelarbeit aber auch von der Zusammenarbeit z B nur zweier Personen unterscheidet 2 Erl utern Sie Jedes Team einer Projektgruppe ist Empf nger und Zulieferer von In formationen 3 Welche Eigenschaften sollte Ihrer Meinung nach ein Sch ler haben der Sie und andere Mitsch ler in der Funktion eines Projektmanagers leitet 4 Entwerfen Sie f r kleine P
11. 900 DM 600 DM 375 DM 1 Chiantis Boy 2 Otsche 3 Ilo Lojbjerg 4 Gral 5 Galadys 6 Fasching 7 Vario 8 Vajan Weiter mit RETURN Das Trabrennbahnbild Bildschirmanzeige wurde folgenderma en entworfen TRABRENNBAHN Hier laufen die Pferde in Form der Startnummern SS PRPWD H Der l uft von Start bis Ziel x Anzeigetafel 13 03 89 Rennen 4 Start und Preis des Fachverbandes Ziel Sportangeln 7500 DM 1 Platz 2 2 Platz 6 3 Platz 7 Einlauf Das Bild zeigt den Endstand eines Rennens Auf eine bessere Grafik haben die Sch ler hier verzichtet Ihr Interesse galt seinerzeit insbesondere dem Wetten 108 MODUL 3 WETTEN ABSCHLIE EN Diese Arbeitsgruppe hat zun chst das Men entworfen durch deren Funktionen die Wett scheine verwaltet werden k nnen WETTEN ANNEH EN F MEn s mas Te BEN 1 WETTSCHEINE VON HAND AUSF LLEN EE 2 WETTSCHEINE ZUF LLIG AUSF LLEN LASSEN erst in die Maske BEE 3 WETTSCHEINE ZUF LLIG AUSF LLEN LASSEN sofort in Datei BEE 4 WETTSCHEINE L SCHEN BEE L WETTSCHEIN LISTEN e INFORMATIONEN Bun ZUR CK ZUM HAUPTMEN Achtung Die mit markierten Men punkte sind nur f r System Auswahl mit N lt Operateure erlaubt Der Bildschirm Wettschein wurde dem tats chlichen Wettschein der Trabrennbahn nach empfunden WETTSCHEIN MEn s 2 re Datum 13 03 89 Rennen 12345678910 RENNEN
12. Anwei Anwei sung 1 sung 2 sungn Fallunterscheidung CASE OF solange Bedingung tue Anweisung Schleife WHILE DO Beispiel f r die Verwendung von Struktogrammen Das 8 Damenproblem Acht n Damen sind auf einem 8x8 nxn Schachbrett so zu po sitionieren da sie sich nicht gegenseitig bedrohen Eine Bedrohung tritt gem den Re geln des Schachspiels dann ein wenn andere Damen in der gleichen Spalte oder Zeile oder in den gleichen schr gen Linien stehen wie die betrachtete Dame 51 Eine Dame mit den von ihr bedrohten Feldern Abb 2 2 5 b 8 Damenproblem Dame 1 in Spalte 1 auf Zeile 0 setzen 1 Diese Dame in derselben Spalte um je eine Zeile vorr cken bis unbedroht oder vom Brett 2 Diese Dame noch auf dem Brett eae 3 ee Ist diese Dame die letzte Zur ck zur 6 vorherigen Dame das kann zur ck Eine L sung ist N chste Dame nehmen und gehen bis zur Dame gefunden in die n chste Spalte auf in Spalte 1 Ausgabe der Zeile 0 setzen L sung Die letzte Dame betrachten 9 10 Wiederhole bis Damel nicht mehr auf dem Brett Abb 2 2 5 c Struktogramm zum 8 Damen Problem die Zahlen dienen einer eventuellen verbalen Beschreibung des Algorithmus Die im Struktogramm von Abb 2 2 5 b angebotene L sung beruht auf dem Backtrak king Verfahren bei dem die Damen nacheinander von links nach rechts in die einzelnen Spalten gesetzt und bei Bedrohung durch andere Damen um eine Zeile weiter nac
13. Bedeutungen verwendet Module als Bausteine von Software Systemen HAUPTMEN mm 1 Komponist Autor bekannt gt weitere Daten suchen wm 2 Stichwort bekannt gt weitere Daten suchen mm gt Dokument Titel bekannt gt weitere Daten suchen mm 4 Dokument Nummer bekannt gt weitere Daten suchen mm gt Ausgabe einer Stichwortliste sortiert mm 5 Ausgabe einer Komponistenliste Autorenliste sortiert mm Anzahl der Datens tze in der Datei angeben mm 8 Ausgabe aller Datens tze mm Ausgabe eines bestimmten Datensatzes m Eingabe von Datens tzen Dokumenten mm A nderungen der Datei mm P Datei packen aktualisieren Leers tze l schen mu F Info Men Dateiname Drucken Programmende J Auswahl einer Option mit den Cursortasten AUF AB danach lt Das Men stammt aus einem Softwareprodukt MUSIK mit dem man Daten ber Schallplatten CDs Musikkassetten usw speichern und bearbeiten kann wie z B Kom ponist Musikst ck Man erkennt an den einzelnen Men punkten da das System offen bar aus mehreren Teilen mit unterschiedlichen Funktionen besteht Diese Teile kann man auch als Bausteine Module bezeichnen 42 Aufgabe Inwiefern sind die genannten Bausteine zur Realisierung des Systems in einer Programmiersprache geeignet MODUL Funktionsmodul Ein Software System besteht aus Bausteinen die in ihrem Zusammenwirke
14. Die in der Entwurfsphase entwickelten Module werden in der ausgew hlten Program miersprache codiert und getestet Dabei kommt es sehr auf die Beachtung der in den Vorphasen getroffenen Vereinbarungen an M glicherweise sind die Modulspezifikatio nen zu aktualisieren Die Programmierung wird wesentlich vereinfacht und wird in k rzerer Zeit m glich wenn man folgende Kriterien besonders beachtet a Anwendung der Methode der strukturierten Programmierung b Verwendung von Tool Das sind z B Hilfsprogramme zur Men und Maskenerstellung c Verwendung fertig vorliegender Programmbausteine c Klare Schnittstellenfestlegungen durch Parametriesierung d Verwendung aussagekr ftiger Bezeichner f r Prozeduren Datentypen und Variablen e bersichtliche Gestaltung des Programmtextes f Kommentartexte an geeigneten Stellen Phase V Systemintegration Systemtest Protokoll der Integrationsstufen Die oben programmierten und f r sich ausgetesteten Module m ssen nun zu einem Ge samtsystem zusammengef gt werden das alle Anforderungen der 21 Anforderungsdefinition erf llt Diese Phase erweist sich h ufig als schwierig insbesondere dann wenn vorherige Absprachen ber die Schnittstellen zwischen den Modulen nicht ausreichend erfolgt sind oder nicht eingehalten wurden F r die Systemintegration ist eine schrittweise Erweiterung des Systems bei der ein Men punkt nach dem anderen realisiert wird empfehlenswert Dab
15. Software Altlast Begriff 156 Software Engineering 136 Software Engineering Aspekte 155 Software Life Cycle 137 Software Life Cycle und Reengineering 156 Softwareentwicklung und Wartung Tabelle 137 Softwarehaus Aufgaben 154 Softwareherstellung Probleme 137 Softwarekauf Gesichtspunkte 145 Softwarekauf Lieferumfang 146 Softwareprodukt verkaufen 155 Struktogramm Programmablaufplan 143 Struktogramm Anwendung Rechnung 143 Stuktogramm Spielregeln GOBANG 151 Team in einer Projektgruppe 137 Teamarbeit 136 Teamarbeit Einzelarbeit 137 Testen Anwesenheit von Fehlern 146 Testumgebung Begriff 148 Trainingsprogramm zur Prozentrechnung 143 Vorgehensweise in verschiedenen Berufen 136 Warnungen bei Softwareherstellung 147 Wartung von Software Tabelle auswerten 138 Wartung warum 150 Werbeprospekt entwerfen 154 Werbeprospekte f r TRABRENNBAHN 152 Werkzeug Verwendung Vor und Nachteile 145 Zerlegung eines komplexen Systems 137 Zerlegung in Module Vorteile 143 Zerlegung in Prozeduren Regeln 141 170 Projekte im Informatik Unterricht Software Engineering e ist entstanden aus den Erfahrungen bei vielen im Unterricht durchgef hrten Projekten e wendet sich an alle Personen die umfangreichere Softwareprodukte erstellen wollen und insbesondere an Sch ler und Lehrer von Informatikkursen sowie Studenten und Dozenten e eignet sich als Sch lerbuch im Unterricht und zum Selbststudium e zeigt den Ablauf eines Projektes
16. nnen k rzer dargestellt werden 160 12 In einem Beitrag zur gymnasialen Schulbildung der Zukunft hei t es u a In Tutzing sprechen die Kultusminister inzwischen ber vergleichbare Leistungsstan dards im Abitur und ber die Schl sselqualifikationen die ein Abiturient f r seinen weiteren Lebensweg haben sollte Bei den Schl sselqualifikationen sind sich die Kultus minister weitgehend einig Arbeiten im Team Aushalten von Frust Bereitschaft zum le benslangen Lernen Verantwortungsbewu tsein Durchhalteverm gen geistige Neugier Kritik und Urteilsf higkeit Erziehung zur Kreativit t das sind Eigenschaften ohne die man im Berufsleben kaum Erfolg haben kann Diese Schl sselqualifikatioen sollen nach dem bew hrtem Muster der beruflichen Bildung k nftig auch intensiv an den Gymnasien vermittelt werden Uwe Schlicht Zur ck zum Klassenverband Aus DER TAGESSPIEGEL vom 28 12 94 Erl utern Sie inwiefern die Durchf hrung eines Softwareprojektes oder die Wartung ei nes Softwaresystems viele der genannten Forderungen erf llen kann 13 In Kapitel 2 1 1 wird ein Software Life Cycle abgebildet in Kapitel 4 finden Sie eine entsprechende Abbildung zum Software Reengineering Vergleichen Sie die beiden Abbildungen und gehen Sie auf die Unterschiede ein 14 Erl utern Sie den Begriff der Software Altlast 15 Der Fachbereich Sport einer Schule besitzt ein umfangreiches Inventar an Sportger ten und Fachliteratur Beides so
17. satznummer INTEGER stand 0 2 0 vorher 1 l uft 2 nachher end file_of_rennen FILE OF rennen file_of_wettschein FILE OF wettschein feld ARRAY 1 anz OF rennen VAR optionen menge_der_menuepunkte menuepunkt CHAR renndatei file_of_rennen VAR renntag string tag_ok BOOLEAN renntag_feld feld_of_renntag trab_datei file_of_rennen wett_datei file_of_wettschein IMPLEMENTATION BEGIN END Hinweis Die vielen globalen Variablen lie en sich sicher teilweise vermeiden Hierin w rde beispielsweise eine Aufgabe der Wartung des Systems bestehen Modul HI Hilfsprozeduren UNIT T_HI_U INTERFACE USES Ino_u Crt Bild_u t_ds_u PROCEDURE menue_freie_maske dateiname STRING zu_x zu_y INTEGER optionen menge_der_menuepunkte var menuepunkt char dateiname ist der der freien Maske zu_x zu_y ist die Cursorposition an der die Eingabe erfolgt optionen ist die Menge der ausw hlbaren Men punkte menuepunkt ist der ausgew hlte Men punkt der weitergereicht wird 113 PROCEDURE menue_freie_maske_ohne_echo dateiname STRING zu_x zu_y INTEGER optionen menge_der_menuepunkte var menuepunkt char PROCEDURE datei_check_I VAR datei file_of_rennen PROCEDURE datei_check_2 VAR datei file_of_wettschein PROCEDURE renntag_datum VAR renntag string PROCEDURE vorhandene_daten_nennen VAR datei file_of_rennen PROCEDURE renntag_in_feld VAR renntag Strings
18. 1 Informationen zum R uber Beute Modell 2 2 Programmbenutzung Simulation von MAUS WIESEL 2 3 Software Wartung Dokumentation und Programmanalyse 2 4 Software Wartung Programmier bungen unter Verwendung von Elementen aus dem Programm MAUS WIESEL INHALT DER DISKETTE MAUS WIESEL f r DOS Rechner Allgemeine Informationen Dateien readme lehrer 1 Programme und Dateien zum GOBANG System u a Unterrichtsreihe Programme und Dateien zum R uber Beute System MAUS WIESEL L sungen von bungsaufgaben 170 e Baustein Bibliotheken Units die in den Programmen verwendet wurden e Informationen ber weitere Literatur und Software des Autors lehsoft 169 Sachverzeichnis Abnahmeprotokoll 21 diagramm 58 Abnahmetest 21 92 modul 104 111 Abstrakte Datentypen 42 objekte 35 Acht Damen Problem 50 55 Reengineering 125 nderungsprotokoll 130 satz 104 Aktivit ten in einem Projekt 157 struktur 103 Aktivit tsdiagramm 58 typen 42 43 Anforderungsdefinition 19 88 95 Design 61 160 Anl sse f r Wartung 126 Dialog Flexibilit t 71 Architektur eines Softwaresystems 157 Dokumentation 79 83 Aufwandssch tzung bei Softwareprojekten 157 Dokumentationshilfsmittel 84 Baumdiagramm 54 Entwicklungsdokumentation 83 93 Baustein Bibliotheken 66 Entwurf 19 90 103 Ino_u 68 Entwurfsspezifikation 19 90 103 Bearbeitungsauftrag 157 Ergonomie s Software Ergonomie Bearbeitungszustand 157 Exportschnittstelle 44 Benutzer
19. 8 Qualit tsanforderungen an Software aus Benutzer und Programmierersicht Vor berlegungen Sie m chten ein Softwareprodukt f r einen bestimmten Zweck kaufen Katalogisieren Ihrer Schallplatten Zeichnen r umlicher Bilder F hrung Ihrer Finanzen Terminplanung oder hnliches Was erwarten Sie von dem Programm welche Eigenschaften soll es haben Vermutlich werden Sie an Eigenschaften denken wie leichte Bedienbarkeit Erzielung korrekter Ergebnisse usw und preiswert soll die Software auch noch sein Software wird benutzt bzw angewendet Anwendersicht sie wird gewartet Operator und Programmierersicht und die Arbeitsergebnisse werden ausgewertet Auswerter sicht Qualit tsanforderungen sind auch eine Frage der Software Ergonomie die sich mit der Anpassung von Arbeitsmitteln und Arbeitsumgebungen an die Leistungsf higkeit des arbeitenden Menchen besch ftigt Abbildung 2 2 8 a informiert ber einige Zusammen h nge Benutzerfreundlichkeit bezieht sich in erster Linie auf die Schnittstelle zwischen Pro grammsystem und Benutzer Maschine Mensch also auf die Benutzeroberfl che Diese umfa t u a o Benutzersteuerung o Men vorgaben o Kommandoeingaben o Maskeninhalte o Maskendesign o Hilfeangebote o Einheitlichkeit der Benutzerf hrung Die Einfachheit eines Programmsystems u ert sich vornehmlich in der leicht verst ndlichen und einfach anwendbaren Dialogsprache in den gut strukturierten und bersichtlich angeb
20. 9 eingesetzt F r die Benutzung standen verschiedene Dokumentati onsteile zur Verf gung insbesondere wurden die integrierten Hilfen benutzt Dabei wurden einige Systemschw chen deutlich so da jetzt geplant ist das System Trabrenn bahn in einem neuen Informatik Projekt aufzugreifen 1994 95 und es zu warten Beispielsweise k nnten die im folgenden genannten Wartungsarbeiten vorge nommen wer den EINIGE WARTUNGSARBEITEN e Verbesserung der Men f hrung etwa durch Mausklick e Benutzung einer grafischen Oberfl che bei der Darstellung eines Rennens e Verbesserung der Datumseingabe e Auswahl eines vorhandenen Rennens durch Mausklick Auf die Wartung von Software Reengineering werden wir in Kapitel 4 zur ckkommen 123 4 Softwarewartung Reengineering 4 1 Grundlagen Unter der Wartung eines Softwareprodukts versteht man u a e die Beseitigung von Fehlern die m glicherweise bei der Benutzung des Produkts aufgetreten sind e nderungen am Programm die aufgrund neuer Anforderungen an den Anwen dungsbereich notwendig geworden sind Diese Gr nde sind es auch die bei vielen professionellen Produkten auftreten und zu immer neuen Versionen eines Programms f hren Sie kennen dieses Ph nomen wahr scheinlich f r die verschiedenen Versionen von Turbo PASCAL 3 4 5 6 7 M glicher weise haben Sie auch schon bei eigenen Programmen gemerkt da sie bald nicht mehr mit der vorliegenden Fassung zufrieden sind Softwa
21. Bausteinen D mmler Verlag Bonn 1993 Diskette LEH TOOLS Die Schwerpunkte dieses Buches liegen bei den beiden Aspekten e Entwerfen von Oberfl chen Men s und Masken unabh ngig vom Programm e Konstruieren mit Hilfe von Bausteinen INHALTSVERZEICHNIS DES BUCHES Gestaltung von Bedienoberfl chen mit Hilfsprogrammen 1 Warum sind Bedienoberfl chen so wichtig 2 Ein Programm zur schnellen Erzeugung von Men s 3 Ein Programm zur schnellen Erzeugung einer Blockgrafik auf dem Bildschirm 1 1 1 1 2 Modulbibliothek eine Sammlung von Bausteinen 2 1 Vom Nutzen kleiner Tools 2 2 Arten von Prozeduren 2 3 Hilfen f r Eingaben und Ausgaben 2 3 1 Dokumentation der Unit INO_U 2 3 2 Dokumentation der Unit MAUS_U die Maus tritt in Aktion 2 4 Hilfen f r die Benutzeroberfl che 2 4 1 Men balken Rahmen zeichnen Unit BALK_U 2 4 2 Programmierbeispiele mit der Unit BALK_U 2 4 3 Blockgrafik Unit BILD_U 2 4 4 Programmierbeispiel 3 bungen f r das Programmieren mit kleinen Tools 3 1 Beispiele f r die Arbeit mit Bausteinen 3 2 Anwendung von Bausteinen bei Automaten Simulationen 3 3 bungsaufgaben 3 4 Ausblick auf Projektarbeit INHALT DER DISKETTE LEH TOOLS f r DOS Rechner e Programme zur Oberfl chengestaltung Quellcode und compiliert Hilfsdateien e Units Toolsammlung mit zahlreichen Prozeduren als Programmierhilfen Quellcode und compiliert in Turbo Pascal 6 e bungsaufgaben zur Arbeit mit Tools Aufgabe
22. Effizienz und Effek tivit t industrieller Produktionsverfahren von H Kargl aus Siemens Nixdorf Informationssysteme DIALOG Juni 2 93 verspricht man sich auch bei der Lean Production eine kosteng nstige Produktion bei hoher Qualit t kurze Lieferzeiten sowie ein flexibles und schnelles Reagieren auf Kun denw nsche Und der Fehler Verweisquelle konnte nicht gefunden werden enth lt auf den ersten Blick Elemente die schon aus anderen Fertigungsstrukturen bekannt sind o strenge Ausrichtung auf den Materialflu o Bildung autonomer objektorientierter Fertigungseinheiten 0 o weitgehende Gruppenarbeit in der Teile und Baugruppenfertigung o Gruppenarbeit an Montageb ndern 157 o strenges Qualit tsmanagement Was ist bei der Lean Production anders Die wesentlichen Unterschiede zu bekannten Konzeptionen liegen in der Organisation der Gruppenarbeit am Band und in der Strenge des Qualit tsmanagements Bereits in den 70er Jahren machte der Automobilhersteller Volvo erste Versuch mit Gruppenarbeit in Form Fehler Verweisquelle konnte nicht gefunden werden die die monotone Flie bandarbeit abl sen und so ber eine Humanisierung der industriellen Arbeit die Mitarbeiter wieder motivieren sollte Jeder dieser Arbeitsgruppen obliegt in eigener Verantwortung die Aufteilung Durchf hrung und Qualit tssicherung ihrer Arbeit Das Denken in Oualit tskategorien beginnt schon bei der Produktentwicklung Der
23. IMPLEMENTATION Dieses Modul ben tigt noch die Hilfsdateien MEN 1 1 MAS MEN U1 2 MAS MEN U2 1 MAS MEN 3 1 MAS MEN 3 2 MAS TRAB B1 MAS TRAB B2 MAS TRAB B3 MAS TRAB B4 MAS TRAB B5 MAS TRAB BO2 MAS und TRAB HM BAL Das vorl ufige Hauptprogramm T_HPO0 PAS PROGRAM trabrennen USES Crt Bild_u VAR weiter CHAR PROCEDURE hauptmenue VAR fall CHAR BEGIN Clrscr dateiname trab hmO mas gespeicherte Hauptmen maske Textbild_aus dateiname REPEAT 117 GOTOXY 64 22 fall READKEY UNTIL fall IN T 27 3 4 T ist alt 35 Clrscr CASE fall OF I BEGIN WRITELN Modul Renntage organisieren Test ok READLN END 2 BEGIN WRITELN Modul Rennen starten Test ok READLN END 3 BEGIN WRITELN Modul Wetten annehmen Test ok READLN END 4 BEGIN WRITELN Modul Gewinne auszahlen Test ok READLN END i T BEGIN WRITELN Modul Informationen Test ok READLN END BEGIN WRITELN Modul Ende Test ok READLN EXIT END END von CASE END Prozedur Hauptmenue beendet BEGIN weiter WHILE weiter IN j J DO BEGIN hauptmenue CLRSCR write Weiter j n readIn weiter END END Zum Abschlu der Programmierphase lagen zahlreiche Dateien unterschiedlicher Funktion vor 118 Quellprogramme pas Compilierte Programme exe Men hilfen inf Dokumentationsteile txt Daten Wettscheine Rennen dat Ei
24. Programm das diesen Bildschirm aufruft c Im folgenden werden zwei m gliche Werbetexte angegeben entworfen von einem Sch ler in einer Klausur Beurteilen Sie die beiden Bearbeitungen Hinweis Der Rahmen entspricht in etwa dem Bildschirm Bearbeitung 1 TRABRENNEN aktualisierte Version KIEFER K KK K K K K KK K K K K K K KK K K KK K K KK K K K K Vorteile und Funktionen bersichtliche Programmierung Dokumentation f r Benutzer und Programmierer erneuerter Grafikteil leicht verst ndliche Aufteilung und Handhabung der Natur nachempfunden Rennen Wettscheine Gewinne hervoragendes Preis Leistungs Verh ltnis F R WEITERE INFORMATIONEN STEHEN WIR JEDERZEIT ZUR VERF GUNG Ihr R ckert Softwareteam Bearbeitung 2 NEU TRABRENNEN BERARBEITETE VERSION Funktionsumfang Organisation und Durchf hrung von Pferderennen und Features Verwaltung und Auswertung von Wettscheinen HANDRECHNUNG WIRD BERFL SSIG Hohe Effizienz durch Computereinsatz Automatische Auszahlung der Gewinne 99 9 Sicherheit durch bew hrtes Passwortsystem Bestechend durch Hohe bersichtlichkeit und Ergonomie Selbsterkl rende Men f hrung nur wenige Verschachtelungen Umfassende Handb cher f r Anwender und Entwickler Service Leistungen kostenloser Lehrgang inklusive Telefonisches Sorgentelefon Update Service Wunschgerechte Erweiterungen am Programmsystem m glich 10er Programmlizenz Optional erh ltl
25. Wetten_abschlie en renntag STRINGS Eingabeparameter z B 13 08 94 renntag_feld feld_of_renntag Eingabeparameter Renndaten ein Renntag VAR datei file_of_wettschein Ausgabeparameter Datei mit Wettscheinen VAR schein_anzahl Anzahl der eingegebenen Scheine scheine_datei_aus keine Parameter Sonstiges UNIT t_m3_u Dieses Modul M3 erm glicht die Wettschein Eingabe ber eine Wettschein Maske und das Abspeichern des Wettscheins INTERFACE USES t_ds_u Datenmodul von Trabrennen t_hi_u mehrfach verwendete Hilfsprozeduren von Trabrennen Ino_u Absicherung Zahleneingabe Stringeingabe usw Balk_u Men balken Unit Bild_u Maskenverwendung Crt Turbo Pascal Unit PROCEDURE wetten_abschliessen renntag stringS renntag_feld feld_of_renntag VAR datei file_of_wettschein VAR schein_anzahl INTEGER PROCEDURE scheine_datei_aus IMPLEMENTATION Dieses Modul ben tigt noch die Hilfsdateien MEN 3 2 MAS MEN 3 1 MAS und MEN 3 1 BAL 116 Modul 4 Wettscheine auswerten UNIT t_m4_u Unit f r Modul 4 Wetten auswerten und Gewinne auszahlen INTERFACE USES Crt Ino_u Bild_u Balk_u t_ds_u t_hi_u PROCEDURE wetten_auswerten VAR wetten file_of_wettschein VAR renntage file_of_rennen IMPLEMENTATION Dieses Modul ben tigt noch die Hilfsdatei MEN 4 1 MAS Modul 0 Film zum Projekt Trabrennbahn UNIT t_mO_u INTERFACE USES Crt Bild_u Balk_u PROCEDURE trabfilm
26. anderen schon fr her entworfenen Softwareprodukt Warum soll man sich nicht dieser Kenntnisse bedienen Wie das geschehen kann zeigt Abbildung 2 2 7 a Das Hauptproblem dabei ist die wiederverwendbaren Komponenten zu erkennen verst ndlich zu dokumentieren und so abzulegen da man sie wiederfindet Ein vorhandenes Softwaresystem Informationen herausziehen ber wiederverwendbare Komponenten Bausteine Module Prozeduren Datenstrukturen L sungsans tze Algorithmen usw Wiederverwendung von Systematisches Ablegen Informationen in einem der Informationen neuen System Abb 2 2 7 a Wiederverwendung Allerdings gibt es auch gewisse Standardaufgaben von denen man wei da sie h ufig wiederkehren z B e Eingabe einer Zeichenkette 67 e Eingabe einer ganzen Zahl e Ausgabe eines Hilfetextes usw F r derartige F lle sollten Bausteine zur Verf gung stehen die dann immer wieder ver wendet werden k nnen und deren innerer Aufbau f r den Verwender uninteressant ist Er mu lediglich die Funktionen dieser Bausteine kennen Benutzen f r Problem 1 Arbeitsweise bekannt h ufig ben tigter Baustein Benutzen f r Problem 2 Interner Aufbau unbekannt Benutzen f r Problem Abb 2 2 7 b Bausteine benutzen Die Verwendung vorgefertiger Bausteine tr gt wesentlich zu einer rationellen Softwa reerstellung bei sie spart viel Zeit Deshalb wird dringend empf
27. der vorhandenen Renntage ist un bersichtlich e Die Datumseingabe erfolgt unn tigerweise doppelt 132 e Bei Eingabe einer falschen Rennen Nummer gelangt man sofort wieder ins Haupt men e Die Fehlermeldung ist blinkend und daher schlecht zu lesen e Bei ausf hrlicher Auswertung der Wettscheine ist kein Abbruch m glich e Die Informationen erh lt man nur mit T nicht mit 1 e Vonallen Gruppen wurden die h ufigen Pa wortabfragen f r die Nutzungsberechti gung verschiedener Men punkte besonders bem ngelt Forward Engineering Arbeitsauftrag 3 Notieren Sie die von Ihnen gew nschten nderungen und sch tzen Sie den Aufwand und die Priorit t der nderung ab Benutzen Sie hierzu die vorgegebene Schablone nderungsvorschlag Bearbeiter Datum nderung in Modul Prozedur Art der nderung Grund Aufwand sehr gering gering mittel hoch sehr hoch Priorit t sehr gering gering mittel hoch sehr hoch Hinweis Vor dem Beginn Entwurfs und Programmierphase f r die nderungen wurde das eigentliche Reengineering Projekt unterbrochen um Qualit tsanforderungen an Software zu erarbeiten siehe Kapitel 2 2 8 Arbeitsauftrag 4 F hren Sie folgende Programm nderungen durch 1 Ersetzen Sie die h ufigen Pa wortabfragen f r die Nutzungsberechtigung verschie dener Men punkte durch eine generelle Abfrage beim Programmstart 2 Beim L schen von Wettscheinen soll der jeweilige Schein vorher angezeigt w
28. e Hilfen f r die Bedienung des Programmsystems e Aktuelle Hilfen zur Programmfortsetzung e Hilfen bei Fehlermeldungen e Hilfen zur Auswertung von Ergebnissen e Informationen ber aufrufbare Men punkte e Beschreibung der Leistungen von Programmteilen e Sonstige Informationen Besonders vorteilhaft ist es wenn man eine kontextsensitive Hilfe zur Verf gung stellen kann Eine derartige Hilfe unterst tzt den Benutzer bei dem gerade auftretenden Problem Sie ist also nicht umfassend sondern bezieht sich auf die jeweilige vorliegende Situation den jeweiligen Zusammenhang auf den Kontext Zur Realisierung solcher Anforderungen sind Prozeduren wie die im folgenden beschriebene Prozedur au erordentlich n tzlich PROCEDURE Output_textdatei x1 y1 x2 y2 INTEGER Dateiname string40 SuchWort string40 Die Prozedur zeigt eine Textdatei ASCII Format in einem Fenster auf dem Bildschirm mit Bl tterm glichkeit an 70 Besonderheiten e Die Datei wird auch gefunden wenn sie nicht im aktuellen Verzeichnis steht sondern in dem in dem die EXE Datei des Programms steht e Die Anzeige kann in einem Fenster mit den Spalten und Zeilen Positionen x1 y1 x2 y2 erfolgen Allerdings mu der Text in diesem Spalten Zeilenbereich auch vorher eingegeben worden sein e Der urspr ngliche Bildinhalt wird nach R ckkehr aus der Prozedur wiederhergestellt e Mit SuchWort kann ein Stichwort vorgegeben werden auf das der Textausschnitt
29. entscheidende Unterschied von Lean Production zu anderen Formen der industriel len Sereinfertigung liegt jedoch im Teamkonzept das nicht nur das gesamte Unternehmen durchzieht sondern das auch auf Kunden und Zulieferer ausgedehnt wird Ausl ser f r die teamorientierte Arbeitsgestaltung war der bekannte Sachverhalt da weitgehende Arbeitsteilung wegen der damit verbundenen langen Informationswege vielstufigen Ent scheidungsprozesse und dem dazu erforderlichen hohen Kooridinationsaufwand ineffizi ent ist Statt tayloristischer Funktionsspezialisierung dominiert deshalb heute die Objektorientierung als Gestaltungsprinzip der Organisation Objekte in diesem Sinne k nnen Entwicklungsvorhaben zu fertigende Baugruppen aber auch Leistungsprozesses wie etwa zwischen Unternehmen und Kunden oder Zulieferern sein Objektorientierte Arbeitsgestaltung verl uft zwangsl ufig quer zur funktionalen Gliede rung eines Unternehmens Deshalb m ssen die Tr ger dieser Organisationsform Ar beitsgruppen oder Teams sein Die Produktentwicklung wird als Gemeinschaftsaufgabe in einem interdisziplin r zusammengesetzten Team durchgef hrt in dem vor Ort vorhan denes Fachwissen aus Konstruktion Design Marketing Werkzeugbau Fertigung Be schaffung Kostenrechnung und Wartung unmittelbar eingebracht wird Der Entwicklungsproze verl uft dadurch nicht mehr sequentiell sondern vorwiegend parallel So verl uft beispielsweise parallel zur Produktentwic
30. in der Implementierung siehe Diskette Unit CHAR_ADT TPU PAS a Das folgende Programm zeigt eine Anwendung des abstrakten Datentyps CHAR_ADT Erl utern Sie das Programm PROGRAM adl_test USES Crt Ino_u Char_adt VAR dateiname string12 stringl2 wurde in Char_adt definiert c CHAR BEGIN dateiname versuch tes eingabe_textdatei dateiname true diese Prozedur ist eine Operation aus dem ADT der Unit Char_adt WRITELN Mit der folgenden Prozedur aus der Unit Ino_u erfolgt WRITELN die Ausgabe der eben eingegebenen Textes c Readkey die Prozedur stammt aus der Unit Crt output_textdatei 1 1 80 25 dateiname diese Prozedur ist eine Operation aus der Unit Ino_u END b Die folgende Prozedur geh rt zum Implementierungsteil des abstrakten Datentyps CHAR_ADT und steht normalerweise dem Benutzer der Unit nicht zur Verf gung Erl u tern Sie den Algorithmus 144 PROCEDURE Eingabe_zeichen x y INTEGER input_aufforderung STRING VAR antwort CHAR erlaubte_zeichen zeichen_menge BEGIN Gotoxy x y WRITE input_aufforderung x x LENGTH input_aufforderung TEXTBACKGROUND magenta TEXTCOLOR white WRITE antwort REPEAT Gotoxy x y antwort Readkey WRITE antwort UNTIL antwort IN erlaubte_zeichen TEXTBACKGROUND black TEXTCOLOR lightgray END 4 Welche Vorteile bringt die Zerlegung eines komplexen Systems in Moduln Aufgaben zu Kapitel 2 2 5 Grafische Darstellungsmittel
31. nkten jedoch repr sentativen Teilbereichen testen bevor das Gesamtprodukt fertiggestellt ist Den Proze des Rapid Prototyping kann man sich etwa wie in Abbildung 2 1 2 b dargestellt vorstellen Prototyping in der Schule F r die Software Entwicklung im Informatik Unterricht an der Schule wird die Relevanz der berlegungen in Bezug auf die Beteiligung eines sp teren Anwenders sehr von der Themenstellung abh ngig sein Handelt es sich beispielsweise um den Auftrag eines Biologie Lehrers der ein Softwareprodukt zum Studium von Popula tionsentwicklungen ben tigt so wird eine st ndige R ckkopplung mit ihm n tig sein Programmieren wir jedoch ein Spiel so k nnen wir die Rolle des Anwenders selbst bernehmen und wohl auch von Anfang an eindeutige Anforderungen festlegen Eine Rolle spielt dabei auch da die in der Schule entwickelbaren Systeme oft nicht die Komplexit t und den Umfang haben wie in der Praxis Der Auftraggeber formuliert eine Anforderungsdefinition N Der Hersteller erstellt einen Der Benutzer testet Prototyp u ert ggf nderungsw nsche nderungsw nsche nein Der Hersteller ver ndert den Das Softwareprodukt ist fertig Abb 2 1 2 b Prototyping Wir k nnen also davon ausgehen da man in der Schule im wesentlichen weiterhin mit einem Software Life Cycle auskommen wird wie er in Kapitel 2 1 1 dargestellt ist Wir k nnen den SCL aber berlagern mit der ein oder anderen Idee des P
32. oder sind noch grunds tzliche Vorbereitungen n tig O Soll es um ein neues Projekt gehen soll ein vorhandenes Produkt gewartet werden soll ein ein angefangenes Projekt fortgef hrt werden O Wie ist die maschinelle und r umliche Ausstattung f r ein Projekt O Wieviel Zeit steht zur Verf gung Phase I Problemanalyse Anforderungsdefinition CHECKLISTE C I Erfassen des Istzustands O Die bislang bestehende Organisationsform erfa t O Vorhandene Arbeitsabl ufe festgestellt O Ablauf der Prozesse analysiert OO OOOO 90 Datenfl sse im Arbeitsablauf aufgefunden Wer erzeugt wer benutzt die Daten Datenstruktur erkannt Verwendete Formulare erfa t Welche Qualit tsmerkmale sind vorhanden Welches sind die Schnittstellen in der Organisation und in den einzelnen Arbeitsabl ufen 91 Erfassen der Bed rfnisse O Was soll sich ndern Formulierung der Anforderungsdefinition Schriftst ck Einsatzzweck dargestellt Gew nschter Leistungsumfang formuliert Erwartete Arbeitsweise des Systems dargelegt ber die vorgesehenen Benutzer informiert Qualit tsanforderungen formuliert Forderungen an den Datenschutz mitgeteilt Anspr che an die Datensicherheit notiert Zeitvorstellungen mitgeteilt DOOGOOOOO Q bergeben der Anforderungsdefinition an den Softwarehersteller Phase II Funktionelle Spezifikation Pflichtenheft Der Auftraggeber hat die Anforderungsdefinition bergeben Gest tzt a
33. rennen_nummer BYTE kommentar ARRAY 1 3 OF STRING 40 anzahl_pferde BYTE pferde_namen ARRAY 1 8 OF STRING 12 einlauf ARRAY 1 8 OF BYTE zustand vorher laeuft beendet END Beispiel f r einen Datensatz vom Typ rennen 21 11 88 Preis der Sparkasse Hamsterboy Preisgeld 25000 DM Williams Favorit Hamsterboy Adonie Karoline vorher Halali Goldjunge 0 0 0 0 Goldfisch 0 0 0 Silberfee 0 TYPE wettschein RECORD tag STRING 8 rennen_nummer BYTE satz_nummer INTEGER hierdurch wird der schnelle Zugriff auf den zum Wettschein geh renden Satz von file of rennen erm glicht wettart sieg platz kew gew platzl platz2 platz3 BYTE einsatz REAL schein_nummer INTEGER gewinn REAL ausgezahlt BOOLEAN END Beispiel f r einen Datensatz vom Typ wettschein Der Wetter tr gt in seinen Wettschein u a Tag sofort pr fen und die Nummer des Rennens ein Falls beide Eingaben vern nftig sind wird der zugeh rige Satz in file of rennen gesucht und die satz_nummer des Wettschein erh lt ihren Wert Damit ist bei der Auswertung ein sofortiger Zugriff auf file of rennen m glich 105 Entw rfe der Module Men s Arbeitsauftrag Die f r die einzelnen Module verantwortlichen Arbeitsgruppen entwerfen eine berblicksdarstellung Hierarchie f r ihr Modul zerlegen es also weiter in Teile Au erdem sind die Schnittstellen zu konstruieren Men s Eing
34. unterschieden zwischen einfachen und bereits strukturierten Datentypen gem der Abbildung 2 2 2 a DATENTYPEN Abb 2 2 2 a Datentypen strukturierte Die genannten und weitere Datentypen k nnen nun entsprechend der jeweiligen Pro blemstellung zu neuen wieder strukturierten h heren Datentypen zusammengesetzt werden Eine Menge von Daten die durch logische Beziehungen zueinander eine Einheit bilden bezeichnet man als eine Datenstruktur Das folgende Beispiel zeigt die Datenstruktur eines Theaterplatzbuchungssystems Das System arbeitet mit drei Dateitypen unterschiedlicher Struktur 37 TYPE grundrissfile TYPE theatersaele TYPE theaterfile FILE OF theater FILE OF grundriss FILE OF theatersatz TYPE theater RECORD bestuhlung grundriss TYPE grundriss ARRAY 1 10 1 20 OF CHAR TYPE theatersatz RECORD theatersaal nummer datum stueckname autorname theatername preis grundriss INTEGER string6 string20 string12 string1l4 string Abb 2 2 2 b Datenstruktur eines Theater Platzbuchungssystems Beginn Datenmodul UNIT T_DMODUL INTERFACE USES crt ino_u balk_u CONST satzanzahl 18 TYPE grundriss ARRAY 1 10 1 20 OF CHAR string STRING 5 string6 STRING 6 stringl4 STRING 14 stringl2 STRING 12 string2O STRING 20 TYPE theatersatz RECORD nummer INTEGER datum string6 beginn string5 stueckname string20 autorname stringl2 TYPE
35. von Bedeutung wobei hier auch die Schnittstellen zwischen verschiedenen Programmteilen gemeint sind siehe Kapitel 2 2 6 Software II Mensch Maschine Schnittstellen Mensch Mensch Software Hardware Mensch Maschine Hardware Hardware Software Software Software Gesamtheit der f r den Betrieb einer EDV Anlage n tigen Programme und der Anwen derprogramme Software Ergonomie Ergonomie ist ein Aufgabengebiet das sich mit der Anpassung von Arbeitsmitteln und Arbeitsumgebungen an die Eigenschaften des arbeitenden Menschen befa t siehe auch 165 Kapitel 2 2 8 Qualit tsanforderungen an Software Der Computer ist inzwischen zu einem weit verbreiteten Arbeitsmittel geworden so da die Anforderugen an eine menschengerechte Gestaltung der Arbeitspl tze am Computer gestiegen sind Dabei geht es insbesondere darum Kriterien und Methoden zur Gestaltung dialogorientierter Programmsysteme zu entwickeln Zu den Kriterien zur Beurteilung von Softwaresystemen unter ergonomischen Gesichtspunkten geh rt u a auch die Sozialvertr glichkeit wie das Vermeiden sozialer Isolierung am Bildschirm oder die Erh hung der Qualifikation des Benutzers Software Sanierung Unter diesem Begriff fa t man alle Ma nahmen zusammen mit denen eine in ihrer Funk tionalit t unver nderte ggf geringf gig erweitere Software erzeugt wird Sanierungspro zesse haben das Ziel einer Verbesserung der Qualit t und Produktivit t von Alt Software Spezifik
36. 1 5 Wiederholung der Schritte 1 3 und 1 4 bis eine ausreichende Verfeinerung erreicht ist 1 6 berpr fung durch den Anwender ggf Nachbesserung durch den Konstrukteur 2 Aufstellen des Datenmodells 2 1 Hierarchische Gliederung der Daten mit bis zu 6 Datenteile je Verfeinerung 2 2 Definition der Schnittstellen Eingangs und Ausgangsaktivit ten Steuerungspfeile und Pfeile f r die Mechanismen 2 3 Wiederholung der Schritte 2 1 und 2 2 bis eine ausreichende Verfeinerung erreicht ist 2 4 berpr fung durch den Anwender ggf Nachbesserung durch den Konstrukteur 3 Vergleich von Datenmodell und Aktivit tenmodell auf Stimmigkeit 4 Notieren zus tzlicher Informationen SADT Diagramme haben also die im folgenden allgemein formulierte Form 58 Informationen zur Steuerung Ausgaben zus tzliche Mechanismen Abb 2 2 5 h Steuerungsdaten Ereignisse Aktivit ten Diagramm Eingabe 2 Ausgabe Funktionale von Daten Pezeichnung der Aktyviai von Daten Sicht auf verarbeite ein System Input Mechanismus Hinweise auf den Ausf hrungsmechanismus der Aktivit t Mensch Prozessor Abb 2 2 5 Steuerung durch Aktivit ten Datendiagram Eingabe Ausgabe von von D Aktivit ten Daten Aktivit ten atenbezogene Sicht auf Objekt ein System Input Mechanismus Hinweise auf die Struktur und Speicherung der Daten Kartei Speicher Abb 2 2 5 j 59 HIPO Methode Die HYPO Methode Hierarchie plus Input P
37. Auftraggeber und Entwickler ist dringend notwendig um die gew nschte Qualit t des herzustellenden Softwareprodukts zu sichern siehe Kap 2 1 2 Prototyping Insbesondere achte man auf eine benutzer freundliche Systemoberfl che Zust ndig f r die Organisation des Kontakts nach au en ist der Projektleiter Gespr che zwischen dem Auftraggeber oder dem sp teren Benutzer und den Mitarbeitern des Teams sind erforderlich damit das System nicht am 28 Benutzer vorbei entwickelt wird In der Schule k nnen z B Softwareprojekte initiiert werden die n tzlich f r den Unterricht in anderen F chern oder f r Verwaltungsaufgaben sind Hierzu einige Beispiele Biologie R uber Beute Simulation Mathematik Demonstration der Polynomdivision Erdkunde Datenbank f r geographische Grundbegriffe Verwaltung Buch Leihverkehr Die sp teren Benutzer Lehrer Sch ler stehen in h ufigem Kontakt mit den Entwicklern auch Sch ler und u ern ihre W nsche insbesondere zur Programmoberfl che Die obigen Ausf hrungen zeigen die Notwendigkeit und Bedeutung einer guten Projektleitung Sie weisen gleichzeitig die Komplexit t der Vorg nge im Team nach und formulieren den hohen Anspruch der auf dem Projektleiter dem Lehrer lastet Projektmanagement in einem Unternehmen Unter Projektmanagement versteht man Organisationsformen und T tigkeiten zur Planung Steuerung fachlichen berwachung und wirtschaftlichen Kontrolle eines Pro jekts Projek
38. DI D2 C1 D3 D4 Al DI p2 DI m c3 D3 D4 A2 l DI 2 C4 D3 D4 _ D1 D2 C1 D3 D4 z DI p2 o A D3 D4 DI D2 C3 D3 D4 D1 D2 C4 D3 D4 z DI m c D3 D4 DI D2 DI 4 B4 5 I C3 D3 Da 3 DI m 2 c4 D3 p4 1 x J DI D2 C1 D3 D4 DI D2 Bl A4 DAMEI DAME 2 DAME 3 DAME 4 56 SADT Methode structured analysis and design technique Die SADT Methode dient zur Analyse und graphischen Darstellung beim Entwurf neuer Systeme oder bei der Untersuchung bestehender Systeme Sie dient nicht zur Darstellung von Algorithmen da man mit ihr z B keine Verzweigungen darstellen kann Hierf r benutzt man z B Struktogramme s o Innerhalb des Entwicklungsprozesses von Software ist die SADT Methode insbe sondere bei der Problemanalyse und in der Entwurfsphase n tzlich Man unter scheidet zwei graphische Grundelemente die den gleichen formalen Aufbau haben a f r Aktivit ten funktionale Sicht eines Systems und b f r Daten und Datenstrukturen daten objekt bezogene Sicht eines Systems Die Eingabedaten werden durch Aktivit ten in Ausgabedaten transformiert Entspre chend bewirken Eingabeaktivit ten die Umwandlung von Daten und f hren zu Ausgabeaktivit ten Die Vorg nge werden durch Steuerungsdaten und Steuerungsaktivit ten sowie durch Ausf hrungsmechanismen erm glicht In einem Diagramm k nnen mehrere K stchen Rechtecke von links oben nach rechts unten dargestellt werden Dabei sollten in einem Diagramm nicht mehr als sechs
39. Dabei werden die Eigenschaften ohne Bezugnahme auf den internen Aufbau des Datentyps beschrieben spezifiziert e Konkreter Datentyp Die konkrete Realisierung in einer Programmiersprache steht im Blickpunkt Wie ist der Datentyp aus einfacheren Datentypen zusammengesetzt Sicht des Konstrukteurs des Datentyps Der Begriff Datentyp wird h ufig auch an Stelle des Begriffs Datenstuktur verwen det In engerem Sinn versteht man aber unter einer Datenstruktur die Konstruktion von Wertebereichen aus elementaren Wertebereich die Datenstruktur RECORD z B aus INTEGER und BOOLEAN 43 KOPFZEILE Schl sselwort 1 in PASCAL UNIT Name des Datentyps Spezifikationsteil nach au en sichtbar PARAMETERTEIL ODER IMPORTSCHNITTSTELLE ffentlich Liste von Parametern und vorausgesetzten Datentypen EXPORTSCHNITTSTELLE Liste von Bezeichnern f r die Wertebereiche Liste von Bezeichnern f r die Operationen einschlie lich der Bezeichner f r die Wertebereiche auf denen sie definiert sind Axiome Liste von Eigenschaften oder Gesetzen denen die Operationen gehorchen IMPLEMENTIERUNGSTEIL Schl sselwort 2 in PASCAL BEGIN Liste von weiteren ben tigten Datentypen Formulierung der oben genannten Wertebereiche und Operationen in einer Programmiersprache ggf weitere Operationen Abschlie endes Schl sselwort in PASCAL END Nach au en nicht sichtbar privat Abb 2 2 4 a Formaler Aufbau von abstrakt
40. Eae W Prozentwert G Grundwert P 100 Prozentsatz nformation lt F r Programmende E eingeben Eingabe Eines der vier Zeichen wird eingegeben je nach dem gesuchten Wert W G P E Programmfortsetzung in Abh ngigkeit vom eingegebenen Zeichen zur ck zur 1 Eingabe nein nein nein f nein Der Computer berechnet den jeweils gesuchen Wert Berechnung Berechnung Berechnung W G P 100 P 100 W G G 100 W P Der Benutzer berechnet die Werte auf Papier oder im Kopf und gibt sie ein Vergleich der Benutzerwerte u den Computerwerten Ja Ja Ja Falsch Richtig Falsch Richtig Falsch Richtig D Zur ck zur Zeicheneingabe neuer Programmlauf Programmende Abb 2 2 5 e Programmablaufplan f r die Konstruktion eines Trainingsprogramms zur Prozentrechnung Gelegentlich sind auch die sogenannten Flu diagramme Programmablaufpl ne zur Beschreibung von Algorithmen geeignet insbesondere bei maschinennaher 54 Programmierung und bei wenig umfangreichen Algorithmen gerade auch aus der Mathematik Allerdings f hrt die Programmiersprachen bersetzung solcher Ablaufpl ne leicht zu un bersichtlichen schlecht strukturierten Programmen und dabei auch zur unkontrollierten Verwendung von Spr ngen Die wichtigsten Bilder f r Programmablaufpl ne sind oben genannt Das Beispiel zeigt wie man die einzelnen Bilder durch Ablauflinien zusammenf hrt Baumdiagramme Immer wenn es um die Untersuchung und Darstellung versc
41. Form eines Pflichtenheftes verbindlich mitzuteilen Beachten Sie aber die Ausf hrungen in Kapitel 2 1 2 ber die Methode des Prototy ping Bei einem derartigen Vorgehen werden Auftraggeber und Hersteller eng zu sammenarbeiten so da die Anforderungsdefinition letztlich entfallen kann Wichtig bleibt das Pflichtenheft auf dessen Aussagen sich der Auftraggeber sp ter auch rechtlich berufen kann Aufgabenstellung 2 Nach den Ausf hrungen in Kapitel 3 1 geht es nun um eine Festlegung des in dem Projekt Machbaren Wir gehen dazu von der graphischen Darstellung der Ideensammlung in Kapitel 3 1 aus und reduzieren die genannten Punkte auf das was uns m glich erscheint So entsteht Abbildung 3 2 a Aufgabenstellung 3 Beschreiben Sie die geplanten Programmsystem Funktionen in grober Form und die vorgesehene Benutzeroberfl che Hauptmen Datei DOK PF0 TXT Bei Aufruf des Programms wird das Hauptmen erscheinen Hauptmen TRABRENNBAHN SCH NEBERG 1 Renntage organisieren Rennen starten Wetten annehmen Gewinne auszahlen Informationen Hilfe AN E 99 7 Ende des P Auswahl einer Option mit den Cursortasten PE Fortsetzung mit J 100 Datei DOK PF1 TXT TRABRENNBAHN A A B ein Rennen Wetten abschlie en durchf hren Verkauf er ffnen Starterfeld Wettschein Wettarten Wettschein ankreuzen Wertschein abgeben Betrag f r Wettschein berechnen Start Wettannahme sperren Ticketm
42. Geldsumme vorgenommen Die Gewinn Wettscheine werden markiert und zur Auszahlung freigegeben Option 5 wird Informationen zum Programmsystem enthalten Im zweiten Teil dieses Aufrufs ist dann ein Film vorgesehen der weitere Informationen wie z B die Einga bemasken bringt Option 6 soll den Aufruf einer Hilfedatei erm glichen in der Hilfen auf Stichwortein gabe m glich sind Option 7 beendet das Programm An verschiedenen Stellen des Programms wird man zur Eingabe eines Datums aufge fordert Zuvor wird in der Regel eine Liste ausgegeben in der die Daten der Renntage enthalten sind Die Auswahl von Men punkten Optionen erfolgt durch die Cursor auf ab mit anschlie endem Return oder durch Eingabe bestimmter Zeichen F r die Eingabe der Teilnehmer eines Rennens und f r die Ausf llung von Wettscheinen werden Masken vorgegeben die man schrittweise ausf llen kann Die Optionen des Hauptmen s f hren meistens weiter zu Untermen s auf die in dieser groben Beschreibung nicht weiter eingegangen wird siehe die Detailbeschreibungen zum Pflichtenheft Im brigen soll das Programm so geschrieben werden da es sich f r den Benutzer m glichst selbst dokumentiert Das Programm wird f r zwei unterschiedliche Gruppen angelegt F r den Spieler der die Trabrennbahn Simulation durchf hrt F r den Verwalter der rennspezifische Daten eingeben darf also mehr Rechte hat als ein Spieler 102 F r das Pflichtenheft sind nu
43. HP3 PAS Testen 4 Einklinken von Modul 4 Wettscheine auswerten T_M4_U TPU in das vorl ufige Hauptprogramm T_HP3 PAS Neues vorl ufiges Hauptprogramm ist T_HPA PAS Testen 5 Einklinken von Modul 0 Film T_MO_U TPU in das vorl ufige Hauptprogramm T_HPA4 PAS Das endg ltige Hauptprogramm ist T1234 PAS Testen 120 Das Hauptprogramm T1234 hat schlie lich folgende Struktur PROGRAM trabrennen USES Ino_u Balk_u Bild_u Crt projektunabh ngige Module t_ds_u Datenstruktur t_hi_u Hilfsprozeduren tml_u Modul l Renntag initialisieren integriert 15 3 t_m2_u Modul 2 Rennen durchf hren integriert 3 4 i_m3_u Modul 3 Wetten abschlie en integriert 18 3 i_m4_u Modul 4 Wetten auswerten Gewinn auszahlen integriert 24 4 t_mO_u Modul 0 Demo Film integriert 24 4 VAR schein_anzahl INTEGER neuer_renntag char PROCEDURE renntag_waehlen BEGIN REPEAT P vorhandene_daten_nennen trab_datei P renntag_datum renntag P renntag_in_feld renntag tag_ok trab_datei renntag_feld UNTIL tag_ok END PROCEDURE hauptmenue VAR option INTEGER VAR pass BOOLEAN c char BEGIN clrscr rahmen_zeichnen2 6 2 71 25 magenta magenta textcolorflightgreen gotoxy 14 5 write TRABRENNBAHN SCH NEBERG textcolor 7 gotoxy 10 24 write Auswahl mit 24 25 A gotoxy 10 3 write Hauptmen dateiname trab hm bal das spezielle Men
44. L Literatur und Diskette siehe A Die Funktionen des Systems werden deutlich bei Aufruf des Hauptmen s SIMULATION EINER R UBER BEUTE BEZIEHUNG Ein Programm f r die ITG und den Informatikunterricht 1 SIMULATION M use und Wiesel 2 Aufgaben zu 1 3 Informationen zum R uber Beute Modell 4 Hilfe zur Programmbenutzung 135 D En Terra Ran Methodik Il 7 Programmende Auswahl einer Option mit den Cursortasten auf ab anschlie end Enter Jede Simulation erfordert gewisse Startwerte f r die Population Diese Werte kann man in der folgenden Maske schnell ndern Der jeweils aktuelle Stand einer Simulation wird in einer Tabelle angezeigt Anfangs Mausanzahl auf der Wiese 10 100 Anfangs Wieselanzahl auf der Wiese Less 0 Maximal erlaubte Fangzahl an M usen pro Wiesel 1 10 Mindestanzahl gefangener M use zum berleben Odas c d Maus Vermehrungsfaktor 0 5 3 e Folgende Startwerte sind voreingestellt Anfangs Mausanzahl 30 Anfangs Wieselanzahl 3 Maximale Fangzahl 10 berlebenszahl 5 Maus Vermehrungsfaktor 1 8 Startwerte bernehmen j n C Das Karteiverwaltungssystem ZINSY Dieses befindet sich in zwei Versionen f r unterschiedliche Wartungsaufgaben auf der Diskette des D mmler Verlages mit dem Titel SOFTWARE WARTUNG Die zweite Version benutzt fertige Bausteine und Men s die mit einem Tool erstellt wurden Disket te LEH TOOLS die erste Version ist in allen
45. LLE ANALYSE INSTALLIERUNG DES SYSTEMS Benutzerhandbuch Wartungshandbuch Funktionelle Spezifikation Pflichtenheft Entwicklersicht Phase 3 Phase 5 ENTWURF SYSTEMINTEGRATION MODULARISIERUNG SYSTEMTEST Eventuelle Protokoll der Integrationsstufen Entwurfsspezifikation R ckl ufe Integriertes System Phase 4 MODULPROGRAMMIERUNG MODULTEST Modulprogramme Testprotokolle Abb 2 1 1 a Life Cycle f r Softwareprodukte Die einzelnen Phasen sollen nun kurz kommentiert werden An dem Beispiel TRAB RENNEN werden sie sp ter in Kapitel 3 ausf hrlicher dargestellt 18 Zun chst mu bemerkt werden da der Software Life Cycle wir schreiben kurz SLC eine idealisierte Darstellung einer Softwareentwicklung ist Es hat sich gezeigt da die hier genannten Phasen tats chlich auftreten da aber oft Vermischungen zwischen den Phasen und insbesondere R ckgriffe auf Vorhergehendes n tig sind vergleichen Sie hierzu die Ausf hrungen in dem Abschnitt Prototyping Kapitel 2 1 2 Dennoch ist der SLC eine wesentliche Hilfe bei der Durchf hrung von Softwareprojekten Der Beginn eines Projektes zur Softwareentwicklung Eine Softwareentwicklung beginnt mit dem Wunsch nach vollst ndiger oder teilweiser Automatisierung informationsverarbeitender Prozesse Beispiel 1 Eine Fachabteilung einer gro en Firma will Vorg nge auf Datenverarbeitung umstellen und wendet sich zu diesem Zweck nach Genehmigung durch die Firmenl
46. Metriken 74 Modellbildung 29 33 Modul als abstrakter Datentyp 46 als Baustein von Software 41 Eigenschaften 46 hierarchie 20 48 60 in technischen Anlagen 41 konzept 41 programmierung 20 91 111 projektspezifisch 118 projektunabh ngig 118 spezifikation 46 109 114 test 20 91 111 Modularisierung 19 90 103 MUCHO Multiple Choice System 134 MUENZEN M nzspiel 135 Multiple Choice 60 134 Oberfl chendesign 61 Objektorientierte Software Entwicklung 161 Output_textdatei 69 170 Parameter 39 Pflichtenheft 19 89 98 Phasen der Software Entwicklung 18 88 Pr sentation von Projektergebnissen 162 Problemanalyse 19 88 95 Programmablaufpl ne 52 Projekt dokumentation 79 kontrolle 85 leitung 26 management 25 28 phasen 18 88 zustand 163 Projektarbeit 13 Aktivit ten 157 Aspekte 15 Management 25 162 Schwierigkeiten 14 Umfang 86 Ziele 13 15 Prototyping 22 103 Prozedur arten 39 konzept 38 spezifikation 40 Qualit ts anforderungen 71 merkmale 73 sicherung 73 162 R uber Beute System 132 Realit t Ausschnitt aus 30 Reengineering 123 162 Reverse Engineering 124 128 163 SADT Methode 56 Sammeln von Informationen 95 Schablonentechnik 163 Schl sselqualifikationen 8 Schnittstellen 39 43 104 163 Schreibtischtest 75 Simulation M nzspiel 135 Trabrennbahn 93 Zahlenlotto 134 Software 163 Aufwa
47. Modul 3 Wettscheine abgeben T_M4_U PAS bzw T_M4_U TPU Modul 4 Wettscheine auswerten T_HI_U PAS bzw T_M4_U TPU Hilfsmodul mit mehrfach ben tigten Prozeduren T_HPO PAS bzw T_HPO EXE Vorl ufiges Hauptprogramm Diese Module wurden getrennt getestet ggf wurden kleine Testprogramme konstruiert dummies Die Testdaten mu ten dazu geeignet ausgew hlt werden siehe Kapitel 2 2 9 Testmethoden Da sp ter zahlreiche Daten aus den Dateien f r die Renntage Rennen und f r die Wettscheine kommen und dorthin bergeben werden mu ten einige Datens tze auf elementarere Weise bereitgestellt werden So stehen zum Beispiel erst mit der Programmierung von Modul 1 Daten Pferde Renntage Rennen f r die Wettscheine zur Verf gung Datenmodul UNIT t_ds_u INTERFACE CONST anz 40 TYPE strings STRING 8 einlauftypp ARRAY 1 8 OF BYTE TYPE rennen RECORD tag STRINGS rennen_nummer BYTE kommentar ARRAY 1 3 OF STRING 40 anzahl_pferde BYTE pferde_namen ARRAY 1 8 OF STRING 12 einlauf einlauftyp zustand vorher laeuft beendet end TYPE wettschein RECORD tag string8 rennen_nummer BYTE satz_nummer INTEGER wettart sieg platz kew gew platzl platz2 112 platz3 BYTE einsatz REAL schein_nummer INTEGER gewinn REAL ausgezahlt BOOLEAN end TYPE menge_der_menuepunkte SET OF CHAR feld_of_renntag ARRAY 1 10 OF RECORD tag STRINGS rennen_nummer BYTE
48. NUMMER 05 Wettart S P KE GE WETTART SS 1 Platz ZI ASE TB Platz 743 2 Platz 2 3 4 TS E Tg 3 Platz 2345678 DM 2 50 5 00 7 50 EINSATZ 5 00 DM 10 00 20 00 50 00 100 00 200 00 500 00 Dieses Modul soll hier au erdem als Beispiel einer Modulbeschreibung herangezogen wer den 109 MODULSPEZIFIKATION Modulname Wetten annehmen Modul 3 des Programmsystems Letztes Update Autor 28 11 88 Gruppe 3 Modulfunktionen Dieses Modul erm glicht das Ausf llen eines Wettscheines von Hand oder per Zufall Die Eingaben erfolgen in eine Wettscheinmaske Der Wettschein wird abgespeichert Eine weitere Option erzeugt gleich 10 zuf llige Wettscheine auf einmaDie Wettscheindatei kann ausgegeben werden Schnittstellen Import Diverse Prozeduren aus den allgemein verwendbaren Modulen Crt Ino_ Balk_u Bild_u und dem programmspezifischen Modul t_hi_u Schnittstellen Export PROCEDURE Wetten_abschlie en renntag STRING amp genntag_feld feld_of_renntag VAR datei file_of_wettschein VAR schein_anzahl INTEGER PROCEDURE scheine_datei_aus ohne Parameter Datentypen Datenstrukturen Diverse aus dem programmspezifischen Datenmodul t_ds_u Aufrufbeispiel wetten_abschlie en renntag renntag_feld wett_datei schein_anzahl Schlie lich legte die Gruppe einen Algorithmus f r das Abgeben eines Wettscheines vor Modul II Teilalgorithmus Wettscheine ausf llen 21 11 94 Verkauf er ffnen solange noch Wettscheine ausgef l
49. Nettobetrag Rechnungsdaten Endsumme de Sachbearbeiter f r Bestellungen Rechnung 8 steuer ermitteln an den Kunden senden Sachbearbeiter f r Verkauf Daten Diagramm Kundendaten Bestellung A Kredit und aufgeben versandspesen Artikelpreis ermitteln bestimmen Artikeldaten B Skonto festlegen A Rechnungsbetrag 1 wert Kundendatei Artikel datei ermitteln steuer Datei mit den Forderungen nach E Hering Software Engineering an die Kunden Vieweg 1992 7 Erstellen Sie HIPO Diagramme zu den Abbildungen von Aufgabe 6 146 Aufgaben zu Kapitel 2 2 6 Schnittstellen Design 1 Unter den in unserem Informatikkurs zur Verf gung stehenden Tools befinden sich auch solche die die Entwicklung von Benutzungsoberfl chen erm glichen a Nennen Sie solche Tools und beschreiben Sie ihre M glichkeiten b Entwerfen Sie auf Papier ein Hauptmen h chstens 7 Men punkte f r ein Pro grammsystem das die im gesamten Kurssystem Klasse 11 13 besprochenen Mathematikaufgaben verwaltet c Erl utern Sie dabei auch warum Sie sich gerade f r dieses Men entschieden haben d Realisieren Sie dieses Men am Computer Speichern Sie es unter dem Namen ihrname bal 2 u ern Sie sich zu den folgenden Aussagen a Die Verwendung von Werkzeugen gibt den Arbeitsablauf und auch die Arbeitsergeb nisse in erheblichem Umfang vor b Werkzeuge beschr nken die Ausdrucksm glichkeiten ihrer Anwender c We
50. Protokoll der Integrationsstufen Entwurfsspezifikation R ckl ufe Integriertes System Phase 4 Checkliste C 4 MODULPROGRAMMIERUNG MODULTEST Modulprogramme Testprotokolle Checklisten f r die Projektt tigkeiten in den Phasen der Softwareentwicklung 89 Hinweise Die im folgenden formulierten Fragen sind nicht gleicherma en f r jedes Projekt wichtig Sie sind abh ngig vom Projektthema Die Checklisten sind auf die Belange der Projektdurchf hrung an Schulen zugeschnitten Sie enthalten also wichtige Informationen f r das organisatorische und methodische Vorgehen des Lehrers Wichtig ist in diesem Zusammenhang auch das Kapitel ber Projektmanagement Kap 2 1 3 Allerdings wird dringend empfohlen sorgf ltig zu pr fen welche der Checklisten punkte beachtet werden k nnen da sich bei Ber cksichtigung aller Punkte leicht Zeitprobleme bei der Projektdurchf hrung einstellen k nnen Au erdem wird ausdr cklich darauf hingewiesen da bei der Darstellung des Projekts Trabrennbahn in Kapitel 3 aus Platzgr nden nicht alle Punkte der Checklisten insbesondere was die Dokumentation angeht dargestellt werden k nnen Phase 0 Projektbeginn Der Beginn eines Projektes zur Softwareentwicklung aus Schulsicht CHECKLISTE C 0 O Wie viele Sch ler sind in dem Kurs wieviele Mitarbeiter stehen zur Verf gung O Wie ist die Leistungsst rke der Sch ler O Sind die fachlichen Kenntnisse f r ein Projekt vorhanden
51. Prozeduraufruf werden sie ersetzt durch die aktuellen Parameterwerte Dabei mu auf gleiche Reihenfolge der Parameter geachtet werden Prozedurarten Es gibt verschiedene Arten von Prozeduren Prozeduren I u u ohne Parameter mit Parameter n Aufruf Beispiel Clrscr Aufruf Beispiel Gotoxy a b Eine besondere Art von Prozeduren sind die Funktionen Funktionen l ohne Parameter mit Parameter n Aufruf Beispiel y x x Aufruf Beispiel y potenz basis hochzahl Ein Funktionsaufruf liefert also stets einen Wert zur ck und ist damit Teil einer Anwei sung w hrend eine Prozeduraufruf eine eigene Anweisung ist Datenaustausch zwischen Programmteilen Schnittstellen Die Prozeduren kommunizieren mit den anderen Programmteilen 40 a durch globale Variable in der Regel ein schlechter Weg da oft unerw nschte Ne benwirkungen bei Bearbeitung der Variablen in der Prozedur eintreten und der Durch blick ber das Verhalten der Variablen leicht verloren geht b ber die Parameter Eingangsparameter Ausgangsparameter Beispiel PROCEDURE Input_integer l x y INTEGER input_aufforderung STRING VAR zahl INTEGER zahllaenge INTEGER L E Import x y input_aufforderung zahl zahllaenge gt j L q Abarbeitung der Prozedur Input_integer l r Export zahl x y input_aufforderung zahllaenge sind Eingangsparameter zahl ist Ausgangsparameter auch bergangspa
52. Rechtecke vorkommen um nicht die bersicht zu ge f hrden Entsprechend dem Konzept der strukturierten Zerlegung beginnt man bei der Sy stembeschreibung auf der h chsten Abstraktionsebene und verfeinert dann in Teilsysteme so da eine hierarchische Gliederung des Systems entsteht Diese wird dann in verschiedenen aufeinander aufbauenden SADT Diagrammen beschrieben Innerhalb einer Verfeinerungsstufe werden die Teilsystems von links oben nach rechts unten treppenartig angelegt womit jedoch keine zeitliche Reihenfolge in der Abarbeitung gemeint sein mu F r eine Weinhandlung k nnte die h chste Abstraktionsebene in funktionaler Sichtweise folgenderma en aussehen 57 Lagerbestandspolitik Gesetzliche Vorgaben Daten von Lieferanten Weine einkaufen verkaufen lagern verwalten Daten an Kunden Daten an Lieferanten Daten von Kunden Sachbearbeiter Lagerarbeiter Abb 2 2 5 8 Hinweis Bei den bungsaufgaben werden SADT Diagramme vorgelegt die die Rechnungsstellung beim Wein Verkauf an einen Kunden beschreiben Die Vorgehensweise bei der Konstruktion von SADT Diagrammen kann man so beschreiben 1 Aufstellen des Aktivit tenmodells 1 1 Erfassen der Funktionen 1 2 Festlegung der Aktivit ten und der Daten 1 3 Hierarchische Gliederung der Aktivit ten mit bis zu 6 Aktivit ten je Verfeinerung 1 4 Definition der Schnittstellen zur Umgebung Ein und Ausgabedaten Steuerungspfeile und Pfeile f r die Mechanismen
53. Schulunterricht h ufig zu komplex und erfordern lange Einarbeitungszeit so da man sie in der Schule erst im fortgeschrittenen Informatikunterricht einsetzen kann was allerdings zur Zeit leider noch weitgehend unterbleibt In diesem Buch werden daher die leicht zu bedienenden Hilfsprogramme MENUE EXE und BILD_DEF EXE benutzt die in dem Buch Programmieren in Turbo Pascal mit Bausteinen D mmler Verlag 1993 ausf hrlich beschrieben werden 63 Hilfsmittel zur Gestaltung der Bedienoberfl che unterst tzen von Anfang an benutzerorientierte Entw rfe Sie f rdern damit das Denken in Bauteilen Modulen die z B aus geeigneten Problemzerlegungen entstehen Sie erm glichen damit auch zumindest ansatzweise ein Arbeiten im Sinne eines Prototy ping siehe Kapitel 2 1 2 e MENUE hilft bei der Erstellung von Men s bei denen man Men punkte mit Hilfe der Cursortasten auf ab oder mit der Maus ausw hlen kann Durch mehrfache An wendung lassen sich damit auf einfache Weise auch Pop down Men s realisieren Der Aufruf des Men s in einem Pascal Programm erfolgt durch Aufruf der Prozedur MENUE_WAHL Parameter e BILD_DEF erm glicht dem Anwender das Malen und Schreiben auf der gesamten Fl che des Bildschirms Dieser wird dann als Ganzes gespeichert und ist aus Pro grammen heraus wieder leicht aufrufbar Dieses elementare Hilfsmittel ist f r viele Anwendungen sehr n tzlich Insbesondere kann man sich damit leicht Masken erst
54. Teilen ausprogrammiert Auch hier sagt schon das Hauptmen Wesentliches ber die Funktionen des Systems HAUPTMEN 1 Autor bekannt gt weitere Daten suchen 2 Stichwort bekannt gt weitere Daten suchen 3 Aufsatz Buch titel bekannt gt weitere Daten suchen 4 Zeitschrift Buch Nr bekannt gt weitere Daten suchen 5 Ausgabe einer Stichwortliste sortiert 6 Ausgabe einer Autorenliste sortiert 7 Anzahl der Datens tze in der Datei angeben 8 Ausgabe aller Datens tze 9 Ausgabe eines bestimmten Datensatzes E Eingabe von Aufs tzen B chern 136 UD nderungen der Datei y T Datei packen aktualisieren Leers tze l schen F Zum Info Men zum Dateinamen zum Programmende Auswahl einer Option mit den Cursortasten AUF AB danach lt Die grundlegende Datenstruktur kann man aus der folgenden Information ablesen ZINSY arbeitet mit Datens tzen Man kann aber auch z B die folgenden Aufbau haben Schallplatten katalogisieren Man denkt sich dazu 1 Zeitschrift Buch Nummer 1 Schallplatten Nummer 2 Autor 2 Komponist 3 Aufsatztitel 3 Titel des Musikst cks 4 Stichw rter 4 Stichw rter D Das Multiple Choice System MUCHO Mit diesem System kann man Multiple Choice Tests auswerten Das System kann direkt beim Buchautor bestellt werden Preise auf Nachfrage Zwei der Men s geben einen ersten Eindruck von den M glichkeiten
55. VAR tag_ok boolean VAR datei file_of_rennen VAR renntag_feld feld_of_renntag PROCEDURE passwort var pass BOOLEAN IMPLEMENTATION Dieses Modul ben tigt noch die Hilfsdatei TRABRAND MAS Modul 1 Renntag initialisieren UNIT t_ml_u INTERFACE USES Balk_u Ino_u Crt t_ds_u t_hi_u Bild_U VAR dateiname string PROCEDURE trabl_dat_liste PROCEDURE menue_l_maske var datei file_of_rennen IMPLEMENTATION Dieses Modul ben tigt noch die Hilfsdateien MEN 1 2 MAS MEN 1 1 MAS und MEN I 1 BAL Modul 2 Rennen durchf hren UNIT t_m2_u INTERFACE USES Crt Bild_u t_ds_u PROCEDURE rennen_durchfuehren renntag strings IMPLEMENTATION 114 Dieses Modul ben tigt noch die Hilfsdatei MEN 2 1 MAS 115 Modul 3 Wetten annehmen MODULSPEZIFIKATION Modulname WETTEN ANNEHMEN T_M3_U Modul 3 des Programmsystems Letztes Update Autor 28 11 88 Gruppe 3 Modulfunktionen Dieses Modul erm glicht das Ausf llen eines Wettscheines von Hand oder per Zufall Die Eingaben erfolgen in eine Wettscheinmaske Der Wettschein wird abgespeichert Eine weitere Option erzeugt gleich 10 zuf llige Wettscheine auf einmblie Wettscheindatei kann ausgegeben werden Schnittstellen Import Export Benutze Module Diverse Prozeduren aus den allgemein verwendbaren Modulen Crt Ino_u Balk_u Bild_u und dem programmspezifischen Modul t_hi_u Datentypen aus Datenmodul Benutzte globale Variable Keine Prozeduren
56. abemasken MODUL 1 RENNTAG INITIALISIEREN Bearbeiter Modul I 21 11 88 RENNTAG INITIALISIEREN 1 Eingabe von 2 Bearbeiten vo 3 Listen 4 Zum Haupt Datens tzen Datens tzen ausgeben men Datensatz kom Gew nschten Je nach ponentenweise Datensatz zeige Wunsch Lis eingeben ten zusam menstellen Datensatz Datensatz ndern l schen Dieser Entwurf best tigt das bereits im Pflichtenheft vorgelegte MEN I 1 Men l Il mas RENNEN INITIALISIEREN I Eingabe von Datens tzen 2 L schen von Datens tzen 3 Listen von Datens tzen 4 Informationen 5 Zur ck zum Hauptmen Auswahl einer Option Die Nummern I und 2 sind nur mit den Cursortasten auf ab f r Operateure zul ssig 106 Nun wird noch eine Maske ben tigt um die Datens tze eingeben zu k nnen Diese soll folgenderma en aussehen Datum Rennennumner Anzahl der Pferde Pferdenamen 1 Ta DATENSATZ bernehmen j n 8 Weitere Eingaben Gyn MODUL 2 EIN RENNEN DURCHF HREN Entwurf 21 11 88 Modul H Ein Rennen durchf hren Datensatz f r das aktuelle Rennen aus der Datei holen Teilnehmerfeld anzeigen Wettannahme schlie en Rennen starten Rennen simulieren Einlauf ermitteln Einlauf bekanntgeben Ergebnis in Datei eintragen 107 Beispiel f r die Anzeige des Teilnehmerfeldes STARTERFELD 13 03 89 A Rennen Preis des Fachverbandes Sportangeln ber 7500 DM 3750 DM 1875 DM
57. aben An der Herstellung solcher kleinen Programme ist der Sch ler von seiner h uslichen Ar beit am Computer gew hnt doch wie verl uft der Herstellungsproze bei umfang reichen Problemstellungen Jedes Team sieht sich als Empf nger und Zulieferer zugleich und achtet deshalb nicht nur auf die Qualit t der empfangenen Leistung sondern auch auf die Qualit t der wei tergegebenen Leistung Teamarbeit bedeutet Verantwortung zu bernehmen 10 1 2 Was versteht man unter Software Engineering Anwendung von Prinzipien Methoden und Techniken auf den Entwurf und die Imple mentierung von Programmen und Programmsystemen Der Begriff Software Engi neering steht f r die Auffassung da die Erstellung Anpassung und Wartung von Programmsystemen kein k nstlerischer sondern vorwiegend ein ingenieurm ig ab laufender Proze ist Der Begriff entstand in den 60er Jahren als die Entwicklung im mer gr erer Softwaresysteme zunehmend problematischer wurde sog Softwarekrise Er sollte einen Umdenkproze in der Softwareproduktion einleiten Bewertungskriterien st rker ber cksichtigen und zu qualitativ hochwertigen Produkten f hren Duden In formatik Dudenverlag 1993 Im Duden folgen dann l ngere Detailausf hrungen die die Bedeutung von Software En gineering unterstreichen Software Engineering hat in der Datenverarbeitungspraxis eine immer gr ere Bedeutung gewonnen schon allein deswegen weil in zahlreic
58. achtet auf die bereinstimmung von Auftrag und tats chlicher Durchf hrung e achtet auf die angemessene Dokumentation der Ergebnisse e fragt nach dem weiteren Fortgang e gibt Hinweise f r eventuelle Verbesserungen und f r die Arbeit in der Gruppe e ordnet die Ergebnisse in den Gesamtzusammenhang ein Der Projektleiter organisiert und leitet regelm ige gemeinsame Sitzungen e Der jeweilige Arbeitsstand einer Arbeitsgruppe wird vorgestellt m ndliche Berichte Folien Demonstrationen schriftliche Ausarbeitungen e Die anderen Gruppen gewinnen berblick e F hren von Protokollen ber wichtige Fakten und Entscheidungen e Erfahrungen werden ausgetauscht Anregungen werden gegeben e Die Arbeit wird koordiniert der weitere Fortgang wird besprochen e Entscheidungen werden gef llt e Der Projektleiter setzt Termine Meilensteine und achtet auf deren Einhaltung Der Projektleiter koordiniert die Gruppenarbeit e Er ordnet die Ergebnisse in den Gesamtzusammenhang ein e vervollst ndigt die Dokumentation e h lt den Kontakt nach au en zum Auftraggeber und zum sp teren Anwender aufrecht Die Kommunikation zwischen den Gruppen des Teams e kann Schw chen in der Schnittstellen Absprache aufdecken e istin der Schule n tig denn leistungsstarke Sch ler k nnen anderen Sch lern helfen e darf jedoch nicht zu eigenm chtigen Entscheidungen ohne den Projektleiter f hren Externe Kommunikation Die st ndige Kommunikation zwischen
59. altung 4 Informationen ber das Programmsystem 5 Hilfe 6 Ende 62 Auswahl der Men punkte mit Cursortasten r die Eingabe von Datens tzen an Bildschirmgeraten benutzt man Bildschirm masken Der Benutzer findet auf dem Bildschirm eine Maske ein vorgefertigtes Formu lar vor und kann seine Daten nun nur noch an den vorher bestimmten Stellen eingeben Diese m ssen au erdem noch aus dem zul ssigen Definitionsbereich stammen da die Eingabepositionen entsprechend abgesichert sind Mit dieser Technik k nnen Eingabefehler weitgehend vermieden werden so da auch ein Laie mit dem Programm arbeiten kann Beispiel EINGABE EINES PISTEN DATENSATZES Satznummer 8 abc ski Pistennummer 0 beendet die Satzeingabe Pistenname BE Te AE Ne ER ehe esse Schwierigkeit b blau r rot S schwarz Pistenbelag n normal v vereist s steinig Pistenbetrieb o offen g geschlossen T LIFTE unten an unten ab oben an oben ab PISTEN unten ab oben an H TTEN unten oben HILFE Am Anfang ee ee ee einer Eingabepo Br A ee er E EAE T en sition dr cken Eingaben ok j n Satz speichern j n Eingaben sind nur an den mit markierten Stellen m glich die noch dazu jeweils farbig angezeigt werden Maskengeneratoren Da der Entwurf von Bedienoberfl chen i a zeitraubend ist arbeiten die Softwa reentwickler h ufig mit Hilfsprogrammen z B mit Maskengeneratoren Diese sind jedoch f r den Anf nger und den
60. angehalten werden und man kann sich an den Haltepunkten Breakpoints z B momentane Inhalte von Variablen ansehen Test von fertigen Softwareprodukten F r fertige Softwareprodukte existieren DIN Testnormen Zum Beispiel legt die DIN 66285 G tebedingungen und Pr fbestimmungen f r Anwendungssoftware fest und 80 dient damit u a als Grundlage f r die Zertifikat Erteilung von Softwareprodukten Diese DIN Norm fordert da ein Softwareprodukt aus Programmen Daten und einer zugeh rigen Dokumentation besteht und da eine Produktbeschreibung existieren mu Diese Teile sind die Pr fgegenst nde 79 2 3 Projektdokumentation Handb cher Dokumentationshilfsmittel Die Dokumentation des entstandenen Softwareprodukts d h die Anfertigung von noch n her zu kennzeichnenden Schriftst cken ist insbesondere aus zwei Gr nden von gro er Bedeutung 1 Das Produkt soll von m glicherweise vielen unge bten Anwendern benutzt werden 2 Das Produkt mu neuen Anforderungen angepa t gewartet werden Aus diesen Forderungen resultiert der Wunsch nach mindestens zwei Handb chern 1 Benutzer Handbuch Adressaten sind die Benutzer des Systems 2 Wartungs Handbuch Adressaten sind Systembetreuer beim Hersteller oder bei der Firma die das Produkt erwirbt Wahrscheinlich haben Sie als Sch ler auch bereits Software erworben Welche Schriftst cke haben Sie beim Kauf erhalten Vermutlich haben Sie beim Kauf auch ein Handbuc
61. angemessenheit Wir haben oben die Frage gestellt welche Anforderungen ein Benutzer an Software stel len w rde Etliche Aspekte sind inzwischen angesprochen worden so da eine Zusam menfassung mit einigen Erg nzungen angebracht ist 73 Qualit tsmerkmale von Software aus Benutzersicht Funktionalit t Leistungsf higkeit Befehlsumfang Kompatibilit t mit anderer Software Hardwareanforderungen Systemanforderung Bedienbarkeit Tastatur Maus Funktionstasten einfache Tastenkombinationen Hinweis auf Bedienelemente Men gestaltung Maskengestaltung Men verschachtelung Art der Eingaben Ergonomie Optische Wirkung Bildschirmaufteilung Farbgestaltung Anordnung von Informationen Hilfestellungen Informationen zu Bedienm glichkeiten Information zur aktuellen Bildschirmmaske angemessene Kommentare Hilfesuche mit Stichw rtern Stichwortliste Lernprogramme Schulungsangebote Hotline Dokumentation Umfang Gliederung Verst ndlichkeit Stichwortverzeichnis Beispiele Demoprogramm Lernprogramm Handbuch oder Diskette Eine entsprechende Zusammenstellung l t sich auch f r die Programmierersicht anferti gen Qualit tssicherung Im Proze der Softwareerstellung spiegelt sich die Frage der Qualit t der zu erstellenden Software in dem Begriff Qualit tssicherung wider Das Pflichtenheft f r eine Softwareproduktion enth lt au er den funktionalen Anforderungen auch Qualit tsanforderungen wie e Benutzerfreu
62. angt zur ck ins Hauptmen siehe 1 Der Aufruf der Maske erfolgt z B so USES BILD_U dateiname testbild mas textbild_aus dateiname Ausgeben der Maske testbild mas Anwendungsm glichkeiten von BILD_DEF 1 Man erstellt sich ein Bild als Vorspann eines Programms 2 Man schreibt einen Informationstext auf den Bildschirm der sp ter von einem Pro gramm an geeigneter Stelle aufgerufen wird 3 Mehrere solcher Bilder mit Texten oder Grafik k nnen hintereinander geschaltet werden und damit einen Film bilden Hierzu kann die Prozedur SHOW aus der Unit BILD_U benutzt werden SHOW dateiname zeit 4 Aus einem Anwenderprogramm heraus kann man auf ein Bild zus tzlichen Text schreiben oder Teile l schen 5 Man erstellt direkt auf dem Bildschirm eine Bedienoberfl che Mit Hilfe von Prozeduren aus der Unit BALK_U kann man Positionen in der Bedienoberfl che ansteuern und die Optionen mit der Maustaste anklicken oder auf andere Art ausw hlen Beispiel einer mit BILD DEF erstellten Maske WETTSCHEIN Datum Rennen 12345678910 Wettart S P KE GE 1 Platz 12345678 2 Plat 1 2 3 42 5 627 8 3 Platz 12345678 DM 2 50 5 00 7 50 10 00 20 00 50 00 100 00 200 00 500 00 66 66 2 2 7 Baustein Bibliotheken Beim Entwurf von Software und bei ihrer programmiersprachlichen Realisierung treten h ufig hnliche oder gleiche Probleme auf wie bei einem
63. anhand einer Entwicklungsdokumentation e schildert beispielhaft die Wartung eines Softwareprodukts Reengineering e bringt viele neuartige bungsaufgaben zur Projektarbeit e gibt viele Hinweise zur Unterrichtsmethodik bei Projektarbeit e sammelt grundlegende Begriffe des Software Engineering in einem Glossar hat folgende Zielsetzungen e Modellieren komplexer Problemstellungen e Erlernen grundlegender Prinzipien der Konstruktion gr erer Software Systeme e Kennenlernen und Benutzen von Methoden zur Organisation von Projektarbeit Management e Anwenden von Dokumentationstechniken e Kennenlernen grundlegender Begriffe des Software Engineering e Begreifen von Teamarbeit als einer Schl sselqualifikation f r viele Berufe wird erg nzt durch die Diskette SOFTWARE ENGINEER e f r MS DOS Computer e mitzwei Versionen des Softwareprodukts Trabrennen vor und nach der Wartung in Turbo Pascal 6 und durch die Diskette SOFTWARE WARTUNG e f r MS DOS Computer e mitzwei Versionen des Softwareprodukts Zinsy f r Software Wartungsprojekte Zeitschriften Informationssystem Kartaeiverwaltung
64. aschine Rennen auf Bildschirm zeigen Einlauf anzeigen Quittung mit Daten Daten abspeichern Verkauf schlie en Datensicherung Toto Manager Wetten auswerten st ndige kurzfristig Quoten berechnen Pa wort f r Abz ge beachten Renntag beenden die Verk ufer Wettscheine auswerten je nach Wettart gegen Quittung auszahlen Diverse Listen Abb 3 2 a Bereinigte Ideensammlung Einengung der Problemstellung 101 Das Programmsystem Trabrennbahn enth lt also im Hauptmen sieben Optionen Option 1 erm glicht die Eingabe der grundlegenden Daten f r einen Renntag Das sind Tag und Namen der f r ein Rennen startenden Pferde Option 2 steuert die eigentlichen Rennen Diese k nnen auf Wunsch gestartet werden und werden auf dem Bildschirm simuliert Ein Rennen endet mit der Ausgabe des Einlaufs Option 3 erm glicht die Abgabe von Wettscheinen Ein Rennen eines Renntags wird auf gerufen In die Bildschirmmaske k nnen nun per Handeingabe die Wettart der erwartete Einlauf und der Einsatz eingegeben werden Der Wettschein erh lt eine Nummer Um f r die Auswertung mehr Wettscheine zur Verf gung zu haben kann man au er der Hand eingabe auch Wettscheine in gro er Anzahl zuf llig erzeugen lassen Option 4 bernimmt die Auswertung der Wettscheine nachdem ein Rennen durchgef hrt wurde siehe Modul 2 Hierbei werden die vorgeschriebenen Abz ge von der f r dieses Rennen eingenommenen
65. atikunterrichts diverse Programme geschrieben k nnen sich also als Programmierer bezeichnen Welche F higkeiten und Vorgehensweisen sind Ihnen beim Schreiben der Programme besonders n tzlich gewesen 2 Erl utern Sie die Tabelle in Kapitel 1 2 mit den Vorgehensweisen in ausgew hlten Be rufszweigen Erg nzen Sie weitere f r den jeweiligen Beruf notwendige Methoden 3 Oben werden Methoden eines Software Ingenieurs aufgelistet Welche dieser Metho den haben Sie bereits angewendet Bei welcher Gelegenheit 4 Begr nden Sie warum die Herstellung von komplexen Softwareprodukten nicht von einer einzigen Person erfolgen sollte kann Denken Sie dabei an Ihnen bekannte umfang reichere Softwareprodukte wie z B an ein Textverarbeitungssystem 5 Im Verlauf Ihrer Ausbildung haben Sie Programme allein erstellt Wie w rde sich die Arbeitsweise bei der Programmerstellung vermutlich ndern wenn Sie mit einem ande ren Sch ler zusammenarbeiten w rden 6 Erl utern Sie die folgende Begriffsbestimmung Software Engineering ist die syste matische Verwendung von Methoden und Werkzeugen zur Herstellung von Software mit dem Ziel einer Rationalisierung des Herstellungsprozesses bei gleichzeitiger Qualit tssteigerung Aufgaben zu Kapitel 1 3 Projektarbeit im Informatikunterricht 1 Erl utern Sie den Begriff der Teamarbeit 2 Erl utern Sie den f r den Arbeitsmarkt und die Berufsausbildung wichtigen Begriff der Schl sselqualifikation
66. ation Im Verlauf eines Projekts sind verschiedentlich Spezifikationen zu erstellen Das sind ge naue Beschreibungen auch in graphischer Form des Aufbaus der Eigenschaften und des Verhaltens eines zu beschreibenden Modells oder Systems Im Verlauf des Software Life Cycles SLC fallen z B an Anforderungsspezifikation Entwurfsspezifikation In der An forderungsspezifikation werden die Anforderungen an ein zu Konstruierendes System be schrieben aus der Sicht des Auftraggebers bzw sp teren Anwenders N heres bei der Be schreibung des SLC in Kapitel 2 1 1 Standardisierung 1 Bei der Entwicklung eines Softwareprodukts sind zahlreiche Personen beteiligt und in verschiedenen Phasen voneinander abh ngig Eine effektive Zusammenarbeit ist nur m glich wenn individuelle Eigenheiten bei Entwurf Programmierung und Dokumentation ausgeschlossen werden und standardisiert wird Bei der Projektarbeit kommt es also darauf an standardisierende Vereinbarungen zu treffen Im Informatikunterricht ist eine gewisse Standardisierung bereits durch den Unterricht vor den Projektkursen erreicht indem beispielsweise bestimmte Darstellungsformen von Algorithmen gemeinsam ge bt oder Programme gemeinsam entworfen wurden Angesichts des gro en Umfangs eines Projekts erh lt das Prinzip der Standardisierung f r die Sch ler nun eine neue Dimension und mu vor allen Dingen bewu t gemacht werden Insbesondere sind f r die Dokumentation Vereinbarungen n tig wenn
67. ation einer Software schon vor ihrer Herstellung anfertigen 5 Bez glich der Dateien wird in DIN 66230 siehe Aufg 6 ausf hrlicher gefordert Zusammenstellung nach Dateiname Datentr ger Dateiorganisation Zugriffsart Speicherbedarf Datenflu plan Formulieren und erl utern Sie die einzelnen Anforderungen am Beispiel ihres aktuellen Projektes oder einer Ihnen bekannten Software 6 Nach DIN 66230 sollte eine Programmdokumentation u a aus den unten aufgelisteten Teilen bestehen Erl utern Sie die einzelnen Punkte 149 1 Programm Kenndaten Programmname und Variante Versionsnummer und Freigabedatum Aufgabenbeschreibung und Vorschriften Ger tekonstellation Programmgr e Speicherplatzbedarf ben tigtes Betriebssystem Hilfsprogramme Programmiersprachen Betriebsarten Stapel Dialog und Echtzeitbetrieb Dateien Dateinamen Zugriffsart Zust ndigkeit 2 Programm Funktion und Aufbau Aufgabenstellung Aufgabenl sung z B Algorithmen Programmaufbau Schnittstellenbeschreibung Cross Referenzen Programmablauf z B Struktogramme Daten und Datenfl sse Datenflu plan Anwendungsgrenzen Datensicherung 3 Installierung und Test bergabedokument Testverfahren und Testergebnisse 4 Programmbetrieb Bedienungshinweise Unterbrechungen und Wiederanlauf Datensicherung Aufgaben zu Kapitel 2 4 Projektkontrolle 1 In einer Informationsstunde ber den Informatikunterricht Ihrer Schule sollen Sie Ihren j ngere
68. automatisch positioniert wird Wird das Suchwort nicht gefunden oder ist keines angegeben Leerstring so wird der Dateianfang gezeigt e Im Text k nnen Bl ttersperren vorgesehen werden die insbesondere in Verbindung mit der Stichwortsuche n tzlich sind Darstellung von kontextsensitiven Hilfeseiten welche in einer gemeinsamen Datei stehen Zeilen im Text welche mit der Zeichenfolge beginnen k nnen nicht berbl ttert werden und werden auch nicht dargestellt Wird das Suchwort in einer solchen Zeile gefunden so wird der auf die Sperrzeile folgende Text ausgegeben Parameterbedeutung x1 y1 x2 y2 Linke obere und rechte untere Ecke des Fensters dateiname Name der auszugebenden Datei Programmier Beispiele a Output_textdatei 1 1 80 25 dateil dok Die Datei dateil dok wird auf dem gesamten Bildschirm vom ersten Zeichen an ausgege ben b Output_textdatei 5 5 75 20 dateil dok computer Die Datei dateil dok wird im Fenster 5 5 75 20 vom Suchwort computer an ausgege ben Die Zeichen von dateil dok m ssen in dem Bereich 5 5 75 20 eingegeben worden sein c Es sind mehrere zu lesende Dateien vorhanden dateiname input_string 1 25 Welche Datei wollen Sie lesen dateiname a z Output_textdatei 1 1 80 25 dateil dok 71 Bekanntlich stellt das Turbo Pascal System auch selbst solche Bausteine zur Verf gung z B in der Unit Crt Gotoxy Clrscr usw 71 2 2
69. berlegungen zur Softwarewartung davon ausgehen da der Anwender der Software zu einer Softwarefirma mit dem Wunsch kommt nderungen an dem Softwareprodukt vorzunehmen und da die Mitarbeiter der Softwarefirma die ses Softwareprodukt noch nicht kennen Eine vergleichbare Situation liegt vor wenn 124 Sch ler eines Informatikkurses ein Softwareprodukt warten sollen das mehrere Jahre zuvor von anderen Sch lern erstellt wurde Neue Anforderungen festlegen Start Betrieb des alten Systems Anforderungsspezifikation BETRIEB WARTUNG EROIEET Neue Anforderungen gr ere Analyse des Altsystems AUFTRAG ZUM Sen gr nderungs und Erweiterungs REVERSE ENGINEERING REENGINEERING w nsche werden deutlich berblick gewinnen durch Benutzung des vorhandenen Systems dessen Funktionen Betrieb des neuen Systems feststellen Dokumentation einsehen INSTALLIERUNG DES NEUEN SYSTEMS Benutzerhandbuch Analyse der Systemfunktionen Wartungshandbuch Datenanalyse Pflichtenheft einsehen SYSTEMINTEGRATION Entwurfsentscheidungen und SYSTEMIEST Modularisier ung nachvoll Protokoll der Integrationsstufen ziehen vorliegende Entwurfs spezifikation einsehen Integriertes System Implementierung nachvoll ziehen Programmcode grob analysieren Hauptprogramm Datenstrukturen FORWARD ENGINEERING Analyse der neuen Anfor MODULPROGRAMMIERUNG derungen MODULTEST Funktionelle Spezifikation bernahme alter Module Da des verii
70. ch der Teilnehmer fr hzeitig mit dem Programmieren zu beginnen wird nachgegeben e der Einsatz von Bausteinen und Hilfsprogrammen CASE wird vernachl ssigt bzw die Einarbeitungszeit in diese Technik dauert zu lange Der Projektleiter darf das Projekt nicht einfach so laufen lassen Es darf nicht hei Ben die Sch ler werden es schon schaffen Hinweise zur Beschr nkung des Projektumfangs Die Zeitdauer eines Projektes kann durch verschiedene Parameter gesteuert werden Eini ge vom Lehrer einstellbare Parameter die die Projektdauer beeinflussen werden ge nannt Eine zeitliche Begrenzung wird u a durch folgende Ma nahmen erreicht e Vorgabe des Projektthemas und enge Projektf hrung durch den Lehrer e Auswahl eines Themas das nur wenige Kenntnisse aus dem gew hlten Anwendungsbereich erfordert e Beschr nkung zun chst auf eine lauff hige Minimalversion e durchgehender Einsatz von Bausteinen und Hilfsprogrammen e st rkere Hilfe des Lehrers in verschiedenen Projektphasen e Beschr nkung der Testf lle e Beschr nkung der Dokumentation auf das f r unbedingt erforderlich gehaltene Ma e gezielte Hausaufgaben die dem Projektfortschritt dienen u a Ausnutzung der Rechnerausstattungen der Sch ler e Vermeidung von Leerlaufphasen einzelner Sch ler gruppen 2 4 2 Checklisten f r die Softwareproduktion Die wichtigsten Probleme und Verfahren des Software Engineering wurden in den vor hergehenden Kapiteln durchgespro
71. chen Wir sind nun hoffentlich gut vorbereitet auf das von uns zu bearbeitende Projekt brigens Wir k nnten auch gleich mit dem vorliegen den Kapitel 2 4 beginnen und immer wenn wir Unterst tzung brauchen in den zur ck liegenden Kapiteln Hilfe suchen 88 Es kann eine gute Methode sein ein Projekt durch Checklisten zu begleiten Diese sollte in der Regel der Projektleiter f hren Im Informatikunterricht tragen die Checklisten u a dazu bei e die Vollst ndigkeit der Arbeit zu berpr fen also eventuelle L cken aufzusp ren und zu beseitigen e Arbeitsauftr ge zu vergeben e den Projektstand zu markieren e berblick ber die geleistete Arbeit und das noch zu Bearbeitende zu gewinnen Die Checklisten begleiten den Software Life Cycle siehe Kapitel 2 1 1 den wir deshalb hier noch einmal angeben und durch die Zuordnung von Checklisten erg nzen Phase 1 START Checkliste C 1 Phase 7 Ggf Ende der Nutzung PROJEKTAUFTRAG BETRIEB WARTUNG PROBLEMANALYSE M glicherweise Fehlerhandbuch Anforderungsdefinition neuer Durchlauf Anderungshandbuch Anwendersicht aufgrund gr erer Anderungsw nsche REENGINEERING Phase 2 Checkliste C 2 Phase 6 Checkliste C 6 FUNKTIONELLE ANALYSE INSTALLIERUNG DES SYSTEMS Funktionelle Spezifikation Benutzerhandbuch Bileh onen Wartungshandbuch Entwicklersicht ung u Phase 3 Checkliste C 3 Phase 5 Checkliste C 5 ENTWURF SYSTEMINTEGRATION MODULARISIERUNG SYSTEMTEST Pe Eventuelle
72. chtbaren Vor g nge sondern auch die Kalkulation der Start und Nenngelder sowie der Gewinnpr mien Au erdem mu die Organisation der Einzelrennen die die Besetzung der Pferde den Einsatz der Jockeys und die Belegung der St lle der Trabrennbahn umfa t ber sichtlich f r die Teilnehmer Besucher Jockeys Besitzer gestaltet werden 2 Informationen f r die Besucher Um den Besucher ber den Ablauf der Rennen zu informieren werden Service Leistungen angeboten Die Informationen f r die Besucher lassen sich aufteilen in folgende Punkte a Informationen ber die Wettregeln b Informationen ber die Rennvorg nge Startbesetzungen Anzahl der Rennen c weitere Informationen sind im Programmheft enthalten 3 Wetten aus der Sicht des Kunden Hat sich der Besucher f r eine Wette entschieden hat er sich einen Wettschein zu besor gen ihn auszuf llen und am Schalter abzugeben siehe 4 Die Auswertung des Wett scheins zum Beispiel Ausgabe einer Quittung und eine Auszahlung eines m glichen Gewinnes wird aus der Sicht des Kunden dargestellt 96 4 Wetten aus der Sicht des Bearbeiters F r den Besucher nicht sichtbar werden die Daten des Wettscheins z B zur Bestimmung der Wettquoten oder hochgerechneter Rennergebnisse durch die Bearbeiter ber ein Terminal in den Gro rechner des Rechenzentrums eingegeben 5 Das Rennen Das Rennen wird durch eine Schautafel ber das aktuelle Renngeschehen informiert Sie zei
73. d ausf hrlich beschrieben in dem D mmler Buch Software Analyse im Informatik Anfangsunterricht 1994 und steht auf der Diskette GOBANG zur Verf gung Die Quelldateien und alle Hilfsdateien sind auf der Diskette vorhanden Bei der Benutzung des Spiels werden sich verschiedene W nsche zu kleine ren nderungen ergeben Dieses Programm ist ebenfalls in Projektarbeit entstanden Es kann in zwei Versionen gespielt werden die sich durch die Art der Zugeingabe unterscheiden Eingabe der gew nschten Spielfeldkoordinaten oder Eingabe durch Mausklick DIE SPIELREGELN Gobang wird auf einem quadratischen Spielfeld mit z B 11 x 11 K stchen von zwei Spielern gespielt Spieler 1 spielt mit roten Spieler 2 mit blauen Steinen Die Spieler setzen abwechselnd jeweils einen ihrer Steine auf ein leeres Feld Jeder der Spieler versucht als erster eine F nferreihe zu erzeugen bzw seinen Gegenspieler dabei zu behindern Eine F nferreihe besteht aus 5 gleichfarbigen Steinen die horizontal vertikal oder diagonal nebeneinander angeordnet sind Wer zuerst eine F nferreihe zustandebringt hat gewonnen und ein neues Spiel kann beginnen Ein Unentschieden entsteht wenn alle Felder besetzt sind ohne da ein Spieler 5 Zeichen nebeneinander plazieren konnte Der Reiz des Spieles erh ht sich wenn schnell gespielt wird Inter essant ist auch die Organisation eines Turniers Jeder gegen Jeden oder im Ko Sys tem B Das R uber Beute System MAUS WIESE
74. die ITG Informationstechnische Grundbildung als Grundlage einer projektartigen Unterrichtsreihe vorgesehen sein Dann sind j ngere Sch ler die Grundlagen der DVA und ihre Anwendung an einem ausgew hlten Thema kennenlernen die Nutzer 3 Die Software kann aber auch in der Informatik selbst als Studienobjekt eingesetzt werden etwa bei der sogenannten Software Analyse u a mit dem Ziel der Wartung eines Produkts Das beinhaltet dann auch nderungen also fungieren die Sch ler als Systembetreuer 4 M glicherweise ist die Software auch f r die Schulverwaltung von Bedeutung 5 Denkbar ist auch die Weitergabe der Software an andere Schulen oder an schulnahe Institutionen 17 2 Wege zur erfolgreichen Konstruktion komplexer Software 2 1 Organisation der Arbeit 2 1 1 Ein Software Life Cycle Projekte im Informatik Unterricht werden in der Regel in Anlehnung an Methoden des Software Engineering nach einem Software Life Cycle durchgef hrt wie er in Abbildung 2 1 1 a dargestellt wird Die einzelnen Phasen stellen an den Bearbeiter unterschiedliche Anforderungen und die verwendeten Arbeitsformen sind unterschied licher Art Phase 1 START Phase 7 PROJEKTAUFTRAG BETRIEB WARTUNG PROBLEMANALYSE M glicherweise Fehlerhandbuch Eventuell Anforderungsspezifikation neuer Durchlauf Anderungshandbuch Ende der Anwendersicht aufgrund gr erer System Anderungsw nsche benutzung REENGINEERING Phase 2 Phase 6 FUNKTIONE
75. dung von Ablegen der Informationen Informationen in neuen z B in einer Datenbank Systemen Abb 4 1 c Weiterverwendung von in einem Softwaresystem enthaltenen Wissen Hinweise zu ausgew hlten Phasen des Reengineering Programmanalyse Selbstverst ndlich kommt es bei der angewandten Analysemethode auf die Art der vorher verfolgten Programmierstrategie an Ist das Programm gut strukturiert in welchem Umfang gibt es erl uternde Kommentare wie lang ist das Programm In der Regel l t sich jedoch sagen Das h ufig zu beobachtende Verfahren ein vorgelegtes 130 l ngeres Programm linear von oben nach unten zu lesen und zu verstehen ist i a wenig geeignet Vielmehr sollte man etwa so vorgehen e Analyse des Hauptprogramms e Analyse der globalen Daten e Analyse ausgew hlter Prozeduren die im Hauptprogramm aufgerufen werden In jedem Fall sind vorhergehende Programml ufe n tzlich um sich mit der Funktionalit t des Programms die besonders in den Men s und den Eingaben Ausgaben deutlich wird vertraut zu machen Um Zusammenh nge zwischen Programmteilen aufzusp ren kann man sich Prozedurtabellen anfertigen in die man die Prozeduraufrufe eintr gt siehe hierzu Cross Referenzen im Glossar 4 2 Beispielablauf eines Software Wartung Projekts Wie bereits in Kapitel 3 angek ndigt wird hier ber ein Reengineering Projekt berichtet das im Jahr 1994 mit Sch lern der 13 Jahrgangsstufe durchgef hrt wurde Als Softwareprodu
76. e Ausgaben erzeugen Abb 2 2 5 k 60 Die Art der Darstellung wird im folgenden an einem Programmsystem zur Auswertung von Multiple Choice Tests erl utert MC Tests werden h ufig bei Bewerbungsvorg ngen eingesetzt Zu jeder Frage eines l ngeren Fragebogens werden verschiedene Antworten vorgeschlagen Die zu testende Person mu eine Antwort ankreuzen PROCESS OUTPUT Grundlegende Listen ausgeben Diverse Statisti ken ausgeben Testpersonen Namen f Testvorbereitungen T durchf hren 1 1 L sungen der Auswerten und Daten Testpersonen f r Statistik 1 2 Richtige L sunge Auswerten und Daten f r Formulare zusam Formularkopf menstellen 1 3 Formulare f r die Testpersonen ausgeben Notenskala Abb 2 2 5 1 Darstellung von Multiple Choice als Modulhierarchie in einem HIPO Diagramm Anschlie end w ren die Prozesse 1 1 bis 1 3 durch weitere Diagramme zu beschreiben Hinweis Eine detaillierte Projektbeschreibung f r das Multiple Choice System findet man in Lehmann E Projektarbeit im Informatikunterricht Teubner Verlag 1985 das zugeh rige Programm ist in Turbo Pascal geschrieben und kann beim Autor erworben werden 61 2 2 6 Oberfl chendesign Masken Die Bedienoberfl che eines Programms ist die wichtigste Schnittstelle zwischen dem Computer und dem Benutzer der Software Beim Entwurf von Software m ssen viel M he und gestalterische Leistungen Design Qualit ten aufgewandt werd
77. e durch Testen einzelner Module oder Prozeduren Hierf r m ssen i a kleine Hilfsprogramme geschrieben werden die ein Hauptprogramm simulieren Schrittweise werden dann die weiter oben stehenden Module zusammen mit den schon getesteten Untermodulen berpr ft Je nach Organisation der Teamarbeit kann der Top Down oder der Bottom Up Test sinnvoll sein H ufig erg nzen sich beide Methoden Test eines einzelnen Moduls Ein solcher Test kann etwa so ablaufen Die Modulumgebung d h die anderen Module mit denen das zu testende Modul zusammenarbeitet seien bekannt ebenso die Testdaten s u die an das Modul bergeben werden Es geht nun um die Konstruktion eines geeigneten Hilfsprogramms Testrahmen mit folgenden Funktionen 1 Aufruf des zu testenden Moduls TM mit bergeben der Testdaten 2 Simulation aller von Modul TM aufgerufenen Module mit Erzeugung geeigneter Kontrollausgaben und ggf R ckgabe von Daten an TM 3 berpr fung der Ausgaben des Testmoduls TM ggf Kontrollausgaben Hinweise zur Fehlersuche e Protokollierung der Programmausf hrung e F r markante Stellen kann man im Programm vorl ufige zus tzliche Ausgabeanweisungen oder Bedingungen in das Programm einschieben denen Variable dort gehorchen m ssen e Wichtige Hilfsmittel sind Debugger bug engl Wanze debuggen Fehler beseitigen das sind Dienstprogramme mit denen man schrittweise die Ausf hrung des Programms verfolgen kann Das Programm kann
78. ei ist das entstehende System jeweils wieder auf die Anforderungen hin zu testen Phase VI Installierung des Systems Abnahmetest Abnahmeprotokoll Bei der Installation wird das Produkt in die Systemumgebung und die spezielle betriebliche Organisation des Auftraggebers eingebettet Der Auftraggeber f hrt einen Abnahmetest durch Au erdem erfolgt eine Benutzerschulung durch den Hersteller Dabei werden auch Benutzerhandbuch und Wartungshandbuch bergeben Phase VII Betrieb und Wartung Wartungs und Fehlerprotokolle Das Softwaresystem wird angewendet Eventuell auftretende Fehler oder nderungs w nsche werden notiert Gegebenenfalls werden Fehler vom Hersteller beseitigt Zu ge gebener Zeit erfolgen nderungen am System durch die es an ver nderte Gegebenheiten angepa t wird H ufig entstehen dabei neue Programmversionen Der Vorgang der An passung wird auch als Reengineering bezeichnet Hier setzt ein neuer Software Life Cycle ein allerdings mit anderen Schwerpunkten vergleiche Kapitel 4 Software W ar tung 22 2 1 2 Prototyping Der in 2 1 1 beschriebene Software Life Cycle hat sich als wichtiges Konzept f r die Entwicklung komplexer Software erwiesen Er ber cksichtigt jedoch nur in unzureichender Weise die Interessen des Auftraggebers oder des sp teren Benutzers Dieser formuliert zwar zu Beginn seine W nsche und Anforderungen an die Software mangels einschl giger Kenntnisse kann er sich jedoch oft nicht so
79. einen universellen Charakter so da sie f r eine Probleml sung mehr fach oder auch bei der Bearbeitung anderer Problemstellungen eingesetzt werden k nnen Das setzt allerdings eine geeignete universell brauchbare Formulierung voraus Derartige Prozeduren sollte man in Bibliotheken zusammenfassen um sie immer auf einfache Weise zur Verf gung zu haben Dieser Aspekt wird in Kapitel 2 2 4 beim Modulkonzept ausf hrlich behandelt Definition von Prozeduren Prozeduren m ssen im Vereinbarungsteil des bergeordneten Programmteils definiert werden Wie das Syntaxdiagramm zur Prozedurvereinbarung zeigt haben Prozeduren einen entsprechenden Aufbau wie ein Programm sie werden jedoch mit END beendet Die Prozeduraufrufe k nnen an jeder Stelle des Anweisungsteils des Pro gramms erfolgen Zwei Syntaxdiagramme erl utern die Zusammenh nge zwischen der Prozedurvereinbarung und dem Prozeduraufruf Prozedurvereinbarung r If zu Ga u 1 PROCEDURE gt Prozedur gt Parameterliste gt gt Block gt bezeichner I LO L L Eaa Prozedur L Prozedurkopf J Lrumpf Beispiel PROCEDURE Position x y INTEGER formale Parameter 39 BEGIN END Prozeduraufruf Eara ar Prozedur MH gt gt Ausdruck gt bezeichner L l Il gt gt Die im Prozedurkopf m glicherweise genannten Parameter sind sogenannte formale Parameter Beim
80. eitung an die Software Abteilung der Firma oder an ein Softwarehaus Nun mu zun chst gepr ft werden ob sich die Vorstellungen der Abteilung wie gew nscht realisieren lassen und wie gro der Kostenaufwand sein wird Mit diesen berlegungen befindet man sich dann bereits in der Phase der Problemanalyse die auch ergeben kann da die Umsetzung in ein passendes Softwareprodukt nicht m glich ist Beispiel 2 Der Fachbereich Englisch einer Schule u ert den Wunsch nach einem Vo kabellernprogramm und wendet sich damit an den Informatiklehrer Dieser m chte das Projekt mit seinem Informatikkurs realisieren In diesem Fall wird das Projekt durch den Auftrag des Fachbereichs Englisch initialisiert Nun beginnt eine l ngere Zusammenarbeit siehe Prototyping zwischen den Softwareentwicklern Informatiklehrer als Projektmanager Informatikkurs als Projektgruppe und den zuk nftigen Anwendern Englischlehrer Auftraggeber Englischkurs Benutzer Helfer beim Testen Nach diesen Beispielen verschaffen wir uns zun chst einen berblick ber die einzelnen Phasen einer Softwareentwicklung In diesem Zusammenhang wird auch auf das Kapitel 2 4 Checklisten verwiesen 19 Phase I Problemanalyse Anforderungsspezifikation Die Problemanalyse beginnt mit der Untersuchung des Einsatzfeldes des geplanten Softwareproduktes Der Istzustand mu aufgenommen die Rahmenbedingungen m ssen untersucht werden Es geht also um das Analysiere
81. ekts bzw der Fertigstellung der Software mu bei breiterer Anwendung des Produkts etwa in einem Betrieb eine Benutzerschulung erfol gen Diese wird i a in einem Lehrgang von einem Mitarbeiter des Software Herstellers durchgef hrt Bezeichnungen von Dateien W hrend des Projektablaufs entstehen zahlreiche Dateien so da man leicht den berblick ber diesen Dateienbestand verliert Hier empfiehlt sich eine passende Bezeichnung der entstandenen Dateien mit einer Kurzbeschreibung ihrer Funktion Man kann z B unter scheiden etwa bei einem Projekt Bezeichnungsvorschlag Fehler Verweisquelle konnte nicht gefunden werden Programmaquellen ski pas compilierte Programme ski exe Dokumentationstexte ski dok txt vom Programm benutzte Hilfsdateien ski bal Men s ski mas Bildschirmseiten Module ski_ml pas ski_m2 pas usw Testumgebungen ski tml pas Units ski_ul pas CASE Computer Aided Software Engineering CASE Systeme enthalten Werkzeuge mit denen Arbeiten innerhalb des Software Engineering Prozesses wesentlich unterst tzt werden Manche Produkte unterst tzen den gesamten Proze integrierte CASE Umgebung er fordern allerdings viel Einarbeitungszeit Derartige Software Entwicklungsumgebungen k nnen Systeme enthalten zur Projektplanung Projektkontrolle Maskenerzeugung ber setzung von Quellprogrammen Verwaltung von Modulbibliotheken Textverarbeitung usw Siehe auch Kapitel 2 2 6 Man kann unterscheiden z
82. ellen Das Hilfsprogramm MENUE Hinweis MENUE finden Sie auf der Diskette LEH TOOLS siehe Kapitel 7 Der Vorgang zur Men erstellung wird durch Informationen und Auswahl aus Men punkten gesteuert und ist leicht verst ndlich Die Vorgehensweise 1 Nach dem Starten des Programms MENUE EXE erh lt man die Information Mit diesem Programm kann man Men s konstruieren ansehen und ndern in denen man mit dem Cursor wandern und mit der Enter Taste einen Men punkt ausw hlen kann 2 Man erh lt nun das Auswahl Men ERSTELLUNG INSPEKTION NDERUNG VON MEN S 1 Erstellen eines Balkenmen s zu einem anderen Programm Speicherung 2 Ansehen eines vorhandenen Balkenmenues Balkenpositionen ausgeben 3 ndern eines vorhandenen Balkenmen s Speicherung 4 Lesen der Hilfe Dokumentation des vorliegenden Programms 5 Programmende Auswahl einer Option mit den Cursortasten AUF AB 64 bernehmen der Option mit der Taste RETURN 3 Mit der Cursortaste w hlt man z B Men punkt 1 und kann nun den Anweisungen folgen um die Textpositionen f r das Men und damit die Men punkte zu definieren und die Texte zu formulieren 4 Das ganze Men kann nun unter einem frei w hlbaren Namen z B testl bal in einer Datei abgelegt werden 5 Die Einbindung des Men s in ein Programm erfolgt durch den Aufruf der Pro zedur MENUE_WAHL aus der Unit BALK_U z B so Uses Balk_u dateiname testl bal menue_wahl green
83. ems wird dann besonders deutlich wenn man bei der Darstellung des Systems von nebens chlichen Details absieht sich also auf die wesentlichen Merkmale konzentriert Eine gute Strukturierung ist anzustreben beim e Systementwurf durch Modularisieren und Hierarchisieren e Programmieren durch Anwendung der Methoden der strukturierten Programmierung auf Daten und Algorithmen Strukturiertes Programmieren f hrt zu e einer besseren Programmaqualit t e einer Verk rzung der Programmierzeit e besserer Verst ndlichkeit des Programms e leichterer Testbarbeit e leichterer nderbarkeit Wartbarkeit des Programmsystems 35 e erleichtert bei komplexen Problemen das arbeitsteilige Vorgehen F r das strukturierte Programmieren sind folgende Aspekte wichtig e Zerlegung in Teilprobleme und damit zunehmende Verfeinerung Top Down Vorgehensweise e die Zerlegung orientiert sich an den Funktionen oder Datenobjekten des Systems sie ist problemorientiert also nicht rechnerorientiert e die Teilprobleme k nnen unbh ngig von den anderen bearbeitet werden e strukturiertes Programmieren bedeutet in der Regel ein Programmieren ohne Spr nge e die Verbindung zwischen den Teilproblemen wird durch Schnittstellen realisiert e manche Teilprobleme lassen sich so formulieren da ihre L sung sp ter wiederverwendet werden kann e die Struktur des Ausgangsproblems findet sich wieder in der Struktur der L sung des Problems Strukturier
84. en Einordnung in gr ere Bereiche entstand schlie lich ein bersichtliches Bild ber die anfallenden Problemstellungen siehe Abbildung 3 1 a Diese umfangreiche Zusammenstellung zeigt da die Bearbeitung all dieser Punkte in ei nem Projekt das bestenfalls ein halbes Jahr mit 3 Stunden Informatik pro Woche 8 Sch ler dauern darf unm glich ist Die Zielsetzungen m ssen stark eingeschr nkt wer den Die Anforderungsdefinition das abschlie ende Dokument zur Phase Problemanalyse Anforderungsdefinition das der Auftraggebers dem Software Hersteller vorlegt hier jedoch mangels eines echten Auftraggebers vom Kurs erstellt k nnte zwar ein solches um fangreiches System fordern jedoch m te der Software 97 Hersteller nach einer sorgf ltigen funktionellen Analyse in dem von ihm vorgelegten Pflichtenheft vermutlich starke Ein schr nkungen machen oder den Auftrag ablehnen TRABRENNBAHN ein Rennen Eintrittskarte Wetten abschlie en durchf hren Programmheft Pferde Reiter vorstellen Verkauf er ffnen Starterfeld Wettschein Wettarten Datei DOK PA3 TXT Pferd zur ckziehen Wettschein ankreuzen Fehlstart Wettschein abgeben Start Wettannahme sperren Betrag f r Wettschein berechnen Rennen auf Bildschirm zeigen Ticketmaschine Disqualifikation Wetten stornieren Siegerehrung Verschl sselung der Daten Einlauf best tigen Quittung mit Daten Daten abspeichern Eventualquoten angebe
85. en der Programmoberfl che einverstanden ist oder nderungsw nsche hat Daf r w rden die einzelnen Aufrufe und Eingaben durch vorl ufige Festlegungen zu simulieren sein In die Phase der Entw rfe f llt auch die Angabe von Testdaten f r die einzelnen Module Mit den Testdaten kann einerseits bereits hier ein Trockentest erfolgen Programmcode liegt ja noch nicht vor andererseits kann man aber beim Prototyping und erst recht in der Schule die Tests auch an den Programmteilen durchf hren zumal insbesondere die kleineren Programmteile heutzutage nach einer kurzen Entwurfs berlegung sofort am Rechner konstruiert werden k nnen Datenmodul Datenstruktur und Schnittstellen Modul T_DS_U PAS Die berlegungen in den vorhergehenden Phasen haben gezeigt da vier gro e Bereiche zu unterscheiden sind I Renntag initialisieren III Wetten Annahme II Ein Rennen durchf hren IV Wetten auswerten Gewinne auszahlen Zwischen diesen Bereichen m ssen Daten ausgetauscht werden Schnittstellen Bevor wir also an die Bearbeitung der Module gehen m ssen wir uns mit der Datenstruktur des Systems besch ftigen Die von uns erarbeitete Datenstruktur f r das System TRABREN NEN fa t die Daten folgenderma en zusammen Bereiche I und I Datei renntage FILE OF rennen Bereiche M und IV Datei wetten FILE OF wettschein Die Dateistrukturen bestehen aus geeignet zusammengestellten Verbunden 104 TYPE rennen RECORD tag STRING 8
86. en um ein benutzerfreundliches Erscheinungsbild der Bedienoberfl che herzustellen Es handelt sich damit um ein Teilgebiet der Software Ergonomie Beim Entwurf von Bedienoberfl chen m ssen z B folgende Fragen beantworten werden e Wie sollen die Informationen auf dem Bildschirm gruppiert und angeordnet werden e Wie qualifiziert sind die Benutzer sie sind in der Regel keine homogene Gruppe e Welche T tigkeiten sollen den Anwendern abgenommen werden ohne ihnen die Kompetenz zu nehmen Von einer Bedienoberfl che verlangen wir Funktionalit t und Attraktivit t Diese Eigen schaften spiegeln sich wider in einem funktionellen Design Wir unterscheiden hier zwei Arten von Bedienoberfl chen Benutzungsoberfl chen a Die Festlegung der Programmfortsetzung durch Auswahl eines Men punktes einer Option aus einer vorgegebenen Menge von Fortsetzungsm glichkeiten also aus einem Men Die w hlbaren Optionen sind i a in Men bildern angeordnet aus denen der Benutzer ausw hlen kann Dem Benutzer begegnen in den verschiedenen Program men u a folgende Bedienm glichkeiten zur Auswahl einer Option e Eingabe eines der Option zugeordneten Zeichens oder einer Zahl e Anfahren der gew nschten Option mit Cursortasten e Anklicken mit einer Maustaste Es folgt ein Beispiel f r eine Benutzeroberfl che T MENUE 1 THEATER PLATZBUCHUNG VERWALTUNG 1 Informationen ber Veranstaltungen 2 Platzbuchung 3 Theater Verw
87. en Datentypen Wir erl utern zun chst an einem allgemein bekannten Beispiel dem Datentyp INTEGER da der Begriff der Operation hier recht weit zu verstehen ist Man denkt bei ganzen Zahlen zun chst an die Operation Weitere Operationen auf dem Wertebereich von INTEGER sind jedoch z B Wertzuweisung an eine Variable nummer 2 Eingabe ber Bildschirm READLN nummer oder auch als Baustein Input_integer 1 2 Eingabe intwert 2 Ausgabe auf den Bildschirm WRITE zahl Vergleiche lt gt IF nummerl lt nummer2 THEN Dieser Datentyp ist allerdings unstrukturiert da INTEGER ein besonders einfacher Standarddatentyp ist Wir betrachten daher als weiteres Beispiel einen komplexeren strukturierten Datentyp der sich bei der Arbeit an einem Projekt SKI ergeben hat 44 Der konkrete Datentyp s_date formuliert in Turbo PASCAL Kopfzeile UNIT s_date INTERFACE Importschnittstelle USES Ino_u Crt hilfen_u s_hilf_u bild_u Exportschnittstelle ffentlicher Teil Liste von Bezeichnern f r die Wertebereiche TYPE farbe blau rot schwarz TYPE string2O STRING 20 TYPE string3 STRING 3 TYPE belag normal vereist steinig TYPE betrieb offen geschlossen TYPE satzinhalt voll leer TYPE pistensatz RECORD pistennummer string3 pistenname STRING schwierigkeit farbe lifte_unten_an lifte_unten_ab lifte_oben_an Lifte_oben_ab ARRAY 1 5 OF
88. enw nsche Spezifikation Entwurf Programmcode O amp o l Ai 80 200 oO O o 0 o 0 0 08 o o 7 SN J 8 7 KUNDE gt Analytiker Entwerfer Programmiererin O geforderte Eigenschaften gehen teilweise verloren L amp L unn tige Eigenschaften kommen hinzu 8 In einem Vortrag wurden von einem gro en Software Hersteller Anwendungs entwicklung u a folgende erw nschte allgemeine F higkeiten von Informatik Studenten genannt e F higkeiten sich in ein Anwendungsgebiet einzuarbeiten und dieses Wissen in technische Anforderungen umzusetzen e Technische Randbedingungen f r den Kunden verst ndlich darzustellen e Techniken der Systemanalyse eines vorhandenen DV Systems und Einarbeitung in die organisatorischen Rahmenbedingungen Welchen Beitrag kann dabei die Schule durch Projektunterricht leisten 159 9 In einem Fachbuch wird definiert Software Engineering ist eine Disziplin die mit ingenieurm igen Mitteln und konomischem Vorgehen dem Entwicklser hilft qualitativ hochwertige Software zu erstellen und zu pflegen Erl utern Sie die kursiv gesetzten Aspekte 10 Sie haben gerade ein DV Projekt in Arbeit oder planen es Formulieren Sie Ausbau stufen f r das geplante Produkt 11 Sie wollen ein komplexes Software Produkt verkaufen Welche Faktoren spielen f r den K ufer bei seiner Kaufentscheidung eine besondere Rolle Gehen Sie bei der Beantwortung besonders auf Qualit tseigenschaften ein Andere Kriterien k
89. er Ziehung u Vergleich mit Tip Statistik ter rerennne Anleitung Hilfen Abbruch Quit rer rer in VvP P wMNH Bitte mit dem Cursor ausw hlen An dem Hauptmen des Lottosystems erkennen wir die haupts chlichen Funktionen Tippen Ziehung Auswertung Statistik Nach Aufruf von Option 1 k nnen wir u a Tips von Hand eingeben Eine Option mit der Cursor auf ab Taste w hlen und die RETURN Taste dr cken HILFE COMPUTERTIPS HANDEINGABE TIPS ANSEHEN ZUM HAUPTMEN E20 r TO 6 aus 49 Beenden mit Name Ausgehend vom Hauptmen k nnen wir auch das Hilfemen aktivieren 34 e I LFE MENUER Ve a ee Allgemeine Lottoregeln De ee sterne Tippen Ziehung i EEEE E E Statistik Auswertung STONE pa SAE A EASE EAS Hauptmenue Geben Sie Ihre Wahl ein Modellbildung In den Naturwissenschaften und der Technik dienen h ufig Experimente dazu Informa tionen zur Best tigung oder Widerlegung von Hypothesen zu gewinnen Modelle werden dagegen oft zur L sung von Aufgaben eingesetzt deren Durchf hrung am Original selbst nicht m glich oder zu aufwendig ist Auch der Erstellung des Systems LOTTO ging eine Modellbildung voraus Realit t Ein Modell des komplexen Systems konstruieren Ein komplexes System ein Ausschnitt aus der Realit t Modellbildung Auswahl
90. erden 3 Die Eingabe von Datens tzen f r ein Pferderennen soll unter Beibehaltung des Mas kenaufbaus so abge ndert werden da Eingabekorrekturen in den einzelnen Feldern durch Cursorwanderung m glich werden 4 Die primitive Blockgrafik ist durch eine Simulation der Rennen auf dem Grafikbild schirm zu ersetzen 133 5 Die nderungen sind in nderungsprotokollen zu dokumentieren Wichtige Hinweise Zun chst sind Entw rfe anzufertigen und die Schnittstellen und m glichen Seiteneffekte zu untersuchen Erst dann kann zur Programmierung bergegangen werden Wenn m g lich sind dabei Bausteine zu verwenden Die Programmierung erfolgt nach den bekann ten Grunds tzen f r strukturierte Programme Au erdem ist so wenig wie m glich in die vorhandene Programmstruktur einzugreifen es soll also m glichst viel vom Altsystem bernommen werden Zun chst wurden die ersten drei Arbeitsauftr ge von je einer Sch lergruppe bearbeitet und erfolgreich abgeschlossen Daraufhin erfolgte eine Integration zu einem neuen System Hauptprogramm S1234 PAS Sie finden das gesamte neue System unter den Dateinamen S_ auf der Diskette zu diesem Buch Die Namen der Hilfsdateien Men s Masken Hilfetexte usw wurden gegen ber dem Altsystem nicht ver ndert Hinweis Vor dem Beginn Grafikprogrammierung wurde das eigentliche Reengineering Projekt unterbrochen um grundlegende Kenntnisse ber Grafikprogrammierung zu erarbeiten Weitere Kenn
91. erfreundlichkeit beurteilen 151 Benutzeroberfl che mit Tools 145 Benutzungsoberfl che gestalten 153 Herstellung komplexer Softwareprodukte 136 HIPO zu Weinhandlung 144 Katalogisieren von Sportinventar 156 Komplexe Problemstellung Abb erl utern 140 Checklisten 137 Komplexit tskriterien f r Programmsysteme 136 Kundenw nsche bei Softwareentwicklung 154 Datenstruktur Trabrennbahn 151 Lean Production 153 Lehrerrolle bei Projektarbeit 147 Methoden eines Software Ingenieurs 136 Modultest durch neutralen Tester 146 Programmdokumentation Bestandteile 146 Programmierpraxis 138 Programmiersprache Rolle der 154 Programmiertechnik quadratische Gleichung 138 Programmzugangskontrolle 148 Projektarbeit andere Arbeitsformen 156 Projektkontrolle Planungsschema 148 Projektleiter Diskussionsleiter Vergleich 147 Projektleiter Sch ler als 147 Projektleitung in Schule und Betrieb 137 Projektmanagement Befragung 138 Projektmanager Sch ler als 137 Prototyp in der Industrie 137 Prototyping 137 Prozedurkonzept Begriffe 140 Qualit t von Masken beurteilen 145 Qualit tsmerkmale aus Programmiersicht 145 Reengineering Ablauf 150 Reengineering Auftrag an Softwarehaus 151 Reorganisation eines Programmteils 149 Rollenspiel Software Kauf 145 SADT HIPO Vergleich 143 SADT Weinhandlung Abbildung erl utern 143 Schl sselqualifikation 136 Schl sselqualifikation beim Abitur 156 Schnittstellen zwischen Modulen 150 170
92. erscheiden zwischen den Zust nden Auftrag nicht existent Auftrag definiert Auftrag in Bearbeitung am Anfang etwa zur H lfte bearbeitet kurz vor Fertigstellung Auftragsbearbeitung unterbrochen Auftrag abgebrochen 158 Auftrag fertig Der Bearbeitungszustand sollte vom Projektmanager jederzeit abgefragt werden k nnen Hierzu sollte von der Arbeitsgruppe jeweils ein Formular aktualisiert werden etwa der folgenden Form Auftragsnummer 3 2 Auftragserteilung am 5 11 93 Auftraggeber Lehrer Aktuelles Datum 11 11 93 Ende der Bearbeitung Bearbeiter Simon Florian Auftragsbeschreibung Entwurf einer Eingabemaske f r die Daten der Skipisten Bearbeitungszustand Auftrag in Bearbeitung kurz vor der Fertigstellung Bemerkungen Die Positionen f r die Eingabe der Datens tze m ssen noch aufge schrieben werden Die Aktualit t und st ndige Verf gbarkeit dieses Dokuments dient gleichzeitig der Infor mation der anderen Projektgruppen Im Projektverlauf ergibt sich eine zeitliche Abfolge von Auftr gen Auftrag 1 beendet 5 10 93 Auftrag 1 1 Auftrag 1 2 Auftrag 2 beendet 10 10 93 E u Auftrag 2 1 Auftrag 2 2 Auftrag 2 3 Auftrag 3 in Arbeit Auftrag 3 1 Auftrag 3 2 Auftrag 3 11 Auftrag 3 12 beendet 159 Benutzerschulung Rechtzeitig vor dem Ende des Proj
93. es Team nachgewiesen hat da das von ihm bearbeitete Modul richtig arbeitet sollte man meinen da die Integration der Module zu einem Gesamtsystem keine besonderen Schwierigkeiten macht Leider ist diese Integration h ufig nicht so problemlos ber die Vorgehensweise kann man sich in den Kapiteln 2 1 1 und 2 4 informieren In jedem Fall ist es g nstig sich noch einmal einen berblick ber die Schnittstellen zwischen den verwendeten Modulen zu verschaffen In dem berblick wird die Turbo Pascal Unit CRT nicht ber cksichtigt Auch das Modul T_MO_U wird hier nicht betrachet da der Film schon ohne Ber cksichtigung der anderen Module erstellt wurde F r ihn sind insbesondere die Dateien MAS wichtig Diese ruft er als Bildschirmmasken jeweils als Ganzes auf den Bildschirm Projektunabh ngige Projektspezifische Module Module Modul t ds_u t hiu t ml_u t m2_u t_m3_u t m4_u Ino u Balk_u Bild_u name t_ds_u Daten modul thi u Hilfs X X X modul tml u Renntag X X X X X initialis t m2 u Rennen X X t m3_u Wettsch X X X X X abgeben t m4 u Wetten X X X X X auswer ten Baustein Ino_u Baustein Balk_u Baustein Bild_u 119 X Das in der 1 Spalte der Tabelle stehende Modul benutzt den in der 1 Zeile stehenden Modul Beispiel t_m1_u benutzt unter anderem t_ds_u und noch vier weitere Module Es wird unterschieden zwischen den projektspezifischen Modulen fett und kursiv gedruckt und den projekt
94. essen setzen wir die Betrachtungen von Kapitel 1 1 fort und vertiefen diese Ein System S ist eine Menge von Elementen E die durch Beziehungen miteinander verbunden sind und gemeinsam einen bestimmten Zweck erf llen S ED ED Das System S besteht aus den Teilsystemen El bis E6 Diese en sind durch Beziehungen miteinander E6 verbunden Abb 2 2 1 a System und Teilsysteme Ein Problem ist die Differenz zwischen dem was vorhanden ist dem IST und ei ner Vorstellung von der L sung des Problems dem SOLL Vorstellung vom IST Zustand SOLL Zustand Ein Problem Abb 2 2 1 b Was ist ein Problem Das Systemdenken ist eine Denkweise um komplexe Probleme einer L sung zuzuf hren 30 Ausschnitte aus der Realit t beschreiben Die folgende Abbildung zeigt eine Gedankensammlung die das komplexe System ZAHLENLOTTO beschreibt Mit dem Auftrag Entwerfe eine Abbildung die den gt Lebenslauf eines Lottoscheins lt beschreibt wurde es von Sch lern erarbeitet die au er dem den Auftrag hatten nach Einsatzm glichkeiten des Computers innerhalb dieses Sy stems zu suchen So erkl ren sich die kursiv gedruckten Stichw rter F r einen Ausschnitt aus dem System steht ein in Turbo Pascal 6 programmiertes und auch schon recht komplexes Teilsystem LOTTO zur Verf gung das die Bereiche Tippen Ziehung Auswertung umfa t Entwurf und Herstellung des Lottoscheins Datentr ger CAD Design Vision Elekt
95. etails Wir blicken IN das System und analysieren es wir erkennen Teilsysteme Wir blicken auf das System indem wires benutzen Komplexes INFORMATIKSYSTEM Wir k nnen unsere Kenntnisse ber das System verwenden und das System warten und damit neue Konstruktionen hinzuf gen Abb 2 2 1 d Sichtweisen auf komplexe Systeme Im Informatikunterricht interessieren uns an komplexen Systemen die Aspekte e benutzen anwenden die Sicht von au en auf das System e analysieren der Blick in das System e konstruieren der Bau eines neuen Systems e warten die Anpassung eines vorhandenen Systems an neue Anforderungen Der Zweck eines Softwareprodukts besteht in seiner Anwendung f r von ihm verlangte Aufgaben Schon die Anwendung und die Dokumentation verraten uns viel von dem Leistungsumfang des Systems so da wir damit schon den Anfang einer Systemanalyse vollzogen haben Durch das Hineinsehen in das System aus welchen Bausteinen besteht es wie sind die Datenstrukturen wie wurden die Teilprobleme programmiert setzen wir die Analyse fort Diese Kenntnisse k nnen wir nutzen um das System an m glicherweise ver nderte Gegebenheiten anzupassen es zu warten 32 Unser Hauptaspekt ist jedoch in diesem Buch die Konstruktion komplexer Systeme Aber wir k nnen aus vorhandenen Systemen viel f r dieses Vorhaben lernen Wir erl utern die Ausf hrungen an dem Programmsystem LOTTO Tippen von Hand oder Comput
96. ext 7 Modulspezifikation 8 Spezifikation der Prozedurk pfe Prozeduraufruf Tabelle cross reference 9 Spezifikation der Datenstrukturen 10 spezielle Erl uterungen 11 Programmcode 12 Anhang 1 Testdaten 13 Anhang 2 Revisionsprotokoll Versionsnummern Aus der Formulierung der Anforderungsdefinition durch den Auftraggeber und des Pflichtenheftes durch den Hersteller ergeben sich m glicherweise die Unterschiede zwischen dem Gew nschtem und dem Machbaren Diese k nnen f r eine sp tere Wartung nderung Erweiterung des Systems von Nutzen sein Der erste entscheidende Schritt f r den Entwurf ist das Auffinden einer geeigneten Zerlegung die sich dann in der Regel als Modulhierarchie darstellen l t An ihr erkennt z B ein Systembetreuer in welches Modul er sich hineinbegeben mu um eine geplante nderung vorzunehmen Zudem sieht er die bergreifenden gegenseitigen Abh ngigkeiten Tiefergehende Abh ngigkeiten lassen sich z B an cross reference Tabellen erkennen gt Glossar Danach kann er sich den einzelnen Spezifikationen zuwenden die sich auch im Programmtext widerspiegeln Als n tzliche Hilfe f r die berpr fung eventueller nderungen erweist sich die Zusammenstellung von Testdaten Programmrevisionen m ssen festgehalten werden Der Werbe Prospekt Produktinformation Herstellung von Vortragsmaterial Eine interessante weil sehr realit tsnahe Aufgabenstellung kann darin bestehen eine Werbeschri
97. fremde Teilmengen eingeteilt werden deren Elemente jeweils gleiche oder hnliche Eigenschaften haben Von die sen Klassen werden dann nur jeweils wenige Elemente eingegeben e Testmengen sollen typische und untypische Eingabewerte enthalten Untypische Wer te sind z B leere Eingaben gr te Werte kleinste Werte 77 e Man berlege sich vor der Durchf hrung welche Ausgaben das Programm auf die Testeingabe hin liefern mu 78 Strategien zur Testdurchf hrung e Man unterteilt das Programm in zusammengeh rige Abschnitte und testet diese ein zeln Wenn das Programm nach den Prinzipien der strukturierten Programmierung geschrieben ist ergeben sich solche Abschnitte von selbst So geschriebene Pro gramme sind testfreundlich e Strategie der Anweisungs berdeckung Prinzipiell kann jede Anweisung des Pro gramms zu einem Fehler f hren so da eine Strategie sinnvoll erscheint bei der jede Anweisung mindestens einmal durchlaufen wird Man k nnte daher die Menge der Testdaten so w hlen da es zu jeder Programmanweisung eine Eingabe gibt bei de ren Verarbeitung diese Anweisung ausgef hrt wird e Strategie der Entscheidungs berdeckung Grundlage ist eine Darstellung des Al gorithmus in einem Programmablaufplan Hier kann man die Menge der Testdaten so w hlen da zu jedem Pfeil des Programmablaufplans eine Eingabe Me punkt erfolgt bei deren Verarbeitung das Programm den Pfeil durchl uft Je nach Problem und Program
98. ft f r das entstandene Produkt zu entwickeln Das kann teilweise bereits w hrend der Produktentwicklung geschehen oder auch als erg nzende Aufgabe danach Wir k nnen uns auch in die Lage eines Firmenvertreters versetzen der das Produkt werbewirksam anbieten soll etwa auch in einer Veranstaltung zur Repr sentation des Produkts Mit dieser Idee k nnen mehrere Ziele verfolgt werden Der Werbeprospekt f r Kaufinteressenten 1 Herausarbeitung der wichtigsten Leistungen des Produkts F higkeit der Trennung von Wesentlichem und Unwesentlichem Damit wird u a eine Reflexion ber die geleistete Arbeit erreicht 2 Durchf hrung zielgerichteter berlegungen zur ansprechenden Gestaltung der Wer beschrift Design Entscheidungen 3 Kennenlernen und Benutzen von Programmsystemen die diese Design Entscheidun gen realisieren k nnen Textverarbeitungssystem Desktop Publishing Grafiksysteme usw 4 Herstellen einer Demonstrationsversion des Produkts hnliche Zielsetzung wie in a 83 5 Auswahl und Herstellung von Vortragsmaterial Demo Version Folien usw 84 Entwicklungsdokumentation f r die Projektbeteiligten Die vorstehenden berlegungen zeigen da viele Teile der Gesamtdokumentation erst in der Endphase der Produktentwicklung erstellt werden k nnen Die sofortige projektbegleitende Dokumentation Entwicklungsdokumentation gewinnt in der Schule ihren Wert insbesondere dadurch da man sp ter den Ablauf de
99. g mit Software Engineering erl utert werden soweit sie nicht schon im Buchtext n her betrachtet wurden Die meisten Darstellungen im Buch sind programmiersprachenunabh ngig Die Program miersprache PASCAL Turbo PASCAL 6 wird wichtig beim Angebot an Hilfspro grammen und wiederverwendbaren Bausteinen Kapitel 2 2 6 2 2 7 und beim Trabrennbahnprojekt in Kapitel 3 Die MS DOS Begleitdiskette SOFTWARE ENGINEER Turbo PASCAL 6 enth lt nicht nur Quellprogramm und compiliertes Programm zum Trabrennbahnprojekt das hiermit auch f r Wartungsarbeiten zur Verf gung steht sondern auch eine zweite Version des Trabrennbahrn Programms nach einem Wartungsprojekt siehe Kapitel 4 Kapitel 7 verweist auf weitere B cher und Disketten in Zusammenhang mit Projektarbeit Zum Adressatenkreis des Buches geh ren Sch ler Lehrer Studenten Dozenten und alle die sich mit der Konstruktion von Software besch f tigen An Sch ler und Studenten Projektarbeit ist die Arbeitsform im Informatikunter richt die wegen ihrer Praxisn he besonders wichtig ist In der beruflichen Praxis wer den nicht nur im Bereich der Datenverarbeitung komplexe Probleme mit dieser Arbeits form gel st so da viele der hier vermittelten Methoden ber die Informatik hinausge hen z B Teamarbeit Nach allen Erfahrungen macht diese Arbeitsform zudem viel Spa Ich hoffe da auch Sie diese Freude empfinden wenn Sie Ihr Projektthema schrittweise einer L sung zuf hren u
100. g wiederverwendbarer Bausteine Die objektorientierte Sicht Ein komplexes System besteht aus abgeschlossenen von einander unabh ngigen Einheiten den Objekten auch Instanzen genannt Gleichartige Objekte werden der gleichen Klasse zugeordnet Aus dem Text in Kapitel 2 sind die ab strakten Datentypen und die Prinzipien der Datenkapselung und des Information Hiding 162 bekannt Die Objekte bestehen aus Daten Instanzvariablen die den ver nderlichen Zu stand des Objekts beschreiben und aus den Methoden den Aktionen auf den Daten W hrend der Laufzeit werden Methoden ausgef hrt bei denen die Objekte Nachrichten an andere Objekte verschicken k nnen Objekte sind also Ansammlungen von Daten die auf Nachrichten durch Ausf hrung von Methoden reagieren Vorhandene Bausteine brauchen bei kleinen nderungen nicht mehr neu geschrieben zu werden Der objektorientierte Ansatz erm glicht es hnliches Verhalten hnliche Baumuster auf einfache Weise auszudr cken Die Konzepte der Klasse und der Vererbung dienen dazu Gemeinsamkeiten und Verallgemeinerungen mit programmiersprachlichen Mitteln zu beschreiben Objektbasierte Softwaresysteme bestehen aus untereinander durch Nachrichten Kommuni zierenden Objekten Herk mmliche Software dagegen ist prozedurorientiert die Daten und die Operationen darauf sind i a nur lose gekoppelt Unterprogramme bergeben anderen Unterprogrammen Daten zur Manipulation Pr sentation von Projektergebnis
101. g40 5 PROCEDURE Input_integer x y INTEGER input_aufforderung STRING VAR zahl INTEGER zahllaenge INTEGER 6 PROCEDURE Input_real x y INTEGER input_aufforderung STRING VAR zahl real zahllaenge INTEGER 7 PROCEDURE Input_zeichen x y INTEGER input_aufforderung STRING VAR antwort CHAR erlaubte_zeichen zeichenmenge 8 PROCEDURE Input_string x y INTEGER input_aufforderung STRING VAR input STRING stringlaenge INTEGER erlaubt Zeichenmenge 9 PROCEDURE Read_i VAR i INTEGER 10 PROCEDURE Read_r VAR r REAL 11 FUNCTION Eoln_n BOOLEAN Beispiel einer Funktions Spezifikation FUNCTION Holetaste INTEGER Diese Funktion holt eine Taste Eingabe eines Zeichens c und wandelt das Zeichen in den entsprechenden Integer Wert des ASCIH Codes um Dieser wird dann weitergegeben z B zwecks Abfragen Handelt es sich dabei um eine Sondertaste falls 69 c lt gt 0 wird zum ASCII Code ohne Sondertaste die Zahl 256 addiert So kann z B abgefragt wer den um welche Tasten es sich handelt Programmier Beispiel PROGRAM x USES Ino_u VAR bewegung INTEGER BEGIN bewegung Holetaste IF bewegung 27 escape THEN BEGIN WRITE Programm Abbruch EXIT END END Ein Baustein f r Hilfetexte und Informationen Output textdatei Hilfen werden vom Benutzer an verschiedenen Stellen eines Programmsystems erwartet Diese Hilfen k nnen mehrere Funktionen erf llen
102. gef hrten Reegineering Projekts mit der neuen Version S und denselben Hilfsdateien verfolgt werden kann Die Namen der Dateien zur T Version finden Sie auf den Seiten 111 und 117 von Kapitel 3 4 Damit Sie das Reengineering Projekt mit der T Version oder auch der S Version durchf hren k nnen werden die verwendeten Baustein Bibliotheken auf der Diskette zur Verf gung gestellt Es sind dies die Units 1 Ino_u tpu Turbo Pascal 6 Ino_u pas Quelldatei 2 Balk_u tpu Turbo Pascal 6 Balk_u pas Quelldatei 3 Bild_u tpu Turbo Pascal 6 Bild_u pas Quelldatei Sie haben damit die M glichkeit auch in anderen Turbo Pascal Versionen zu arbeiten so da die vorliegende Diskette in sich abgeschlossen ist Allerdinsgs fehlen auf dieser Diskette die ausf hrlichen Dokumentationen dieser Units Beispielanwendungen sowie weitere Baustein Bibliotheken und Hilfsprogramme zur Men und Maskenerzeugung Programme MENUE und BILD_DEF Diese und weitere Dateien befinden sich auf der Diskette LEH TOOLS Wenn Sie also in Ihrem Informatikkurs konsequent mit Bausteinen und Men erzeugungshilfen arbeiten wollen empfiehlt sich die Anschaffung dieser Diskette und die des dazugeh rigen Buches Lehmann E Programmieren in Turbo Pascal mit Bausteinen D mmler Verlag 1994 siehe Kapitel 7 2 167 168 7 2 Oberfl chen und Bausteine LEH TOOLS Diese Diskette geh rt zu dem Sch lerbuch Lehmann E Programmieren in Turbo Pascal mit
103. gew hlte T tigkeiten interpretiert Gesetze und wendet sie an sucht das wirtschaft lich sinnvolle definiert die Durch f hrbarkeit als Wirt schaftlichkeitspro blem Nutzen gt Kosten stellt her erstellt das Produkt entwickelt theoreti sche Erkenntnisse entwickelt eine Ver suchsumgebung bzw einen Prototyp geht unkonventionell vor 11 Der Ingenieur erzeugt eigenst ndige Entwicklungen sucht das technisch Anspruchsvolle definiert die Durch f hrbarkeit als techni sches Problem Werkzeuge Techno logie vorhanden entwickelt erstellt den Plan f r das Produkt bzw f r dessen Herstellung wendet theoretische Erkenntnisse an entwickelt ein Pro dukt geht systematisch standardisiert vor Abb 1 2 a Arbeitsweise in verschiedenen Berufszweigen nach H J Ott Das ingenieurgem e am Software Engineering in der Zeitschrift Softwaretechnik Trends Februar 1994 Beide gehen systematisch vor orientieren sich bei ihrer Arbeit an pr zisen aber unterschiedli chen Zielvorstellun gen haben die Entstehung eines fertigen Pro dukts im Auge wenden mathemati sche Methoden an sind im naturwissen schaftlichen Bereich t tig sind sch pferisch kreativ und formge bend t tig indem sie etwas erfinden und Ideen realisieren Die T tigkeiten des Software Ingenieurs orientieren sich an der letzten Spalte Er mu etliche der genannten Eigenschaften in sich vereinen Ein g
104. gsfunktion Dummyroutine f r die Anwendung Abb Modultest Die Definition der Testdaten kann in einer Textdatei erfolgen Hier werden die Belegungen globaler Variablen Eingabeparametern und R ckgabewerten f r die Aufrufe zu den ein zelnen Testf llen festgelegt Siehe Kapitel 2 2 8 Validierung Das Testen im dynamischen Ablauf mit Testdaten siehe Test Wartung a Arbeiten die n tig sind um ein System bei unvorhergesehenen Vorf llen wieder lauf f hig zu machen b Anpassung eines Systems Programms an ver nderte Gegebenheiten Reengineering siehe auch Kapitel 4 Zuverl ssigkeit Ein Softwareprodukt ist umso zuverl ssiger je h her der Grad der Korrektheit Ausfallsi cherheit Robustheit gegen ber falscher Bedienung Konsistenz Entwicklung des Produkts nach vereinheitlichenden Gesichtspunkten und Vollst ndigkeit bez glich der angeforderten Leistungen ist 166 7 Disketten 7 1 Trabrennbahn SOFTWARE ENGINEER Die Diskette SOFTWARE ENGINEER f r DOS Rechner geh rt zu dem hier vorliegen den Buch Sie erm glicht a das Nachvollziehen der Ausf hrungen zum Projektablauf Trabrennbahn in Kapitel 3 Hauptprogramm T1234 EXE b die Durchf hrung eines Reengineering Projekts Trabrennbahn Neu siehe Kapitel 4 c das Nachvollziehen des Reengineering Projekts aus Kapitel 4 Hauptprogramm S1234 EXE Zu a und b dienen die Dateien T und die dazugeh rigen Hilfsdateien w hrend c anhand eines durch
105. gt folgendes an I Pferdenamen 2 Jockeybesetzung 3 Startnummern 4 Wettquoten Die Schautafel wird zentral vom Rechenzentrum mit Informationen gespeist Au erdem wird w hrend des Rennablaufes st ndig die Einhaltung der Rennregeln ber Kameras und Monitore vom Schiedskommitee berwacht Die Schiedsrichter haben die M glich keit sich die einzelnen Bilder nachtr glich in verschiedenster Weise anzusehen Kommentar des Lehrers In dem Beitrag wird in erster Linie der sog Istzustand geschildert eine f r die Ein sch tzung des Projekts wichtige Dokumentation Eine Ideensammlung konnte hier auch verstanden werden als Zusammenstellung von durch den Computer zu bearbeitenden Sachverhalten An Informationsm glichkeiten zur Istanalyse Problemanalyse des komplexen Systems Trabrennbahn standen zur Verf gung e Die Zeitschrift Traber aktuell mit Informationen zu den einzelnen Rennen mit Handlungsanweisungen f r das Wetten und mit Artikeln zum Anwendungsbereich e Wettscheine Mariendorf Wettslip mit Quittung Beleg e F hrung durch das Rechenzentrum mit dem RZ Leiter e Ansagen des Stadionsprechers Anzeigetafel Monitorbild vom Rennverlauf e staatliche Wettvorschriften Wettsteuer usw e Beobachtungen vor Ort u a Befragungen von Angestellten und Wettern In der Ideensammlung zum Projektthema wurden zun chst alle Einf lle notiert so da eine umfangreiche zun chst ungeordnete Liste entstand Nach einer m hsam
106. h Design Entscheidungen treffen Entwerfen Modularisieren Programmieren Tools anwenden k nnen Das Ziel ist die Erstellung eines Softwareprodukts einschlie lich einer benutzer und wartungsbezogenen Dokumentation Aspekte der Wartung von Software Benutzung und Analyse von Software Einsatz von Methoden zur Durchf hrung von nderungen an der Software Anderungsdokumentation 16 Figur 1 3 a Aspekte bei Projektarbeit im Informatik Unterricht Software Engineering in Projektarbeit ist also ein komplexes daf r aber sehr interessantes Unternehmen in das Sie viele Ihrer erworbenen Kenntnisse einbringen und zahlreiche neue Kenntnisse erwerben k nnen Software Engineering bzw Projektarbeit mu selbstverst ndlich im vorhergehenden Unterricht angemessen vorbereitet werden In der Regel haben Sie im vorhergehenden Unterricht auch den Bearbeitungszyklus Analyse Entwurf Programmierung Testen Verbesserungen schon bei anderen weniger umfangreichen Problemen durchlaufen so da der Einstieg in komplexere Fra gestellungen nicht allzu schwer zu sein scheint zumindest nicht bei den algorithmischen Fragestellungen F r welche Zwecke kann man in der Schule umfangreichere Software herstellen 1 Es kann sich bei dem Produkt um Software handeln deren Einsatz in anderen Schul f chern vorgesehen ist Dann sind die Lehrer dieses Faches und ihre Sch ler die Benut zer 2 Die Software kann etwa auch f r
107. h oben gesetzt werden Geht das f r die aktuell betrachtete Dame nicht so wird sie vom Brett entfernt und es geht bei der vorigen Dame weiter indem diese eine Zeile nach oben gesetzt wird 52 Man erkennt da die Texte in den einzelnen Strukturbl cken des Struktogramms Inhalte unterschiedlichen Umfangs beschreiben Die Frage in Block 7 Ist die Dame die letzte l t sich in einer einzigen Zeile programmieren IF damenindex n THEN dagegen bedarf der Block 3 einer genaueren Betrachtung ein weiteres Struktogramm nun f r dieses Teilproblem entsteht Aus ihm resultiert sp ter die l ngere Prozedur Vorruecken_und_pruefen 4 Aufgaben 3 Das Spielbrett zeigt eine m gliche Spielsituation An welcher Stelle im Struktogramm befindet man sich 2 In welchem Struktogrammteil steckt am meisten Programmierarbeit Was passiert im Struktogramm wenn man eine L sun 1 2 3 4 efunden hat z B die erste L sung f r Dame 1 auf A2 EN BCD ird nach einer zweiten L sung f r Dame 1 auf A2 gesucht Ja denn man setzt in Block 3 fort Programmablaufpl ne Bild Bedeutung F r Eingaben input Ablauflinien und Ausgaben output gt F r Operationen Verarbeitung process Zusammen f hrung Unterprogramms Verzweigung durch eine Bedingung F r Aufruf eines Anfang Ende oder Zwischenhalt O bergangsstelle Abb 2 2 5 d Bilder f r Programmablaufpl ne Konnektor 33 Ausgabe Formel W G P 100 I
108. h erhalten F r welche Zwecke haben Sie es benutzt M glicherweise erscheint es Ihnen als berfl ssig zu dem Softwareprodukt welches Sie gerade z B im Schulunterricht bearbeiten eine l ngere Erl uterung aufzuschreiben Schlie lich k nnen Sie das System aufgrund ihrer intensiven Arbeit daran verst ndig benutzen und sind auch in der Lage eventuelle nderungen durchzuf hren Was aber ist in einem halben Jahr Was ist wenn andere Sch ler das System sp ter berarbeiten sollen Andererseits werden Ihnen Ihre eigenen Erfahrungen mit Software zeigen da eine gute Dokumentation der Software n tig ist um damit insbesondere auch vertieft umgehen zu k nnen Deshalb darf man sich nicht auf das hergestellte lauff hige Programm beschr nken sondern mu es dokumentieren Auch in der Datenverarbeitungspraxis gibt es in diesem Zusammenhang erhebliche Probleme dort kommt in der Regel noch der Termindruck bei der Entwicklung der Software dazu der eine angemessene Dokumentation erschwert Wie oben schon bemerkt ist die Dokumentation des Systems in erster Linie f r andere Benutzer oder Programmierer bestimmt und f r diese auch unbedingt n tig Die berle gungen zeigen aber auch da es sehr auf die Qualit t der Dokumentation ankommt und weniger auf einen gro en Umfang 80 Die Dokumentation eines Softwareprodukts darf nicht zu einer Informationsflut f hren die die entscheidenden Aspekte verdeckt und den Anwender Systembet
109. hen Bereichen etwa der Wirtschaft und Verwaltung immer mehr Datenverarbeitungsanlagen installiert werden die immer komplexere Aufgaben zu bearbeiten haben Dazu mu te passende hochwertige Software entwickelt werden die nach ihrer Implementierung auch eine st ndige Wartung angesichts neuer Anforderungen erm glichte Wir m ssen also beim Software Engineering unterscheiden zwischen e Neuentwicklung von Software e Wartung von Software Reengineering d h Anpassung an ver nderte Gegebenheiten Der Begriff Engineering weist darauf hin da versucht wird die komplexen Anforde rungen an die Programmsysteme mit ingenieurm igen Methoden zu bew ltigen Ein Blick in Fachzeitschriften zur Datenverarbeitung zeigt da man sich immer wieder neue Gedanken macht wie man qualitativ hochwertige gro e Softwaresysteme rationell und damit auch mit m glichst wenig Kosten herstellen kann Dabei wird die Herstellung der Software teilweise in den eigenen Datenverarbeitungsabteilungen der Firmen vorgenom men die die Software ben tigen oder die Auftr ge werden an spezialisierte Firmen Softwareh user vergeben Was ist mit ingenieurm igen Methoden gemeint Wir versuchen uns die Vorgehens weise von Ingenieuren zu verdeutlichen indem wir mit Vertretern anderer Berufszweige vergleichen Der Jurist in der Recht sprechung Betriebswirt Handwerker bzw der Arbeiter in der Ferti gung Physiker Chemiker Werbegrafiker Aus
110. here Wartungsarbeiten k nnen aber m glicherweise sp ter erneut zu einem projektartigen Vorgehen f hren Reengineering sofern ein entsprechender Auftrag vorliegt 93 3 Das Projekt Simulation einer Trabrennbahn Auf den folgenden Seiten wird der Ablauf eines Projekts geschildert Es handelt sich um ein Projekt das mit 8 Sch lern der Klasse 13 im Schuljahr 1988 89 durchgef hrt wurde Das Thema Simulation einer Trabrennbahn erwies sich aus verschiedenen Gr n den als attraktiv e Realit tsnah Besuch einer Trabrennbahn m glich e anfangs offene Themenstellung Thematik sehr umfassend Passendes kann ausge w hlt werden Beschr nkung auf Teilbereiche ist m glich e interessante Algorithmen aus verschiedenen Bereichen e M glichkeit des Einsatzes von Grafik e umfassendes Datenmaterial Arbeit mit Dateien e Notwendigkeit guter Benutzeroberfl chen ein verschiedenen Teilbereichen e Notwendigkeit der Konstruktion von Eingabemasken Die Darstellung des Projektablaufs soll den tats chlichen Ablauf m glichst gut wi derspiegeln u a wird verschiedentlich auf Sch lerbeitr ge zur ckgegriffen In weiten Teilen hat die Dokumentation daher den Charakter einer Entwicklungsdokumentation siehe Kapitel 2 3 Hinweis Allerdings k nnen hier aus Platzgr nden nicht alle im Verlauf des Projekts erstellten Schriften abgedruckt werden Es handelt sich um eine repr sentative Auswahl Bei der Realisierung der Entw rfe wurde berei
111. herweise sp ter auf Grund ge nderter Anforderungen war ten soll 4 Nennen Sie Merkmale die Sie am Kauf einer Software hindern w rden 148 Aufgaben zu Kapitel 2 2 9 Das Testen von Programmen Testmethoden 1 Begr nden Sie Wenn innerhalb eines gr eren Systems ein Modul getestet werden soll so sollte man nicht den Konstrukteur des Systems einsetzen sondern einen anderen Tester w hlen 2 Erl utern Sie die Aussage Man kann beim Testen immer nur die Anwesenheit von Fehlern nicht jedoch ihre Abwesenheit nachweisen 3 Oben wird vom Test fertiger Softwareprodukte gesprochen Sie erw gen den Kauf ei nes Softwareprodukts Welchen Lieferumfang w rden Sie von dem Softwareprodukt erwarten Formulieren Sie G tebedingungen an das Softwareprodukt die f r Ihre Kauf entscheidung ma geblich sein k nnen Aufgaben zu Kapitel 2 3 Dokumentation Dokumentationshilfsmittel 1 Nennen und erl utern Sie die wesentlichen Gr nde f r die Anfertigung einer Dokumentation eines Softwareprodukts Welche Schwierigkeiten ergeben sich bei der Dokumentation 2 Warum mu man zwischen Benutzer und Wartungshandbuch unterscheiden Was bedeutet in diesem Zusammenhang der Begriff Wartung Nennen Sie Bestandteile der Dokumentation die nur in das Wartungshandbuch geh ren 3 Schreiben Sie einen Werbeprospekt f r das gerade in Arbeit befindliche Softwarepro dukt bzw f r ein Ihnen bekanntes Softwareprodukt 4 Kann man die Dokument
112. hiedener F lle geht sind Baumdiagramme von gro er Bedeutung Zum Beispiel l t sich f r das obige Damenproblem ein Baumdiagramm mit den m glichen Damenpositionen anlegen in dem man den Backtracking Algorithmus gut verfolgen kann im Beispiel beginnend mit der Position A2 von Dame 1 f r das 4 Damenproblem Man erkennt da es f r jede Damen Startposition A Zeile jeweils 64 grunds tzliche M glichkeiten f r die Damenstellungen gibt insgesamt also 256 M glichkeiten Davon scheiden viele aus der Backtracking Algorithmus erkennt das sehr schnell A2 gt B1 geht nicht A2 gt B2 geht nicht A2 gt B3 geht nicht A2 gt B4 geht A2 gt B4 gt C1 geht A2 gt B4 gt C1 gt D1 geht nicht A2 gt B4 gt C1 gt D2 geht nicht A2 gt B4A4 gt C1 gt D3 geht damit ist eine L sung gefungen Die hier genannten Wege lassen sich im Baumdiagramm gut verfolgen vorw rts und auch r ckw rts Man erkennt dabei wie gewisse Aste des Baumes wegfallen bzw nicht mehr untersucht werden m ssen Die Bedeutung von Baumdiagrammen zeigt sich auch in ihrer Verwendung als Hierar chieb ume Wahrscheinlichkeitsb ume Suchb ume und weiteren Problemen D1 55 D2 C1 D3 Abb 2 2 5 f Das 4 Damen Problem D4 DI D2 Dame 1 steht auf Feld A2 oO D3 dann gibt es 64 M glich lt D3 keiten f r die anderen l DI p2 drei Damen in den C3 D3 nu Spalten B C D DI p2 C4 D3 D4
113. ich 156 f r nur Wettscheinautomat DM 429 90 DM 19 95 K nftige Updates DM 8 95 bergreifende Aufgabenstellungen 1 Annonce aufgeben e Sie haben im Verlauf Ihres Informatikunterrichts an verschiedenen Projekten gear beitet und dabei Software neu entwickelt oder auch ltere Software gewartet e Sie sind Personalchef eines Betriebes in dem Software entwickelt oder gewartet wird e Sie wollen eine Annonce in einer DV Zeitung aufgeben in der Sie einen qualifizier ten Mitarbeiter f r diese T tigkeiten suchen a Welche Kenntnisse F higkeiten und Eigenschaften eines zuk nftigen Mitarbeiters w rden Sie in der Annonce nennen stichwortartig wie es in der Annonce stehen k nnte b Begr nden Sie Ihre Auswahl nur bzgl der charakterlichen Eigenschaften des Bewer bers 2 Bei der Softwareherstellung ist es von gro em Vorteil wenn man die Gestaltung der Benutzungsoberfl che vollkommen getrennt von dem sonstigen Programm durchf hren kann a Erl utern Sie den Begriff der Benutzungsoberfl che b Begr nden Sie die obige Feststellung 3 Im folgenden finden Sie Ausz ge aus einem Aufsatz ber ein spezielles Produk tionsverfahren a Inwiefern sind viele der hier genannten Aspekte auch f r die Arbeit an einem Informa tik Projekt zutreffend Nennen Sie diese Aspekte b u ern Sie sich zu dem eingerahmten Text Jedes Team sieht Schlankmacher Lean Production Die Unternehmensdi t f r mehr
114. ichen Rechtecke und Dreiecke malen und mit dem gew nschten Text f llen kann Solche Grafikprogramme sind in der Regel in Textverarbeitungssysteme integriert Die Grafik kann also leicht in den Text eingef gt werden Es werden jedoch auch Hilfsprogramme angeboten mit denen man Struktogramme entwerfen kann Struktogrammsymbole Die Aktionen eines Algorithmusses werden in geeigneter Form in Strukturbl cke einge tragen Diese Strukturbl cke k nnen je nach Problemstellung beliebig ineinander ge schachtelt sein Die Darstellung kann in unterschiedlicher Beschreibungstiefe erfolgen indem ein grobes Struktogramm zunehmend verfeinert wird bis eine Stufe erreicht ist die sich leicht in einer Programmiersprache realisieren l t Das m ssen nicht unbedingt die ele mentaren Anweisungen der Sprache sein gelegentlich ist die bersetzungsstufe schon erreicht wenn sich f r den Teilalgorithmus ein passender Baustein findet Das folgende Beispiel verdeutlicht diesen Aspekt und zeigt gleichzeitig die M chtigkeit dieses Algorithmen Beschreibungsmittels Aktion Anweisung Einzelner Strukturblock Bedingung A Anwei Anwei sung 1 sung 2 Bedingte Anweisung IF THEN ELSE p Bedingung 4 Anwei sung 1 Bedingte Anweisung IF THEN Anweisung wiederhole bis Bedingung Schleife REPEAT UNTIL Abb 2 2 5 a Struktogramm Zeichen 50 Anweisung n Aneinanderreihung von Strukturbl cken er Anwei
115. ideien Anderungen in alten Modulen Systems Modularisierung Programmierung neuer Module Wiederverwendung vor Mod lnr stamme handener Systembausteine prog e Testprotokolle Entwurfsspezifikation nderungsprotokolle Abb 4 l a Ablauf eines Reengineering Projekts Reengineering Reverse Engineering Forward Engineering 126 Wie ist die Vorgehensweise bei der Software Wartung Abbildung 4 1 a zeigt welche Vorg nge durch den Wunsch nach einer umfangreicheren nderung eines Softwareproduktes in Gang gesetzt werden Auch hier ist wieder zu ber cksichtigen da es immer wieder R ckl ufe zu vorhergehenden Phasen geben wird Au erdem ist die Art des Durchlaufs stark von der vorliegenden Software der G te ihrer Dokumentation und dem Umfang der nderungsw nsche abh ngig Daher lassen sich keine eindeutigen Regeln aufstellen 1 Die Wartung eines Softwareprodukts beginnt in der Regel mit der Analyse der vor liegenden Software Programmbenutzung Funktionsumfang erkennen Dokumentation Handb cher inspizieren Datenstruktur verstehen Schnittstellen erkennen Quellpro gramm soweit ben tigt verstehen nderungsrelevante Programmteile ausfindig machen 2 Nun erfolgt die Ver nderung des Systems gem den neuen Anforderungen Im folgenden werden einige solcher Anforderungen genannt Diese treten in der Regel kombiniert miteinander auf und f hren zu einer neuen Programmversion 3 Ein Wartungsdurchgang endet mit der Im
116. inbettung in neue Umgebungen Beispiel eines Wartungsfalls 129 Von einem lteren Informatikkurs ist ein Softwareprodukt f r den Einsatz im Schulfach Erdkunde konstruiert worden Das System wurde inzwischen von einem Fachlehrer im Unterricht benutzt Dabei sind einige Schw chen in der Benutzerf hrung Dokumentati onsfehler und Programmierfehler festgestellt und notiert worden Der Fachlehrer wendet sich mit diesen Unterlagen an den Informatiklehrer und bittet um Nachbesserung Der Informatikkurs soll diese Aufgabe im Rahmen von Projektarbeit bearbeiten In diesem Wartungsfall werden vermutlich folgende oben genannte Punkte relevant a c e g Der Informatikkurs mu bei der Realisierung der W nsche alle Phasen der Projektarbeit von der Systemanalyse bis zur neuen einsatzf higen Version abarbeiten jedoch in sehr eingeschr nktem Umfang da im wesentlichem auf das vorliegende System aufzubauen ist Wiederverwendbarkeit von Komponenten eines Software Systems Vorhandene Softwaresysteme enthalten eine Menge von Wissen das bei der Vernichtung des Systems oder bei System nderungen leicht verloren gehen kann Man sollte sich daher darum bem hen das in der Software abgebildete Anwendungswissen und das Know how weiterzunutzen siehe Abbildung 4 b Vorhandenes System wichtige Informationen herausziehen ber gt wiederverwandbare Komponenten Module L sungsentw rfe Prozeduren Datenstrukturen Wiederverwen
117. iner Schule erstellt Der Bestand an Schulb chern mu aufgenommen und gespeichert werden Neuzug nge und Abg nge von B chern f hren zu einer Aktuali sierung der B cherdatei Der Leihverkehr arbeitet mit dieser B cherdatei aber auch mit der Sch lerdatei und mu auf diverse Entleihsituationen reagieren z B auch Mah nungen an Sch ler aussprechen Hierbei handelt es sich offenbar um ein sehr kom plexes Softwareprodukt Beispiel 2 Im Informatikunterricht wird ein elementares Sortierverfahren programmiert z B Sortieren in einem Feld mit Hilfe von Bubblesort Fehler Verweisquelle konnte nicht gefunden werden Diese Programmieraufgabe ist wenig komplex Sie Kann leicht von einem einzelnen Sch ler bew ltigt werden Schl sselqualifikationen Warum sollen Sie in der Schule an einem Softwareprojekt mitarbeiten Die Erfahrung zeigt da die Herstellung komplexer Software ein schwieriger Proze ist Das gilt f r die Herstellung bei Softwarefirmen f r Softwareprojekte an der Universit t und erst recht f r die in der allgemeinbildenden Schule Dennoch gibt es gute Gr nde auch in der Schule komplexe Software zu entwerfen insbesondere dann wenn man nicht nur die Erstellung der Software zum Ziel hat sondern den gesamten Herstel lungsvorgang in die Betrachtung miteinbezieht Hierbei werden n mlich Prozesse in Gang gesetzt die sp ter in der Berufspraxis immer wieder ben tigt werden Damit erweisen sich die bei Projektarbe
118. inierte Schnittstellen nach au en e Schnittstellen Minimalit t m glichst wenig Schnittstellen e Geheimnisprinzip die interne Arbeitsweise des Moduls bleibt nach au en d h f r den Anwender unbekannt information hiding e gegenseitige Nicht Beeinflussung von Modulen e berschaubarkeit bersichtlich und nicht zu umfangreich e leichte Testbarkeit e leichte Integrierbarkeit in das jeweilige Gesamtsystem e Austauschbarkeit gegen andere Module gleicher Funktionalit t Beschreibung von Modulen Modulspezifikation In der Dokumentation von Modulen stellt man ihre wichtigsten Eigenschaften zusammen insbesondere um sp tere nderungen am Modul durch einen 47 Programmierer leichter vollziehen zu k nnen Ein m gliches Beschreibungsschema wird im folgenden vorgestellt Modulspezifikation Modulbeschreibung Modulname Letztes Update Autor Modulfunktionen Schnittstellen Import Export nier k nnen je nach Auftreten folgende Angabe stehen Benutzte Module Benutzte globale Variable Prozeduren ihre Bedeutung Parameter Art Bedeutung Aufrufbeispiel Beispiel einer Modulspezifikation ee ee Modulname WETTEN ANNEHMEN T_M3_U Modul 3 des Programmsystems Letztes Update Autor 28 11 88 Gruppe 3 Modulfunktionen Dieses Modul erm glicht das Ausf llen eines Wettscheines von Hand oder per Zufall Die Eingaben erfolgen in eine Wettscheinmaske Der Wettschein wird abgespeichert Eine weitere Opt
119. ion erzeugt gleich 10 zuf llige Wettscheine auf einmal Die Wettscheindatei kann ausgegeben werden Schnittstellen Import Export Benutzte Module Diverse Prozeduren aus den allgemein verwendbaren Modulen Crt Ino_u Balk_u Bild_u und dem programmspezif Modul t_hi_u Datentypen aus Datenmodul t_ds_u Benutzte globale Variable Keine Prozeduren Wetten_abschlie en renntag STRING8 Eingabeparameter z B 13 08 94 renntag_feld feld_of_renntag Eingabeparameter Renndaten f r einen Renntag VAR datei file_of_wettschein Ausgabeparameter Datei mit den Wettscheinen VAR schein_anzahl INTEGER Anzahl der eingegebenen Scheine scheine_datei_aus keine Parameter Sonstiges Modulhierarchien Unter einer Modulstruktur versteht man die Menge aller Moduln eines Programmsy stems und die Menge aller Beziehungen zwischen ihnen Ein Modul A benutzt einen Modul B wenn er zur Realisierung seiner Aufgaben Daten oder Operationen aus B einbezieht Das geschieht ber das Interface des Moduls B A erteilt also B Auftr ge B f hrt diese aus und gibt die Resultate der Ausf hrung wieder an A An die Modulstruktur werden einschr nkende Forderungen gestellt Voneinander unabh ngige Entwickelbarkeit der Module bersichtlichkeit einfache Wartbarkeit berpr fbarkeit der Korrektheit M glichkeit des Austauschens von Modulen mit anderen Modulen gleicher Funktion Daraus resultiert u a da zyklische Teilstrukturen zwischen Modulen vermieden
120. it im Projektteam erwerbbaren Kenntnisse und F higkeiten als wesentliche Schl sselqualifikationen f r die sp tere Berufst tigkeit Schl sselqualifikationen sind solche Kenntnisse F higkeiten und Fertigkeiten die geeignet sind f r e eine gro e Anzahl von Positionen Funktionen und T tigkeiten e die Bew ltigung ge nderter auch unvorhersehbarer Anforderungen im Verlaufe des Lebens Qualifikationen die nur einen unmittelbaren und begrenzten Bezug zu bestimmten nicht gleichen T tigkeiten erbringen sind also keine Schl sselqualifikationen Heute werden Computerqualifikationen auf dem Arbeitsmarkt als eine zentrale Schl sselqualifikation angesehen Dabei ist nicht immer klar welche Bereiche der Da tenverarbeitung es eigentlich sind die diese Qualifikation ausmachen sicher nicht ledig lich die Handhabung von verbreiteten Anwendersystemen wie z B zur Textverarbeitung oder Tabellenkalkulation Vielmehr sind solche Informatikqualifikationen gemeint die ber diese Handhabungs fertigkeiten hinausgehen Es sind bergeordnete strukturelle Gemeinsamkeiten es sind Kenntnisse ber die Nutzungsm glichkeiten von Computersystemen berhaupt es sind F higkeiten die zunehmende Komplexit t der Informationsverarbeitung zu bew ltigen Und dabei erweisen sich die grundlegenden Methoden und Arbeitsweisen als besonders wichtig Komplexe Systeme k nnen nicht durch einzelne Personen beherrscht wer den Die Arbeit im Team ist une
121. klar akzentuieren da die Softwarehersteller eindeutige Vorgaben haben Das Wissen von Anwender und Entwickler ber das zu erstellende System ist also zu Beginn der Softwareentwicklung i a noch recht unsicher und unvollst ndig so da der Kommunikationsbedarf zwischen ihnen in der Regel besonders hoch ist Oft ist jedoch der erste Kontakt zwischen Kunde und Hersteller auch der letzte vor Fertigstellung des Produkts So kann es leicht dazu kommen da der Benutzer sp ter mit dem fertigen Produkt nicht vollst ndig zufrieden ist H ufig entwickeln sich die Anforderungen dynamisch w hrend der Entwicklungszeit des Produkts vergibt Auftrag Auftraggeber 5 Softwarehersteller R ckfragen Verbesserungsvorschl ge Abb 2 1 2 Kommunikationsbedarf zwischen Auftraggeber und Entwickler Es geht also darum den zuk nftigen Benutzer w hrend der gesamten Entwicklungszeit am Entstehungsproze der Software zu beteiligen Das wiederum bedeutet da bis hin zur Implementierungsphase der Software noch nderungen am Produkt m glich sein m ssen bzw da bei der Entwicklung komplexer Software eine Vermischung von Spezifikations und Implementierungsphase stattfinden mu Diese Forderung ist kennzeichnend f r das sogenannte Rapid Prototyping Beim Prototyping werden folgende Einzelschritte durchlaufen e Feststellung der Bed rfnisse des sp teren Benutzers e Spezifikation der Anforderungen e Entwicklung eines Prototyps als Lab
122. klung die Verfahrensent wicklung oder die Planung der Oualit tssicherung und der Zulieferungen ab Jedes Team sieht sich dabei als Empf nger und Zulieferer zugleich und achtet deshalb nicht nur auf die Qualit t der empfangenen Leistung sondern auch auf die Qualit t der weitergegebenen Leistung Au erhalb des Betriebs sind auch Kunden und Lieferanten in das Teamkonzept einbezo gen die Kunden sollen au erdem fr hzeitig als Lieferanten von Informationen ber Produktm ngel Kundenw nsche und ver nderte Marktgegebenheiten gewonnen werden Voraussetzung ist allerdings eine weitgehend offene Informationspolitik Ende des Zitats 4 Entwerfen Sie einen Werbeprospekt f r eine von Ihnen erstellt Software 158 5 Erl utern Sie die Aussage Die Programmiersprache ist unerheblich Sie spielt in den fr hen Phasen der Softwareentwicklung keine Rolle Oder doch 6 Typische Aufgaben eines Softwarehauses e Durchf hrung von Entwicklungsprojekten f r Kunden externe Auftraggeber oder im Rahmen einer eigenen Produktentwicklung e _ Erledigung von Beratungsauftr gen bei Kunden e Durchf hrung von Kundenseminaren e Vertrieb der eigenen Produkte Welche Anforderungen an die Berufsausbildung eines Software Ingenieurs lassen sich daraus ableiten 7 Aus der Praxis der Softwareentwicklung Kundenw nsche und Programm u ern Sie sich zu der folgenden Abbildung versuchen Sie eigene Erfahrungen einzu bringen Kund
123. koll CHECKLISTE C V 94 Wird bei der Systemintegration schrittweise vorangegangen Werden die jeweils integrierten Teilsysteme getestet Wird das Gesamtsystem getestet Werden die vorher festgelegten Testdaten verwendet Werden Testprotokolle angelegt Sind alle Unterlagen f r das Wartungshandbuch gesammelt Erlauben diese Daten eine sp tere leichte Wartung der Programmteile Entspricht die Funktionalit t des Gesamtsystems den im Pflichtenheft festgelegten Anforderungen OOOOOO Q Phase VI Installierung des Systems Abnahmetest CHECKLISTE C VI Hersteller und Auftraggeber Werden bei der Installierung die Anforderungen des Benutzers beachtet Wird auf die Sicherheitsbestimmungen geachtet Erfolgt der Test des Gesamtsystems mit echten Daten Sind die geforderten Funktionalit ten und Leistungsmerkmale erf llt Wurde das System vollst ndig geliefert Wurde die Systemdokumentation Wartungshandbuch Benutzerhandbuch bergeben Ist der bergang von der Projektorganisation zur Benutzerorganisation organisiert O Wurde die Benutzerschulung eingeleitet OOOOOO Q Mit dieser Phase endet die Projektorganisation Es folgt die Phase des Betriebs und der Wartung d h der Auftraggeber bzw Benutzer bernimmt die Regie Selbstverst ndlich wird auch hier der Hersteller verschiedentlich aktiv werden m ssen doch handelt es sich nun um die Betreuung des Softwareprodukts und nicht mehr um ein Projekt Umfangreic
124. kt beim Buchautor bestellt werden Preise auf Nachfrage M NZSPIEL Spielen 1 f r Anf nger Spielen 2 Fortgeschrittene Spielregeln Textdatei zur freien Verf gung Hinweise f r den Lehrer Programmende SIMULATION EINES M NZSPIELS Anzahl von Chips Anzahl der Gewinnspiele Spieler 1 000 000 Spieler 2 000 000 Spieler 3 000 000 Der n chste M nzwurf j n gt WW Spieler 1 gewinnt 22 Spieler 2 gewinnt ZW oder WZ Spieler 3 gewinnt Spielprotokoll Anzahl der Chips von Spieler 1 am Anfang 10 Anzahl der Chips von Spieler 2 am Anfang 10 Anzahl der Chips von Spieler 3 am Anfang 10 Es wird noch darauf hingewiesen da die Softwareprodukte A B C eine Version E und F mit Tools und Bausteinen erstellt wurden die auf der D mmler Diskette LEH TOOLS gespeichert sind Zu dieser Diskette gibt es das Buch Formelsammlung Programmieren in Turbo PASCAL mit Hilfe von Bausteinen D mmler Verlag 1994 136 5 Aufgaben zu den Kapiteln 1 4 Hinweis Etliche der genannten Aufgaben lassen sich auch anderen Kapiteln zuord nen Aufgaben zu Kapitel 1 1 Was sind komplexe Softwareprodukte 1 Sie kennen vermutlich einige gr ere Programmsysteme Vergleichen Sie zwei von ih nen nach den in Kapitel 1 1 genannten Komplexit tskriterien Aufgaben zu Kapitel 1 2 Was versteht man unter ist Software Engineering 1 Sie haben im Verlauf ihres Inform
125. kt stand das in Kapitel 3 dargestellte TRABRENNBAHN System zur Verf gung Die Vorgehensweise richtete sich im wesentlichen nach dem in 4 1 dargestellten Modell Abb 4 1 a Hinweise e Aus Platzgr nden kann hier nur ein kurzer Abri des Projektverlaufs gegeben werden e Bei der Beurteilung der Systemschw chen bedenken Sie bitte da das vorliegende Softwareprodukt in Sch ler Projektarbeit entstanden ist und vom Lehrer nicht ver ndert wurde Daher treten mehr Schw chen auf als sie professionale Software aufweisen w rde Allerdings ist es bei den vorliegenden Unterrichtsintentionen sogar erw nscht da solche Schw chen leicht feststellbar und zumindest einige von ihnen auch leicht zu beseitigen sind Reverse Engineering Arbeitsauftr ge 1 und 2 Benutzen Sie das TRABRENNBAHN System mit folgender Zielsetzung 1 Vertrautmachen mit der Funktionalit t des Systems 131 2 Notieren von Systemschw chen Die Funktionen des Systems sind in Kapitel 3 beschrieben Den Sch lern lag au erdem der Text dieses Kapitels als Dokumentation vor Zur Feststellung der Systemschw chen wurden die sich in der Programmoberfl che wi derspiegelnden 4 Module von 4 Gruppen bearbeitet Dabei ergaben sich die folgenden M ngelisten jeweils im Editor dokumentiert Men punkt 1 Rennen initialisieren e Eingabe von Datens tzen Keine Korrekturm glichkeit von Tippfehlern nach Dr c ken der Eingabetaste Man gelangt sofort in das n chste Feld de
126. l f r die eigenen Probleme einsetzen kann Doch wie entstehen derartige Systeme welche Konstruktionsverfahren setzt man ein welche Kenntnisse mu man haben um komplexe Probleme soweit zu modellieren da sie einen brauchbaren Ausschnitt aus der vorliegenden Realit t darstellen Gerade hiermit besch ftigt sich das vorliegende Buch Das Buch ist als ein Sch lerbuch konzipiert das in die Methoden zur Bearbeitung von Softwareprojekten Software Engineering einf hrt und zahlreiche bungsaufgaben zur Verf gung stellt Es ist unabh ngig von den anderen schon erschienenen B nden zur Reihe Analyse Konstruktion Wartung komplexer Software setzt diese B nde also nicht voraus Kapitel 1 besch ftigt sich mit dem Umfeld der Konstruktion komplexer Softwareprodukte insbesondere mit der Projektmethode und dem Begriff des Software Engineering Dieses Hintergrundwissen ist auch f r Sch ler wichtig soll diesen bewu t gemacht werden und tr gt wesentlich zum Verst ndnis der Zu sammenh nge bei Kapitel 2 1 zeigt Wege zur erfolgreichen Konstruktion von Softwaresystemen auf und betont dabei die Bedeutung des Projektmanagements und des Prototyping Kapitel 2 2 beschreibt die Konzepte die man beherrschen mu um komplexe Datenverarbei tungsprobleme zu bew ltigen Programmiersprachen spielen hier nur eine unterge ordnete Rolle die Konzepte sind programmiersprachenunabh ngig Wegen der besonderen Bedeutung der Projektdokumentation f r sp te
127. lb eines Projektes kann auf diese Weise der berblick ber die an verschiedenen Ger ten erzeugten Dateien Pro gramme Masken Men s usw gew hrleistet werden Siehe auch CASE Design Entwurf Muster Gestaltung beispielsweise werden innerhalb des Software Entwicklungsprozesses oft Masken als Teil der Programmoberfl chengestaltung entworfen Das Design die Gestaltung der Oberfl che ist wesentlich f r die Akzeptanz eines Programmsystems durch die Benutzer Design ist funktionelle Attraktivit t In weitem Sinn umfa t das Design den gesamten Entwurfsproze von Software Ergonomie siehe Software Ergonomie und Kapitel 2 2 8 Informationsaustausch zwischen den Mitarbeitergruppen ist eine Grundvoraussetzung f r die kooperative Arbeit im Projekt Zu diesem Austausch geh ren insbesondere die gemeinsamen Sitzungen in denen ber den Projektstand berichtet und die weitere Arbeit beraten wird 161 Konfigurationsmanagement Systematische berwachung aller nderungen an der Konfiguration eines Softwaresy stems ber den gesamten Lebenszyklus Kontextsensitive Hilfe Innerhalb von Programmsystemen werden in der Regel Hilfefunktionen f r den Benutzer angeboten Im einfachsten Fall werden alle Hilfen in einer Datei zusammengefa t in der der Benutzer nach der gesuchten Information durch Bl ttern suchen kann Bessere Hilfe systeme bieten die Hilfe bezogen auf den gerade vorhandenen Programmzustand an sie beziehen sich auf den Kon
128. ll mit Hilfe der Datenverarbeitung katalogisiert werden a Welche Daten sollte man speichern b Geben Sie ein Beispiel f r einen Datensatz c Entwickeln Sie eine entsprechende Datenstruktur in PASCAL d Welche Optionen sollte man vorsehen um eine Aktualisierung der Daten zu erm gli chen e Welche Vorteile sehen Sie f r den Fachbereich Sport wenn er einen derartigen Kata log auf einem Computer zur Verf gung hat 16 Sie haben im gegenw rtigen Kurs Projektarbeit kennengelernt a Worin unterscheidet sich diese Arbeitsform von den normalerweise in der Schule ver wendeten Formen Verfolgen Sie dabei auch die einzelnen Projektphasen b Halten Sie es f r w nschenswert in allen F chern und st ndig an Projekten zu arbei ten 157 Aktivit ten in einem Projekt Rollen In einem Softwareprojekt gibt es zahlreiche unterschiedliche Arten von T tigkeiten Eine gewisse kleine Menge solcher T tigkeiten wird zu einer Aufgabe zusammengefa t die von einer oder mehreren Personen bearbeitet wird und die man als eine Fehler Verweisquelle konnte nicht gefunden werden Aktivit t bezeichnet Architektur eines Software Systems Das u ere Erscheinungsbild der Komponenten eines Softwaresystems F r alle Eingabe m glichkeiten wird angegeben was f r Ausgaben zu erwarten sind Aufwandssch tzung bei Softwareprojekten Schaffen wir das vorgesehene Softwareprojekt in der vorhandenen Zeit Expertensch tzung Experten m glichst a
129. llt O Werden die Datenschutzprobleme aufgezeigt Phase IH Entwurf Modularisierung Entwurfsspezifikation CHECKLISTE C M An dieser Stelle soll noch einmal auf ein wichtiges Prinzip hingewiesen werden siehe auch Kapitel 2 1 2 Prototyping 1 Die Gestaltung der Benutzungsoberfl che sollte vollkommen getrennt von dem eigentlichen Programm erfolgen mit Men und Maskengeneratoren 2 Das eigentliche Anwenderprogramm sollte keinen oder m glichst wenig Code enthalten der sich auf Pr sentation und Interaktion bezieht Damit wird seine Struktur bersichtlicher und notwendige Wartungsarbeiten gestalten sich leich ter Entwurfsentscheidungen checken O Wurde das Gesamtsystem problemangemessen in der Regel entsprechend den gew nschten Funktionen in Teilsysteme zerlegt Wurden die Vorgaben f r die Benutzeroberfl che eingehalten Wurden die Prinzipien des strukturierten Entwurfs eingehalten K nnen die gew hlten Teilsysteme unabh ngig von anderen Teilsystemen entworfen werden Kann arbeitsteilig vorgegangen werden Wurden die Schnittstellen zwischen den Teilsystemen richtig definiert Ist die Einhaltung des Geheimnisprinzips m glich Erm glicht die Zerlegung den Einsatz von vorhandenen Hilfsprogrammen z B Maskengeneratoren OCO OQ O OQ O 93 Kann aus arbeits konomischen Gr nden auf vorhandene Softwarebausteine zur ckgegriffen werden Formulierung der Entwurfsspezifikation Schriftst ck Q
130. lt werden sollen Wettschein auf den Bildschirm bringen Datum und Rennen Nummer und pr fen Weitere Wettscheindaten eingeben und pr fen Art der Wette Einsatz Quittung erstellen Wettschein in die Wettscheindatei bernehmen Verkauf schlie en 110 MODUL 4 WETTEN AUSWERTEN Modul IV ne Wetten auswerten AL Bei Gewinn Wettschein auszahlen Umsatz berechnen Wettscheinschein Nummdr eingeben und pr fen Abz ge vornehmen Auszahlung vermerken Gewinn f r den aktuellen Wettscheine f r ein bestimmtes Rennen auswerten Wettschein berechnen und in den Schein eintragen F r jedes Modul sind Testdaten bereitzustellen Am Ende der Entwurfsphase kann nun die Checkliste von Kapitel 2 4 eingesetzt werden Falls keine Nachbesserungen n tig sind kann die Phase beendet werden Es wird aber erneut darauf hingewiesen da aus der nun folgenden Programmierphase heraus m glicherweise nderungen an den Entw rfen notwendig werden Auf die Beschreibung weiterer Detailalgorithmen wird verzichtet Sie spiegeln sich im Quellcode des Programms auf der Diskette SOFTENGI wider 111 3 4 Modulprogrammierung Modultests Die vollst ndigen Modulprogramme finden sich auf der Diskette unter den Namen T_DS_U PAS bzw T_DS_U TPU Datenmodul Trabrennen Datenstruktur Unit T_MI_U PAS bzw T_MI_U TPU Modul 1 Rennen initialisieren T_M2_U PAS bzw T_M2_U TPU Modul 2 Rennen starten T_M3_U PAS bzw T_M3_U TPU
131. man die Entstehung eines zusammenhanglosen schlecht lesbaren Konglomerats von Einzeldokumenten verhindern will 2 Ein Softwareprodukt wird in der Regel von vielen Anwendern benutzt Die Anwender sind ber gewisse Standardisierungen der Benutzeroberfl che dankbar Insbesondere ist f r sie eine Dokumentation erforderlich die gut handhabbar ist bei deren Erstellung also ebenfalls standardisierende Vereinbarungen getroffen wurden s o 166 Testen Testumgebung Komplexe Systeme bestehen aus mehreren Modulen die sp ter vom Hauptprogramm aufgerufen werden Die Module werden getrennt entworfen und getrennt getestet Dazu mu f r einen Modul eine Testumgebung Fehler Verweisquelle konnte nicht gefunden werden konstruiert werden Das ModulFehler Verweisquelle konnte nicht gefunden werden wird von einem speziellen Testtreiber aufgerufen der die Versorgung des Testlings mit Eingabeparametern bernimmt Von au en benutzte Prozeduren werden durch DummyroutinenFehler Verweisquelle konnte nicht gefunden werden ersetzt Diese simulieren die externen Originalprozeduren und stellen ggf R ckgabewerte unabh ngig von den Eingabeparametern zur Verf gung Au erdem k nnen sieFehler Verweisquelle konnte nicht gefunden werden verwendet werden um Wertever nderungen globaler Variablen man sollte sie vermeiden zu verfolgen Zielsystem Testdurchf hrung Hauptprogramm Testumgebung Anwendung Aufruf der Testumgebung Modul Modul Anwendun
132. maufbau k nnen verschiedene Teststrategien eingesetzt werden F r ein komplexes modularisiertes Programmsystem bieten sich zwei Strategien an Test eines komplexen modularisierten Programmsystems Top Down Testen Das Testen beginnt auf der obersten Hierarchieebene und wird durch schrittweise Hinzunahme von Modulen der jeweils n chsten Hierarchieebene fort gesetzt bis schlie lich das Gesamtsystem mit all seinen Funktionen getestet werden kann Das Erstellen von Hilfsprogrammen zum Test einzelner Module siehe Bottom Up er brigt sich Daf r m ssen die Prozeduraufrufe Modulaufrufe simuliert werden etwa durch eine Meldung wie Aufruf der Prozedur A ist erfolgt Dummy Attrappe Das jeweils einzuf gende Modul mu mindestens eine Schnittstelle zu dem bereits getesteten Systemteil haben Beispiel M NZSPIEL Spielen 1 f r Anf nger Spielen 2 Fortgeschrittene Spielregeln Textdatei zur freien Verf gung Hinweise f r den Lehrer Programmende Zum Ausw hlen Cursor auf ab bewegen Dann ENTER 79 Taste dr cken Das hinter dem Aufruf Textdatei zur freien Verf gung stehende Modul ist noch nicht in das System eingeh ngt Das wird beim Aufruf dieses Men punkt deutlich An dieser Stelle k nnen Sie eine Textdatei mit eigenen Texten aufrufen Die Datei hei t MUENZEN AUF sie mu als ASCII Datei erstellt werden z B im Turbo Pascal Editor Bottom Up Test Das Testen beginnt auf der untersten Hierarchieeben
133. ms Die Verwaltung von Texten der Aufbau von Hilfetexten oder der Aufbau eines kleinen Informationssystems ber gewissen Schlagw rter kann gut mit der Prozedur OUTPUT_TEXTDATEI erfolgen siehe Kapitel 2 2 7 In der Datenverarbeitungspraxis werden insbesondere f r gro e Systeme m chtige Werkzeuge verwendet Hilfsprogramme die man unter dem Begriff CASE computer aided software engineering zusammenfa t Oft handelt es sich nur um einzelne Hilfsmittel gelegentlich sind diese jedoch auch unter einer einheitlichen Oberfl che zu einer Software Entwicklungsumgebung zusammengefa t CASE Umgebung siehe auch Kapitel 2 2 6 2 4 PROJEKTKONTROLLE 2 4 1 Warnungen Die Erfahrungen zeigen Softwareprojekte in der Schule werden oft nicht beendet Deshalb werden in diesem Kapitel einige Warnungen und Hinweise formuliert Sie rich ten sich gleicherma en an alle am Projekt Beteiligten also an Lehrer und Sch ler Warnungen e Das Projektthema ist f r die Teilnehmer irrelevant es interessiert sie nicht e die Rolle der notwendigen Vorkenntnisse wird untersch tzt e die Einarbeitung in das Projektthema dauert zu lange e man nimmt sich zuviel vor e die Problembearbeitung geht am Ziel vorbei e das Projektmanagement wird nicht ernst genommen e die spezifischen Probleme bei Teamarbeit werden vernachl ssigt e man l t die Projektideen zu sehr wuchern e es fehlen Zwischenberichts und Koordinierungsphasen 87 e dem Wuns
134. n Wettannahmestelle in der Stadt Verkauf schlie en Datensicherung Toto Manager Wetten auswerten st ndige kurzfristig Ticketmaschinen Einlauf best tigen verwalten Pa wort f r die Verk ufer duales Prinzip der Umsatz f r jede Wettscheine auswerten Datenspeicherung Kasse je nach Wettart langfristige Renntag beenden Quoten berechnen Abz ge beachten Wettschein Statistik gegen Quittung auszahlen Verschl sselung sp tere Auszahlung Diverse Listen Protokolldruck Umsatz pro Rennen Wettart verschl sselte Scheine usw 98 Abb 3 1 a Ideensammlung schon geordnet Hinweis Bei einem Projekt das sich ein Informatikkurs selbst stellt vermischen sich die Phasen Problemanalyse Anforderungsdefinition und Funktionelle Analyse Pflichten heft Es gibt jedoch auch f r die Schule zahlreiche Themenstellungen bei denen ein ech ter Auftraggeber auftritt Beispielsweise kann ein Erdkundelehrer ein Lernprogramm zur Topographie von Europa bestellen und dabei seine W nsche Anforderungen in Form einer Anforderungsdefinition schriftlich formulieren siehe auch Kapitel 1 3 Wir gehen in der Projektdarstellung daher gleich zur n chsten Phase Funktionelle Spezifikation Pflichtenheft ber 3 2 Funktionelle Spezifikation und Pflichtenheft Wir haben uns nun aus Herstellersicht mit den Funktionen zu besch ftigen die das ge plante System ausf hren soll und diese dem Auftraggeber in
135. n Ist z B ein Algorithmus in einem Struktogramm festgelegt so kann man das Struktogramm mit seinen Feldern erneut hinzeichnen aber die einzelnen Felder leer lassen In diese Felder k nnen dann Daten geschrieben werden wie sie bei einem Programmdurchlauf mittels der Anweisungen des Algorithmus entstehen Menge der Menge der Antworten Testdaten korrekt auf die Testdaten Menge aller Fragestellungen Durch Testen kann die Anwesenheit von Fehlern gezeigt werden jedoch nicht ihre Abwesenheit Abb 2 2 9 b Fehlerfrei Beim Programmtest wird das Programm gegen die Spezifikation getestet siehe obi ge Abbildung in der die erwartete Verhaltensweise des Programms genau dokumen tiert sein soll Anhand des Eingabe und Ausgabeverhaltens des Programms berpr ft man e die formale Richtigkeit des Programms Syntax e die logische Richtigkeit von Programmteilen Semantik e die Funktionen einzelner Bl cke Prozeduren und Module e das Zusammenwirken der Module im Gesamtprogramm e die Anf lligkeit bei Fehleingaben e die Leistungsanforderungen Speicherplatzbedarf Verarbeitungsgeschwindigkeit Zu jedem zul ssigen Eingabewert mu sich die laut Spezifikation vorgesehene Ausgabe ergeben Damit w re die Korrektheit des Programms gezeigt Vor der Testdurchf hrung Zum Testen m ssen geeignete Testdaten bereitgestellt werden Hierf r werden einige Regeln angegeben e Die Menge der Testdaten sollte in Klassen elemente
136. n Sch lern Klasse 10 die unterschiedlichen Rollen des Lehrers bei normalem Informatikunterricht und bei Projektarbeit erl utern Welche Gesichtspunkte w rden Sie nennen 2 K nnte auch einer Ihrer Sch ler als Projektleiter fungieren 3 Welche der in Kapitel 2 4 1 ausgesprochenen Warnungen halten Sie f r besonders wichtig Welche Warnungen entsprechen Ihren bisherigen Erfahrungen Erg nzen Sie Warnungen aus Ihrer eigenen Sicht 4 Kann man den Projektleiter mit einem Diskussionsleiter vergleichen 5 a Erl utern Sie das folgende Planungsschema zur Projektkontrolle in der Phase der Modulprogrammierung b Entwerfen Sie eine hnliches Formular f r die Dokumentation in der Entwurfsphase Projektkontrolle Modulprogrammierung Datum 7 6 1992 Modul Prozedur Gruppe 1 Gruppe 2 Planung in Stunden Bemerkungen verbrauchte Std M1 1 O 4 3 braucht Hilfe M1 2 2 M2 1 3 2 M2 2 1 2 Informationsaustausch aller Gruppen 1 am 14 6 92 noch nicht angefangen O in Arbeit fast fertig Arbeit abgeschlossen Aufgaben zu Kapitel 3 Das Projekt Trabrennbahn 1 Wir arbeiten zur Zeit am Entwurf und der Programmierung der 4 Module unseres Pro jekts Trabrennbahn und stehen kurz vor dem Abschlu dieser Arbeiten a Sie haben Ihre Prozeduren verschiedentlich getestet und sich daf r eigene Test umgebungen geschaffen Erl utern Sie diesen Begriff Wie sind Sie vorgegangen b Demn chst mu die Systeminteg
137. n aus ver schiedenen Gr nden beachten sollte Nennen Sie solche Regeln und begr nden Sie ihren Sinn 3 Betrachten Sie die folgende Spezifikation einer Turbo PASCAL Unit Unit char_adt INTERFACE USES Crt Ino_u TYPE zeichen_menge SET OF CHAR stringl2 STRING 12 PROCEDURE Eingabe_zeichen x y INTEGER input_aufforderung STRING VAR antwort CHAR erlaubte_zeichen zeichen_menge PROCEDURE Eingabe_string x y INTEGER input_aufforderung STRING VAR input STRING stringlaenge INTEGER erlaubt Zeichen_menge PROCEDURE Eingabe_textdatei var datei_name string12 name_erfragen boolean 143 IMPLEMENTATION Mit dieser Spezifikation wird ein abstrakter Datentyp definiert bezeichnet mit CHAR_ADT Der Datentyp hei t abstrakt weil die interne Struktur f r den Benutzer kei ne Rolle spielt Vielmehr wird in der Beschreibung des Datentyps von seiner Konstruktion abgesehen Diese wird im Implementierungsteil versteckt Der Datentyp ben tigt die Importschnittstellen Units Crt Ino_u und enth lt als Exportschnittstellen die Datenobjekte zeichen_menge stringl2 und die Operationen PROCEDURE Eingabe_zeichen PROCEDURE Eingabe_string PROCEDURE Eingabe_textdatei einschlie lich ihrer Parameter Datenobjekte und Operationen auf ihnen sind die Schnittstellen die durch Aufruf des ab strakten Datentyps CHAR_ADT exportiert werden k nnen Die detaillierte Beschreibung bzw Programmierung der Prozeduren erfolgt
138. n der informationsverarbeitenden Prozesse die ganz oder teilweise automatisiert werden sollen Die Phase endet mit einem Schriftst ck in dem der Auftraggeber seine Anforderungen an das Programmsystem festlegt Anforderungsdefinition Insbesondere sind das der gew nschte Leistungsumfang des Systems und die herzustellenden Dokumente Handb cher Die Problemanalyse wird vom Auftraggeber durchgef hrt m glich ist aber auch schon hier eine Hilfestellung durch den sp teren Entwickler Die Problemanalyse kann also auch in enger Zusammenarbeit zwischen dem Auftraggeber bzw sp terem Anwender und dem Entwickler der Software stattfinden Auch der Entwickler hat ja nach dem eigentlichen Projektauftrag eine Problemanalyse durchzuf hren die Grundlage f r die von ihm zugesagten Leistungen Pflichtenheft siehe folgende Phase ist Je nach Zeitpunkt des Projektauftrags und Arbeitssituation kann also eine Vermischung der Phasen I und II Problem analyse und funktionelle Spezifikation eintreten Phase II Funktionelle Analyse funktionelle Spezifikation Pflichtenheft Nach Eingang des Projektauftrags vor w hrend oder nach der Phase I beginnt die Ar beit des Entwicklers Dieser mu die Durchf hrbarkeit und Wirtschaftlichkeit des Auftrags untersuchen Sollte diese gegeben sein kann er dem Auftraggeber das f r die Vertragspartner Auftraggeber und Entwickler verbindliche Pflichtenheft vorlegen Dieses enth lt die f r das System vorgesehenen F
139. n des Programms bergehen Dabei wird mit formalen Methoden berpr ft ob sich f r alle Fragestellungen x ergibt S x P x 75 Gegeben ist ein Problem Menge aller Fragestellungen x zu dem Problem Menge aller Antworten zu den Fragestellungen Funktion S x Zu jeder Fragestellung x liefert S x eine hoffentlich korrekte Antwort Die SPEZIFIKATION wird erstellt und f hrt schlie lich zum PROGRAMM Menge aller Fragestellungen zu dem Problem Menge aller Antworten zu den Fragestellungen gt Funktion P x Zu jeder Fragestellung x liefert P x eine hoffentlich korrekte Antwort Abb 2 2 9 a Testen Die Verifikation von Programmen also der Nachweis mit formalen Methoden ein Be weis ist wegen der groen Anzahl der m glichen Fragestellungen und der dann folgenden Verarbeitungsprozesse au erordentlich schwierig bei den meisten Systemen unm glich und f r die Schulinformatik schon gar nicht erreichbar Man hilft sich in der Regel mit einer einfachen abgewandelten Form von Verifika tion dem Testen Hierbei wird nur eine Teilmenge der m glichen Fragestellungen untersucht Dabei ergibt sich sofort das Problem wie man diese Teilmenge aussucht Sie sollte repr sentativ f r die Problemstellung sein Aber was hei t das Uber die Auswahl von Testdaten unten mehr 76 Entw rfe k nnen durch sogenannte Schreibtischtests berpr ft werde
140. n die Funktionen der weiteren Men s und Eingabemasken zu beschreiben Aufgabenstellung 4 Abbildung 3 2 a zeigt die diversen Einschr nkungen und gibt gleichzeitig mit den Buchstaben A B C D eine m gliche Zerlegung der Probleme an die sich in dem Hauptmen widerspiegelt und die an verschiedene Arbeitsgruppen bergeben werden kann Jede Gruppe kann nun eine Beschreibung der einzelnen auszuf hrenden Funktionen f r ihren Bereich durchf hren Als Beispiel wird hier der Sch lertext von Gruppe B dokumentiert PHASE FUNKTIONELLE ANALYSE PFLICHTENHEFT Datei DOK PF3 TXT Gruppe B Sch lernamen 17 10 88 WETTEN ANNAHME Folgende Eingaben bzw Ausgaben werden erfragt bzw durchgef hrt Vorgang Eingaben Ausgaben Wettschein 1 Nummer des Rennens ausf llen 2 Gew hlte Startnummern ankreuzen 3 Art der Wette bestimmen a Siegwette b Platzwette c kleiner Einlauf d gro er Einlauf 4 Grundbetrag in DM Ticketmaschinen Pa worteingabe des Verk ufers starten Kontrolle Best tigung Er ffnung des Verkaufs Best tigung Wettscheine in Daten des Wettscheins ein Ticketmaschinen lesen Kontrolle Best tigung einlesen und Preis berechnen Preis Quittung erstellen Quittung Daten intern speichern 103 Ticketmaschine Verkauf schlie en _Ende Kommando Best tigung Die funktionelle Analyse mu auch zu den Men s und Eingabemasken f hren mit denen der Anwender arbeiten soll Insofern sind hier zumindest schon erste Ent
141. n die von dem System geforderte Leistung erbringen Die Bausteine hei en Module und die Beziehungen zwischen ihnen werden durch Schnittstellen beschrieben Bei dieser Interpretation des Modulbegriffs Kann man auch von Funktionsmodul spre chen da die Zerlegung des Problems wie z B in dem obigen Men nach den gew nsch ten Funktionen des Systems erfolgt Neben dieser mehr funktionsorientierten Sicht kann man aber auch die ben tigten Datentypen und Datenstrukturen mehr in den Vor dergrund r cken datenorientierte Sicht So k nnen z B die wesentlichen Datentypen und Datenstrukturen in einem Modul zusammengefa t werden ein Datenmodul ent steht Die Operationen mit diesen Daten sind dann jedoch m glicherweise zusammen mit weiteren Prozeduren auf die verschiedenen Funktionsmodule des Systems verteilt Aus datenorientierter Sicht ist es deshalb vorteilhaft wenn die Datentypen und Datenstrukturen mit den darauf definierten Operationen zusammengef hrt werden Man gelangt so zu dem Begriff des Datentyps und des abstrakten Datentyps Datentypen abstrakte Datentypen Unter einem Datentyp wird die Zusammenfassung von Wertebereichen und Operationen auf diesen Wertebereichen zu einer Einheit verstanden Dabei unterscheidet man zwischen abstrakten und konkreten Datentypen e Abstrakter Datentyp Die Eigenschaften der Operationen und Wertebereiche stehen im Blickpunkt der Betrachtung und werden vom Anwender benutzt Sicht des Anwenders
142. n im ersten Teil die Datenstruktur im zweiten Teil die auf ihr definierten Operationen Der Datentyp s_date wurde konstruiert in dem formalen Aufbau von Abbildung 2 2 4 a Axiome sind in dem gew hlten Beispiel s_date nicht vorhanden Beim Datentyp INTEGER w rde man z B das Axiom a b b a verlangen Es wurde unterschieden zwischen e ffentlicher Teil des Datentyps gt das interessiert den Benutzer e Privater Teil des Datentyps gt das interessiert nur den Konstrukteur des Datentyps 46 Module als abstrakte Datentypen Der Begriff des Moduls wird auch in Zusammenhang mit dem oben erkl rten Begriff des abstrakten Datentyps verwendet indem man sagt Importschnittstellen Datentypen Datenobjekte die anderswo au en definiert und hier benutzt werden Exportschnittstellen Datentypen Datenobjekte die au erhalb des Moduls benutzt werden k nnen ohne dort definiert zu sein Abstrakte Datentypen k nnen gem ihrer Spezifikation in gr eren Programmsystemen als Modul benutzt werden In dieser Sichtweise wird das Modul als abstrakter Datentyp aufgefa t Hinweis Beachten Sie in diesem Zusammenhang auch Kapitel 2 2 7 Baustein Bi bliotheken Dort werden Bausteine in PASCAL Units zusammengefa t Jede solche Unit kann als Modul abstrakter Datentyp aufgefa t werden Eigenschaften von Modulen Von einem Modul werden folgende Eigenschaften verlangt e Logische und funktionale Abgeschlossenheit e wohldef
143. nd schlie lich das fertige Produkt vor sich haben An Lehrer und Dozenten Projektartiger Unterricht erfordert einige bung Sie finden in dem Buch viele Hinweise zur Projektmethode und zur Unterrichtspraxis F r private Softwarekonstrukteure bietet das Buch Grundlagen und Methoden die zur erfolgreichen Konstruktion gr erer Softwareprodukte f hren Berlin Januar 1995 Eberhard Lehmann 1 Konstruktion komplexer Software 1 1 Komplexe Softwareprodukte in der Schule Das vorliegende Buch befa t sich mit der Herstellung komplexer Softwareprodukte im Informatikunterricht der Schule Was hei t Fehler Verweisquelle konnte nicht gefunden werden komplexe Software Abh ngig vom Kenntnisstand des Benutzers wird die Beurteilung der Komplexit t einer Software variieren Einige Kriterien zur Beurteilung des Komplexit tsgrads von Soft wareprodukten Komplexe Softwareprodukte zeichnen sich aus durch e ihren Umfang me bar u a an der Anzahl der Programmzeilen oder an dem ben tig ten Speicherplatz e lange Entwicklungsdauer an der in der Regel mehrere Personen beteiligt waren e eine Vielzahl abrufbarer Funktionen sichtbar u a an der Menge der Schnittstellen zwischen dem Benutzer und dem Computer e vielf ltige Verkn pfungen zwischen den Programmteilen e umfangreichen Datenaustausch e eine Vielzahl von Algorithmen Beispiel 1 Im Projektunterricht werden h ufiger Programmsysteme zur Sch lerbibliotheksver waltung e
144. ndlichkeit leichte Handhabung e Zuverl ssigkeit auch bei besonderen Bedienungsma nahmen e Wartbarkeit Fehlerkorrektur oder Anpassung an ver nderte Gegebenheiten nicht nur durch den Autor e Portabilit t bertragung auf andere Rechenanlagen ohne gro e nderungen e Effizienz L sung in m glichst kurzer Zeit mit m glichst geringem Aufwand e Ergonomie Gestaltung des Programms entsprechend den geistigen und k rperlichen Bed rfnissen der Benutzer Durch die Methoden des Software Engineering versucht man die Qualit t zu sichern Do the right things right the first time Die Erfahrungen zeigen da die Einhaltung von Qualit tsanforderungen h ufig nicht in dem gew nschten Ma e gelingt Die berpr fung der geforderten Qualit t kann erfolgen durch e statische Analyse Untersuchung des Aufbaus des Produkts oder e dynamische Analyse Untersuchung des Verhaltens der Software 74 Statische Analyse f r den Qualit tsfaktor Wartbarkeit am Beispiel Prozeduren e G te der Dokumentation Kommentare Prozedurspezifikation e Einfachheit Schachtelungstiefe Anzahl der Anweisungen Anzahl der Goto e Bezeichner passende Benennung von Bezeichnern e Testbarkeit Anzahl der zu testenden Pfade Metriken Man kann den einzelnen Qualit tsfaktoren sogenannte Metriken zuordnen zum Beispiel geeignete Ma zahlen und damit zu einer quantitativen Absch tzung der Qualit t eines Softwareprodukts kommen Bei den Un
145. ndssch tzung 157 Engineering 10 Ergonomie 72 163 Ingenieur 11 Life Cycle 17 produkte in der Schule 16 projekte 9 sanierung 163 wartung 123 zum Zweck der Wartung 131 Spezifikation 164 Spiel 131 Standardisierung 164 Struktogramm 49 109 Strukturiertes Programmieren 34 System denken 29 integration 20 91 118 test 20 91 Teamarbeit 9 25 Test 164 daten 76 110 durchf hrung methoden 74 171 protokoll 20 91 umgebung 164 Theater Platzbuchung 36 61 Top Down 35 Top Down Testen 77 Trabrennbahn 93 Trainingsprogramm Prozentrechnung 53 Validierung 165 Verifikation 75 Vorgehensweise bei Softwarewartung 125 Warnungen 85 Wartung 21 122 123 126 165 handbuch 81 protokoll 21 Werbeprospekt 82 Wiederverwendbarkeit 38 66 127 Zerlegung in Teilprobleme 38 Ziele von Projektarbeit 13 ZINSY Karteiverwaltung 133 Zuverl ssigkeit 71 165 Aufgabenverzeichnis Abstrakter Datentyp Anwendung 141 Dokumentation bei Dateien 147 Aktivit tendiagramm Telefonrechnung 143 Dokumentation von Software Zeitpunkt 146 Alt Software Problem oder Chance 150 Annonce f r Projektmitarbeiter aufgeben 153 Erzeugung von Wettscheinen Zufallszahlen 148 Anwendungsbereich Informationen 136 Arbeitsweise bei Programmerstellung 136 Ausbaustufen von Software 155 F higkeiten beim Programmschreiben 136 F higkeiten von Informatik Studenten 154 Bauteile bei Ger ten 141 Benutz
146. nforderungen an Software aus Benutzer und Programmierersicht71 2 2 9 Das Testen von Programmen Testmethoden 2 3 Projekt Dokumentation Handb cher Dokumentationshilfsmittel 2 4 Projektkontrolle 2 4 1 Warnungen 2 4 2 Checklisten f r die Softwareproduktion 74 79 85 85 86 3 Das Projekt TRABRENNBAHN Entwurfsdokumentation 3 1 Sammeln und Auswerten von Informationen Problemanalyse Anforderungsdefinition 3 2 Funktionelle Spezifikation und Pflichtenheft 3 3 Entwurf Modularisierung Entwurfsspezifikation 3 4 Modulprogrammierung Modultests 3 5 Systemintegration 3 6 Installierung des Systems Betrieb und Wartung 4 Softwarewartung Reengineerining 4 1 Grundlagen 4 2 Beispielablauf eines Wartungsprojekts 4 3 Weitere Software zum Zweck der Wartung 5 Aufgaben zur Projektarbeit zu den Kapiteln 1 bis 4 6 Glossar wichtige Begriffe des Software Engineering 7 Disketten 7 1 Trabrennbahn SOFTW ARE ENGINEER 7 2 Oberfl chen und Bausteine LEH TOOLS 7 3 Spiel Gobang und R uber Beute Systems MAUS WIESEL Sachverzeichnis Aufgabenverzeichnis 93 95 98 104 112 119 123 124 124 129 132 137 156 166 166 167 168 169 171 Die Arbeit an komplexen Systemen mit den Methoden der Projektarbeit geh rt zu den Inhalten der Schulinformatik die besonders praxisnah sind berall werden umfangreiche Softwaresysteme benutzt und mindestens soweit analysiert da man ihre Funktionen erfa t und sinnvol
147. ngabemasken mas erstellt mit dem Tool BILD_DEF siehe Kap 2 2 6 Men balken bal erstellt mit dem Tool MENUE siehe Kap 2 2 6 Hilfen f r die Men benutzung MEN 0 INF MEN I 1 INF MEN 3 1 INF MEN 4 1 INF Men masken und andere Eingabemasken sowie Men balken H MENUE MAS MEN I I MAS MEN I 2 MAS MEN 2 1 MAS MEN 3 1 MAS MEN 3 2 MAS MEN 4 1 MAS RENNBAHI MAS TRABRAND MAS WETTSCH MAS TRAB BOI MAS TRAB BO2 MAS TRAB BI MAS TRAB B2 MAS TRAB B3 MAS TRAB B4 MAS TRAB B5 MAS TRAB HMO MAS MENUEI 1 BAL MENUE3 1 BAL Dokumentationsteile aus der Problemanalyse und f r die Anforderungsdefinition DOK PA3 TXT DOK PA2 TXT DOK PA4 TXT DOK AD1 TXT DOK AD2 TXT DOK K PA1 TXT Dokumentationsteile f r das Pflichtenheft DOK PFI1 TXT DOK PF2 TXT DOK PF3 TXT DOK PF4 TXT Dokumentationsteile aus der Entwurfsphase ENTW MI11 TXT ENTW M21 TXT ENTW M31 TXT ENTW M41 TXT ENTWU 0 TXT Gespeicherte Wettscheine und Rennen Quellprogramme Hauptprogramme SCHEINE DAT SCHEINE2 DAT TRAB1 DAT TRAB2 DAT T_DS_U PAS T_DS_U TPU Datenmodul T_HLU PAS T_HI_LU TPU Modul mit problemspezifischen Hilfen T_MI_U PAS T_MI_U TPU Aus der Problemzerlegung heraus T_M2_U PAS T_M2_U TPU entstandene Programmmodule T_M3_U PAS T_M3_U TPU T_M4_U PAS T_M4_U TPU T_MO_U PAS T_MO_U TPU Modul zum Film T_HPO PAS T_HPO EXE Vorl ufiges Hauptprogramm T1234 PAS T1234 EXE Endg ltiges Hauptprogramm 118 3 5 Systemintegration Nachdem nun jed
148. nl sungen ggf mit Quelltext und in compilierter Form 169 Da f r die Programme und die Units der Quellcode zur Verf gung gestellt wird in Turbo Pascal 6 hat der Anwender die M glichkeit eigene nderungen vorzunehmen oder die Quellen auch nur f r folgenden Turbo Pascal Versionen fortzuschreiben und neu zu bersetzen Au erdem wird hingewiessen auf die Dateien lehrer 1 Pro gramm und Datei mit didaktisch methodischen Informationen f r den Lehrer 7 3 Spiel Gobang und R uber Beute System GOBANG MAUS WIESEL Diese Diskette geh rt zu dem Sch lerbuch Lehmann E Software Analyse im Informatik Anfangsunterricht Spiel GOBANG R uber Beute System MAUS WIESEL Diskette D mmler Verlag Bonn 1993 Die Schwerpunkte dieses Buches liegen bei den beiden Aspekten e Benutzen Analysieren und Warten in Ans tzen komplexer Systeme sowie e Konstruieren mit Hilfe von Bausteinen INHALTSVERZEICHNIS DES BUCHES 1 Benutzung Analyse und Wartung des Gobang Spiels 1 1 W hlen Sie sich Ihren Arbeitsweg 1 2 Dokumentation des Gobang Programms 1 2 1 Benutzeranleitung 1 2 2 Systemstruktur L sungsans tze 1 2 3 Blicke ins Programm Programmausz ge verwendete Tools 1 3 Software Wartung Analyse und kleine nderungsauftr ge 1 4 Programmier bungen unter Verwendung von Elementen aus dem Programm GOBANG und Bausteinen aus der Unit Ino_u 2 Benutzung Analysie und Wartung des R uber Beute Modells Maus Wiesel 2
149. ohlen solche Bausteinbibliotheken zu benutzen Man programmiert mit ihnen auf einer h heren Ebene spart also viel Detailarbeit und damit auch viel Zeit Damit kann man sich auch an Projekte heranwagen die komplexer und zeitaufwendiger sein k nnen als bei Bearbeitung ohne Hilfsmittel Beispielsweise erm glicht die Verwendung des Prozeduraufrufs Input_string in Zusammenhang mit zwei FOR Schleifen die maskenartige Eingabe mehrerer Zeichenketten an Positionen die durch die Spalten 10x und die Zeilen 2y angegeben sind FOR x 1 TO 6 DO FOR y 1 TO 8 DO Input_string 10 x 2 y str 6 A ZI 68 Die Diskette LEH TOOLS stellt zahlreiche Bausteine zur Verf gung von denen hier ei nige angegeben werden Eine genaue Beschreibung dieser Bausteine mit zahlreichen Anwendungen und bungsaufgaben finden Sie in dem D mmler Buch Programmieren in Turbo Pascal mit Bausteinen 1994 E Lehmann Die Bausteine sind in verschiedenen Units zusammengefa t Beispielsweise enth lt die Unit INO_U die folgenden vielfach verwendbaren Prozeduren LISTE DER DATENTYPEN UND PROZEDUREN INTERFACE von INO_U USES Crt TYPE zeichenmenge read_cset SET OF CHAR 1 FUNCTION Holetaste INTEGER 2 PROCEDURE Lauftext in_zeile von_spalte bis_spalte INTEGER text STRING tempo INTEGER 3 PROCEDURE Input_textdatei var datei_name STRING name_erfragen BOOLEAN 4 PROCEDURE Output_textdatei x1 y1 x2 y2 INTEGER Dateiname STRING40 SuchWort strin
150. olgte seinen eigenen Stil allgemein g ltige Methoden gab es nur in Ans tzen Diese Art der Softwareherstellung konnte so angesichts der nun zu erstellenden Mengen der gestiegenen Qualit tserwartungen und gestiegener Preise f r Dienstleistungen nicht mehr fortgef hrt werden Man mu te nach Methoden suchen die den Herstellungsvorgang konomischer machen und Produkte mit h herer Qualit t liefern Angesichts der oben angedeuteten Bedeutung qualitativ hochwertiger Software in allen Bereichen der Praxis hat auch die Schule den Auftrag sich mit Softwareanwendungen zu besch ftigen und den Entstehungsproze von Software im Informatikunterricht kritisch zu untersuchen 13 1 3 Projektarbeit im Informatik Unterricht Sch ler und Lehrer m ssen wissen da Projektunterricht ist eine besondere Ar beitsform ist die ihre eigenen Ziele hat besonders interessant ist aber auch einige Schwierigkeiten mit sich bringt Die folgenden Ausf hrungen dazu beziehen sich auf verschiedene Projektarten Projekttag Projektwoche Projekt ber mehrere Tage Wochen Monate in Unterrichtsf chern usw sie meinen aber besonders Projekte im Informatikunterricht und dabei vor allem Softwareprojekte Projektorientierter Unterricht e will die festgelegten schulischen F chergrenzen berwinden e behandelt komplexe realit tsnahe Probleme und ist meistens f cher bergreifend e ist der Lern und Arbeitsproze in einer sozialen Gruppe deren Ziel oft selb
151. orversion meistens mit eingeschr nkter Funktionalit t e Qualit tstest auf Funktionalit t und Benutzbarkeit insbesondere durch den sp teren Benutzer e nderungen solange erforderlich 23 Von besonderer Bedeutung f r den sp teren Anwender ist neben anderen Faktoren die Gestaltung der Oberfl che des Systems also der sichtbaren Schnittstellen zwischen Mensch und Maschine Die Oberfl che macht zu einem gro en Teil die Benutzerfreund lichkeit des Systems aus Der sp tere Anwender sollte also insbesondere bei der Ge staltung der Benutzeroberfl che mitbestimmen Der hier verwendete Begriff des Prototyps hnelt dem von den Ingenieuren benutzten Begriff des Prototyps hat jedoch hier eine andere Bedeutung Die Ingenieure bezeichnen die erste voll funktionsf hige Version eines Produkts als Prototyp Mit ihm werden letzte Tests durchgef hrt bevor das Produkt m glicherweise in Massenproduktion geht Bei der Softwareentwicklung unterliegt jedoch der Prototyp in der Regel weiteren nderungen So erweist sich ein durch Rapid Prototyping entwickelter Prototyp als Grundlage der e Kommunikation zwischen Benutzer und Hersteller e schrittweisen Einf hrung eines komplexen Systems beim Benutzer e schrittweisen Verfeinerung des Systems durch den Hersteller Prototypen kommen mit ihren Eigenschaften denen des zuk nftigen Endprodukts zu nehmend n her Sie sind ablauff hige Versionen die die Machbarkeit des Ganzen an eingeschr
152. otenen Funktionen in einer bersichtlichen Gestaltung der Bildschirmmasken und in der Einheitlichkeit von Steuermerkmalen und Tastenbelegung Dialog Flexibilit t bedeutet die M glichkeit der jederzeitigen Unterbrechung eines Dialogs eine benutzerorientierte Dialoggestaltung z B in einer geeigneten Sprache sowie die Ausgabe von Zwischen und Endergebnisse Die Zuverl ssigkeit zeigt sich u a darin da der Benutzer bei der Verwendung des Systems keine berraschungen erlebt da sich Systemverhalten bei einer gleichartigen 72 Aufgabenstellung nicht ndert die Antwortzeiten kurz sind und die Arbeitsausf hrung stabil ist Begangene Fehler sollte man r ckg ngig machen k nnen Arbeitsmittel Arbeitsumgebung Bildschirm Stuhlgestaltung Tastatur Beleuchtung Hardware Ergonomie ANPASSUNG Anpassung so m glichst nicht der arbeitende Mensch Anpassung so m glichst ANPASSUNG nicht Software Ergonomie Problemangemessenheit Dialog Flexibilit t Zuverl ssigkeit Selbsterkl rungsf higkeit Abb 2 2 8 a Software Ergonomie Bei der Benutzung eines Programms sollte der Anwender jederzeit ersehen k nnen ggf durch Hilfeaufruf in welcher Programmebene er sich zur Zeit befindet und wie der Systemzustand ist Das System soll in diesem Sinn selbsterkl rend sein Weiterhin soll das System nur solche Kommandos anbieten und vom Benutzer erwarten die zur Ausf hrung der anstehenden Arbeitsaufgabe n tig sind Problem
153. plementierung des berarbeiteten Sy stems in einer neuen Form oder einer neuen Umgebung Dazu geh ren auch die not wendigen Dokumentationen und vor allem die Schulung der Mitarbeiter Datenanalyse Das Reengineering darf nicht losgel st von der jeweiligen Datenbasis gesehen werden Immer dann wenn das Softwaresystem auch auf zu erweiternden oder neuen Datenbe st nden arbeiten soll kommt der Analyse der verwendeten Daten eine besondere Bedeu tung zu In diesem Fall kann nach Abbildung 4 b vorgegangen werden Reverse Engineering Forward Engineering Alter Datenbestand Neuer Datenbestand Analyse des alten Aufbau des neuen Datenmodells Datenmodells Erfassen von Rekonstruktio Beseitigung von Abbau von Datendefekten der Daten Daten bersch ssen Datendefiziten Vorhandene Datenbedarf Datenmodelle Daten Reengineering 127 Abb 4 1 b Daten Reengineering 128 Anl sse f r einen Wartungsfall An solchen Anl ssen mangelt es nicht Wie bei einem v llig neuen Projekt sind aber auch hier Warnungen abgebracht die sich zum einen auf die Zeiteinsch tzung zum anderen auf den Schwierigkeitsgrad beziehen Insbesondere sollte man den Aufwand f r die Analyse des Altsystems nicht untersch tzen Mancher nderungswunsch f hrt zu erheblichen Schnittstellenproblemen und Seiteneffekten Beachten Sie auch f r das Reengineering die Ausf hrungen in Kapitel 2 4 ber die Projektkontrolle Im folgenden werden Anl sse f r War
154. r Mitarbeiter verspricht den Projekterfolg Daher ist ein Bewu tmachen der Rollen der am Projekt Beteiligten also auch der Rolle des Projektleiters unerl lich F r den Projektablauf m ssen immer wieder Entscheidungen getroffen werden f r den eigenverantwortlichen Anteil jedes Mitarbeiters und f r umfassendere Probleme im Projektablauf durch den Projektleiter Wir gehen also davon aus da alle am Projekt Beteiligten am Gelingen des gew hlten Projekts interessiert sind und damit auch die Notwendigkeit einer gut organisierten und verst ndnisvollen Zusammenarbeit einsehen Befassen wir uns also im Folgenden mit den Aufgaben des Projektleiters und mit den Anforderungen die an ihn zu stellen sind 26 ist Organisator Der PROJEKTLEITER ist Kollege vertritt das Team gegen au en Abb 2 1 3 a Projektleitung Interne Kommunikation Der Projektleiter soll verwalten leiten und f hren Er kann Auftr ge erteilen Er kann kontrollieren und berwachen Abb 2 1 3 b F hrungstechnik des Projektleiters 27 Der Projektleiter in Aktion Der Projektleiter informiert sich in den einzelnen Gruppen e l t sich ber den Arbeitsstand berichten e sichtet die neue entstandenen Dokumente e achtet auf die Einhaltung der Prinzipien des Software Engineering und e insbesondere auf die des strukturierten Entwurfs und der strukturierten Programmierung e achtet auf die Einhaltung der verabredeten Schnittstellen e
155. r Maske und kann nicht zur ck Es ist lediglich ein Neubeginn mit leerer Maske m glich nachdem die Eingabemaske zuvor vollst ndig bearbeitet wurde e Bei den Zeichenketteneingaben werden keine Sonderzeichen zugelassen usw e L schen von Datens tzen Keine Absicherung gegen Tippfehler bei der Eingabe der zu l schenden Satznummer Kein zus tzliches Darstellen des zu l schenden Daten satzes e Men punkte Irref hrende Beschriftung der Men punkte Der Benutzer wird dazu verleitet angegebene Buchstaben zu dr cken was jedoch keine Wirkung hat Viel mehr wird ja mit dem Cursor ausgew hlt M gliche Abhilfen bei der Eingabe von Datens tzen Bei Neubeginn die vorhergehenden Eintr ge anzeigen oder Neuprogrammierung unter Beibehaltung der Maskentexte so da man in der Maske mit Hilfe der Cursortasten und der Tab Taste hin und herfahren kann Men punkt 2 Rennen starten Der Ablauf des Rennens ist mit einer sehr primitiven Blockgrafik auf dem Textbildschirm dargestellt Hier w re eine Benutzung des Grafikbildschirms zu empfehlen Men punkt 3 Wetten annehmen e Wenn man eine 1 eingeben will mu man 01 eingeben e Beim Datum m ssen die Punkte mit eingegeben werden e Beim Tippen sieht man nur die Nummern der Pferde nicht die Namen e Beim L schen eines Wettscheins wird dieser nicht vorher angezeigt e Man kann nicht alle Scheine zu einem Renntag l schen Men punkt 4 Gewinne auszahlen e Die Liste
156. rameter und wird an den bergeordneten Programmteil zur ckgege ben Nach dem Aufruf einer Prozedur und deren Abarbeitung kehrt das Programm zu der Anweisung die auf den Prozeduraufruf folgt zur ck Beschreibung von Prozeduren Prozedurspezifikation F r Dokumentationen ben tigt man eine geeignete Beschreibungsform von Prozeduren aus der die wichtigsten Eigenschaften der Prozeduren schnell ersichtlich sind Es folgt ein Vorschlag f r eine derartiges Formular DOKUMENTATION DER PROZEDUR LETZTES UPDATE AUTOR PROZEDURKOPF FUNKTIONSBESCHREIBUNG ee ee SCHNITTSTELLEN A PARAMETER IMPORT EXPORT B PROZEDUREN IMPORT C GLOBALE VARIABLE WERT NDERUNG D DATEIEN WERT NDERUNG E AUFRUFBEISPIEL 41 SONSTIGES z B bekannte Fehler 41 2 2 4 Das Modulkonzept Module in technischen Anlagen Eine HIFI Anlage ist modular aufgebaut z B aus Empf nger Verst rker Plattenspieler CD Spieler Kassettenrecorder Die Anlage besteht aus verschiedenen Bauteilen Modulen Die Einzelger te sind weitgehend unabh ngig voneinander und k nnen z B nacheinander gekauft und zusammengesetzt werden Sie k nnen auch einzeln repariert bzw gegen neuere Teile ausgetauscht werden Die Vorteile einer solchen Konzeption sind klar ersichtlich Weitere Beispiele solcher modular aufgebauten Systeme lassen sich leicht finden In der Datenverarbeitung wird der Begriff des Moduls in unterschiedlichen
157. rammbenutzer f r das Wartungspersonal 85 Abb 2 3 a Handb cher Dokumentationshilfsmittel F r die Dokumentation kann man sich verschiedener Hilfsmittel des Computers bedienen F r das Schreiben von Texten Sch ler Protokollen kann man z B den Turbo Pa scal Editor benutzen und damit ASCH Dateien erstellen Komfortabler sind Textverar beitungsprogrammem in die man auch graphische Darstellungen einbauen kann Ohnehin sollte man sich in der Dokumentation h ufig graphischer Darstellungen bedienen denn ein Bild sagt mehr als 1000 W rter F r die Entwurfsphase sei hierf r besonders auf die in Kapitel 2 2 4 beschriebenen Hilfsmittel wie Struktogramm SADT Diagramm Baumdiagramm usw hingewiesen die sich f r bersichtliche Dokumentationen gut eignen Die bersichtlichkeit wird auch durch das Anlegen von Tabellen gef rdert Systeme zur Informationssystem zum entstehenden Produkt Projektplanung Textverarbeitung Grafikerstellung CASE Umgebung Compilierung von Quellprogrammen berwachung von Testl ufen Kontrolle von Programmtteil versionen Verwaltung von Modulbibliotheken 86 Abb 2 3 b Beispiel einer CASE Umgebung Die entstehenden Dateien k nnen durch den Computer verwaltet werden Dazu ge h rt z B da die Namen der Dateien gut berlegt wurden etwa durch sinnvolle Nume rierungen passende Bezeichnungen der Stellen nach dem Trennpunkt z B xxx pas oder durch Ber cksichtigung des Datu
158. ration der Module erfolgen Die Module liegen als Units vor Stellen Sie einen bersichtlichen Arbeitsplan f r die dann notwendigen Arbei ten auf Welche Schwierigkeiten erwarten Sie Verdeutlichen Sie diese auch in Ihrem Ablaufplan 2 Modul 4 Wettschein auswerten ben tigt zum Testen eine gr ere Anzahl von Wett scheinen Die folgende Demonstration am Bildschirm zeigt Ihnen eine M glichkeit relativ schnell viele Scheine zu erzeugen a Nach welchen Grundideen arbeitet das Programm b Schreiben Sie eine PASCAL Prozedur die Ihre Ideen nach a realisiert 3 Die Option Renntag initialisieren soll nur f r Operateure zul ssig sein Welche programmtechnische Realisierung schlagen Sie vor Algorithmus in Worten angeben 4 Das Programmsystem enth lt bekanntlich eine Zugangskontrolle zu einigen Optionen a Welchen Sinn hat die Zugangskontrolle bei den jeweiligen Optionen b Schreiben Sie ein Struktogramm zu dem anliegenden Programm K PASS PAS nur f r die Zugangskontrolle in engerem Sinn 152 PROGRAM PASS USES Crt Ino_u VAR ok BOOLEAN PROCEDURE passwort_ein VAR ok BOOLEAN VAR zahl passzahl INTEGER BEGIN Clrscr Gotoxy 1 5 RANDOMIZE zahl RANDOM 100 1 WRITE zahl Input_integer 1 6 Dazu bitte Ihr Pa wort passzahl 2 WRITELN IF zahl MOD passzahl 3 0 then BEGIN WRITELN Sie d rfen mein Programm benutzen ok true END ELSE WRITELN Sie d rfen mein Programm nicht benutzen
159. re Wartung nimmt also in der Praxis einen gro en Stellenwert ein Sie erfordert h ufig einen erheblichen Arbeitsaufwand und kostet entsprechend viel Um Aufwand und Kosten zu minimieren mu man sich Gedanken machen wie man eine derartige Wartung am besten durchf hrt sofern man selbst die M glichkeit dazu hat F r diesen Fall mu einem selbstverst ndlich die Programmaquelle vorliegen Wenn ein Projekt zur Softwarewartung begonnen wird ist es unerl lich sich vorher klarzumachen wie Software berhaupt hergestellt wird Die umfangreichen Methoden hierzu sind in den Kapiteln 1 3 des Buches dargetellt Als Grundlage auch f r das Re engineering kann der bekannte Software Life Cycle dienen angereichert mit den Me thoden des Prototyping siehe Kapitel 2 1 1 und 2 1 2 Die uns hier interessierende Phase der Wartung des Softwareprodukts tritt in der Abbil dung zum Software Life Cycle unter der Nummer 7 auf Man kann sich leicht vorstel len da zumindest ein gr erer nderungsauftrag wieder einen Ablauf einleitet der durch die Abfolge 1 2 aber auch durch zus tzliche berlegungen bestimmt ist Denn nun setzt die Arbeit auf eine fertige Systemversion auf die bei der Systemer weiterung mehr oder weniger stark zu ber cksichtigen ist Die Zeitdauer der Phasen wird daher sicher anders sein als bei der erstmaligen Systementwicklung und auch die Vorgehensweise wird sich teilweise davon unterscheiden Wir wollen bei unseren
160. re Wartungsarbeiten an der Software erh lt diese ein eigenes Kapitel 2 3 Dabei werden die Grundlagen einer Pro grammiersprache vorausgesetzt hier PASCAL Schul Softwareprojekte scheitern nicht selten an diversen Unzul nglichkeiten Die Warnungen in Kapitel 2 4 entspringen meiner l ngj hrigen Erfahrung in Projektarbeit Die angegebenen Checklisten k nnen helfen Projektarbeit erfolgreich abzuschlie en Kapitel 3 bringt die Beschreibung eines realen Projektablaufs in Form einer Entwicklungsdokumentation Das gew hlte Beispiel Simulation einer Trabrennbahn wurde mit einer Sch lergruppe in Klasse 12 13 durchgef hrt Es kann als Muster f r andere Projekte dienen Grundz ge der Projektarbeit kann man auch bei der Wartung von Software Reenginee ring lernen Grundlegende Ausf hrungen hierzu bringt Kapitel 4 als Beispiel wird erneut das Trabrennbahn Programm herangezogen von dem hier eine zweite Version entsteht In dem Kapitel werden auch Hinweise auf weitere Softwaresysteme des Autors gegeben die f r Wartungsprojekte geeignet sind Es gibt in der Literatur kaum Aufgabenstellungen zu Informatik Projektarbeit Diese L cke soll mit den bungsaufgaben in Kapitel 5 geschlossen werden Diese besch ftigen sich mit Fragen aus verschiedenen Bereichen des Software Engineering Es sind insbesondere Fragestellungen zu den Konzepten und dem Bewu tmachen von Zusammenh ngen Kapitel 6 ist ein Glossar in dem weitere Begriffe im Zusammenhan
161. reuer zu sch ttet So ist es zum Beispiel nicht sinnvoll den Entstehungsproze der Software sklavisch protokollieren zu lassen alle benutzten Algorithmen graphisch oder anders darzustellen Ans tze zu notieren die als untauglich verworfen wurden zu allen nderungen bei der Erstellung einer neuen Version nderungsprotokolle an fertigen zu lassen bei weiteren Versionen sollten jedoch alle nderungen gegen ber der Vorversion protokolliert werden damit sich eventuell auftretende Fehler zur ck verfol gen zu lassen Vielmehr halten wir fest Die Dokumentation soll in m glichst bersichtlicher knapper und verst ndlicher Form nur das enthalten e was der Benutzer f r seine Arbeit mit dem System tats chlich ben tigt e was der Betreuer der Software f r eventuelle Wartungsarbeiten d h insbesondere nderungen am System braucht Der Umfang der Dokumentationen l t sich durch zwei Ma nahmen besonders einschr nken e Das System soll sich m glichst weitgehend selbst dokumentieren Benutzerfreundlich keit ggf Hilfetexte e Da der die Wartung durchf hrende Systembetreuer in der Lage ist den Quelltext zu lesen kommt es sehr darauf an da der Quelltext an geeigneten Stellen Kommentare enth lt Spezifikation der Module Prozeduren Datenstrukturen Das erspart das Notieren in der schriftlichen Dokumentation Auf diese Weise ist auch eher gesichert da es sich um aktuelle Informationen handel
162. rkzeugeinsatz gew hrleistet die syntaktische Korrektheit von Ergebnissen jedoch nicht die semantische Korrektheit ihrer Resultate Aufgaben zu Kapitel 2 2 8 Qualit tsanforderungen 1 Ein Rollenspiel Ein Sch ler Ihres Kurses wird zum K ufer einer Software z B eines mathematischen Programms Funktionenplotter ernannt ein anderer Sch ler tritt als Ver k ufer der Software auf a Formulieren Sie in einer Arbeitsgruppe die Anspr che des K ufers an die Software b berlegen Sie sich in einer weiteren Arbeitsgruppe eine Strategie f r das Verhalten des Verk ufers c Starten Sie das Rollenspiel also das Gespr ch zwischen K ufer und Verk ufer Die an deren Sch ler notieren sich die Argumente der Gespr chspartner d Beurteilen Sie den Verlauf des Gespr chs e nach Verhalten der Gespr chspartner e nach der G te ihrer Argumente 2 Bringen Sie verschiedene Masken auf den Bildschirm oder betrachten Sie entspre chende Kopien auf Papier Beurteilen Sie die Qualit t dieser Masken nach folgenden Gesichtspunkten Optische Wirkung berschaubarkeit Verst ndlichkeit Benutzerfreundlichkeit Bild schirmaufteilung Anordnung der Texte Problemangemessenheit F gen Sie ggf weitere Beurteilungskriterien hinzu 3 In Kapitel 2 2 8 finden Sie eine Zusammenstellung von Qualit tsmerkmalen aus der Sicht des Benutzers Erstellen Sie eine hnliche Tabelle aus der Sicht eines Programmie 147 rers der die Software m glic
163. rl lich und demzufolge weit verbreitet F r diese in der Berufspraxis so wichtige Arbeitsweise ist der Informatikunterricht in beson derem Ma e geeignet denn 10 Der Informatikunterricht bietet schon vom fachlichen Ansatz her die M glichkeit von Projektarbeit z B zur Konstruktion komplexer Software und hierbei mu ebenfalls im Team gearbeitet werden In zahlreichen Projekten im Wirtschaftsleben werden Kenntnisse aus verschiedenen Ge bieten ben tigt Das f cherorientierte Lernen in der Schule f rdert jedoch gerade diesen Aspekt kaum F r die Informatik jedoch gilt Softwareprojekte haben in der Regel einen f cher bergreifenden Charakter und die In formatik ist wegen der Vielzahl ihrer Anwendungsbereiche besonders geeignet um gerade diesen Aspekt erfolgreich zu ber cksichtigen In der Schule herrscht in der Regel das sogenannte Schubkastendenken Jedes Fach ar beitet nur f r sich selbst Bez ge zu anderen F chern werden kaum hergestellt sondern eher vermieden Das liegt meistens an der Ausbildung der Lehrer aber auch an den Lehrpl nen So kommt es da sich auch die Sch ler dieser Situation anpassen und im mer nur das Schubfach ffnen das die Inhalte des gerade aktuellen Faches enth lt Im Informatikunterricht kann das enge F cherdenken berwunden werden Es ist weit interessanter eine komplexe Anwendung zu programmieren als st ndig nur kleine Programme zu entwerfen die keine praktische Bedeutung h
164. rocess Output ist eine von der Firma IBM eingef hrte Methode f r den Entwurf und die Dokumentation von Datenverarbeitungsprojekten Die wichtigsten Elemente dieser Technik bestehen in einer hierarchischen Gliederung des Systems und seiner Funktionen mit Hilfe von bersichts und Detaildiagrammen Die berlegungen gehen davon aus da jedes Programm und jedes Programmodul nach dem EVA Prinzip arbeitet Eingabe Verarbeitung Ausgabe Input Process Output Es liegt also eine Abbildung V von der Menge der Eingabedaten I in die Menge der Ausgabedaten O vor P I gt O Die Vorgehensweise bei der Konstruktion von HIPO Diagrammen kann man so beschreiben 1 Festlegung der Ausgabedaten des Gesamtprogramms 2 Festlegung der dazu notwendigen Eingaben 3 Umgangssprachliche Beschreibung der Abbildung Funktion P I gt O 4 Zerlegung der Abbildung P in Teilabbildungen P1 P gt P und deren umgangssprachliche Beschreibung Festlegung der Ausgabe und Eingabedaten Teilabbildungen 6 Gegebenenfalls erneute der Zerlegung in Teilabbildungen bis die Teilabbildungen so elementar werden da man sie leicht in eine Programmiersprache bertragen kann n Der grundlegende Aufbau eines HIPO Diagramms ist also P Name des Prozesses Eingaben Input Verarbeitung Process Ausgaben Output Die Pfeile geben an welche Eingaben zu den den angezeigten Verarbeitungsvorg ngen f hren bzw welche Verarbeitungsprozesse bestimmt
165. rojekte geeignete sehr begrenzte Checklisten f r den Pro jektleiter Hinweis Wegen des m glichen Umfangs solch einer Liste sollten Sie sich die Arbeit teilen etwa gem den einzelnen Phasen der Softwareentwicklung 5 Nennen Sie Unterschiede in der Projektleitung an einer Schule und in einem Betrieb 6 Die folgende Tabelle gibt einen berblick ber Softwareentwicklung und Softwarewartung in aktuellen Projekten a Erl utern Sie die in den einzelnen Punkten der Anwendungsentwicklungen auftretenden Begriffe 138 b Bei welchen Punkten handelt es sich um neue Projekte c Warum wird f r Wartung und Weiterentwicklung soviel Kapazit t ben tigt 139 Aufteilung der Kapazit t f r die Anwendungsentwicklung Projekte zur Rationalisierung 30 6 wettbewerbsorientierte Projekte 12 4 Wartung 20 1 Weiterentwicklung 25 7 Interne Projekte zur Datenverarbeitung 11 2 DV Infrastruktur 5 Eine Befragung zu 1990 und 1991 abgeschlossenen DV Projekten hat u a ergeben e In fast 40 der Projekte wurde keinerlei Projektmanagement eingesetzt e Fast jedes zweite Projekt hatte keine konkreten Meilensteine e Nurca 47 hielten die Projektlaufzeit ein e Die H lfte der Projekte hielt sich nicht an die Aufwandssch tzung Erl utern Sie m gliche Gr nde und Folgen dieser Feststellungen 6 F r die Wartung von Software haben sowohl das Alter der Software als auch die bei der Entwicklung verwendete Methodik eine gro e Bedeu
166. ronisch bertragen Die Spieler Rs Annahmestelle Wertleidenschaft Codierung Datenschutz Systemwetten Datensicherung Tip per Zufall am Computer Kontrolle Tip Ziehung Datenerfassung Speicherung Film Lagerung riesige Datenmengen Lottozentrale Algorithmus Simulation am Computer Steuerung einer M llanlage Benachrichtigung Serienbrief Vergleich Statistik mit Computer Der Lebenslauf eines Lottoscheins Stationen mit wesentlichen T tigkeiten Rolle des Computers an den Stationen Der Arbeitsbereich des Programms LOTTO Abb 2 2 1 c Das komplexe System LOTTO 31 Das Programm LOTTO beschreibt ein Teilsystem Es fa t mehrere Komponenten zu ei nem Ganzen zusammen Die Komponenten bearbeiten wohlbestimmte Aufgaben die u a im Men des Programmsystems deutlich werden Ein System bearbeitet eine wohldefinierte Menge von Aufgaben Man kann ein solches System in der Regel charakterisieren durch e sein von au en sichtbares Verhalten e seine innere Struktur e seine Eigenschaften Bei geschlossenen Systemen wird sein Verhalten nicht von au en beeinflu t Ist das der Fall spricht man von offenen Systemen Wir sehen die Systemoberfl che Wir erkennen die Bausteinen des Systems wir erkennen seine Funktionen wir erkennen die Verwendung vorgefertigter wir erfassen die Schnittstellen Programmbausteine wir bemerken Teilsysteme wir sehen programmtechnische D
167. rototyping e Fr hzeitige Erstellung der Benutzeroberfl che und Test auf Funktionalit t und Benutzerfreundlichkeit e Offenhalten von nderungsm glichkeiten innerhalb einzelner Module 25 2 1 3 Projektmanagement und Teamarbeit Hinweis Kapitel 2 4 handelt von der Projektkontrolle spricht Warnungen aus und bietet Checklisten f r den Projektleiter Die Konstruktion eines komplexen Softwareprodukts in vertretbarer Zeit kann in der Regel nur von einem Team geleistet werden Die Anzahl der ben tigten Mitarbeiter richtet sich nach dem Umfang und der Komplexit t des Problems Schon bei wenigen Mitarbeitern ergeben sich schnell Koordinierungs und andere Probleme die F hrung des Projekts durch einen Projektmanager erforderlich machen Entsprechende berlegungen gelten auch f r die Schule In der Schule wird in der Regel der Lehrer der Projektmanager Projektleiter sein es ist aber auch denkbar da ein geeigneter Sch ler Leitungsaufgaben bernimmt Innerhalb des Projektablaufs stellt sich die Frage WAS mu WER WANN und WIE machen Projektmanagement in der Schule Warum sollen sich auch Sch ler mit den Problemen besch ftigen die aus der Lei tung eines Projekts entstehen Sch ler arbeiten im Unterricht aller F cher viel mit ihren Mitsch lern zusammen nun erfolgt die Zusammenarbeit auf einer anderen Ebene n mlich in einem Team in dem jeder Sch ler seine besondere Verantwortung tr gt Nur das Zusammenwirken alle
168. rschiedliche Interessen haben Sie betrachten in der Regel nur die f r sie wichtigen Teile und Aspekte eines Projekts Diese unterschiedlichen Sichtweisen gilt es zusammenzuf hren 163 Qualit tssicherung Das Pflichtenheft f r eine Softwareproduktion enth lt au er den funktionalen Anforderungen auch Qualit tsanforderungen wie Benutzerfreundlichkeit Zuverl ssigkeit Wartbarkeit Portabilit t Effizienz Ergonomie Gestaltung des Programms entsprechend den geistigen und k rperlichen Bed rfnissen der Benutzer Ausf hrliche Darstellung in Kapitel 2 2 8 Reengineering Wartung eines Softwareprodukts siehe unter Wartung Das Reengineering beginnt mit dem Reverse Engineering und geht dann zum Forward Engineering ber Siehe Kapitel 4 164 Reverse Engineering Die Analyse eines bestehenden Systems mit den Zielen e Wiedergewinnung des Softwareentwurfs und der Anforderungsspezifikation um die Systemkomponenten und ihre Beziehungen zu verstehen e eine andere Form oder eine auf einer h heren Abstraktionsebene basierende Systembeschreibung zu erstellen Schablonentechnik Diese Technik arbeitet mit einem noch nicht ablauff higen Programmskelett In diese vorgegebene Schablone k nnen dann die n tigen Dateinamen Variablennamen usw ein getragen werden Schnittstellen Es gibt verschiedene Arten von Schnittstellen siehe Abbildung F r das Buchvorhaben sind insbesondere die Schnittstellen Mensch Maschine und Software Software
169. rt er diese Prozeduren nacheinander aus testet sie jeweils bis schlie lich das gesamte Programm fertig ist b Welche der beiden Arbeitswege ist besser geeignet f r die Bearbeitung umfangreicherer Probleme Begr ndung c Formulieren Sie eine dritte L sung unter Verwendung der L sung 2 indem Sie die Prozeduren mit geeigneten Parametern versehen 3 Erl utern Sie die folgende Abbildung KOMPLEXE PROBLEMSTELLUNG TOP DOWN Teilproblem 1 Teilproblem 2 Teilproblem 3 Teilproblem 4 BOTTOM UP Teilproblem 2 1 Teilproblem 2 2 142 AUFGABEN zu Kapitel 2 2 3 Das Prozedurkonzept 1 Erl utern Sie die Begriffe Prozedur Prozedurkopf Prozedurrumpf formaler Parame ter aktueller Parameter Eingangsparameter Ausgangsparameter 2 Bei vielen Aufgabenstellungen hat man Tabellen Matrizen einzugeben Man kann hierzu eine Eingabemaske verwenden die man als wiederverwendbaren Baustein konstruieren sollte F r die Eingabe einer 3 5 Tabelle 3 Zeilen 5 Spalten ist z B die folgende Maske geeignet 1 2 3 4 Schreiben Sie eine PASCAL Prozedur die Eingaben in eine Tabelle realisiert Benutzen Sie Variablenparameter f r die Zeilen und Spaltenanzahl Aufgaben zu Kapitel 2 2 4 Das Modulkonzept 1 Nennen Sie Ger te die aus verschiedenen Bauteilen aufgebaut sind Um welche Bau teile handelt es sich Erl utern Sie dabei auch den Begriff der Normung 2 Die Zerlegung der Module in Prozeduren folgt gewissen Regeln die ma
170. s Projekt zusammenfassend kritisch reflektieren kann Au erdem hat man im Unterricht die M glichkeit auf fr here Absprachen zu verweisen Insofern wird es sich im Wesentlichen um ein Abheften in zeitlicher Reihenfolge von Unterlagen handeln ber e organisatorische Ma nahmen e Aufgabenbeschreibungen e Arbeitsanweisungen wie z B Programmierrichtlinien e gemeinsame Zwischenbesprechungen etwa in Form von Sch lerprotokollen e Beschreibungen von Arbeitszust nden an bestimmten Haltepunkten Protokolle e Entwurfsentscheidungen Quelltexte Testprotokolle innerhalb der Arbeitsgruppen e usw F r die Unterrichtspraxis empfiehlt sich ein zeitlich geordnetes Abheften der Unterlagen ohne zwanghaften Drang nach Vollst ndigkeit Von diesen Schriftst cken sind diejenigen besonders wichtig die sp ter in die Gesamtdokumentation Benutzerhandbuch Wartungshandbuch aufgenommen werden sollen Es bringt nichts und ist f r den Schulunterricht Zeitverschwendung wenn man w hrend der Entwicklungszeit laufend Papiere produziert die sich sp ter als unwichtig erweisen Zusammengefa t Die begleitende Dokumentation soll sich ausrichten nach e den Anforderungen von Benutzerhandbuch Wartungshandbuch und Werbeschrift e der kritischen Reflexion des Projektablaufs am Ende des Projekts Entwicklungs dokumentation DOKUMENTATION Entwicklungshandbuch Benutzerhandbuch Wartungshandbuch f r die Projektbeteiligten f r die Prog
171. s erstellte Produkt mit nach Hause nehmen und damit einem ganz anderen Benutzerkreis zur Verf gung stellen Wir sehen Es gibt auch im Schulbereich und im Umfeld der Schule gen gend Abnehmer f r die erstellte Software Und diese rufen nach einer Dokumentation Zum ersten Absch tzen der Eignung des Produkts werden die Interessenten ber eine Kurzinformation dankbar sein also ber einen Werbe Prospekt Was bleibt nun als sinnvolle Dokumentation f r die Erstellung eines Softwarepro dukts in der Schule brig Als Inhalte von Benutzer und Wartungshandbuch werden vorgeschlagen Das Benutzerhandbuch f r die Programmbenutzer 1 Inhaltsverzeichnis 2 Zweck des Programms kurze berblicksartige Beschreibung seiner Funktionen Modulhierarchie soweit f r die Bedienung wichtig man kann hier z B an einen Prospekttext denken Fachkenntnisse werden in diesem Teil nicht vorausgesetzt 3 Hardwarevoraussetzungen Hinweise zur Installation 4 Beschreibung der Programmsteuerung Men s Masken Modulhierarchie Beispiele 5 Vollst ndige Beschreibung aller Systemkommandos mit Details zu den einzelnen Programmfunktionen dazu Beispiele Nachschlagebuch reference manual Das Wartungshandbuch f r das Wartungspersonal Inhaltsverzeichnis Aufgabenstellung Anforderungsdefinition vom Auftraggeber Pflichtenheft vom Hersteller Modulhierarchie Datenstruktur Datenformate A a 82 6 Hinweis auf Kommentare im Programmt
172. sen Die Ergebnisse einer Projektarbeit k nnen auf verschiedene Weisen pr sentiert werden Konstruktion eines Films Demonstrationsprogramm Handb cher Referate mit Rech nereinsatz und Projektion auf einem LC Display Folien f r den OH Projektor Wandzei tung In der Schule k nnen solche Pr sentationen z B vor anderen Kursen oder Schulklassen stattfinden Projektmanagement Bei der Planung und Abwicklung von Projekten besteht die Gefahr da der berblick verloren geht Hier mu eine geeignete Organisationsform das Projektmanagement helfen Einzelheiten kann man in den Kapiteln 2 1 4 und 2 4 nachlesen Projektzustand Ein Projektzustand umfa t die Zust nde aller Prozesse und Produkte eines Projekts zu ei nem bestimmten Zeitpunkt Die Sichtbarmachung des aktuellen Projektzustands erm glicht die Beobachtung des Projektfortschritts z B das Einhalten von Terminen Das Projektmanagement oder die Mitarbeiter die Sch ler erkennen welche umfassenderen Prozesse zu dem betrachteten Zeitpunkt gerade aktiv sind bzw aktiviert werden k nnen F r den Projektunterricht in der Schule bedeutet die Feststellung des aktuellen Projektzustands einen Haltepunkt der den Sch lern berblick verschafft Der Projektzustand kann von den einzelnen Gruppen z B in Referaten auf Folien oder in einem Schriftst ck beschrieben werden Die Feststellung von Projektzust nden ist auch deswegen so wichtig weil die verschiedenen Projektmitglieder unte
173. st gesetzt ist e zeichnet sich durch die Arbeit im Team aus e will das Auseinanderfallen von Theorie und Praxis berwinden e hatein Ziel das sich aus der Integration gemeinsam gewonnener Erfahrungen realisiert e hat auch die benutzten Arbeitsmethoden zum Inhalt e erzeugt Produkte ber die mit anderen Personen kommuniziert werden kann Allgemeine und soziale Ziele e Teamf higkeit entwickeln e Notwendigkeit und Sinn von Arbeitsteilung einsehen e Artikulationsf higkeit entwickeln Ziele zur Erlangung von Planungskompetenz e Arbeitsmittel und zur Verf gung stehende Ressourcen richtig einsch tzen e Kritikf higkeit eigener und fremder Arbeit gegen ber entwickeln e Gewinnung und Auswertung von Informationen ben e einzeln und im Team Entscheidungen treffen Auf die Computeranwendung bezogene Ziele e Komplexit t realer Problemstellungen erkennen e unterschiedliche Interessenlagen von Auftraggeber Hersteller Anwender und von der Anwendung Betroffenen erkennen e die Auswirkungen unterschiedlicher Designentscheidungen erkennen Auf die Softwareerstellung bezogene Ziele e Interdisziplinarit t des Herstellungsvorgangs erkennen und bew ltigen e die Methodik der Softwareerstellung als Mittel zur Bew ltigung inhaltlich und organisatorisch komplexer Probleme begreifen und erfahren 14 Methoden der Softwarekonstruktion anwenden k nnen Projektorientierter Unterricht bringt Schwierigkeiten mit sich 1
174. string3 pisten_unten_ab pisten_oben_an ARRAY 1 5 OF string3 huetten_oben huetten_unten ARRAY OF string20 pistenbelag belag pistenbetrieb betrieb pisten_satzinhalt satzinhalt END TYPE pistendateien FILE OF pistensatz TYPE art_des_datensatzes satz_neu satz_aendern VAR pistendatei pistendateien Liste von Bezeichnern f r die Operationen auf s_date PROCEDURE pistensatz_initialisierenl VAR pisten_datensatz pistensatz PROCEDURE pistensatz_initialisieren2 VAR pisten_datensatz pistensatz VAR datensatznummer INTEGER 45 PROCEDURE pistensatz_eingeben name_des_skigebiets STRING VAR pisten_datensatz pistensatz VAR satz_uebernehmen CHAR VAR zurueck BOOLEAN VAR eingabeart art_des_datensatzes VAR datensatznummer INTEGER PROCEDURE datensaetze_eingeben VAR name_des_skigebiets STRING VAR pistendatei pistendatelen VAR eingabeart art_des_datensatzes VAR datensatznummer INTEGER PROCEDURE einen_datensatz_ausgeben satznummer INTEGER PROCEDURE datensaetze_loeschen PROCEDURE pistendatei_lesen PROCEDURE in_pistendatei_suchen PROCEDURE pistendatei_verkuerzen Implementierungsteil privater Teil IMPLEMENTATION PROCEDURE einen_datensatz_ausgeben satznummer INTEGER VAR dateiname STRING pisten_datensat z pistensatz zeile spalte INTEGER BEGIN Anweisungen der Prozedur einen_datensatz_ausgeben END BEGIN END Wir erkenne
175. t Dazu k nnen knappe Erl uterungen an kritischen Programmstellen kommen Allerdings darf die Doku mentation im Programm nicht so umfangreich werden da man den eigentlichen Quelltext dazwischen suchen mu Die vorstehenden berlegungen gelten allgemein f r Softwareerstellung besonders aber auch f r die Schule Dabei gehen wir davon aus da die Software nach ihrer Erstellung nicht beiseitegelegt wird sondern sp ter Verwendung findet Wer k nnen in der Schule die Benutzer bzw Systembetreuer sein 81 1 Es kann sich bei dem Produkt um Software handeln deren Einsatz in anderen Schul f chern vorgesehen ist Dann sind die Lehrer dieses Faches und ihre Sch ler die Benut Zer 2 Die Software kann etwa auch f r die ITG Informationstechnische Grundbildung als Grundlage einer projektartigen Unterrichtsreihe vorgesehen sein Dann sind j ngere Sch ler die Grundlagen der DVA und ihre Anwendung an einem ausgew hlten Thema kennenlernen die Nutzer 3 Die Software kann aber auch in der Informatik selbst als Studienobjekt eingesetzt werden etwa bei der sogenannten Software Analyse u a mit dem Ziel der Wartung eines Produkts Das beinhaltet dann auch nderungen also fungieren die Sch ler als Systembetreuer 4 M glicherweise ist die Software auch f r die Schulverwaltung von Bedeutung 5 Denkbar ist auch die Weitergabe an andere Schulen oder an schulnahe Institutionen 6 Und schlie lich werden die Sch ler da
176. te scheitern oft an einer ungeeigneten Organisationsform So erfordert schon die Vorbereitung erst recht die Durchf hrung eines Software Projekts seitens eines Unternehmens umfangreiche Ma nahmen e Projektanalyse Vorstudie e Projektplanung Personalplanung Sachmittelplanung Arbeitspl tze Arbeitsmittel Terminplanung Kontrollplanung Kostenplanung Kostenvergleichsrechnung Nutzwertanalyse Vorteile und Nachteile bei der Systemein f hrung ergeben die Bilanz die zur Projektentscheidung f hrt ggf kommt es zur Pro jektgr ndung Falls die Projektfreigabe erfolgt ist setzt das Projektmanagement ein Die ersten T tigkeiten bei der Projektorganisation sind Organisation des Projektteams festlegen Kompetenzen Projektleiter benenne Projektteam bilden Einbettung des Kommunikationswege und Projekts in die Hilfsmittel festlegen Unternehmens struktur 29 Der Projektleiter koordiniert den Personal und Mitteleinsatz er kontrolliert den Projektablauf und ist verantwortlich f r das Erreichen der Projektziele Er regelt den Mitarbeitereinsatz so da eine ausgewogene Arbeitsverteilung gew hrleistet ist Man erwartet von ihm fachliche Kompetenz Geschick in der Mitarbeiterf hrung und Entscheidungsfreudigkeit 29 2 2 Konzepte f r die Konstruktion komplexer Software 2 2 1 Systemdenken und Modellbildung Mit den Ausf hrungen zu den f r die Informatik und auch f r die Mathematik wichtigen Modellbildungsproz
177. tersuchungen eines im Dialog arbeitenden Systems kann der Schwerpunkt liegen auf a der Dialogoberfl che Benutzerschnittstellen oder b dem Dialoghintergrund die Funktionalit t des Systems die sich hinter dem sichtbaren Dialog verbirgt Zu a F r den Benutzer ergibt sich eine Folge von Bildschirmmasken Man kann das Dialogsystem als einen Graphen darstellen Die Knoten des Graphen sind die Bild schirmmasken die gerichteten Kanten sind die berg nge von einer Maske i zu einer Maske j Die verschiedenen Dialoge erscheinen als Maskenfolgen die die unterschiedlichen Programmpfade repr sentieren Zu b Hinter jeder Kante aus a verbergen sich Funktionen f r den bergang von einer Maske zu einer anderen Die einfachen Kanten w ren nun in Mehrfachkanten aufzuspalten die jeweils einer Funktion entsprechen 2 2 9 Das Testen von Programmen Testmethoden Tests sind Verfahren die dazu dienen Fehler im Entwurf und im Programm zu erkennen und zu lokalisieren Das Ziel ist die L sungen fehlerfrei zu machen Je komplexer die Programmentwicklungsprozesse sind desto gr er ist die Wahrscheinlichkeit von Fehlern Diese k nnen schon bei der Entwicklung der L sungsideen aber wegen der notwendigen Genauigkeit auch bei der bersetzung in ein Programm auftreten F r Spezifikation und Programm besteht zun chst das Problem ob man zu jeder Frage stellung x eine korrekte Antwort erh lt Anschlie end kann man zur Verifikatio
178. tes Programmieren wird u a unterst tzt durch e das Prozedurkonzept siehe Kap 2 2 3 e das Modulkonzept Kap 2 2 4 e Bausteinbibliotheken Kap 2 2 7 e Men und Maskengeneratoren Kap 2 2 6 e Verwendung wiederverwendbarer Softwareteile e besondere graphische Darstellungsformen Kap 2 2 5 Die oben beschriebene Top Down Methode wird durch die Bottom Up Methode er g nzt bei der man das Gesamtsystem von unten nach oben zusammensetzt also bei der Programmierung mit der untersten Ebene beginnt Man steigt also von einfachen Anwei sungen auf zu Anweisungen h herer Komplexit t Manchmal erweist es sich als g nstig beide Methoden miteinander kombiniert einzusetzen Bei der Bottom Up Programmierung wird mit der Programmierung der untersten Teil probleme begonnen ohne da ihr Bezug zum Gesamtsystem schon voll beschrieben ist F r komplexe Systeme besteht durch den fr hen Codierungsbeginn auf unteren Ebenen die Gefahr da die isoliert entwickelten Teill sungen sp ter nicht zusammenpassen so da Neuentwicklungen n tig werden Entsprechendes gilt f r den Bottom Up Entwurf Strukturierung von Datenobjekten Insbesondere bei umfangreicheren Problemen ist eine passende Strukturierung der Datenobjekte auf denen die Algorithmen arbeiten von gro er Bedeutung Man vergleiche hierzu auch das Kapitel 2 2 3 das Modulkonzept vor allem die Ausf hrungen zu abstrakten Datentypen 36 Bez glich der Datentypen wird bekanntlich
179. text In Kapitel 2 2 7 wird als ein m gliches Hilfsmittel die Prozedur Output_textdatei beschrieben Meilensteine dienen der Terminplanung eines Projekts Sie beschreiben das Ende einer Arbeitsphase und sind wichtig f r die Kontrolle des Projektfortschritts Die Terminplanung kann auch in Form von graphischen Darstellungen z B mit Balkendiagrammen erfolgen Messen und Bewerten von Prozessen und Produkten ist f r die Erstellung qualit tsorientierter Software unerl lich Siehe auch unter Quali t tssicherung Kapitel 2 2 8 Objektorientierte Software Entwicklung OOS Man vermutet da der objektorientierte Ansatz f r die Software Entwicklung in den n chsten Jahren eine hnliche Bedeutung erlangen wird wie die strukturierte Programmierung in den achtziger Jahren OOS ist ein Mittel um Software bersichtlich zu strukturieren und sie aus wiederverwendbaren Bausteinen zu entwerfen Das kann zu einer erheblichen Reduktion von Entwicklungs und Wartungsaufwand f hren und damit auch zu einer schnelleren Softwareproduktion von hoher Qualit t Hier kann nur ansatzweise auf die Grundlagen des objektorientierten Entwerfens und Pro grammierens eingegangen werden F r die Schule liegen noch kaum Erfahrungen vor Al lerdings werden in dem vorliegenden Buch bereits einige der Konzepte ber cksichtigt siehe Kapitel 2 insbesondere e abstrakte Datentypen e Zerlegung in voneinander unabh ngige Module e Geheimnisprinzip e Benutzun
180. theater TYPE grundrissfile 38 theatername stringl4 preis string5 theatersaal grundriss END RECORD bestuhlung grundriss t_name stringl4 END FILE of theater theaterfile FILE OF theatersatz theatersaele FILE OF grundriss theatersaetze ARRAY 1 satzanzahl OF theatersatz VAR platz grundriss theatername stringl4 theaterhaus theater theaterhaeuser grundrissfile theaterdatei theaterfile einsatz theatersatz satzfeld theatersaetze satznummer INTEGER c CHAR Ende Datenmodul IMPLEMENTATION BEGIN END 38 2 2 3 Das Prozedurkonzept Zu den wichtigsten Strategien des Programmierens in imperativen Programmiersprachen wie PASCAL geh rt das Prozedurkonzept Was ist darunter zu verstehen Prozeduren bei der Zerlegung eines Problems in Teilprobleme Viele Probleme sind so umfangreich und komplex da eine Zerlegung in Teilprobleme sinnvoll ist Damit wird die Bearbeitung durchsichtiger und kann ggf auch an verschie dene Bearbeiter delegiert werden F r diese Teilprobleme kann man nun passende Prozeduren konstruieren so da sich schlie lich die gesamte Probleml sung als eine Sammlung geeignet angeordneter Prozeduren darstellt Wiederverwendbarkeit von Prozeduren Man wird dabei auch bemerken da immer wieder Prozeduren ben tigt werden die die gleiche Aufgabe bearbeiten etwa die Eingabe von Zeichenketten Damit gewinnen man che Prozeduren
181. tnisse dazu wurden von den Sch lern immer dann erworben wenn es bei ihrer Arbeit vonn ten war nderungsprotokoll Datum 18 10 94 Bearbeiter Sch ler A und B Aufgabe Wettscheine vor L schvorgang erscheinen lassen und Kontrollabfrage einbauen Unit T_M3_U PAS Prozedur Scheine_saetze_l schen Art der nderung Ein Teil der Prozedur Scheine_Datei_Aus wurde bernommen und eine Kontrollabfrage wurde eingebaut Globale Variablen keine Der n chste nderungsschritt bestand darin da alle drei Sch lergruppen die Aufgabe 4 getrennt voneinander bearbeiteten Eine der entstandenen Grafik L sungen wurde dann in die obige neue Version integriert auf der Diskette Selbstverst ndlich wurden auch die anderen L sungen erprobt An dieser Stelle ist es sehr lehrreich zu sehen wie man eine der drei Teill sungen ohne besondere Probleme durch eine andere Teill sung ersetzen kann modular arbeiten Mit Beendigung dieser Arbeiten konnte das neue System in Betrieb gehen Das Reengi neering Projekt wurde einschlie lich dem Erwerb von projektunabh ngigen und projek 134 tabh ngigen Kenntnissen ber Softwarequalit t Grafikprogrammierung und Methoden des Reengineering von Software in ca 30 Schulstunden durchgef hrt 4 3 Weitere Software zum Zweck der Wartung F r die Durchf hrung anderer Software Wartungsprojekte oder auch f r neue Projekte stehen folgende Produkte zur Verf gung A Das Spiel GOBANG Dieses Programm wir
182. ts mit Bausteinen und Masken gearbeitet allerdings in einer Erprobungsform gegen ber den in den Kapiteln 2 2 6 und 2 2 7 be schriebenen M glichkeiten Au erdem wird schon hier darauf hingewiesen da das ent standene Softwareprodukt im Schuljahr 1994 95 mit einem weiteren Informatikkurs ber arbeitet also gewartet wurde Auf die Wartungsarbeiten wird in Kapitel 4 n her ein gegangen Beachten Sie f r die folgende Schilderung u a die Checklisten von Kapitel 2 4 94 Original Wettslip der Trabrennbahn und Quittung f r einen Wetter 95 3 1 Sammeln und Auswerten von Informationen Problemanalyse Anforderungsdefinition Der Beginn des Projekts fand auf der Trabrennbahn in Berlin Mariendorf statt Vorabsprachen mit der Verwaltung des Trabrennvereins erm glichten uns die kostenlose Teilnahme an einem Renntag und den Besuch des Rechenzentrums der Trabrennbahn Aufgabenstellung 1 Der Besuch galt dem Sammeln von Informationen Diese wurden dann im Unterricht in verschiedenen Arbeitsgruppen ausgewertet und teilweise schriftlich erfa t Dateien mit dem Namen DOK PA TXT PA Problemanalyse Hierzu benutzten die Sch ler ein Textverarbeitungsproblem Die Abl ufe auf der Trabrennbahn wurden analysiert Sch lergruppe 1 schreibt Datei DOK PAI TXT Ideensammlung zum Projekt Trabrennbahn Problemanalyse 19 09 1988 1 Organisation der Verwaltung Die Organisation eines Rennens umfa t nicht nur die f r die Besucher si
183. tung Erl utern Sie diese Aussage benutzen Sie auch die folgende Statistik Eine Untersuchung hat 1992 ergeben Anwendungen insgesamt Dialog Anwendungen Mehr als 10 Jahre alt 15 5 1 3 5 bis 10 Jahre alt 32 2 30 5 bis 5 Jahre alt 52 3 62 2 Altersstruktur der Anwendungen Aufgaben zu Kapitel 2 2 2 Strukturiertes Programmieren 1 Beleuchten Sie die von Ihnen bisher verwendete Programmierpraxis unter den Aspek ten von Aufgabe 2 also u a bzgl der Begriffe strukturiertes Programmieren Bottom Up Methode Top Down Methode usw 2 Ein Beispiel aus der Mathematik Wir betrachten das allgemein bekannte L sungsverfahren zur L sung einer quadratischen Gleichung mit der p q Formel Das Verfahren soll so programmiert werden da nach Eingabe der Werte p und q die L sungen der quadratischen Gleichungen ausgegeben werden Die Aufgabe wird von zwei Sch lern unterschiedlich bearbeitet a Vergleichen Sie die beiden L sungen unter den Aspekten Arbeitsweg Programmierung Strukturierung Ber cksichtigen Sie die Begriffe Top Down und Bottom up 140 Sch ler 1 setzt sich an den Computer und schreibt das PASCAL Programm Da ihm die Formel gut bekannt ist beginnt er mit ihrer bersetzung in die Programmiersprache Dann programmiert er die Eingabe zun chst noch ohne Eingabetext und die Ausgabe Ein erster Test zeigt ihm da das Programm f r manche p q Werte abst rzt Die IF Anweisung entsteht Nun f gt er die Te
184. tungsarbeiten zusammengestellt wie sie auch in der Schule immer wieder auftreten k nnen a Beseitigung von Fehlern dabei k nnen die Fehler ganz unterschiedliche Ursachen haben Fehlerhafte Analyse unvollst ndige oder widerspr chliche funktionale Spezifikation ungeeignete oder fehlerhafte Modularisierung Programmierfehler b Erweiterung des Funktionsumfangs Hinzuf gen neuer Module Ersetzen von Modulen durch andere mit vergr ertem verkleinertem Funktionsumfang Einf gen graphischer Elemente c Verbesserung der Benutzerfreundlichkeit Ver nderung der Benutzeroberfl che integrierte Hilfen Einrichten von Hilfedateien Einf gen graphischer Elemente Umstellung von Handbedienung auf Mausbedienung d Nachprogrammierung eines bekannten Systems mit gesteigerten Anforderungen an die interne Programmstruktur Modularisierung unter Verwendung von Standardmodulen e Verbesserung und Erg nzung der Dokumentation Handb cher f Standardisierung g Erh hung der Sicherheit und Zuverl ssigkeit h Steigerung der Effizienz i Verbesserung der Portabilit t Umstellung auf Betrieb im Netz j Beseitigung berfl ssigen Codes bessere Strukturierung des Codes Verbesserung der Parametrisierung k Erg nzung von Kommentaren im Quellcode oder w hrend des Programmlaufs Wahl eines geeigneten Sprachniveaus f r die Benutzer f r die Systembetreuer n Wartungsarbeiten unter Beachtung der Wiederverwendbarkeit o E
185. uf diese Vorstel lungen mu nun detailliert beschrieben werden was das Gesamtsystem und seine Teilsysteme leisten werden CHECKLISTE C I O Sind die personellen und maschinellen Voraussetzungen gegeben siehe Checkliste C 0 Formulierung des Pflichtenhefts Schriftst ck Man beachte bei der Dokumentation da graphische Darstellungen besonders aus sagekr ftig und bersichtlich sein k nnen Ist der Einsatzbereiches des Systems beschrieben Werden die f r den Systembetrieb notwendigen Hardware und Software Voraussetzungen genannt Werden die organisatorischen Voraussetzungen beschrieben Werden Angebote f r die Einarbeitung der sp teren Benutzer unterbreitet Werden die Bedingungen zur Systemabnahme formuliert Wird die Organisation der Inbetriebnahme dargestellt Wird ein Terminplan vorgelegt O O DOOOO 92 O Sind berblicke ber die Systemfunktionen und Teilsystemfunktionen vorhanden O Werden die Benutzerschnittstellen deutlich gemacht O Wird die vorgesehene Benutzeroberfl che beschrieben O Werden die Hilfefunktionen genannt O Ist ersichtlich an welchen Stellen und mit welchen Mitteln Daten eingegeben werden und um welche Daten es sich handelt O Ist beschrieben welche Daten an welchen Stellen ausgegeben werden Werden die Ausgabeger te genannt O Werden die vorgesehenen Testdaten aufgef hrt O Wird die Reaktion auf Fehleingaben beschrieben O Werden die Datensicherheitsaspekte dargeste
186. unabh ngigen Modulen die als wiederverwendbare Bausteine zur Verf gung stehen und um deren Test man sich nicht k mmern mu te siehe Kapitel 2 2 7 Mit diesen Bausteinen brauchen wir uns hier nicht zu besch ftigen Auswertung Zun chst ist beruhigend zu sehen da sich die projektspezifischen Module nicht gegenseitig aufrufen Das zeigt da die gew hlte Zerlegung des Problems vern nftig war H ufig benutzt werden das Datenmodul und das Hilfsmodul diese h tte man auch zusammenf hren k nnen zu einem abstrakten Datentyp Von Seiten der Modulzerlegung sind also keine Probleme zu erwarten Wir analysieren nun noch einmal die in der Entwurfsspezifikation in den Modulen angegebenen Prozeduren und ihre Parameter insbesondere die Variablenparameter Wir erkennen da wir als Schnittstellen insbesondere die beiden Dateien Datei mit den Renn tage Daten Datei mit den Wettscheinen sowie das Renntagsdatum zu beachten haben Die Systemintegration erfolgt nun schrittweise so 1 Einklinken von Modul 1 Renntag initialisieren T_MI_U TPU in das vorl ufige Hauptprogramm T_HPO PAS Neues vorl ufiges Hauptprogramm ist T_HP1 PAS Testen 2 Einklinken von Modul 2 Rennen durchf hren T_M 2_U TPU in das vorl ufige Hauptprogramm T_HP1 PAS Neues vorl ufiges Hauptprogramm ist T_HP2 PAS Testen 3 Einklinken von Modul 3 Wettscheine annehmen T_M3_U TPU in das vorl ufige Hauptprogramm T_HP2 PAS Neues vorl ufiges Hauptprogramm ist T_
187. unktionen die Benutzerschnittstellen Dateneingaben Datenausgaben Testdaten Reaktion auf Fehleingaben Eine wesentliche Hilfe f r die Untersuchungen bildet eine Zerlegung des Problems in Teilaufgaben Sollten sich die in der Anforderungsdefinition niedergelegten Vorstellungen nicht verwirklichen lassen so kommt es zu einer berarbeitung der Anforderungen oder sogar zur Aufgabe des Projekts Phase IH Entwurf Modularisierung Entwurfsspezifikation Das in der Regel sehr komplexe Gesamtsystem wird nun in Einzelbausteine Moduln zerlegt Abb 2 1 1 b Diese sollten unabh ngig voneinander realisierbar sein Ihr Zusam menwirken ber Import und Exportschnittstellen wird festgelegt Man spricht von der Modularisierung des Systems Diese f hrt zu einer Modulhierarchie und zu Modulspezifikationen in denen Funktionen und Schnittstellen der Module beschrieben 20 werden Die Verfeinerung der Module und der Beschreibungen geht bis in Prozeduren hinein Auch hier zeigt sich der Vorteil der Verwendung bereits vorliegender und schon dokumentierter kleiner Bausteine F r die Darstellungen sollten auch graphische Hilfsmittel benutzt werden siehe Kapitel 2 2 4 Der Projektmanager entwirft einen Zeitplan f r die Bearbeitung der Module und legt die Zust ndigkeiten bei den Entwicklern fest I I 4 I I I L E a zu I ee ee Abb 2 1 1 b Modulhierarchie Phase IV Modulprogrammierung Modultest Modulprogramme Testprotokolle
188. us verschiedenen Bereichen sch tzen und diskutieren den Aufwand solange bis Einigkeit erzielt wird Analogieschlu Man benutzt ein hnlich gelagertes schon abgeschlossenes Projekt zur Sch tzung des Aufwands Bottom Up Sch tzung Bei Vorliegen einer zumindest groben Spezifikation kann man den Aufwand f r jede Komponente des Systems einschlie lich der Systemintegration sch tzen und die Sch tzwerte addieren Dabei kann man z B folgende Gr en betrachten Anzahl der Eingaben und Ausgaben der Abfragen der Dateien der Schnittstellen Als kaum geeignet f r eine Aufwandssch tzung hat sich die Zuordnung von Prozentwerten zu den einzelnen Phasen des Software Life Cycle erwiesen Schon in der Literatur variieren die Angaben erheblich F r die Schule die in der Regel keinem Zwang unterliegt ein bestimmtes angefordertes Produkt zu erstellen hat es sich als beste Methode erwiesen den Projektumfang von vornherein gering anzusetzen die Thematik also entsprechend einzuschr nken Gegebe nenfalls kann diese Minimalversion dann immer noch erweitert werden Bearbeitungsauftrag Bearbeitungszustand Im Verlauf des Projekts werden die Mitarbeiter i a zu Mitarbeitergruppen zusammen gefa t und diverse Bearbeitungsauftr ge vergeben Bearbeitungsauftr ge bestehen aus der Aufgabenstellung der Angabe der zu verwendenden und zu erstellenden Dokumente und Ressourcen Jeder Bearbeitungsauftrag besitzt einen Bearbeitungszustand Man kann z B unt
189. uter Software Ingenieur e entwickelt neue oder verbessert alte Produkte es sind Anwendungen mit Praxisbezug e strukturiert seine Arbeitsaufgabe in Einzelaufgaben seine Arbeitsabl ufe in Phasen er vergibt Priorit ten der Bearbeitung e geht systematisch methodisch vor er entwickelt das Produkt mit Hilfe von Werkzeugen auf Papier oder am Computer Tools e pr ft die Ergebnisse aller Arbeitsphasen auf Qualit t 12 e denkt strukturell d h er zerlegt die zu entwickelnde Software in Bausteine bzw Ob jekte die Bausteine werden getrennt bearbeitet und danach zum Gesamtsystem inte griert e verwendet bestehende Bausteine wieder e h lt sich soweit wie m glich an Standards Normen e plant denkt und arbeitet bergreifend erstellt Programmierauftr ge e arbeitet zielorientiert und vorausschauend e wagt auch Neues Unkonventionelles SCHWIERIGKEITEN BEI DER KONSTRUKTION UMFANGREICHER SOFT WARE Mit dem oben im Zitat genannten Stichwort Softwarekrise sind bereits Schwierigkeiten in Zusammenhang mit Softwareentwicklung angedeutet Die Softwarekrise entwickelte sich als angesichts der immer gr eren Verbreitung von Datenverarbeitungsanlagen und komplexerer Aufgabenstellungen auch immer mehr geeignete Software ben tigt wurde Die h ufig von Einzelpersonen allein erstellten Systeme hatten oft nur eine geringe Qualit t und konnten nicht oder nur m hsam von anderen Personen erweitert werden Jeder Entwickler verf
190. von Einflu gr en Modellverhalten feststellen Modell anwenden Systemverhalten Vergleich des Modellverhaltens mit dem Systemverhalten Konstruieren eines Modells Gegebenenfalls Korrektur des Modells Abb 2 2 1 e Modelle konstruieren 34 2 2 2 Strukturiertes Programmieren Top Down und Bottom Up Beim Entwerfen und dem Realisieren umfangreicher Probleme in einer Programmier sprache kommt man ohne ein systematisches Vorgehen nicht aus Das vorgegebene Pro blem wird in Teilprobleme zerlegt jedes Teilproblem wird danach falls noch n tig wieder verfeinert usw Schlie lich kommt gelangt man auf eine Ebene in der eine weitere Verfeinerung nicht mehr n tig erscheint da die Teilprobleme so elementar sind da sie sich ohne weiteres in die gew hlte Programmiersprache bersetzen lassen Die Verfeinerung betrifft sowohl die Algorithmen des Systems als auch die ihnen zugrundeliegenden Datenobjekte Auf die Datenstrukturierung wird weiter unten noch vertieft eingegangen Der Grad der Verfeinerung ist von verschiedenen Faktoren abh ngig Von e den elementaren Befehlen der gew hlten Programmiersprache e dem Kenntnisstand des Bearbeiters e den vorhandenen Hilfsmitteln z B e Bausteinbibliotheken e Maskengeneratoren e wiederverwendbaren Teilen aus anderen Softwareprodukten Die Beziehungen zwischen den einzelnen Teilproblemen werden durch Schnittstellen hergestellt Die Struktur eines Syst
191. werden m ssen Vielmehr sollen durch Verwendung der top down Methode von oben nach unten baumartige Strukturen entstehen Die Funktionen der Moduln jeder Entwurfsebene werden nur durch die Funktionen der unmittelbar darunterliegenden Ebene verwirklicht So entsteht eine Hierarchie von Verfeinerungsstufen Modulhierarchie 49 KOMPLEXE PROBLEMSTELLUNG TOP DOWN Teilproblem 4 3 Teilproblem 1 Teilproblem 2 Teilproblem 3 Teilproblem 4 Teilproblem 2 1 Teilproblem 2 2 Abb 2 2 4 b Modulhierarchie Teilproblem 4 1 Teilproblem 4 2 49 2 2 5 Graphische Darstellungsmittel Struktogramme Bei der Bearbeitung komplexer Probleme sind zahlreiche Algorithmen zu entwerfen Ein bew hrtes Hilfsmittel zur Veranschaulichung von Algorithmen sind die Ihnen wohl schon bekannten Struktogramme Hier werden dennoch einige Ausf hrungen angeschlossen die die Bedeutung dieser Darstellungsform unterstreichen und auf die Beschreibungstiefe von Struktogrammen eingehen Struktogramme unterst tzen das strukturierte Entwerfen und Programmieren e Sie zeigen den Ablauf eines Algorithmusses in bersichtlicher Form und beschreiben ihn in Kurzform e sind h ufig die Vorstufe vor seiner Programmierung e dienen zur Dokumentation von Algorithmen so da sp tere nderungen leichter durchgef hrt werden k nnen Als Hilfsmittel zur Zeichnung von Struktogrammen bieten sich einfache Grafikprogramme an mit denen man die Symbole im wesentl
192. wischen zwei Anforderungsbereichen an CASE Produkte Upper CASE findet vorwiegend auf der Workstationseite statt auf der die Planungs Analyse und Design Komponenten angesiedelt sind Die hier lokal erzielten Ergebnisse sollten aus den lokalen Data Dictionaries durch einen Koordinator zentral z B in einer Entwicklungsdatenbank auf einem Server gesammelt werden Lower CASE umfa t die Generierungswerkzeuge f r Programme und Datenbank schemata sowie die diversen Test und Wartungshilfen Cross Referenzen 160 Cross Referenzen sind Beziehungen zwischen verschiedenen Programmteilen Sie werden in Crossreferenztabellen zusammengefa t Beispiele sind e Modul Modul Beziehungen siehe Kapitel 3 5 e Modul Datei Beziehungen e Aufruftabellen globaler Variabler durch die Prozeduren des Programms e Tabellen f r Prozeduraufrufe in verschiedenen Programmteile Derartige Tabellen verschaffen berblick ber die verwendeten Module ihre Zusammen h nge und dar ber wie sie das Programm beeinflussen Damit wird gleichzeitig die War tung von Programmen erleichtert Beispiel von Modul Datei Beziehungen Modul Man RR Is w f Mon IR w o Maas un Mana jo P Mans w O Je l Rread W write D delete U update S sort Data Dictionary Ein Datenlexikon Data Dictionary gibt eine bersicht ber alle bei der Datenverarbeitung eines Betriebes benutzten Daten und ihrer Strukturierung Innerha
193. wurfsarbeiten n tig die insbesondere die in der Systemoberfl che sichtbaren Schnittstellen betreffen Hier werden noch 2 Men s bzw Masken vorgelegt RENNEN INITIALISIEREN Men l 1l mas 1 Eingabe von Datens tzen 2 L schen von Datens tzen 3 Listen von Datens tzen 4 Informationen 5 Zur ck zum Hauptmen Auswahl einer Option Die Nummern 1 und 2 sind nur mit den Cursortasten auf ab f r Operateure zul ssig Das Trabrennbahnbild Bildschirmanzeige wurde folgenderma en entworfen TRABRENNBAHN Hier laufen die Pferde in Form der Startnummern 1 2 3 4 5 6 7 8 Der l uft von Start bis Ziel x Anzeigetafel 13 03 89 Rennen 4 Start und Preis des Fachverbandes Ziel Sportangeln 7500 DM 1 Platz 2 2 Platz 6 3 Platz 7 Einlauf 104 Hinweis Die anderen Men s und Masken werden in Kapitel 3 3 Entwurfsphase abgebildet Weitere Beschreibungen zum Pflichtenheft finden Sie auf der Diskette Es sind die Dateien DOK PF TXT mit WORDS erstellt 103 3 3 Entwurf Modularisierung Entwurfsspezifikation Prototyping In Kapitel 2 1 2 werden die Grundz ge des Prototyping dargestellt Im Prototyping vermi schen sich die Phasen Problemanalyse funktionelle Analyse und Entwurf Im vorliegenden Projekt w ren in der Entwurfsphase nach Konstruktion der Men s und Eingabemasken R cksprachen mit dem Anwender n tig um sich davon zu berzeugen ob dieser mit den konstruierten Schnittstell
194. xte ein Nach etlichen Tests erh lt er schlie lich PROGRAM quadratische_gleichung VAR p q d x1 x2 REAL BEGIN Clrscr WRITELN Oudratische Gleichung l sen WRITE p READLN p WRITE q READLN g d p p 4 g IF d lt 0 THEN WRITELN Keine L sung da negative Radikand ELSE BEGIN WRITELN xl lt p 2 SORT d WRITELN x2 p 2 SORT d END END Sch ler 2 berlegt sich da das Programm aus drei Teilen besteht 1 Eingabe von p und q 2 Berechnung von x1 und x2 wobei eventuell ein negativer Radikand auftritt 3 Ausgabe von x1 und x2 Er programmiert daraufhin so PROGRAM quadratische_gleichung VAR p q d x1 x2 REAL C BEGIN Hauptprogramm eingabe rechnung ausgabe END und erg nzt dann bei PROCEDURE eingabe BEGIN Clrscr WRITELN Oudratische Gleichung l sen WRITE p READLN p WRITE q READLN g 141 END PROCEDURE rechnung d p p 4 g IF d gt 0 THEN BEGIN x1 pf2 SORT d x2 p 2 SORT d END END PROCEDURE ausgabe BEGIN IF d lt 0 THEN WRITELN Keine L sung da negative Radikand ELSE WRITELN x1 x2 END Auch Sch ler 2 testet zwischendurch sein schrittweise entstehendes Programm Erst das Hauptprogramm wobei er die Prozeduraufrufe zun chst so formuliert PROCEDURE EINGABE BEGIN WRITELN Hier werden sp ter p und q eingegeben READLN END ensprechend f r die anderen Prozeduren Danach programmie
195. yellow dateiname option Das Hilfsprogramm BILD_DEF Hinweis BILD_DEF finden Sie auf der Diskette LEH TOOLS siehe Kapitel 7 Mit dem Programm BILD_DEF EXE k nnen Sie auf einfache Weise auf dem Bildschirm in der Art einer Blockgrafik malen Das Bild wird abgespeichert und kann durch Aufruf der zugeh rigen Prozedur aus der Unit BILD_U in Pascal Programme bernommen werden Die Vorgehensweise 1 Das Programm mit wird BILD_DEF EXE gestartet BILDSCHIRM BEARBEITEN Informationen zum Programm Neues Bild erstellen speichern Gespeichertes Bild ansehen Gespeichertes Bild ndern Bildattribute ndern Programmende N VUVPwWNH CURSOR AUF AB W HLT DIE OPTION AUS 2 Es wurde mit den Cursortasten Option 2 gew hlt Der Name der Datei wird eingege ben In welcher Datei wollen Sie das Bild speichern Name bildtest mas 3 Man erh lt eine Information 65 Sie k nnen nun den Bildschirm Inhalt durch Malen mit Hilfe der Tasten oder Alt Codes und Cursorbewegungen erstellen Der Zeichenbereich Spalten 1 80 Zeilen 1 24 Zeichnung beenden mit der F1 Taste 4 Der Bildschirm kann nun wie ein Editor behandelt werden Das Bild kann gemalt werden z B auch mit Sonderzeichen die ber den ASCII Code eingegeben werden Am unteren Rand laufen die Spalten und Zeilenpositionen mit 5 Mit der Fl Taste wird die Zeichnung beendet und in der oben angegebenen Datei ge speichert Man gel
196. z PAR 5 ERLERNT E A gt ee DR Bee SER EEE EEE EEE E E E EE EEE TEE DE ee Informatik Unterricht Software Engineering oe ee ee ne RESTE BEE ee RENDITEN O ENE APA A a 0E O a oN i e REEE WETTE 3 MALAK ESA Ess Front Er2niswiagisgich werrant s P TE e 200000000000 nn a n a gl WETTE pgg na a n n an a m e g wrar s P a g E 2 03 Ma fi n8 HAHOBONAALE EEEN BBBEOSGORBEDNEBEREEE WETTE 3 1 B2W3K4R5Kon7 aeo Romima werTant SHrRSBEl x MRZESBABSHEH7 BER S HIT SICHERTE EEE Analyse Konstruktion Wartung komplexer Software Se z E E TEE EEE ECHTE ee EEE Inhaltsverzeichnis Vorwort 1 Komplexe Software Projekte Software Engineering 1 1 Komplexe Softwareprodukte in der Schule 1 2 Was versteht man unter Software Engineering 1 3 Projektarbeit im Informatik Unterricht 2 Wege zur erfolgreichen Konstruktion komplexer Software 2 1 Organisation der Arbeit 2 1 1 Ein Software Life Cycle 2 1 2 Prototyping 2 1 3 Projektmanagement und Teamarbeit 2 2 Konzepte f r die Konstruktion komplexer Software 2 2 1 Systemdenken Modellbildung 2 2 2 Strukturiertes Programmieren Top Down und Bottom Up 2 2 3 Das Prozedurkonzept 2 2 4 Das Modulkonzept 2 2 5 Graphische Darstellungsmittel 2 2 6 Oberfl chendesign Masken 2 2 7 Baustein Bibliotheken 10 13 17 17 17 22 25 29 29 34 38 41 49 61 66 2 2 8 Qualit tsa
197. zt einen roten Stein in ein noch nicht belegtes Quadrat Liegen 5 Steine von Spieler 1 diagonal waagerecht oder senkrecht nebeneinander Ja nein Spieler 1 hat Spieler 2 setzt einen x F F L gewonnen blauen Stein in ein noch nicht belegtes Quadrat i Liegen 5 Steine von Spieler 2 diagonal waagerecht oder senkrecht nebeneinander ja nein t Spieler 2 hat gewonnen Bl li Wwiederhole bis ein Spieler gewonnen hat ZZ Eee a m en 6 Zu dem TRABRENNBAHN System geh rt die Unit T_DS_U mit der Daten struktur des Systems Hinweis Entnehmen Sie die Datenstruktur dem Kapitel 3 a Warum empfiehlt es sich f r die Datenstruktur ein eigenes Datenmodul vorzusehen b Notieren Sie je einen sinnvollen Datensatz f r die Datentypen rennen und wett schein c Welche Gedanken haben vermutlich zu der vorgelegten Struktur von wettschein ge f hrt d Erl utern Sie den Datentyp einlauftyp und seine Verwendung im Programm 7 Ein Softwarehaus erh lt einen Reengineering Auftrag f r ein Softwareprodukt Vor welchen Problemen k nnten die Angestellten beim Reverse Engineering stehen 8 Erstellen Sie einen Werbeprospekt f r das Progamm TRABRENNEN a Dieser Prospekt soll aus einer Bildschirmseite bestehen die Sie optisch ansprechend mit dem Tool BILD_DEF EXE erstellen sollen 155 b Schreiben Sie ein kleines
Download Pdf Manuals
Related Search
Related Contents
European Owners Manual WIRELESS ALARM Transceiver Kit USER MANUAL IAN 100086 - Lidl Service Website IBM Distributed Marketing 9.1.2 Guía de instalación Actuador de diafragma Fisherr 3025 tamaños P460, P462, P460 取扱説明書 - ノイズ研究所 Copyright © All rights reserved.
Failed to retrieve file