Software Development

 Software   development  is the process of creating a bespoke  software  application to meet the requirements as set out by the domain expert in a requirements document. A bespoke  software   development  project is tested against requirements analysis documentation and must therefore be detailed and measurable so that the  software  can be tested against it. Requirements documentation will typically contain a list of requirements that can then be measured and ticked when completed. This is particularly important for contract based IT outsourcing. The formal standard for writing a  software   development  requirements document is set out in IEEE-830-1998.

A requirements analyst will obtain information from interviews, “prototyping” and “use cases”. A ‘use case’ deals with functional requirements which describes the interaction between an actor (end user, hardware device) and the system to achieve a task but from the perspective of the actor so that the system itself remains a black box. This means that the end user of domain expert will not have to deal with technical terms and jargon. Use case diagrams are drawn using UML notation and several use cases are required to describe the entire scope of an ecommerce website. It will detail each part of the process of achieving a task without getting into the black box details of the system. Use cases are also ideal for ecommerce websites where the actor (customer) is well defined.

Non functional requirements are not easily measured and describe quality of systems such as the ease of use of the user interface. Such a requirement may be determined by presenting the end user with prototype software so that the actor can get an idea of the look and feel of the system and provide the necessary feedback.

It is also important when designing software to identify all the stakeholders of the system, because a new software system can have a knock on effect on other systems used in the company.

Author: Timothy Evan