Hallo, ich bin dabei, eine Softwareanwendung zu entwickeln. Diese soll den Benutzer als Wizard, bei dem nacheinander verschiedene Bedienschritte zu erledigen sind, durch den Prozess leiten und am Ende ein Ergebnis liefern. Da das ganze etwas komlexer ist, möchte ich es vorher als UML-Diagramm modelieren um zu sehen, wie ich den Bedienablauf optimieren kann. Nun bin ich recht neu, was UML betrifft. Deshalb meine Frage: Welches UML-Diagramm bietet sich dafür an? Grüße, Alex
:
Bearbeitet durch User
UML? Ich würde hier eher dot/Graphviz verwenden: https://renenyffenegger.ch/notes/tools/Graphviz/examples/index
Hallo DPA, danke für deine schnelle Antwort. Das sieht mir wie ein Anblaufplan/Flussdiagramm aus. Ich denke, ich benötige vielleicht sogar mehrere Diagramme. Ich hätte mal noch ein paar Randinformationen mitliefern sollen. Zum einen möchte ich den Programmablauf modellieren. Auf der anderen Seite möchte ich noch darstellen, wann dem Benutzer welche Informationen bereitgestellt werden. Es gibt zum Beispiel ein Bluetoothgerät, das ausgelesen werden soll. Ich muss also die Information bereitstellen, ob es verbunden ist oder nicht und wenn ja, muss ich einige Informationen auslesen (möglicht parallel zum Benutzerablauf im Hintergrund). Wenn nicht so soll der Benutzer scannen können oder wenn das Gerät mit dem PC schon bekannt (gepaired) ist, ein Connect wersuchen können. Dann gibt es noch ein paar andere Daten von außen. Ich möchte also auch darstellen, welche Informationen wo in der Anwendung auftauchen.
Alexander H. schrieb: > Nun bin ich recht neu, was UML betrifft. Deshalb meine Frage: > Welches UML-Diagramm bietet sich dafür an? Wenn es unbedingt UML Sein muss würde ich ein Sequenzdiagramm in Betracht ziehen. Aber mir Kommt UML ziemlich sperrig Vor und es passt auch gar nicht so richtig zum Agilen Arbeiten. Moderne Software Entwicklung versucht bei jeder Iteration einen Wert zu erzeugen dieses Symbolbild ist dafür bekannt https://blog.crisp.se/wp-content/uploads/2016/01/Making-sense-of-MVP-.jpg Während das Auto Oben zum Beispiel mit UML Modeliert, erst am ende ein Wert generiert. Hat die Iteration unten nach jeden Schritt etwas mehr wert für den Kunden. Und wenn du dir Grafik genau ansiehst stellst du fest das unten ein Cabrio gebaut würde, das ist der Agile Vorteil denn der Kunde hat beim Motorad Fahren gemerkt wird um die Nase mag ich. Beim Oberen Zyklus, brauchte das am ende dann einen Change request. Ich würde daher deine Aufgabe so lösen das ich mir ein Whiteboard schnappe ein paar Posits und mindesten 1 Kollegen und dort versuchen würde ein paar User Storys zu erarbeiten. Wie Inge die Sekretärin will mit meiner Super Software einen Serien Fax Verschicken, dazu muss sie die Adressen aus der Adresse Datenbank kopieren und in die Software eingeben. Erster wert für Inge sie, kann ein Fax Verschicken. Wenn das Modeliert ist bekommt sie eine BEta Zwieter Wert Für Inge die Software ist an die Adressdatenbank angebunden sie muss die nummer nicht mehr Kopieren. dritter Wert für Inge, Die Software kann mit Templates umgehen so das die Fax persönlicher Wirken. So hat jeder schritt einen Wert und einer der Vorteile ist, man kann Inge fragen, willst du lieber die Adressen automatisch aus der Datenbank haben oder erst Template fürs persönliche anschreiben und kann somit die Teile der Software Priorisieren.
Habe ich dich vielleicht falsch verstanden? Aber mir geht es bei meiner Frage nicht um den Kunden. Ich möchte für mich modelieren, wie der Programmablauf aussehen muss und wann welche Daten woher zur Verfügung gestellt werden, damit ich mich dann beim Erstellen der Anwendung daran orientieren kann.
Ok, dass kann dan schon recht komplex werden. An dot/Graphviz dachte ich vor allem, weil man dort einfach schreiben kann dialog1 -> dialog2 -> dialog3 usw., um einen groben Überblick zu bekommen. Um eine Idee zu bekommen, wo man was angezeigt werden soll sind manchmal gui mockups ganz nützlich. Ich kann dir hier nicht wirklich weiterhelfen, wie man hier am besten vorgeht. Ich würde aber empfehlen, die Programmlogik und die GUI logik möglichst zu entkoppeln. Schaue dir auf jeden fall das MVVM und das Observer pattern an, falls du diese noch nicht kennst. Also im grunde, du hast irgendwo Klassen/Strukturen, die die Infos wie "gefundene Gerate", "gefunden/gepairt/verbunden", etc. kennen, und die Guikomponenten, die wissen müssen, wenn sich der Zustand ändert, registrieren sich dort. Dann kannst du in den Guikomponenten einfach reinschreiben, wenn X, zeige Y, usw., ohne manuell nachprüfen zu müssen ob sich was ändert. Ein Beispiel, um die Grundidee dahinter zu zeigen: https://jsfiddle.net/tegy9v5n/2/
Ich verwende in der Tat WPF und somit MVVM. Ich werde erstmal den Programmablauf entwerrfen und dann weitersehen. Grüße, Alex
imonbln schrieb: > Aber mir Kommt UML ziemlich sperrig Vor und es passt > auch gar nicht so richtig zum Agilen Arbeiten. Totaler Humbug! Du vergleichst hier Apfelsinen mit Fahrräder. Auch bei agilen Ansätze muss das was entwicklet wird auch dokumentiert, oder zuvor spezifiziert werden. Und das geht in UML genau so gut wie mit Graphviz oder mit Bleistift auf Kantineservietten. Das Bild macht es noch schlimmer: Der Kunde wird erstmal zugemüllt mit allen möglichen Schrott, das er nicht braucht und nicht benutzen kann (mitm Roller auf die Autobahn? Motorrad fahren ohne Motorführerschein?) und kriegt am Ende auch noch ein Auto ohne Dach (gegen Aufpreis, das versteht sich). Deutsch ist übrigens noch sperriger als UML, will ich als "non-native Speaker" mal so behaupten. Trotzdem verwenden viele Unternehmen es in deren Entwicklungsprozessen, auch agile...
Hallo, willst Du den HMI Ablauf beschreiben? Du willst C# mit WPF benutzen, wenn du es als Statemaschine mit Stateless programmierst dann kannst Du das Diagramm darin automatisch generieren
Alexander H. schrieb: > ... Wizard, bei dem nacheinander verschiedene Bedienschritte zu > erledigen sind, Ich kann hier yEd empefehen, Ablaufplaene usw. auch UML zeichnen. https://www.yworks.com/products/yed leo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.