Τύποι συστημάτων

Για να κατανοήσουμε την ανάγκη αλλαγών στο λογισμικό χωρίζουμε τα αντίστοιχα συστήματα σε τρεις κατηγορίες, σύμφωνα με το μοντέλο S-P-E
S
Ένα πρόγραμμα τύπου S πρέπει να ικανοποιεί μια συγκεκριμένη και γνωστή από πριν απαίτηση (specification).
P
Ένα πρόγραμμα τύπου P απαιτείται να δίνει λύση σε ένα πραγματικό πρόβλημα (problem).
E
Ένα πρόγραμμα τύπου E (evolutionary) ελέγχεται με βάση το περιβάλλον μέσα στο οποίο εκτελείται και εξελίσσεται. Κριτήρια για την αποδοχή του προγράμματος είναι τα αποτελέσματα της εκτέλεσής του μέσα στο περιβάλλον αυτό.