Assuming this is a situation where a business hires a software developer to produce the solution, the process depends on how much the business understands about computer systems and how much the developer understands about the business. If the business has a clear understanding of what they want, any way they can communicate that like block drawings, typed examples of printed outputs etc. will work. They should be put together into one document that will clearly show whether the end product performs as intended. The document should include what and how the inputs will be entered, what the machine does with the data and specific models of the outputs.
If the business is trying to automate an existing manual paperwork system and the developer has no experience with that business, computer systems can be modeled after the manual system by creating input forms and printed outputs that do the same functions as the current paperwork system.
A critical area that needs special focus is what part of the job to automate and what to leave to human judgement. While computers can accurately reduce hours of work down to seconds, they can also quickly create a disaster when applied to tasks that require judgement. Most every example I've seen where a business had to "pull the plug" on their new system, it was due to an over-automated design.