Structured English

Structured English is the use of the English language with the syntax of structured programming to communicate the design of a computer program to non-technical users by breaking it down into logical steps using straightforward English words. Structured English gives aims to get the benefits of both the programming logic and natural language: program logic helps to attain precision, whilst natural language helps with the familiarity of the spoken word.

It is the basis of some programming languages such as SQL (Structured Query Language) "for use by people who have need for interaction with a large database but who are not trained programmers".

Elements

Advanced English Structure is a limited-form "pseudocode" and consists of the following elements:

  1. Operation statements written as English phrases executed from the top down
  2. Conditional blocks indicated by keywords such as IF, THEN, and ELSE
  3. Repetition blocks indicated by keywords such as DO, WHILE, and UNTIL

The following guidelines are used when writing Structured English:

  1. All logic should be expressed in operational, conditional, and repetition blocks
  2. Statements should be clear and unambiguous
  3. Logical blocks should be indented to show relationship and hierarchy
  4. Use one line per logical element, or indent the continuation line
  5. Keywords should be capitalized
  6. Group blocks of statements together, with a capitalized name that describes their function and end with an EXIT.
  7. Underline words or phrases defined in a data dictionary.
  8. Mark comment lines with an asterisk

Example of Structured English

APPROVE LOAN

IF customer has a Bank Account THEN
   IF Customer has no dues from previous account THEN
      Allow loan facility
   ELSE
      IF Management Approval is obtained THEN
         Allow loan facility
      ELSE
        Reject
      ENDIF
   ENDIF
ELSE
   Reject
ENDIF
EXIT

Criticism

Though useful for planning programs, modules and routines, or describing algorithms it is less useful when numerous decisions need to be made.

Other specification tools

System processes at a lower level involve lot of computations and require more precision and clarity. This can be achieved with tools such as decision trees or decision tables.

See also

References

Uses material from the Wikipedia article Structured English, released under the CC BY-SA 4.0 license.