Range

Range (engl. für Bereich, Intervall, Grenze) ist ein von Martin Fowler für die Softwaretechnik entwickeltes Analysemuster.

Inhaltsverzeichnis

Range

Als Muster für die Softwaretechnik ist Range auf einen definierten Sachverhalt spezialisiert und dient der Modellierung von Wertebereichen. Es kommt bei der Konzeptionierung einer neuen Software zum Einsatz und dient nicht der direkten Programmierung, sondern als standardisiertes Muster für die Prüfung, Analyse und Darstellung des Sachverhaltes "Wertebereich". Es ermöglicht bei der späteren tatsächlichen Erstellung der Anwendungssoftware aufgrund der Spezialisierung und des Mustercharacters eine einfache Ableitung von Quellcode zur Implementierung der Funktionalität in die Softwareanwendung.

Einsatz

Prinzipiell kann dieses Muster für die Bildung eines Bereiches zwischen zwei beliebigen Größen verwendet werden. Einzige Anforderung ist, dass die Größen die Vergleichsoperationen <, >, =, <=, und >= (bzw. Äquivalente für den jeweiligen Datentyp) unterstützen.

Der Range allein dient bei der Behandlung von Wertebereichen (wie beispielsweise 10 - 15) nur als ein zusammengehöriges Objekt ohne weitere Bedeutung. Erst in Verbindung mit anderen Analysemustern entfaltet der Range die volle Funktionalität und kann noch deutlich mehr. Range wird oft zusammen mit Quantity oder Measurement verwendet. Quantity stellt die einzelne Werte inklusive ihrer Einheiten dar, Measurement dient der Modellierung von (möglicherweise mehreren) quantitativen Messungen für ein Objekt. Ohne Range erhält man mit diesen Analysemustern also Einblick in einzelne, individuelle Werte, die eine quantitative Aussage geben, aber nicht zusammenhängen und keine weitere Aussagekraft haben. Um die Gesamtmenge der Werte zu analysieren und sie einordnen zu können ist es sinnvoll, diese in Kategorien zu gruppieren. Hier kommt Range zur Anwendung, die Einteilung und Beurteilung der Werte ist Aufgabe von Range, indem es Wertebereiche (Kategorien) zur Verfügung stellt: Beispielsweise Umsätze in Bandbreiten oder alle Messungen, die unterhalb einer beliebigen Schwelle liegen. Damit wird eine Analyse möglich, ob Werte innerhalb ihrer erlaubten Toleranzen liegen und je nach Kategorie bzw. Einordnung des Ergebnisses kann unterschiedlich darauf reagiert werden.

Martin Fowler sagt zu Quantity und Range: “These a small fundamental patterns, yet ones that are used pretty widely. If you write OO systems they should be an ever-present part of your toolkit.” Diese beiden Muster sind also Integrale Bestandteile für die Softwareentwicklung.

Auch eine weitere Verknüpfung und Verwendung mit dem Muster Observation ist möglich, um die Werte während ihrer Beobachtung bereits kategorisieren und einordnen zu können.

Nutzung und Verwendung

Zur Nutzung des Musters besteht der 1. Schritt darin, die verschiedenen Wertebereiche zu definieren und abzugrenzen, um eine eindeutige Zuordnung aller Werte treffen zu können. Für Bereiche stellt man sich als erstes die Definition einer unteren und oberen Grenze vor, die zum Typ des jeweiligen Datenelements passen müssen. Dabei können Nummern (1...10), Datum (01.01.2000 bis 31.01.2000), aber auch genauso gut Strings (wie AAA...AZZZ) zum Einsatz kommen. Zu Ranges kann aber noch mehr Information gehören als nur ein durch obere und untere Grenze eingeschränkter Bereich. Es kann überlappende und aneinandergrenzende Intervalle geben, oder mehrere Intervalle können gemeinsam einen zusammenhängenden Bereich ergeben. Weiterhin werden in bestimmten Einsatzbereichen auch unbefristete Bereiche benötigt, beispielsweise "jünger als 6 Monate". Auch Operationen zum Umgang mit Ranges müssen vorhanden sein, beispielsweise zur Beurteilung ob Werte in einen speziellen Bereich hineingehören oder um Bereiche vergleichen zu können. Dies unterstützt das Range Muster.

Beispiel

Als einfachsten Fall (für die obere und untere Grenze) lässt sich das Range folgendermaßen darstellen:

Analysemuster Range (einfach)


Für die oben angesprochenen Weiteren Informationen und zur Unterstützung der vollen (im nächsten Absatz genannten Funktionalität) sieht die Darstellung folgendermaßen aus:

Analysemuster Range (komplex)


Funktionen

Eine Range beinhaltet also alle Informationen, die wichtig für einen Bereich sind:

  • Was beinhaltet er sowie eine „Includes“-Operation zur Prüfung, ob ein Wert in das Range-Objekt gehört
  • Womit überlappt das Range, beinhaltet das Range andere/kleinere Ranges (zur Nutzung von Teilranges) sowie die notwendigen Operationen zur Durchführung dieser Vergleiche
  • Woran grenzt das Range an sowie die notwendige Operation zum Rangevergleich
  • Unterstützung von Sortierkriterien und Zur-Verfügung-Stellung einer Sortierfunktion, um eine Rangfolge der Werte zu bestimmen
  • Die betroffenen Größen (beispielsweise Zeit, Alter, ...)
  • Welche Werte der Größen können überhaupt im Range verwendet werden (Gültigkeitsbereich)
  • Obere und untere Grenze der Werte (müssen im Gültigkeitsbereich liegen; Grenzen sind zudem optional um unbefristete Bereiche darzustellen)
  • Angaben zur Unterscheidung der Anwendungsfälle "kleiner als x" und "kleiner oder gleich x" (Boolean-Werte)

Siehe auch

  • Analysemuster, eine generelle Übersicht über weitere Analysemuster
  • Quantity, ein für Range nutzbares Analysemuster zur gemeinsamen Speicherung von Werten mit ihren zugehörigen Einheiten
  • Measurement, ein für Range nutzbares Analysemuster für Messungen

Literatur

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Range — Range, n. [From {Range}, v.: cf. F. rang[ e]e.] 1. A series of things in a line; a row; a rank; as, a range of buildings; a range of mountains. [1913 Webster] 2. An aggregate of individuals in one rank or degree; an order; a class. [1913 Webster] …   The Collaborative International Dictionary of English

  • rangé — rangé, ée [ rɑ̃ʒe ] adj. • XIIIe; p. p. de 1. ranger 1 ♦ Bataille rangée. 2 ♦ (v. 1735) Qui mène une vie régulière, réglée, sans excès; qui a une bonne conduite. ⇒ sérieux. Cet homme si réglé, si rangé. « Mémoires d une jeune fille rangée », de S …   Encyclopédie Universelle

  • rangé — rangé, ée (ran jé, jée) part. passé de ranger. 1°   Mis dans un certain ordre. •   Vingt muids rangés chez moi font ma bibliothèque, BOILEAU Lutr. IV. •   Il était sur son char ; ses gardes affligés Imitaient son silence autour de lui rangés,… …   Dictionnaire de la Langue Française d'Émile Littré

  • range — n 1 *habitat, biotype, station 2 Range, gamut, reach, radius, compass, sweep, scope, orbit, horizon, ken, purview can denote the extent that lies within the powers of something to cover, grasp, control, or traverse. Range is the general term… …   New Dictionary of Synonyms

  • range — [rānj] vt. ranged, ranging [ME rangen < OFr ranger, var. of rengier, to arrange in a circle, row (> ME rengen) < renc < Frank * hring, akin to OE, OHG hring,RING2] 1. to arrange in a certain order; esp., to set in a row or rows 2. to… …   English World dictionary

  • Range — (r[=a]nj), v. t. [imp. & p. p. {Ranged} (r[=a]njd); p. pr. & vb. n. {Ranging} (r[=a]n j[i^]ng).] [OE. rengen, OF. rengier, F. ranger, OF. renc row, rank, F. rang; of German origin. See {Rank}, n.] 1. To set in a row, or in rows; to place in a… …   The Collaborative International Dictionary of English

  • Range — Range, v. i. 1. To rove at large; to wander without restraint or direction; to roam. [1913 Webster] Like a ranging spaniel that barks at every bird he sees. Burton. [1913 Webster] 2. To have range; to change or differ within limits; to be capable …   The Collaborative International Dictionary of English

  • range — [n1] sphere, distance, extent ambit, amplitude, area, bounds, circle, compass, confines, diapason, dimension, dimensions, domain, earshot*, elbowroom*, expanse, extension, extensity, field, gamut, hearing, ken, latitude, leeway, length, limits,… …   New thesaurus

  • range — ► NOUN 1) the area of variation between limits on a particular scale: the car s outside my price range. 2) a set of different things of the same general type. 3) the scope or extent of a person s or thing s abilities or capacity. 4) the distance… …   English terms dictionary

  • range — / reindʒ/, it. /rɛndʒ/ s. ingl. (propr. campo , dal medio fr. range ), usato in ital. al masch., invar. 1. [ambito nel quale varia una grandezza, spec. nel linguaggio scient.: r. di valori di una grandezza ] ▶◀ gamma, intervallo, ventaglio. 2.… …   Enciclopedia Italiana


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.