Ανάλυση

Για την κατανόηση, τον προσδιορισμό και την έκφραση των απαιτήσεων από το λογισμικό είναι απαραίτητο ένα ιδεατό μοντέλο (conceptual model) των διεργασιών του συστήματος στο οποίο θα λειτουργήσει το λογισμικό. Τα μοντέλα αυτά χρησιμοποιούν τις παρακάτω τεχνικές παράστασης:
  1. Ροή δεδομένων (data flow)
  2. Μηχανή πεπερασμένων καταστάσεων (finite state machine)
  3. επικοινωνούσες ταυτόχρονες διεργασίες (communicating concurrent processes)
  4. Μοντέλο οντοτήτων σχέσεων (entity relationship models)
  5. Εξομοίωση (simulation)
  6. Λειτουργική σύνθεση (functional composition)