Title: Professional Standards
Course: Quiz Statistics Report Test Course

Q: In addition to professional standards, there are organisations and laws that exist to protect people and define standards for how computers systems should be used.

For example...
- When developing a computer system the use of the system on a day-to-day basis must be considered and how it affects the user. Developers design systems to meet the | Health & Safety at Work Act
- When developers write software they create something from their own mind. This is referred to as “intellectual property”, this is protected in law by the | Copyright, Designs and Patents Act
- An industry body that attempts to enforce the laws and protect developers’ rights is called the | Federation Against Software Theft (FAST)
Also offered: Trades Descriptions Act; Software Piracy Act Movement (SPAM); Open Source Movement; Free Software Foundation

Q: Which of the following are seen as advantages in following and using professional standards?  [Select up to four answers]

Developers can...
- Work in teams to develop a system because they all have a common understanding of the design tools and diagrams.
- Move between companies because the standards apply across the whole industry.
- Pick up someone else’s design and code the program to achieve it.
- Maintain somebody else’s program when the customer’s requirements change.
- Work for only one company because the standards will be different in other workplaces
- Demand a high salary because nobody else knows how to maintain the program that they developed
- Work in safety knowing that they will not be breaking any laws becasue they are following the standards
- Steal another developer's work and pass it off as their own
A: Work in teams to develop a system because they all have a common understanding of the design tools and diagrams.; Move between companies because the standards apply across the whole industry.; Pick up someone else’s design and code the program to achieve it.; Maintain somebody else’s program when the customer’s requirements change.

Q: Which of the following is NOT a De Facto standard for programming?
- Indents to clearly show where sections of code are
- Comments in code to explain the algorithm and define the purpose
- Meaningful names for variables so anyone can read the code
- Name variables using lower case, and CONSTANTS using upper case
- Always type function names in lower case
A: Always type function names in lower case

Q: When lots of people start working in a certain way and more people think it looks like a good idea and start doing it that way as well, this is called...
- De Facto Standards
- Formally Agreed Standards
- Informally Agreed Standards
- Factual Standards
- Professionally Agreed Standards
A: De Facto Standards
Partly right: Informally Agreed Standards (30%); Formally Agreed Standards (20%)

Q: Computer systems are complex. If everyone involved in creating, using and maintaining a system did things their own way it would make it even more...
- complicated to manage
- enjoyable for employees
- dull for employees
- creative and fun
- manageable
A: complicated to manage

Q: When a committee of people sit down and agree how something should be done, this is called...
- De Facto Standards
- Formally Agreed Standards
- Informally Agreed Standards
- Factual Standards
- Professionally Agreed Standards
A: Formally Agreed Standards
Partly right: Professionally Agreed Standards (30%)

Q: There is a software development model that defines definite steps that are completed one at a time to guide the process from beginning to end. Each step has specific outputs that lead into the next step. You can return to a previous stage if necessary but you then have to work back down through the following stages.

What is this model called?
- The Waterfall Model
- Rapid Application Development (RAD)
- Agile Software Development Method
- Extreme programming (XP)
- Test Driven Development (TDD)
A: The Waterfall Model

Q: In the list below, one item is not a software development model. Select the one that is not.
- The Waterfall Model
- Rapid Application Development (RAD)
- Agile Software Development Method
- The Rainbow Model
- Test Driven Development (TDD)
A: The Rainbow Model

Q: Some professional standards are not formally agreed, instead they evolve over time. Some people work in a certain way, others copy it and then this way of working becomes a standard, just because that is how most people do it.
- True
- False
A: True

Q: The Python Software Foundation (PSF) have formally agreed standards that developers must follow regarding the names chosen for variables.

They have formally agreed that variables must always be in lowercase, eg.

name = "Fred"

number = 1
- True
- False
A: False

Q: Examples of non-formal standards (De Facto) in programming include the use of:

• Indents to clearly show where sections of code are inside a construct such as a loop

• Comments in code to outline the algorithm and define the purpose of each part of the program

• Meaningful names for objects so anyone can read the code and understand it, for example “Total” instead of “X”
- True
- False
A: True