Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

„Ein Tag im Leben eines Eichhörnchens“ oder von der Modellierung von Prozessen bis zum Entwurf eines automatisierten Systems zur Bilanzierung von Sachwerten „Belka-1.0“ (Teil 1)

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)
Eine Illustration wurde für „Das Märchen vom Zaren Saltan“ von A. S. Puschkin, veröffentlicht von Children's Literature, Moskau, 1949, Leningrad, Zeichnungen von K. Kuznetsov verwendet

Was hat „Eichhörnchen“ damit zu tun?

Was das „Eichhörnchen“ damit zu tun hat, erkläre ich gleich. Ich bin im Internet auf lustige Projekte zum Erlernen von UML gestoßen, die auf einem aus Märchen entlehnten Themengebiet basieren (z. B. hier [1]) beschloss ich außerdem, ein ähnliches Beispiel für meine Schüler vorzubereiten, damit sie zunächst nur drei Arten von Diagrammen studieren konnten: Aktivitätsdiagramm, Anwendungsfalldiagramm und Klassendiagramm. Ich übersetze die Namen der Diagramme bewusst nicht ins Russische, um Streitigkeiten über „Übersetzungsschwierigkeiten“ zu vermeiden. Ich werde etwas später erklären, wofür es ist. In diesem Beispiel verwende ich das Enterprise Architect-Framework eines australischen Unternehmens Sparx-Systeme [2] – ein gutes Werkzeug zu einem vernünftigen Preis. Und im Rahmen meiner Trainingseinheiten verwende ich Modellio [3], ein gutes kostenloses objektorientiertes Design-Tool, das UML2.0- und BPMN-Standards unterstützt, ohne unnötigen Schnickschnack in Bezug auf visuelle Fähigkeiten, aber völlig ausreichend, um die Grundlagen der Sprache zu erlernen.

Wir werden die Aktivität der Buchhaltung für Sachwerte, die in diesen Prozessen entsteht, automatisieren.

...
Eine Insel im Meer liegt, (E1, E2)
Hagel auf den Inselständen (E3, E1)
Mit Kirchen mit goldenen Kuppeln (E4)
Mit Türmen und Gärten; (E5, E6)
Vor dem Schloss wächst Fichte (E7, E8)
Und darunter ist ein Kristallhaus; (E9)
Dort lebt das Eichhörnchen, zahm, (A1)
Ja, was für ein Entertainer! (A1)
Eichhörnchen singt Lieder, (P1, A1)
Ja, er nagt alle Nüsse, (P2)
Und Nüsse sind nicht einfach, (C1)
Alle Muscheln sind golden, (C2)
Kerne reiner Smaragd; (C3)
Diener bewachen das Eichhörnchen, (P3, A2)
Diene ihr als Diener verschiedener Art (P4)
Und ein Sachbearbeiter wurde zugewiesen (A3)
Strenge Darstellung verrückter Neuigkeiten; (P5, C1)
Verleiht ihrer Armee Ehre; (P6, A4)
Aus den Muscheln wird eine Münze gegossen, (P7, C2, C4)
Lassen Sie sie um die Welt schweben; (P8)
Mädchen werfen Smaragd (P9, A5, C3)
In Vorratskammern, aber unter dem Scheffel; (E10, E11)
...
(A.S. Puschkin „Die Geschichte vom Zaren Saltan, von seinem glorreichen und mächtigen Helden Fürst Guidon Saltanowitsch und der schönen Prinzessin Schwan“, Die Arbeit an dem Märchen begann vermutlich im Jahr 1822; das Märchen wurde erstmals von Puschkin in der Sammlung „Gedichte von A. Puschkin“ veröffentlicht (Teil III, 1832, S. 130-181). — Übrigens 10 Jahre vom Konzept bis zur Veröffentlichung!)

Ein wenig über die Codes, die rechts von den Zeilen geschrieben sind. „A“ (von „Actor“) bedeutet, dass die Zeile Informationen über einen Teilnehmer am Prozess enthält. „C“ (von „Klasse“) – Informationen über Klassenobjekte, die während der Ausführung von Prozessen verarbeitet werden. „E“ (von „Environment“) – Informationen über Klassenobjekte, die die Umgebung für die Ausführung von Prozessen charakterisieren. „P“ (von „Prozess“) – Informationen über die Prozesse selbst.

Die genaue Definition eines Prozesses behauptet übrigens auch, Anlass für methodische Streitigkeiten zu sein, schon allein deshalb, weil es unterschiedliche Prozesse gibt: geschäftlich, produktionstechnisch, technologisch usw. usw. (Sie können zum Beispiel herausfinden, hier [4] und hier [5]). Um Kontroversen zu vermeiden, sollten wir uns darauf einigen Wir interessieren uns für den Prozess unter dem Gesichtspunkt seiner Wiederholbarkeit im Laufe der Zeit und der Notwendigkeit einer Automatisierung, d.h. Übertragen der Ausführung eines beliebigen Teils der Prozessvorgänge auf ein automatisiertes System.

Hinweise zur Verwendung des Aktivitätsdiagramms

Beginnen wir mit der Modellierung unseres Prozesses und verwenden dafür das Aktivitätsdiagramm. Lassen Sie mich zunächst erklären, wie die oben genannten Codes im Modell verwendet werden. Anhand eines grafischen Beispiels ist es einfacher zu erklären, aber gleichzeitig analysieren wir einige (fast alle, die wir brauchen) Elemente des Aktivitätsdiagramms.
Lassen Sie uns das folgende Fragment analysieren:

...
Eichhörnchen singt Lieder, (P1, A1)
Ja, er nagt alle Nüsse, (P2)
Und Nüsse sind nicht einfach, (C1)
Alle Muscheln sind golden, (C2)
Kerne reiner Smaragd; (C3)
...

Wir haben zwei Prozessschritte P1 und P2, Teilnehmer A1 und Objekte von drei verschiedenen Klassen: Ein Objekt der Klasse C1 wird in den Schritt eingegeben, Objekte der Klassen C2 und C3 werden als Ergebnis der Aktivität dieses Schritts P2 von uns ausgegeben Verfahren. Für das Diagramm verwenden wir die folgenden Modellierungselemente.

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Ein Fragment unseres Prozesses kann etwa so dargestellt werden (Abbildung 1).

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Abbildung 1. Fragment des Aktivitätsdiagramms

Um den Raum zu organisieren und das Aktivitätsdiagramm zu strukturieren, werden wir im Hinblick auf die klassische Verwendung der UML-Notation einen nicht standardmäßigen Ansatz verwenden. Dafür gibt es aber mehrere Gründe. Unmittelbar vor Beginn der Modellierung erstellen wir zunächst das sogenannte Modellierungsvereinbarung, in dem wir alle Merkmale der Verwendung der Notation festhalten. Zweitens wurde dieser Ansatz in der Phase der Geschäftsmodellierung in realen Projekten zur Erstellung von Softwaresystemen mehrfach erfolgreich angewendet; die Ergebnisse wurden von unserem kleinen Autorenteam im entsprechenden Copyright-Objekt [6] festgehalten und auch in einem Schulungshandbuch verwendet [ 7]. Für das Aktivitätsdiagramm definieren wir, dass das Diagrammfeld mithilfe von „Schwimmbahnen“ strukturiert ist. Der Trackname entspricht der Art der Diagrammelemente, die auf diesem Track platziert werden.

„Eingabe- und Ausgabeartefakte“: Diese Spur enthält Objektelemente – Objekte, die verwendet werden oder das Ergebnis der Ausführung eines Prozessschritts sind.
"Prozessschritte": Hier platzieren wir Aktivitätselemente – die Aktionen der Prozessteilnehmer.
„Teilnehmer“: ein Pfad für Elemente, die die Rollen von Aktionsausführenden in unserem Prozess bezeichnen; für sie verwenden wir dasselbe Modellierungselement Objekt – ein Objekt, aber wir werden ihm das Stereotyp „Akteur“ hinzufügen.
Der nächste Titel wird aufgerufen "Geschäftsregeln" und auf dieser Spur werden wir die Regeln für die Ausführung der Prozessschritte in Textform platzieren und dafür das Modellierungselement Note – eine Notiz – verwenden.
Wir werden hier anhalten, obwohl wir auch den Weg nutzen könnten "Werkzeug" um Informationen über den Grad der Prozessautomatisierung zu sammeln. Ein Pfad könnte auch nützlich sein „Positionen und Aufteilung der Teilnehmer“Damit können Rollen mit Positionen und Abteilungen von Prozessbeteiligten verknüpft werden.

Alles, was ich gerade beschrieben habe, ist ein Fragment ModellierungskonventionenDieser Teil der Vereinbarung betrifft die Regeln für die Organisation eines Diagramms und dementsprechend die Regeln für dessen Schreiben und Lesen.

"Rezept"

Betrachten wir nun die Möglichkeit, das System gezielt zu modellieren aus dem Aktivitätsdiagramm. Dies ist nur eine der Optionen, ich stelle fest, dass es natürlich nicht die einzige ist. Das Aktivitätsdiagramm wird uns im Hinblick auf seine Rolle beim Übergang von der Prozessmodellierung zum Entwurf eines automatisierten Systems interessieren. Dazu halten wir uns an die methodischen Empfehlungen – eine Art Rezept, das aus nur fünf Schritten besteht und die Entwicklung von nur drei Diagrammtypen vorsieht. Mithilfe dieses Rezepts können wir eine formalisierte Beschreibung des Prozesses erhalten, den wir automatisieren und Daten für den Systementwurf sammeln möchten. Und für Studierende, die am Anfang des UML-Studiums stehen, ist dies eine Art Lebensretter, der es ihnen nicht erlaubt, in der Vielfalt der visuellen Mittel und Techniken zu ertrinken, die in UML und modernen Modellierungswerkzeugen zu finden sind.

Hier ist tatsächlich das Rezept selbst, und folgen Sie dann den Diagrammen, die für unseren Themenbereich „Märchen“ erstellt wurden.

Stufe 1. Wir beschreiben den Prozess in Form eines Aktivitätsdiagramms. Bei einem Prozess mit mehr als 10 Schritten ist es sinnvoll, das Prinzip der Prozessschrittzerlegung anzuwenden, um die Lesbarkeit des Diagramms zu verbessern.

Stufe 2. Wählen Sie aus, was automatisiert werden kann (Die Schritte können z. B. in einem Diagramm hervorgehoben werden).

Stufe 3. Einem automatisierten Schritt muss eine oder mehrere Funktionen des Systems zugewiesen werden (Die Beziehung kann viele zu viele sein), zeichnen Sie ein Anwendungsfalldiagramm. Das sind die Funktionen unseres Systems.

Stufe 4. Beschreiben wir die interne Organisation des AS mithilfe eines Klassendiagramms - Klasse. Der Swimway „Eingabe- und Ausgabeobjekte (Dokumente)“ im Aktivitätsdiagramm ist die Grundlage für den Aufbau eines Objektmodells und eines Entitäts-Beziehungsmodells.

Stufe 5. Lassen Sie uns die Notizen zum Track „Geschäftsregeln“ analysierenSie stellen verschiedene Arten von Einschränkungen und Bedingungen bereit, die nach und nach in nichtfunktionale Anforderungen umgewandelt werden.
Der resultierende Satz von Diagrammen (Aktivität, Anwendungsfall, Klasse) liefert uns eine formalisierte Beschreibung in einer ziemlich strengen Notation, d. h. hat eine eindeutige Lesart. Jetzt können Sie technische Spezifikationen entwickeln, Lastenhefte klären usw.

Beginnen wir mit dem Modellieren.

Stufe 1. Beschreiben Sie den Prozess in Form eines Aktivitätsdiagramms

Ich möchte Sie daran erinnern, dass wir das Diagrammfeld mithilfe von „schwimmenden“ Bahnen strukturiert haben; jede Bahn enthält Elemente des gleichen Typs (Abbildung 2). Zusätzlich zu den oben beschriebenen Diagrammelementen werden wir weitere Elemente verwenden, die wir beschreiben.

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Entscheidung (Decision) bezeichnet den Verzweigungspunkt unseres Prozesses im Diagramm und das Zusammenführen von Threads (Merge) – den Punkt ihrer Wiedervereinigung. Übergangsbedingungen werden bei Übergängen in eckigen Klammern angegeben.

Zwischen zwei Synchronisierern (Fork) zeigen wir parallele Prozessverzweigungen.
Unser Prozess kann nur einen Anfang haben – einen Einstiegspunkt (Initial). Es kann jedoch mehrere Vervollständigungen (Final) geben, jedoch nicht für unser spezifisches Diagramm.

Es gibt eine ganze Reihe von Pfeilen; bei einer großen Anzahl von Elementen und Verbindungen können Sie zunächst die Phasen des Prozesses identifizieren und dann eine Zerlegung dieser Phasen durchführen. Aber der Übersichtlichkeit halber möchte ich unseren „Märchen“-Prozess komplett in einem Diagramm darstellen, wobei wir natürlich darauf achten müssen, dass die Pfeile „nicht zusammenkleben“, es aber möglich wäre, genau zu verfolgen, was zusammenhängt zu was.

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Abbildung 2. Aktivitätsdiagramm – eine allgemeine Ansicht des Prozesses

Weil In den poetischen Zeilen werden einige Details des Prozesses weggelassen, sie mussten wiederhergestellt werden, sie werden durch Elemente mit weißem Hintergrund dargestellt. Zu diesen Details gehören der Schritt „Übertragung/Empfang zur Speicherung und Verarbeitung“ sowie mehrere Eingabe- und Ausgabeartefakte. Es ist erwähnenswert, dass dieser Schritt den Prozess auch nicht vollständig offenbart, weil wir müssten den Übertragungsschritt und den Empfangsschritt getrennt bezeichnen und sogar einen separaten Schritt für Muscheln hinzufügen und auch denken, dass alle diese materiellen Werte zunächst irgendwo vorübergehend gespeichert werden sollten usw. usw.
Beachten wir auch, dass die Frage nach der Herkunft der Nüsse unbeantwortet bleibt: Wo kommen sie her und wie gelangen sie zum Eichhörnchen? Und diese Frage (sie ist in der Notiz in roter Schrift hervorgehoben – dem Notizelement) erfordert eine gesonderte Untersuchung! So arbeitet ein Analyst: Er sammelt Informationen Stück für Stück, trifft Annahmen und erhält „Okay“ oder „Nein“ von Fachexperten – sehr wichtige und einfach unersetzliche Personen in der Phase der Geschäftsmodellierung bei der Erstellung von Systemen.

Beachten Sie auch, dass der Prozessschritt P5 aus zwei Teilen besteht.

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Und wir werden jeden Teil zerlegen und genauer betrachten (Abbildung 3, Abbildung 4), weil Die in diesen Schritten durchgeführten Aktivitäten werden automatisiert.

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Abbildung 3. Aktivitätsdiagramm – Detaillierung (Teil 1)

Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Abbildung 4. Aktivitätsdiagramm – Detaillierung (Teil 2)

Stufe 2. Wählen Sie aus, was automatisiert werden kann

Die zu automatisierenden Schritte sind in den Diagrammen farblich hervorgehoben (siehe Abbildung 3, Abbildung 4).
Von der Prozessmodellierung zum automatisierten Systemdesign (Teil 1)

Alle werden von einem Prozessbeteiligten durchgeführt – dem Sachbearbeiter:

  • Fügt Informationen über das Gewicht der Mutter in die Abrechnung ein;
  • Trägt Informationen zur Übertragung der Nuss in die Abrechnung ein;
  • Zeichnet die Tatsache der Umwandlung einer Nuss in eine Schale und einen Kern auf;
  • Fügt Informationen über den Nusskern in die Anweisung ein;
  • Fügt Informationen über Nussschalen in die Liste ein.

Analyse der geleisteten Arbeit. Was weiter?

Wir haben also viel Vorarbeit geleistet: Wir haben Informationen über den Prozess gesammelt, den wir automatisieren werden; begann eine Einigung über die Modellierung zu erzielen (bisher nur im Hinblick auf die Verwendung des Aktivitätsdiagramms); führte eine Simulation des Prozesses durch und zerlegte sogar mehrere seiner Schritte; Wir haben die Prozessschritte identifiziert, die wir automatisieren werden. Wir sind nun bereit, mit den nächsten Schritten fortzufahren und mit der Gestaltung der Funktionalität und der internen Organisation des Systems zu beginnen.

Wie Sie wissen, ist Theorie ohne Praxis nichts. Sie sollten unbedingt versuchen, mit Ihren eigenen Händen zu „modellieren“, auch dies ist hilfreich für das Verständnis des vorgeschlagenen Ansatzes. Sie können beispielsweise in einer Modellierungsumgebung arbeiten Modellio [3]. Wir haben nur einen Teil der Schritte des gesamten Prozessdiagramms zerlegt (siehe Abbildung 2). Als praktische Aufgabe werden Sie möglicherweise aufgefordert, alle Diagramme in der Modelio-Umgebung zu wiederholen und eine Zerlegung des Schritts „Übertragung/Empfang zur Speicherung und Verarbeitung“ durchzuführen.
Wir denken noch nicht darüber nach, in bestimmten Modellierungsumgebungen zu arbeiten, aber dies könnte Gegenstand unabhängiger Artikel und Rezensionen werden.

Im zweiten Teil des Artikels analysieren wir die in den Stufen 3 bis 5 erforderlichen Modellierungs- und Designtechniken; wir verwenden UML-Anwendungsfall- und Klassendiagramme. Fortsetzung folgt.

Liste der Quellen

  1. Website "UML2.ru". Analysten-Community-Forum. Allgemeiner Abschnitt. Beispiele. Beispiele für Märchen in Form von UML-Diagrammen. [Elektronische Ressource] Zugriffsmodus: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx Systems-Website. [Elektronische Ressource] Zugriffsmodus: Internet: https://sparxsystems.com
  3. Modelio-Website. [Elektronische Ressource] Zugriffsmodus: Internet: https://www.modelio.org
  4. Großes enzyklopädisches Wörterbuch. Prozess (Interpretation). [Elektronische Ressource] Zugriffsmodus: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Website „Organisation eines effektiven Managements“. Blog. Überschrift „Geschäftsprozessmanagement“. Definition des Geschäftsprozesses. [Elektronische Ressource] Zugriffsmodus: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Zertifikat Nr. 18249 über die Registrierung und Hinterlegung eines Produkts als Ergebnis geistiger Tätigkeit. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Das Manuskript des Lehrmittels mit dem Titel „Modellierung des Fachgebiets mit Enterprise Architect“ // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Modellierung von Geschäftsprozessen. - M.: KURS, NITs INFRA-M, EBS Znanium.com. – 2017.

Source: habr.com

Kommentar hinzufügen