Information Technology Reference
In-Depth Information
Fig. 2.1
Classification of software project requirements based on functionality
Core functionality requirements are those functionalities of the product without
which, the product is not useful for the users. These functionalities must be ful-
filled and exceptions cannot be granted or resorted to during development of the
product. Core functionality addresses the performance of a set of business pro-
cesses.
The
main
purpose
of
software
development
is
to
fulfill
this
core
functionality.
Ancillary functionality requirements supplement core functionality. Even if the
ancillary functionality is not fulfilled, the product is still useful but may cause
inconvenience in the form of loss of productivity or security. One significant point
to be noted here is that the customer, more often than not, may not specify this
functionality and even expects the development team to take care of this ancillary
functionality!
Figure
2.1
depicts the classification based on functionality pictorially.
Classification of requirements based on functionality consideration is some-
times classified as (a) Functional Requirements and (b) Non-Functional Require-
ments. When we prefix the word ''non'' to any other word, it connotes the opposite
of the word. When we say ''non-functional'' it has connotation that the require-
ments do not function or do not serve any function. In reality these requirements
may not serve business process functions directly but they are serving a useful
purpose in the software, They indirectly, perhaps, assist in the better functioning of
business processes. User-friendliness does not serve any business process but if we
take it away from our software, using the software and performing the business
Search WWH ::
Custom Search