Një grup rregullash dhe mjetesh për ndërtimin e aplikacioneve softuerike të cilat specifikojnë se si duhet të ndërveprojnë komponentët e softuerit.