Header Ads

  • Breaking News

    Software Requirements

    Software Requirements

    • Let us look at a few definitions of software requirements.

    • Jones defines software requirements as a statement of needs by a user that triggers(initiates) the development of a program or system.

    • Alan Davis defines software requirements as a user need or necessary feature, function, or attribute of a system that can be sensed from a position external to that system.

    • According to Ian Summerville, requirements are a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system.

    • IEEE defines software requirements as:
    1. A condition or capability needed by user to solve a problem or achieve an objective.

    2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or otherformally imposed document.

    3. A documented representation of a condition or capability as in 1 or 2.

    • As can be seen, these definitions slightly differ from one another but essentially say the same thing: 

    • A software requirement is a document that describes all the services provided by the system along with the constraints under which it must operate

    • Boehm (1981) has reported that correcting an error after development costs 68 times more.

    • Other studies suggest that it can be as high as 200 times.

    • Since cost is directly related with the success or failure of projects, it is clear from all this discussion that having sound requirements is the most critical success factor for any project.

    Software Requirements Characteristics

    • Gathering software requirements is the foundation of the entire software development project. Hence they must be clear, correct, and well-defined.
    • A complete Software Requirement Specifications must be:
    • Clear     * Modifiable (Amendable)
    • Correct     * Verifiable (Showable)
    • Consistent     * Prioritized
    • Coherent     * Unambiguous
    • Comprehensible     * Traceable
    • Credible (Reliable) source 

    No comments