softwareonderdelen
Softwareonderdelen zijn zelfstandige eenheden binnen een softwarepakket die met elkaar samenwerken om een groter systeem te vormen. Elk onderdeel encapsuleert data en gedrag en exposeert functionaliteit via duidelijke interfaces. Veelvoorkomende typen zijn modules, bibliotheken (libraries), pakketten, services en plug-ins. Modules en libraries worden vaak binnen dezelfde applicatie ontwikkeld en geleverd, terwijl services en plug-ins mogelijk onafhankelijk kunnen bestaan of worden geladen op runtime.
Belangrijke eigenschappen zijn encapsulatie, loskoppeling en hoge samenhang. Interfaces en API’s definiëren wat een onderdeel beschikbaar
Architectuur- en ontwerpprincipes bevorderen een modulaire opbouw. De afhankelijkheden tussen onderdelen worden beperkt en expliciet gehouden.
Voordelen van een goede componentbenadering zijn onder meer verbeterde onderhoudbaarheid, schaalbaarheid, testbaarheid en parallel ontwikkeling. Uitdagingen
Praktijken: stel stabiele interfaces vast, documenteer contracten, gebruik automatische tests en continuous integration, en beheer afhankelijkheden