Number 113
Welcome to the June 2012 issue of Precision Matters – the Precision Design Technology (PDT) Newsletter.
It is a well known, but little respected, truth in software engineering that getting the requirements right is key to the success of a project. If you get the requirements wrong, which is easily done, it doesn’t matter how good the implementation is, you will deliver the wrong system to the customer.
User Understanding of IT Specification
There have been a couple of recent blog articles that have attracted my attention as they dealt with business user understanding of IT specification.
One concerned the use of representations of the business data contained in a system and its representation, while the other talked about the use of state machines.
State Machines
I appreciate that some of my readers may never have heard of a state machine, or may not know exactly the function they fulfil in IT systems. A simple example of the use of a state machine in everyday life is the traffic light. Let’s propose the traffic light facing you is the one we will concentrate on and that as you approach the junction the traffic light is showing red.
If we follow the states of our traffic light, after a period related to traffic on the other roads at the junction, the traffic light will show (in the UK) red and amber together, then after a fixed interval, it will show green. We can show this as three states and define the transitions thus:
Given: Red shown (on our road)
When: A period has passed, dependent upon traffic
on the other road(s)
Then: Red and Amber shown
And
Given: Red and Amber shown together (on our road)
When: A fixed interval has
passed
Then: Green shown
These statements follow a pattern of the type:
Given: A pre-condition
When: An event occurs
Then: Something happens in
the system
I’m indebted to Greg Young for these definitions; you can read his blog at http://codebetter.com/gregyoung/2012/04/24/state-machines-and-business-users-2/
State machines have been used for many years to describe systems and as the example shows, the subject doesn’t have to be IT related.
State Machines for Business Users
Greg argues in his blog that business users are perfectly capable of defining the states in their business that should be considered for incorporation in an IT project.
This is an attractive approach for recording business activity, particularly because the user understands this representation. After all, the primary task in specifying a business system is to provide a reference definition of the system that is understood by both supplier and customer.
Representing Business Data
The state machine does not describe either the existing data in the system or the incoming data that accompanies each event. This is where the second blog, from John Morris makes an appearance. Again you can read the blog here http://www.bcs.org/content/conBlogPost/2043
John describes the “undocumented anarchy” that he has witnessed in the use of relational databases. These are the current mainstay of commercial data repositories and offer the designer largely unfettered building capability. This apparent simplicity invites all and sundry to create databases because “it’s so easy!”.
Inevitably, there are scores of databases into which data has been poured, but from which no useful data can be extracted.
Necessary Data Organisation
Professional business systems do not want databases with no useful outputs. Businesses operate on data, storing it carefully so as to retrieve it later in the form of packing notes, picking lists, bills of material, invoices, pay slips, reports, letters and a host of other data vital to the operation of the business. This data must be organised, precisely and accurately, updated when appropriate and made available when required.
Reference and Event Data
All the data in a business, and therefore a business IT system, is derived from one of only two sources. It is either reference data, set up once and rarely modified, or it is data entering the system with an event – the “when” of our state machine definition discussed earlier. Event data is different for each event and rarely repeats, for example in two separate orders, the same item may be requested, but the orders will have different reference numbers and different customers making them.
Bringing Together State and Data
So business system specifications have to define the sequence of events and what effect each event has on the system as well as the data accompanying the events and how that is handled. A good specification will show clearly what is happening to which data and when.
Most current specification systems are unable to present the customer with a realistic representation of the operation of an IT system, with one exception. SPECIFY4IT is capable of showing clearly and precisely what the effect of each event and its data will be on the defined system and to show the outcome of each event in the defined system.
Further, SPECIFY4IT is able to build the specified system, without human intervention or coding, to produce a fully operational, web delivered business system that conforms precisely to the specification, guaranteed.
Read more about modelling using specifications here.
The Newsletter Archive
If you want to review any of the previous Newsletters, they are all available at the Newsletter Archive page
Want to reproduce this article?
Yes you can, so long as you accredit it to Robin Oldman,
Precision Design Technology Ltd. and attach the following biography to the article
at the bottom:
Precision Design Technology, (PDT), the IT systems experts, provides
world-class consultancy and solutions for IT information systems to help its customers
develop affordable, high integrity software for business. Normally high-integrity
software is prohibitively expensive - PDT provides a solution at a price business
can afford.
Eur Ing Robin Oldman, COO at PDT, writes and blogs on behalf of the company.
Robin also manages the development of the user interface for the SPECIFY4IT tool-set
that bridges the gap between the client user and the system supplier.
The SPECIFY4IT
tool-set is capable of delivering high-integrity business software faster and more
cheaply than conventional development methods.
If you want us to contact you, click here and complete the form.
| Solutions |
| Assignments |
| Software Solutions |
| Terms of Use |
| Articles & Reports |
| PDT Blog |
| Meeting Report |
| Newsletter Subscription |
| Newsletter |
| Newsletter Archive |