Koostööskeem on UML (Unified Modeling Language) interaktsioonidiagramm, mis tõstab esile objektide struktuurse korralduse objektorienteeritud programmeerimise (OOP) arvutisüsteemi disainis. Koostööskeem kujutab objektide omavahelisi suhteid. Nende diagrammide loomine võib nõuda tehnilisi oskusi ja koolitust. UML-i standardeid kontrollib keskne juhtorganisatsioon ja need arenevad edasi.
OOP-is on objekt kapseldatud olem, mis koosneb atribuutidest ja käitumisest ning termin objekt viitab sageli keerukate andmete tüübile. Näiteks võib objekt koosneda laoartikli andmetest ja erinevatest funktsioonidest nende andmete toomiseks ja ülevaatamiseks. Andmete, atribuutide ja käitumise kui objektide käsitlemine võib modelleerimis- ja arendusprotsessi lihtsustada.
Objekti element on koostöödiagrammi võtmeelement. Objektid võivad üksteisega suhelda. Näiteks võib ostutellimuse objekt suhelda laoobjektiga, et modelleerida ostutellimusel olevate üksuste vastuvõtmise mõju laoseisule. Diagramm võib näidata iga objekti klassi rolli, mida võib kirjeldada ka kui selle objekti kohustusi.
Teine element on seose või assotsiatsiooni element. See element kujutab linki, mis ühendab seotud objekte ja näitab, kuidas seos sel juhul käitub. Seda saab kasutada ka kardinaalsuse näitamiseks. Kardinaalsus on nõutav suhe kahe objekti andmete vahel, näiteks suhe üks ühele või üks mitmele.
Sõnumid on koostööskeemide kolmas element. Neid kujutatakse nooltena, mis osutavad algobjektilt lõppobjektile. Sõnumitele võib lisada nummerdamise, et näidata objektide interaktsioonide ajajada.
Koostööskeem sarnaneb jadadiagrammiga, kuna mõlemad näitavad, kuidas objektid üksteisega dünaamilistes suhetes või ajapõhiselt suhtlevad. Mõned UML-i modelleerimisprogrammid võivad nende sarnasuste tõttu teisendada jadaskeeme koostöödiagrammideks ja vastupidi. Dünaamilised seosed on järjestusdiagrammide abil hõlpsamini mõistetavad, samas kui koostöödiagrammid kujutavad objektide vahelisi seoseid tõhusamalt.
Koostööskeemide loomine nõuab tehnilisi oskusi. Sageli antakse ülesanne arvutisüsteemide analüütikule. Mudeleid loovad analüütikud kasutavad juhtumiskeeme, klassiskeeme ja järjestusskeeme, et koguda diagrammide koostamiseks vajaliku süsteemi kohta teavet. Lisaks luuakse mudelid tavaliselt spetsiaalse tarkvara abil, mille kasutamiseks võib vaja minna väljaõpet.
UML-i standardid töötab välja objektihaldusrühm. Standardid arenevad edasi ja selle tulemusena võidakse diagrammide modelleerimise tavasid muuta. Näiteks kasutavad uuemad UML-i tähistused suhtlusskeemi koostööskeemi lihtsustatud versioonina.