\documentstyle[twocolumn,german]{article}
%\input{../tex/trendsstyle_v2.tex}
\input{trendsstyle_v2.tex}
\begin{document}
\thispagestyle{empty}
\setlength{\topmargin}{-16mm}
\setlength{\textheight}{252mm}

\baselineskip16pt

\twocolumn[{\vspace*{-8mm}
\huge\sf Buchbesprechungen
\\[4mm]
}]

\noindent M. Pol, T. Koomen, A. Spillner: {\bf Management und
Optimierung des Testprozesses - Ein praktischer Leitfaden f"ur 
erfolgreiches Testen von Software
mit TPI und TMap}; dPunkt-Verlag, Heidelberg, 2000


\medskip\noindent Immer wieder melden die Medien Nachrichten "uber (mehr oder weniger
katastrophale) Software-Fehler, wobei die Auswirkungen mit dem
zunehmenden Grad der "`Computerisierung"' unserer Alltagswelt f"ur eine
rasch wachsende Anzahl von Menschen sp"urbar werden. Sei es die Regelung
des Herzschrittmachers, die Einkommenssteuererkl"arung mit dem
Heimcomputer oder der Bordcomputer des Airbus A-320 - "uberall zieht
unsichtbar im Hintergrund Software an den F"aden der Geschehnisse. Um
Software-Fehlern entgegenzuwirken, wurden seit den siebziger Jahren eine
Vielzahl von mittlerweile auch in deutschsprachigen B"uchern erschienenen
Testmethoden entwickelt. Pol, Koomen und Spillner sagen hierzu:
"`Die blo"se Kenntnis der [Test-]Methoden reicht f"ur deren Einsatz
allerdings nicht aus. Das Umfeld der Entwicklung muss so gestaltet
werden, dass eine Qualit"atssteigerung des Produkts erreicht wird."'
Gem"a"s diesem Zitat aus dem Buchr"uckentext gehen Pol, Koomen und Spillner
die komplexe Problematik der Software-Qualit"atssicherung gleich in
doppelter Weise an. So stecken denn in den zwei Teilen ihres Werkes -
wie es auch schon im Titel "`Management und Optimierung des
Testprozesses"' anklingt - eigentlich zwei B"ucher: Eines, das die
praxiserprobte Methode TPI (Test Process Improvement) zur Optimierung
des Testprozesses vorstellt, und eines, welches das ausgereifte
Testkonzept TMap (Test Management Approach) f"ur IT-Systeme zum Thema
hat.

TPI identifiziert im strukturierten Testprozess 20 Kernbereiche wie z.B.
Teststrategie, Testplanung, Metriken oder Testspezifikation. Diese
Kernbereiche werden weiter in durchschnittlich drei aufeinander
aufbauende (Optimierungs-)Ebenen unterteilt. Um einen Kernbereich eines
konkreten Testprozesses einer bestimmten Ebene zuzuteilen, m"ussen
bestimmte quantifizierbare Kontrollpunkte erf"ullt werden. Jedem
Kernbereich ist auf jeder Ebene ein B"undel von Optimierungsvorschl"agen
zugeordnet, mit dem der Testmanager gezielt seinen Testprozess
verbessern kann. Der Einsatz des TPI-Modells wird f"ur alle Kernbereiche
ausf"uhrlich erl"autert und mit konkreten Fallbeispielen unterlegt. Im
Gegensatz zu anderen aus der Literatur bekannten Modellen wie z.B. dem
CMM (Capability Maturity Model) oder der ISO 9000 Normenreihe
erleichtert der hohe Grad an Konkretheit des TPI den praktischen
Einsatz.

TMap basiert auf den vier Pfeilern eines strukturierten Testprozesses:
ein mit dem Vorgehensmodell der Entwicklung im Zusammenhang stehendes
"`Phasenmodell"' der Testaktivit"aten, eine gute "`organisatorische
Einbettung"', die richtige "`Infrastruktur"' sowie brauchbare "`Techniken"'
f"ur die Durchf"uhrung der Testaktivit"aten. Diese vier Pfeiler werden
ausf"uhrlich im zweiten Teil des Buches behandelt. Eingebettet in die
f"unf Phasen "`Planung\&Verwaltung"', "`Vorbereitung"', "`Spezifikation"',
"`Durchf"uhrung"' und "`Abschluss"' des TMap Phasenmodells werden die
einzelnen Aktivit"aten des Testprozesses in einem einheitlichen,
"ubersichtlichen Beschreibungsrahmen vertieft. Die Kapitel "uber
Test-Spezifikationstechniken und Testwerkzeuge k"onnen als umfassende
Einstiege in diese Bereiche gewertet werden. Zahlreiche Checklisten
unterst"utzen die Umsetzung von TMap im eigenen Projekt. Ein Anhang, in
dem die in TMap verwendeten Qualit"atsmerkmale auf die der ISO-9126
abgebildet werden, erleichtert die normenkonforme Anwendung der Methode.

Trotz der etwas knapp gehaltenen Hinweise auf erg"anzende Literatur kann
ich das Buch als Handbuch f"ur den Qualit"atsmanager als auch f"ur den im
Projekt stehenden Tester uneingeschr"ankt empfehlen.\\

\noindent M. Winter, Praktische Informatik III, Fernuniversit"at Hagen;
E-mail: Mario.Winter@FernUni-Hagen.de\\

\pagebreak

%\end{document}


%\documentclass[11pt]{article}
%\usepackage[german]{babel}
%\usepackage[pdftex,bookmarks]{hyperref}
%\usepackage{a4wide}
%\usepackage{epsfig}
%\usepackage{amssymb}
%\usepackage{latexsym}
%\usepackage[latin1]{inputenc}
%\title{Buchbesprechung\\Graeme P. Smith --- The \textsf{Object-Z} Specification
%  Language \footnote{Kluwer Academic Publishers, Boston, Dordrecht, London,
%  2000 (ISBN 0-7923-8684-1; xi+146 Seiten US \$ 146.00)}}
 
% \author{Ernst-Erich Doberkat\thanks{Lehrstuhl f��r
%     Software-Technologie, Universit"at Dortmund, \texttt{doberkat@acm.org}}}
% \date{\today}
% \parindent0pt
% \nofiles
% \usepackage{fancyheadings}
%\pagestyle{fancy}
% \pagestyle{empty}
%\lhead[]{Seite \thepage}
% \chead[]{}
% \rhead[]{}
% \lfoot{\hrulefill\\[2pt]\today}
% \cfoot{}
% \rfoot{}
%\begin{document}
% \baselineskip16pt
% \maketitle
% \thispagestyle{empty}

\noindent Graeme P. Smith: {\bf The \textsf Object-Z Specification
  Language}; Kluwer Academic Publishers, Boston, Dordrecht, London,
  2000 (ISBN 0-7923-8684-1; xi+146 Seiten US \$ 146.00)


\medskip\noindent Die von M. Spivey und seiner Oxforder Gruppe eingef"uhrte und untersuchte
Spezifikationssprache \textsf{Z} basiert auf einer Mischung aus
Pr"adikatenlogik erster Stufe, Mengenlehre und kryptischer
Notation. \textsf{Z} strukturiert Spezifikationen durch eine Folge von
lose miteinander verbundener Schemata ("ahnlich wie dies \textsf{C} mit
Funktionen tut). Aus einer \textsf{Z}-Spezifikation kann durch eine
Folge von Verfeinerungsschritten eine Implementierung abgeleitet
werden (auch wenn dieser Kalk"ul nicht soweit entwickelt zu sein
scheint wie R. Paiges \emph{Reduktion der St"arke}). \textsf{Z} ist als
Spezifikationssprache attraktiv, es fehlen aber doch einige Konzepte,
die inzwischen als unabdingbar angesehen werden. Hierzu geh"ort sicher
die M"oglichkeit, Abstrakte Datentypen zu definieren (also Daten und
auf ihnen operierende Funktionen in einer gemeinsamen Kapsel zu
organisieren und wohldefinierte Export-Schnittstellen anzubieten) und
das Konzept der Vererbung (eigentlich kein einheitliches Konzept, eher
eine Kollektion von Mechanismen zur Modellierung von
Spezialisierungsbeziehungen).

\textsf{Objekt-Z} nimmt sich dieser Probleme an, das zu besprechende
Buch stellt diese Spezifikationssprache vor. Der Verfasser, Graeme
Paul Smith, legte in seiner Dissertation von 1992 an der
neuseel"andischen University of Queensland einen Entwurf einer
objektorientierten Erweiterung von \textsf{Z} vor. Hieraus ist
schlie"slich das in Rede stehende Buch hervorgegangen. Es setzt f"ur die
Lekt"ure \textsf{Z} im Umfang etwa des Buchs von Spivey voraus und
lehnt sich im Vorgehen im "ubrigen auch an dieses Buch an. Die
Einf"uhrung diskutiert die Konstruktionen von \textsf{Objekt-Z}, f"uhrt
also Klassen sowie Objekte ein und diskutiert Vererbung sowie
Polymorphie. Eine sehr sch"one Fallstudie zeigt auch gleich, wie sich
das bekannte Spiel \emph{Tetris} in \textsf{Objekt-Z} modellieren
l"a"st. Die Modellierung ist vollst"andig und zeigt ziemlich
nachdr"ucklich die beiden prinzipiellen Herangehensweisen an die
Vererbung, die unterst"utzt werden. Sie zwingt zudem zu gr"undlichen
Mitdenken, da einige Konstruktionen erst nach ausf"uhrlichem Nachdenken
erfa"st werden (versuchen Sie es selbst: Welche Operationen kann der
\textbf{L}-f"ormige Stein noch in der linken unteren Ecke des
Spielfelds ausf"uhren?). Derart vorbereitet kann sich der Leser mit der
semantischen Basis in Kapitel 2 befassen. Hier werden insbesondere
Fragen zur Objekt-Identit"at und zur Modularit"at von Klassen
diskutiert, das formale Niveau h"alt sich in Grenzen. Kapitel 3 stellt
die syntaktischen Konstruktionen zusammen. Es wird also etwa gezeigt,
woraus sich Klassen zusammensetzen, welche Operationen (einschlie"slich
Rekursion) zur Verf"ugung stehen, und welche Operationen Klassen zu
neuen Klassen zu kombinieren gestatten. Sprachdefinition und konkrete
Syntax sind in den Kapiteln 4 und 6 zu finden, das Kapitel 5 ist
nebenl"aufigen Systemen gewidmet, wobei Kompositionsoperatoren und der
nicht-deterministischen Auswahl naturgem"a"s breiter Raum gegeben
wird. Auch hier erl"autert eine Fallstudie ---~ein einfaches
Kartenspiel~--- die Konzepte recht anschaulich.

Das Buch eignet sich als erste Einf"uhrung in \textsf{Objekt-Z}, wenn
man bereits "uber Grundkenntnisse der Sprache \textsf{Z} verf"ugt, und
wenn man den abschreckend hohen Preis zu zahlen gewillt ist (der
Verlag kalkuliert offenbar seine Preise f"ur Kunden wie Bill Gates). In
der Arbeitsgruppe von Smith wurde ein Makro-Paket f"ur \LaTeX{}
entwickelt, mit dessen Hilfe die leicht involvierte Notation einfacher
beherrschbar wird. Die so entwickelten Spezifikationen k"onnen auf ihre
syntaktische Konsistenz und die korrekte Typverwendung durch ein Paket
namens \texttt{wizard} "uberp"uft werden, das frei verf"ugbar ist. Der
\texttt{wizard} ist recht hilfreich bei der syntaktischen Pr"ufung, ich
hatte jedoch Probleme bei rekursiven Spezifikationen, die nicht
akzeptiert werden. 

Insgesamt hat man mit \textsf{Objekt-Z} einen interessanten und
vielversprechenden Zugang zu formalen Spezifikationen. Dieses Buch
hilft dabei, ihn darzustellen.\\

\noindent Ernst--Erich Doberkat, Lehrstuhl f"ur
    Software-Technologie, Universit"at Dortmund; E-mail: doberkat@acm.org

\end{document}