En prosjektbeskrivelse vil innholde følgende: o System skisse (konseptuelt diagram) o Brukertilfelle (Use-Case) på overordnet nivå o Uprioritert liste med funksjonelle krav Det er mange måter å lags systemskisser på, men en av dem handler om å lage en skisse over delsystemer som henger sammen i en helhet. En kan lage et rikt bilde med aktører og artifakt som illustrerer forskjellige sider av et system, eller kun systemet og de deler som samarbeider. UML (Unified Model Language) har 9 diagramtyper som også kan være en hjelp. Brukertilfeller er en del av UML. Guiden for å lage brukertilfeller finner en her: Litt om UML finnes her: Funksjonelle krav handler om krav som lar seg implementere til en kjørbar enhet på en datamaskin. Ikke funksjonelle krav handler om alt nannet som f.eks. opplæring, krav til oppetid, og liknende uforutsigvare lite målbare forhold. Et eksempel på funksjonelt krav kan være: - Brukeren skal velge språk under installasjon av programmet. Et eksempel på ikke-funksjonelt krav kan være: - Systemet skal ha en oppetid på 99.3% - Brukeren skal kunne UML for å jobbe sammen med utviklerne Skillet mellom funksjonelle, og ikke-funksjonelle krav hjelper oss med å skille mellom hva en kan bry utviklere med, og hva en kan overlate til andre som befatter seg med oppgaver som ikke kan løses av bestemte dataprogram programmert av bestemte programmerere. Med andre ord,  og rimelig forenklet: utviklere befatter seg med funksjonelle krav, resten får andre ta seg av. Kilde: Knut Yrvin inspirert av MMO-kurs i objektorientert modellering 1997 på Institutt for informatikk i Oslo.