Σχεδίαση

Η σχεδίαση ενός συστήματος ξεκινά από το αρχιτεκτονικό σχέδιο το οποίο παριστάνει τη μακροσκοπική δομή του λογισμικού. Σε επόμενο στάδιο ακολουθεί η λεπτομερής σχεδίαση η οποία παριστάνει τη μικροσκοπική δομή του λογισμικού. Ορισμένες κατηγορίες σχεδίασης που χρησιμοποιούνται ευρέως είναι οι παρακάτω: Η σχεδίαση βασίζεται πάνω στα αποτελέσματα της ανάλυσης των απαιτήσεων του συστήματος.

Για την αποτύπωση του αρχιτεκτονικού σχεδίου της δομής του προγράμματος χρησιμοποιείται συχνά το διάγραμμα δομής προγράμματος (program structure chart). Στο διάγραμμα αυτό κάθε δομική μονάδα παριστάνεται από έναν κόμβο και κάθε κλήση από μια δομική μονάδα σε άλλη από ένα βέλος. Παράλληλα με τα βέλη της κλήσης παριστάνεται με πρόσθετα βέλη τα οποία περιγράφουν την είσοδο ή το αποτέλεσμα μιας δομικής μονάδας και η ροή των δεδομένων μεταξύ δομικών μονάδων. Το παρακάτω σχήμα αποτελεί το διάγραμμα δομής προγράμματος για έναν απλό υπολογιστή μιγαδικών αριθμών.

Για την αποτύπωση του λεπτομερούς σχεδίου του λογισμικού χρησιμοποιείται ο ψευδοκώδικας (pseudocode) καθώς και τα διαγράμματα ροής (flow charts). Ο ψευδοκώδικας αποτελείται από εντολές ελέγχου της ροής της εκτέλεσης αντίστοιχες με αυτές των γλωσσών προγραμματισμού (if, while, do). Η περιγραφές όμως των συνθηκών και των εντολών δίνονται αδρά, σε φυσική γλώσσα, έτσι ώστε να είναι πιο περιεκτικές και ευνόητες από τις αντίστοιχες εντολές της γλώσσας προγραμματισμού.

Παράδειγμα ψευδοκώδικα ελέγχου κωδικού (PIN) σε μηχάνημα ATM:

do
	Display message asking the user for PIN
	Read user PIN
	if incorrect PIN
		Display error message
while incorrect PIN