Professional Documents
Culture Documents
A requirement is a need of some person, group or even some process which is capable of being fulfilled.
If a requirement cannot be fulfilled, it becomes a desire that can perhaps be fulfilled later with a better
technology or better set of circumstances.
Business Requirement
A statement that identifies a product or process’s operational, functional, design characteristic, its
constraint, and its other qualities is called a business requirement Which is unambiguous, testable or
measurable, and necessary for product or process acceptability (by consumers and the internal quality
assurance parameters).
Requirements are the driving force to initiate any development process, planning, analysis, designing or
building Requirements are the basis for every project by defining that what the stakeholders needs once
the requirements agreed, they drive and track all the activities of the project.
Classification of Requirements
We can classify requirements on three basis:
1. Functionality Consideration
2. Product Constructions Consideration
3. Source Consideration
1. Functionality Considerations
When we classify the software requirements based on the functionality. These can be divided into two
main categories:
Core functionality addresses the demand and of a set of business requirements or software business
processes. The main purpose of any software development is to build its core functionality. In almost in
all software developments, the core functionality is addressed completely and it is defined / established
by the project team or domain experts of the organizations.
Statutory Functionality
o International standards that are applied to the product
Safety Functionality
o The product shouldn't be harmful in any way
Security Functionality
o The product should meet the all kind of authorizations
Usability Functionality
o The product should be easy to use
Data Integrity Functionality
o The interface of the software product must confirm to protect the incorrect inputs
Data Protection Functionality
o The interface should be design to protect fluky deletes, warning messages should be
displayed in the matter
Response Time Functionality
o The product should process the functions in suitable amount of time, too much delays are
not acceptable
Memory Constraint Functionality
o The product shouldn’t have the memory overhead
Software Footprint Functionality
o Software may has to function on very small chips, in the handheld devices, so it should
work on these chips
Fault Tolerance Functionality
o The products should have ability to handle errors or shocks
Reliability Functionality
o The software product should be reliable in terms of results and processing
Feel-good Functionality
o The product’s interface should appear good and comfortable to use
Esteem Functionality
o The product should give the pride to the client organization and they claim it with honor
One-upmanship Functionality
o The developed product should be distinguishable among its competitor colleague
products.
2. Product Construction Considerations
Another software requirements is the product perspective. It means that when a product is being
developed then what kind of considerations should be taken? Some these are the requirements that are
necessary to build the product on quality standards as well as to make it maintainable.
Maintainability
o Any kind of maintenance should be easy
Flexibility
o Should be generic and accommodate new features easily
Efficiency
o w.r.t. CPU, RAM, disks, network, or other resources
Reusability
o Construct it components based, i.e. they may be reused
Portability
o From one host to other, or platform, or cloud, etc.
Operation Ease
o Build as that it should be easily usable worldwide
Testability
o Cost of testability is critical, so build it as more testable
Interface Functional
o Today’s application are to be interfaced around multiple software, like internet browsers,
IPS, or protocols, so construct it to keep these aspects in mind.
3. Source Considerations
In this Classification, Software requirements for the development are collected from different sources. To
collect complete requirements we should also know about the different possible sources.
End users
o These people are those that use the end product to perform their individual business
processes. The software product is basically build to support their aspects of inputs,
process and outputs at working level.
o These people provide the MIS (Management Information System) portion of the core
functionality. They provide what information they need to extract from the software
(Reports, Analysis, Trends) so that they can manage the business/organization effectively.
Domain Experts
o These individuals are those (end users that become incharge or the supervisors) that have
worked for long years in the business domain/firm. These people may or may not be IT
(Information Technology) experts but they would have the knowledge of systems and
procedures or the domain. They would know the detailed procedures, formats,
templates, guidelines, standards and checklists used by the end users in the domain.
Domain experts can provide end-to-end core functionality or clarify any issues.
Project Team
o Project team comprises of the project managers, project leaders, software designers,
business analysts, programmers, testers, User Interface (UI) developers, and Database
Administrators (DBAs). These people are also a source of providing some software
requirements which are essential for the client company.
Statutes
o Statutes include governmental regulations that the software will not be misused in
anyway. Some of the examples of prohibited activities include stealing of personal data
through IPs, spam emails or the bank account accesses, etc.
Industry Standards
o These ensure the quality standards (such as ISO, CMMI, IEEE, SPINs, SPMNs). These
standards address various aspects of processes, guidelines, formats, templates and other
quality checklists.
Software Designers
o Software designers can provide ancillary requirements like efficiency, fault tolerance,
operations ease, installation ease, usability, structural stability and so on. Software
designers are also part of the project team but are treated separately because software
designers play a key role in the final product. Finally they also indicate for any missing /
defective functionality in the software product.
Software Programmers
o Software programmers are at the end chain for implementing the software requirements.
They are the people who need to implement all the requirements just given to them using
software design documents. However, coding guidelines, some UI guidelines, fields
checks are usually not the part of design documents and programmers are expected to
implement these standards by their own. Software programmers can also specify ancillary
functionality aspects like maintainability, testability, reusability of the code and so on.
o A Software quality assurance team includes reviewers, testers, and process specialists.
These people can provide testability, and quality perspectives of the proposed software
product.
o These individuals include project manager, project leader and other senior management
personnel including program managers. These have a bird’s eye view of the overall project
and they ensure that the software product is able to interface with other
applications/software packages in the organization.
Marketing Department
o Market surveys are a very popular vehicle to collect user requirements and freeze product
specifications, especially in product development organizations, marketing is a source of
product requirements/specifications. This department collects requirements from the
market and fields.