Software design is the process by which an agent creates a specification of a software artifact, intended to accomplish goals, using a set of primitive components and subject to constraints.
Softwaredesign er processen hvor en agent skaber en specifikation for en softwareartifakt, hvis intention er at opnå et mål, ved brug af primitive komponenter og underlagt restriktioner.