Thursday, August 04, 2005

What can be required of an Information System? Part 2

The core input that computers process is ‘data’:

From http://www.answers.com/data
da·ta (used with a sing. or pl. verb)
1. Factual information, especially information organized for analysis or used to reason or make decisions.
2. Computer Science. Numerical or other information represented in a form suitable for processing by computer.
3. Values derived from scientific experiments.
4. Plural of
datum (sense 1).

I think we all know by now it all comes down to providing the computer large numbers of zeros and ones to crunch. In the field of Information Systems, the bits are used to represent numbers (as counts, identifiers, dollar amounts, etc.) and letters (words and text). Other data formats are seen in some Information Systems, most commonly graphics, especially maps in GIS systems… but most information systems today primarily process numbers and text, and that is where my interest (and actual work) is focussed.

Equally important as processing data in today’s information systems is storing data: to be processed later, or to store the results of processing, or to be stored for its own inherent value and accessed as needed in support of business activities. Hence, we have the requirement of almost all Information Systems to provide a database for storage of data beyond its use in processing; or, to be able to access other databases separate from the Information System.

There has been a long and still on-going debate in the Information Systems field about the relative value of data processing ‘versus’ data storage, especially in the sub-field of Information Resource Management (IRM). This discipline addresses the drawbacks of each Information System in an organization managing all its own data, if that leads to data redundancy and systems producing conflicting information using their own data; the common vernacular for this situation is ‘stove-pipe systems’, which is as good an analogy as any for this common situation. The corollary for this on the processing side is that an organization does not want more than one system performing the same function, either.

Unfortunately, I have seen the equivalent of religious wars between groups of information systems practitioners that see either data processing as more important than data storage, or data storage as more important than data processing. The reality is that both are needed, and the principles behind IRM can be used to produce the best information systems that an organization needs.

Next time: requiring Information Systems to support Communication

Wednesday, August 03, 2005

What can be required of an Information System? part 1

What can be required of an Information System?

Computerized information systems can do many things, and in the future will likely do many things that have not been thought of yet. What I would like to describe is what I believe are the most common things that information systems are required to do, and use that to lead us to the means of documenting those requirements.

The core ‘concept’ of computers is ‘process’. Computers process stuff, turn ‘input’ into ‘output’, …the central component of a computer is a ‘Processor’. However, computers have to know before-hand precisely what to do to turn that input into output, and documenting that ‘what’ correctly is crucial, or the output will be unacceptable. The business knows generally what it wants the computer to do, designer/developers know how to make the computer do it, and the Business Analyst plays the interpreter between the two.

(Before I continue, I am well aware of the long-standing attempts to reduce the level of precision that is needed by computers and still produce acceptable output, most commonly in the area of ‘fuzzy logic’. Artificial Intelligence (AI) also seeks to make the computer less demanding in the precision of the instructions provided to it. However, it is unlikely that information systems that most people use in their jobs incorporate fuzzy logic or AI, especially if money is involved… you are more likely to encounter it on home PC playing Half-Life 2 or Medal Honor; game vendors like to boast they have the best ‘AI’ in their products to produce computerized opponents. I do wonder if AI academics see it that way.)

So, documenting ‘what’ a computerized information is supposed to do is an essential part of defining the Requirements for that system. Many different methods with many different names have been published over the last 50 years, intended to help a Business Analyst in this task; probably the only common aspect to emerge from these decades is that the end result is called the “Functional Requirements”, defining what the system is to do.

(A corollary aspect is the defining of ‘Non-Functional Requirements”; if a Functional Requirement documents what the system must do, a related Non-Functional Requirement may something like how fast the Functional Requirement must be performed. Defining a system’s Non-Functional Requirements may or may not be the responsibility of a Business Analyst, so I may not address them much on this website, until the mood strikes me anyway.)

Next Time: what do computers process the most? Data!

About Me

Ontario, Canada
I have been an IT Business Analyst for 25 years, so I must have learned something. Also been on a lot of projects, which I have distilled into the book "Cascade": follow the link to the right to see more.