Structured English is the use of the
English language with the
syntax
In linguistics, syntax () is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure ( constituency) ...
of
structured programming
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection ( if/then/else) and repetition ( ...
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
In computer science, pseudocode is a plain language description of the steps in an algorithm or another system. Pseudocode often uses structural conventions of a normal programming language, but is intended for human reading rather than machine re ...
" and consists of the following elements:
#Operation statements written as English phrases executed from the top down
#Conditional blocks indicated by keywords such as IF, THEN, and ELSE
#Repetition blocks indicated by keywords such as DO, WHILE, and UNTIL
The following guidelines are used when writing Structured English:
#All logic should be expressed in operational, conditional, and repetition blocks
#Statements should be clear and unambiguous
#Logical blocks should be indented to show relationship and hierarchy
#Use one line per logical element, or indent the continuation line
#Keywords should be capitalized
#Group blocks of statements together, with a capitalized name that describes their function and end with an EXIT.
#Underline words or phrases defined in a data dictionary '
pronunciation definition and meaning.''
#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.
The Information Systems: Analysis and Design, Meyzin Leonid, Holon Institute of Technology, retrieved 23 April 2014
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 tree
A decision tree is a decision support tool that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm that only contains condit ...
s or decision table
Decision tables are a concise visual representation for specifying which actions to perform depending on given conditions. They are algorithms whose output is a set of actions. The information expressed in decision tables could also be represente ...
s.
See also
* Natural language programming
* Self-documenting code
*Structured programming
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection ( if/then/else) and repetition ( ...
*Pseudocode
In computer science, pseudocode is a plain language description of the steps in an algorithm or another system. Pseudocode often uses structural conventions of a normal programming language, but is intended for human reading rather than machine re ...
*Decision tree
A decision tree is a decision support tool that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm that only contains condit ...
*Decision table
Decision tables are a concise visual representation for specifying which actions to perform depending on given conditions. They are algorithms whose output is a set of actions. The information expressed in decision tables could also be represente ...
** Attempto Controlled English
References
{{Reflist
Algorithm description languages