is-Logo Taschenlampe V. 1.3
Es wird Strom verbraucht - OOA/OOD

S. Spolwig
 

[Home | Unterrichtssequenzen]
Startseite

Ziele:
Algorithmen und Klassen modifizieren, um eine weitere Annäherung an die Realität zu erreichen

Informationen
zur Vertiefung


OOA und vereinfachende Modellannahmen zur Version 1.3

Die Batteriespannung fällt bei jeder Stromentnahme um einen festen Betrag bis auf Null ab. Der natürliche langsame Spannungsverlust bei langer Lagerung ohne Belastung wird nicht berücksichtigt.
Die Helligkeit der Taschenlampe nimmt von 100% auf 0% proportional linear mit der sinkenden Spannung ab.

 

V. 1.3

Es fällt eine Reihe von Änderungen innerhalb der Klassen an, die Struktur bleibt unverändert.

In der GUI wird der Timer eingebaut und die Darstellung des Lichtes muß unterschiedliche Helligkeitswerte, die von TTaschenlampe kommen, wiedergeben.

TBatterie kann intern die Spannung vermindern.

TGluehlampe braucht ein zusätzliches Attribut Nennspannung (für die sie konstruiert ist) zur Unterscheidung von der effektiven Spannung, die jeweils anliegt.

TLampe ist unverändert.

 

 

 

Timer

Spezifikation TLampenGUI

TLampenGUI = class(TForm)
    GehaeusePnl   : TPanel;
    ...
    LaufzeitTm    : TTimer;
    procedure LaufzeitTmTimer(Sender: TObject);

   private
     procedure Darstellen(TLa : TTaschenlampe);
end;
 

Methoden
--------
Darstellen (TLa : TTaschenlampe);
  Auftrag: anbnehmende Helligkeit mit RGB-Farben steuern; Timer starten,
              wenn nicht leuchtet, dann Timer abstellen
  vorher  : TLa leuchtet
  nachher: Helligkeit angezeigt

LaufzeitTmTimer(..)
  Auftrag: Darstellen starten und beenden
  vorher  : -
  nachher: done

 


Spezifikation TTaschenlampe

Methoden
--------

GetHelligkeit
  Anfrage: nach der aktuellen Helligkeit der Lampe, Spannung sinken lassen,
              neue Spannung an Lampe
  vorher  : -
  nachher: done

Leuchtet
  Anfrage: ob die Taschenlampe 'brennt'
  vorher  :
  nachher: leuchtet, wenn Lampe Licht gibt und Batteriespannnung > 0 und
              Schalter auf EIN.
              Lampe bekommt aktuelle Batteriespannung

 

Spezifikation TBatterie

Methoden
--------
GetSpannung
  Anfrage: nach der Spannung
  vorher  : Spannung ist init.
  nachher: Spannung ist um x.x V gesunken

 

Spezifikation TGluehlampe

TGluehlampe = class(TLampe)
   private
    Nennspannung,                           
    Spannung      : double;   // eff. anliegende Sp.

   public
    constructor Create;
    procedure   SetSpannung (u : double);
    function     GetSpannung   : double;
    function     GetHelligkeit : integer;   
  end;

Methoden
----------
Create
  Auftrag: Erzeugen und initialisieren
  vorher : -
  nachher: Nennspannung ist 4.5 ; Spannung = 0

GetHelligkeit
  Anfrage: nach prozentualem Stand der Spannung = Helligkeitsfaktor
  vorher :
  nachher:  hell, wenn 100%;

 
 

©  05. Oktober 2008    Siegfried Spolwig

page_top