1. Allgemeine Software-Struktur


Abgrenzung der Quellen
 
Files, die für die Motorsteuerung relevant sind
  LOC 
Dateiname 
 Funktion
3367
motors.cpp
TMotor und seine Unterklassen,sowie TMList und die Dialogklassen TCalibrate, TOptimizeDC_812, TOptimizeDC_832, TMotorParam und TPosControl
492
m_layer.cpp
C-Interface fuer die Ansteuerung der Motoren, welches im Moment an die Dialoge gebunden ist
480
rc_def.h
Resourcen Definitionen
208
comhead.h
typedefs, wird auch von Counters benutzt ->nur ein paar Sachen, die fuer die Motoren sind
171
m_motcom.h
TMotor, TMList Klassen-Deklarationen
303
m_mothw.h
Deklaration der Unterklassen von TMotor, sowie der Dialoge TCalibrate, TOptimizeDC_812, TOptimizeDC_832, TMotorParam und TPosControl
103
m_layer.h
Deklarationen fuer das C-Interface, womit die Motoren angesteuert werden
92
 ieee.h
Funktionsdeklarationen fuer die C und C++ IEEE-488 Interface Routinen -> Fkt. aus importierter Dll "win488.dll"
56
C_8x2.inc
Kommandosatz fuer C-832 Controller
  5272
Zeilen Quelltext

Es existiert noch eine Datei gpib.cpp, die aber keine Funktionalität im Programm hat, sondern als Testprogramm für das IEEE488-Interface gedacht war.

Kommentierung der Quellen

Interface der Motorsteuerung zu anderen Programmkomponenten

Interface der motors.dll (zur Zeit)

Die Datei m_layer.h enthält die Deklarationen für das c-Call-Interface zum Zugriff auf die Methoden der Motorklassen, d.h. im Moment ist dieses C-Call-Interface die Schnittstelle von der Bibliothek Motors.dll zum Rest des Programms. Der Autor ist davon ausgegangen, daß damit Anwender, die nicht die Sprache C++ kennen, mit Hilfe von C und dieser Library selbst Programme schreiben können.

2 Klassen von Funktionen:

Beschreibung des Interfaces ist zu finden unter m_layer.h (kommentiert von Jens-Uwe Rumstich)
 

Klassen (Aufgaben, Beziehungen)
 

Klassendiagramm der Motorsteuerung:

Die Motoren sind durch die Klasse TMotor repräsentiert. Die Klasse TMotor ist eine polymorphe Klasse, d.h. verschiedene Funktionen werden zur Laufzeit durch entsprechend der Hardware angepasste Funktionen ersetzt.

Desweiteren gibt es eine Klasse TMList die der Verwaltung der Motoren dient. Diese Motor-Liste enthält alle dem System bekannten Motoren. Weiterhin enthält die Bibliothek folgende Dialoge :


Bewertung der Qualität:

Ungünstig im jetzigen Stadium, da die C-Schnittstelle im Quelltext für Unordnung und unnötiges Aufstocken der Komplexität sorgt.
Desweiteren ist zu bemängeln die nicht ausreichende Kommentierung sowie die Struktur des Quelltextes. Besser wäre es, jede
Klasse für sich in einem Quelltextfile abzuspeichern.
 

Restrukturierungsplanung


zurück zur Übersicht