Functional design

The functional design has 2 parts:

  1. The specification of requirements, a detailed description based on which we can identify items and check those to see if the job is done and the user or customer can be satisfied.
  2. The system specification, a detailed description which tells us what the system should do in order to meet the criteria in the specification of requirements. From this specification, we can derive a preliminary conclusion, whether certain requirements are doable from a commercial or technical perspective, and how much time the development will roughly take.

Typical items which are mentioned in the specification of requirements are:

  1. Basic layout (base template) of the application in which the various data entry forms or pages are rendered. A description of:
    1. Dimensions, name, title and for example an icon to be used
    2. Toolbar
    3. Menu items
    4. The purpose of the application
  2. Data entry forms or pages. A preliminary design (sketch) and description of:
    1. Form fields with captions
    2. Buttons
    3. Menu items in main window and perhaps shortcut menu's'
    4. Colors and fonts
    5. Validation information; which requiments should entered data meet in order to process them - for example store that information in the database.
  3. Reports. A preliminary design and description:
    1. Fields with captions
  4. Import and export. A specification of interfaces with other systems:
    1. Data exchange protocols
    2. File formats
    3. File layout (fields, columns etc.)
    4. File locations (fixed, dynamic, local, network etc.)
    5. Information about applications to connect or interact with trough web services (product, version, supplier)

Typical items which are mentioned in the system specification are:

  1. Who is going to use the system?
  2. What can users do with the system?
  3. How will this user do that with the system?
  4. How would this work differently if some one else would do the same or the same user would have another intention (identify variations)?
  5. Which problems can occur while we do this with the system (identify exceptions)?

These first 5 questions are a way to:

  1. Analyze the administrative organization (A.O.)
  2. Analyze the workflow(s)
  3. Describe scenario's. What happens in wich circumstances, in which order (case diagrams can help quite well)

While writing a functional design, you deal with a combination of different professional disciplines. Administrative, graphic, technical design. A good preparation will take a certain effort, more than is usually expected. Apart from that the question arizes whether sufficient knowledge and expertise is available within the organization of the customer. If this is not the case, it is recommended to make this knowledge available by hiring external advisors. Think for example about your accountant (A.O.), your graphic designer (corperate identity), your system administrator (interaction with other equipment or software), etc. This preparation phase of the project is in fact a project on its own. The principle 'think before you act' will spare you a lot problems with which you don't want to be confronted.

During the writing of a functional design we can assist you with consultancy services regarding technical aspects, administration and organization. After the phase of the functional design, we will be happy to serve you with the production and/or implementation of software.

For more information, please contact us.