Guide til UML-diagrammer og databasemodellering
Hvorfor UML?
UML kom først på banen tilbage i 1990'erne takket være tre softwareingeniører – Raddy Booch, Ivar Jacobson og James Rumbaugh – fordi de ønskede at udvikle en mindre kaotisk måde at repræsentere stadig mere kompleks softwareudvikling på, samtidig med at de adskilte metodologi fra proces. I dag er UML stadig standard-tegnsystemet for udviklere såvel som projektledere, virksomhedsejere, tech-iværksættere og fagfolk på tværs af brancher.
Hvad er fordelene ved UML?
- Forenkler kompleksiteten
- Holder kommunikationslinjer åbne
- Automatiserer produktionen af software og processer
- Hjælper med at løse vedvarende arkitektoniske problemer
- Øger kvaliteten af arbejdet
- Reducerer omkostninger og markedslancering
Typer af UML-diagrammer
Fra kunder og projektledere til tekniske forfattere, designere, analytikere, kodere og kvalitetskontrol, testere bruger hver rolle et bestemt diagram, der passer til deres behov. Det betyder, at hvert layout kræver forskelligt fokus og detaljeringsniveau. Målet er, at UML visuelt udtrykker diagrammer, der er nemme at forstå for alle.
Strukturelle diagrammer
Adfærdsdiagrammer
Lad os se nærmere på de mange forskellige typer UML-diagrammer, der falder inden for hver kategori:
1. Strukturelle UML-diagrammer
Klassediagram. Dette diagram, der er den mest almindelige type i softwareudvikling, bruges til at afbilde et systems logiske og fysiske design og viser dets klasser. Det ligner et rutediagram, fordi klasserne er repræsenteret med felter. Dette diagram indeholder en visualisering af de forskellige klasser, og hvordan de er indbyrdes forbundne, og hver klasse har tre rum:
- Øverste sektion: klassenavn
- Midterste sektion: klasseattributter
- Nederste sektion: klassemetoder eller -handlinger
Eksempel på diagram over UML-klassegrænseflade. Skabelonen kan downloades.
Objektdiagram. Dette diagram bruges ofte til at dobbelttjekke et klassediagram for nøjagtighed. Med andre ord, vil det fungere i praksis? Den viser et systems objekter og deres relationer og giver en bedre visning af potentielle designfejl, der skal rettes.
komponentdiagram. Det kaldes også et komponentrutediagram og viser logiske grupperinger af elementer og deres relationer. Det giver med andre ord en mere forenklet visning af et komplekst system ved at opdele det i mindre komponenter. Hver af delene vises ved hjælp af et rektangulært felt med dets navn skrevet i. Forbindelser definerer relationen/afhængigheden mellem de forskellige komponenter.
Sammensat strukturdiagram. Det bruges sjældent af nogen uden for softwareudviklingsområdet. Hvorfor? Det ligner et klassediagram, men går et spadestik dybere og beskriver den interne struktur i flere klasser og viser samspillet mellem dem. Medmindre du er udvikler, er en visning på øverste niveau sandsynligvis nok oplysninger.
Udrulningsdiagram. Dette diagram viser hardwarekomponenter (noder) og softwarekomponenter (artefakter) og deres relationer. Det giver en visuel repræsentation af præcis, hvor hver softwarekomponent udrulles.
Kickstart din virksomhed med et lynkursus i Microsoft 365
Pakkediagram. Dette bruges til at afbilde afhængighederne mellem de pakker, der udgør en model. Det primære mål er at vise relationen mellem de forskellige store komponenter, der udgør et komplekst system.
Profildiagrammer. Dette er mindre som et diagram og mere som et sprog. Et profildiagram hjælper med at oprette nye egenskaber og semantik for UML-diagrammer ved at definere brugerdefinerede stereotyper, mærkede værdier og begrænsninger. Med disse profiler kan du tilpasse en UML-metamodel til forskellige platforme (f.eks. Java Platform, Enterprise Edition (Java EE) eller Microsoft .NET Framework) og domæner (f.eks. modellering af forretningsprocesser, tjenesteorienteret arkitektur, medicinske programmer og meget mere).
2. UML-diagrammer med funktionsmåde:
Eksempel på grundlæggende UML-use-case-diagram. Skabelonen kan downloades.
use case-diagram. Dette beskriver, hvad et system gør, men ikke hvordan det gør. En use case er et sæt hændelser, der opstår, når en “agent” bruger et system til at fuldføre en proces. En agent defineres som alle eller noget, der interagerer med systemet (person, organisation eller et program) uden for systemet. Så et use case-diagram beskriver visuelt dette sæt sekvenser og repræsenterer systemets funktionskrav.
oversigtsdiagram over interaktion. Dette diagram er ofte komplekst og ligner aktivitetsdiagrammet, da begge viser en trinvis sekvens af aktiviteter. Men et oversigtsdiagram over interaktion er et aktivitetsdiagram, der består af forskellige interaktionsdiagrammer. De bruger de samme anmærkninger som et aktivitetsdiagram (indledende, endelige, beslutning, fletning, kopiér og sammenføjningsnoder) med tilføjelse af elementer som f.eks. interaktion, interaktionsbrug, tidsbegrænsning og varighedsbegrænsning.
Tidsdiagram. Når timing er i centrum, bruges dette UML-diagram. Det er også kendt som et sekvens- eller hændelsesdiagram og viser ikke, hvordan objekter interagerer eller ændrer hinanden. Funktionelt viser det, hvordan objekter og agenter fungerer langs en tidslinje. Fokus her er på, hvor lang tid begivenhederne tager, og de ændringer, der sker afhængigt af varighedsbegrænsningerne. De vigtigste dele af et tidsdiagram omfatter:
- Livslinje: individuel deltager
- Tidslinje for tilstand: forskellige tilstande, som livslinjen går igennem inden for en pipeline
- Varighedsbegrænsning: Tid, der kræves for at en begrænsning kan opfyldes
- Tidsbegrænsning: et tidspunkt, hvor noget skal opfyldes af deltageren
- Destruktionshændelse: hvor et objekts livslinje slutter. Der vises ingen anden forekomst efter destruktionsforekomsten på en livslinje.
Tilstandsmaskinediagram. Dette diagram kaldes også et tilstandsdiagram, når et objekts funktionsmåde er kompleks, og detaljer er af afgørende betydning. Det hjælper med at beskrive funktionsmåden for ét objekt (eller nogle gange en operator), og hvordan det ændres baseret på interne og eksterne hændelser.
Sekvensdiagram. Dette visuelt interessante diagram er populært ud over designcommunity'et og er godt til at vise alle typer forretningsprocesser. Det viser blot strukturen i et system, der viser rækkefølgen af meddelelser og interaktioner mellem agenter og objekter kronologisk. Sekvensdiagrammer viser enkel gentagelse og forgrening. Det er til fordel for multiopgave.
Kommunikationsdiagram. Et kommunikations- eller samarbejdsdiagram ligner et sekvensdiagram. Det fremhæver dog kommunikationen mellem objekter. Den viser organiseringen af de objekter, der deltager i en interaktion, og indeholder mere kompleks gentagelse og forgrening.
Databasemodeller
UML er også blevet mere og mere populær som notation til modellering af databaser. Disse modeller er et fantastisk visuelt værktøj til brainstorming, frihåndsdiagrammer og samarbejde om idéer.
Selvom UML ikke har specifikationer for datamodellering, kan det være et nyttigt værktøj til oprettelse af diagrammer, især da data fra databaser kan bruges i objektorienteret programmering.
Lad os se nærmere på forskellige typer databasemodeller, du kan oprette:
- Hierarkisk databasemodel. Denne model er en gammel kending, dens data er organiseret i en trælignende struktur. Træet består af flere grupper kaldet segmenter. Den bruger en en til mange-relation. Dataadgangen er også forudsigelig.
- Netværksmodel. Denne model har form som et diagram, hvor relationstyper er buer, og objekttyper er noder. I modsætning til andre databasemodeller er netværksmodellens skema ikke begrænset til som et gitter eller hierarki.
- Objektorienteret databasemodel. Denne model bruger en samling objekter eller softwareelementer, der kan genbruges, med tilknyttede funktioner og metoder. En multimediedatabase kan f.eks. have billeder, der ikke kan gemmes i en relationsdatabase. Eller en database med hypertekst gør det muligt at oprette en kæde til andre objekter.
- Relationel model. Her er data struktureret ved hjælp af relationer eller gitterlignende matematiske strukturer, der har kolonner og rækker. Det er grundlæggende en tabel.
- Objektrelationsmodellen. Som navnet antyder, er denne model en kombination af de to nævnte ovenfor. Den understøtter objekter, klasser, nedarvning og andre objektorienterede elementer, men understøtter også datatyper, tabelstrukturer og meget mere–som i en relationsdatamodel.
- Enhedsrelations-model. Den består af enhedstyper (personer, steder eller ting). Den viser relationer, der kan findes mellem dem. Ved at definere enhederne, deres attributter og vise relationerne mellem dem illustrerer et ER-diagram databasers logiske struktur.
- Dokumentmodel. Den er udviklet til lagring og administration af dokumenter eller semistrukturerede data i stedet for atomiske data. Den har en træstruktur, hvor hver node er et objekt, der repræsenterer en del af dokumentet.
- Enhedsattribut værdimodel. EAV eller åbne skemamodeller, registreres data som tre kolonner:
- Enheden (hvad der beskrives)
- Attributten eller parameteren (f.eks. navn, beskrivelse, datatype)
- Værdien af attributten
- Stjerneskema. Dette er den simpleste version af en dimensionsmodel, hvor data er arrangeret i dimensioner og fakta. Det bruges i business intelligence og data warehousing, da det er velegnet til at forespørge på store datasæt.
Forenkling med software
Uanset om du opretter databasemodeller eller UML-diagrammer, forenkler og forbedrer brugen af et softwareværktøj processen. Sørg for at vælge en, der giver dig mulighed for at:
- Opret professionelle diagrammer med færdige skabeloner og tusindvis af figurer i et indholdsøkosystem, der opfylder industristandarder som UML 2.5, men også BPMN 2.0 og IEEE.
- Gør diagrammer mere levende med dataoverlejring, ikoner, farver og grafik til at gøre dataene nemmere at fordøje, herunder visualisering af data i Exceli ét trin.
- Samarbejd med andre ved hjælp af samtidig redigering, kommentering og anmærkning.
- Formidl én side af historien, og få adgang til diagrammer fra næsten hvor som helst via en browser eller enhedsprogrammer.
I softwareudvikling og ikke-softwaresystemer i mange brancher kan brugen af visuelle UML-diagrammer spille en afgørende rolle for succesen med at opbygge adfærdsprocesser og -strukturer. Få mere at vide om oprettelse af UML-diagrammer med software med denne trinvise vejledning.
Marin er en del af marketingteamet hos Microsoft. Han er begejstret for at se, hvordan iværksættere bedre kan starte, styre og udvikle deres virksomheder.
Følg Microsoft 365