The purpose of a piece of software is the starting point for the analysis phase. The purpose and functional requirements can be defined in terms of inputs, processes and outputs.
It is also often necessary to clearly outline any assumptions that have been made prior to design and implementation. Assumptions are often specific to the task at hand but generally take account of:
the hardware needed to run the software
any software compatibility concerns
the need for an internet connection during use
IT competency of the target user group
At the design phase, the purpose, functional requirements and any assumptions determined during analysis will be considered, and programmers will begin to develop a plan to create the software.