Das Treffen der ASQF Fachgruppe Requirements Engineering Norddeutschland war bis auf den letzten Platz ausgebucht und das Feedback war super – vielen Dank an alle Teilnehmer!
Das Treffen der ASQF Fachgruppe Requirements Engineering Norddeutschland war bis auf den letzten Platz ausgebucht und das Feedback war super – vielen Dank an alle Teilnehmer!
Am 22. März findet das nächste Treffen der ASQF Fachgruppe Requirements Engineering Norddeutschland statt.
Hier können Sie sich anmelden : Anmeldung Requirements Engineering
Folgende Vorträge sind vorgesehen:
Auf der Suche nach dem passenden Testverfahren für ihre Embedded Software-Projekte hat die pdv TAS ein eigenes Werkzeug entwickelt. Die Kreuzung aus “Tapete” und “Telefonbuch” ermöglicht zustands-/ereignisgetriebenes Testen und bietet einerseits eine gute Übersicht über den gesamten Test, kann andererseits aber auch beliebige detaillierte Informationen zu einzelnen Testfällen aufnehmen. Wie das Ergebnis aussieht und wie es quasi “nebenbei” auch noch die Vollständigkeit und Konsistenz der Anforderungen verifiziert, soll dieser Vortrag zeigen.
Anforderungs- und Spezifikationsdokumente dienen der Kommunikation in einem Projekt. Innerhalb dieses Projektkontexts kommunizieren Auftraggeber mit Auftragnehmern, Entwickler/innen mit der Fachabteilung, Entwickler/innen untereinander, verschiedene Fachabteilung, IT-Personal, Dienstleister, … über diese Dokumente. Alle Projekt-Parteien haben jeweils einen unterschiedlichen Kenntnisstand über die zu lösende Aufgabe und blicken aus unterschiedlichen Perspektiven und Interessen auf diese Dokumente.
Je genauer man diese Dokumente auf seine Abnehmer und den nachfolgenden Prozessen abstimmt, desto wertvoller werden die Dokumente für die Projekt-Kommunikation.
Ziel ist somit, Dokumente so zu verfassen, dass diese von den Abnehmern verstanden und weiterverwendet werden können. Hierzu ist es sinnvoll definierte stichprobenartige Kontrollen schon bei der Erstellung und beim Gegenlesen/Prüfen eines Dokumentes durchzuführen. Das Ergebnis gibt dem Autor/der Autorin dann einen Hinweis, ob das Dokument überarbeitet oder weitergegeben werden kann.
Vermeidet man bereits in dieser Phase der Entwicklung bzw. Kommunikation erste Missverständnisse, Unklarheiten und fehlende Informationen, werden diese Punkte im späteren Produkt nicht als Fehler hervortreten und helfen Ausfallkosten zu reduzieren.
bei der
pdv TAS GmbH
Dorotheenstr. 64
22301 Hamburg
Hier können Sie sich anmelden : Anmeldung Requirements Engineering

Simon Oberländer und Sven Tissot halten auf der Mobile Developer Conference 2012 in Hamburg einen Vortrag zum Thema Plattformübergreifende Entwicklung für mobile Endgeräte.
Am Praxis-Beispiel der Realisierung einer Anwendung zur Steuerung von Haushaltsgeräten haben wir gängige Entwicklungsumgebungen für mobile Anwendungen untersucht und bewertet:
Der Vortrag wird die Vor- und Nachteile der verschieden Entwicklungsumgebungen in der Praxis vorstellen und die Ergebnisse im Hinblick auf Produktivität, Qualität und Aufwand vergleichen.
Ort: Radisson Blu Hotel Hamburg
Zeit: 14. Februar 2012 09:00-10:00
Ein großes europäisches Industrieunternehmen stand vor der Herausforderung, den Hochlauf der Serienfertigung seines neuen, komplexen Produkts zu bewältigen. Um dem damit einhergehenden anspruchsvollen Terminplan gerecht zu werden, entstand an den vielzähligen Montagearbeitsplätzen im Werk ein erhöhter Informationsbedarf über die auszuführenden Fertigungsaufträge, der nicht in allen Phasen durch das vorliegende ERP-System abgedeckt werden konnte.
Die bereits existierende Infrastruktur von den Oracle-Datenbanken sowie den Oracle-
Applikations-Servern bildeten somit eine gute Plattform, um die sich schnell ändernden
Anforderungen an ein Auftragsinformationssystem (kurz: AIS) umsetzen zu können. Der Faktor „Zeit“ spielte bei der Bereitstellung dieser Lösung eine entscheidende Rolle.
Weitere Details zu den Herausforderungen dieses Projektes und zum verwendeten Lösungsansatz mit dem Oracle Forms & Reports Server finden Sie in der Ausgabe 02/2011 der DOAG Business News sowie im Anhang.
Die “Business News” wird speziell für Anwender von Oracle Business-Lösungen von der Business Solutions Community der DOAG zweimal jährlich herausgegeben. Besonderes Augenmerk der Publikation sind betriebswirtschaftliche Aspekte des Prozessmanagements im Umgang mit Oracle-Lösungen.
Advanced Queuing (AQ) ist Oracles natives Messaging Verfahren, das seit mehreren Datenbank-Versionen existiert und stetig weiterentwickelt wurde. Ein Produzent erzeugt Nachrichten in einer Queue, die von einem Konsumenten asynchron ausgelesen werden.
Das kann auch über ein PLSQL-Prozedur erfolgen, die man als Callback registriert hat. D.h. sobald eine neue Nachricht in der Queue erscheint, wird diese Callback-Prozedur über die Notification aufgerufen und kann eine Verarbeitung vornehmen.
Problem:
In unregelmäßigen Abständen können einige Nachrichten nicht verarbeitet werden und landen mit einem ORA-01403: No data found Fehler in der Exception-Queue. Beim erneuten Einstellen der gleichen Payload tritt der Fehler nicht mehr auf.
Ursache:
Dies Verhalten erscheint, wenn eine Nachricht über die Notification gelesen und verarbeitet werden soll, aber ihre Verfallszeit bereits überschritten hat und in die Exception-Queue verschoben wurde. Das ist der Fall, wenn die Verfallszeit der Message zu kurz gewählt wurde oder die Oracle-internen Prozesse zur N0tification aufgrund von großen Nachrichtenmengen zu viel Zeit konsumieren, bis die zur Message gehörende Callback-Prozedur abgearbeitet wird.
Da der Callback-Prozedur über den Kontext auch die Message-ID mitgegeben wird und sie beim Dequeue dediziert auf diese Message zugreift, erwartet man eigentlich die dafür vorgesehene Fehlermeldung ORA-25263: no message in queue <queue_name> with message ID <message-id>, weil diese Message nicht mehr in der Queue vorhanden ist.
Lösung:
Prüfen der Verfallszeit der Nachrichten und Erhöhung in den Message-Properties beim Enqueue mit
message_properties.expiration := <sec>; — Sekunden
auf einen Wert, der eine Verarbeitung sicherstellt.
Das Staffel-Team der pdv TAS erzielte beim MoPo-Lauf über fünf mal fünf Kilometer ein hervorragendes Ergebnis und bei einer Gesamtzeit von 2:16:12 erzielte jeder der Teilnehmer eine persönliche Bestzeit. Eine tolle Leistung für das erste Mal !
Oracle Application Express bietet die Möglichkeit, das jQuery mobile Framework einzubinden und damit auf bekannt bequeme Art Web-basierte Anwendungen für Smartphones und andere mobile Endgeräte zu erstellen. Allerdings gilt es dabei einige Punkte zu beachten.
Will man das jQuery-Objekt Listview (hier Inset Listview) zur Anzeige von vielen Datensätzen nutzen, kommt man nicht umhin, eine Paginierung vorzusehen.
APEX bietet dies out-of-the-box für Report-Regions. Unter den Report Attributen kann man zudem die Art der Darstellung unter Layout and Pagination festlegen.
Problem:
Das Layout und die Formatierung der Anzeige wird beim Blättern zerstört (zumindest für die Version 1.0b1 – Verbesserungen sind angekündigt). Hintergrund ist das in den neueren APEX Versionen eingeführte, AJAX-basiert PPR (Partial Page Refresh). Damit ist eine Navigation in den Report-Datensätzen ohne Submitten der gesamten Seite möglich.
Lösung 1:
Die einfachere Variante (und in den meisten Fällen auch vertretbar) ist das Ausschalten des Partial Page Refresh für Layout and Pagination der entsprechenden Report-Region. Damit wird aber die Seite beim Blättern neu geladen.
Lösung 2:
Man muß über ein kleines Javascript-Codestück $(‘ul’).listview(‘refresh’) sicherstellen, daß das durch die Navigation veränderte Listview-Objekt aktualisiert wird. Das ist aber in der APEX-Umgebung etwas tricky einzubauen, aber es existiert der Apex-Event apexafterrefresh an den man den Code hängen kann.
Lösung 3:
Will APEX-konform bleiben, bietet die Definition einer Dynamic Action genau die Möglichkeit, sich nach dem PPR einzuklinken und z.B. Javascript-Code auszuführen:
Beim Aufbau einer Datenbankverbindung (Connection) will der vom Oracle SQL Developer verwendete JDBC Treiber (JDBC Driver) die aktuelle Zeitzone (Timezone) setzen und überprüft dies gegen die Zeitzonen, die der betreffenden Oracle Datenbank bekannt sind.
select unique(tzname) from v$timezone_names;
In Deutschland wird in der Regel “Europe/Berlin” verwendet, auch um eine automatische Sommer-/Winterzeitumstellung zu haben, aber bei älteren Datenbank-Version wie z.B. einem Oracle9i Database Server kann es durchaus vorkommen, dass die Zeitzone “Europe/Berlin” in der Datenbankinstanz nicht bekannt ist.
Dies führt dann beim Oracle SQL Developer 3.0 zu den beiden Fehlermeldungen
ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found
In diesem Fall muss man der Java Virtual Machine (Java VM) die Zeitzone über eine Option bekannt machen. Dazu gibt es zwei Lösungsansätze für Eintragungen in die Konfigurationsdatei
<ORACLE_HOME>\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
des Oracle SQL Developers.
Lösung 1: Ein passende Zeitzone aus der DB-Instanz auslesen und eintragen.
AddVMOption -Duser.timezone=<known timezone name>
Lösung 2: Das Verhalten des JDBC Treibers anpassen.
AddVMOption -Doracle.jdbc.timezoneAsRegion=false
Danach sollte der Datenbankzugriff mit dem Oracle SQL Developer funktionieren.
Auch in Hamburg gibt es nun eine regionale Fachgruppe Requirements Engineering.
Die Auftaktveranstaltung findet statt am
09.06.2011, 18:00 – 20:00 Uhr
bei der
pdv TAS GmbH
Dorotheenstr. 64
22301 Hamburg
Folgende Themen sind geplant:
Anmeldung unter: ASQF Anmeldung
Die IT-Abteilung eines Kunden hat eine hausinterne Oracle Forms Applikation selber entwickelt. Die Implementierung der nächsten Ausbaustufe sollte wegen Mangels an Ressourcen extern vergeben werden.
Bis zu dem Zeitpunkt, zu dem wir hinzugezogen wurden, bestand das kleine Projektteam aus 2-3 Mitarbeitern aus Fachabteilungen – die die Anforderungen an die Applikation definierten – und 2 Entwicklern der IT-Abteilung, von denen einer die Projektleitung innehatte.
Die Kommunikation zwischen den Mitarbeitern der Fachabteilungen und den Entwicklern verlief auf „dem kurzen Dienstweg“; Änderungswünsche sowie Fehlermeldungen wurden quasi auf Zuruf bearbeitet.
Die Anforderungen an die nächste Ausbaustufe wurden zwar in einem Pflichtenheft dokumentiert, dieses war aber sehr informell gehalten und eher nach dem Motto „Vom Projektteam versteht sowieso jeder, was gemeint ist.“ erstellt worden.
Insgesamt also eine Projektsituation, wie man sie sehr häufig vorfindet.
Nur – ein solches Pflichtenheft ist weder als Basis für einen Vertrag mit einem externen Software-Entwickler noch als Entwicklungsgrundlage tauglich.
Eine Anforderung muss u.A. folgende qualitativen Kriterien erfüllen[1] :
Folgende Beispiele sind dem erwähnten Pflichtenheft entnommen – sie verdeutlichen aber generell die qualitativen Einschränkungen von Anforderungen, die nach wie vor zum Projektalltag gehören.
|
Anforderung |
Qualitative Aspekte |
|
“Bei Änderung des Status ist das jeweilige Datum zu speichern. Die Datumswerte sind auf Wunsch anzeigbar.” |
· Die Anforderung ist nicht eindeutig. o Wer/was ändert den Status? o Welches ist das „jeweilige“ Datum? o Wo sollen die Datumswerte angezeigt werden? · Die Anforderung ist nicht prüfbar.
|
|
“Es ist eine Modellübersicht zu schaffen, die vom Look&Feel identisch zu dem Online-Katalog-System ist.” |
· Die Anforderung ist nicht realisierbar. |
|
“Innerhalb der Modellübersicht soll nach dem Anlagedatum gesucht werden können.” |
· Die Anforderung war nicht abgestimmt. |
Die anfängliche Schwierigkeit, den Kunden zu überzeugen, dass die Anforderungen mit den Fachabteilungen präzisiert und im Pflichtenheft neu formuliert werden müssten, konnten wir letztlich mit dem Argument aus dem Weg räumen, dass mit allen Beteiligten abgestimmte, vollständig und korrekt dokumentierte sowie nachvollziehbare Anforderungen die Basis sind für
· den Vetrag zwischen Auftraggeber und Dienstleister
(Anforderungen sind rechtlich verbindlich. Mehrdeutige Anforderungen erzeugen Konfliktpotential zwischen den Vertragspartnern.)
· eine realistische Einschätzung von Entwicklungs- und Testaufwänden
(Sicherheit der Aufwandsschätzung bedeutet auch Termin- und Kosten-Sicherheit.)
· die funktionale Spezifikation der Anwendung
(Mehrdeutige oder nicht abgestimmte Anforderungen führen zu einer falschen bzw. zu einer im Sinne der Spezifikation korrekten aber nicht brauchbaren Umsetzung.)
· die Herleitung von Testfällen
(Eine gute Testabdeckung stellt die Qualität des Produktes fest, welche für seine vertragliche Abnahme verlangt wird.)
· die spätere Wartung des Produktes
(Auswirkungen von späteren Programmänderungen auf andere Programmteile lassen sich anhand von eindeutig identifizierbaren, verfolgbaren Anforderungen analysieren.)
Der Kunde beauftragte uns letztlich, ein Verfahren zur Abstimmung und Nachverfolgung von Anforderungen im Haus zu implementieren sowie einen Firmenstandard zur Dokumentation von Anforderungen zu definieren. Die Struktur des neuen Pflichtenheftstandards basierte auf dem IEEE- Standard 830-1998 (Recommded Practice for Software Requirements Specifications).
[1] Klaus Pohl, Chris Rupp: Basiswissen Requirement Engineering