Universität Stuttgart Institut für Kernenergetik und Energiesysteme Submodell Softwareentwicklung (SE)
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell Softwareentwicklung (SE)
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Testgetriebene Entwicklung
Testgetriebene Software-Entwicklung (Thaller: ISO 9001) zeigt die Verbindung von Prozessmodell und Qualitätsicherung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 1(Anforderungsanalyse) im ABRKFUe
• Erstellung einer Spezifikation des Gesamtsystems gemeinsam mit dem Kunden und den Projektpartnern als Word-Dokument
• Erstellung eines fachlichen Modells mittels eines SA-Werkzeuges (Promod)
• Spätere Abweichungen bzgl. der Anforderungen müssen mittels eines Change-Requests beantragt und von einem Projektkontrollgremium genehmigt werden
ZDH_ABR_Scenarien ZDH_ABR_
Ergebnisreports
ZDH_ABR_EIN
Zustand_A_NCLIENT_ABR
ABR_ZDH_Ergebnisreports
B_berechnete_Ergebnisse
ABR_ZDH_Scenarien
ABR_ZDH_EIN
B_Eingabe_Session
B_Anfrage_Ergebnisse
ABR_CLIENT
B_Init
B_Session_Eingabe
B_Anforderung_Inputdateien
B_Rechnungsstatus
B_Data_Repository
B_Ergebnismanager
.4
B_Arbeitsdaten
manager.2
B_Sessionmanager
.1
B_Rechnungs
durchfuehrung.3
Spec
Change-Requests
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 2 (Entwurf) im ABRKFUe
• Grobentwurf der Architektur des ABR-Systems
• Erstellung der Rahmenkonzeption der Architektur als Word-Dokumente
• Entwurf der Architektur mittels UML und Rational Rose und Bestimmung der einzelnen Dienste
• Entwurf eines Kommunikationsmodells mittels UML und OCL
Object services
application objects
service service
SAL
service
SAL
KB
DM
Object Request Broker (ORB)
common facilities
Client Interface admin agent
RepositoryServiceStrategie
ServiceWorkflow Service
RessourceService
SAL
SALSAL
SALSALSAL SAL
Rahmen-konzeption
I - III
ScatteredData
- nrOfValues : Integer
Data(from System)
EdgeGrid
- dimension : Integer = 1
SurfaceGrid
- dimension = 2
SpaceGrid
- dimension : Integer = 3
Length
GridData
- gridConnection : enum {centered, staggered, c_class}
SpaceDirection
- nrOfMeshs : Integer- spacing : enum {uniform, varying}
+x1
+x2+x2
+x1
+x1+x3
0..1
+meshWidth
0..1
0..10..1
IsDescribedBy
IsDefinedOnTime IsDefinedOnSpace
Length LengthIsTimeStepOf
Time
ComputationTime
- nrOfTimeSteps : Integer
+timeStepWidth
TimeStep
1 1..*1 1..*
VolumetricDataQualitativeData QuantitativeData
- dataType : enum {scalar, vector, array}- physicalQuantity : String- unit : String
GeoPoint
- referenceSystem : enum {GK, UTM} = GK
+h +r
ComputationSpace
- dimension : Integer- gridType : enum {cartesian,uniform,rectilinear,regular}
+geoReferenceTimePeriod
- start : Date- end : Date
Group
0..*0..*
ScientificData
- description : String
0..*0..*
IsDefinedOnGroup
Raumbezug
Zeitbezug
Gruppenbezug
Daten
: C G e t P r o p o s e d V a l u e sF o r G e o s t r o p h i c W in d : C I
: C R e q u e s tM a n a g e r : D S : S S : W F S
: C D a t aM a n a g e r
d o J o b ( )
g e t P r o p o s e d V a l u e s F o r G e o s t r o p h i c W i n d ( s t d : : s t r in g , c o n s t O N T : : A B R : : T im e S t e p N u m b e r & , O N T : : A B R : : G e o s t r o p h i c W i n d * , O N T : : S y s t e m : : S A L C o n t a i n e r * , O N T : : S y s t e m : : I s L o c a t e d I n * , O N T : : S y s t e m : : E R R O R & )
G e t d a t a o u t o f t h e s c e n a r i o f o r m
G e t W o r k fl o w
E x e c u t e W o r k fl o w
c h e c k S i m S e s s io n ( s t d : : s t r i n g , s t d : : s t r in g , O N T : : S y s t e m : : E R R O R & )
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 3 im ABRKFUe
• Erstellung der Lastenhefte für die verschiedenen Dienste (Software-Komponenten) als Text-Dokumente
• Erstellung der Pflichtenhefte für die verschiedenen Dienste (Software-Komponenten) als Text-Dokumente
• Erstellung der Systemmodelle für die verschiedenen Dienste (Software-Komponenten) mittels Use-Cases in Rational Rose
LastenheftDienst x
PflichtenheftDienst x
ZDH GetAndSetZdhData
<<calls>>
Protokolle ausliefern(DeliverReports)
Protokolle erstellen und verwalten (ManageReports)
<<uses>>
<<uses>>
Protokoll-Modus ändern(ChangeReportMode)
<<uses>>
External Agent
Protokoll-Level ändern (ChangeReportLevel)
<<uses>>
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 4(-SW) im ABRKFUe
• Erstellung der Systemarchitektur der verschiedenen Dienste mittels UML, Powerpoint-Grafiken und Text-Dokumenten
• Erstellung der Dienstleistungs-beschreibungen aller Dienstleistungen der Dienste unter Verwendung des Kommunikations-modells als Text-Dokumente
Dienstleistungs-beschreibung
Dienst x
System-architekturDienst x
S A L
Z D H - K e r n d i e n s t
b e n u t z t
D e b i s - Z D H
P r o t o k o l l i e r u n g
S c h n i t t s t e l l e 1
S c h n i t t s t e l l e 2
S c h n i t t s t e l l e 4
S c h n i t t s t e l l e 3
S c h n i t t s t e l l e 5
main SAL ReportComponent
: (CDebisZDH)
Instantiation/Initialisation
1:
2:
ZDH Core Component
4:
3:
1.1.1 Allgemein
Dienstleistungsname nuclideData
Beschreibung Abfrage nach Nukliden und ihren Eigenschaften in Abhängigkeit vomDatenbanktyp. /F20/.
1.1.2 Informationsobjekte (Ausgangszustand)
Beschreibung der einzelnen Informationsobjekte (<Name> innerhalb der Tabelle eindeutig!):
Name Informationsklasse Attributliste Nebenbedingung(en)
dbType ONT::ABR::ZDHDataBase type
1.1.3 Informationsobjekte (Ergebniszustand)
Beschreibung der einzelnen Informationsobjekte (<Name> innerhalb der Tabelle eindeutig!):
Name Informationsklasse Attributliste Nebenbedingung(en)
nuclideDataTable ONT::ABR::NuclidePropertiesTable
nuclideDataContai-ner
ONT::System::SALContainer STRING: ShortName
REAL: HalfLife [d]
STRING: Predecessor
REAL: TransitionProbability
STRING: Prepredecessor
REAL: PreTransitionProbability
STRING: NuclideGroupID
Vorgänger und Vorvorgänger der Nuklide beim Zerfall sind durch deren Nuklid-IDs angegeben. Die zugehörigen Übergangs-wahrscheinlichkeiten von Vorgänger zu Nuklid (TransitionProbability) und von Vorvorgänger zu Vorgänger (PreTransitionPro-bability) sind als Zahlen zwischen 0 und 1 gegeben.
NuclideGroup gibt an, zu welcher Nuklidgruppe das Nuklid gehört.
Beschreibung benötigter Beziehungen zwischen den Informationsobjekten:
Beziehung von Name zu Name Beschreibung
ONT::System::IsLocatedIn nuclideDataTable nuclideDataContainer
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 5(-SW) im ABRKFUe
• Entwurf der Dienste mittels UML und Rational Rose
• Erstellung der Komponenten-spezifikationen der Dienste als Text-Dokumente aus dem Entwurf
• Erstellung der Testspezifikation für die verschiedenen Dienste
Komponenten-spezifikation
Dienst x
Test-spezifikation
Dienst x
CSAL_Job(from sal)
CZDH_ABR(f ro m InterfaceZDH_ ABR)
CGetZdhDataJob
$ s_rwMutex : AXT_RWMutex$ s_lKeepSessionDataForMinutes : unsigned long = 0$ s_pTidyUpThread : omni_thread*
getPSessionData()tidyUp()
0..* 10..*
#$s_ZDH_ABR
1
CSimulationSessionData
+$s_ses sionDataMap
0..*
simulationSessionID : std::string0..*
0..*
simulationSessionID : std::string0..*
CGetMMIDefaults
doJob()
CSetMMIDefaults
doJob()
CClearMMIDefaults
doJob()
CGetDefaults
doJob()
CSetDefaults
doJob()
CClearDefaults
doJob()
CGetZDHMeasurements
CZDH_ABR(from InterfaceZDH_ABR)
CSimulationSessionDataCGetZdhDataJob
getPSessionData()tidyUp()
10..*
#$s_ZDH_ABR
10..*
0..*simulationSessionID : std::string
0..* +$s_sess ionDataMap0..*
0..*
simulationSessionID : std::string
CSAL_Job(from sal)
CGetMonitoringAreas
doJob()
CGetNuclideGroups
doJob()
CGetNucl ideData
doJob()
CGetPowerPlantData
doJob()
CGetPossibleEmissionPoints
doJob()
CGetOperationTime
doJob()
CGetDecayTime
doJob()
CGetNuclideInventory
doJob()
lfd.Nr.
Prüffälle für Anfrage nach Liste der Überwachungsbereiche Ref.Pfl.
Ref.Prüfpr.
1.1 für einen gültigen DB-Typ1.2 für einen ungültigen DB-Typ1.3 Fehlende Input-Informationsobjekte
lfd.Nr.
Prüffälle für Anfrage nach Liste der Überwachungsbereichefür einen gültigen DB-Typ
Ref.Pfl.
Ref.Prüfpr.
1.1.1 ZDH verfügbar1.1.2 ZDH nicht verfügbar
lfd.Nr.
Prüffälle für Anfrage nach Nukliddaten Ref.Pfl.
Ref.Prüfpr.
2.1 für einen gültigen DB-Typ2.2 für einen ungültigen DB-Typ2.3 Fehlende Input-Informationsobjekte
lfd.Nr.
Prüffälle für Anfrage nach Nukliddaten für einen gültigenDB-Typ
Ref.Pfl.
Ref.Prüfpr.
2.1.1 ZDH verfügbar2.1.2 ZDH nicht verfügbar
lfd.Nr.
Prüffälle für Anfrage nach Liste der Nuklidgruppen Ref.Pfl.
Ref.Prüfpr.
3.1 für einen gültigen DB-Typ3.2 für einen ungültigen DB-Typ3.3 Fehlende Input-Informationsobjekte
lfd.Nr.
Prüffälle für Anfrage nach Liste der Nuklidgruppen für einengültigen DB-Typ
Ref.Pfl.
Ref.Prüfpr.
3.1.1 ZDH verfügbar3.1.2 ZDH nicht verfügbar
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 6(-SW) im ABRKFUe
• Implementierung der verschiedenen Komponenten der einzelnen Dienste in C++ und Fortran
• Durchführung von Tests für die jeweiligen Komponenten (Modultests)
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 7(-SW) im ABRKFUe
• Integration der einzelnen Komponenten zu Diensten
• Erstellung von Testprozeduren für alle Dienste entsprechend der Testspezifikation der Dienste
• Durchführung von Tests für alle Dienste entsprechend der Testspezifikation der Dienste
• Erstellung von Testprotokollen als Text-Dokumente
Test-protokollDienst x
Test-prozeduren
Dienst x
1.1.1 Test Prozedur 227
1.1.1.1 Kurzbeschreibung
Es wird eine Diagnose-Rechnung durchgeführt wobei die Fertigstellung der Teilreports gemeldet werdenund aus diesen heraus die Teilreports dargestellt werden
1.1.1.2 Voraussetzungen
ABR-System läuft
Benutzer ist am KFUe-Klienten auf der operationellen Datenbank eingeloggt und mit dem ABR-Server verbunden
1.1.1.3 Prozedurbeschreibung
Test-schritt
Ort Aktion Ort Reaktion Item(s) Bemerkung
1. KFUe-Klient Auswahl Menü Ausbreitungsrechnung ->Neues Szenario Kurzeit-ABR
ABR-Server
KFUe-Klient
Erzeugung der Simulationssession (CM)Beschaffung von Vorschlagswerten für dieerste Maske
Eingabemaske 1: Grunddaten erscheint
11.2 Erzeugung derSimSession mitEnterprise Manager(TabellenCM_SimSession undCM_TempScen)überprüfen
2. KFUe-Klient Eingabe der Grunddaten (RechnungstypDiagnose). Weitere Parameter derKurzzeitausbreitungsrechnung eingebenund/oder vorgeschlagene Daten ändernund mit <OK>-Button bestätigen.
ABR-Server
KFUe-Klient
Konsistenzprüfung der Eingaben der 1.Maske und Eintrag ins Szenario.Beschaffung von Vorschlagswerten für diezweite Maske
Eingabemaske 2 : Emissionsparametererscheint
11.2 Ggf nochmals aktuelleSimSession mitEnterprise Managerprüfen.
DV-PROJEKTAKTE ATS-Prüfprotokoll
Sachgebiet Projektbezeichnung Phase Verfasser Datum Seite
Abt. WN ABRKFUe Integration MW / KD 19.10.2001 1/1
Dokumenten-Nr. Ap001-2001KE-v0100 Verantwortlich Dr. Michael Weigele
1 TestbeschreibungTestitem: 1.1
Prüfprozedur: 101
Systemversion: 1.0.0
Verwendete Testwerkzeuge: DienstManager, WinABRAdmin
Testbeginn (Datum und Uhrzeit): 19.10.2001, 18:12
Testende (Datum und Uhrzeit): 19.10.2001, 18:14
Kurzbeschreibung:
Das System wird zum erstenmal gestartet.
2 Testdurchführung
2.1 Zustand zu Beginn des TestsABR-System ist installiert
Das System ist jungfräulich
2.2 TesteingabenDienst ABR-Watchdog wurde im Dienste-Manager ausgewählt und der Dienst gestartet.
2.3 BemerkungenKeine
2.4 Zustand am Ende des TestsDas ABR-System läuft
2.5 TestauswertungDer WinABRAdmin zeigt an, daß alle Dienste laufen.
3 TestergebnisAbnahme des Tests: Bestanden ohne Einschränkung
Bestanden mit Einschränkung
Nicht bestanden
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 8 im ABRKFUe
• Integration der Dienste zum ABR-System
• Test des ABR-Systems standalone
• Bereitstellung einer Abnahmetest-spezifikation (ATS) des ABR-Systems für den Auftraggeber als Text-Dokument ATS für das
ABR-System
Inhaltsverzeichnis
Abbildungsverzeichnis .............................................................................................................................6
Tabellenverzeichnis..................................................................................................................................7
Änderungsnachweis .................................................................................................................................8
1 Einleitung ..........................................................................................................................................9
2 Nachzuweisende Funktionen..........................................................................................................10
2.1 Systemverhalten ......................................................................................................................10
2.2 Bedienung über KFUe-Klient ...................................................................................................10
2.3 Automatische Simulation .........................................................................................................10
2.4 Zusätzliche wichtige Funktionalitäten ......................................................................................10
2.5 Zusammenspiel mit der Simulationsdatenbank.......................................................................10
3 Testumgebung ................................................................................................................................11
3.1 Ort ............................................................................................................................................11
3.2 Hardwareumgebung ................................................................................................................11
3.3 Systemsoftware .......................................................................................................................12
3.4 Datenbasis ...............................................................................................................................13
3.5 Anwendungsprogramme..........................................................................................................13
3.6 Testprogramme (Hilfsmittel) ....................................................................................................15
3.7 Testkonfiguration .....................................................................................................................16
4 Testmethoden und Vorgehensweise ..............................................................................................17
4.1 Ablauf der Abnahme ................................................................................................................17
4.1.1 Systemvalidierung ............................................................................................................17
4.1.2 Vorbereitung .....................................................................................................................17
4.1.3 Vorbesprechung ...............................................................................................................17
4.1.4 Durchführung....................................................................................................................18
4.1.5 Abschlußbesprechung......................................................................................................18
4.2 Dokumentation der Abnahme..................................................................................................18
4.2.1 Protokollierung der Testprozeduren .................................................................................18
4.2.2 Globaler Testbericht .........................................................................................................19
4.2.3 Abnahmeprotokoll.............................................................................................................19
5 Testitems.........................................................................................................................................20
5.1 Systemverhalten ......................................................................................................................20
5.1.1 Hochfahren des Systems .................................................................................................20
5.2 Bedienung über KFUe-Klient ...................................................................................................20
5.2.1 Anmelden und Verwalten von KFUe-Klienten ..................................................................21
5.2.2 Diagnose-Rechnung mit Vorschlägen aus dem System..................................................22
5.2.3 MMI-Prognose-Rechnung mit Vorschlägen aus dem System .........................................22
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell SE 9 im ABRKFUe
• Installation des Systems im Umfeld beim Auftraggeber
• Durchführung und Protokollierung der Abnahme auf der Basis der ATS
• Einführung des Auftraggebers in den Umgang mit dem System
• Erstellung von System- und Benutzerhandbuch
• Wartung und Pflege (Fehlerbeseitigung, ...)
Globaler TestberichtTest-
protokollTestfall x.x
ATS-Fehlerliste
Abnahme-erklärung
Benutzer-handbuch
System-handbuch
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Handhabung des Submodells SE in ABRKFUe
• SE 1 als Wasserfallprozess, Änderungen mittel Change-Requests• SE 2 begonnen als Wasserfallprozess, spätere Erweiterungen des
Kommunikationsprozesses erfolgten iterativ-inkrementell• SE 3 begonnen als Wasserfallprozess, spätere Modifikationen
erfolgten iterativ• SE 4 begonnen als Wasserfallprozess, spätere Modifikationen
erfolgten iterativ-inkrementell• SE 5 begonnen als Wasserfallprozess, spätere Modifikationen
erfolgten iterativ-inkrementell• SE 6 erfolgte zum Teil als Wasserfallprozess, als auch zum Teil
iterativ-inkrementell• SE 7 erfolgte iterativ-inkrementell• SE 8 erfolgte iterativ-inkrementell• SE 9 als Abschluss entsprechend den Notwendigkeiten
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
Submodell Konfigurationsmanagement
KM erfolgt am IKE durch CVSDurch Anlegen der Projektstruktur werden die weiteren Aufgaben weitgehend automatisch erledigt
KM-Initialisierung
Konfigurations-verwaltung
KM-Berichts-wesen
Änderungs-management
Datensicherung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
KM am IKE
• Konfigurationsmanagement erfolgt am IKE auf Basis von CVS
• Folgende Projektstruktur hat sich bewährt