Software Engineering | October 6, 2010
To develope a successful system requirements must be gathered in the best way possible. Requirements fall into two categories: functional and non-functional. We will talk about non-functional:
In a previous post we talked about Product Requirements, now it is the time to talk about Process Requirements.
Process Requirements are those constraints and features that should be fulfill in the development process. There are three types of Process Requirements:
Usually these requirements are constraints in the delivery process, for example a constraint that dictates the system should be finished by a certain date, or maybe the system development process should not exceed two months.
These requiremens comprise all the contraints with regard of the implementation process. It has two divisions:
Hardware Requirements, it involves the requirements the system should fulfill according the hardware that will be used, for example the system should work correctly when installed on machines with 64 bit processors and 32 bit processors.
Software Requirements, it includes the constraints in regard of the software, for example a constraint could be: to develope the system, it must be used the .NET platform, Visual Basic as programming language, Sql Server 2008 as RDBMS and Crystal Reports as the reporting tool. This requirement could be given in a company that has most of its systems based on windows, for example to achieve an easy integration.
These requirements ensure the system is following a predefined or already known Standard in any part of it. Could be at the programming level or may be at the database level. Imagine a situation where you are developing a new system for a company that has some predefined standards for the naming process at code and database schema level.
As with Product Requirements, Process Requirements can not be overlooked in the development process. If just one is not taken into account then the whole system could mess up. However some of the constraints are hard to ignore in comparison to Product Requirements, for example the use of a predefined programming language or a deadline of 2 months to deliver the project, because they are discussed early on the requirements gathering process.