e, and to reduce compilation costs by avoiding unnecessary re-readings of a header file". Explain, and illustrate. (2 marks) When including a header file it may inevitably be included more than once, compilation errors such as multiple defines can occur, also the cost in time of compilation increases due to the compiler having to re-read the header file. The pre-processor directives above prevent this from happening by using an if statement to assure that the header file is read only once.Explain the roles of "verification" testing and "validation" testing of a software product. (1 mark) Verification testing:Testing to find all the “little” problems where the system doesn’t live up to the specification.Validation testing:Testing to see if the intended users are satisfied.Explain how "code walkthroughs" are conducted and how they help in the development process. (1 mark) A code walk through is conducted by, taking someone step-by-step through your code explaining what it achieves. This helps in the development process by aiding the coders efforts in finding faults within the code.Explain how a "code coverage" tool assists in testing code. (1 mark) The “code coverage” tool allows you to check that you have exercised each branch in program. This is very useful in the testing stage to make sure that a test file executes every section of the code.Explain the following "software architectures": pipeline, repository system, client-server, and layered system. (2 marks) Pipeline:Intermediate output from “program 1” becomes input to “program 2”, hence via other intermediary programs until get final output.can be via temporary disk files (program-1 writes to “temp/000123.dat”, program-2 reads from this file, …)or Unix “pipe” (an in-memory buffer that avoids transfers to and from disk)Repository System:An elaborate optimising compiler could employ some form of r...