# data[].attributes.body
When a compiler receives source code it goes through a number of stages;

Lexical analysis removes comments and whitespaces, checks variable names, and turns the source code into a token stream.

Syntax analysis checks the order of expressions, reports errors in syntax and creates a syntax tree.

Machine code generation replaces nodes on the syntax tree with blocks of machine code, and optimises the machine code to improve run speed or file size.

# data[].attributes.body
Observation

Where an analyst follows a user around, making notes on how they do their job. They observe the user in their natural environment to see exactly how the system works. One advantage is that the analyst sees parts of the system that the user may not realise are important. It can also confirm information gathered through other analysis. One disadvantage is that some people may feel threatened, and there is no guarantee that somethings may not be picked up, or the analysis may misunderstand something.

Interviewing

Where an analysis picks some key stakeholders and asks them targeted questions about the current and new system. One advantage is large amounts of info can be gathered and the analysis can discuss with the stake holder if they need clarification. It produces detailed responses about key parts of the system. One disadvantage is that it is very time consuming so only a limited number of people can be interviewed. Interviewees may not be truthful, so their responses need to be verified.

# data[].attributes.body
A programming paradigm is a “style” or way of programming.
Procedural is where code is gone through sequentially, and is excellent for general programming jobs.  One advantage is that this allows portable source code. One disadvantage is that a fully de-bugged working program can take more time to put together.
Event-driven programming is a used to structure a program around various events. These events include user input events in GUI’s and networking requests from websites, they activate functions.
Mark-up languages are designed for the processing, definition and presentation of text. The language specifies code for formatting, both the layout and style, within a text file. The code used to specify the formatting are called tags.  It is used for websites.
Object oriented is good for producing re-usable code that’s uses classes, objects and methods. It is used in in large software projects where data and the methods acting upon that data are kept together.
A class is a blueprint of an object.
An object is an instance of a class with all the classes properties and methods assigned to it.
A method is a procedure associated with a class.