I UML (Unified Modeling Language) är komponenter modulära byggstenar i ett system. De representerar en fristående enhet med ett definierat gränssnitt och intern implementering dold från utsidan. Medan den * visuella representationen * för en komponent är en enkel rektangel med specifik notation, är förståelse av dess * betydelse * mer nyanserad. Här är en uppdelning av de viktigaste aspekterna:
1. Visuell representation:
* rektangel: Den grundläggande formen som representerar komponenten.
* Komponentnamn: Namnet på komponenten placeras i rektangeln.
* komponentikon: En liten ikon (ofta en rektangulär symbol med mindre rektanglar inuti) ingår ofta i den större rektangeln för att visuellt skilja den som en komponent. Denna ikon är inte strikt obligatorisk men rekommenderas starkt.
* gränssnittsspecifikationer (valfritt): Portar eller gränssnittssymboler (små cirklar eller lollipopformer) kan läggas till för att representera och krävs gränssnitt. Dessa visar hur komponenten interagerar med andra delar av systemet.
2. Konceptuell betydelse:
* inkapsling: En komponent döljer sina interna funktioner (implementeringsdetaljer). Endast dess gränssnitt är synligt för omvärlden.
* Modularitet: Komponenter främjar modulär design, vilket gör system lättare att förstå, underhålla och återanvända. De möjliggör oberoende utveckling och distribution.
* återanvändbarhet: Komponenter kan återanvändas i flera system eller sammanhang.
* ersättbarhet: En komponent kan ersättas med en annan som erbjuder samma gränssnitt utan att påverka andra delar av systemet (förutsatt att gränssnittsavtalet respekteras).
* Distribution: Komponenter kartlägger ofta till fysiska distributionsenheter, som körbara filer, DLL:er eller burkar.
3. Viktiga attribut och relationer:
* gränssnitt: Definieras av tillhandahållna och nödvändiga gränssnitt. Tillhandahållna gränssnitt exponerar tjänster, medan nödvändiga gränssnitt anger beroenden av andra komponenter.
* Beroenden: UML -diagram visar beroenden mellan komponenter, vilket indikerar att en komponent förlitar sig på en annan.
* Förverkligande: En komponent kan förverkliga ett gränssnitt, vilket innebär att det implementerar de operationer som anges i det gränssnittet.
4. Skillnad från andra UML -element:
Det är avgörande att skilja komponenter från andra element:
* klasser: Komponenter är mer grovkorniga än klasser. En komponent kan * innehålla * flera klasser.
* paket: Paket är organisatoriska enheter för klasser och andra modellelement; Komponenter är mer relaterade till fysisk distribution och runtime -beteende.
Sammanfattningsvis: UML-komponenter är en hög nivå representation av modulenheter i ett system. De fokuserar på den externa vyn av modulen, dess interaktion med andra moduler och dess distributionsaspekter. De abstraherar de interna implementeringsdetaljerna och förenklar systemets övergripande arkitektur.