Search This Blog

Friday, February 2, 2007

Requirement Analysis Steps while Developing Software

Introduction

This article provides a basic outline to discover, document requirement documents for a given software project. Some of the steps can be ignored if the application requirements are pretty simple or small.

The Steps

Research on Application Requirements

This document includes the URL’s that are the web application and similar to the current project, which will be used to elicit the requirements. It also contains the necessary user name and password for the research sites, along with the research report where required. This type of document can also include the user questionnaires interviews if necessary.

Research on Technical Issues [developer view]

This document includes the list of technical issues that are relevant to the current project, along with the useful URL and the research report.

Application Basic Features [user view – top level]

This document includes the basic key features for the current project. This describes the application from very top level point of view, so that any one can understand about the system very quickly and easily. It also helps the developer to identify and articulate the development process from very early stage.

Use Cases [user/developer view – top level]

This includes text and diagrams that illustrate how all the application features and sub-features are acting and communicating thru various stage of usage and work flow. It helps the user and developer to understand and identify system process from basic, initial and top level point of view.

User Interface Specification [user/developer view – mid level]

This document is useful while building the application. Thru this specification the client get an initial idea about what the system is and it comes easy for the client to verify and confirm whether they are going to get all the required features. We can use Microsoft doc (for wire frames) or simply static html lay-outs to illustrate the UI.

User Requirements Specification [user/developer view – low level]

This document includes the detail specification of the application. Basically this is the detail description of the basic features that has been identified.

Architecture

· Security model

· Skinning and page settings

· Global data transfer among pages

· Identifying the modules & module boundaries [top level]

It describes the basic, core modules that are being considered to be developed. This is especially useful while working with large scale projects. Although this is used to define the system boundaries from top level view, by defining the sub-modules as well as, makes the future development process more requirement specific and makes the complex task to integrate the modules and identity the module communication in the design time easy.

Data Fields [user/developer view – low level]

The data fields of the application have been identified in this step. Database schema, relation and data fields are recognized and validated with the client to ensure the current requirement analysis grabs all the required things.

Time Estimation [manager view]

  • According to modules
  • According to development steps
  • According to developer expert level
  • According to logical tiers (as well as level of engineering)

No comments: