Send
Close Add comments:
(status displays here)
Got it! This site "creationpie.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
Program facing aspects
1. Program facing aspects
Two aspects of programs that follow from specifications are the following.
What does the customer see? This is customer-facing or functional specification requirements. Provides direct value to the customer.
What does the programmer see? This is programmer-facing or nonfunctional specification requirements. Necessary but no direct value to customer.
2. Customer facing output
Functional requirement: Customer-facing output is to be "Hello. How is you today.".
Nonfunctional requirement: Use the Go (or golang) programming language.
3. Code example
Here is a code example in Go.
If you change the output text in any way, you lose points.
The customer specifies the customer-facing requirements.
The company (teacher) will specify the programmer-facing requirements.
The only way to determine if the code has an error is to compare it to a specification.
4. Errors and changes
The definition of an error and a desired change is very similar.
Both an
error and a
change are a difference between the observed behavior and the expected or desired behavior.
To identify an error requires a
specification and one should not use the operational code (in programming, or reality in general) as a specification.
5. Fallacy
Fallacy:
The programmer is allowed to change the customer-facing specifications when they think it will make a better program.
The customer gets what they requested and approved. In real situations, one goes to the manager, the manager goes to the client, and a change to the specification is worked out.
6. Customer facing
In a beginning programming course, the customer-facing parts of the program are the input and output statements.
Customers can be very particular about the output. Every character and space must be what they want.
The same goes for input prompts and input echo - text for this course, but the graphical user interface in general.
7. End of page