The crucial first phase in software development aims to establish a clear and accurate picture of the scope, process, targets and impact of the software development project.

The result is a draft and agreed Project Specification. This should contain the following depending on the scale and complexity of the project:.

Statement of Requirements

Project manager

Your requirements as you see them.

List of time constraints.

Contributing factors

Is this a new standalone application or is it an enhancement to an existing application?

Count of the number of users that will use the final system at the same time

Count of the Network Workstations

List of Operating systems you intend to use

List of the range of PC Monitor sizes and resolutions, disk capacities, memory capacities, CPU speeds and the applications running on them (as they are and as you intend them to be) eg 17" monitor, 120GB Hard disk drive, 512Mb Ram, 1.6GHz CPU running Windows XP, MS-Office

List of servers, their operating systems, disk capacities, memory capacities, CPU speeds and the applications running on them (as they are and as you intend them to be) eg SQL Server, MySQL or Oracle, Internet Information Services

List of Network Gateways: Fax, Modem, FTP Servers, WAN/VPN

Description of Facilities

Describe the operations that people will carry out with the system.

Detail what the system will provide: A facility to ..., a report showing ..., a screen showing ...

We can then identify points requiring clarification.

Specific inclusions eg

  1. Essential tasks that must be supported
  2. Essential data that should be stored

Specific Exclusions eg

  • for a later version
  • definitely not required

Process Definition

This defines your business processes in terms of dialog between user and computer.

The contents of a single Process Definition document woud normally also include:

  • Process Name
  • Project Reference
  • Revision
  • Print Date
  • Next scheduled meeting (if any) date / time and attendees
  • Deadline for completion of Process Definition
  • Deadline for completion of module
  • Key Personnel:
    • Customer Representative
    • Department Manager
    • Line Manager
    • Operator
  • Default Code Type 1 2 3 4 5
  • Default Response time Interval between steps
  • Summary of changes since last revision:
  • List of Processes
  • List of formulae
  • List Tables with data relationships
  • List of hardware or software interfaces to external systems
  • List of PD Meetings with dates

User Flow

Draw up the Useage Flow. This is a flowchart that shows how the user will move through the program. The illustration below is an excerpt from Clear Business Manager showing a single user path from login to Sales Invoice Form.

The diagram summarises a user route from login form, through main screen containing the main menu, through the Sales Menu to the Sales Dropdown Menu, through Sales Invoice Menu Option, into the Sales Invoice form which contains the Sales Invoice Item Search Sub List and also contains options to Post the Invoice to Nominal, View Reconciliation, Supplier and Posting. NB.

Final Application Objects

List and describe the final application objects these include popup menus, main form, forms, dialogs, search-queries, exports, stored procedures, coded procedures, command Buttons, tables.( A more complete set is given below). Each application object is marked as existing, changed or new or to be removed. Describe the changes, describe the new, describe the Existing,.

Final Database Model

Draw up the final Database model. The Model should include Discrete Entities ( that Dont depend on other tables often called lookups), Tables, Views, Relations and Stored Procedures. Each element is marked as Existing, Changed or New or to be Removed. Describe the Changes, Describe the New, Describe the Existing.

Usage Scenarios

List and describe step by step scenarios which take the form of Add ...; Find ...; View ...; Change ...; Delete ....

Verify the usage scenarios against the description of facilities check that each facility has its usage scenarios provided for.

Verify the User Flow, Application Objects, Database Model and Usage Scenarios against the description of Facilities check that each facility is provided for

Verify the Usage Scenarios against User Flow, Application Objects, Database Model check that each scenario is provided for

Quality Checks

Data Consistency - Check that all data has a place to be stored, a route in and a route out, Check that validation is present when data goes in.

Security - Check that Access Rights Control, Password Protection, Password Entry points, Auto Close points are available to the administrator

Useability - Check that there are Meaningful messages where appropriate and labels, Check that Pure keyboard mode is allowed, Check that mouse use is correct (Minimise clicks and set distances according to logical grouping and to avoid accidental clicks), Check for consistent menus and User Flow, consistent and familiar objects eg search, change/Save, close buttons, list views, Auto forms, Check that there is a separation of Admin tasks (setup, control values, rights i.e key staff, critical or high risk processes) from process tasks (simple, reversible or frequently performed processes)


Data Setup - Manual imports, scripted converstions and imports, Import program creation

State and quantify if, where and when training is required.

State if User Manual or online help if required initiallyor as a modifiable feature (stored as data) within the system and avaialble for update according to security credentials


The kinds of application objects that might appear in a project specification

  • Formulae and calculations
  • Screens or 'forms' (input)
  • Database Tables and relationships between tables
  • Screen Reports (output)
  • Printed Reports
  • Import
  • Export
  • Tables
  • Searches on Tables
  • Data connections to existing systems
  • User Profiles


The basic application objects as seen in Clear Business Manager

  • Login Form
  • Main Menu
  • Menu Form
  • Menu Items
  • Main Form
  • Form
    • Modes
    • Button
    • Displayed Data
    • Text Box
    • Date Picker
    • Tick Box
    • Grid
    • List
    • FUnction Code
  • Search Query
  • Dialog
  • File Dialog (open,save etc)
  • File
  • Report (custom layout)
  • Query Report (Default Report format from Search Query)
  • Exports (csv, Excel, Word etc)
  • SQL Script
  • SQL Stored Procedure
  • SQL Table
  • SQL View

NB. Allocate Test Systems

To allow the project manager to operate we must establish a test system at your business that is as close to your systems as it can be without touching your business data.

© Clear Computer Solutions Ltd. 2006. All rights reserved.