Wednesday, September 08, 2010

Analysis and Specification Principles

More often than not, a project suffers not because of its lack of merit rather from miscommunication of intents causing grave consequences. If only we concentrate more at analyzing the subject area at the onset of a project, its probability for success can increase substantively.

1. Information Domain representation

a. Information Content and Relationships

This refers to the data themselves and their relationships to one another. For example: A “Paycheck” is composed of several pieces of data attributes belonging to different data objects such as: Employee {id, name}, Bank {name, routing number}, Instruction {net amount paid, date}, etc.

b. Information Flow

This refers to the manner in which data and their state are transformed by control objects or functions as they move through different points in the system.

c. Information Structure

This refers to the internal organization of the data and their state. For example: A “Paycheck” data could be organized in a single data table or object or in three different data tables or objects such as Employee, Bank, and Instruction and have their attributes linked to make what will be understood as a Paycheck object.

2. Models

Models are aspects of the information domain. They are abstractions that highlight important system requirements. Typically, several models are developed during requirements analysis and included in a requirements specification using a combination of graphical notations and textual annotations that may be plain natural language, e.g. English and/or a more structured language resembling a pseudo-code.

a. Functional Model

A functional model focuses on the data transformational functions in the system.

b. Behavioral Model

A behavior model focuses on the system state and event handlings (internal and external as well as user-invoked and systemic).

3. Specification partitions

a. Entity-Relationship Diagrams (ERDs) to represent Information Content and Relationships;

b. Data Dictionaries (DDs) to represent some information about Information Structure;

c. Data Flow Diagrams (DFDs) and Process Specifications, as functional models, and State Transition Diagrams as behavioral models representing information about Information Flow.

4. The Analysis and Specification Progress should cover Essential Requirements to Implementation Details in the spectrum

a. Essential Requirements

This refers to information about what needs to be done or to have (not how) with the basic understanding that human beings and other systems that the system with whom the system interacts are imperfect.

b. Implementation Details

This refers to the information about how the what will be addressed by the system.