Was ist eine Problemdomäne?

12

Ich muss mein Programm für ein Schulprojekt dokumentieren und wir haben einen Abschnitt namens "Problemdomäne", aber ich habe keine Ahnung, was ich in diesem Abschnitt besprechen soll.

Die Frage ist also: Was soll in der Problemdomäne diskutiert werden?

Samantha Catania
quelle
2
Problem domain = Programmthema /
-thema
In Anbetracht der Art und Weise, wie Sie Ihre Frage formuliert haben, schließt die von @qes bereitgestellte Antwort sie so gut wie ab. Wenn Sie spezifischere Ratschläge wünschen, müssen Sie einige Details zu Ihrem Programm angeben.
Mike Nakis
Wenn Sie uns nicht sagen können, worum es in Ihrem Programm geht, kennen Sie die Problemdomäne nicht.
JeffO

Antworten:

24

Ich schreibe Embedded-Software für Telekommunikationsgeräte. Meine Problemdomäne sind Ethernet-, Sprach- und Videoprotokolle. Mit anderen Worten, all die Dinge, die nichts mit der Sprache zu tun haben, in der ich programmiere, die ich aber noch verstehen muss, um die Software schreiben zu können. Wenn Sie eine Website für den Verkauf von Fotografiedienstleistungen erstellen, ist die Problemdomäne Fotografie und E-Commerce. Wenn Sie Firmware für Militärflugzeuge schreiben, besteht das Problem in Waffen, Sensoren und Steuerungssystemen. Verstehe?

Karl Bielefeldt
quelle
6
Absolut korrekt. Und im Bereich der kommerziellen Software werden Personen, die die Problemdomäne kennen, häufig als Fachexperten (Subject Matter Experts, SMEs) und nicht als Programmierer bezeichnet, da ihr Wert und ihre Rolle in der Organisation sich von den Programmierern unterscheiden (und diese oft übertreffen).
Ross Patterson
@ Karl Bielefeldt danke u. Du bist mein heutiger Tagesretter.
William Francis Gomes
10

Aus dem Wikipedia-Artikel zur Problemdomäne :

Eine Problemdomäne ist das Fachgebiet oder der Anwendungsbereich, der untersucht werden muss, um ein Problem zu lösen. Eine Problemdomäne betrachtet einfach nur die Themen, an denen Sie interessiert sind, und schließt alles andere aus.

Dies ist der Bereich, zu dem die Probleme gehören, die Ihre Anwendung lösen soll.

Quentin-Starin
quelle
@Murph, Änderungen während der ersten 5 Minuten eines Posts werden nicht explizit aufgezeichnet.
Péter Török
Können sie ein beispiel geben pls?
Samantha Catania
@ PéterTörök nie ein (ganz) schlechter Tag, an dem man etwas Neues lernt (-:
Murph
1
@SamanthaCatania, im Falle des Projekts, an dem ich gerade arbeite, ist die Problemdomäne Autovermietungen . Ein zentraler Bereich in dies Fahrzeug Kasse & checkin selbst, aber abgesehen davon gibt es viele andere Sub - Domains, wie zB: Flottenmanagement , Revenue Management , Preise usw.
Péter Török
Beachten Sie, dass eine Problemdomäne sehr spezifisch sein kann, z. B. die Bestandsverwaltung, wie sie in der Region New York unserer Firma durchgeführt wird . Aber wahrscheinlich nicht spezifischer als dies; Kleinere "Domänen" werden normalerweise als einzelne Probleme betrachtet.
Paul Brinkley
4

Nicht jeder schreibt Compiler, Bug-Tracker, Frameworks oder andere reine Computer-Softwarepakete.

Einige Leute schreiben Software für die Sand- und Kiesindustrie. Einige Leute schreiben Software zur Überwachung von Refraktionstürmen. Einige Leute schreiben Software, um die Herstellung von Plastikeinkaufstüten zu kontrollieren. Einige Leute schreiben Software, um Ketchup-Pakete zu füllen.

Das sind alles Problemdomänen, in denen man zum Schreiben guter Software etwas über die Domäne wissen muss, z. B. Transportbeton.

Whatsisname
quelle
1
Ein Compiler-Schreiber hat unter anderem auch eine Problemdomäne. CPU-Architektur.
Prof. Falkens Vertrag wurde am
1

Ian K. Bray definiert in seinem Buch Eine Einführung in das Requirements Engineering (S. 9) die Problemdomäne wie folgt:

Der Teil des Universums, in dem das Problem existiert .

Im Fall eines Aufzugssteuerungssystems würde es beispielsweise jegliche vorhandene Hardware (Aufzüge, Motoren, Knöpfe, Anzeigen, Sensoren usw.), die Gebäudeeigenschaften (Anzahl der Stockwerke und Aufzugsschächte) und das erwartete Muster von umfassen Nutzung, die Eigenschaften der Benutzer, die Richtlinien zur Nutzung des Aufzugs des Kunden (sollten Benutzer z. B. davon abgehalten werden, einen Aufzug für kurze Fahrten zu verwenden?) und so weiter.

In der Problemdomäne der Aufzugssteuerung besteht das oben genannte Problem darin, dass ein Steuerungssystem erforderlich ist, mit dem die Aufzüge in diesem Gebäude effizienter genutzt werden können. In der Praxis verfeinern wir das Problem normalerweise in eine ganze Reihe von Teilproblemen. Beachten Sie jedoch, dass das Lösungssystem zur Lösung des Problems (der Probleme) eindeutig einige Effekte innerhalb des Problembereichs erzeugen muss . Es sind diese gewünschten Effekte, die die Anforderungen ausmachen.

Die Problemdomäne kann also genauso gut als der Teil der Welt betrachtet werden, in dem das neue Lösungssystem (manchmal auf SS abgekürzt) arbeiten wird und die erforderlichen Effekte hervorruft. Da softwarebasierte Lösungssysteme häufig als Anwendungen bezeichnet werden, kann die Problemdomäne als Anwendungsdomäne bezeichnet werden.

Jules Randolph
quelle
0

Ich sehe es so:

Die Problemdomäne: Der Grund, warum die Software erstellt werden muss, und die Umgebung und Branche, für die das erstellte System verwendet werden muss.

Andrew S
quelle