Information Technology Reference
In-Depth Information
2.3 Classification of Requirements Based on Product
Construction Considerations
Any product, either for use by one organization or multiple organizations, needs to
be built such that it works reliably without defects over the life of the product. In the
case of software product, the life of the product is not dependent on its structure or
wear and tear caused by functioning continuously but is dependent on the hardware
platform it is installed on. A software product works as long as its hardware plat-
form is unchanged, in working condition and is maintained well. In these days of
fast obsolescence of hardware, the life of computer hardware itself is short com-
pared to other types of machinery. As most of the present day software products are
working on the Internet, there are many external factors that can adversely affect the
application's reliability and defect-free functioning of the software product.
Therefore, utmost care needs to be exercised in constructing the software product so
that minor modifications in the environment outside the software and hardware
platforms would not impact the reliability and defect-free functioning of the
product. These requirements are unlikely to come from the end users or manage-
ments of the client organization. These need to be derived and implemented in the
software product by the project team and the management of the software devel-
opment organization. From this standpoint, the classification of requirements is
enumerated below. Figure 2.3 depicts these requirements pictorially
1. Maintainability—The resultant product ought to be maintainable. That is, it
ought to be possible to modify the code, add code or delete some code. The key
aspect of maintainability is not just to add, modify or delete but to do those
activities efficiently, effectively and with minimum expenditure of resources.
Another important aspect of maintainability is that persons other than the
original developers should be able to maintain the product. The product
specifications that dictate product maintainability come under this category.
These are normally in the standards and guidelines selected for the product.
2. Flexibility—Flexibility refers to the ability of the product to be used in mul-
tiple similar scenarios. For example, a materials management software product
should be useful in engineering industry, chemical industry, mass production
system and batch production system. Another understanding of flexibility refers
to the ability of the product to be useful without any modification, when some
of the underlying parameters change. For example, in a payroll software
product, addition of a new deduction or addition of a new payment, should not
render the product useless. On the other hand, the package should still be usable
without changing the source code. The functionality specification that is
focused on achieving flexibility in product functioning comes under this cate-
gory. These specifications are usually part of standards, guidelines and ancillary
functionality requirements.
3. Efficiency—The resultant product ought to use resources efficiently. The
resources used by the product are not just computer resources (CPU, RAM, disk
 
Search WWH ::




Custom Search