2.4: Requirement
engineering
Requirement engineering encloses all those tasks that go into
determining the needs or conditions to meet new or altered systems taking into
account of the possible conflicting requirements of the various stakeholders
such as beneficiaries or users [10]. Also known as systematic requirement
analysis, it is concerned with determining the goals, functions and constraints
of hardware and software systems and is very critical to the success of a
development project. New systems can change the environment and relationship
between people, so it is important to identify all the stakeholders, take into
account their needs and ensure that they understand the implications of the new
system.. Requirement engineering involves the major tasks of requirement
gathering, requirement analysis and requirement recording.
2.4.1: Requirement
gathering
Also known as requirement eliciting, it is the process of
determining what the requirements to meet the new or altered system [10].
Requirements are actionable, measurable, testable, related to identified
business needs or opportunities, and defined to a level of detail sufficient
for system design [27]. Generally for technical management, requirements are
commonly categorized into
Ø Customer/operational requirements: statement of facts
and assumptions that define the expectations of the system in terms of mission
objectives, environment, constraints and measures of effectiveness and
suitability (MOE/MOS). The key customer of the system is the operator.
Operational requirements would define basic needs and answer the following
questions [27]
· Operational distribution or deployment: where
would the system be used?
· Mission profile or scenario: how would the
system accomplish its mission objective?
· Performance and related parameters: what are
the critical system parameters to accomplish the mission?
· Utilization environment: how are the various
system components to be used?
· Effectiveness requirement: how effective or
efficient must the system be in performing its mission?
· Operational life cycle: how long would the
system be in use by its user?
· Environment: what environment would the system
be expected to operate in an effective manner?
Ø Functional requirements: explains what has to be done
by identifying the necessary task, action or activity that must be
accomplished. [27]
Ø Non-functional requirements: requirements that
specify criteria can be used to judge the operation of a system, rather than
specific behaviors. Requirements which impose constraints on design or
implementation. [27]
Ø Performance requirements: the extent to which a
mission or function must be executed; generally measured in terms of quantity,
quality, coverage, timeliness or readiness. During requirements analysis,
performance (how well does it have to be done) requirements are interactively
developed across all identified functions based on system life cycle factors;
and characterized in terms of the degree of certainty in their estimate, the
degree of criticality to system success, and their relationship to other
requirements. [27]
Ø Design/Technology requirements: the requirements used
in buying the system (system design specification requirements). [27]
Ø Derived requirements: requirements that are implied
or transformed from higher-level requirements.[27]
Ø Allocated requirements: requirements obtained by
allocating or dividing a higher-level requirement into multiple lower-level
requirements.[27]
|