Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

"Een dag in het leven van een eekhoorn" of van het modelleren van processen tot het ontwerpen van een geautomatiseerd systeem voor de boekhouding van materiële activa "Belka-1.0" (deel 1)

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)
Er werd een illustratie gebruikt voor “The Tale of Tsar Saltan” van A.S. Pushkin, uitgegeven door Children's Literature, Moskou, 1949, Leningrad, tekeningen van K. Kuznetsov

Wat heeft ‘eekhoorn’ ermee te maken?

Ik zal je meteen uitleggen wat de “eekhoorn” ermee te maken heeft. Ik ben op internet leuke projecten tegengekomen voor het leren van UML op basis van een onderwerp dat is ontleend aan sprookjes (bijvoorbeeld hier [1]), besloot ik ook een soortgelijk voorbeeld voor mijn leerlingen te maken, zodat ze om te beginnen slechts drie soorten diagrammen konden bestuderen: activiteitendiagram, use-case diagram en klassendiagram. Ik vertaal de namen van de diagrammen bewust niet in het Russisch om discussies over ‘vertaalproblemen’ te voorkomen. Ik zal later uitleggen waar het voor is. In dit voorbeeld gebruik ik het Enterprise Architect-framework van een Australisch bedrijf Sparx Systems [2] – een goed hulpmiddel voor een redelijke prijs. En als onderdeel van mijn trainingen gebruik ik Modelio [3], een goede gratis objectgeoriënteerde ontwerptool die UML2.0- en BPMN-standaarden ondersteunt, zonder onnodige toeters en bellen qua visuele mogelijkheden, maar ruim voldoende om de basis van de taal te leren.

We gaan de boekhoudkundige activiteit voor materiële activa, die bij deze processen ontstaat, automatiseren.

...
Een eiland in de zee ligt, (E1, E2)
Hagel op de eilandtribunes (E3, E1)
Met kerken met gouden koepels, (E4)
Met torens en tuinen; (E5, E6)
Spar groeit voor het paleis, (E7, E8)
En daaronder is een kristallen huis; (E9)
Daar woont de eekhoorn, tam, (A1)
Ja, wat een entertainer! (A1)
Eekhoorn zingt liedjes, (P1, A1)
Ja, hij knaagt aan alle noten, (P2)
En noten zijn niet eenvoudig, (C1)
Alle schelpen zijn goudkleurig, (C2)
Kernels pure smaragd; (C3)
Bedienden bewaken de eekhoorn, (P3, A2)
Dien haar als bedienden van verschillende soorten (P4)
En er werd een klerk toegewezen (A3)
Strikt verslag van notennieuws; (P5, C1)
Geeft haar leger eer; (P6, A4)
Er wordt een munt uit de schelpen gegoten, (P7, C2, C4)
Laat ze rond de wereld zweven; (P8)
Meisjes gooien smaragd (P9, A5, C3)
In pantry's, maar onder een korenmaat; (E10, E11)
...
(A.S. Poesjkin “Het verhaal van tsaar Saltan, van zijn glorieuze en machtige held Prins Guidon Saltanovich en de mooie prinses Zwaan”, het werk aan het sprookje begon vermoedelijk in 1822, het sprookje werd voor het eerst gepubliceerd door Poesjkin in de verzameling "Gedichten van A. Poesjkin" (deel III, 1832, pp. 130-181) – 10 jaar van concept tot publicatie trouwens!)

Iets over de codes die rechts van de regels worden geschreven. “A” (van “Actor”) betekent dat de regel informatie bevat over een deelnemer aan het proces. “C” (van “Klasse”) – informatie over klasseobjecten die worden verwerkt tijdens de uitvoering van processen. “E” (van “Environment”) – informatie over klasseobjecten die de omgeving karakteriseren voor het uitvoeren van processen. “P” (van “Proces”) – informatie over de processen zelf.

Overigens beweert de exacte definitie van een proces ook de oorzaak te zijn van methodologische geschillen, al was het maar vanwege het feit dat er verschillende processen zijn: zakelijk, productie, technologisch, enz. enzovoort. (je kunt bijvoorbeeld achterhalen hier [4] en hier [5]). Om controverse te voorkomen, laten we dat afspreken We zijn geïnteresseerd in het proces vanuit het oogpunt van de herhaalbaarheid ervan in de tijd en de noodzaak van automatisering, d.w.z. het overbrengen van de uitvoering van enig deel van de procesbewerkingen naar een geautomatiseerd systeem.

Opmerkingen over het gebruik van het activiteitendiagram

Laten we beginnen met het modelleren van ons proces en hiervoor het Activiteitendiagram gebruiken. Laat me eerst uitleggen hoe de bovenstaande codes in het model zullen worden gebruikt. Het is gemakkelijker uit te leggen met een grafisch voorbeeld, maar tegelijkertijd zullen we enkele (bijna alle elementen die we nodig hebben) van het activiteitendiagram analyseren.
Laten we het volgende fragment analyseren:

...
Eekhoorn zingt liedjes, (P1, A1)
Ja, hij knaagt aan alle noten, (P2)
En noten zijn niet eenvoudig, (C1)
Alle schelpen zijn goudkleurig, (C2)
Kernels pure smaragd; (C3)
...

We hebben twee processtappen P1 en P2, deelnemer A1, en objecten van drie verschillende klassen: een object van klasse C1 wordt ingevoerd in de stap, objecten van klassen C2 en C3 worden uitgevoerd als resultaat van de activiteit van deze stap P2 van onze proces. Voor het diagram gebruiken we de volgende modelleringselementen.

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Een fragment van ons proces kan ongeveer als volgt worden weergegeven (Figuur 1).

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Figuur 1. Fragment van het activiteitendiagram

Om de ruimte te organiseren en het activiteitendiagram te structureren, zullen we een niet-standaard benadering gebruiken, vanuit het gezichtspunt van het klassieke gebruik van UML-notatie. Maar daar zijn verschillende redenen voor. Ten eerste zullen we, net voordat we met het modelleren beginnen, de zogenaamde modelovereenkomst, waarin we alle kenmerken van het gebruik van de notatie vastleggen. Ten tweede werd deze aanpak herhaaldelijk met succes toegepast in de fase van bedrijfsmodellering in echte projecten om softwaresystemen te creëren; de resultaten werden door ons kleine team van auteurs vastgelegd in het overeenkomstige copyright-object [6], en werden ook gebruikt in een trainingshandleiding [7]. XNUMX]. Voor het activiteitendiagram definiëren we dat het diagramveld is gestructureerd met behulp van “zwembanen”. De tracknaam komt overeen met het type kaartelementen dat op die track wordt geplaatst.

"Invoer- en uitvoerartefacten": Dit spoor zal Objecten-elementen bevatten - objecten die worden gebruikt of het resultaat zijn van het uitvoeren van een bepaalde processtap.
"Processtappen": Hier plaatsen we Activiteitselementen: de acties van procesdeelnemers.
"Deelnemers": een pad voor elementen die de rollen van actievoerders in ons proces zullen aanduiden; voor hen zullen we hetzelfde modelleringselement Object gebruiken - een object, maar we zullen er het stereotype 'Actor' aan toevoegen.
Het volgende nummer wordt gebeld "Zakelijke regels" en op dit spoor zullen we in tekstvorm de regels voor het uitvoeren van de stappen van het proces plaatsen, en hiervoor zullen we het modelleringselement Opmerking gebruiken - een opmerking.
Hier stoppen we, al kunnen we het pad ook gebruiken "Hulpmiddelen" om informatie te verzamelen over het niveau van procesautomatisering. Een pad kan ook van pas komen "Posities en verdelingen van deelnemers"kan het gebruikt worden om rollen te koppelen aan posities en afdelingen van procesdeelnemers.

Alles wat ik zojuist heb beschreven is een fragment modelleringsconventies, dit deel van de overeenkomst betreft de regels voor het organiseren van één diagram en bijgevolg de regels voor het schrijven en lezen ervan.

"Recept"

Laten we nu eens kijken naar de mogelijkheid om het systeem specifiek te modelleren uit het activiteitendiagram. Dit is slechts een van de opties, ik merk op dat dit uiteraard niet de enige is. Het activiteitendiagram zal ons interesseren vanuit het oogpunt van zijn rol in de overgang van procesmodellering naar het ontwerp van een geautomatiseerd systeem. Om dit te doen, zullen we ons houden aan de methodologische aanbevelingen - een soort recept dat uit slechts vijf fasen bestaat en voorziet in de ontwikkeling van slechts drie soorten diagrammen. Door dit recept te gebruiken, kunnen we een geformaliseerde beschrijving krijgen van het proces dat we willen automatiseren en gegevens verzamelen voor systeemontwerp. En voor studenten die aan het begin staan ​​van het studeren van UML is dit een soort reddingsboei die hen niet zal laten verdrinken in de verscheidenheid aan visuele middelen en technieken die te vinden zijn in UML en moderne modelleringstools.

Hier is in feite het recept zelf, en volg dan de diagrammen die zijn gebouwd voor ons 'sprookjesachtige' onderwerpgebied.

Fase 1. We beschrijven het proces in de vorm van een activiteitendiagram. Voor een proces met meer dan 10 stappen is het zinvol om het principe van de decompositie van processtappen toe te passen om de leesbaarheid van het diagram te verbeteren.

Fase 2. Selecteer wat kan worden geautomatiseerd (de stappen kunnen bijvoorbeeld in een diagram worden gemarkeerd).

Fase 3. Aan de geautomatiseerde stap moet een functie of functies van het systeem worden toegewezen (de relatie kan veel-op-veel zijn), teken een Use-case-diagram. Dit zijn de functies van ons systeem.

Fase 4. Laten we de interne organisatie van het AS beschrijven met behulp van een klassendiagram - Klas. De zwemway “Invoer- en uitvoerobjecten (documenten)” in het activiteitendiagram vormt de basis voor het bouwen van een objectmodel en een entiteitsrelatiemodel.

Fase 5. Laten we de notities op het spoor "Business Rules" analyserenbieden ze verschillende soorten beperkingen en voorwaarden, die geleidelijk worden omgezet in niet-functionele eisen.
De resulterende reeks diagrammen (Activiteit, Use-case, Klasse) geeft ons een geformaliseerde beschrijving in een vrij strikte notatie, d.w.z. heeft een eenduidige lezing. Nu kunt u technische specificaties ontwikkelen, vereistenspecificaties verduidelijken, enz.

Laten we beginnen met modelleren.

Fase 1. Beschrijf het proces in de vorm van een activiteitendiagram

Ik wil u eraan herinneren dat we het diagramveld hebben gestructureerd met behulp van ‘zwembanen’; elke baan bevat elementen van hetzelfde type (Figuur 2). Naast de hierboven beschreven diagramelementen zullen we aanvullende elementen gebruiken, laten we ze beschrijven.

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Beslissing (Decision) geeft het vertakkingspunt van ons proces in het diagram aan, en het samenvoegen van threads (Merge) – het punt van hun hereniging. Overgangsvoorwaarden worden bij overgangen tussen vierkante haakjes geschreven.

Tussen twee synchronisatoren (Fork) laten we parallelle procestakken zien.
Ons proces kan maar één begin hebben: één ingangspunt (initieel). Maar er kunnen verschillende voltooiingen zijn (definitief), maar niet voor ons specifieke diagram.

Er zijn nogal wat pijlen; met een groot aantal elementen en verbindingen kun je eerst de fasen van het proces identificeren en vervolgens een ontleding van deze fasen uitvoeren. Maar voor de duidelijkheid zou ik ons ​​“sprookjesachtige” proces volledig in één diagram willen weergeven, terwijl we er natuurlijk voor moeten zorgen dat de pijlen “niet aan elkaar plakken”, het zou mogelijk zijn om nauwkeurig te volgen wat er met elkaar verbonden is naar wat.

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Figuur 2. Activiteitendiagram - algemeen beeld van het proces

Omdat in de poëtische lijnen zijn enkele details van het proces weggelaten, ze moesten worden hersteld, ze worden weergegeven door elementen met een witte achtergrond. Deze details omvatten de stap Overdracht/ontvangst voor opslag en verwerking en verschillende invoer- en uitvoerartefacten. Het is vermeldenswaard dat deze stap het proces ook niet volledig onthult, omdat we zouden de zendstap en de ontvangststap afzonderlijk moeten aanduiden, en zelfs een aparte stap voor shells moeten toevoegen, en ook moeten bedenken dat al deze materiële waarden eerst ergens tijdelijk moeten worden opgeslagen, enz. enzovoort.
Laten we ook opmerken dat de vraag naar de oorsprong van noten onbeantwoord blijft: waar komen ze vandaan en hoe komen ze bij de eekhoorn? En deze vraag (deze is in rood gemarkeerd in de notitie - het Notitie-element) vereist een aparte studie! Dit is hoe een analist werkt: informatie beetje bij beetje verzamelen, aannames doen en ‘oké’ of ‘nee-oké’ krijgen van deskundigen op dit gebied – zeer belangrijke en simpelweg onvervangbare mensen in de fase van bedrijfsmodellering bij het creëren van systemen.

Merk ook op dat processtap P5 uit twee delen bestaat.

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

En we zullen elk onderdeel ontleden en in meer detail bekijken (Figuur 3, Figuur 4), omdat de activiteiten die binnen deze specifieke stappen worden uitgevoerd, worden geautomatiseerd.

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Figuur 3. Activiteitendiagram - detaillering (deel 1)

Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Figuur 4. Activiteitendiagram - detaillering (deel 2)

Fase 2. Selecteer wat kan worden geautomatiseerd

De te automatiseren stappen zijn in kleur gemarkeerd op de diagrammen (zie Figuur 3, Figuur 4).
Van procesmodellering tot geautomatiseerd systeemontwerp (Deel 1)

Ze worden allemaal uitgevoerd door één deelnemer aan het proces: de griffier:

  • Voert informatie over het gewicht van de noot in de verklaring in;
  • Voert informatie over de overdracht van de noot in de verklaring in;
  • Registreert het feit van de transformatie van een noot in een schaal en een pit;
  • Voert informatie over de notenpit in de instructie in;
  • Voert informatie over notendoppen in de lijst in.

Analyse van het uitgevoerde werk. Wat is het volgende?

We hebben dus veel voorbereidend werk gedaan: we hebben informatie verzameld over het proces dat we gaan automatiseren; begon overeenstemming te bereiken over modellering (tot nu toe alleen in termen van het gebruik van het activiteitendiagram); voerde een simulatie uit van het proces en ontleedde zelfs verschillende stappen; We hebben de processtappen geïdentificeerd die we gaan automatiseren. We zijn nu klaar om verder te gaan met de volgende stappen en te beginnen met het ontwerpen van de functionaliteit en de interne organisatie van het systeem.

Zoals je weet is theorie zonder praktijk niets. Je moet zeker met je eigen handen "modelleren" proberen, dit is ook handig om de voorgestelde aanpak te begrijpen. Je kunt bijvoorbeeld in een modelleeromgeving werken Modelio [3]. We hebben slechts een deel van de stappen van het totale procesdiagram ontleed (zie figuur 2). Als praktische taak wordt u mogelijk gevraagd om alle diagrammen in de Modelio-omgeving te herhalen en een decompositie uit te voeren van de stap "Overdracht/ontvangst voor opslag en verwerking".
We overwegen nog niet om in specifieke modelleringsomgevingen te gaan werken, maar dit kan het onderwerp worden van onafhankelijke artikelen en recensies.

In het tweede deel van het artikel analyseren we de modellerings- en ontwerptechnieken die nodig zijn in fase 3-5; we zullen UML Use-case- en Class-diagrammen gebruiken. Wordt vervolgd.

Lijst met bronnen

  1. Website "UML2.ru". Analisten Community Forum. Algemeen gedeelte. Voorbeelden. Voorbeelden van sprookjes in de vorm van UML-diagrammen. [Elektronische bron] Toegangsmodus: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx Systems-website. [Elektronische bron] Toegangsmodus: Internet: https://sparxsystems.com
  3. Modelio-website. [Elektronische bron] Toegangsmodus: Internet: https://www.modelio.org
  4. Groot encyclopedisch woordenboek. Proces (interpretatie). [Elektronische bron] Toegangsmodus: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Website "Organisatie van effectief bestuur". bloggen. Kopje "Beheer van bedrijfsprocessen". Definitie van bedrijfsproces. [Elektronische bron] Toegangsmodus: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Certificaat nr. 18249 over registratie en deponering van een product van het resultaat van intellectuele activiteit. Alfimov RV, Zolotukhina EB, Krasnikova SA Het manuscript van het leerhulpmiddel getiteld "Het onderwerpgebied modelleren met behulp van Enterprise Architect" // 2011.
  7. Zolotukhina EB, Vishnya A.S., Krasnikova S.A. Modelleren van bedrijfsprocessen. - M.: KURS, NIT's INFRA-M, EBS Znanium.com. — 2017.

Bron: www.habr.com

Voeg een reactie